博文谷

位置:首頁 > 實用範文 > 論文

數字IC設計技術論文

論文1.34W

摘要:隨着數字電路設計的規模以及複雜程度的提高,對其進行設計所花費的時間和費用也隨之而提高。根據近年來的統計,對數字系統進行設計所花的時間佔到了整個研發過程的60%以上。所以減少設計所花費的實踐成本是當前數字電路設計研發的關鍵,這就必須在設計的方法上有所突破。

數字IC設計技術論文

關鍵詞:數字系統;IC;設計

一、數字IC設計方法學

在目前CI設計中,基於時序驅動的數字CI設計方法、基於正複用的數字CI設計方法、基於集成平臺進行系統級數字CI設計方法是當今數字CI設計比較流行的3種主要設計方法,其中基於正複用的數字CI設計方法是有效提高CI設計的關鍵技術。它能解決當今芯片設計業所面臨的一系列挑戰:縮短設計週期,提供性能更好、速度更快、成本更加低廉的數字IC芯片。

基於時序驅動的設計方法,無論是HDL描述還是原理圖設計,特徵都在於以時序優化爲目標的着眼於門級電路結構設計,用全新的電路來實現系統功能;這種方法主要適用於完成小規模ASIC的設計。對於規模較大的系統級電路,即使團隊合作,要想始終從門級結構去實現優化設計,也很難保證設計週期短、上市時間快的要求。

基於PI複用的數字CI設計方法,可以滿足芯片規模要求越來越大,設計週期要求越來越短的要求,其特徵是CI設計中的正功能模組的複用和組合。採用這種方法設計數字CI,數字CI包含了各種正模組的複用,數字CI的開發可分爲模組開發和系統集成配合完成。對正複用技術關注的焦點是,如何進行系統功能的結構劃分,如何定義片上總線進行模組互連,應該選擇那些功能模組,在定義各個功能模組時如何考慮儘可能多地利用現有正資源而不是重新開發,在功能模組設計時考慮怎樣定義纔能有利於以後的正複用,如何進行系統驗證等。

基於PI複用的數字CI的設計方法,其主要特徵是模組的功能組裝,其技術關鍵在於如下三個方面:一是開發可複用的正軟核、硬核;二是怎樣做好IP複用,進行功能組裝,以滿足目標CI的需要;三是怎樣驗證完成功能組裝的數字CI是否滿足規格定義的功能和時序。

二、典型的數字IC開發流程

典型的數字CI開發流程主要步驟包含如下24方面的內容:

(1)確定IC規格並做好總體方案設計。

(2)RTL代碼編寫及準備etshtnehc代碼。

(3)對於包含存儲單元的設計,在RTL代碼編寫中插入BIST(內建自我測試)電路。

(4)功能仿真以驗證設計的功能正確。

(5)完成設計綜合,生成門級網表。

(6)完成DFT(可測試設計)設計。

(7)在綜合工具下完成模組級的靜態時序分析及處理。

(8)形式驗證。對比綜合網表實現的功能與TRL級描述是否一致。

(9)對整個設計進行Pre一layout靜態時序分析。

(10)把綜合時的時間約束傳遞給版圖工具。

(11)採樣時序驅動的策略進行初始化nooprlna。內容包括單元分佈,生成時鐘樹

(12)把時鐘樹送給綜合工具並插入到初始綜合網表。

(13)形式驗證。對比插入時鐘樹綜合網表實現的功能與初始綜合網表是否一致。

(14)在步驟(11)準佈線後提取估計的延遲資訊。

(15)把步驟(14)提取出來的延遲資訊反標給綜合工具和靜態時序分析工具。

(16)靜態時序分析。利用準佈線後提取出來的估計延時資訊。

(17)在綜合工具中實現現場時序優化(可選項)。

(18)完成詳細的佈線工作。

(19)從完成了詳細布線的設計中提取詳細的延時資訊。

(20)把步驟(19)提取出來的延時資訊反標給綜合工具和靜態時序分析工具。

(21)Post-layout靜態時序分析。

(22)在綜合工具中實現現場時序優化(可選項)。

(23)Post一alyout網表功能仿真(可選項)。

(24)物理驗證後輸出設計版圖數據給芯片加工廠。

對於任何CI產品的開發,最初總是從市場獲得需求的資訊或產品的概念,根據這些概念需求,CI工程師再逐步完成CI規格的定義和總體方案的設計。總體方案定義了芯片的功能和模組劃分,定義了模組功能和模組之間的時序等內容。在總體方案經過充分討論或論證後開始CI產品的開發。CI的開發階段包含了設計輸入、功能仿真、綜合、DFT(可測試設計)、形式驗證、靜態時序分析、佈局佈線等內容。而CI的後端設計包括佈局、插入時鐘樹、佈線和物理驗證等內容,後端設計一般能在軟件中自動完成,如SIE軟件就能自動完成佈局佈線。

