一、IC 定義
IC就是半導(dǎo)體元件產(chǎn)品的統(tǒng)稱,IC按功能可分為:數(shù)字IC、模擬IC、微波IC及其他IC。數(shù)字IC就是傳遞、加工、處理數(shù)字信號的IC,是近年來應(yīng)用最廣、發(fā)展最快的IC品種,可分為通用數(shù)字IC和專用數(shù)字IC。
通用IC:是指那些用戶多、使用領(lǐng)域廣泛、標(biāo)準(zhǔn)型的電路,如存儲器(DRAM)、微處理器(MPU)及微控制器(MCU)等,反映了數(shù)字IC的現(xiàn)狀和水平。
專用IC(ASIC):是指為特定的用戶、某種專門或特別的用途而設(shè)計的電路。
集成電路產(chǎn)品有以下幾種設(shè)計、生產(chǎn)、銷售模式。
1.IC制造商(IDM)自行設(shè)計,由自己的生產(chǎn)線加工、封裝,測試后的成品芯片自行銷售。
2.IC設(shè)計公司(Fabless)與標(biāo)準(zhǔn)工藝加工線(Foundry)相結(jié)合的方式。設(shè)計公司將所設(shè)計芯片最終的物理版圖交給Foundry加工制造,同樣,封裝測試也委托專業(yè)廠家完成,最后的成品芯片作為IC設(shè)計公司的產(chǎn)品而自行銷售。
二、芯片各個節(jié)點分工
全球晶圓片廠排名前五依次是 臺積電(TSMC)、格羅方德、聯(lián)電、三星、中芯國際(SMI).
三、數(shù)字IC設(shè)計全流程
四、IC Design
前端設(shè)計 :
4.1 SPEC擬寫
(1)工藝的選定 ;(2)詳細(xì)feature描述 (3)模塊劃分、IP選型;
(4)架構(gòu)規(guī)劃 ;(5)時鐘域、時鐘結(jié)構(gòu)規(guī)劃;(6)電源域、低功耗規(guī)劃
(7)地址空間分配;(7)IO選定與分配;
4.2 RTL 邏輯設(shè)計
使用硬件描述語言(VHDL,Verilog HDL,業(yè)界公司一般都是使用后者)將模塊功能以代碼來描述實現(xiàn),也就是將實際的硬件電路功能通過HDL語言描述出來,形成RTL(寄存器傳輸級)代碼。
前端邏輯設(shè)計時也需要注意PPA(Performance、Power、Area)性能、功耗、面積平衡。需要特別關(guān)注面積和速度互換原則(串并轉(zhuǎn)換和并串轉(zhuǎn)換、乒乓操作、流水線設(shè)計)和低功耗設(shè)計方法(門控時鐘clock_gatinng、資源共享、采用獨熱碼多路器)等等,做到這些才能算是比較好的設(shè)計。
涉及到代碼檢查,使用工具vcs/verdi 把一般的錯誤和警告消除掉,還有一些隱藏比較深的錯誤和警告就要使用spyglass 進(jìn)行l(wèi)int/cdc檢查。
物理實現(xiàn) :
4.3 邏輯綜合、DFT
綜合:仿真驗證通過后,進(jìn)行邏輯綜合,一般由后端工程師完成,但是時序的迭代需要與前端工程師配合。需要的文件:RTL代碼+約束文件+庫文件(.db);使用的工具是Design Compiler。邏輯綜合的結(jié)果就是把設(shè)計實現(xiàn)的HDL代碼翻譯成門級網(wǎng)表netlist。
DFT:Design For Test 可測試性設(shè)計,一般由前端工程師集成DFT邏輯。DFT通過插入 DFT 邏輯,比如Scan Chain(寄存器)、MBist(片上存儲器)、Boundary Scan(IO)等,然后利用 ATPG、MBist、Boundary Scan 工具產(chǎn)生測試向量,仿真驗證測試向量。目的為了檢測到芯片量產(chǎn)過程中出現(xiàn)的帶有各種制造缺陷的片子,從而為顧客提供性能更穩(wěn)定的產(chǎn)品,降低DPPM(每百萬芯片缺陷數(shù)量),從而為公司產(chǎn)品保證良好的口碑。
4.4 布局&布線、CTS
布局規(guī)劃(Floorplan)直接影響芯片的面積,布線需要考慮擁塞情況,而且由于線延時的存在,在PR時一般時序比單純邏輯綜合要差一些。
CTS :clock tree synthesis 時鐘樹綜合,目的是要時鐘到各個寄存器單元延時差異最小。
4.5 靜態(tài)時序分析(STA)
主要是通過檢查建立時間和保持時間是否滿足要求,其目的是通過遍歷所有的傳輸路徑,尋找所有的組合邏輯電路的最壞延遲情況(以及毛刺、時鐘偏差等等),也被稱為關(guān)鍵路徑。涉及到的時序分析路徑有:寄存器到寄存器:Reg2Reg;寄存器到輸出引腳:Reg2Pin;
輸入引腳到寄存器:Pin2Reg;輸入引腳到輸出引腳:Pin2Pin. 此外,在芯片設(shè)計中我們還會經(jīng)常見到reg2mem和mem2reg 時序違例報告。
時序分析只能驗證同步時序電路的時序特性,不能自動識別設(shè)計中的特殊路徑,如多周期路徑(Multi-Cycle Path)、非正常路徑(False Path)、多時鐘分配(Multiple Path)。如果設(shè)計中含有較多的異步電路,我們一般把異步路徑設(shè)置為max_delay進(jìn)行約束。
4.6 形式驗證
它是從功能上(STA是時序上)對綜合后的網(wǎng)表進(jìn)行驗證。常用的就是等價性檢查方法,以功能驗證后的HDL設(shè)計為參考,對比綜合后的網(wǎng)表功能,他們是否在功能上存在等價性。這樣做是為了保證在邏輯綜合過程中沒有改變原先HDL描述的電路功能。形式驗證工具有Synopsys的Formality。
4.7 TapeOut
在流片之前,為提高良率和解決物理規(guī)則違規(guī)還要做些DRC/LVS的工作;芯片設(shè)計階段完成之后,把輸出的物理版圖GDS文件->芯片代工廠->晶體硅->做出實際電路->封裝和測試->芯片。
功能驗證:
4.8 驗證環(huán)境
如下圖所示,其中,Scoreboard主要用于比較reference model與DUT輸出是否一致,并給出比較結(jié)果Reference model和DUT是對SPEC的兩個獨立的實現(xiàn)。當(dāng)ref model和DUT行為不一致時,或者dut錯,或者ref model錯,或者兩者都錯,debug就好。Stimulus激勵,需覆蓋DUT不同的工作場景以及可能出現(xiàn)的異常情況。Monitor 做一些中間狀態(tài)監(jiān)控或者計數(shù)。
4.9 驗證方式
驗證方式包含兩種:白盒驗證和黑盒驗證
白盒指的是驗證對象(DUT)的內(nèi)部結(jié)構(gòu)是完全可見的,我們可以清楚的看到設(shè)計的詳細(xì)內(nèi)容,白盒驗證的好處是我們可以了解設(shè)計者的意圖,并且驗證可以達(dá)到設(shè)計上的每一點,但這需要花費(fèi)更長的時間。
灰盒指的是驗證對象(DUT)的內(nèi)部結(jié)構(gòu),只有一部分是可見的,黑盒驗證則DUT內(nèi)部完全不可見,我們只能看到設(shè)計的輸入接口和輸出接口,對黑盒驗證,我們只能通過了解其設(shè)計文檔來了解它的功能。
4.10 驗證語言和驗證方法學(xué)
驗證語言:Verilog 、SystemVerilog、Assertion、SystemC、Perl、Makefile
驗證方法學(xué) :UVM 、OVM、VMM
4.11 驗證覆蓋率
代碼覆蓋率(Code Coverage):Line coverage /Condition coverage 、
Branch coverage /Toggle coverage /FSM coverage
功能覆蓋率(Function Coverage):uassertion
4.12 后仿真
? 門級延遲
– Sdf延遲文件加載
– 與RTL不一致
? X 態(tài)傳播
– 異步時序電路產(chǎn)生X態(tài)
– 增加debug難度
– 控制X態(tài)傳播
? PG網(wǎng)表門級仿真
– 低功耗仿真
4.13 FPGA驗證
ASIC 代碼移植
– PLL/IO/MEM/STDCELL替換
– 時鐘產(chǎn)生邏輯去除
– 時鐘頻率、時鐘關(guān)系調(diào)整
– 設(shè)計裁剪partition
? 代碼FPGA實現(xiàn)
– 時序約束
– 時序檢查
? FPGA調(diào)試、驗證
4.14 仿真加速器驗證
Cadence – Palladium
– CPU based
? Synopsys – ZeBu
– FPGA based
? Mentor – Veloce
– FPGA based
4.15 驗證方式比較
一般在代碼開發(fā)過程中,以下驗證方式一般是逐級遞進(jìn)的,后期同時進(jìn)行回歸驗證,由于FPGA驗證和仿真加速器都是降頻模式下驗證下,一些時序問題也是驗證不出來的。但是兩者好處在于仿真速度快,容易驗出一些在長時間運(yùn)行累積的錯誤,因此,一般需要長時間拷機(jī)測試。
責(zé)任編輯:lq6
-
集成電路
+關(guān)注
關(guān)注
5388文章
11547瀏覽量
361821 -
IC
+關(guān)注
關(guān)注
36文章
5950瀏覽量
175599 -
數(shù)字IC
+關(guān)注
關(guān)注
1文章
38瀏覽量
12553
原文標(biāo)題:數(shù)字IC設(shè)計知識結(jié)構(gòu)
文章出處:【微信號:FPGA_Study,微信公眾號:FPGA自習(xí)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論