<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > IC設(shè)計(jì)中Accellera先進(jìn)庫(kù)格式語(yǔ)言與EDA工具的結(jié)合

          IC設(shè)計(jì)中Accellera先進(jìn)庫(kù)格式語(yǔ)言與EDA工具的結(jié)合

          作者: 時(shí)間:2010-12-23 來源:網(wǎng)絡(luò) 收藏

          單元布放和內(nèi)部互連布線過程簡(jiǎn)稱為布局,電源或時(shí)鐘網(wǎng)絡(luò)結(jié)構(gòu)之類特殊布局沒有在圖1中明確表示。ALF單元模型含有抽象物理信息,像單元大小和形狀、單元引腳和路由障礙位置、大小和形狀等等,這些都與布局有關(guān)。

          同樣,與單元內(nèi)布線圖有關(guān)的抽象信息也能在ALF中表示,包括特定層布線區(qū)域、邊界和連接特性,這些信息與制造能力有關(guān),像天線規(guī)則和金屬密度檢查之類。除了單元模型,布線規(guī)則也在ALF中表示,這部分包括布線段寬度和長(zhǎng)度的限制、布線段之間的距離以及通孔之間的距離等。

          已實(shí)現(xiàn)的IC不僅要按功能和布局進(jìn)行校正,還必須滿足電氣性能條件制約,主要是時(shí)序方面,其它電氣性能如功耗、信號(hào)完整性和可靠性也變得越來越重要,信號(hào)完整性指信號(hào)波形的干凈程度、對(duì)串?dāng)_噪聲的抵抗性和電壓降。圖3:模塊的創(chuàng)建流程。

          可靠性是指在電遷移應(yīng)力、熱電效應(yīng)和熱不穩(wěn)定性存在情況下的長(zhǎng)期運(yùn)行穩(wěn)定性。ALF單元模型支持用于時(shí)序、功率、信號(hào)完整性和可靠性的數(shù)據(jù)描述,如可靠性數(shù)據(jù)可描述為對(duì)電壓、電流或工作頻率的限制條件。

          ALF的一個(gè)特殊之處是這些數(shù)據(jù)在激勵(lì)中的表達(dá)方式,它通過矢量表達(dá)式進(jìn)行表述,數(shù)據(jù)可用這種特性與特定環(huán)境的運(yùn)行條件聯(lián)系起來,以完成更為精確的性能分析。

          IC實(shí)現(xiàn)過程每一步都要進(jìn)行性能分析,RTL綜合、單元布放和互連布線應(yīng)用已經(jīng)包含了靜態(tài)時(shí)序分析(STA)和其它性能分析功能。同樣,在每步完成之后,還可進(jìn)行獨(dú)立的性能分析,以便更精確地測(cè)量得到的性能。

          電氣性能不僅取決于單元間的相互作用,還與連線所引起的寄生現(xiàn)象有關(guān)。網(wǎng)表生成以后,寄生參數(shù)可以用線負(fù)載模型(WLM)進(jìn)行統(tǒng)計(jì)預(yù)估。布局后通過預(yù)先估算布放單元引腳間特定的布線長(zhǎng)度能精確預(yù)計(jì)到寄生參數(shù),布線完成后,實(shí)際寄生參數(shù)利用標(biāo)準(zhǔn)寄生參數(shù)交換格式(SPEF)在文件中進(jìn)行提取和表達(dá)。

          ALF互連模型能夠描述統(tǒng)計(jì)的WLM,它是一個(gè)根據(jù)估計(jì)的布線或互連分析模型進(jìn)行寄生參數(shù)評(píng)估的規(guī)則?;ミB分析模型可以指定寄生現(xiàn)象所需間隔,以及根據(jù)寄生參數(shù)示例和驅(qū)動(dòng)器單元電氣模型來計(jì)算時(shí)序、噪聲、電壓和電流。特定驅(qū)動(dòng)器單元電氣模型所用數(shù)據(jù)在ALF中表現(xiàn)為單元特性數(shù)據(jù)的一部分。

          IC分層實(shí)現(xiàn)與原型生成

          以單元作為構(gòu)建模塊的IC實(shí)現(xiàn)流程受到單元和網(wǎng)絡(luò)等目標(biāo)數(shù)目的制約,可由設(shè)計(jì)人員和應(yīng)用流程進(jìn)行處理。對(duì)于超過目標(biāo)限制但還可以處理的IC,可以使用下面方法,這些方法也可組合使用。


          * 自底向上設(shè)計(jì):首先由單元?jiǎng)?chuàng)建較大的構(gòu)建模塊,然后使用這些模塊來實(shí)現(xiàn)IC。


          * 自頂向下設(shè)計(jì):首先將設(shè)計(jì)分成子設(shè)計(jì),實(shí)現(xiàn)子設(shè)計(jì)作為模塊,然后將這些模塊組裝起來。


          * 原型制作:首先為整個(gè)設(shè)計(jì)做一個(gè)簡(jiǎn)化所謂的虛擬實(shí)現(xiàn),然后將虛擬實(shí)現(xiàn)分割為不同的模塊,使用虛擬實(shí)現(xiàn)的結(jié)果作為每個(gè)模塊實(shí)際實(shí)現(xiàn)的限制條件,最后再把各模塊組裝起來。

          所有這些方法的共同點(diǎn)是創(chuàng)建模塊,以減少應(yīng)用面對(duì)的對(duì)象數(shù)量,模塊創(chuàng)建流程見圖2。

          模塊可用基本IC實(shí)現(xiàn)流程來創(chuàng)建(見圖2),可以再使用的模塊一般稱為IP。對(duì)“硬”模塊來說,實(shí)現(xiàn)流程主要的輸出是帶布局布線的門級(jí)網(wǎng)表,保存下來后最終轉(zhuǎn)換為物理布線圖,而“軟”模塊只有設(shè)計(jì)主要輸出即RTL設(shè)計(jì)表述被保存下來。圖4:IC原型制作和層次實(shí)現(xiàn)流程。

          設(shè)計(jì)流程輸出只用于模塊描述,即創(chuàng)建用于模塊的抽象模型,模塊描述包括了在特性描述和接下來的抽象中反復(fù)進(jìn)行的性能分析。抽象含有減少物理實(shí)現(xiàn)數(shù)據(jù)以及性能分析數(shù)據(jù)和特定模型的關(guān)系方面的內(nèi)容,模型規(guī)范和模型本身兩者都能用ALF進(jìn)行表述。

          流程的變量包括IC部分實(shí)現(xiàn),如只做RTL綜合和布放而沒有布線,這特別適用于不保留實(shí)現(xiàn)數(shù)據(jù)的軟模塊。不保留模塊實(shí)現(xiàn)數(shù)據(jù)的概念是通過之后在其它模塊上下文中完成,而不是在前端單獨(dú)實(shí)現(xiàn),這樣可獲得更好的整體性能效果。

          根據(jù)模塊是用作硬模塊還是軟模塊,ALF模型能表述不同等級(jí)的抽象。用作硬模塊的ALF模型具有和單元ALF模型相同的特性,此外,網(wǎng)表和表述實(shí)現(xiàn)流程輸出的寄生參數(shù)可部分保留在ALF模型中,特別是在模塊邊界處。這樣就能在一個(gè)IC實(shí)現(xiàn)的上下文中對(duì)相鄰模塊之間的電氣相互作用進(jìn)行精確分析。另一方面,用于軟模塊的ALF模型可以表述一個(gè)統(tǒng)計(jì)范圍,或者描述數(shù)據(jù)的上下邊界,而不是“硬”的特性數(shù)據(jù),這是因?yàn)閷?shí)際模塊實(shí)現(xiàn)具有一定程度可變性,此外統(tǒng)計(jì)得出的WLM也能裝在模塊模型中。

          ALF支持用參數(shù)表示模塊特定建模特性,即可用各種物理形狀和大小以及可變位寬與特性實(shí)現(xiàn)的模塊,ALF里的組、模板、靜態(tài)和動(dòng)態(tài)模板等概念都能這樣用。



          關(guān)鍵詞: Accellera EDA IC設(shè)計(jì)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();