當前位置:首頁 » 網頁前端 » 前端HDL
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

前端HDL

發布時間: 2023-01-15 01:11:12

① IC設計前端到後端的流程和eda工具

IC前端設計(邏輯設計)和後端設計(物理設計)的區分:以設計是否與工藝有關來區分二者;從設計程度上來講,前端設計的結果就是得到了晶元的門級網表電路。

前端設計的流程及使用的EDA工具例如以下:

1、架構的設計與驗證:依照要求,對總體的設計劃分模塊。

架構模型的模擬能夠使用Synopsys公司的CoCentric軟體,它是基於System C的模擬工具。

2、HDL設計輸入:設計輸入方法有:HDL語言(Verilog或VHDL)輸入、電路圖輸入、狀態轉移圖輸入。

使用的工具有:Active-HDL,而RTL分析檢查工具有Synopsys的LEDA。

3、前模擬工具(功能模擬):初步驗證設計是否滿足規格要求。

使用的工具有:Synopsys的VCS,Mentor的ModelSim,Cadence的Verilog-XL,Cadence的NC-Verilog。

4、邏輯綜合:將HDL語言轉換成門級網表Netlist。綜合須要設定約束條件,就是你希望綜合出來的電路在面積,時序等目標參數上達到的標

准;邏輯綜合須要指定基於的庫,使用不同的綜合庫,在時序和面積上會有差異。邏輯綜合之前的模擬為前模擬,之後的模擬為後模擬。

使用的工具有:Synopsys的Design Compiler,Cadence的 PKS,Synplicity的Synplify等。

5、靜態時序分析工具(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.        布局規劃。主要是標准單元、I/O Pad和宏單元的布局。I/OPad預先給出了位

置,而宏單元則依據時序要求進行擺放,標准單元則是給出了一定的區域由工具自己主動擺放

。布局規劃後,晶元的大小,Core的面積,Row的形式、電源及地線的Ring和Strip都確定

下來了。假設必要 在自己主動放置標准單元和宏單元之後, 你能夠先做一次PNA(power netw

ork analysis)--IR drop and EM .

3.        Placement -自己主動放置標准單元。布局規劃後,宏單元、I/O Pad的位置和放置

標准單元的區域都已確定,這些信息SE(Silicon Ensemble)會通過DEF文件傳遞給PC(Ph

ysical Compiler),PC依據由綜合給出的.DB文件獲得網表和時序約束信息進行自己主動放置標

准單元,同一時候進行時序檢查和單元放置優化。假設你用的是PC +Astro

那你可用write_milkway, read_milkway  傳遞數據。

4.  時鍾樹生成(CTS Clock tree synthesis) 。晶元中的時鍾網路要驅動電路中所

有的時序單元,所以時鍾源端門單元帶載非常多,其負載延時非常大而且不平衡,須要插入緩

沖器減小負載和平衡延時。時鍾網路及其上的緩沖器構成了時鍾樹。一般要重復幾次才可

以做出一個比較理想的時鍾樹。---Clock skew.

5.  STA 靜態時序分析和後模擬。時鍾樹插入後,每一個單元的位置都確定下來了,

工具能夠提出Global Route形式的連線寄生參數,此時對延時參數的提取就比較准確了。

SE把.V和.SDF文件傳遞給PrimeTime做靜態時序分析。確認沒有時序違規後,將這來兩個文

件傳遞給前端人員做後模擬。對Astro 而言,在detail routing 之後,用starRC XT 參

數提取,生成的E.V和.SDF文件傳遞給PrimeTime做靜態時序分析,那將會更准確。

6.  ECO(Engineering Change Order)。針對靜態時序分析和後模擬中出現的問題,

對電路和單元布局進行小范圍的修改.

7. Filler的插入(padfliier, cell filler)。Filler指的是標准單元庫和I/O P

ad庫中定義的與邏輯無關的填充物,用來填充標准單元和標准單元之間,I/O Pad和I/O P

ad之間的間隙,它主要是把擴散層連接起來,滿足DRC規則和設計須要。

8. 布線(Routing)。Global route-- Trackassign --Detail routing--Routing

optimization 布線是指在滿足工藝規則和布線層數限制、線寬、線間距限制和各線網可

靠絕緣的電性能約束的條件下,依據電路的連接關系將各單元和I/O Pad用互連線連接起來

,這些是在時序驅動(Timing driven ) 的條件下進行的,保證關鍵時序路徑上的連線長度

可以最小。--Timing report clear

9. Dummy Metal的添加。Foundry廠都有對金屬密度的規定,使其金屬密度不要低

於一定的值,以防在晶元製造過程中的刻蝕階段對連線的金屬層過度刻蝕從而減少電路的

性能。添加Dummy Metal是為了添加金屬的密度。

10. DRC和LVS。DRC是對晶元版圖中的各層物理圖形進行設計規則檢查(spacing ,

width),它也包含天線效應的檢查,以確保晶元正常流片。LVS主要是將版圖和電路網表進

行比較,來保證流片出來的版圖電路和實際須要的電路一致。DRC和LVS的檢查--EDA工具

Synopsy hercules/ mentor calibre/ CDN Dracula進行的.Astro also include LVS/DRC

check commands.

11.  Tape out。在全部檢查和驗證都正確無誤的情況下把最後的版圖GDSⅡ文件傳

遞給Foundry廠進行掩膜製造

原文網址: IC設計前端到後端的流程和eda工具。 (bbsmax.com)

② 要成為一名前端IC工程師應掌握哪些知識

實際上hdl只是最基本的技能 隨便哪個工科學生想要搞懂語法都不是難事 只有加深對電路本身的理解才算是實質上的提高
你還沒畢業 暫時不用放很多精力到hdl和eda tool的使用 基本掌握一種語言即可(推薦verilog 比vhdl更流行) 現在還是學好專業課最關鍵 電路的一些基礎課永遠都很重要 即使你畢業後去面試 考題很多還是那些加法器與非門異或門之類的
IC設計的一些基本概念以及相關應用是必須清楚的 例如同步非同步、競爭冒險、建立保持時間等等
此外 fpga應用越來越廣泛 應該有一定了解

PS 想做IC設計 能讀研究生還是讀研究生 無論是理論還是應用都會有巨大的優勢

③ ic design 晶元設計的流程是怎麼樣的

根據個人掌握的知識,寫寫自己的理解。前端設計(也稱邏輯設計)和後端設計(也稱物理設計)並沒有統一嚴格的界限,涉及到與工藝有關的設計就是後端設計。
1.規格制定
晶元規格,也就像功能列表一樣,是客戶向晶元設計公司(稱為Fabless,無晶圓設計公司)提出的設計要求,包括晶元需要達到的具體功能和性能方面的要求。

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

3.HDL編碼
使用硬體描述語言(VHDL,Verilog HDL,業界公司一般都是使用後者)將模塊功能以代碼來描述實現,也就是將實際的硬體電路功能通過HDL語言描述出來,形成RTL(寄存器傳輸級)代碼。

4.模擬驗證
模擬驗證就是檢驗編碼設計的正確性,檢驗的標准就是第一步制定的規格。看設計是否精確地滿足了規格中的所有要求。規格是設計正確與否的黃金標准,一切違反,不符合規格要求的,就需要重新修改設計和編碼。
設計和模擬驗證是反復迭代的過程,直到驗證結果顯示完全符合規格標准。
模擬驗證工具 Synopsys的VCS。

5.邏輯綜合――Design Compiler
模擬驗證通過,進行邏輯綜合。邏輯綜合的結果就是把設計實現的HDL代碼翻譯成門級網表(netlist)。綜合需要設定約束條件,就是你希望綜合出來的電路在面積,時序等目標參數上達到的標准。邏輯綜合需要基於特定的綜合庫,不同的庫中,門電路基本標准單元(standard cell)的面積,時序參數是不一樣的。所以,選用的綜合庫不一樣,綜合出來的電路在時序,面積上是有差異的。
一般來說,綜合完成後需要再次做模擬驗證(這個也稱為後模擬,之前的稱為前模擬)
邏輯綜合工具Synopsys的Design Compiler。

④ 以前是學計算機的,學習c語言等等,現在學Verilog hdl 是不是很難,或者很不應該

以前是學計算機的,學習c語言等等,現在學Verilog hdl 是不是很難,或者很不應該?
希望做Verilog hdl方面的人指點迷津。
1.Verilog hdl方面工作前景怎麼樣? 可以直接用人民幣來衡量。
寫verilog,說白了就是寫RTL代碼,基本可以做FPGA開發和IC設計驗證,入行門檻比較高,但當然收入也是比較好的。如果用RMB的話,我在北京,基本月收入稅前8000吧,我剛碩士畢業

2.做這方面的工作還需要學習哪些東西?
其他的知識,當然分深度和廣度了。廣度就是說,你需要對各種協議的東西,比如AMBA PCI等有所了解,最好知道點cmmb H264的知識,對工作更有幫助。在深度上,就是你描述電路的能力。(我不知道樓上是怎麼想的,RTL代碼怎麼可能和C差不多,RTL代碼都是always,都是並發的操作,而C是串列的,怎麼可能一樣??記住,寫RTL代碼是在描述電路,不是在編程,永遠要想到自己code描述出來是怎麼樣一個電路,切記)

3.如果可以。。 用個例子說明,工作時要做哪些事情,(很多東西分工不?)我希望用最快的速度學好然後找工作。
我做的是IC,也就是晶元設計,我只能說說我這個方面的。系統架構,這個由演算法架構工程師做,我水平不夠。當架構大致定下來,就你負責的模塊,需要和其他模塊負責人商量介面,考慮實現方法,同時得注意timing,不要code寫好了,後端工程師根本就做不出來。code寫好,還得驗證,這又是一個行當,公司有專門做驗證的工程師,專門的環境,針對basic的,corner的,critical情況做case,驗證,還要跑很多random。做完這些,沒問題了,做DFT,還得咋做,做綜合,做後仿等,一環扣一環,反正硬體就是,經驗積累多了,失敗的多了,自然就牛了。。。呵呵

4.謝謝了,這關系個人前途。。。。
其他么,多看,多學,如果不做晶元設計,做FPGA開發,其實也差不多,手上最好有個開發板,多練練手,對了,我說的是數字前端哈,最好懂點模擬的知識,在出現問題的時候,方便debug,謝謝
有問題在聯系哈,祝你成功~~~