先進庫格式(ALF)是一種提供了庫元件、技術規(guī)則和互連模型的建模語言,不同抽象等級的ALF模型能被EDA同時用于IC規(guī)劃、原型制作、實現、分析、優(yōu)化和驗證等應用中。本文在介紹ALF概念的基礎上,詳細討論了使用ALF時庫元件與IC的設計流程,同時還介紹了IC分層實現與原型制作的方法。
在IC設計中,常常會發(fā)現半導體性能與得到的設計結果之間存在差距,這些差距最終要靠新一代EDA工具來彌合。一般說來,要想消除差距就必須將以前孤立的設計任務集成到一起,或者將以前零散的設計方案進行統(tǒng)一。
例如過去在設計和測試之間就存在隔閡,現在用可測性設計的概念可加以解決,在綜合和布局之間的矛盾最近也有了物理綜合概念方案,下一個計劃目標是針對設計和掩膜生成之間的問題,希望能用可制造性設計的概念解決。
然而在庫的創(chuàng)建和具體設計之間依然還存在矛盾,就像數據總在前后端設計之間傳來傳去類似,帶有預定義建模概念的庫也是在供應商和用戶之間倒來倒去。
庫元件由供應商進行定義,建模概念則是EDA應用所要求的,設計人員沒有選擇,有什么庫元件就只能用什么,不可能去深入理解更不用說修改了,庫的內容可能會超出所選EDA工具處理的范圍。隨著設計復雜性、性能和費用不斷增加,預定義庫的概念也很成問題,例如在設計項目開始時,用戶可能會在用于某種特定技術的庫實際出現以前,就希望能了解用該技術實現設計是否有意義。
在設計實現過程中,用戶需要創(chuàng)建一些模塊作為可重復使用的庫元件,結束時如果可用庫元件(如具有正確驅動能力的單元)不多,用戶將只需做很少的布局優(yōu)化就能滿足性能目標。在設計過程中任何時候,用戶都可能要按不同程度的抽象和精度對時序、功率、電氣性能、擁塞、路由性能及其它設計特性進行評估。
Accellera ALF是一個新完成的IEEE標準,其設計可使用戶對庫及設計流程中的應用有更強的控制和影響能力。ALF不像傳統(tǒng)庫格式那樣僅僅是一個數據信息庫,它是一種智能型自擴展建模語言,可對庫元素的功能、電氣和物理模型,包括技術規(guī)則、單元、構建模塊和互連等提供語義支持。
ALF支持完整的RTL到功能、ASIC和SoC技術庫電氣性能與布局視圖的GDSII描述,適合從單元到復雜的分層設計模塊。ALF是一個經生產驗證的標準,得到先進半導體供應商和用于0.13μm及更小工藝技術的下一代EDA工具的支持。
ALF的抽象范圍可用于行為、RTL、門級和布局,它不是憑空開發(fā)的,而是現有庫格式的超集,很容易從現有格式轉換過來。ALF的結構原理非常簡單很容易掌握,它主要關注內容而不是格式細節(jié)和各種限制。
從應用的觀點看,語言元素可和建模域聯(lián)系起來,它可以是功能域、電氣域或物理域。但ALF描述功能主要來自與域無關的語言元素,如模板(用于重復使用庫描述)和算術模型(用于數學描述量的計算)。
庫元件創(chuàng)建和描述
ALF可用來指定一個庫元素如單元所需的功能和描述,單元規(guī)格包括單元名稱和終端(即引腳)與單元所執(zhí)行功能的形式描述,形式描述可以在VHDL或Verilog等語言中生成硬件描述語言(HDL)仿真模型。
可生成多種HDL模型用于不同的目的,這里的不同根據用戶對模型風格的愛好而不是由單元功能來決定。例如某個模型可以用一種粗略的方式處理未知邏輯狀態(tài),以便快速仿真,而另一個模型則可用非常具體的方式處理未知邏輯狀態(tài),這樣仿真就要慢一些,但更精確。ALF模型可作為公共參考,用于所有這些HDL模型。
單元的物理布局以GDSII格式表示,SPICE格式的晶體管級網表可從物理層中提取,這樣的晶體管網表中包括了寄生電氣分量?;蛘咴O計人員也可用手工或EDA工具創(chuàng)建晶體管網表,將ALF描述的功能規(guī)范映射到晶體管網表中。這種網表的精度要低于從布局中提取,但對制作原型庫還是有用的。
晶體管網表和各鐘HDL模型都能和ALF描述的功能規(guī)范進行比較,更重要的是,晶體管網表還能用來描述單元的性能,以便通過運行SPICE仿真來測量時序、功率、噪聲和其它電氣特性。
SPICE仿真由描述工具進行控制,該工具從ALF表示的規(guī)范中推斷出相關信息,只要這個信息與單元本身的功能相關,例如需要描述的時序曲線可在ALF中表示,也可從ALF中推出。描述工具的輸出是庫單元模型,帶有特性數據,同時也在ALF中表示,另外也可用庫編輯器將所有庫單元模型組合成一個二進制文件,作為EDA應用工具的數據準備。
IC實現與性能分析
ALF庫可用在以單元作為構建模塊的IC實現流程中(圖1)。在該流程里,RTL設計描述通過RTL綜合工具轉換成網表,網表含有單元示例,這里稱為門而不是晶體管,它使用ALF庫尋找將RTL描述映射到含有單元示例網表所需的庫元件。ALF單元模型不會描述單元中的晶體管。
等價檢查工具將RTL設計描述與網表進行比較,以確定RTL到網表的轉換是否正確,它可用與RTL綜合工具相同的ALF庫。同樣,HDL模擬工具(圖1中沒有顯示)也能用來確定RTL設計描述和網表行為在響應給定激勵時是否與預期的一樣,該模擬工具可使用ALF模型或從ALF模型提取出來的HDL模型。
圖1的流程已經進行了簡化,像數據通路結構創(chuàng)建、與可測性設計(DFT)有關的結構創(chuàng)建以及特殊掃描插入等特殊網表轉換沒有顯示在圖中,ALF單元模型含有與這些應用有關的信息。
單元布放和內部互連布線過程簡稱為布局,電源或時鐘網絡結構之類特殊布局沒有在圖1中明確表示。ALF單元模型含有抽象物理信息,像單元大小和形狀、單元引腳和路由障礙位置、大小和形狀等等,這些都與布局有關。
同樣,與單元內布線圖有關的抽象信息也能在ALF中表示,包括特定層布線區(qū)域、邊界和連接特性,這些信息與制造能力有關,像天線規(guī)則和金屬密度檢查之類。除了單元模型,布線規(guī)則也在ALF中表示,這部分包括布線段寬度和長度的限制、布線段之間的距離以及通孔之間的距離等。
已實現的IC不僅要按功能和布局進行校正,還必須滿足電氣性能條件制約,主要是時序方面,其它電氣性能如功耗、信號完整性和可靠性也變得越來越重要,信號完整性指信號波形的干凈程度、對串擾噪聲的抵抗性和電壓降。
可靠性是指在電遷移應力、熱電效應和熱不穩(wěn)定性存在情況下的長期運行穩(wěn)定性。ALF單元模型支持用于時序、功率、信號完整性和可靠性的數據描述,如可靠性數據可描述為對電壓、電流或工作頻率的限制條件。
ALF的一個特殊之處是這些數據在激勵中的表達方式,它通過矢量表達式進行表述,數據可用這種特性與特定環(huán)境的運行條件聯(lián)系起來,以完成更為精確的性能分析。
IC實現過程每一步都要進行性能分析,RTL綜合、單元布放和互連布線應用已經包含了靜態(tài)時序分析(STA)和其它性能分析功能。同樣,在每步完成之后,還可進行獨立的性能分析,以便更精確地測量得到的性能。
電氣性能不僅取決于單元間的相互作用,還與連線所引起的寄生現象有關。網表生成以后,寄生參數可以用線負載模型(WLM)進行統(tǒng)計預估。布局后通過預先估算布放單元引腳間特定的布線長度能精確預計到寄生參數,布線完成后,實際寄生參數利用標準寄生參數交換格式(SPEF)在文件中進行提取和表達。
ALF互連模型能夠描述統(tǒng)計的WLM,它是一個根據估計的布線或互連分析模型進行寄生參數評估的規(guī)則?;ミB分析模型可以指定寄生現象所需間隔,以及根據寄生參數示例和驅動器單元電氣模型來計算時序、噪聲、電壓和電流。特定驅動器單元電氣模型所用數據在ALF中表現為單元特性數據的一部分。
IC分層實現與原型生成
以單元作為構建模塊的IC實現流程受到單元和網絡等目標數目的制約,可由設計人員和應用流程進行處理。對于超過目標限制但還可以處理的IC,可以使用下面方法,這些方法也可組合使用。
* 自底向上設計:首先由單元創(chuàng)建較大的構建模塊,然后使用這些模塊來實現IC。
* 自頂向下設計:首先將設計分成子設計,實現子設計作為模塊,然后將這些模塊組裝起來。
* 原型制作:首先為整個設計做一個簡化所謂的虛擬實現,然后將虛擬實現分割為不同的模塊,使用虛擬實現的結果作為每個模塊實際實現的限制條件,最后再把各模塊組裝起來。
所有這些方法的共同點是創(chuàng)建模塊,以減少應用面對的對象數量,模塊創(chuàng)建流程見圖2。
模塊可用基本IC實現流程來創(chuàng)建(見圖2),可以再使用的模塊一般稱為IP。對“硬”模塊來說,實現流程主要的輸出是帶布局布線的門級網表,保存下來后最終轉換為物理布線圖,而“軟”模塊只有設計主要輸出即RTL設計表述被保存下來。ce="12" style="zoom: 1" />
設計流程輸出只用于模塊描述,即創(chuàng)建用于模塊的抽象模型,模塊描述包括了在特性描述和接下來的抽象中反復進行的性能分析。抽象含有減少物理實現數據以及性能分析數據和特定模型的關系方面的內容,模型規(guī)范和模型本身兩者都能用ALF進行表述。
流程的變量包括IC部分實現,如只做RTL綜合和布放而沒有布線,這特別適用于不保留實現數據的軟模塊。不保留模塊實現數據的概念是通過之后在其它模塊上下文中完成,而不是在前端單獨實現,這樣可獲得更好的整體性能效果。
根據模塊是用作硬模塊還是軟模塊,ALF模型能表述不同等級的抽象。用作硬模塊的ALF模型具有和單元ALF模型相同的特性,此外,網表和表述實現流程輸出的寄生參數可部分保留在ALF模型中,特別是在模塊邊界處。這樣就能在一個IC實現的上下文中對相鄰模塊之間的電氣相互作用進行精確分析。另一方面,用于軟模塊的ALF模型可以表述一個統(tǒng)計范圍,或者描述數據的上下邊界,而不是“硬”的特性數據,這是因為實際模塊實現具有一定程度可變性,此外統(tǒng)計得出的WLM也能裝在模塊模型中。
ALF支持用參數表示模塊特定建模特性,即可用各種物理形狀和大小以及可變位寬與特性實現的模塊,ALF里的組、模板、靜態(tài)和動態(tài)模板等概念都能這樣用。
不管是硬模塊還是軟模塊,創(chuàng)建IC現在可以用模塊抽象模型作為庫元件而不是單元。用類似方法,由于單元ALF模型不能反映晶體管級實現的細節(jié),所以模塊的ALF模型無法揭示門級實現的細節(jié)。然而模塊ALF模型依然能提供足夠的信息用于執(zhí)行或開發(fā)IC實現應用,還能分析性能以及在邏輯與物理設計方面的兼容性。IC設計是在特定限制條件下進行的,環(huán)境限制包括封裝特性、PCB、工藝范圍如電壓及溫度(PVT)條件等,其它條件屬于通用可應用物理設計規(guī)則,如可用布線層、保留用于電源的布線數和在芯片邊緣與中心可用于I/O引腳的位置等。
原型制作可用來評估設計能否在這些條件下實現,ALF中的電氣特性數據如時序、功率、噪聲、物理與電氣規(guī)則、寄生參數評估模型等均能表達為環(huán)境條件的數學方程式。圖3顯示了IC原型制作和層次實現的流程,其中包含了ALF模型不同的抽象級。
設計規(guī)劃和原型制作使用模塊預定義模型作為庫元件,稱為“庫模塊模型”。設計被分割成子設計,在模塊創(chuàng)建過程中,將模塊實現和特性描述組合用于每個子設計,用于每個模塊的可應用庫元件就是單元。
模塊創(chuàng)建以后輸出的是子設計特性模型,稱為“設計模塊模型”。設計模塊模型可反復進行設計規(guī)劃,結果可能需要對設計進行細化和再劃分。按子設計限制條件對每個模塊進行評估后,再按通用設計限制對虛擬組裝模塊作評估,如果評估滿意,模塊實現的結果即每個模塊帶布局和布線的網表將被實際組裝形成IC。
IC設計可以使用單元、硬模塊加軟模塊、固定規(guī)范模塊以及參數化模塊等各種組合作為庫元件,有些庫元件可獨立于設計使用,而另外一些則要在設計中創(chuàng)建,只能用于特定的設計。軟模塊抽象模型可和用于硬模塊的更詳細的模型相連,模塊實現過程中,抽象模型也可用更詳細的模型來替代,整個流程都要使用技術規(guī)則和互連模型。