IC前端設計(邏輯設計)和后端設計(物理設計)的區(qū)分:以設計是否與工藝有關來區(qū)分二者知牌;從設計程度上來講,前端設計的結果就是得到了芯片的門級網表電路戴差。
前端設計的流程及使用的EDA工具例如以下:
1、架構的設計與驗證:依照要求铛嘱,對總體的設計劃分模塊暖释。
架構模型的仿真能夠使用Synopsys公司的CoCentric軟件,它是基于System C的仿真工具墨吓。
2球匕、HDL設計輸入:設計輸入方法有:HDL語言(Verilog或VHDL)輸入、電路圖輸入帖烘、狀態(tài)轉移圖輸入亮曹。
使用的工具有:Active-HDL,而RTL分析檢查工具有Synopsys的LEDA秘症。
3照卦、前仿真工具(功能仿真):初步驗證設計是否滿足規(guī)格要求。
使用的工具有:Synopsys的VCS乡摹,Mentor的ModelSim役耕,Cadence的Verilog-XL,Cadence的NC-Verilog聪廉。
4瞬痘、邏輯綜合:將HDL語言轉換成門級網表Netlist。綜合須要設定約束條件板熊,就是你希望綜合出來的電路在面積框全,時序等目標參數上達到的標
準;邏輯綜合須要指定基于的庫干签,使用不同的綜合庫津辩,在時序和面積上會有差異。邏輯綜合之前的仿真為前仿真容劳,之后的仿真為后仿真丹泉。
使用的工具有:Synopsys的Design Compiler,Cadence的?PKS鸭蛙,Synplicity的Synplify等摹恨。
5、靜態(tài)時序分析工具(STA):在時序上娶视,檢查電路的建立時間(Setuptime)和保持時間(Hold time)是否有違例(Violation)晒哄。
使用的工具有:Synopsys的Prime Time睁宰。
6、形式驗證工具:在功能上寝凌,對綜合后的網表進行驗證柒傻。經常使用的就是等價性檢查(Equivalence Check)方法,以功能驗證后的HDL設計為參
考较木,對照綜合后的網表功能红符,他們是否在功能上存在等價性。這樣做是為了保證在邏輯綜合過程中沒有改變原先HDL描寫敘述的電路功能伐债。
使用的工具有:Synopsys的Formality
1.????????數據準備预侯。對于 CDN 的 Silicon Ensemble而言后端設計所需的數據主要有是
Foundry廠提供的標準單元、宏單元和I/O Pad的庫文件,它包含物理庫峰锁、時序庫及網表庫
,分別以.lef萎馅、.tlf和.v的形式給出。前端的芯片設計經過綜合后生成的門級網表,具有
時序約束和時鐘定義的腳本文件和由此產生的.gcf約束文件以及定義電源Pad的DEF(Desi
gn Exchange Format)文件虹蒋。(對synopsys 的Astro 而言, 經過綜合后生成的門級網表,
時序約束文件 SDC 是一樣的,Pad的定義文件--tdf??, .tf 文件 --technology file,
Foundry廠提供的標準單元糜芳、宏單元和I/O Pad的庫文件 就與FRAM, CELL view, LM view
形式給出(Milkway 參考庫 and DB, LIB file)
2.????????布局規(guī)劃。主要是標準單元魄衅、I/O Pad和宏單元的布局峭竣。I/OPad預先給出了位
置,而宏單元則依據時序要求進行擺放,標準單元則是給出了一定的區(qū)域由工具自己主動擺放
。布局規(guī)劃后,芯片的大小,Core的面積,Row的形式晃虫、電源及地線的Ring和Strip都確定
下來了邪驮。假設必要 在自己主動放置標準單元和宏單元之后, 你能夠先做一次PNA(power netw
ork analysis)--IR drop and EM .
3.????????Placement -自己主動放置標準單元。布局規(guī)劃后,宏單元傲茄、I/O Pad的位置和放置
標準單元的區(qū)域都已確定,這些信息SE(Silicon Ensemble)會通過DEF文件傳遞給PC(Ph
ysical Compiler),PC依據由綜合給出的.DB文件獲得網表和時序約束信息進行自己主動放置標
準單元,同一時候進行時序檢查和單元放置優(yōu)化毅访。假設你用的是PC +Astro
那你可用write_milkway, read_milkway??傳遞數據。
4. ?時鐘樹生成(CTS Clock tree synthesis) 盘榨。芯片中的時鐘網絡要驅動電路中所
有的時序單元,所以時鐘源端門單元帶載非常多,其負載延時非常大而且不平衡,須要插入緩
沖器減小負載和平衡延時喻粹。時鐘網絡及其上的緩沖器構成了時鐘樹。一般要重復幾次才可
以做出一個比較理想的時鐘樹草巡。---Clock skew.
5. ?STA 靜態(tài)時序分析和后仿真守呜。時鐘樹插入后,每一個單元的位置都確定下來了,
工具能夠提出Global Route形式的連線寄生參數,此時對延時參數的提取就比較準確了。
SE把.V和.SDF文件傳遞給PrimeTime做靜態(tài)時序分析山憨。確認沒有時序違規(guī)后,將這來兩個文
件傳遞給前端人員做后仿真查乒。對Astro 而言,在detail routing 之后,用starRC XT 參
數提取,生成的E.V和.SDF文件傳遞給PrimeTime做靜態(tài)時序分析,那將會更準確郁竟。
6. ?ECO(Engineering Change Order)玛迄。針對靜態(tài)時序分析和后仿真中出現的問題,
對電路和單元布局進行小范圍的修改.
7. Filler的插入(padfliier, cell filler)。Filler指的是標準單元庫和I/O P
ad庫中定義的與邏輯無關的填充物,用來填充標準單元和標準單元之間,I/O Pad和I/O P
ad之間的間隙,它主要是把擴散層連接起來,滿足DRC規(guī)則和設計須要棚亩。
8. 布線(Routing)蓖议。Global route-- Trackassign --Detail routing--Routing
optimization 布線是指在滿足工藝規(guī)則和布線層數限制虏杰、線寬、線間距限制和各線網可
靠絕緣的電性能約束的條件下,依據電路的連接關系將各單元和I/O Pad用互連線連接起來
,這些是在時序驅動(Timing driven ) 的條件下進行的,保證關鍵時序路徑上的連線長度
可以最小勒虾。--Timing report clear
9. Dummy Metal的添加纺阔。Foundry廠都有對金屬密度的規(guī)定,使其金屬密度不要低
于一定的值,以防在芯片制造過程中的刻蝕階段對連線的金屬層過度刻蝕從而減少電路的
性能。添加Dummy Metal是為了添加金屬的密度修然。
10. DRC和LVS笛钝。DRC是對芯片版圖中的各層物理圖形進行設計規(guī)則檢查(spacing ,
width),它也包含天線效應的檢查,以確保芯片正常流片。LVS主要是將版圖和電路網表進
行比較,來保證流片出來的版圖電路和實際須要的電路一致愕宋。DRC和LVS的檢查--EDA工具
Synopsy hercules/ mentor calibre/ CDN Dracula進行的.Astro also include LVS/DRC
check commands.
11. ?Tape out玻靡。在全部檢查和驗證都正確無誤的情況下把最后的版圖GDSⅡ文件傳
遞給Foundry廠進行掩膜制造