數字IC設計策略論文
時間:2022-08-05 05:47:00
導語:數字IC設計策略論文(wen)一文(wen)來(lai)源于(yu)網友上傳,不代(dai)表本站觀(guan)點,若需要原(yuan)創文(wen)章可咨(zi)詢(xun)客服老師(shi),歡迎參考。
摘要:隨著數字電路設(she)(she)計(ji)的規(gui)模以及復雜程(cheng)度的提高,對其進(jin)行設(she)(she)計(ji)所(suo)花費(fei)的時間和(he)費(fei)用也隨之而提高。根據近(jin)年來(lai)的統計(ji),對數字系統進(jin)行設(she)(she)計(ji)所(suo)花的時間占到了整個研發(fa)過程(cheng)的60%以上(shang)。所(suo)以減少設(she)(she)計(ji)所(suo)花費(fei)的實踐(jian)成本(ben)是當(dang)前(qian)數字電路設(she)(she)計(ji)研發(fa)的關鍵,這就必須(xu)在設(she)(she)計(ji)的方法上(shang)有所(suo)突破。
一(yi)、數(shu)字IC設計方法學
在目(mu)前CI設(she)(she)計(ji)(ji)中,基于時序(xu)驅動的(de)數(shu)字(zi)CI設(she)(she)計(ji)(ji)方(fang)(fang)法(fa)(fa)、基于正復用的(de)數(shu)字(zi)CI設(she)(she)計(ji)(ji)方(fang)(fang)法(fa)(fa)、基于集(ji)成平臺進行(xing)(xing)系(xi)統級(ji)數(shu)字(zi)CI設(she)(she)計(ji)(ji)方(fang)(fang)法(fa)(fa)是當(dang)今(jin)數(shu)字(zi)CI設(she)(she)計(ji)(ji)比較流(liu)行(xing)(xing)的(de)3種主要設(she)(she)計(ji)(ji)方(fang)(fang)法(fa)(fa),其中基于正復用的(de)數(shu)字(zi)CI設(she)(she)計(ji)(ji)方(fang)(fang)法(fa)(fa)是有效提(ti)高CI設(she)(she)計(ji)(ji)的(de)關鍵技(ji)術。它能解決當(dang)今(jin)芯片設(she)(she)計(ji)(ji)業(ye)所(suo)面臨的(de)一(yi)系(xi)列挑戰:縮短設(she)(she)計(ji)(ji)周期,提(ti)供性能更好、速度更快、成本更加低廉的(de)數(shu)字(zi)IC芯片。
基于(yu)時序驅動(dong)的設(she)(she)計(ji)(ji)方(fang)法,無論是(shi)HDL描述還是(shi)原理圖設(she)(she)計(ji)(ji),特征都在于(yu)以時序優化(hua)為目標的著(zhu)眼于(yu)門(men)級電路(lu)結構設(she)(she)計(ji)(ji),用全(quan)新的電路(lu)來實現(xian)系(xi)統功能(neng);這種方(fang)法主要(yao)適用于(yu)完成小(xiao)規模ASIC的設(she)(she)計(ji)(ji)。對于(yu)規模較大的系(xi)統級電路(lu),即使團隊合作,要(yao)想始(shi)終從門(men)級結構去實現(xian)優化(hua)設(she)(she)計(ji)(ji),也很(hen)難保證(zheng)設(she)(she)計(ji)(ji)周(zhou)期(qi)短、上市時間快的要(yao)求。
基于(yu)PI復(fu)(fu)(fu)用(yong)(yong)的(de)數字(zi)(zi)CI設計方(fang)法(fa),可以(yi)滿足芯片規模(mo)(mo)要(yao)求(qiu)(qiu)越來越大,設計周(zhou)期要(yao)求(qiu)(qiu)越來越短的(de)要(yao)求(qiu)(qiu),其(qi)特征是(shi)CI設計中的(de)正(zheng)功(gong)能(neng)(neng)(neng)(neng)模(mo)(mo)塊(kuai)(kuai)的(de)復(fu)(fu)(fu)用(yong)(yong)和組合。采用(yong)(yong)這(zhe)種(zhong)方(fang)法(fa)設計數字(zi)(zi)CI,數字(zi)(zi)CI包含了各種(zhong)正(zheng)模(mo)(mo)塊(kuai)(kuai)的(de)復(fu)(fu)(fu)用(yong)(yong),數字(zi)(zi)CI的(de)開(kai)(kai)發(fa)可分(fen)為模(mo)(mo)塊(kuai)(kuai)開(kai)(kai)發(fa)和系統集成(cheng)配合完成(cheng)。對正(zheng)復(fu)(fu)(fu)用(yong)(yong)技術關(guan)注(zhu)的(de)焦點是(shi),如何(he)進(jin)行系統功(gong)能(neng)(neng)(neng)(neng)的(de)結(jie)構劃分(fen),如何(he)定義片上總線進(jin)行模(mo)(mo)塊(kuai)(kuai)互連,應該選擇(ze)那些功(gong)能(neng)(neng)(neng)(neng)模(mo)(mo)塊(kuai)(kuai),在定義各個功(gong)能(neng)(neng)(neng)(neng)模(mo)(mo)塊(kuai)(kuai)時如何(he)考慮盡(jin)可能(neng)(neng)(neng)(neng)多地(di)利(li)用(yong)(yong)現有正(zheng)資源而不是(shi)重新開(kai)(kai)發(fa),在功(gong)能(neng)(neng)(neng)(neng)模(mo)(mo)塊(kuai)(kuai)設計時考慮怎樣(yang)定義才能(neng)(neng)(neng)(neng)有利(li)于(yu)以(yi)后的(de)正(zheng)復(fu)(fu)(fu)用(yong)(yong),如何(he)進(jin)行系統驗證等(deng)。
基于PI復用的(de)數字CI的(de)設計方(fang)法(fa),其主要特征是模塊的(de)功能(neng)組(zu)裝(zhuang)(zhuang)(zhuang),其技術關鍵在(zai)于如下三個方(fang)面:一是開發(fa)可復用的(de)正軟核、硬(ying)核;二是怎樣做(zuo)好IP復用,進行功能(neng)組(zu)裝(zhuang)(zhuang)(zhuang),以滿足(zu)目標CI的(de)需要;三是怎樣驗證完成功能(neng)組(zu)裝(zhuang)(zhuang)(zhuang)的(de)數字CI是否滿足(zu)規格定義的(de)功能(neng)和(he)時序。
二(er)、典型的數字(zi)IC開發(fa)流程
典型(xing)的(de)數字(zi)CI開發流程主要步(bu)驟包含如下24方面的(de)內容(rong):
(1)確(que)定IC規格并做好總體方案設計。
(2)RTL代碼(ma)編寫及準備(bei)etshtnehc代碼(ma)。
(3)對(dui)于包含存儲單元(yuan)的設計,在RTL代(dai)碼編寫(xie)中插入BIST(內建(jian)自我測試(shi))電路。
(4)功能仿真以驗證設(she)計的功能正確。
(5)完成設計(ji)綜(zong)合,生成門級網表。
(6)完成(cheng)DFT(可測試設(she)(she)計)設(she)(she)計。
(7)在(zai)綜(zong)合工具下完成模塊級的靜態時(shi)序分析及處理。
(8)形式驗證(zheng)。對比綜合網表(biao)實(shi)現(xian)的功能與(yu)TRL級(ji)描述是否一致(zhi)。
(9)對整個設計進行(xing)Pre一layout靜(jing)態時序分析。
(10)把(ba)綜合(he)時(shi)的時(shi)間約束傳遞(di)給版圖工具。
(11)采樣時序驅動的策略進行初始(shi)化(hua)nooprlna。內容包括單元分布,生成(cheng)時鐘樹
(12)把時鐘(zhong)樹(shu)送給(gei)綜(zong)合工具并插入到初始綜(zong)合網表。
(13)形(xing)式驗證。對(dui)比插入時(shi)鐘樹綜合(he)網(wang)表(biao)實現的(de)功能與初(chu)始綜合(he)網(wang)表(biao)是否(fou)一致。
(14)在步驟(11)準布線后提取估計(ji)的延遲(chi)信息。
(15)把步驟(zou)(14)提取出來的延(yan)遲信息反標給綜合(he)工(gong)具和靜(jing)態時序(xu)分析工(gong)具。
(16)靜態時序分析。利用準布線后提(ti)取出來的(de)估計延時信息。
(17)在(zai)綜合工具(ju)中實現(xian)現(xian)場時序(xu)優(you)化(可(ke)選項)。
(18)完成詳(xiang)細的布線工作。
(19)從(cong)完(wan)成了詳(xiang)細布線(xian)的設(she)計(ji)中提取詳(xiang)細的延(yan)時信息。
(20)把步(bu)驟(19)提(ti)取出來的延(yan)時信息反標給綜合工具和靜態時序分析工具。
(21)Post-layout靜態時序分析。
(22)在綜合工具中實現(xian)(xian)現(xian)(xian)場時序優化(可(ke)選(xuan)項)。
(23)Post一alyout網表(biao)功(gong)能仿真(可選(xuan)項)。
(24)物理驗(yan)證(zheng)后(hou)輸出(chu)設計(ji)版(ban)圖數據給芯片加(jia)工廠。
對(dui)于任何CI產(chan)品(pin)(pin)的(de)開(kai)發(fa)(fa),最初總是從市場獲得需求(qiu)的(de)信(xin)息或(huo)產(chan)品(pin)(pin)的(de)概念(nian),根據這(zhe)些概念(nian)需求(qiu),CI工(gong)程師再逐步(bu)完成(cheng)CI規格的(de)定義和(he)(he)總體(ti)(ti)方(fang)案(an)的(de)設(she)(she)(she)計(ji)。總體(ti)(ti)方(fang)案(an)定義了(le)芯片的(de)功能(neng)(neng)和(he)(he)模(mo)塊劃分,定義了(le)模(mo)塊功能(neng)(neng)和(he)(he)模(mo)塊之間的(de)時序等內容(rong)。在總體(ti)(ti)方(fang)案(an)經(jing)過(guo)充分討論或(huo)論證(zheng)(zheng)后(hou)開(kai)始CI產(chan)品(pin)(pin)的(de)開(kai)發(fa)(fa)。CI的(de)開(kai)發(fa)(fa)階段包(bao)含了(le)設(she)(she)(she)計(ji)輸入、功能(neng)(neng)仿真(zhen)、綜合、DFT(可(ke)測試設(she)(she)(she)計(ji))、形式驗證(zheng)(zheng)、靜(jing)態時序分析、布(bu)(bu)局(ju)布(bu)(bu)線(xian)等內容(rong)。而CI的(de)后(hou)端(duan)設(she)(she)(she)計(ji)包(bao)括布(bu)(bu)局(ju)、插入時鐘樹、布(bu)(bu)線(xian)和(he)(he)物(wu)理驗證(zheng)(zheng)等內容(rong),后(hou)端(duan)設(she)(she)(she)計(ji)一(yi)般能(neng)(neng)在軟(ruan)件中(zhong)自(zi)動完成(cheng),如(ru)SIE軟(ruan)件就能(neng)(neng)自(zi)動完成(cheng)布(bu)(bu)局(ju)布(bu)(bu)線(xian)。
三、IC開發過程介紹
IC開發過程包括設計輸(shu)入、功能仿真(zhen)、綜合(he)、可測試性設計DFT、形式驗證、靜(jing)態時序分析(xi)、布局、插入時鐘(zhong)樹、布線、物理驗證等內(nei)容(rong),下面分別進行詳細介紹。
設(she)計輸(shu)(shu)入(ru)(ru):一般(ban)(ban)包(bao)括圖(tu)形與文本輸(shu)(shu)入(ru)(ru)兩種(zhong)(zhong)格式(shi)。文本輸(shu)(shu)入(ru)(ru)包(bao)括采用(yong)verilog和(he)vHDL兩種(zhong)(zhong)硬件描述語言的(de)格式(shi),verliog語言支持多種(zhong)(zhong)不同(tong)層(ceng)次(ci)的(de)描述,采用(yong)硬件描述語言主要得益于采用(yong)綜合器來提(ti)高設(she)計效益;圖(tu)形輸(shu)(shu)入(ru)(ru)一般(ban)(ban)應(ying)該支持多層(ceng)次(ci)邏輯圖(tu)輸(shu)(shu)入(ru)(ru),主要應(ying)用(yong)在一些(xie)專門的(de)電路設(she)計中,但是圖(tu)形輸(shu)(shu)入(ru)(ru)耗時費力(li)且(qie)不方便復用(yong)。
功(gong)(gong)(gong)能(neng)仿真:功(gong)(gong)(gong)能(neng)仿真的(de)(de)目的(de)(de)是為了(le)驗證設計(ji)功(gong)(gong)(gong)能(neng)的(de)(de)正確性和完備性。搭建的(de)(de)測(ce)
試環境質(zhi)量(liang)和測試激勵的充分性決定了功能(neng)仿真的質(zhi)量(liang)和效(xiao)益,仿真工具也是比(bi)較多(duo),而且功能(neng)比(bi)較齊全。
綜(zong)合(he)(he):所謂綜(zong)合(he)(he),就是(shi)將設計的(de)(de)HDL描述轉化(hua)(hua)為門級網表(biao)的(de)(de)過(guo)程。綜(zong)合(he)(he)工具(ju)(也可稱為編(bian)譯器)根(gen)據時(shi)間約束(shu)等(deng)條件,完(wan)成可綜(zong)合(he)(he)的(de)(de)TRL描述到(dao)綜(zong)合(he)(he)庫單元之間的(de)(de)映射,得到(dao)一個門級網表(biao)等(deng);綜(zong)合(he)(he)工具(ju)可內嵌靜態時(shi)序(xu)分析(xi)工具(ju),可以根(gen)據綜(zong)合(he)(he)約束(shu)來完(wan)成門級網表(biao)的(de)(de)時(shi)序(xu)優(you)化(hua)(hua)和面(mian)積優(you)化(hua)(hua)。
可(ke)測試(shi)性設(she)計(ji)DFT:目前大多(duo)數CI設(she)計(ji)都引入可(ke)測試(shi)結構(gou)設(she)計(ji),一般(ban)在(zai)電(dian)(dian)路(lu)(lu)(lu)(lu)初(chu)步綜合后可(ke)進(jin)行DFT設(she)計(ji)。典型的(de)(de)(de)DFT電(dian)(dian)路(lu)(lu)(lu)(lu)包括存(cun)(cun)儲單元的(de)(de)(de)內建自測BIST電(dian)(dian)路(lu)(lu)(lu)(lu)、掃(sao)(sao)描鏈電(dian)(dian)路(lu)(lu)(lu)(lu)和邊界(jie)掃(sao)(sao)描電(dian)(dian)路(lu)(lu)(lu)(lu)。BIST電(dian)(dian)路(lu)(lu)(lu)(lu)是為了(le)測試(shi)而設(she)計(ji)的(de)(de)(de)專門電(dian)(dian)路(lu)(lu)(lu)(lu),它(ta)可(ke)以(yi)來自半導體生(sheng)產廠商,也可(ke)以(yi)用(yong)(yong)商用(yong)(yong)的(de)(de)(de)工具(ju)自動產生(sheng)。掃(sao)(sao)描鏈電(dian)(dian)路(lu)(lu)(lu)(lu)一般(ban)是用(yong)(yong)可(ke)掃(sao)(sao)描的(de)(de)(de)寄存(cun)(cun)器代替一般(ban)的(de)(de)(de)寄存(cun)(cun)器,由于帶掃(sao)(sao)描功能(neng)的(de)(de)(de)寄存(cun)(cun)器的(de)(de)(de)延(yan)時(shi)與一般(ban)的(de)(de)(de)寄存(cun)(cun)器并(bing)不一致,所(suo)以(yi)在(zai)綜合工具(ju)進(jin)行時(shi)序分析時(shi)最(zui)好就能(neng)考慮(lv)這(zhe)種“附加”的(de)(de)(de)延(yan)遲。邊界(jie)掃(sao)(sao)描電(dian)(dian)路(lu)(lu)(lu)(lu)主(zhu)要用(yong)(yong)來對(dui)電(dian)(dian)路(lu)(lu)(lu)(lu)板上的(de)(de)(de)連接進(jin)行測試(shi),也可(ke)以(yi)把內部(bu)掃(sao)(sao)描鏈的(de)(de)(de)結果從邊界(jie)掃(sao)(sao)描電(dian)(dian)路(lu)(lu)(lu)(lu)引入。
形式驗證(zheng)是(shi)一(yi)種靜(jing)態的驗證(zheng)手段,它根據(ju)電路結構(gou)靜(jing)態地判斷兩個(ge)設計在(zai)功能上是(shi)否等價(jia),從而判斷一(yi)個(ge)設計在(zai)修(xiu)改前和修(xiu)改后其功能是(shi)否保持一(yi)致。
靜態時序(xu)分析:靜態時序(xu)分析是CI開發流程中(zhong)非常(chang)重要(yao)的(de)一(yi)環。通過(guo)靜態時序(xu)分析,一(yi)方面可以(yi)了解到關(guan)(guan)鍵路(lu)徑的(de)信息(xi),分析關(guan)(guan)鍵路(lu)徑的(de)時序(xu);另(ling)一(yi)方面,還可以(yi)了解到電路(lu)節(jie)點的(de)扇出情況和容性負載的(de)大小。
布局:
布(bu)局被認(ren)為是(shi)整(zheng)個后端流(liu)程最關鍵(jian)的(de)(de)(de)(de)(de)一步,布(bu)局首先是(shi)在(zai)滿足電路時序要求的(de)(de)(de)(de)(de)條件下得到盡可能小的(de)(de)(de)(de)(de)實(shi)現面(mian)積,其次布(bu)局也(ye)是(shi)把(ba)整(zheng)個設計劃(hua)分成多個便于控制的(de)(de)(de)(de)(de)模(mo)(mo)塊(kuai)。布(bu)局的(de)(de)(de)(de)(de)內(nei)容包括把(ba)單(dan)元或宏模(mo)(mo)塊(kuai)擺放到合(he)適的(de)(de)(de)(de)(de)位置,其目的(de)(de)(de)(de)(de)是(shi)為了最大限(xian)度地(di)減(jian)小連(lian)線的(de)(de)(de)(de)(de)RC延遲和布(bu)線的(de)(de)(de)(de)(de)寄生電容效應,此(ci)外(wai),良好的(de)(de)(de)(de)(de)布(bu)局還可以減(jian)小芯片面(mian)積和降低布(bu)線時出現擁(yong)賽現象的(de)(de)(de)(de)(de)幾(ji)率(lv)。
插入時(shi)(shi)(shi)(shi)(shi)(shi)鐘(zhong)樹(shu)(shu):時(shi)(shi)(shi)(shi)(shi)(shi)鐘(zhong)樹(shu)(shu)又稱(cheng)時(shi)(shi)(shi)(shi)(shi)(shi)鐘(zhong)網(wang)絡,是指位于時(shi)(shi)(shi)(shi)(shi)(shi)鐘(zhong)源和它所有扇出的(de)(de)(de)寄存器時(shi)(shi)(shi)(shi)(shi)(shi)鐘(zhong)輸入端之間的(de)(de)(de)BUFFER驅動邏輯,時(shi)(shi)(shi)(shi)(shi)(shi)鐘(zhong)樹(shu)(shu)通常(chang)根據物理布局(ju)情況生成。時(shi)(shi)(shi)(shi)(shi)(shi)鐘(zhong)樹(shu)(shu)的(de)(de)(de)插入關鍵在于如(ru)何(he)控制時(shi)(shi)(shi)(shi)(shi)(shi)鐘(zhong)信(xin)號延時(shi)(shi)(shi)(shi)(shi)(shi)和時(shi)(shi)(shi)(shi)(shi)(shi)鐘(zhong)信(xin)號扭(niu)曲(qu),因為較(jiao)大的(de)(de)(de)延遲對解決電(dian)路的(de)(de)(de)保持時(shi)(shi)(shi)(shi)(shi)(shi)間問題不利,較(jiao)大的(de)(de)(de)時(shi)(shi)(shi)(shi)(shi)(shi)鐘(zhong)扭(niu)曲(qu)往往增加寄存器鎖存不穩定數(shu)據的(de)(de)(de)幾(ji)率。但是時(shi)(shi)(shi)(shi)(shi)(shi)鐘(zhong)信(xin)號延遲和時(shi)(shi)(shi)(shi)(shi)(shi)鐘(zhong)信(xin)號扭(niu)曲(qu)問題是對矛盾,如(ru)果(guo)設計對兩者都要(yao)(yao)求比較(jiao)嚴(yan)格的(de)(de)(de)話,時(shi)(shi)(shi)(shi)(shi)(shi)鐘(zhong)樹(shu)(shu)的(de)(de)(de)插入往往需要(yao)(yao)考慮比較(jiao)多。
布(bu)(bu)(bu)(bu)線(xian):布(bu)(bu)(bu)(bu)線(xian)分(fen)(fen)為(wei)兩(liang)個(ge)階(jie)段(duan)完成:預(yu)布(bu)(bu)(bu)(bu)線(xian)和詳細(xi)布(bu)(bu)(bu)(bu)線(xian),預(yu)布(bu)(bu)(bu)(bu)線(xian)時(shi)版(ban)圖(tu)工具把整個(ge)芯片劃(hua)分(fen)(fen)為(wei)多(duo)個(ge)較(jiao)小的區(qu)域,布(bu)(bu)(bu)(bu)線(xian)器只是估算各個(ge)小區(qu)域的信號(hao)之(zhi)間(jian)最短的連(lian)(lian)(lian)線(xian)長度,并以此來計算連(lian)(lian)(lian)線(xian)延遲,這個(ge)階(jie)段(duan)并沒(mei)有生(sheng)成真(zhen)正(zheng)(zheng)的版(ban)圖(tu)連(lian)(lian)(lian)線(xian)。詳細(xi)布(bu)(bu)(bu)(bu)線(xian)階(jie)段(duan),布(bu)(bu)(bu)(bu)線(xian)器根據預(yu)布(bu)(bu)(bu)(bu)線(xian)的結果和最新的時(shi)序約(yue)束條件生(sheng)成真(zhen)正(zheng)(zheng)的版(ban)圖(tu)連(lian)(lian)(lian)線(xian)。但是如果預(yu)布(bu)(bu)(bu)(bu)線(xian)的時(shi)間(jian)比布(bu)(bu)(bu)(bu)局(ju)運行的時(shi)間(jian)還要(yao)長,這就意味著布(bu)(bu)(bu)(bu)局(ju)的結果是失敗的,這時(shi)候就需要(yao)重新布(bu)(bu)(bu)(bu)局(ju)以減少布(bu)(bu)(bu)(bu)線(xian)的擁(yong)賽。公務員之(zhi)家:
布(bu)局布(bu)線(xian)(xian)完成之后,EDA工具根據(ju)布(bu)局布(bu)線(xian)(xian)的(de)結(jie)果產生電路(lu)網表,產生真正(zheng)的(de)互連線(xian)(xian)延(yan)遲(chi)數據(ju),這(zhe)樣以前綜合工具DC根據(ju)線(xian)(xian)負載(zai)模型(xing)計算出來的(de)延(yan)遲(chi)數據(ju)與這(zhe)些互連線(xian)(xian)延(yan)遲(chi)數據(ju)相比是不(bu)夠(gou)精確的(de),因此把這(zhe)些版(ban)圖提(ti)取出來的(de)互連線(xian)(xian)延(yan)遲(chi)數據(ju)反標(biao)給DC重新進行綜合優(you)化,如果生成的(de)網表滿足了(le)時序(xu)、面(mian)積及功耗要求后就生成電路(lu)版(ban)圖,電路(lu)版(ban)圖經過驗證就可以制成芯片。
參考文獻:
[1]王金明,揚吉斌.數字(zi)系統設(she)計與verligoHDL[M].北(bei)京:電子(zi)工業(ye)出版社,2002
[2]牛風舉,劉元成等.基于PI復用的數字(zi)CI設計(ji)技(ji)術[M].北京(jing):電子(zi)工(gong)業出版社(she),2003