ASCI設計流程及相關工具

2021-07-24 15:16:55 字數 4019 閱讀 6537

1.

使用語言:

vhdl/verilog hdl

2.各階段典型軟體介紹:

輸入工具:    summit ,ultraedit               summit   公司

,ultraedit

**工具:    vcs, vss                        synopsys 公司

綜合器:      designcompile, bc compile       synopsys 公司

布局佈線工具:preview 和silicon ensemble       cadence  公司

版圖驗證工具:dracula, diva                    cadence  公司

靜態時序分析: prime time                       synopsys 公司

測試:        dft  compile                    synopsys 公司 3.

流程第一階段:專案策劃

形成專案任務書(專案進度,週期管理等)。流程:【市場需求--調研--可行性研究--論證--決策--任務書】。

第二階段:總體設計

確定設計物件和目標,進一步明確晶元功能、內外部效能要求,引數指標,論證各種可行方案,選擇最佳方式,加工廠家,工藝水準。

流程:【需求分析--系統方案--系統設計--系統**】。

第三階段: 詳細設計和可測性設計

分功能確定各個模組演算法的實現結構,確定設計所需的資源按晶元的要求,速度,功耗,頻寬,增益,雜訊,負載能力,工作溫度等和時間,成本,效益要求選擇加工廠家,實現方式,(全定製,半定製,asic,fpga等);可測性設計與時序分析可在詳細設計中一次綜合獲得,可測性設計常依據需要採用fullscan,partscan等方式,可測性設計包括帶掃瞄鏈的邏輯單元,atpg,以及邊界掃瞄電路boundscan,測試memory的bist。

流程:【邏輯設計--子功能分解--詳細時序框圖--分塊邏輯**--電路設計(演算法的行為級,rtl級描述)--功能**--綜合(加時序約束和設計庫)--電路網表--網表**】。

第四階段:時序驗證與版圖設計

靜態時序分析從整個電路中提取出所有時序路徑,然後通過計算訊號沿在路徑上的延遲傳播,找出違背時序約束的錯誤(主要是setuptime 和 holdtime),與激勵無關。在深亞微公尺工藝中,因為電路連線延遲大於單元延遲,通常預布局佈線反覆較多,要多次調整布局方案,對布局佈線有指導意義。

流程:【預布局佈線(sdf檔案)--網表**(帶延時檔案)--靜態時序分析--布局佈線--引數提取--sdf檔案--後**--靜態時序分析--測試向量生成】

第五階段:加工與完備

流程:【工藝設計與生產--晶元測試--晶元應用

根據個人掌握的知識,寫寫自己的理解。前端設計(也稱邏輯設計)和後端設計(也稱物理設計)並沒有統一嚴格的界限,涉及到與工藝有關的設計就是後端設計。

1.規格制定

晶元規格,也就像功能列表一樣,是客戶向晶元設計公司(稱為fabless,無晶圓設計公司)提出的設計要求,包括晶元需要達到的具體功能和效能方面的要求。

2.詳細設計

fabless根據客戶提出的規格要求,拿出設計解決方案和具體實現架構,劃分模組功能。

3.hdl編碼

使用硬體描述語言(vhdl,verilog hdl,業界公司一般都是使用後者)將模組功能以**來描述實現,也就是將實際的硬體電路功能通過hdl語言描述出來,形成rtl(暫存器傳輸級)**。

4.**驗證

**驗證就是檢驗編碼設計的正確性,檢驗的標準就是第一步制定的規格。看設計是否精確地滿足了規格中的所有要求。規格是設計正確與否的**標準,一切違反,不符合規格要求的,就需要重新修改設計和編碼。

設計和**驗證是反覆迭代的過程,直到驗證結果顯示完全符合規格標準。

**驗證工具synopsys的vcs。

5.邏輯綜合――design compiler

**驗證通過,進行邏輯綜合。邏輯綜合的結果就是把設計實現的hdl**翻譯成門級網表(netlist)。綜合需要設定約束條件,就是你希望綜合出來的電路在面積,時序等目標引數上達到的標準。邏輯綜合需要基於特定的綜合庫,不同的庫中,閘電路基本標準單元(standard cell)的面積,時序引數是不一樣的。所以,選用的綜合庫不一樣,綜合出來的電路在時序,面積上是有差異的。

一般來說,綜合完成後需要再次做**驗證(這個也稱為後**,之前的稱為前**)

邏輯綜合工具synopsys的design compiler。

6.sta

