【ASIC设计】ASIC设计流程
項目策劃
形成項目任務書(項目進度,周期管理等)。
流程:【市場需求--調研--可行性研究--論證--決策--任務書】。
?
系統說明及行為描述
? ? 確定設計對象和目標,進一步明確芯片功能、內外部性能要求,參數指標,論證各種可行方案,選擇最佳方式,加工廠家,工藝水準。系統說明是芯片設計到邏輯和布局的第一步。它是在設計付諸實踐之前來進行的,抽象地描述了被設計的數字電路的功能、端口以及整體的結構。然后根據系統說明進行行為描述來分析電路設計的功能、性能、服從的標準以及其它高級問題
?
RTL描述
首先,設計者需要制定所要設計數字電路的工作流程或結構框圖,然后把整個任務劃分為幾個模塊,分模塊建模,采用HDL語言進行結構設計。
工具:UltraEdit,vi
?
代碼調試
對設計輸入的文件做代碼調試,語法檢查。
工具: Debussy。
前仿真
功能仿真.
工具: Mentor公司的ModelSim、Synopsys公司的VCS和VSS、Aldec公司的Active、Cadense公司的NCsim.
?
邏輯綜合
邏輯綜合是將邏輯級的行為描述轉換成邏輯級的結構描述,即邏輯門級網表。邏輯級的行為描述可以是狀態轉移圖、有限狀態機,也可以是布爾方程、真值表或硬件描述語言。邏輯綜合過程還包括一些優化步驟,如資源共享、連接優化和時鐘分配等。優化目標是面積最小,速度最快,功耗最低或他們之間的某種折衷。
工具: 有Mentor公司的LeonardoSpectrum、Synopsys公司的DC、Synplicity公司的Synplify。
?
前端結束
________________________________________
數據準備。對于 CDN 的 Silicon Ensemble而言后端設計所需的數據主要有是Foundry廠提供的標準單元、宏單元和I/O Pad的庫文件,它包括物理庫、時序庫及網表庫,分別以.lef、.tlf和.v的形式給出。前端的芯片設計經過綜合后生成的門級網表,具有時序約束和時鐘定義的腳本文件和由此產生的.gcf約束文件以及定義電源Pad的DEF(Design Exchange Format)文件。(對synopsys的Astro 而言,經過綜合后生成的門級網表,時序約束文件 SDC 是一樣的,Pad的定義文件--tdf,.tf文件technology file,Foundry廠提供的標準單元、宏單元和I/O Pad的庫文件就與FRAM, CELL view, LM view 形式給出(Milkway參考庫 and DB, LIB file)
________________________________________
進入后端
?
布局和布線 (floorplan and routing)
物理綜合也稱版圖綜合(LAYOUTSYNTHESIS),它的任務是將門級網表自動轉換成版圖,即完成布圖。布圖規劃(FLOORPLAN)是對設計進行物理劃分,同時對設計的布局進行規劃和分析。
在這個過程中:
布局規劃。主要是標準單元、I/O Pad和宏單元的布局。I/O Pad預先給出了位置,而宏單元則根據時序要求進行擺放,標準單元則是給出了一定的區域由工具自動擺放。布局規劃后,芯片的大小,Core的面積,Row的形式、電源及地線的Ring和Strip都確定下來了。如果必要在自動放置標準單元和宏單元之后,你可以先做一次PNA(power network analysis)--IR drop and EM.
Placement -自動放置標準單元。布局規劃后,宏單元、I/O Pad的位置和放置標準單元的區域都已確定,這些信息SE(Silicon Ensemble)會通過DEF文件傳遞給PC(Physical Compiler),PC根據由綜合給出的.DB文件獲得網表和時序約束信息進行自動放置標準單元,同時進行時序檢查和單元放置優化。如果你用的是PC +Astro那你可用write_milkway, read_milkway ?傳遞數據。
時鐘樹生成(CTS Clock tree synthesis) 。芯片中的時鐘網絡要驅動電路中所有的時序單元,所以時鐘源端門單元帶載很多,其負載延時很大并且不平衡,需要插入緩沖器減小負載和平衡延時。時鐘網絡及其上的緩沖器構成了時鐘樹。一般要反復幾次才可以做出一個比較理想的時鐘樹。---Clock skew.
STA 靜態時序分析和后仿真。時鐘樹插入后,每個單元的位置都確定下來了,工具可以提出Global Route形式的連線寄生參數,此時對延時參數的提取就比較準確了。SE把.V和.SDF文件傳遞給PrimeTime做靜態時序分析。確認沒有時序違規后,將這來兩個文件傳遞給前端人員做后仿真。對Astro 而言,在detail routing 之后,用starRC XT參數提取,生成的E.V和.SDF文件傳遞給PrimeTime做靜態時序分析,那將會更準確。
ECO(Engineering Change Order)。針對靜態時序分析和后仿真中出現的問題,對電路和單元布局進行小范圍的改動.
Filler的插入(pad fliier, cell filler)。Filler指的是標準單元庫和I/O Pad庫中定義的與邏輯無關的填充物,用來填充標準單元和標準單元之間,I/O Pad和I/O Pad之間的間隙,它主要是把擴散層連接起來,滿足DRC規則和設計需要。
布線(Routing)。Global route-- Track assign --Detail routing--Routing optimization 布線是指在滿足工藝規則和布線層數限制、線寬、線間距限制和各線網可靠絕緣的電性能約束的條件下,根據電路的連接關系將各單元和I/O Pad用互連線連接起來,這些是在時序驅動(Timing driven ) 的條件下進行的,保證關鍵時序路徑上的連線長度能夠最小。--Timing report clear
DRC和LVS
DRC是對芯片版圖中的各層物理圖形進行設計規則檢查(spacing,width),它也包括天線效應的檢查,以確保芯片正常流片。LVS主要是將版圖和電路網表進行比較,來保證流片出來的版圖電路和實際需要的電路一致。
工具Synopsyhercules/ mentor calibre/ CDN Dracula進行的.Astro also include LVS/DRC check commands
?
Tape out
在所有檢查和驗證都正確無誤的情況下把最后的版圖GDSⅡ文件傳遞給Foundry廠進行掩膜制造
?
Formality
? ? ?任何時候對一個電路設計進行了改動之后,都可以使用Formaliyt來驗證這種改動是否影響或者改變了該設計的邏輯功能。如果證實了改動后的設計和源設計是等價的之后,就可以把修改后的設計作為下一次驗證時的“源設計”。由于結構相似的設計所需要的比較時間較短,這樣也就節省了花費在驗證上的時間。
?
總結
以上是生活随笔為你收集整理的【ASIC设计】ASIC设计流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【viterbi维特比译码】卷积码为(2
- 下一篇: 【CT算法,radon变换】基于MATL