李俠
摘 要:文章介紹了在數?;旌习鎴D設計中,如何把版圖不同模塊的漲縮需求,用一種完善的自動化程序技術方案來實現,并且可以批處理所有需要漲縮的版圖數據。
關鍵詞:數字;模擬;集成電路;版圖設計;人工處理;程序化處理
隨著集成電路技術的進步,晶體管尺寸越來越小。對于很多經過晶圓片驗證的產品,需要通過版圖等比例縮小,直接用于更小的工藝平臺,不用重新設計版圖,就可以流片,從而獲得高集成度的效果,極大地提高了效率,節省了成本。而一個數?;旌袭a品中包含數字部分和模擬部分,對于數字 IP,尤其是標準單元, 用于更小工藝平臺的時候,可以直接采用版圖等比例縮小的方式;而對于一些模擬IP來說,應用于更小工藝平臺的時候,為了保持性能的最優化,需要保持原驗證的同等條件;而對于工藝的臨界尺寸(Critical Dimension, CD)來說,希望整個產品的接觸孔的寬度是一致的。對于這樣一個產品多種漲縮,部分還需要層次之間布爾操作的需求,本文提供一種完善的自動化流程方案來解決這種版圖特殊漲縮的方法,可以程序化地批處理所有需要漲縮的版圖數據。
1 客戶項目漲縮需求概述
華潤上華0.18 μm工藝線有3個差異不大的平臺—0.18 μm, 0.162 μm ,0.153 μm??蛻舻漠a品很多已經在0.18 μm工藝平臺驗證過,為了增加單片晶圓片上的管芯的數量,提高利潤空間,客戶會直接把0.18 μm工藝平臺驗證過的產品等比例縮小到0.162 μm或者0.153 μm的兩個工藝平臺進行重新流片。而數字IP可以直接等比例縮小,但是模擬IP希望能直接用0.18 μm工藝平臺設計方案,這兩種IP類型共存于一個數?;旌袭a品中,需要分別對這兩種IP進行不同的操作,而且由于工藝要求需要,某些版圖層次需要進行其他特殊的處理。
圖1是數?;旌系暮喕疽鈭D,包含了數字IP和模擬IP??蛻粜枨笥袃蓚€要求:(1)模擬IP尺寸保持不變,數字IP尺寸縮小到原始的0.9倍;(2)整個產品的接觸孔的寬度保持原始的0.22 μm。
2 人工漲縮技術操作方式
傳統的操作技術中,大部分需要靠人工干涉和人工畫圖來實現,效率很低,下面簡述一下傳統人工操作技術方案:
(1)在圖1的版圖EDA工具窗口菜單中,調用圖2版圖屬性對話框,通過修改其參數選項Magnification等于0.9,把數字IP縮小到原始的0.9倍。
(2)這種修改的方式會導致版圖層次之間出現0.001 μm的gap(空隙),如圖3所示,金屬層出現的gap圖形;這種0.001 μm的gap會出現在很多不同分層結構的連接層次之間。
(3)人工修補版圖,首先要把所有出現gap的圖形一一填充好,然后把模擬IP和數字IP之間的連接金屬線的位置分別調整好。
(4)因為原始接觸孔寬度等于0.22 μm,如圖4所示,而縮小到0.9倍以后數字 IP部分的接觸孔寬度等于0.198 μm;為了保持全芯片的接觸孔寬度一致,必須人工的把數字 IP內部的接觸孔寬度修改為0.22 μm。
每一個數模產品都是非常巨大的,包含的contact的數量是數以萬計的,模擬IP和數字IP連線也都是非常復雜的,而且要從底層單元開始修改,單靠這種傳統的人工修改,工作量是超負荷的,從而使客戶產品直接shrink的效率就大大降低,影響到客戶產品的上市時間。
3 程序化處理漲縮技術
3.1 程序化漲縮技術原理
針對傳統方案的缺點,結合我們客戶需求,同時更多的是依賴個人技術經驗,發明了一種自動化批處理,人工干預少的技術方案,從而大大提高了客戶產品漲縮的效率。核心技術方案是采用EDA工具calibre drc語言,編寫漲縮程序,再運行程序,從而達到客戶需求。圖5是客戶數模產品的漲縮批處理流程。
基本原理:整個程序分為漲大(enlarge)和整體縮小(shrink )兩個過程。IP漲大以后,會把相關的接觸孔的寬度恢復到0.22 μm,然后把漲大后的IP重新整合在原始的版圖中,最后把整合好的數據進行整體shrink,從而達到版圖等比例縮小的目的。
3.2 批處理程序的結構
根據圖5的客戶需求原理,我們用calibre語言需要編寫了兩個程序,一個是enlarge程序,一個是shrink程序,兩者程序架構大體相同。程序架構包含以下幾個方面。
(1)Specification Statement(規范說明):定義版圖數據基本信息和需要的功能選項。
(2)Input Layers Statement(輸入層次說明):把版圖數據的所有輸入層次信息定義出來。
(3)Layer Operations(版圖層次運算):根據項目要求,進行所有層次之間的布爾運算。
(4)Output New Layer(輸出新的版圖層次):把最終完成各種處理的版圖數據輸出。
通過上面3個語句,就可以把版圖Metal1層次的gap修補,以此類推,所有需要修改gap的版圖層次都可以按照此語法命令結構來完成。
整體shrink的程序和enlarge的程序結構相同,在shrink程序中可以把客戶所有層次之間的布爾運算需求,通過命令語句執行,從而完成客戶數據光罩層次的輸出。其中的shrink選項,只需要在程序的規范說明里面來定義即可,命令行如下:DRC MAGNIFY RESULTS 0.9,即可完成shrink 90%的功能任務,如果定義DRC MAGNIFY RESULTS 0.85,即可完成shrink 85%的功能需求。
3.4 漲縮程序的執行
編寫完程序以后,把版圖數據等比例縮小的任務就可以按照步驟執行,首先運行enlarge(漲大)程序,然后運行shrink(縮小)程序。步驟如下:
(1)在enlarge程序里面定義要漲大的版圖數據的gds;運行enlarge程序:caliber–drc –hier enlarge程序。
(2)把前兩步運行出來的版圖數據,放入原始的版圖gds中,修補接口連線;在shrink程序里面把第(3)輸出的版圖數據定義進入;運行shrink程序:calibre –drc –hier shrink程序。
(3)通過這幾個步驟,我們就可以把版圖等比例縮小,同時還維持了模擬IP的原始狀態。
(4)程序運行出來的版圖,我們就可以直接拿到工藝廠流片。
4 結語
本文詳細講述了如何利用常用的EDA calibre工具語言,批處理集成電路版圖等比例縮小的方法?,F在集成電路行業發展迅速,工藝水平不斷提高,而器件特征尺寸也隨著摩爾定律不斷縮小,如果一些數?;旌袭a品經過縮小,可以在新的工藝平臺流片,有些經過驗證的IP希望在原始的工藝尺寸下復用,這些客戶需求,都可以通過本文所闡述的技術原理,高效率地實現,極大地節省了設計成本。漲縮程序可以推廣于任何后端版圖設計中,簡單編寫一個小的程序,就可以代替人工繁重的全定制版圖設計,從而大大提高設計效率。