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