TWI287726B - Method, apparatus and machine-accessible medium for integrated circuit layout synthesis - Google Patents

Method, apparatus and machine-accessible medium for integrated circuit layout synthesis Download PDF

Info

Publication number
TWI287726B
TWI287726B TW091135845A TW91135845A TWI287726B TW I287726 B TWI287726 B TW I287726B TW 091135845 A TW091135845 A TW 091135845A TW 91135845 A TW91135845 A TW 91135845A TW I287726 B TWI287726 B TW I287726B
Authority
TW
Taiwan
Prior art keywords
configuration
layout
restrictions
limit
relative configuration
Prior art date
Application number
TW091135845A
Other languages
English (en)
Other versions
TW200304076A (en
Inventor
Vinoo N Srinivasan
Veerapaneni Nagbhushan
Kumar Lalgudi
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of TW200304076A publication Critical patent/TW200304076A/zh
Application granted granted Critical
Publication of TWI287726B publication Critical patent/TWI287726B/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
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Landscapes

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

Description

(i) 1287726 玖、發明說明 (發明說明應敘明:發贿屬之技術領域、先前技術、心、實施方式及圖式簡單說明 技術領域 — 本發明的具體實施例涉及積體電路設計工具的領域, 特言之’涉及使用相對配置的布局合成之方法及裝置。 先前技術 具有指疋區域限制的布局的時序收歛,對於許多積體電 路汉计疋很困難的問題。目前的方法牵涉到在電路設計、 位置及路徑和時序分析之間許多重複時間的損.毛。這個流 ‘可&疋既&且無法決^ ’造成專案管理的不確定性。 發明内容 从付疋範例為 一 1丨-一.丨工文,呵禋方式· 純手動和完全自動。使用丰# · 便用手動布局万式日寺,光罩設計者; 手動布局整個功能區塊。 、 ,…一、 尤雖然手動布局万式能夠擁有很遣 另一、 '目"地耗時,因此不適用非常大的設計, 万面,自動配置工具能夠處理大型嗖 加達成時序收歛的困雞戶, ^ 仁可肖匕片 Μ雖度,並限制設計者對 掌控程度。這是因為,7路+ 座生布局合、 、'、為了要使布局流程自動化,、+ _ τ 具的設計方式,係以鈐Λ t U 曰助化’每類J: 在-此情Π : 為基礎,自動作判斷和假設。 設可能發生錯誤,或無法表現” 者產生布局的意圖。 衣見彡又4 會發生這種狀況的原因之一异 提供設計者少量及小r =广傳統的自動配置通常只 料、“I &圍的使用者控制項,來強迫輸入杳 枓達到所希望的配置結果。在許多情況中,例如 被限制必須間接將時序限制 :’使用者 θ Μ、、,口重里或網絡/路徑 (2) //26 (2) //26 發明說明續頁 限制。依此方式’可能很難預期 、、 因此,可能必領要有這些間接限疋為廷些限制後的結果。 用自動化工具達到時序收歛的效制的重複和拉扯,才能使 可改為訴諸手動調整,但。另一方面,設計者唸 、 」把很耗費時n 還有,可能因為例如工程變更及、〆、、 尺寸有變化時,就發生另 /或机私改變,使晶格 常都利用布局壓縮來解1:二題…程改變為例,通 密區域限制下可能不=,::::點。純粹的壓縮在緊 、 用而且在重新合成時可能無法表 出設計者的原始意圖。細、 口 、、工過數代汉計重新使用之後,贫 計者的意圖可能完令丢丁 ^ 、> 口又 不到,導致效能損失或使用區 足的問題。 1 實施方式 :下將描述使用相對配置之正規結構的布局合成方法和 纟下列況明中’為說明起1,將使用到特定類型的 並:功5早位區塊、指令、物件族等。但是應了解到, 时〃"只她例也可以應用在例如其他類型的系統、功能 早位區塊、指令和物件族方面。
針對圖1且晋#舍、A Μ a只她例,在區塊105中,接收到指示彼此相 關的多個積髀帝 w A ^ 局物件的相對配置限制。至少在限制 中和疋的布局物件 J忭艾一,相較於至少另一指定布局物件 一,係位於不同声 、“及的階層架構。換句話說,對於具體實 ^ J 田 曰 ^ ^ I疋代表並處理邏輯網單階層架構的不同厣 、、及〒’實體物侔另 曰 11(), 干及/或兀件之間的相對配置限制。在區塊 报據相韻_耐班 士配置限制來配置布局物件。 1287726 __ (3) 發明說明續頁 使用一具體實施例的相對配置方式,積體電路設計者的 意圖可能更易於藉由輸入資料來表現,以致時序合成可能 更簡單。此外,用於一具體實施例時,來自原始設計的使 用者限制資訊,可用於產生設計增殖的布局,例如流程收 縮。依此方式,達成時序收歛所需的配置重複次數,相較 於例如直接布局壓縮,有所減少。這些及其他具體實施例 的進一步細節,在隨後說明中提供。 在下列說明中,將使用相對方位和配置術語,例如像水 平、垂直、左、和右、頂端和底部等詞彙。應瞭解到,這 些詞彙係指相對於布局的已知方位,兩度空間布局中的相 對方位和配置。對於不同的布局方位,不同的相對方位和 配置詞彙,可用來描述相同的物件或操作。 圖2是電腦系統200的方塊圖,較好實作其中一具體實施 例的相對配置方法和裝置。這個具體實施例中,電腦系統 200是一工作站電腦系統,例如像製造於美國加州帕羅奥 多市惠普公司的惠普HP 9000企業伺服器。其他類型的工 作站及/或其他類型的電腦及/或電腦系統,也可用於各種 不同的具體實施例。 該電腦系統200包括一處理器205,以使用執行單元210執 行指令。一快取記憶體215可耦合至或與處理器205整合, 以儲存最近及/或時常使用的指令。處理器205耦合到一匯 流排220,以便在電腦系統200中的處理器205和其他元件之 間傳送資訊。 也耦合到匯流排220還有一或多個輸入元件225,例如像 (4) 1287726 發明說明續聚 -s- 键盤及/或游棹拆 顯示器及/或二11元件,一或多個輪出元件23。’例如像 憶體(RAM)、唯J —或多祕體235(例如隨機存取記 斧續記憶體(ROM)及其他),其他周邊4 240(例如記憶體-β 口又備 、钇制4、圖形控制器、匯流排橋接哭 以及一或多個太旦处 狡扣寺), 里食者存元件及/或網路連接元件245。 該大量儲存分# 件及/或網路連接元件245可包括—廊跳 機、一小型圓盤唯#、 更碟 皿隹M i己憶體(CD-ROM)光碟機、_井雄讲# 機及/或一網路連接哭 先碟磁碟 耦合至一或多個並#+ , 卞书恥系統200 ^也兒腦系統或大量儲存元件。此 量儲存元件245可白虹、 卜’大 Τ匕括頭外或替代的大量儲存元 過網路(未顯示)由電腦 7叫兒細系統200來存取。 一對應的資料儲左紐_ 存々木租(或多個媒體)250(也稱為電 存取儲存媒體)可 3包知可 用來儲存處理器200所執行的指人 ^ 料及/或一或多個程式 7 、貝 式。對於一具體實施例,資料 體(或多個媒體<存媒 、)儲存用來執行布局合成的資訊、人 及/或程式255-262。對於二伽一 p 、‘々 引擎255接收一積體兩敌括 ί配置 、兒各、'泉路圖256、相對配置限制安 257、其他規則和限制⑸和—晶格程式庫259。 “ 為回應接收到的資訊,相對配置引擎255根 甘此 或所有物件所指定的相對配置限制Μ? , Α生包含在:: 晶格内布局物件的詳細配 、疋 丄… “ 酉己置260。對於一些具體實施例而 。’相對配置引擎2 5 5可能β山—人 杰、 J把疋也包含在傳統配置引 的自動配置引擎261的一郜?八 』… ^ 円 #份。相對配置引擎255和倍闲去 限制規格257,以下將更詳細地描述。 (5)1287726 發明說明續頁 對於一且嘲 ,、. 、/、隨貫施例,其他規則和限制258可包括,如』 設計及/或流程規^^ 口 制。設」、/或汉计樣式和配置方法學相關的限 7,和配置方法學相關限制的細節,至 份毗連配置晶袼之間的井位排列方式來決定。 # 通常’功能單位區塊(FUB)内的資料和控制流方 曰 和"“路的其他子單元彼此成直角。積體電路單元,=
可:义是標準型或加以旋轉,完全取決於檢視到的資料 况万向分別是是南/北向(垂直)或東西向(水平)。拼 、 ”科,凡万向的早兀,在此處稱為資料排列單元, 位排列万向為控制流方向者,則稱為控制排列單元 -°裘式,在此處稱為資料排列和控制 其他類型的規則和限制也可包含在樓案258中。【瞭知到 、/“各程式庫259是晶格特定樓案的資料庫。在—具“ 施例中’這些檔案包括的資訊,像特定分頁二貝 距和位开^ 4e J Ί乂兀間 片婁I。其他特定類型的晶格資訊及/或並 他類型晶格的資訊,另可包含其中。 x八
^業的專家應瞭解到,雖然圖2表示資料儲存媒體250 秘=一區塊,對於許多具體實施例而言,多個資料儲存媒 :一用來儲存資訊及/或指令255,及/或區塊W捕所 曰不的-些資訊及/或指令,可透過網路(未顯示)存取電腦 系統2〇〇。 圖;吏用相對配置實行布局合成的具體實施例方法,將參照 回 加以就明田下列範例具體實施例參考到資料路徑 、局a成的時候,另一類型的正規結構也可從各種不同 -10- 1287726 (6) 發明說明續頁
W 的具體實施例中獲益。
在圖3中的區-塊3 05,載入有用的線路圖256,以供相對配 置引擎255處理。在一具體實施例中,一次針對積體電路 裝置的一個晶格執行配置,其中一晶格實質上是該積體電 路的子單元。事實上,在一具體實施例中,以下所述之相 對配置,可指定用於功能單元區塊内,從全晶片到巨晶格 中,階層架構的每一層級的晶格。因此,這個具體實施例 的區塊305中,有用的特定晶格的線路圖,此處係指頂端 晶格,可加以載入。 在區塊3 10,對應到包含在所選取頂端晶格中的晶格的 一或多個晶格檔案,此處在一具體實施例中稱為分頁晶 格’從晶格程式庫259載入’以及在區塊315’破壞晶格的 線路圖階層架構以建立布局檢視,供配置引擎261使用。 在一具體實施例中,這個布局檢視是平的。在其他具體實 施例中,布局檢視可以是多層級階層架構的形式,以致於 可同時配置階層架構的多個層級。在一具體實施例中,晶 格線路圖的壓平由配置引擎255、261或262或其他引擎(未 顯示)其中之一執行,最後提及者轉合至該相對配置引擎 255。 在區塊320,用於所選取頂端晶格的一或多個相對配置 使用者限制檔案257載入,以供相對配置引擎255使用。相 對配置使用者限制檔案,包含包括在頂端晶格之内的布局 物件之相對配置的使用者指定限制。在一具體實施例中, 使用包括延伸集的相對配置運算子的程式語言,來開發相 -11 - 1287726
(7) 對配置使用者限制檔案。 為方便說明-,可用來供相對配置引擎255使用 配置的相對配置使用者限制檔案2 5 7的一此特丨生 乂產生 如下。雖然範例中使用特定的語法及運算; 知說明 專家將瞭解到,其他語法樣式和其他類刑的4 订業的 、相對配罾 關運算子,仍包含在不同的具體實施例 息和相 辱已臂内。 在一具體實施例中,例如,相對配置佞雨土 ^ 用者限制梓安。 可包括適用整個頂端晶格的處理的通用選路 田木257 、負,以及、高
端晶格之内指定的布局物件的物件特定m <用頂 制。此外,你 者可指定相對配置和絕對配置限制,各配 、 便用 内的一或多個層級的階層架構。額外的倭 ,局< 者規格可07 在相對配置使用者限制檔案257中,例如像每 吕 映射,以及其他限制類型的規格。 彳名稱的再 在一具體實施例中,通用選項,在牿仝κ 开疋頂端晶格的 向量化期間,可包括任何選項或限制, 擎255的操作。指定於相對配置使用1相對配置引
’ 1艮制檔案2 5 7戎JL # 限制檔案的通用選項類型範例,包括#〜 ^ 及/或起,點,指示是否保留文字的大小曰寫疋頂端晶格的邊界 路徑的位元數、單元的方位(例如標:[a : /或扎疋貝料 、 、 '破轉)、井位排列 万向(資料或控制)及/或控制排列物件的 J 7 J位置高产。 其他可指定的通用選項或限制,包 位元社椹 .a Μ — <用於整個晶格的 位兀〜構。在一具體貫施例中,例如, Λ設外去扣w σ 相對配置引擎255 為汉冲者提供彈性,以指定具有複 羊 位元結構,嗲R安1 f 衣位元間距圖案的 傅该圖案具有可變化的位 1距,及/或在每一 -12 - 1287726 (8) 發明說明續頁 位元間距内的子欄設計。 通用選項適用於整個範圍,而物件特定限制則僅適用特 定物件。在一具體實施例中,物件可以是以下三種類型之 一:實例、向量或族。 此處使用的詞彙,實例是配置引擎的基本物件,也是配 置的基本建置組塊。在一具體實施例中,每個實例有一定 義明確的繫結方塊,該方塊可以是預估或預先指定的。 向量是一連串相連或個別的實例,每個向量都佔據資料 路徑上的獨特位元位置。在控制排列單元或晶格中的實例 都排列整齊,因此其η井位相符。在資料排列設計中的實 例,會根據參數排列,例如像以下將更詳細討論的校準參 數。 族是配置在一起的實例、向量及/或其他族的集合。因 此,族可以位在任何階層架構的層級上。此處所提及的布 局階層架構,是指布局不同層級的精細度。例如,如上所 述,實例是其本物件,因此,是位在最低層級的布局階層 架構。向量是一連串的實例,因此,位在比較高的階層架 構。包括向量的族,則位於更高層級的階層架構,依此類 推。 在一具體實施例中,族可是硬式族或軟式族。對於硬式 族,族中所有物件的相對配置限制都已定義好。相反地, 對於軟式族,並未針對族中的所有物件,指定相對配置限 制。軟式族只是配置在一起的族(硬式或軟式)、向量及/或 實例的集合。 -13 - 1287726 (9) 發明說明續頁 在一具體實施例中,除了相對配置限制,相對配置引擎 255還可以為族及/或向量,指定及處理用於配置時的各種 不同其他類型的屬性。某些屬性類似或等同於可指定為通 用選項的屬性。在這種情況下,特定物件屬性在具體實施 例中將優先採用。若未指定特定物件屬性,則適用對應的 通用屬性。
指定給一具體實施例的特定物件屬性的範例,包括跨距 和位元結構、井位排列樣式、列位置高度、步距、排列指 標、高度和寬度或其他邊界限制和硬度。其他可指定給與 特定物件有關的限定屬性,包括物件是否要倒轉、摺疊或 分離。
寬距是指在個別向量或族内的位元數。與通用指定位元 結構不同的位元結構,可用來指定個別向量及或族。在一 族的具體實施例中,位元結構係指形成該族所執行操作的 結果,以下將詳細說明。例如,如果串連有不同位元間距 值的向量,則會產生較長的多位元間距族。 井位排列特定物件的屬性類似於以上討論的井位排列通 用屬性,且是一具體實施例的資料排列或控制排列的屬 性。依此方式,特定的族或向量可較通用指定樣式具有不 同的排列樣式。 具體實施例的列位置高度,僅用於控制排列物件,並忽 略資料排列物件。對於控制排列族而言,每一族都有一連 串的列位置,列位置資訊儲存為族的一部份。對於軟式族 而言,列位置高度可描述為一使用者限制。但是,對於其 -14 - (10)1287726 他族,列位 方位量和族 步距表示 中,預設的 各個位元部 有其他一致 位元部位是 校準屬性 地配置成例 平方向配置 準)。可指吳 心和網絡名 向左對齊, 件的其他選 對於這個 候,會配置 關的各種物· 有用’例如 控制網為準 是控制排列 南度和寬 族定義繫結 物件,配置 硬度屬性 發明說明續頁 -—^ 置南度貪‘可成為相對配置操作和所操作的特 的結果。 橫過位元部位實例的頻率。在一具體實施例 步距是1,以致於實例配置在所操作晶格中的 位上。指定為某些向量和族的其他步距,可具 的步距。例如,若是兩個為一步距,則每隔一 空白勺。 可用來指定物件所需的排列,該物件井然有序 如水平或垂直方向。在一具體實施例中,以水 的物件,預設要對齊物件的底部邊緣(底部校 〔為水平排列物件的其他選項,包括頂端、中 稱校準。物件配置成垂直排列,則他們預設為 也就是他們的最左側邊緣會對齊。水平排列物 項,包括右側、中心和網絡名稱校準。 具體實施例而言,當指定校準為網絡名稱的時 相關向量或族物件,以致於與指定網絡名稱有 件上的梢,全部會排列成一直線。這個選項很 ,用於資料排列單元,其中向量中的實例可以 來排列整齊。但是,在一具體實施例中,特別 單元,井位排列屬性的優先權超過校準屬性。 度或其他的邊界屬性也可用Hh口,為軟式 然後軟式族的所有
方塊。對於這個範例而言 在定義好的繫結方塊内。 -15 - (ii) I287726 發明詞;明續頁 具體實施例中’相對配置引擎255,以由上向下遞減和 由展部向上建-構式的遞減之建構式方法’建立一晶格配 置。依預i,所有向量是硬式的,且所有族建立成硬的, 除非特別指定’也就是當建構他們個別父代物件的時候, 他們内容的相對配置關係被視為相當固定。 a此外,纟-具體實施例中,物件以指定的軸為主旋轉特 =…旋轉的物件或物件的鏡射影像。此外,若有 二間限制,可能希望摺疊物件的多
^ L 〜為類似長度的兩個 的向量’或分離物件的多個行或位元部位。 為了要指定物件的相對配置,及 量,具體實施例可使用相對配置一、'、八秩及/或向 算子的範…包括水平步進置=。這類相對配置運
直鄭接、交錯和合併運算子,以下將i進、水平鄭接、垂 子。在-具體實施例中,當交錯和更砰細地描述各運算 及/或向量上運作的時候,水平步進、汗運异子在一連串族 接和垂直鄰接運算子,在—連串垂直步進、水平鄰 作。依預設,可考慮排列輸入清彳、向量及/或族上運 -連串物件。$外也可在—具:實扩與這些運算子相關的 定為假,以辨識一連串未附加=^例中,順序參數可設 並且,在-具體實施例中,所有、+要性的輸入。 新族,做為指定操作的結果 、些運算子都將傳回- 設是硬式族,因為相關的操作在輪入=形成的新族,依預 對配置。此外,如上所述, μ入清單中產生物件的相 ^ 一^具骨,金、 的族是硬式族,但是可視需要明戰她例中,依預設新 也識別為非硬式的。 -16 - 1287726 _ (12) 發明說明續頁 水平和垂直鄰接運算子分別導致相對配置引擎255,堆 疊一連串水平-或垂直的物件。如果清單是一已排列的清 單,清單的被連物件將彼此鄰接。在一具體實施例中,當 垂直鄰接操作導致物件從底部生長到頂端的時候,一水平 鄰接操作導致新开^成的物件從左向右生長。不同的預設構 造可作為其他具體實施例。
若物件的輸入清單未排列整齊,相對配置引擎255會判 斷配置物件的取佳順序。此外,在一具體實施例中,水平 和垂直步進操作也支援一跳躍規格,表示位移若干微米或 其他單位。若物件的輸入清單未排列整齊,鄰接運算子會 忽略某些具體實施例的所有跳躍規格。 具體實施例的水平和垂直步進運算子,或未指定方向的 步進運算子,會根據指定的位元結構,沿著控制流方向, 為物件的輸入清單定義相對配置。沿著控制方向,步進運 算子取得一連串的輸入物件,並使各物件從獨特的位元部
位開始堆疊他們。對於這個操作,纟一具體實施例中,多 個物件避免跨越相同的位元部位。 在一具體實施例中,步進運算子可去括 i您 文棱一步距及/ ¾ 跳躍規格。步距規格指示輸入清單中每— 二一二 1千爻間所跳 的位70位置數。跳躍規格個物 T足間所跳越的位 數0 的輪入清單可 列整齊,相對 類似如上所描述鄰接運算子,步進運算予 以排列整齊或不排列整齊。若輸入清單未排 配置引擎255可決定配置的順序。 -17- 1287726 (13) 發明說明續頁 一具體實施例的相對配置引擎255,設計成每一個步進 和鄰接運算子1都使用該輸人清單的繫結方塊。依此方式, 輻入清早中任何物件的硬度,不管物件是否指定為硬的或 不更在匕些鉍作期間都會維持不變。此外,這個且俨备 施例的被鄰接或所步進物件的繫結方塊,不會相交… 一 y成步進及/或鄰接操作結果的族位元結構,將视運算 兀:特性而疋。在一具體實施例巾,例如,如果資料流方
向疋垂直水平鄰接操作將導致族具有NULL(無)位元妹 構,即使所有運I 、'、口 ^ 、 异兀都具有有效的位元結構。對於相同的 範例而言,如果於女 果所有的輸入物件沒有等同的位元結構, 直鄰接操作將造成放 * 一 成狹具有null位元結構。如果所有運嘗 元都具有相同的位元灶 汁
U凡〜構,那麼該位元結構是父代物 位元結構。同趕、士加M J
7巧個乾例,如果一或多個子代物件有盔效 力的位元結構,乎、佳π A …、A 乂、&作將造成族具有NULL位元結構。 但是,如果所有早#仏μ 于代物件都具有有效的位元結構,則產生 的父代位元結構,3妨诚
疋根據予代物件配置順序的子代位元結 構的連結。 一具體實施例的令扭、蓄# ^ 、 、’曰運异子採用一.連串的向量和族當做 輻入,並以一個輪一 、 词八建异兀的總跨距數的跨距,傳回新的 交錯族。交錯換# A ★ 乍的乾例和對應結果的圖例,如圖4所示, 以下將參考該圖。 /、ta實施例中,像步進操作,相對 配置引擎255沿著,制、*、 ^ 夺工制"丨u万向執行交錯操作。 在一具體實施例中,、 所有交錯操作的輸入運算元,必須 具有有效的位元沾播 、 ° 斤產生的族位元結構,等於交錯的 -18- 1287726 發明說明續頁 (14) 輸入運算元的位元結構。此外,一具體實施例的交錯操作, 取得輸入運算元的已排列清單。 具體實施例的合併運算子,導致一連串的向量及/或族 的内容,以位元方式合併。產生自合併的新族,以致於所 產生的族的各位元位置,包括屬於各合併物件中個別位元 位置的實例的集合。產生的族跨距,等於具有已合併之最 大跨距的物件之跨距。
一具體實施例的合併操作,可執行在排列整齊或未排列 輸入運算元上,其中相對配置引擎255決定未排列運算元 的順序。在一具體實施例中,在執行合併操作之前,配置 引擎255,將輸入運算元清單中所有非硬式輸入物件,擴 展為他們的硬式元件。對於排列整齊的合併,然後相對配 置引擎255執行列出物件的簡單包裝,以配置物件。
在一具體實施例中,合併操作需要被合併的位元物件的 結構是相容的,也就是各物件的對應位元的位元結構,如 果存在,是彼此相同的。產生的族位元結構是有最大跨距 的輸入物件的位元結構。 為說明起見,圖4提供包括一些已述及運算子的相對配 置限制的範例規格。這些運算式的右邊,是一指定操作的 對應結果圖示,該操作由具體實施例相對配置引擎255所 執行。在圖4範例中,顯示一標準的單元(就方位而言)。 這個圖若轉動90度,本質上說明在旋轉單元上類似操作的 效果。 如圖4顯示的相對配置操作,使用一範例語法來加以指 -19- 1287726 (15) 發明說明續頁 定。應瞭解到,所思考出指定執行類似上述功能或類似其 他相對配置運算子功能的相對配置運算子之其他方法,仍 落在各種不同具體實施例的範田壽之内。 運算式(1)顯示包括實例a[0: 9]的向量VI的範例定義。運 算式(2)顯示包括實例b[0··4],步距為2的向量V2的範例定 義。運算式(3)是向量V3的範例定義,該向量包括實例c[〇]、 c[5]和c[6:8],以及d[〇:3]每隔一的元件’也就是d[〇]和d[2]。 繼續參照圖4,運算式(4)顯示向量V4的範例定義,略過 前兩個位元位置,然後元件j [ 0: 1 ]包括在其中。運算式(5) 是向量V 5的範例定義,其中指定物件的相對配置使用「步 進」運算子沿著控制方向加以定義,向量V 3和V 4的元件 彼此交錯,並且加入元件i(0)。 運算式(6)是向量V6的範例定義,其中合併向量VI和V2。 運算式(7)顯示向量的範例定義,其中包括實例x[〇:4]和 y[0:4]的向量合併元件,與包括Tall[〇:4]的向量’彼此交錯。 對於這個範例,Tal1是指元件延伸至多個列位置。最後, 運算式(8)顯示族hg的範例規格,由垂直鄰接的向量V6沿 著控制流方向與向量V7和族zzinst形成。 現在回頭參照圖2和3,在一些具體實施例中,相對配置 引擎255也支援指定物件的絕對配置及/或打通物件内空間 的機制。 絕對配置限制可用來’例如,指定軟武权子代物件的物 件配置。這類絕對配置限制可指定為,例如,來自父代物 件起點或一位元邵位偏移量的絕對偏移量。其他類型的絕 -20- 1287726 發明說明續頁 (16) 對配置限制,可由其他具體實施例的相對配置引擎255來 支援。 _ 為了例如路由或其他類型晶格配置區域的分配,物件之 内的空間可加以打通。在一具體實施例中,空間可以若干 方法插入族内。
例如,一水平通道運算子可用來打通一跨越相關族長度 的水平路由通道。所需水平通道的指定方式,可使用從起 點算起的y偏移量,或是族的一個角,以及以微米或通道 其他單位為單位的高度。 一垂直通道運算子可用來打通一跨越相關族高度的垂直 路由通道。垂直通道運算子可與以下各項合用,包括:從 起點算起的X偏移量,或是族的一個角,以及以微米或其 他單位為單位的通道長度。指定通道的其他方法是落在本 發明各種具體實施例的範疇之内。
開放位元運算子可用於具有有效位元結構的具體實施例 的族上,以開放某個數量的位元位置。例如,可使用要開 放的開始位元和許多位元,指定開放位元位置。 開放空間運算子可用來在相關族内的任何地方,開啟一 矩形或其他空間。例如,在一具體實施例中,可利用其若 干頂點,指定開放空間。 也可使用類似開放空間運算子的開放禁入區運算子。對 於一些具體實施例而言,開放禁入區運算子,可用來區別 可作為其他類型晶格的空間(開放空間)和不供任何晶格使 用的空間(開放的禁入區)。 -21 - 1287726 (17) 發明說明續頁 在一具體實施例中,上述及/或其他空間插入操作,可 在執行其他相對配置操作並建立產生的族之後,當作後處 理動作來加以執行。對於這個具體實施例而言,在插入要 求的空間之後,合法化和位元結構會自動更新。原本在建 立空間區域中的任何物件,會由相對配置引擎255推出空 間之外。 可由相對配置引擎255處理的其他類型限制,包括,例 如,向量索引限制、向量及/或梢排除限制及/或網絡長度 及/或重量限制。 向量索引限制可用來指定用於自動向量化期間,增加索 引實例名稱的索引。向量及/或梢排除限制可用來指定自 動向量化期間可忽略的一連串實例或梢。這可能是有用 的,因為設計時常會將看起來像向量一樣的實例,包含到 例如,以他們名稱為基礎的自動配置引擎,但事實上那不 是真的向量。 網絡長度及/或重量限制可用來指定以微米或其他單位 為單位的最大長度,及/或額外重量,或是某些網絡的優 先權。這些網絡長度及/或重量限制,可用來,例如,對 相對配置引擎255指示,將實例連接執行時間臨界網絡拉 近一點。 雖然範例通用選項、物件規格、物件類型、族運算子、 絕對限制和其他類型的規格和限制已描述如上,但仍應瞭 解,還有不同具體實施例的相對配置引擎255可支援以上 未描述的不同類型規格、物件類型、運算子及/或限制, -22- I287726 (18) 發明說明續頁 或無法支援上述所有規格、物件類型、運算子及/或限制。 現在回頭參照圖3,在區塊325,相對配置引擎255根據在 相對配置限制檔案2 5 7中指定的限制,自動向量化在區塊3 1 5 被破壞的晶格。對於一具體實施例而言,相對配置引擎255 將有用的頂端晶格識別為頂層物件,且所有其他物件都視 為頂端晶格的子代。因此,每個物件除了頂端晶格物件之 外’都有父代族或物件。在一具體實施例中,參照圖5, 在區塊505,相對配置引擎255首先根據使用者指定的限制, 配置在相對配置使用者限制檔案257中指定的實例、族及/ 或向量。然後,在區塊5 10,決定是否有任何未經處理的 剩餘實例。如果有,然後在區塊5 15,這些實例被視為頂 端晶格物件的一部份,因此視為是軟式族,並且該相對配 置引擎繼續根據傳統自動配置引擎的標準自動配置程序, 自動地配置剩餘的實例。 在一具體實施例中,因為使用者可針對要配置的某些或 全邵實例,指定相對配置限制,所以相對配置使用者限制 檔案257,可彌補自動配置規則和傳統自動配置引擎判斷 的不足,或完全取代他們。例如,設計者可選擇只指定重 要路經上實例的相對配置限制,並允許傳統配置引擎自動 配置剩餘的實例。因此,具體實施例的配置合成方法,為 叹計者提供決定控制配置程度的彈性。 回頭參照圖3,在區塊D 0 ’提供詳細的配置。在區塊3 3 5, 決定配置是否需要修改。如果需要,則在區塊340,修改 相對配置使用者限制檔案257,並在區塊320重新載入。一 -23 · 1287726 發明說明續頁 (19) 旦詳細的配置可接受,則在區塊345,執行其他設計相關 的流程,例如-像通用路由、混雜分析、預先路由及/或詳 細路由。 對於積體電路設計中剩餘的頂端晶格’可重複上述流 程,直到所有頂端晶格都產生詳細配置或積體電路的其他 子單元。 在某些環境中,例如像流程轉換,可能需要為現有設計 提供新的詳細配置。參照圖6,在一具體實施例中,當原 始配置的相對配置使用者限制檔案605存在時,可再度使 用相同的檔案,執行新設計的詳細配置。另一方面,當原 始的相對配置使用者限制檔案,因某些理由不存在的時 候,如圖7所示,相對配置限制擷取引擎705可用來擷取原 始詳細配置7 1 5中的相對配置限制7 10,並使用這些限制提 供新的詳細配置720。在任一情況下,配置剩餘位置的方 法,可能類似上述方法。 使用這些方法,即使由多個設計產生,設計者對配置的 原始意圖仍會保留。這可協助減少配置重複的次數,使新 設計達到執行時間的收歛。 因此,使用相對配置之正規結構的布局合成方法和裝 置,描述如上。在以上之說明中,本發明已參考特定之示 範具體實施例來做說明。但是,顯而易見,可進行各種變 更及修改,而不會脫離本發明廣大的精神及範疇。因此該 說明及圖面應視為說明性質,而不具有限制的意義。 圖式簡單說明 -24- 1287726 發明說明續頁 (20) 本發明將藉由實例及附圖來進行解說,但本發明並不受 限於這些實例-及附圖,其中相似的參照值代表相似的元 件,並且其中: 圖1流程圖顯示使用一具體實施例的相對配置方式產生 布局具體實施例的方法。 圖2是一電腦系統方塊圖,其中實作一具體實施例的相 對配置方式。 圖3流程圖顯示使用一具體實施例的相對配置方式產生 布局具體實施例的方法。 圖4顯示所產生物件的範例相對配置限制運算式和對應 的圖例。 圖5流程圖顯示一具體實施例自動配置引擎的操作。 圖6方塊圖顯示使用先前指定的使用者限制產生經過修 正的配置具體實施例的方式。 圖7方塊圖顯示使用先前指定的使用者限制產生經過修 正配置的另一具體實施例的方式。 圖式代表符號說明 105 區塊 110 區塊 200 電腦系統 205 處理器 210 執行單元 215 快取記憶體 220 匯流排 -25- 1287726 發明說明續頁 (21) 225 輸 入 元 件 230 輸 出 元 件 235 記 憶 體 240 周 邊 設 備 245 網 路 連 接 元 件 250 資 料 儲 存 量 媒 體 255 相 對 配 置 引 擎 256 積 體 電 路 線 路 圖 257 相 對 配 置 使 用 者 限制檔案 258 其 他 的 規 則 和 限 制 259 晶 格 程 式 庫 260 詳 細 的 配 置 261 白 動 配 置 引 擎 262 傳 統 的 配 置 引 擎 305 區 塊 310 區 塊 315 區 塊 320 區 塊 325 區 塊 330 區 塊 335 區 塊 340 區 塊 345 區 塊 505 區 塊 -26- 1287726 發明說明續頁 (22) 510 區塊 515 區塊- 605 相對配置使用者限制檔案 705 相對配置限制擷取引擎 710 相對配置限制 715 原始的詳細配置 720 新的詳細配置 -27-

Claims (1)

1287以呑 135845號專利申請案 中文申請專利範圍替換本(96年 日修(更)正本
拾、申請專利範園 L 一種積體電路布局人 口成方法,包含: 接收相對配置限制 此相Μ Μ $ ^ ^ 琢相對配置限制資訊指示彼 此相關的複數個布 ^ 個布局物件的一第.^ 中至y孩複數 第一個從 卜個,與至少該複數個布局物件的一 罘一個,係位於尤&丄 相诚 以及 根據相對配置限制咨 2 “制貝訊自動配置該複數個布局物件。 2·如申請專利範圍第丨項之方法,進一步包括. 二-傳統配置引擎,自動配置一積體電路布局的任 何剩餘的布局物件。 3·如申請專利範圍第丨項之方法,並 、 ,、〒接收相對配置限制資 訊,包括: 、 接收資訊,指示盘一篥一龙 ^ 罘一布局物件有關的一第一布局 物件的一相對配置,並中該第一 — 且 /、丫成罘和罘一布局物件,各是 實例、族或向量其中之一。 4.如申請專利範圍第3項之方法,其中接收指示一相對配置 的資訊,包括: 接收資訊,指示根據一組相對配置操作其中之一,將 孩第一布局物件配置在與該第二布局物件有關的位置, 該組相對配置操作包括··水平步進、垂直步進、水平鄭 接、垂直鄰接、交錯和合併。 >·如申請專利範圍第4項之方法,其中自動配置,包括·· 如果相對配置限制資訊中未指定順序,則決定配置布 1287726 局物件的順序。 6·如申請專利範圍第4嗔之方法,進一步包括 建立-新的族’做為各组相對配· 7·如申請專利範圍第6項之方法^ ^ ^乍的—結果。 以下步驟: 、 /、中建立-新的族,包括 建立-硬式族’其中指定該硬式族 對配置限制,以及 布局物件的相 建乂一軟式族,其中不指定軟式族中各 對配置限制。 布局物件的相 申’專利範圍第3項之方法,其中接收 限制資訊,包括·· 野配置使用者 接收絕對限制資訊,該絕對限制資訊、 袼、一禁入區規格和-開放位元規格其中、2間規 9·如申請專利範圍第!項之方法,其中接收相:" 訊,包括·· 士配置限制資 接收指定通用選項的資訊’該通用選,· 邊界、-資料路徑中的位元數、一單匕-或多個 排列方向、-列位置高度和一位元結構:万位、-井位 1〇_如申請專利範圍第9項之方法,其中自 件,包括: -置該複數個物 除非接收到—相抵觸的物件特定 的通用選項套用至每一個 否則會將指定 至母個複數個布局物件。 .〇申請專利範圍第1項之方法 包括: 中接收相對配置資訊, 1287726
接收物件特定限制,該物件特 =、—位71結構、—井位排列樣式、=括—或多個跨 12!:、—高度和寬度以及-硬度指示:高度、— 12·如中請專利範圍第η項之方法,其中:重 當也有指定一相抵觸的通用選项時自動配置,包括: 套用至相關的布局物件。 、將物件特定限制 13·-種積體電路布局合成裝置,包括· —相對配置?丨擎’可產生-詳細的配置 到指定複數個布局物件和_ ’ ^應接收 使用去阳制扣. 、’用者限制的線路圖,哕 俛用者限制指疋彼此相關的至少某各Η及 置’至少指定物件的其中之一 …物件的-配 - 〃 —個指定物杜,A 义不同層級的布局階層架構。 牛位 如申清專利範園第13項之裳置,進_步勺括 —傳統配置引擎,耦合至相對配置=: 弓丨擎與相對配置引擎合用,以產生詳孩傳統配置 座玍砰細的配置,該傳统 配置引擎可配置使用者限制中未指定的布局物件。,·’ 15.如中請專利範圍第u項之裝置,進—步包括: 一*限制擴取引擎,可接必 楚一包4 —、 接收一弟砰細配置,並從該第 —詳細配置擷取提供給相對配置引擎的使用者限制資 訊,以產生一經過修訂的詳細配置。 16·如申請專利範圍第13項之裝置,其中相對配置引擎接收 到的使用者限制資訊,包括: 相對配置資訊,指示與至少一第二布局物件有關的至 少一第一布局物件之一相對配置。 1287726
圍第16項之裝置,並中 ^ 八甲礅罘一和第二布局 實例、族和向量其中之一。 17·如申請專利範 物件,各是一 18·如申請專利範 包括: 圍第17項之裝置 其中該相對配置資訊, ^ η 組:¾ 权平步進運算子、一垂直步進運算子、一水 # 子、一垂直鄰接運算子、一交錯運算子和一人,要、异 19_如申請表〃产 和白併運算子 甲,專利範圍第13項之裝置,並中 訊,包括: ,、中该使用者限制| 物件特定限制,來自-組物件特定限制,· 、位元結構、井位排列樣式、列 · 列指炉上 4 1罝问度、步距、 扣‘、高度、寬度和硬度。 2〇·如申請專利範圍第19項之裝置 訊,包括: 八中琢使用者限制 通用限制,來自一組通用限制, 起點、一次j 丄l 匕栝·一邊界、 貝料路徑中的位元數、—I -仏、 排列方Λ t 兀9方位,一井 万向和一列位置高度。 开 •如申請專利範圍第20項之裝置, 制與一 is _ 、肀如果一物件特定 通用限制相抵觸,則該物件縣令 22.如申社* 特疋限制擁有優弁4 P月專利範圍第13項之裝置,复φ、、 先才 訊’包括: 其中孩使用者限制 、、、邑對限制,來自一组絕對限制,勺知. 一障礙隈也丨 匕拾··—空間限击 限制、-開放位元限制、_、網絡 限带 1287726 23· —種積 接收 件; 接收 一組複 件,與 層架構 根據 第一組 使用 餘物件 24. 如申請 規格, 接收 有關的 操作,· 一水平 一垂直: 25. 如申請 規格, 接收; 包括: 和一網i 26. 如申請
體電路布 一積體電 複數個物 動配置該 的任何剩 局合成方法,包含: 路線路圖,該圖指定要配置的 彳限制規格,孩使用者限制 數個物件的一相對配f,兮^ ^ ' ,第―相對配置❹ '组中至少-個· 以、”且中另一個物件’位於不同層級的布局R 使用者限制規格中指示的相對配置,自 中的物件;以及 傳統配置方式,自動配置線路_所指定 專利範園第23項之方法,其中 八T接收一使用者限舞 包括: ::對配置資訊旨示與第一組中的第二布局物个 第-組中的一第一布局物件上所執行的相對配】 該相對配置操作是一組操作的其中之一,包括: 步進操作、一垂直步進操作、一水平鄰接操作 鄰接操作、一交錯操作和一合併操作。 專利範圍第23項之方法’其中接收-使用者限, 包括: 絕對配置資訊’包括來自一組的絕對配置操作, 一開放空間操作、-障礙操作、-開放位元操七 絡長度或重量操作。 專利範圍第26項之方法,進一步包括: 1287726
在自動配置物件之後,處理絕對配置資訊,以及 在處理絕對配置資訊之後,調整物件的自動配置。 27.如申請專利範圍第23項之方法,其中接收使用者限制資 訊,包括: 接收通用選項,該通用選項來自一組選項,包括:一 邊界、一起點、一資料路徑中的位元數、一單元的方位、 一井位排列方向、一列位置高度和一位元結構,
接收物件特定限制,該物件特定限制來自一組限制, 包括:一位元跨距、一位元結構、一井位排列樣式、一 列位置高度、一步距、一高度、一寬度和一硬度,以及 使一物件特定限制的優先權高於一相抵觸的通用選 項。 28. —種積體電路布局合成方法,包含: 接收用於第一個設計的相對配置限制資訊;
接收與一第二個設計有關的流程和其他限制;以及 接收指定第二個設計所要配置物件的一線路圖;以及 使用第一個設計的相對配置限制資訊,為第二個設計 提供詳細的配置。 29. 如申請專利範圍第28項之方法,進一步包括: 從第一個設計的詳細配置,擷取第一個設計的相對配 置限制資訊。 30. —種積體電路布局合成之機器可存取媒體,該媒體包括 資料,當一機器存取該資料時,會導致該機器: 產生一詳細的配置,以回應接收到指定複數個布局物 -6- 087726
件和一組使用者限制的線路 相關的至少某些布局物件的 中之一,與另一個指定物件 ^:構。 圖,該使用者限制指定彼此 一配置’至少指定物件的其 ,位於不同層級的布局階層 31·^請專利範圍第30項之機器可存取媒體,其中 存取的媒體進—步包括資料,當一機器存取該資料時, 會導致該機器: 根據使用者限制中所指定的相對配置限制,配置—第 y組的複數個布局物件,以及 根據傳統配置技術,配置剩餘的複數個布局物件。 32·如申請專利範園第31項之機器可存取媒體,其中該相對 配置限制,包括一組相對配置限制的其中之一,包括· 〆水平步進限制、一垂直步進限制、一水平鄰接限制、 一查直鄰接限制、一交錯限制和一合併限制。 33·如申請f利範園第31項之機器可存取媒體,其中該使用 |限制貝訊,包括來自一組的絕對限制,包捂:一開放 空間限制、-障礙限制、_開放位元限制、_網絡二 限制和一網絡重量限制。 又 34·如申請專利範圍第31項之機器可存取媒體,其中該使用 暑限制資訊指定來自一組通用選項的一通用選項,包 栝·邊界、一起點、一資料路徑中的位元數、一單元 的方仏、一井位排列樣式、一列位置高度和一位元結構。 35.如申請專利範園第34項之機器可存取媒體,其中該使用 著限制資訊指定來自一組物件特定限制的物件特定限 1287726
制,包括一跨距、一位元結構、一井位排列樣式、一列 位置高度、一步距、一高度、一寬度和一硬度。 36.如申請專利範圍第35項之機器可存取媒體,其中如果使 用者限制資訊所指定的一物件特定限制,與一通用選項 相抵觸,則套用該物件特定限制。
-8- 105 第091135845號專利申請案 中文圖式替換本(96年4月) 開始 如果布局物件位於不同層級 的階層架構,則接收到指示 相對配置的使用都限制 根據使用者指定的限制 自動配置分局物件 110 結束
1287726 ί 200 ίβ25Z 261 T 262 辦^微^^ 259 兹摩锷N s 255 ^ss ^PR.J 258 ^r^N 260 s$ s 250 k, ^^雜^④丰^ 245
2 ♦ BUS 220 -2- 1287726
-3- 1287726 規格 (1) V1 = vector{a(0:9)} (2) V2 = vector (stride 2) {b(0:4)} (3) V3 = vector{c(0,5,6:8) d(0:3:2)} (4) V4 = vector{skip(2) j(0:1)} (5) V5 = step{interleave{v3 v4} i[(0)]} (6) V6 = merge{V1 V2} (7) V7 = interleave {vector{Tall(0:4)} merge{vector{x(0:4)} vector{y(0:4)} (8) hg = Vabut{V6 step{v7 zzinst}} 意 含
1------ -^\\\\v§§ !k、n、、\、、、、/j a[〇] Q c[〇] c[〇] <»、/< </$///< 、、、、//! a[2] ! ^ b[1] a I 丨]c[6] 1 j[〇] i c[5] c[7] 圍 j[1] Q 溺 :[8] i :[6] 誰 m j[〇] b[3· a* i d[2] i c[7] 1 j[1] ο 錢 c[8; a[9] 睡 d[0; 議ί d[2] nst Q ! ^ Q 〇 Q m ύ 巨 向1 « 1 ill! ;ii! i 111 II 1 I roVe elei tor rien wh( tiS( 丨see ims very era oth sr 1 1 _ si! 沿i 1 i 111 i 11 1 o ! ^ o o Q 2 6 位 圖4 1287726 c t
-5- 1287726
TW091135845A 2001-12-31 2002-12-11 Method, apparatus and machine-accessible medium for integrated circuit layout synthesis TWI287726B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/039,637 US6757878B2 (en) 2001-12-31 2001-12-31 Method and apparatus for layout synthesis of regular structures using relative placement

Publications (2)

Publication Number Publication Date
TW200304076A TW200304076A (en) 2003-09-16
TWI287726B true TWI287726B (en) 2007-10-01

Family

ID=21906551

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091135845A TWI287726B (en) 2001-12-31 2002-12-11 Method, apparatus and machine-accessible medium for integrated circuit layout synthesis

Country Status (4)

Country Link
US (2) US6757878B2 (zh)
AU (1) AU2002367362A1 (zh)
TW (1) TWI287726B (zh)
WO (1) WO2003058514A2 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4279782B2 (ja) * 2002-10-10 2009-06-17 富士通株式会社 レイアウト方法及び装置並びにそのプログラム及び記録媒体
US7127698B2 (en) * 2003-04-17 2006-10-24 Lsi Logic Corporation Method for reducing reticle set cost
US7194720B1 (en) * 2003-07-11 2007-03-20 Altera Corporation Method and apparatus for implementing soft constraints in tools used for designing systems on programmable logic devices
US8589849B1 (en) * 2003-07-11 2013-11-19 Altera Corporation Method and apparatus for implementing soft constraints in tools used for designing programmable logic devices
US7376922B2 (en) * 2003-09-30 2008-05-20 Intel Corporation Method and apparatus for integrated circuit datapath layout using a vector editor
US7448012B1 (en) 2004-04-21 2008-11-04 Qi-De Qian Methods and system for improving integrated circuit layout
JP4400428B2 (ja) * 2004-11-22 2010-01-20 エルピーダメモリ株式会社 半導体集積回路の設計方法と設計装置並びにプログラム
EP1907957A4 (en) * 2005-06-29 2013-03-20 Otrsotech Ltd Liability Company INVESTMENT METHODS AND SYSTEMS
US7752588B2 (en) * 2005-06-29 2010-07-06 Subhasis Bose Timing driven force directed placement flow
US7386823B2 (en) * 2005-07-20 2008-06-10 Springsoft, Inc. Rule-based schematic diagram generator
US8332793B2 (en) * 2006-05-18 2012-12-11 Otrsotech, Llc Methods and systems for placement and routing
US20090254814A1 (en) * 2008-04-08 2009-10-08 Microsoft Corporation Per-edge rules and constraints-based layout mechanism
US8245173B2 (en) 2009-01-26 2012-08-14 International Business Machines Corporation Scheduling for parallel processing of regionally-constrained placement problem
US20100218081A1 (en) * 2009-02-23 2010-08-26 Norman Michael D Method for ordering information
US8453093B2 (en) * 2011-10-17 2013-05-28 International Business Machines Corporation Alignment net insertion for straightening the datapath in a force-directed placer
US9041428B2 (en) 2013-01-15 2015-05-26 International Business Machines Corporation Placement of storage cells on an integrated circuit
US9021328B2 (en) 2013-01-15 2015-04-28 International Business Machines Corporation Shared error protection for register banks
US9201727B2 (en) 2013-01-15 2015-12-01 International Business Machines Corporation Error protection for a data bus
US9043683B2 (en) 2013-01-23 2015-05-26 International Business Machines Corporation Error protection for integrated circuits
US9411925B2 (en) 2014-04-14 2016-08-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Simultaneously viewing multi paired schematic and layout windows on printed circuit board (PCB) design software and tools
US9552205B2 (en) * 2013-09-27 2017-01-24 Intel Corporation Vector indexed memory access plus arithmetic and/or logical operation processors, methods, systems, and instructions
US9436791B1 (en) 2015-03-24 2016-09-06 International Business Machines Corporation Optimizing placement of circuit resources using a globally accessible placement memory
US10296655B2 (en) * 2016-06-24 2019-05-21 International Business Machines Corporation Unbounded list processing

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5097422A (en) * 1986-10-10 1992-03-17 Cascade Design Automation Corporation Method and apparatus for designing integrated circuits
US4918614A (en) * 1987-06-02 1990-04-17 Lsi Logic Corporation Hierarchical floorplanner
US5838583A (en) * 1996-04-12 1998-11-17 Cadence Design Systems, Inc. Optimized placement and routing of datapaths
JPH1185496A (ja) * 1997-09-03 1999-03-30 Fujitsu Ltd オブジェクト指向プログラム作成支援装置
US6237129B1 (en) * 1998-03-27 2001-05-22 Xilinx, Inc. Method for constraining circuit element positions in structured layouts
US6243851B1 (en) * 1998-03-27 2001-06-05 Xilinx, Inc. Heterogeneous method for determining module placement in FPGAs
US6594808B1 (en) * 1998-11-06 2003-07-15 Intel Corporation Structural regularity extraction and floorplanning in datapath circuits using vectors
US6567967B2 (en) * 2000-09-06 2003-05-20 Monterey Design Systems, Inc. Method for designing large standard-cell base integrated circuits

Also Published As

Publication number Publication date
US6757878B2 (en) 2004-06-29
US7350174B2 (en) 2008-03-25
TW200304076A (en) 2003-09-16
WO2003058514A3 (en) 2004-11-18
AU2002367362A1 (en) 2003-07-24
WO2003058514A2 (en) 2003-07-17
US20040243963A1 (en) 2004-12-02
US20030126571A1 (en) 2003-07-03

Similar Documents

Publication Publication Date Title
TWI287726B (en) Method, apparatus and machine-accessible medium for integrated circuit layout synthesis
Chen et al. Modern floorplanning based on fast simulated annealing
CN101796538B (zh) 以基于相对面积的控制在页面上布置图形对象的方法和系统
US8010575B2 (en) System and method for redistributing interest in a hierarchical data structure representation
TW490624B (en) Subgrid detailed routing
US8078962B2 (en) Apparatus and method for generating web site navigations
US20060092295A1 (en) Features such as titles, transitions, and/or effects which vary according to positions
WO2001031503A1 (fr) Dispositif et procede de structuration/tri d'informations multimedia
US20060066610A1 (en) Method, device, and computer program product for displaying 3D grid in designing configuration model
CN107463692A (zh) 超大文本数据同步到搜索引擎的方法和系统
CN110442824A (zh) 数据管理的实现方法、存储介质和设备
US9177093B2 (en) Routing interconnect of integrated circuit designs with varying grid densities
US20070297009A1 (en) Print data generating apparatus, print data generating method, and computer-executable program
JP6977565B2 (ja) 検索結果出力プログラム、検索結果出力装置および検索結果出力方法
US20050240358A1 (en) Genome information display system
JP2877083B2 (ja) 回路設計の最適化装置
JP2006195704A (ja) 文書管理装置、文書管理方法、プログラムおよび記録媒体
CN109684024A (zh) 多窗口的显示方法、智能终端及计算机可读存储介质
US7895561B2 (en) System and method for text based placement engine for custom circuit design
JP3972692B2 (ja) 複数要素一括選択プログラムおよび複数要素一括選択方法
US8832632B1 (en) Compact routing
WO1998055950A1 (en) Integrated circuit layout synthesis tool
WO2007037629A1 (en) System and method for managing bundle data database storing data association structure
US20060136515A1 (en) Content synthesis device, content synthesis method, contents synthesis program, computer readable recording medium containing the content synthesis program, data structure of content data, and computer readable recording medium containing the content data
JP2005070946A (ja) カプセル化文書処理装置、カプセル化文書処理方法、およびカプセル化文書処理プログラム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees