IC設(shè)計(jì)完整流程及工具
IC的設(shè)計(jì)過(guò)程可分為兩個(gè)部分,分別為:前端設(shè)計(jì)(也稱(chēng)邏輯設(shè)計(jì))和后端設(shè)計(jì)(也稱(chēng)物理設(shè)計(jì)),這兩個(gè)部分并沒(méi)有統(tǒng)一嚴(yán)格的界限,凡涉及到與工藝有關(guān)的設(shè)計(jì)可稱(chēng)為后端設(shè)計(jì)。 前端設(shè)計(jì)的主要流程: 1、規(guī)格制定 芯片規(guī)格,也就像功能列表一樣,是客戶(hù)向芯片設(shè)計(jì)公司(稱(chēng)為Fabless,無(wú)晶圓設(shè)計(jì)公司)提出的設(shè)計(jì)要求,包括芯片需要達(dá)到的具體功能和性能方面的要求。 2、詳細(xì)設(shè)計(jì) Fabless根據(jù)客戶(hù)提出的規(guī)格要求,拿出設(shè)計(jì)解決方案和具體實(shí)現(xiàn)架構(gòu),劃分模塊功能。 3、HDL編碼 使用硬件描述語(yǔ)言(VHDL,Verilog HDL,業(yè)界公司一般都是使用后者)將模塊功能以代碼來(lái)描述實(shí)現(xiàn),也就是將實(shí)際的硬件電路功能通過(guò)HDL語(yǔ)言描述出來(lái),形成RTL(寄存器傳輸級(jí))代碼。 4、仿真驗(yàn)證 仿真驗(yàn)證就是檢驗(yàn)編碼設(shè)計(jì)的正確性,檢驗(yàn)的標(biāo)準(zhǔn)就是第一步制定的規(guī)格。看設(shè)計(jì)是否精確地滿(mǎn)足了規(guī)格中的所有要求。規(guī)格是設(shè)計(jì)正確與否的黃金標(biāo)準(zhǔn),一切違反,不符合規(guī)格要求的,就需要重新修改設(shè)計(jì)和編碼。設(shè)計(jì)和仿真驗(yàn)證是反復(fù)迭代的過(guò)程,直到驗(yàn)證結(jié)果顯示完全符合規(guī)格標(biāo)準(zhǔn)。仿真驗(yàn)證工具Mentor公司的Modelsim, Synopsys的VCS,還有Cadence的NC-Verilog均可以對(duì)RTL級(jí)的代碼進(jìn)行設(shè)計(jì)驗(yàn)證,該部分個(gè)人一般使用第一個(gè)-Modelsim。該部分稱(chēng)為前仿真,接下來(lái)邏輯部分綜合之后再一次進(jìn)行的仿真可稱(chēng)為后仿真。 5、邏輯綜合――Design Compiler 仿真驗(yàn)證通過(guò),進(jìn)行邏輯綜合。邏輯綜合的結(jié)果就是把設(shè)計(jì)實(shí)現(xiàn)的HDL代碼翻譯成門(mén)級(jí)網(wǎng)表netlist。綜合需要設(shè)定約束條件,就是你希望綜合出來(lái)的電路在面積,時(shí)序等目標(biāo)參數(shù)上達(dá)到的標(biāo)準(zhǔn)。邏輯綜合需要基于特定的綜合庫(kù),不同的庫(kù)中,門(mén)電路基本標(biāo)準(zhǔn)單元(standard cell)的面積,時(shí)序參數(shù)是不一樣的。所以,選用的綜合庫(kù)不一樣,綜合出來(lái)的電路在時(shí)序,面積上是有差異的。一般來(lái)說(shuō),綜合完成后需要再次做仿真驗(yàn)證(這個(gè)也稱(chēng)為后仿真,之前的稱(chēng)為前仿真)邏輯綜合工具Synopsys的Design Compiler,仿真工具選擇上面的三種仿真工具均可。 6、STA Static Timing Analysis(STA),靜態(tài)時(shí)序分析,這也屬于驗(yàn)證范疇,它主要是在時(shí)序上對(duì)電路進(jìn)行驗(yàn)證,檢查電路是否存在建立時(shí)間(setup time)和保持時(shí)間(hold time)的違例(violation)。這個(gè)是數(shù)字電路基礎(chǔ)知識(shí),一個(gè)寄存器出現(xiàn)這兩個(gè)時(shí)序違例時(shí),是沒(méi)有辦法正確采樣數(shù)據(jù)和輸出數(shù)據(jù)的,所以以寄存器為基礎(chǔ)的數(shù)字芯片功能肯定會(huì)出現(xiàn)問(wèn)題。STA工具有Synopsys的Prime Time。 7、形式驗(yàn)證 這也是驗(yàn)證范疇,它是從功能上(STA是時(shí)序上)對(duì)綜合后的網(wǎng)表進(jìn)行驗(yàn)證。常用的就是等價(jià)性檢查方法,以功能驗(yàn)證后的HDL設(shè)計(jì)為參考,對(duì)比綜合后的網(wǎng)表功能,他們是否在功能上存在等價(jià)性。這樣做是為了保證在邏輯綜合過(guò)程中沒(méi)有改變?cè)菻DL描述的電路功能。形式驗(yàn)證工具有Synopsys的Formality。前端設(shè)計(jì)的流程暫時(shí)寫(xiě)到這里。從設(shè)計(jì)程度上來(lái)講,前端設(shè)計(jì)的結(jié)果就是得到了芯片的門(mén)級(jí)網(wǎng)表電路。 Backend design flow后端設(shè)計(jì)流程 : 1、DFT Design ForTest,可測(cè)性設(shè)計(jì)。芯片內(nèi)部往往都自帶測(cè)試電路,DFT的目的就是在設(shè)計(jì)的時(shí)候就考慮將來(lái)的測(cè)試。DFT的常見(jiàn)方法就是,在設(shè)計(jì)中插入掃描鏈,將非掃描單元(如寄存器)變?yōu)閽呙鑶卧jP(guān)于DFT,有些書(shū)上有詳細(xì)介紹,對(duì)照?qǐng)D片就好理解一點(diǎn)。DFT工具Synopsys的DFT Compiler 2、布局規(guī)劃(FloorPlan) 布局規(guī)劃就是放置芯片的宏單元模塊,在總體上確定各種功能電路的擺放位置,如IP模塊,RAM,I/O引腳等等。布局規(guī)劃能直接影響芯片最終的面積。工具為Synopsys的Astro |