1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      復雜芯片設計的分而勝之之道

      更新時間: 2006-04-06 13:31:20來源: 粵嵌教育瀏覽量:1669

      幾乎很少有設計師會考慮使用分級設計方法來開發復雜芯片的種種好處。

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




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

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



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


       

      免費預約試聽課

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

      
      

      1. 在线观看国产日韩亚洲中 | 日韩欧美国产综合在线 | 中文字幕日韩亚洲 | 日本中文字幕在线看 | 日韩欧美国产第一页 | 久久天天躁夜夜躁狠狠3 |