TWI434191B - 產生階層式電路設計的平面規劃之方法與設備及其非暫態電腦可讀式儲存媒體 - Google Patents

產生階層式電路設計的平面規劃之方法與設備及其非暫態電腦可讀式儲存媒體 Download PDF

Info

Publication number
TWI434191B
TWI434191B TW099105822A TW99105822A TWI434191B TW I434191 B TWI434191 B TW I434191B TW 099105822 A TW099105822 A TW 099105822A TW 99105822 A TW99105822 A TW 99105822A TW I434191 B TWI434191 B TW I434191B
Authority
TW
Taiwan
Prior art keywords
block
plan
netlist
design
logic
Prior art date
Application number
TW099105822A
Other languages
English (en)
Other versions
TW201101079A (en
Inventor
Kester B Rice
David L Peart
Original Assignee
Synopsys Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Synopsys Inc filed Critical Synopsys Inc
Publication of TW201101079A publication Critical patent/TW201101079A/zh
Application granted granted Critical
Publication of TWI434191B publication Critical patent/TWI434191B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

產生階層式電路設計的平面規劃之方法與設備及其非暫態電腦可讀式儲存媒體
本揭示通常係相關於電子設計自動化。尤其是,此揭示係相關於用以產生電路設計的平面規劃之方法與設備。
半導體製造技術的提升已使每一半導體裝置的電晶體數目大幅增加。此電晶體總數的增加使電腦架構能夠產生具有複雜性持續增加之數位電路設計。當數位電路設計更複雜,置放和路由電路元件到電晶體佈局所需之努力亦變得更需要。
在電路設計流中,通常在執行詳細的置放和路由之前產生用於電路設計的平面規劃。平面規劃能夠指定電路設計中的各種功能方塊如何配置在晶片上。而且,平面規劃典型上用於引導隨後的置放和路由處理。
用以產生平面規劃之處理是互動的,且需要一些疊代來精鍊平面規劃,直到其特性被接受為止。例如,平面規劃化處理需要工程師疊代精鍊平面規劃,直到平面規劃的時序和可路由特性被接受為止。
單一平面規劃化疊代針對非常大的設計可能花上好幾天的工作天。而且,較大的電路設計通常需要較大的平面規劃化疊代數目。
一實施例提供系統,其包含產生用於電路設計的平面規劃之方法與設備。尤其是,一些實施例接收用於電路設計的未縮減網表(如、完全網表),及產生包括比未縮減網表大體上少的元件之縮減網表。系統然後能夠藉由使用縮減網表當作輸入來產生平面規劃。
需注意的是,使用縮減網表使系統能夠以比若系統使用未縮減網表所需較少的計算(及以較少的時間)來產生平面規劃。換言之,使用縮減網表使系統能夠以相同的時間量產生用於更大的電路設計之平面規劃。而且,需注意的是,雖然縮減網表具有比未縮減網表大體上少的元件,但是縮減網表具有足夠的細節,使得能夠準確分析平面規劃,以確保其滿足設計限制。
電路設計係可使用一組階層式方塊來表示,其中平面規劃典型上指定用於一組方塊的配置。在一些實施例中,縮減網表包括僅與方塊的介面邏輯相關聯之未縮減網表的那些部分。尤其是,方塊的介面邏輯可包括:方塊的介面接腳;組合邏輯,其耦合在介面接腳之間;方塊中的暫存器,其透過組合邏輯與方塊的介面接腳耦合;及組合邏輯,其將方塊的介面接腳與暫存器耦合。
在一些實施例中,系統包括硬巨集在縮減網表中,不管硬巨集是否為介面邏輯的一部分。藉由從一組巨集實例名稱選擇巨集實例名稱,或藉由決定巨集實例具有符合有資格的巨集類型之類型屬性,系統能夠識別方塊中的硬巨集實例。另一選擇是,藉由選擇介面接腳大於或等於臨界接腳總數之方塊中的單元,系統能夠識別硬巨集實例。在另一方法中,藉由選擇具有大於或等於臨界面積之面積的方塊中之單元,系統能夠識別硬巨集實例。
在一些實施例中,系統能夠產生平面規劃,使得其滿足一組設計限制。一組設計限制可包括以下至少其中之一:時序限制;電力限制;路由擁塞限制;面積限制;形狀限制;及置放限制。
提出下面說明以使精於本技藝之人士能夠進行和使用本發明,並且按特定應用和其要求來提供下面說明。只要不違背本揭示的精神和範疇,精於本技藝之人士將容易出現針對所揭示的實施例之各種修正,及此處所定義之通則可應用到其他實施例和應用。如此,本發明並不侷限於所示之實施例,而是符合與此處所揭示之原則和特徵一致的最廣泛範圍。
此詳細說明所說明之資料結構和碼典型上係儲存於電腦可讀式儲存媒體上,此電腦可讀式儲存媒體可以是能夠儲存供給電腦系統使用的碼及/或資料之任何裝置或媒體。電腦可讀式儲存媒體包括但並不侷限於:揮發性記憶體,非揮發性記憶體,磁性及光學儲存裝置,諸如碟驅動器、磁帶、CD(小型碟)、DVD(數位多用途碟或數位視頻碟)等,或能夠儲存現在已知或以後發展的電腦可讀式媒體之其他媒體。
此詳細說明段所說明之方法和處理可被賦予碼及/或資料的形式,其可被儲存在如上述之電腦可讀式儲存媒體。當電腦系統讀出和執行儲存在電腦可讀式儲存媒體上之碼及/或資料時,電腦系統執行被賦予資料結構和碼的形式並且儲存在電腦可讀式儲存媒體內之方法及處理。
而且,可將下面所說明的方法及處理包括在硬體模組中。例如,硬體模組可包括但並不侷限於:應用特定積體電路(ASIC)晶片、現場可程式閘陣列(FPGA)、及現在已知或以後將發展之其他可程式邏輯裝置。當致動硬體模組時,硬體模組執行包括在硬體模組內的方法及處理。
積體電路(IC)設計流
圖1為根據本發明的實施例之積體電路的設計和製造之各種階段圖。
IC設計處理典型上開始於產品概念(步驟100),其使用EDA處理來實現(步驟110)。一旦完成設計,典型上將其下線(事件140),其意指進入製造處理(步驟150)與封裝及組裝處理(步驟160),以生產所製造的微晶片(結果170)。
EDA處理(步驟110)包含步驟112-130,其以下的說明僅為了圖解而不用於限制本發明。尤其是,實際積體電路設計需要設計者能夠以除了以下說明的順序之不同順序來執行設計操作。
系統設計(操作112):在此階段,設計者描述實施產品概念的功能。他們亦能夠執行“會如何”規畫以使功能更加提升、執行成本分析等。硬體-軟體架構劃分可出現在此階段。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括Model Architect、、System Studio、及
邏輯設計和功能查驗(操作114):在此階段,寫入用於系統中的模組之VHDL或Verilog碼,及可為功能準確性核對設計。尤其是,可核對設計以確保其產生正確回應。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括、MagellanTM、ESP和
測試的合成和設計(操作116):在此階段,可將VHDL/Verilog來源碼翻譯成網表。另外,可為目標技術最佳化網表,及可設計和實施測試,以核對所製造的微晶片。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括Design、Physical、Test Compiler、Power CompilerTM 、FPGA Compiler、、及
網表查驗(操作118):在此階段,可為遵循時序限制和為與VHDL/Verilog來源碼的對應性核對網表。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括、及
設計規劃(操作120):在此階段,可為時序和最高位準的路由構製和分析用於微晶片的整個平面規劃。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括AstroTM 和IC Compiler產品。
實體實施(操作122):在此階段發生置放(電路元件的定位)和路由(互連的置放)。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括AstroTM 和IC Compiler產品。
分析和析取(操作124):在此階段,可以電晶體位準查驗電路的功能;接著,此讓“會如何”更加精鍊。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括AstroRailTM 、PrimeRail、、及Star-RCXTTM
實體查驗(操作126):在此階段,可核對設計,以確保製造、電議題、微影議題、和電路系統的正確性。HerculesTM 是可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品。
解析度增強(操作128):此階段包含佈局的幾何操縱,以提高設計的可製造性。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括Proteus/Progen、ProteusAF、及PSMGen。
遮罩資料備製(操作130):此階段包含用於遮罩產生之“下線”資料,以產生完成晶片。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括產品家族。
計算系統
圖2為根據實施例之用以產生平面規劃的計算環境圖。計算環境200可包括計算一些系統202-206,及工作站208。尤其是,計算系統202能夠產生縮減網表214,及計算系統204可使用縮減網表214來產生平面規劃216。
在操作期間,使用者210可使用工作站208來產生用於階層式電路設計212的未縮減網表220。未縮減網表通常是包括比縮減網表更多電路元件之任何網表。尤其是,用於電路設計之未縮減網表可以是用於電路設計之完全網表。在一些實施例中,使用者210可使用諸如來自Synopsys,Inc.的Design等電路合成系統來產生未縮減網表220。使用者210然後可提供未縮減網表220和方塊劃分資訊222給計算系統202來產生縮減網表214。需注意的是,方塊劃分資訊222識別對應於階層式電路設計212的階層式方塊之未縮減網表220中的電路方塊。方塊通常可以是電路的任何部分。在一些實施例中,方塊是實施特別高階功能之電路的一部分。例如,方塊可以是記憶體。
在一些實施例中,計算系統202可從未縮減網表220和方塊劃分資訊222產生縮減網表214。縮減網表214包括階層式電路設計212的邏輯元件,其為產生平面規劃216、分配介面接腳給電路設計的階層式方塊、和決定用於電路設計的方塊之時序限制預算所需者。而且,縮減網表214可省略產生平面規劃216不需要之階層式電路設計212的邏輯元件。
在一些實施例中,縮減網表214可包括用於電路設計的階層式方塊之介面邏輯,其中介面邏輯包括以下至少其中之一:方塊的介面接腳;組合邏輯,其耦合二或更多介面接腳;方塊中的暫存器,其透過組合邏輯與方塊的介面接腳耦合;和組合邏輯,其將方塊的介面接腳與暫存器耦合。在一些實施例中,組合邏輯未包括任何連續的電路元件。尤其是,組合邏輯未包括任何暫存器。因此,透過組合邏輯與介面接腳耦合之暫存器是從介面接腳到暫存器的路徑上之第一暫存器。
需注意的是,縮減網表214包括階層式電路設計212上足夠的資訊,以使計算系統204能夠決定平面規劃216是否滿足階層式電路設計212的時序要求。而且,計算系統204藉由使用用於方塊的介面邏輯來執行平面規劃設計之準確時序分析,及不依賴使用”黑盒子”模型來擷取用於方塊的時序參數之習知技術。”黑盒子”時序模型通常不準確,因為時序模型係由使用者指定,及使用者不會總是完全或準確瞭解方塊。
需注意的是,縮減網表214中之電路資訊的縮減量大幅減少計算系統204需要分析之資訊量,藉以使計算系統204能夠產生比若計算系統204使用未縮減網表220所能夠產生者還大的平面規劃216。而且,縮減網表214中的縮減資訊亦使計算系統204能夠產生具有計算時間少於若計算系統204使用未縮減網表220所需要之計算時間的平面規劃216。
在一些實施例中,計算系統204能夠部分依據縮減網表214和平面規劃化資料224來產生平面規劃216。平面規劃化資料224可包括以下至少其中之一:設計限制;預算參數(如、時序預算、電力預算、路由預算等);及一組巨集實例名稱。而且設計限制可包括以下至少其中之一:時序限制;電力限制;路由擁塞限制;面積限制;形狀限制;及置放限制。在一些實施例中,平面規劃化資料224亦可包括未縮減網表220,其係電腦系統204對平面規劃216執行最佳化所使用。
在一些其他實施例中,平面規劃化資料224亦可包括最初平面規劃,其可以是計算系統204先前產生之局部平面規劃、或可以是已修正平面規劃。例如,使用者210可產生用於階層式電路設計212的局部平面規劃,其指定用於計算系統204的起點。在另一例子中,使用者210可從計算系統204接收平面規劃216,及決定平面規劃216是否可接受。若使用者210決定平面規劃216未滿足平面規劃化資料224的一或更多限制,則使用者210可對平面規劃216進行一或更多修正,以產生已修正平面規劃。然後,使用者210能夠提供已修正平面規劃給計算系統204,當作用以產生平面規劃216的下一版本之起點。不然。若使用者210決定平面規劃216可接受,則使用210可提供平面規劃216給計算系統206,以產生電路佈局描述218。
在一些實施例中,能夠以單一計算系統實施計算系統202-204,以部分依據未縮減網表220來產生平面規劃216。在其他實施例中,能夠以單一計算系統實施工作站208和計算系統202-204,以部分依據階層式電路設計212來產生平面規劃216。
產生平面規劃
圖3為根據實施例之用以從電路設計的未縮減網表產生平面規劃之處理的流程圖。在一些實施例中,處理係可藉由電腦系統來執行,電腦系統包括電腦可讀式儲存媒體,其儲存有當被電腦系統執行時使電腦系統能夠執行用以從未縮減網表312產生平面規劃316之指令。系統能夠開始於執行平面規劃備製程序302,其執行程序304以使用時序限制311和未縮減網表312來產生縮減網表314。然後,系統能夠執行設計規劃程序308,其可使用縮減網表314來產生用於電路設計的平面規劃316。選用地,程序302亦可執行程序306,來產生最初平面規劃320,其可由程序308用來當作當產生用於電路設計的平面規劃316之起點。
在一些實施例中,系統能夠在程序306和308之間執行一些疊代以精鍊平面規劃316。為了執行疊代,程序308能夠選用地發送平面規劃322到程序306,及程序306可修正平面規劃322,產生為程序308的隨後疊代所使用之平面規劃320。
在一些實施例中,程序306可讓使用者能夠藉由指定用於未縮減網表中的一些邏輯元件之想要的置放和路由來產生最初平面規劃320。在其他實施例中,程序306可讓使用者能夠藉由去除未滿足一些設計決定之平面規劃322的部分,及/或藉由修正平面規劃322的部分來滿足一些設計決定,而允許使用者產生最初平面規劃320。需注意的是,最初平面規劃320可以是局部平面規劃。
在一些實施例中,最初平面規劃320可包括以下至少其中之一:頂單元邊界、單元列、介面接腳置放、階層式劃分定義、硬巨集置放、及在平面規劃中已定大小和置放之階層式方塊。需注意的是,方塊的最佳化大小是重要的,因為方塊尺寸需要容納用於方塊的內部邏輯之一些額外的單元,以及容納方塊最佳化程序310期間所執行之平面規劃調整。
在一些實施例中,藉由使用設計規劃程序308期間所產生之平面規劃和時序資訊,方塊最佳化程序310可完成階層式電路設計中的方塊之實施。
圖4為根據實施例之用以產生用於電路設計的平面規劃之處理的流程圖。系統能夠開始於接收用於電路設計的未縮減網表(操作402),及接收一組設計限制(操作404)。然後,系統部分依據未縮減網表和來自此組設計限制的時序限制,而產生縮減網表(操作406)。選用地,系統能夠接收用於電路設計的最初平面規劃(操作408),其能夠被使用當作產生用於電路設計的新平面規劃之起點。
然後,系統能夠使用縮減網表,及選用地最初平面規劃,以產生滿足此組限制之電路設計的平面規劃(操作410)。接著,系統將電力計畫插入到新的平面規劃(操作412),及在新平面規劃的方塊上執行最佳化(操作414)。在一些實施例中,系統在執行操作412之前能夠接收用於平面規劃的電力計畫。例如,系統能夠接收已為電路設計訂製建立的電力計畫,或能夠從類似的電路設計接收已為平面規劃修改之電力計畫。
系統然後決定新的平面規劃是否滿足此組限制(操作416)。若滿足,則系統將該回新的平面規劃、方塊位準接腳置放限制、及方塊位準時序限制(操作420)。否則,若新的平面規劃未滿足此組限制,則使用者能夠使用該系統,以使用新的平面規劃來產生精鍊的平面規劃(操作418),然後回到操作408。
在一些實施例中,操作408及418讓使用者能夠修正現行的平面規劃,及為產生用於電路設計的平面規劃重複處理。例如,使用者需要執行處理的一些疊代,在每一疊代中精鍊平面規劃,直到產生可接受的平面規劃為止。而且,需注意的是,操作410部分依據縮減網表來產生新的平面規劃,藉以確保處理之每一疊代需要比若使用未縮減網表所需為少的計算時間。
在一些實施例中,操作418讓使用者能夠藉由去除未滿足一些設計決定之新平面規劃的部分,及/或將新平面規劃的部分修正成滿足一些設計決定,產生精鍊平面規劃。
產生縮減網表
圖5為根據實施例之用以產生縮減網表的處理之流程圖。在一些實施例中,在圖4的操作406上擴展處理。系統能夠開始於接收未縮減網表和用於電路設計的時序限制(操作502),及識別未縮減網表中的一組方塊劃分,其對應於電路設計的一組階層式方塊(操作504)。
接著,系統部分依據未縮減網表和識別的方塊劃分來產生縮減網表(操作506)。就電路設計中的方塊而言(操作508),系統識別未縮減網表中的一些介面邏輯元件(操作510),及將識別的介面邏輯元件插入到縮減網表內(操作512)。在一些實施例中,方塊的介面邏輯可包括:方塊的介面接腳;方塊中的暫存器,其透過組合邏輯與方塊的介面接腳耦合;及組合邏輯,其將方塊的介面接腳與暫存器耦合。而且,縮減網表可包括有關電路設計的一組方塊如何彼此耦合之資訊。
在一些實施例中,不管硬巨集是否為介面邏輯的一部分,系統可將來自未縮減網表的硬巨集實例結合到縮減網表。在一些變化中,系統藉由從一組巨集實例名稱選擇巨集實例名稱,或藉由決定巨集實例具有符合之合格的巨集類型之類型屬性,而識別硬巨集實例。在其他變化中,系統藉由選擇具有大於或等於臨界接腳總數之介面接腳的數目之方塊中的單元,而識別硬巨集實例。在其他變化中,系統藉由選擇具有大於或等於臨界面積之面積的方塊中的單元,而識別硬巨集實例。
從縮減網表產生平面規劃
圖6為根據實施例之使用縮減網表來產生平面規劃的處理之流程圖。在一些實施例中,在圖4的操作410上擴展處理。系統可開始於接收縮減網表和時序限制(操作602),及將基本平面規劃插入到新的平面規劃(操作604)。然後,系統執行片面設計引導的網表最佳化(操作606),及分析新平面規劃中的擁塞(操作608)。接著,系統決定平面規劃是否滿足限制(操作610)。若平面規劃未滿足限制,則系統調整平面規劃通道和其他平面規劃元件以減輕擁塞(操作612),及回到操作606。另一方面,若平面規劃滿足限制,則系統為階層式方塊產生時序預算(操作614),分配新平面規劃中的方塊接腳(操作616),及輸出新平面規劃(操作618)。
在一些實施例中,當調整平面規劃以減輕擁塞時,操作612能夠讓使用者指定可忽略的一些方塊。當使用者識別欲保存的一組方塊時,操作614調整平面規劃通道,以減輕使用者未識別之方塊的剩餘者的擁塞。
方塊最佳化
圖7為根據實施例之在使用縮減網表所產生的平面規劃上執行方塊最佳化之處理的流程圖。系統可開始於接收用於電路設計的一組限制(操作702)。接著,系統識別用於方塊的內部邏輯之限制(操作704)。需注意的是,方塊的內部邏輯包括非方塊的介面邏輯之一部分的方塊之邏輯元件。
為了識別用於方塊的內部邏輯之限制,系統使用未縮減網表來產生未縮減方塊網表(操作706),及使用縮減網表來產生縮減方塊網表(操作708)。接著,藉由分析對照未縮減方塊網表的此組限制,系統識別用於方塊的限制(操作710)。藉由分析對照縮減方塊網表的此組限制,系統亦識別用於方塊的介面邏輯之限制(操作712)。然後,藉由決定應用到未縮減方塊和非應用到縮減方塊之一組限制,系統識別用於方塊的內部邏輯之限制(操作714)。換言之,藉由識別用於未存在於用於方塊的介面邏輯之此組限制中的方塊之一組限制,系統識別用於方塊的內部邏輯之限制。然後,部分依據用於方塊的內部邏輯限制和平面規劃資訊,系統能夠在方塊的平面規劃上執行最佳化(操作716)。
在一些實施例中,系統能夠讓使用者指定識別使用者想要保存之方塊的平面規劃之特性的平面規劃資訊。接著回應,系統能夠保存已識別的特性在平面規劃資訊中。平面規劃資訊可包括以下至少其中之一:方塊邊界、電路設計的核心定義(即、列和軌道)、硬巨集、介面接腳置放、及用於電力和接地的預路由資訊。
圖8為根據實施例之幫助產生用於電路設計的平面規劃之例示電腦系統圖。電腦系統802包括處理器804、記憶體806、及儲存裝置808。而且,電腦系統802係可耦合至顯示器810、鍵盤812、和定位裝置813。
儲存裝置808儲存作業系統814、平面規劃化系統816、未縮減網表826、設計限制828、劃分資訊830、縮減網表832、和平面規劃834。平面規劃化系統816可包括圖形使用者介面(GUI)818、平面規劃備製模組820、設計規劃模組822、和方塊最佳化模組824。
在操作期間,將平面規劃化系統816從儲存裝置808下載到記憶體806內,及由處理器804執行。在一些實施例中,平面規劃化系統816可產生用於滿足設計限制828之電路設計的平面規劃834。如此作,平面規劃備製模組820能夠從未縮減網表826產生縮減網表832,其包括用於劃分資訊830所指定之電路設計的階層式方塊之介面邏輯。然後,設計規劃模組822可使用縮減網表832來產生平面規劃834的預備版本,及方塊最佳化模組824可使用未縮減網表826來產生平面規劃834的最終版本,最終版本最適於說明階層式方塊的內部邏輯。
圖9為根據實施例之幫助產生用於電路設計的平面規劃之設備圖。
設備902可包含能夠透過有線或無線通訊通道彼此通訊之一些機構。設備902係可使用一或多個積體電路來實現,及其可整合於電腦系統中,或可被實現成能夠與其他電腦系統及/或裝置通訊之分開裝置。尤其是,平面規劃化設備902可包含平面規劃備製機構904、設計規劃機構906、及方塊最佳化機構908。
在一些實施例中,平面規劃化設備902可產生用於滿足一組設計限制之電路設計的平面規劃。尤其是,平面規劃備製機構904可從未縮減網表來產生縮減網表。然後,設計規劃機構906可使用縮減網表來產生平面規劃的中間版本,及至少依據平面規劃的中間版本,方塊最佳化機構908可使用未縮減網表來產生平面規劃的最終版本。
提出上述各種實施例的說明僅為了圖解和說明。並不用於耗盡性或將本發明侷限於所揭示的形式。因此,精於本技藝之人士可出現許多修正和變化。此外,上述揭示並不用於侷限本發明。
200...計算環境
202...計算系統
204...計算系統
206...計算系統
208...工作站
210...使用者
212...階層式電路設計
214...縮減網表
216...平面規劃
218...電路佈局描述
220...未縮減網表
222...方塊劃分資訊
224...平面規劃化資料
302...平面規劃備製程序
304...程序
306...程序
308...設計規劃程序
310...方塊最佳化程序
311...時序限制
312...未縮減網表
314...縮減網表
316...平面規劃
320...最初平面規劃
322...平面規劃
802...電腦系統
804...處理器
806...記憶體
808...儲存裝置
810...顯示器
812...鍵盤
813...定位裝置
814...作業系統
816...平面規劃化系統
818...圖形使用者介面
820...平面規劃備製模組
822...設計規劃模組
824...方塊最佳化模組
826...未縮減網表
828...設計限制
830...劃分資訊
832...縮減網表
834...平面規劃
902...設備
904...平面規劃備製機構
906...設計規劃機構
908...方塊最佳化機構
圖1為根據實施例之積體電路的設計和製造處理之各種階段圖。
圖2為根據實施例之用以產生平面規劃的計算環境圖。
圖3為根據實施例之用以從電路設計的未縮減網表來產生平面規劃之處理的流程圖。
圖4為根據實施例之產生用於電路設計之平面規劃的處理之流程圖。
圖5為根據實施例之用以產生縮減網表的處理之流程圖。
圖6為根據實施例之使用縮減網表來產生平面規劃的處理之流程圖。
圖7為根據實施例之在使用縮減網表所產生的平面規劃上執行方塊最佳化之處理的流程圖。
圖8為根據實施例之幫助產生用於電路設計的平面規劃之例示電腦系統圖。
圖9為根據實施例之幫助產生用於電路設計的平面規劃之設備圖。
在圖式中,相同參考號碼意指相同圖式元件。

Claims (21)

  1. 一種產生階層式電路設計的平面規劃之方法,其中該階層式電路設計係使用一組方塊來表示,及其中該平面規劃指定滿足一組設計限制之該組方塊的一配置,該方法包含:接收用於該階層式電路設計之一未縮減網表,其包括該組方塊中的電路元件之描述;藉由電腦從該未縮減網表產生一縮減網表,其中就該組方塊中的一方塊而言,該縮減網表包括在該方塊中之僅與該方塊的介面邏輯相關聯的那些電路元件之描述;及使用該縮減網表來產生滿足該組設計限制之該階層式電路設計的該平面規劃,其中產生該平面規劃包含:識別第一組限制,其可應用到用於該方塊的該未縮減網表;識別第二組限制,其可應用到用於該方塊的該縮減網表,其中該第二組限制是該第一組限制的一子組;及藉由識別在該第一組限制中但不在該第二組限制中之限制來決定該組內部邏輯限制;及部分依據用於該方塊的該組內部邏輯限制和用於該方塊的平面規劃資訊,在該平面規劃上執行方塊最佳化。
  2. 根據申請專利範圍第1項之方法,其中該組設計限制包括至少以下其中之一:一時序限制;一電力限制;一路由擁塞限制;一面積限制;一形狀限制;及一置放限制。
  3. 根據申請專利範圍第1項之方法,其中該方塊的介面邏輯包括:該方塊的介面接腳;該方塊中的暫存器,其透過一第一組合邏輯與該方塊的介面接腳耦合,該第一組合邏輯,其將該方塊的介面接腳與該等暫存器耦合;及一第二組合邏輯,其耦合該方塊的兩或更多介面接腳。
  4. 根據申請專利範圍第1項之方法,其中該方塊的一硬巨集實例被分類成一介面邏輯元件,藉以確保該硬巨集實例被保存在該縮減網表中。
  5. 根據申請專利範圍第1項之方法,其中該縮減網表包括有關該組方塊如何彼此耦合之資訊。
  6. 根據申請專利範圍第1項之方法,其中產生該平面規劃包含:接收用於該階層式電路設計之一最初平面規劃;及在方塊整形期間保存方塊的面積同時,調整該最初平面規劃的一通道以減輕擁塞。
  7. 根據申請專利範圍第1項之方法,其中藉由使用該縮減網表來產生用於該階層式電路設計之該平面規劃需要較當使用該未縮減網表時所需為少之計算。
  8. 一種非暫態電腦可讀式儲存媒體,其儲存當被一電腦執行時使該電腦能夠執行用以產生一階層式電路設計 的一平面規劃之方法的指令,其中該階層式電路設計係使用一組方塊來表示,及其中該平面規劃指定滿足一組設計限制之該組方塊的一配置,該方法包含:接收用於該階層式電路設計之一未縮減網表,其包括該組方塊中的電路元件之描述;從該未縮減網表產生一縮減網表,其中就該組方塊中的一方塊而言,該縮減網表包括在該方塊中之僅與該方塊的介面邏輯相關聯的那些電路元件之描述;及使用該縮減網表來產生滿足該組設計限制之該階層式電路設計的該平面規劃,其中產生該平面規劃包含:識別第一組限制,其可應用到用於該方塊的該未縮減網表;識別第二組限制,其可應用到用於該方塊的該縮減網表,其中該第二組限制是該第一組限制的一子組;及藉由識別在該第一組限制中但不在該第二組限制中之限制來決定該組內部邏輯限制;及部分依據用於該方塊的該組內部邏輯限制和用於該方塊的平面規劃資訊,在該平面規劃上執行方塊最佳化。
  9. 根據申請專利範圍第8項之非暫態電腦可讀式儲存媒體,其中該組設計限制包括至少以下其中之一:一時序限制;一電力限制;一路由擁塞限制;一面積限制;一形狀限制;及一置放限制。
  10. 根據申請專利範圍第8項之非暫態電腦可讀式儲存媒體,其中該方塊的介面邏輯包括: 該方塊的介面接腳;該方塊中的暫存器,其透過一第一組合邏輯與該方塊的介面接腳耦合,該第一組合邏輯,其將該方塊的介面接腳與該等暫存器耦合;及一第二組合邏輯,其耦合該方塊的兩或更多介面接腳。
  11. 根據申請專利範圍第8項之非暫態電腦可讀式儲存媒體,其中該方塊的一硬巨集實例被分類成一介面邏輯元件,藉以確保該硬巨集實例被保存在該縮減網表中。
  12. 根據申請專利範圍第8項之非暫態電腦可讀式儲存媒體,其中該縮減網表包括有關該組方塊如何彼此耦合之資訊。
  13. 根據申請專利範圍第8項之非暫態電腦可讀式儲存媒體,其中產生該平面規劃包含:接收用於該階層式電路設計之一最初平面規劃;及在方塊整形期間保存方塊的面積同時,調整該最初平面規劃的一通道以減輕擁塞。
  14. 根據申請專利範圍第8項之非暫態電腦可讀式儲存媒體,其中藉由使用該縮減網表來產生用於該階層式電路設計之該平面規劃需要較當使用該未縮減網表時所需為少之計算。
  15. 一種產生階層式電路設計的平面規劃之設備,其中該階層式電路設計係使用一組方塊來表示,及其中該平 面規劃指定滿足一組設計限制之該組方塊的一配置,該設備包含:一平面規劃備製機構,被組配成:接收用於該階層式電路設計之一未縮減網表,其包括該組方塊中的電路元件之一描述;及從該未縮減網表產生一縮減網表,其中就該組方塊中的一方塊而言,該縮減網表包括在該方塊中之僅與該方塊的介面邏輯相關聯的那些電路元件之一描述;及一設計規劃機構,被組配成使用該縮減網表來產生滿足該組設計限制之該階層式電路設計的該平面規劃,其中該設計規劃機構被組配成:識別第一組限制,其可應用到用於該方塊的該未縮減網表,識別第二組限制,其可應用到用於該方塊的該縮減網表,其中該第二組限制是該第一組限制的一子組;及藉由識別在該第一組限制中但不在該第二組限制中之限制來決定該組內部邏輯限制;及部分依據用於該方塊的該組內部邏輯限制和用於該方塊的平面規劃資訊,在該平面規劃上執行方塊最佳化。
  16. 根據申請專利範圍第15項之設備,其中該組設計限制包括至少以下其中之一:一時序限制;一電力限制;一路由擁塞限制;一面積限制;一形狀限制;及一置放限制。
  17. 根據申請專利範圍第15項之設備,其中該方塊 的介面邏輯包括:該方塊的介面接腳;該方塊中的暫存器,其透過一第一組合邏輯與該方塊的介面接腳耦合,該第一組合邏輯,其將該方塊的介面接腳與該等暫存器耦合;及一第二組合邏輯,其耦合該方塊的兩或更多介面接腳。
  18. 根據申請專利範圍第15項之設備,其中該平面規劃備製機構另外被組配成將該方塊的一硬巨集實例分類成一介面邏輯元件,藉以確保該硬巨集實例被保存在該縮減網表中。
  19. 根據申請專利範圍第15項之設備,其中該縮減網表包括有關該組方塊如何彼此耦合之資訊。
  20. 根據申請專利範圍第15項之設備,其中該設計規劃機構另外包含:接收用於該階層式電路設計之一最初平面規劃;及在方塊整形期間保存方塊的面積同時,調整該最初平面規劃的一通道以減輕擁塞。
  21. 根據申請專利範圍第15項之設備,其中藉由使用該縮減網表來產生用於該階層式電路設計之該平面規劃需要較當使用該未縮減網表時所需為少之計算。
TW099105822A 2009-03-11 2010-03-01 產生階層式電路設計的平面規劃之方法與設備及其非暫態電腦可讀式儲存媒體 TWI434191B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/402,246 US8181145B2 (en) 2009-03-11 2009-03-11 Method and apparatus for generating a floorplan using a reduced netlist

Publications (2)

Publication Number Publication Date
TW201101079A TW201101079A (en) 2011-01-01
TWI434191B true TWI434191B (zh) 2014-04-11

Family

ID=42717659

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099105822A TWI434191B (zh) 2009-03-11 2010-03-01 產生階層式電路設計的平面規劃之方法與設備及其非暫態電腦可讀式儲存媒體

Country Status (4)

Country Link
US (1) US8181145B2 (zh)
CN (1) CN101833590B (zh)
TW (1) TWI434191B (zh)
WO (1) WO2010104719A2 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8082138B1 (en) * 2002-04-11 2011-12-20 Synopsys, Inc. Automated bottom-up and top-down partitioned design synthesis
US8504978B1 (en) * 2009-03-30 2013-08-06 Cadence Design Systems, Inc. User interface for timing budget analysis of integrated circuit designs
US8365113B1 (en) * 2007-01-10 2013-01-29 Cadence Design Systems, Inc. Flow methodology for single pass parallel hierarchical timing closure of integrated circuit designs
US9141740B2 (en) * 2011-03-31 2015-09-22 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for implementing full-chip optimization with reduced physical design data
US8719743B1 (en) 2011-04-29 2014-05-06 Cadence Design Systems, Inc. Method and system for implementing clock tree prototyping
US8707228B1 (en) * 2011-04-29 2014-04-22 Cadence Design Systems, Inc. Method and system for implementing hierarchical prototyping of electronic designs
CN102323964B (zh) * 2011-08-16 2014-06-25 北京芯愿景软件技术有限公司 一种数字电路网表数据的处理方法
US8516412B2 (en) * 2011-08-31 2013-08-20 International Business Machines Corporation Soft hierarchy-based physical synthesis for large-scale, high-performance circuits
US8875079B2 (en) * 2011-09-29 2014-10-28 Lsi Corporation System and method of automated design augmentation for efficient hierarchical implementation
CN103093016B (zh) * 2011-11-04 2016-06-08 上海华虹宏力半导体制造有限公司 简化存储器后仿网表来实现大容量存储器仿真的方法
US8898608B1 (en) * 2013-07-15 2014-11-25 Taiwan Semiconductor Manufacturing Company, Ltd. Method for displaying timing information of an integrated circuit floorplan
US9026978B1 (en) * 2013-10-24 2015-05-05 Cadence Design Systems, Inc. Reverse interface logic model for optimizing physical hierarchy under full chip constraint
US9251300B2 (en) * 2013-10-25 2016-02-02 Altera Corporation Methods and tools for designing integrated circuits with auto-pipelining capabilities
US10318695B2 (en) 2013-12-05 2019-06-11 International Business Machines Corporation Phase algebra for virtual clock and mode extraction in hierarchical designs
US10503856B2 (en) 2013-12-05 2019-12-10 International Business Machines Corporation Phase algebra for specifying clocks and modes in hierarchical designs
US9268889B2 (en) 2013-12-05 2016-02-23 International Business Machines Corporation Verification of asynchronous clock domain crossings
US9916407B2 (en) 2013-12-05 2018-03-13 International Business Machines Corporation Phase algebra for analysis of hierarchical designs
US9760667B1 (en) 2014-06-30 2017-09-12 Cadence Design Systems, Inc. Method, system, and computer program product for implementing prototyping and floorplanning of electronic circuit designs
CN106294916A (zh) * 2015-06-09 2017-01-04 天津三石科技有限公司 一种电缆网电路图的自动布图方法
US9996652B2 (en) * 2015-09-04 2018-06-12 Altera Corporation Incremental register retiming of an integrated circuit design
US9984194B2 (en) * 2015-09-15 2018-05-29 Arm Limited Integrated circuit design
US10002224B2 (en) * 2016-02-29 2018-06-19 Synopsys, Inc. Interactive routing of connections in circuit using auto welding and auto cloning
US10318683B2 (en) * 2016-05-20 2019-06-11 International Business Machines Corporation Clock domain-independent abstracts
TWI646315B (zh) 2017-11-15 2019-01-01 財團法人工業技術研究院 溫度估算裝置及溫度估算方法
CN110750946B (zh) * 2018-07-19 2023-08-18 澜至电子科技(成都)有限公司 集成电路网表仿真加速方法及其系统
CN110489812B (zh) * 2019-07-25 2020-08-25 广东高云半导体科技股份有限公司 多层层级网表处理方法、装置、计算机设备及存储介质
CN111143274B (zh) * 2019-11-13 2022-07-12 广东高云半导体科技股份有限公司 以逻辑综合结果为导向的层级结构优化方法及装置、系统
US11568633B2 (en) 2020-03-11 2023-01-31 International Business Machines Corporation Floorplan of a design for an integrated circuit
US11256837B1 (en) * 2020-06-30 2022-02-22 Cadence Design Systems, Inc. Methods, systems, and computer program product for implementing an electronic design with high-capacity design closure
CN112034331B (zh) * 2020-08-17 2023-04-18 北京时代民芯科技有限公司 一种基于fpga的电路模块测试方法
CN113792519B (zh) * 2021-11-18 2022-02-11 芯行纪科技有限公司 对电路进行布局规划的方法、电子设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5831869A (en) * 1995-12-15 1998-11-03 Unisys Corporation Method of compacting data representations of hierarchical logic designs used for static timing analysis
US6477683B1 (en) * 1999-02-05 2002-11-05 Tensilica, Inc. Automated processor generation system for designing a configurable processor and method for the same
US6799309B2 (en) * 2002-12-04 2004-09-28 International Business Machines Corporation Method for optimizing a VLSI floor planner using a path based hyper-edge representation
US7086029B1 (en) * 2003-01-06 2006-08-01 Xilinx, Inc. Incremental design using a group area designation
US7120883B1 (en) * 2003-05-27 2006-10-10 Altera Corporation Register retiming technique
US20060004557A1 (en) * 2004-07-01 2006-01-05 Synopsys, Inc. System and method for reducing size of simulation value change files
CN100372296C (zh) * 2004-07-16 2008-02-27 北京航空航天大学 具有二级决策内核的网络入侵检测系统及其报警优化方法
US7650580B2 (en) * 2006-01-03 2010-01-19 Synopsys, Inc. Method and apparatus for determining the performance of an integrated circuit

Also Published As

Publication number Publication date
WO2010104719A3 (en) 2011-01-13
CN101833590B (zh) 2014-05-07
US8181145B2 (en) 2012-05-15
TW201101079A (en) 2011-01-01
WO2010104719A2 (en) 2010-09-16
CN101833590A (zh) 2010-09-15
US20100235799A1 (en) 2010-09-16

Similar Documents

Publication Publication Date Title
TWI434191B (zh) 產生階層式電路設計的平面規劃之方法與設備及其非暫態電腦可讀式儲存媒體
US8407646B2 (en) Active net and parasitic net based approach for circuit simulation and characterization
US20180314783A1 (en) Placement and routing of cells using cell-level layout-dependent stress effects
US8266570B2 (en) Density-based area recovery in electronic design automation
US11205032B2 (en) Integrated circuit design method, system and computer program product
US20190065656A1 (en) Integrated metal layer aware optimization of integrated circuit designs
US20150121328A1 (en) Path-based floorplan analysis
WO2014106038A1 (en) Local clock skew optimization and incremental clock tree synthesis
TW201712578A (zh) 參數萃取之方法及其系統
US20220147678A1 (en) Systems and methods for capacitance extraction
US10002224B2 (en) Interactive routing of connections in circuit using auto welding and auto cloning
US20210248297A1 (en) Integrated circuit design method, system and computer program product
US20120131525A1 (en) Method and apparatus for fixing design requirement violations in multiple multi-corner multi-mode scenarios
US20150033197A1 (en) Clustering for processing of circuit design data
US8707242B2 (en) Optimizing a circuit design for delay using load-and-slew-independent numerical delay models
US8966429B2 (en) Bit slice elements utilizing through device routing
US8527927B2 (en) Zone-based area recovery in electronic design automation
JP6282285B2 (ja) ネットリストアブストラクション
US20090241082A1 (en) Method and System for Generating an Accurate Physical Realization for an Integrated Circuit Having Incomplete Physical Constraints
US9183330B2 (en) Estimation of power and thermal profiles
US9785736B2 (en) Connectivity-aware layout data reduction for design verification
US9293450B2 (en) Synthesis of complex cells
US10346578B2 (en) Placement-based congestion-aware logic restructuring
US20240086609A1 (en) Integrated circuit design method, system and computer program product
US10755023B1 (en) Circuit timing analysis