static timing analysis(sta),靜態時序分析,這也屬於驗證範疇,它主要是在時序上對電路進行驗證,檢查電路是否存在建立時間(setup time)和保持時間(hold time)的違例(violation)。這個是數位電路基礎知識,乙個暫存器出現這兩個時序違例時,時沒有辦法正確取樣資料和輸出資料的,所以以暫存器為基礎的數字晶元功能肯定會出現問題。

sta工具有synopsys的prime time。

7.形式驗證

這也是驗證範疇,它是從功能上(sta是時序上)對綜合後的網表進行驗證。常用的就是等價性檢查方法,以功能驗證後的hdl設計為參考,對比綜合後的網表功能,他們是否在功能上存在等價性。這樣做是為了保證在邏輯綜合過程中沒有改變原先hdl描述的電路功能。

形式驗證工具有synopsys的formality。

前端設計的流程暫時寫到這裡。從設計程度上來講,前端設計的結果就是得到了晶元的門級網表電路。

8. dft

design for test,可測性設計。晶元內部往往都自帶測試電路,dft的目的就是在設計的時候就考慮將來的測試。dft的常見方法就是,在設計中插入掃瞄鏈,將非掃瞄單元(如暫存器)變為掃瞄單元。關於dft,有些書上有詳細介紹,對照就好理解一點。

dft工具synopsys的dft compiler

9.布局規劃

布局規劃就是放置晶元的巨集單元模組,在總體上確定各種功能電路的擺放位置,如ip模組,ram,i/o引腳等等。布局規劃能直接影響晶元最終的面積。

工具為synopsys的astro

10.   cts

clock tree synthesis,時鐘樹綜合,簡單點說就是時鐘的佈線。由於時鐘訊號在數字晶元的全域性指揮作用,它的分布應該是對稱式的連到各個暫存器單元,從而使時鐘從同乙個時鐘源到達各個暫存器時,時鐘延遲差異最小。這也是為什麼時鐘訊號需要單獨佈線的原因。

cts工具,synopsys的physical compiler

11.佈線這裡的佈線就是普通訊號佈線了,包括各種標準單元(基本邏輯閘電路)之間的走線。比如我們平常聽到的0.13um工藝,或者說90nm工藝,實際上就是這裡金屬佈線可以達到的最小寬度,從微觀上看就是mos管的溝道長度。

工具synopsys的astro

12. 

寄生引數提取

由於導線本身存在的電阻,相鄰導線之間的互感,耦合電容在晶元內部會產生訊號雜訊,串擾和反射。這些效應會產生訊號完整性問題,導致訊號電壓波動和變化,如果嚴重就會導致訊號失真錯誤。提取寄生引數進行再次的分析驗證,分析訊號完整性問題是非常重要的。

工具synopsys的star-rcxt

13.     版圖物理驗證

對完成佈線的物理版圖進行功能和時序上的驗證,驗證專案很多,包括lvs(layout vs schematic)驗證,簡單說,就是版圖與邏輯綜合後的門級電路圖的對比驗證;drc(design rule checking),設計規則檢查,檢查連線間距,連線寬度等是否滿足工藝要求;erc(electrical rule checking),電氣規則檢查,檢查短路,開路等電氣規則違例;等等。

工具synopsys的hercules

實際的後端流程還包括電路功耗分析,以及隨著製造工藝不斷進步產生的dfm(可製造性設計)問題,在此不說了。

物理版圖驗證完成也就是整個晶元設計階段完成,下面的就是晶元製造了。物理版圖以

gds ii

的檔案格式交給晶元代工廠(稱為

foundry

)在晶圓矽片上做出實際的電路,再進行封裝和測試,就得到了我們實際看見的晶元

資料探勘流程與相關工具

一.流程 1.定義挖掘目標,也就是要弄清業務需求 2.資料採集 衡量資料質量的標準如下 1 資料完整無缺,各類指標項齊全 2 資料準確無誤,反映的都是正常狀態下的水平 3.資料分析 對抽樣資料進行異常值分析,缺失值分析,相關分析和週期分析 4.資料預處理 主要包括特徵篩選,異常值處理,缺失值處理,資...

Linux Ubuntu 相關工具及配置

1.網路配置 sudo vim etc network inte ces 編輯以下資訊,設定靜態ip位址 auto eth0 iface eth0 inet static address 192.x.x.x netmask 192 broadcast x gateway xx dns nameser...

核心啟動流程及相關概念

整個過程基本可以分為post bios mbr grub kernel init runlevel。下面會詳細說明每個過程的作用。bios basic input output system 基本輸入輸出系統,該系統儲存於主機板的rom晶元上,計算機在開機時,會最先讀取該系統,然後會有乙個加電自檢過...