數字IC設計策略論文

時間:2022-08-05 05:47:00

導語:數字IC設計策略論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

數字IC設計策略論文

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

關鍵詞:數字系統;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