1. gzyueqian
      13352868059

      復(fù)雜芯片設(shè)計(jì)的分而勝之之道

      更新時(shí)間: 2006-04-06 13:31:20來(lái)源: 粵嵌教育瀏覽量:1702

      幾乎很少有設(shè)計(jì)師會(huì)考慮使用分級(jí)設(shè)計(jì)方法來(lái)開(kāi)發(fā)復(fù)雜芯片的種種好處。

      從歷史上看,設(shè)計(jì)師都使用一種芯片分級(jí)設(shè)計(jì)法——把芯片分成幾個(gè)區(qū)或功能塊——來(lái)擴(kuò)展設(shè)計(jì)自動(dòng)化工具的能力。使用分級(jí)設(shè)計(jì)法的優(yōu)點(diǎn)是能實(shí)現(xiàn)并行的 RTL(寄存器傳輸級(jí))和物理設(shè)計(jì),因?yàn)槲锢碓O(shè)計(jì)可以在網(wǎng)表完成前就開(kāi)始進(jìn)行。分級(jí)設(shè)計(jì)還可以在一塊芯片上使用多個(gè)電源區(qū)。此外,分級(jí)設(shè)計(jì)有助于對(duì)局部塊進(jìn)行一分鐘的設(shè)計(jì)修改(見(jiàn)附文《術(shù)語(yǔ)表》)。然而,使用分級(jí)設(shè)計(jì)法也要付出代價(jià),那就是項(xiàng)目復(fù)雜程度大為增加(多次進(jìn)行布局布線)和設(shè)計(jì)結(jié)果欠佳(面積增大,定時(shí)性能下降)。雖然有這些不足,許多復(fù)雜芯片(諸如圖形處理器和微處理器)的設(shè)計(jì)師通過(guò)采用一些程序和一套設(shè)計(jì)工具(它可以成功地進(jìn)行一個(gè)復(fù)雜 SOC的功能塊重組并完成設(shè)計(jì)),開(kāi)發(fā)出了一些能充分利用分級(jí)設(shè)計(jì)的優(yōu)點(diǎn)而將其缺陷減至少的方法。
      分級(jí)設(shè)計(jì)方法及其使用的工具必須能支持定時(shí)和區(qū)域的優(yōu)化。這些工具必須把設(shè)計(jì)看成一個(gè)“完整芯片”,以保證時(shí)序收斂比單獨(dú)設(shè)計(jì)每一功能塊時(shí)更佳。這種設(shè)計(jì)涉及到中繼器的適當(dāng)布局,還涉及到互連線和單元延遲的匹配,以滿(mǎn)足信號(hào)建立與保持和時(shí)鐘偏移規(guī)定。另外,一種分級(jí)設(shè)計(jì)物理實(shí)現(xiàn)工具應(yīng)該盡量減少或消除頂層連線通道,因?yàn)檫@些通道會(huì)使芯片尺寸比平面設(shè)計(jì)的面積增加 20%以上。物理實(shí)現(xiàn)工具還必須能以適當(dāng)快的速度運(yùn)行,從而能根據(jù)需要進(jìn)行迭代和重新優(yōu)化,以滿(mǎn)足設(shè)計(jì)規(guī)范。
            一套能同時(shí)處理一塊完整芯片的分級(jí)設(shè)計(jì)和平面設(shè)計(jì)的工具使得分級(jí)設(shè)計(jì)對(duì)于任何SOC設(shè)計(jì)小組來(lái)說(shuō)都是可行的。這些工具必須既能處理整個(gè)芯片的功能,如電源分配、頂層時(shí)鐘分配和頂層信號(hào)中繼器,又能處理在頂層下面的功能塊、宏塊與單元內(nèi)的元件(見(jiàn)附文《分級(jí)設(shè)計(jì)類(lèi)型》)。
      分級(jí)設(shè)計(jì)的好處
      分級(jí)設(shè)計(jì)的一個(gè)主要好處是:在處理幾百萬(wàn)只晶體管的設(shè)計(jì)時(shí),提升了 EDA 工具的處理能力的上限。對(duì)芯片上各個(gè)功能塊并行地進(jìn)行設(shè)計(jì),就能使多臺(tái)計(jì)算機(jī)和多位設(shè)計(jì)師同時(shí)設(shè)計(jì)一塊芯片。
      但是,分級(jí)設(shè)計(jì)的其它好處開(kāi)始逐漸占據(jù)主導(dǎo)地位。分級(jí)設(shè)計(jì)法可以并行地進(jìn)行RTL 與物理設(shè)計(jì)。并行設(shè)計(jì)能大大加快芯片的開(kāi)發(fā)速度,因?yàn)槟憧梢栽谠O(shè)計(jì)早期發(fā)現(xiàn)物理設(shè)計(jì)的制約情況,而 RTL 小組就能予以糾正。在分級(jí)的情況下,有些功能塊的網(wǎng)表一般要比另一些功能塊完善得快。你可以對(duì)這些物理上完善的功能塊進(jìn)行平面規(guī)劃,而對(duì)不太完善的功能塊建模,以便更好地了解終的芯片性能。此外,你可以比平面設(shè)計(jì)流程更早地發(fā)現(xiàn)設(shè)計(jì)問(wèn)題,因?yàn)槠矫嬖O(shè)計(jì)流程要求你等到 RTL 開(kāi)發(fā)結(jié)束后才能開(kāi)始。
      分級(jí)設(shè)計(jì)產(chǎn)生出的功能塊網(wǎng)表較小,與大型網(wǎng)表相比還有一種好處:能提高EDA 工具布局布線的 QOR(成果質(zhì)量)和可靠性,減少芯核轉(zhuǎn)儲(chǔ)(參考文獻(xiàn) 1)。
      分級(jí)設(shè)計(jì)法可提高可控制性。設(shè)計(jì)者可以更改設(shè)計(jì)約束條件、工具參數(shù)和網(wǎng)表,以便通過(guò)優(yōu)化工具設(shè)置并將額外的時(shí)間用在功能塊與芯片的物理平面規(guī)劃上,來(lái)加速設(shè)計(jì)收斂。這一控制能力在出帶階段非常重要,因?yàn)橄到y(tǒng)驗(yàn)證會(huì)發(fā)現(xiàn)設(shè)計(jì)缺陷,出帶階段經(jīng)常要更改“終”的網(wǎng)表。隨著網(wǎng)表的完善,分級(jí)會(huì)產(chǎn)生一個(gè)芯片裝配更具確定性的環(huán)境。例如,假設(shè)你要在出帶前的時(shí)刻對(duì)某個(gè)塊進(jìn)行重新綜合。在平面設(shè)計(jì)中這是不可能完成的任務(wù),因?yàn)闆](méi)有辦法為這一功能塊刪除舊網(wǎng)表,插入新網(wǎng)表。在采用分級(jí)設(shè)計(jì)法時(shí),你只要重新設(shè)計(jì)一個(gè)功能塊,并保持相同的引腳位置和其它外部約束條件,就可以很方便地實(shí)現(xiàn)這種修改。這一方法可以使你在時(shí)刻對(duì)芯片的某個(gè)部分進(jìn)行修改,而對(duì)設(shè)計(jì)其余部分的影響小。
      ,分級(jí)設(shè)計(jì)方法將一個(gè)設(shè)計(jì)分成一個(gè)個(gè)功能塊也有利于設(shè)計(jì)重復(fù)利用。當(dāng)你設(shè)計(jì)并驗(yàn)證功能塊后,這些功能塊可用于其它設(shè)計(jì),因?yàn)槟憧梢园阉鼈兛醋魇怯布?IP(知識(shí)產(chǎn)權(quán))芯核。
      成功實(shí)現(xiàn)分級(jí)設(shè)計(jì)的障礙是功能塊設(shè)計(jì)方法會(huì)阻礙跨分級(jí)設(shè)計(jì)參數(shù)傳播的“地平線效應(yīng)”(horizon effect)。其后果是在芯片組裝時(shí)存在欠佳的塊設(shè)計(jì),或產(chǎn)生不可接受的設(shè)計(jì)折衷,甚至兩者兼而有之。傳統(tǒng)的設(shè)計(jì)工具不能跨越塊邊界進(jìn)行“查看”。如果沒(méi)有這種跨邊界的查看,傳統(tǒng)設(shè)計(jì)工具就不能進(jìn)行整個(gè)芯片的優(yōu)化,或改正那些由 QOR 問(wèn)題、結(jié)構(gòu)問(wèn)題以及流程引起的潛在問(wèn)題。
      QOR 問(wèn)題包括:全局布線擁擠、全局或下層定時(shí)錯(cuò)誤、由于全局連線通道而造成的面積增加、功能塊分區(qū)不良,以及平面規(guī)劃對(duì)功能塊形狀的限制等。結(jié)構(gòu)問(wèn)題包括功能塊邊界處的 DRC(設(shè)計(jì)規(guī)則校驗(yàn))問(wèn)題、全局電源和時(shí)鐘分配網(wǎng)絡(luò)的產(chǎn)生問(wèn)題、全局信號(hào)中繼器插入問(wèn)題以及定時(shí)和可布線性對(duì)功能塊分區(qū)或形狀的制約問(wèn)題。流程問(wèn)題則包括整個(gè)芯片整合、涉及到全球各設(shè)計(jì)部門(mén)人員的多功能塊設(shè)計(jì)與校驗(yàn)的數(shù)據(jù)管理,以及處理滿(mǎn)足規(guī)范要求的設(shè)計(jì)迭代問(wèn)題。
      使用合適的工具
      用一種真正鄰接(true-abutment)方法實(shí)現(xiàn)一個(gè)設(shè)計(jì)需要能用多個(gè)獨(dú)特屬性進(jìn)行平面規(guī)劃和物理實(shí)現(xiàn)的設(shè)計(jì)工具。支持分級(jí)芯片設(shè)計(jì)的一套設(shè)計(jì)工具必須能既檢查芯片的分級(jí)設(shè)計(jì),又檢查芯片的平面設(shè)計(jì),并成功地處理與這種設(shè)計(jì)方法有關(guān)的結(jié)構(gòu)問(wèn)題、流程問(wèn)題和整合問(wèn)題。這類(lèi)工具必須能夠支持優(yōu)化(消除連線通道并將頂層信號(hào)中繼器數(shù)量和連線長(zhǎng)度減至小),支持快速建立(快速獲得有關(guān)設(shè)計(jì)決策的布局布線反饋信息),支持對(duì)網(wǎng)表、IP、平面規(guī)劃和焊盤(pán)元件的不可避免修改等,從而處理分級(jí)設(shè)計(jì)引起的各種問(wèn)題。




      圖 1,采用真正鄰接的分級(jí)后端芯片設(shè)計(jì)可消除頂層布線通道,從而芯片面積比8塊基準(zhǔn)芯片面積平均減小15%。

      在傳統(tǒng)分級(jí)設(shè)計(jì)中,功能塊之間的連線通道不僅會(huì)增加芯片面積和信號(hào)完整性風(fēng)險(xiǎn),而且還會(huì)增加信號(hào)等待時(shí)間,從而降低芯片上的時(shí)鐘速率。設(shè)計(jì)師需要能制造由一個(gè)個(gè)功能塊組成的、沒(méi)有通道的頂層芯片的工具。這樣的工具必須進(jìn)行資源分配優(yōu)化,其中包括定時(shí)預(yù)算以及跨功能塊邊界的建立與保持定時(shí),使終的芯片有與平面設(shè)計(jì)相同的面積和信號(hào)流特性(圖 1)。另外,這樣的工具還應(yīng)該能并行地執(zhí)行多個(gè)布局布線任務(wù)與商用布局布線工具一起使用,從而使設(shè)計(jì)師在合理的時(shí)間內(nèi)完成整個(gè)芯片的布局布線工作。
      確定引腳位置的高質(zhì)量全局布線是盡量減少功能塊擁擠和優(yōu)化定時(shí)與電源分配所必需的。一套用于分級(jí)設(shè)計(jì)的工具采用一個(gè)多項(xiàng)一次通過(guò)的設(shè)計(jì)范例,并使用一個(gè)可以同時(shí)打開(kāi)設(shè)計(jì)新舊版本的全局布線程序。由于初的引腳位置對(duì)功能塊的布局有很大影響,因此精心進(jìn)行全局布線可以防止布線工具成為布放位置很小。采用一種依據(jù)布局反饋而依次制作然后再形成方案的方法,既減少了全局資源,又可以產(chǎn)生的功能塊布放。功能塊將在整個(gè)生產(chǎn)環(huán)境中“感覺(jué)”到的定時(shí)與擁擠問(wèn)題反饋回來(lái),我們就可以再次進(jìn)行優(yōu)化,解決這些問(wèn)題(圖 2)。這種方法類(lèi)似于一位設(shè)計(jì)師所用的方法,即對(duì)近制作的芯片進(jìn)行核查,作出變更,從而在下一次制作時(shí)改進(jìn)設(shè)計(jì)。



      時(shí)鐘定時(shí)約束條件的分配和信號(hào)中繼器的插入是后端分級(jí)設(shè)計(jì)工具的附加屬性。設(shè)計(jì)師規(guī)定全局(引腳級(jí))定時(shí)規(guī)范,設(shè)計(jì)工具根據(jù)這些規(guī)范為靜態(tài)定時(shí)分析和布局布線產(chǎn)生功能塊級(jí)定時(shí)約束條件。每次構(gòu)成完整芯片后,工具應(yīng)該更新這些約束條件,以確保全芯片時(shí)序收斂。在整體布局布線過(guò)程中,工具還必須判斷何時(shí)插入能滿(mǎn)足定時(shí)規(guī)范的全局信號(hào)中繼器。定時(shí)信號(hào)中繼器的插入是一件具有挑戰(zhàn)性的工作,因?yàn)橐粋€(gè)設(shè)計(jì)可能需要幾千個(gè)信號(hào)中繼器才能滿(mǎn)足定時(shí)約束條件。
      只有使用正確的工具和設(shè)計(jì)方法,產(chǎn)生一個(gè)真正的毗鄰設(shè)計(jì),分級(jí)芯片設(shè)計(jì)才能成功。這樣的設(shè)計(jì)不僅在性能上優(yōu)于平面設(shè)計(jì),而且由分散在各地、其成員具備不同技能的設(shè)計(jì)小組來(lái)實(shí)現(xiàn)更為方便。
      參考文獻(xiàn)
      Cong, J, et al, "Optimal Scalability Study of Existing Placement Algorithms," Asia South Pacific DAC, January 2003.
      術(shù)語(yǔ)表
      塊(Block):用來(lái)表示芯片頂層以下的一級(jí)層次,塊由硅核和各類(lèi)相鄰的標(biāo)準(zhǔn)單元(宏塊)組成,每個(gè)標(biāo)準(zhǔn)單元完成各自的功能。EDA 工具獲取芯片的物理數(shù)據(jù)庫(kù),自動(dòng)完成塊的布局布線,
      單元庫(kù)(Cell library):不同功能的標(biāo)準(zhǔn)單元、硬 IP(知識(shí)產(chǎn)權(quán))芯核,以及其它宏單元塊的匯編,布局工具使用它們來(lái)構(gòu)造芯片。
      通道(Channel):在各排標(biāo)準(zhǔn)單元塊之間的間隙,其中包含單元間的互連線。
      硬 IP(Hard IP):一個(gè)可以被布局布線、表示一種功能的塊,如微處理器芯核、RAM、PLL 或 ADC 等。不增加平面規(guī)劃運(yùn)作,今天的 EDA 工具無(wú)法自動(dòng)完成硬 IP 塊的布放并獲得良好的返回質(zhì)量。
      宏塊(Macro block):已經(jīng)自動(dòng)布局布線完畢的一組標(biāo)準(zhǔn)單元和硬 IP,因此宏塊也是一種更別的硬 IP 塊,可以放進(jìn)單元庫(kù)里。
      純饋通(Pure feedthrough):穿過(guò)一個(gè)塊的一條信號(hào)線,不需要信號(hào)增強(qiáng)器或其它邏輯來(lái)保持信號(hào)完整性。
      信號(hào)中繼器(Repeater):為克服長(zhǎng)連線阻抗而增加的一個(gè)緩沖器,保證了連線上信號(hào)的完整性。使用 0.13 微米工藝時(shí),一個(gè)長(zhǎng)的網(wǎng)絡(luò)上大約每 1.5 mm 就需要一個(gè)中繼器。
      信號(hào)中繼器饋通(Repeater feedthrough):穿過(guò)一個(gè)塊的一條信號(hào)線,信號(hào)線很長(zhǎng),該塊的網(wǎng)表中要包含一個(gè)連線信號(hào)中繼器。
      標(biāo)準(zhǔn)單元(Standard cell):低復(fù)雜度的邏輯單元,完成如 NAND 門(mén)、觸發(fā)器和緩沖器等功能。一個(gè)設(shè)計(jì)的所有標(biāo)準(zhǔn)都有相同高度,在每個(gè)單元的上、下端進(jìn)行 I/O 連接。公共電源連接在單元的兩側(cè),這樣 EDA 工具可以自動(dòng)地布放單元,確保單元相鄰處電源、地的連接性。單元之間由連線連接,連線穿過(guò)各排單元之間的通道。
      網(wǎng)表(Top-level netlist):物理設(shè)計(jì)的網(wǎng)表。
      附文:層次設(shè)計(jì)類(lèi)型
      經(jīng)對(duì)構(gòu)成芯片的幾種物理方式進(jìn)行檢查發(fā)現(xiàn),在使用正確的設(shè)計(jì)工具情況下,有一種方法(真正毗鄰式)適合處理先進(jìn) SOC(系統(tǒng)芯片)物理與性能的復(fù)雜性。
      概念上講,平面設(shè)計(jì)是芯片設(shè)計(jì)者采用的簡(jiǎn)單類(lèi)型。整個(gè)網(wǎng)表都在一個(gè)單一層次級(jí)上(頂層)。所有的庫(kù)單元均處于這個(gè)頂層中,布局與布線是整體一起完成的。設(shè)計(jì)人員和設(shè)計(jì)工具不需要處理任何涉及不同設(shè)計(jì)塊之間的邊界問(wèn)題,因此也不需要應(yīng)對(duì)時(shí)序分隔問(wèn)題。然而,隨著布局布線工作中多種 EDA 工具的運(yùn)行,平面設(shè)計(jì)會(huì)產(chǎn)生一系列問(wèn)題,如工具收斂的可重復(fù)性、局部 QOR(結(jié)果質(zhì)量)以及不完整的網(wǎng)表等。
      在傳統(tǒng)的通道式設(shè)計(jì)中,頂層的網(wǎng)表一般包含了進(jìn)入芯片焊盤(pán)環(huán)的單元,以及一些其它的庫(kù)單元。完全傳統(tǒng)的通道式設(shè)計(jì)在通道中不含邏輯,通道中使用優(yōu)先的布線方向。當(dāng)設(shè)計(jì)者擁有不到四層金屬可用于芯片上塊與單元的互連時(shí),這種類(lèi)型的設(shè)計(jì)是一個(gè)可行的方法。你可以把焊盤(pán)環(huán)(pad ring)當(dāng)作一個(gè)大型宏塊覆蓋,可以為芯片的每側(cè)使用多個(gè)宏塊,或者做一些其它的焊盤(pán)單元分區(qū)。今天的設(shè)計(jì)人員很少采用傳統(tǒng)的通道式設(shè)計(jì),因?yàn)樗慕Y(jié)構(gòu)問(wèn)題非常突出,而采用六層或更多的金屬層工藝沒(méi)有必要。
      頂層平面設(shè)計(jì)是今天常見(jiàn)的層次設(shè)計(jì)類(lèi)型。工程師們總是沿標(biāo)準(zhǔn)的走線方向在連線通道內(nèi)布線。這種設(shè)計(jì)可以包含大量的標(biāo)準(zhǔn)單元。但如果標(biāo)準(zhǔn)單元數(shù)量過(guò)大, EDA 工具的工作時(shí)間會(huì)過(guò)長(zhǎng)。在這種情況下,設(shè)計(jì)者可以建立單元塊,增加另外的層次,以此來(lái)減少頂層上單元與塊的總數(shù)量。塊與其它硬 IP(知識(shí)產(chǎn)權(quán))在頂層的布放采用頂層標(biāo)準(zhǔn)單元布放方法。
      對(duì)只有兩三個(gè)塊的小型網(wǎng)表可以采用近乎毗鄰(almost-abutment)的芯片設(shè)計(jì),其設(shè)計(jì)連接性與分區(qū)方式可以避免出現(xiàn)大量的饋通(即得到一個(gè)“友好的網(wǎng)表”)。含 10 個(gè)以上塊的網(wǎng)表要使用特殊 EDA 工具,并對(duì)網(wǎng)表進(jìn)行修改,在塊中增加更多的信號(hào)中繼器,以實(shí)現(xiàn)更多的單元毗鄰。這樣,網(wǎng)表頂層的所有(或大多數(shù))連接都是從塊至塊的連接,整個(gè)網(wǎng)表對(duì)平面規(guī)劃更友好。
      布局布線工具使用小型通道在塊之間傳送一些“不太友好的”信號(hào)。時(shí)鐘分配一般較困難。工程師要在各個(gè)通道中分配時(shí)鐘,或者通過(guò)更改所有的塊網(wǎng)表來(lái)完成時(shí)鐘分配。除信號(hào)中繼器和時(shí)鐘分配硬件以外,用戶(hù)還必須對(duì)其它全局結(jié)構(gòu)進(jìn)行分割,或確保它們都在頂層上。
      在針對(duì)多個(gè)塊的復(fù)雜芯片的真正毗鄰下,所有的塊都是完全毗鄰的,層次的頂層上不存在邏輯或布局。由于所有功能都在這些塊內(nèi),這種方法簡(jiǎn)化了芯片的整合。只存在各個(gè)塊,而沒(méi)有頂層膠合邏輯。所有的塊與塊間互連都采用通過(guò)塊之間的信號(hào)中繼器饋通、純饋通,或者兩者兼而有之。合適的工具會(huì)自動(dòng)為局部和全局布線共享所有的金屬資源,如時(shí)鐘樹(shù)和電源網(wǎng)。關(guān)鍵信號(hào)可以跨芯片直接處理,象平面設(shè)計(jì)那樣在各個(gè)塊之間重復(fù)其路徑。
      在其它層次方法中,塊分割是很難處理的,而用真正毗鄰方法就很容易處理。使用這種方法,即使這些塊有極多端子和數(shù)千個(gè)饋通,設(shè)計(jì)的芯片也不會(huì)出現(xiàn)明顯的問(wèn)題。


       

      免費(fèi)預(yù)約試聽(tīng)課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 一区二区三区免费的视频 | 亚洲日本乱码在线观看 | 亚洲日韩欧美在线一区二区 | 亚洲中文字幕精品一区二区 | 亚洲欧美动漫传媒国产日韩 | 欧美亚洲国产aⅴ人妖 |