三、IC開發過程介紹

IC開發過程包括設計輸入、功能仿真、綜合、可測試性設計DFT、形式驗證、靜態時序分析、佈局、插入時鐘樹、佈線、物理驗證等內容,下面分別進行詳細介紹。

設計輸入:一般包括圖形與文字輸入兩種格式。文字輸入包括採用verilog和vHDL兩種硬件描述語言的格式,verliog語言支援多種不同層次的描述,採用硬件描述語言主要得益於採用綜合器來提高設計效益;圖形輸入一般應該支援多層次邏輯圖輸入,主要應用在一些專門的電路設計中,但是圖形輸入耗時費力且不方便複用。

功能仿真:功能仿真的目的是爲了驗證設計功能的正確性和完備性。搭建的測

試環境質量和測試激勵的充分性決定了功能仿真的質量和效益,仿真工具也是比較多,而且功能比較齊全。

綜合:所謂綜合,就是將設計的HDL描述轉化爲門級網表的過程。綜合工具(也可稱爲編譯器)根據時間約束等條件,完成可綜合的TRL描述到綜合庫單元之間的映射,得到一個門級網表等;綜合工具可內嵌靜態時序分析工具,可以根據綜合約束來完成門級網表的時序優化和麪積優化。

可測試性設計DFT:目前大多數CI設計都引入可測試結構設計,一般在電路初步綜合後可進行DFT設計。典型的DFT電路包括存儲單元的內建自測BIST電路、掃描鏈電路和邊界掃描電路。BIST電路是爲了測試而設計的專門電路,它可以來自半導體生產廠商,也可以用商用的工具自動產生。掃描鏈電路一般是用可掃描的寄存器代替一般的寄存器,由於帶掃描功能的寄存器的延時與一般的寄存器並不一致,所以在綜合工具進行時序分析時最好就能考慮這種“附加”的延遲。邊界掃描電路主要用來對電路板上的連接進行測試,也可以把內部掃描鏈的結果從邊界掃描電路引入。

形式驗證是一種靜態的驗證手段,它根據電路結構靜態地判斷兩個設計在功能上是否等價,從而判斷一個設計在修改前和修改後其功能是否保持一致。

靜態時序分析:靜態時序分析是CI開發流程中非常重要的一環。透過靜態時序分析,一方面可以瞭解到關鍵路徑的資訊,分析關鍵路徑的時序;另一方面,還可以瞭解到電路節點的扇出情況和容性負載的大小。

佈局:

佈局被認爲是整個後端流程最關鍵的一步,佈局首先是在滿足電路時序要求的條件下得到儘可能小的實現面積,其次佈局也是把整個設計劃分成多個便於控制的模組。佈局的`內容包括把單元或宏模組擺放到合適的位置,其目的是爲了最大限度地減小連線的RC延遲和佈線的寄生電容效應,此外,良好的佈局還可以減小芯片面積和降低佈線時出現擁賽現象的機率。

插入時鐘樹:時鐘樹又稱時鐘網絡,是指位於時鐘源和它所有扇出的寄存器時鐘輸入端之間的BUFFER驅動邏輯,時鐘樹通常根據物理佈局情況生成。時鐘樹的插入關鍵在於如何控制時鐘信號延時和時鐘信號扭曲,因爲較大的延遲對解決電路的保持時間問題不利,較大的時鐘扭曲往往增加寄存器鎖存不穩定數據的機率。但是時鐘信號延遲和時鐘信號扭曲問題是對矛盾,如果設計對兩者都要求比較嚴格的話,時鐘樹的插入往往需要考慮比較多。

佈線:佈線分爲兩個階段完成:預佈線和詳細布線,預佈線時版圖工具把整個芯片劃分爲多個較小的區域,佈線器只是估算各個小區域的信號之間最短的連線長度,並以此來計算連線延遲,這個階段並沒有生成真正的版圖連線。詳細布線階段,佈線器根據預佈線的結果和最新的時序約束條件生成真正的版圖連線。但是如果預佈線的時間比佈局執行的時間還要長,這就意味着佈局的結果是失敗的,這時候就需要重新佈局以減少佈線的擁賽。:

佈局佈線完成之後,EDA工具根據佈局佈線的結果產生電路網表,產生真正的互連線延遲數據,這樣以前綜合工具DC根據線負載模型計算出來的延遲數據與這些互連線延遲數據相比是不夠精確的,因此把這些版圖提取出來的互連線延遲數據反標給DC重新進行綜合優化,如果生成的網表滿足了時序、面積及功耗要求後就生成電路版圖,電路版圖經過驗證就可以製成芯片。

參考文獻:

[1]王金明,揚吉斌.數字系統設計與verligoHDL[M].北京:電子工業出版社,2002

[2]牛風舉,劉元成等.基於PI複用的數字CI設計技術[M].北京:電子工業出版社,2003

標籤:技術 論文 ic