TWI521370B - 用於產生時鐘網路拓撲之暫存器叢集方法、系統及其電腦可讀取記錄媒體 - Google Patents
用於產生時鐘網路拓撲之暫存器叢集方法、系統及其電腦可讀取記錄媒體 Download PDFInfo
- Publication number
- TWI521370B TWI521370B TW103119494A TW103119494A TWI521370B TW I521370 B TWI521370 B TW I521370B TW 103119494 A TW103119494 A TW 103119494A TW 103119494 A TW103119494 A TW 103119494A TW I521370 B TWI521370 B TW I521370B
- Authority
- TW
- Taiwan
- Prior art keywords
- register
- cluster
- registers
- candidate
- timing
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/396—Clock trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
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)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
本發明係關於一種用於時鐘網路拓撲之產生之暫存器叢集。
在積體電路(IC)晶片之設計流程中,在將邏輯閘層次網表(gate level netlist)分割成不同區塊之後,接著則基於該等區塊的位置設計安排一上層時脈網路,其中上層時脈網路包括根源於一時脈源(例如鎖相迴路)之時脈幹及俟與時脈槽點(sink)(例如暫存器)相連接之分接點(tapping point),而後則將用於分別實現邏輯閘層次網表中之邏輯閘及暫存器之各個單元佈局於IC晶片設計中不同之特定位置,接著,透過創建與不同分接點相關聯之暫存器叢集而生成一時脈網路拓撲結構,隨後並執行用於產生暫存器與分接點間連接關係之線圖之時脈網路合成。
本揭露提供一種由至少一處理器執行之方法,其包含:由該至少一處理器接收一經佈局之積體電路(IC)晶片設計之一實體網表,該實體網表包含複數個暫存器;由該至少一處理器獲得該等暫存器中之暫存器對之時序關鍵性;由該至少一處理器形成多個暫存器叢集,其
包含;識別位於一第一暫存器叢集之實體周邊區域之候選暫存器;及自該等候選暫存器中選擇將加入於該第一暫存器叢集之一第一暫存器,其中位於一跨越該第一暫存器叢集之一邊界且具有一較高時序關鍵性之暫存器對中之一候選暫存器相對於較接近於該第一暫存器叢集之一候選暫存器為優先,以及和位於不同叢集中之暫存器相較,位於相同叢集中之暫存器具有較短之非共同時序路徑。
在一些實施例中,該方法,其進一步包含:基於該等暫存器對之該等時序關鍵性分配權重至該等暫存器對。
在一些實施例中,該方法,其中自該等候選暫存器選擇將加入於該第一暫存器叢集之一第一暫存器包含:選擇該等候選暫存器中之該第一暫存器,俾使若該第一暫存器係位於該第一暫存器叢集中時,於跨越該第一暫存器叢集之一邊界之暫存器對中之其他候選暫存器之權重之和係經最佳化。
在一些實施例中,該方法,其中自該等候選暫存器中選擇將加入於該第一暫存器叢集之一第一暫存器包含:若該第一暫存器叢集中之該等候選暫存器中之一第一候選暫存器係位於一第二暫存器叢集中時,若選擇該第一候選暫存器作為將加入於該第一暫存器叢集之該第一暫存器,俾使於跨越該第一暫存器叢集之一邊界之暫存器對中之其他候選暫存器與於跨越該第二暫存器叢集之一邊界之一或多個暫存器對中之該第一候選暫存器之權重之和係經最佳化,則選擇該第一候選暫存器作為該第一暫存器。
在一些實施例中,該方法,其中由該至少一處理器獲得該等暫存器中之暫存器對之時序關鍵性包含:對該實體網表執行時序分析以獲得該等暫存器中之該等暫存器對之時序餘量。
在一些實施例中,該方法,其進一步包含:對於不同暫存器叢集之負載進行均勻分配之動作,其包含:識別位於一具有較高負載之
叢集中且與一具有較低負載之叢集成為介面之介面暫存器;及於該等介面暫存器中選擇一暫存器並將其重新分配至該具有較低負載之叢集,其中該暫存器之重新分配相較於該等介面暫存器中之另外一暫存器之重新分配產生較小之跨越該具有較高負載之叢集之邊界與跨越該具有較低負載之叢集之邊界之暫存器對之權重和之增加。
在一些實施例中,該方法,其進一步包含:更新該實體網表以反映由該等暫存器叢集連接至對應時脈路徑之連接關係。
本揭露提供一種系統,其包含:至少一處理器,其係經組態以執行程式指令,該等程式指令係將該至少一處理器組態為:一時序分析工具,其係經組態以接收一經佈局之積體電路(IC)晶片設計之實體網表,該實體網表包含複數個暫存器,該時序分析工具並獲得該等暫存器中之暫存器對之時序關鍵性;及一叢集形成模組,其係經組態以接收該實體網表及該等暫存器對之時序關鍵性,該叢集形成模組並藉由執行下列操作而形成不同之暫存器叢集:識別位於一第一暫存器叢集之實體周邊區域之候選暫存器;及自該等候選暫存器中選擇將加入於該第一暫存器叢集之一第一暫存器,其中位於一跨越該第一暫存器叢集之一邊界具有一較高時序關鍵性之暫存器對中之一候選暫存器相對於較接近於該第一暫存器叢集之一候選暫存器為優先,以及和位於不同叢集中之暫存器相較,位於相同叢集中之暫存器具有較短之非共同時序路徑;至少一記憶體,其係經組態以儲存該等程式指令。
在一些實施例中,該系統,其進一步包含:一權重分配模組,其係經組態以基於該等暫存器對之時序關鍵性而將權重分配給該等暫存器對。
在一些實施例中,該系統,其中自該等候選暫存器中選擇將加入於該第一暫存器叢集之一第一暫存器包括:選擇該等候選暫存器中之該第一暫存器,俾使若該第一暫存器係位於該第一暫存器叢集中
時,於跨越該第一暫存器叢集之一邊界之暫存器對中之其他候選暫存器之權重之和係經最佳化。
在一些實施例中,該系統,其中自該等候選暫存器中選擇將加入於該第一暫存器叢集之一第一暫存器包括:若該第一暫存器叢集中之該等候選暫存器中之一第一候選暫存器係位於一第二暫存器叢集中時,若選擇該第一候選暫存器作為將加入於該第一暫存器叢集之該第一暫存器,俾使於跨越該第一暫存器叢集之一邊界之暫存器對中之其他候選暫存器與於跨越該第二暫存器叢集之一邊界之一或多個暫存器對中之該第一候選暫存器之權重之和係經最佳化,則選擇該第一候選暫存器作為該第一暫存器。
在一些實施例中,該系統,其中該時序分析工具獲得該等暫存器中之暫存器對之時序關鍵性包含:對該實體網表執行時序分析以獲得該等暫存器中之該等暫存器對之時序餘量。
在一些實施例中,該系統,其進一步包含:該叢集形成模組經進一步組態以藉由執行下列操作對不同暫存器叢集之負載進行均勻分配之動作:識別位於一具有較高負載之叢集中且與一具有較低負載之叢集成為介面之介面暫存器;及於該等介面暫存器中選擇一暫存器並將其重新分配至該具有較低負載之叢集,其中該暫存器之重新分配相較於該等介面暫存器中之另外一暫存器之重新分配產生較小之跨越該具有較高負載之叢集之邊界與跨越該具有較低負載之叢集之邊界之暫存器對之權重和之增加。
在一些實施例中,該系統,其進一步包含:一實體網表更新模組,其經組態以:更新該實體網表以反映由該等暫存器叢集連接至對應時脈路徑之連接關係。
本案提供一種非暫態電腦可讀取紀錄媒體,其儲存程式指令,當該等程式指令由一電腦執行時將使該電腦執行一方法,該方法包
含:由一至少一處理器接收一經佈局之積體電路(IC)晶片設計之一實體網表,該實體網表包含複數個暫存器;由該至少一處理器獲得該等暫存器中之暫存器對之時序關鍵性;及由該至少一處理器形成多個暫存器叢集,其包含:識別位於一第一暫存器叢集之實體周邊區域之候選暫存器;及自該等候選暫存器中選擇將加入於該第一暫存器叢集之一第一暫存器,其中位於一跨越該第一暫存器叢集之一邊界且具有一較高時序關鍵性之暫存器對中之一候選暫存器相對於較接近於該第一暫存器叢集之一候選暫存器為優先,以及和位於不同叢集中之暫存器相較,位於相同叢集中之暫存器具有較短之非共同時序路徑。
在一些實施例中,該電腦可讀取紀錄媒體,其進一步包含:基於該等暫存器對中之該等時序關鍵性分配權重至該等暫存器對。
在一些實施例中,該電腦可讀取紀錄媒體,其中自該等候選暫存器中選擇將加入於該第一暫存器叢集之一第一暫存器包含:選擇該等候選暫存器中之該第一暫存器,俾使若該第一暫存器係位於該第一暫存器叢集中時,於跨越該第一暫存器叢集之一邊界之暫存器對中之其他候選暫存器之權重之和係經最佳化。
在一些實施例中,該電腦可讀取紀錄媒體,其中自該等候選暫存器中選擇將加入於該第一暫存器叢集之一第一暫存器包含:若該第一暫存器叢集中之該等候選暫存器中之一第一候選暫存器係位於一第二暫存器叢集中時,若選擇該第一候選暫存器作為將加入於該第一暫存器叢集之該第一暫存器,俾使於跨越該第一暫存器叢集之一邊界之暫存器對中之其他候選暫存器與於跨越該第二暫存器叢集之一邊界之一或多個暫存器對中之該第一候選暫存器之權重之和係經最佳化,則選擇該第一候選暫存器作為該第一暫存器。
在一些實施例中,該電腦可讀取紀錄媒體,其中由該至少一處理器獲得該等暫存器中之暫存器對之時序關鍵性包含:對該實體網表
執行時序分析以獲得該等暫存器中之該等暫存器對之時序餘量。
在一些實施例中,該電腦可讀取紀錄媒體,其進一步包含:對於不同暫存器叢集之負載進行均勻分配之動作,其包含:識別位於一具有較高負載之叢集中且與一具有較低負載之叢集成為介面之介面暫存器;及於該等介面暫存器中選擇一暫存器並將其重新分配至該具有較低負載之叢集,其中該暫存器之重新分配相較於該等介面暫存器中之另外一暫存器之重新分配產生較小之跨越該具有較高負載之叢集之邊界與跨越該具有較低負載之叢集之邊界之暫存器對之權重和之增加。
上文已相當廣泛地概述本揭露之技術特徵,俾使下文之本揭露詳係描述得以獲得較佳瞭解。構成本揭露之申請專利範圍標的之其他技術特徵將描述於下文。本揭露所屬技術領域中具有通常知識者應瞭解,可相當容易地利用下文揭示之概念與特定實施例可作為修改或設計其他結構或製程而實現與本揭露相同之目的。本揭露所屬技術領域中具有通常知識者亦應瞭解,這類等效建構無法脫離後附之申請專利範圍所界定之本揭露的精神和範圍。
100‧‧‧IC晶片設計流程
102‧‧‧系統設計階段
104‧‧‧邏輯設計階段
108‧‧‧規劃設計階段
110‧‧‧佈局階段
112‧‧‧時脈網路拓撲結構產生階段
114‧‧‧時脈網路合成及繞線階段
116‧‧‧提取與分析階段
118‧‧‧實體驗證和簽核階段
202~214‧‧‧操作
300‧‧‧已佈局IC晶片設計之佈置圖
301~305‧‧‧實體網表佈置圖
312、332‧‧‧時脈幹
314、334‧‧‧分接點314及334
322‧‧‧暫存器
4212、4234、4245‧‧‧時序路徑
421~425‧‧‧暫存器
5222‧‧‧組合邏輯
522‧‧‧資料路徑
614、634、714‧‧‧叢集
722‧‧‧暫存器
814、834‧‧‧叢集
922‧‧‧暫存器
914、934‧‧‧叢集
1012‧‧‧暫存器
1014、1034‧‧‧連接關係
1032‧‧‧暫存器
1112‧‧‧水平時脈幹
1132‧‧‧垂直時脈幹
1114、1134‧‧‧分接點
1116‧‧‧叢集
1124‧‧‧暫存器
1123‧‧‧時序路徑
1122、1124‧‧‧暫存器
1136‧‧‧叢集
1200‧‧‧軟體系統
1202‧‧‧實體網表
1212‧‧‧時序分析工具
1222‧‧‧佈局與繞線工具
12222‧‧‧權重分配模組
12224‧‧‧叢集形成模組
12226‧‧‧實體網表更新模組
1300‧‧‧硬體系統
1302‧‧‧處理器
1304‧‧‧網路介面
1306‧‧‧輸入與輸出(I/O)裝置
1308‧‧‧儲存裝置
1310‧‧‧匯流排
1312‧‧‧記憶體
13124‧‧‧核心
13122‧‧‧使用者空間
本發明所揭露之一或多個實施例之細節內容係載於相應圖示及下列說明書內容,且說明書、圖式申請專利範圍及已清楚載明本發明之其他特徵及技術優勢。
圖1係依據本發明部分實施例所載之IC晶片設計流程之流程圖。
圖2係依據本發明部分實施例所載之基於實體資訊之暫存器分群法之流程圖,其中該暫存器分群法係將時序關鍵性納入考量並係用於產生時脈網路拓撲結構。
圖3示意圖係依據本發明部分實施例所載之用於已佈局IC晶片設計之實體網表之所接收佈置圖。
圖4示意圖係依據本發明部分實施例所載之具有經識別時序相關暫存器對之實體網表佈置圖。
圖5A示意圖係說明依據本發明部分實施例所載之與不同分接點耦接之一暫存器對之時序路徑。
圖5B示意圖係說明依據本發明部分實施例所載之與相同分接點耦接之一暫存器對之時序路徑。
圖6示意圖係依據本發明部分實施例所載之用於形成不同暫存器叢集之一疊代計算之實體網表佈置圖。
圖7示意圖係依據本發明部分實施例所載之用於形成不同暫存器叢集之另一疊代計算之實體網表佈置圖。
圖8示意圖係依據本發明部分實施例所載之具有已形成之不同暫存器叢集之實體網表佈置圖。
圖9示意圖係依據本發明部分實施例所載之於平均分配負載後之不同暫存器叢集之實體網表佈置圖。
圖10示意圖係依據本發明部分實施例所載之基於不同暫存器叢集之更新後分接點連接之實體網表佈置圖。
圖11示意圖係依據本發明部分實施例所載之具有已形成之不同暫存器叢集之實體網表佈置圖。
圖12係依據本發明部分實施例所載之實施如圖11中時脈網路拓撲結構之產生階段之軟體系統之方塊圖。
圖13係參考圖2-11實施例之硬體系統與參考圖12實施例之軟體系統之方塊圖。
不同圖式中之相同元件符號係代表相同元件。
現使用特定文句描繪本發明圖式中所示之實施例,需清楚此並非對本發明之範圍進行限縮,且本案實施例之任何變化和修改或對其
原則之進一步應用係為本發明所屬技術領域中具備通常知識者所易於思及。此外,元件符號於不同實施例中可能重複使用,且即便不同實施例之技術特徵使用相同元件符號,此不必然表示一實施例之技術特可應用於另一實施例中。
部分實施例具有下列特徵及/或優勢之一者或其組合。於部分實施例中,在形成用於在一積體電路(IC)晶片設計之上層時脈網路上之不同分接點之暫存器叢集時,先識別位於每一叢集之相應實體周邊區域之候選暫存器,且於該等候選暫存器中,若一暫存器係位於一暫存器對中而具有較高時序關鍵性且跨越該叢集之邊界,其相對於較接近於該叢集之暫存器為優先,透過此方式,該等經識別之候選暫存器係考量實體因素,且具有較高時序關鍵性之暫存器對係被分配於耦接相同至分接點之叢集中並具有較短之非共同時序路徑,因而可減少用於連接暫存器與時脈分接點之線路之長度,並減少非共同時序路徑中晶片上變異(on chip variations,OCVs)所導致之時脈偏移(clock skew),此外,於部分實施例中,當一叢集之一候選暫存器係另一叢集之暫存器時,且若該候選暫存器係位於跨越該叢集與該另一叢集之邊界之暫存器對中時,則將同時考量減緩跨越該叢集之邊界之暫存器對之時序關鍵性與加重跨越該叢集之邊界之暫存器對之時序關鍵性,以使時序上較關鍵之暫存器對之時脈偏移較小,此外,於部分實施例中,於形成多個暫存器叢集後,藉由避免將暫存器重新分配至時序上較關鍵之暫存器對以平均分配叢集間之負載,因此,跨越該叢集之時序上相關之暫存器對之時脈偏移係被減少,且並不增加時序上較關鍵之暫存器對之時序關鍵性。
圖1所示之流程圖係依據本發明部分實施例所載之IC晶片設計流程100,其利用一或多個電子設計自動化(EDA)工具以執行設計流程100中之一或多個操作。
在系統設計階段102時,設計者係使用個別可滿足特定功能之較大模組來描述IC晶片,此外,並透過利用包含設計架構之不同選項以考量於最佳化設計規格和成本時之取捨。
在邏輯設計階段104時,使用VHDL或Verilog語言描述暫存器轉移層次(RTL)之IC晶片模組,並對功能準確性進行驗證。
在邏輯合成階段106時,將由RTL描述之IC晶片模組轉譯為邏輯閘層次網表,將邏輯閘與暫存器映射成多個單元亦發生於此一階段。完成邏輯合成之後,IC晶片設計則完成前端設計程序並進入後續階段之後端實體設計程序。
在規劃設計階段108時,將邏輯閘層次網表分割成不同區塊並產生一用於該等區塊之平面規劃圖,於部分實施例中,於此階段時基於該等區塊的位置設計安排一上層時脈網路,其中上層時脈網路包括根源於一時脈源(例如鎖相迴路)之時脈幹及俟與時脈槽點(例如暫存器)相連接之分接點。
在佈局階段110時,則將邏輯閘與暫存器等單元佈置於IC晶片設計上一晶片中之特定位置。
在時脈網路拓撲結構產生階段112時,則對屬於不同分接點之暫存器進行分組,其中可於本階段或設計流程100中之其他階段實施本發明之實施內容。
在時脈網路合成及繞線階段114時,將暫存器互連至分接點或進行單元互連以產生IC晶片之佈局與繞線(placed-and-routed)佈置圖。
在提取與分析階段116時,可從IC晶片佈置中提出繞線後網表並對該繞線後網表進行時序分析,並可執行繞線後最佳化以達成時序收斂。
在實體驗證和簽核階段118時,檢查IC晶片佈置以確保其係對應於該邏輯閘層次網表,並確認IC晶片佈置中並無任何製程上之電氣或
微影蝕刻之問題,並可執行漸進式修正以達成下線前之最終簽核。
圖1所示之設計流程100係屬例示性質,將圖1所示各階段或操作之排序進行調整或者於圖1所示各階段之前、之中或之後加入額外之階段或操作皆屬本發明之應用範圍,舉例而言,於其他實施例中,係於佈局階段時基於暫存器之位置而設計上層時脈網路。
圖2係依據本發明部分實施例所載之基於實體資訊之暫存器分群法之流程圖,其中該暫存器分群法係考量時序關鍵性並用於產生時脈網路拓撲結構,該方法係於圖1中之時脈網路拓撲結構產生階段112時執行,其中,於操作202係接收已佈局IC晶片設計之實體網表,於操作204,獲得該實體網表中暫存器對之時序關鍵性,於操作206,識別位於每一暫存器叢集之實體周邊區域之候選暫存器以形成用於之不同分接點之暫存器叢集,於操作208,從該等候選暫存器中選擇將加入於該叢集之暫存器,其中位於一跨越該叢集之邊界之暫存器對中且具有最高時序關鍵性之一候選暫存器相對於最接近於該叢集之候選暫存器為優先,並藉此從該等候選暫存器中選擇將加入於該叢集之暫存器,於操作210,檢查暫存器叢集是否之形成是否完成,若否,該方法返回到操作206,若是,該方法往前至操作212,於操作212,對於不同暫存器叢集之負載進行均勻分配之動作,於操作214,更新實體網表以反映暫存器叢集與對應時序路徑之連接。
圖2操作202係接收已佈局IC晶片設計之實體網表,圖3示意圖係依據本發明部分實施例所載之用於已佈局IC晶片設計之實體網表之所接收佈置圖。本文中「實體網表」此一用語係指稱包含已佈局IC晶片設計之佈置圖及已佈局IC晶片設計之佈置圖中之單元之邏輯連接,已佈局IC晶片設計之佈置圖300包含時脈幹312及332、分接點314及334、及複數個暫存器322,於部分實施例中,係於規劃設計階段108設計安排一上層時脈網路,該上層時脈網路具有一樹狀結構或樹狀及
網格之混合結構,其中時脈幹312及332係在較高層合併之樹狀結構之不同分支,在時脈網路拓撲結構產生階段112,時脈幹312及332之繞線及時脈幹上之分接點係保留於佈置圖300中,因此,於已佈局IC晶片設計之佈置圖300中分接點314及334之精確位置係已知的,此外,如暫存器322或組合邏輯閘之此等單元係於佈局階段110時佈局完成,而暫存器與組合邏輯閘之邏輯連接係於規劃設計階段108時完成,為了簡便起見,在時脈網路拓撲結構產生階段112時,於已佈局IC晶片設計之佈置圖300中暫存器322之精確位置與暫存器322間之邏輯連接係已知的。
圖2之操作204係表示實體網表中暫存器332中之暫存器對之時序關鍵性,圖4示意圖係依據本發明部分實施例所載之具有經識別時序相關暫存器對之實體網表佈置圖301,該等經識別時序相關暫存器對係包含一經由時序路徑4212產生關聯性之暫存器421及422之暫存器對、一經由時序路徑4234產生關聯性之暫存器423及424之暫存器對、一經由時序路徑4245產生關聯性之暫存器424及425之暫存器對,於圖4之例子當中,時序路徑4234與時序路徑4245係與暫存器424相關聯,且時序路徑4234具有比時序路徑4245更高之時序關鍵性。
於部分實施例中,藉由對圖3之實體網表進行時序分析以獲得該等暫存器332中各暫存器對之時序關鍵性,於部分實施例中,暫存器對之時序關鍵性係暫存器對間之時序路徑之時序餘量,圖5A示意圖係說明依據本發明部分實施例所載之耦接至不同分接點314及334之一暫存器對421及422之時序路徑,於圖5A中,暫存器421係一啟動暫存器,其可將輸入資料發送至包含組合邏輯5222之資料路徑522,而暫存器422則是一捕獲寄存器,其自資料路徑522捕獲輸出資料,資料路徑522始於用於發送資料之啟動暫存器421,結束於用於捕獲資料之捕獲寄存器422,於部分實施例中,可基於下列公式計算時序路徑之時
序餘量:
其中T slack 係時序路徑之時序餘量,T period 係時序週期,係時脈抵達啟動暫存器421相對於時脈抵達時間捕獲寄存器422之延遲所致之時脈偏移,係啟動暫存器421之時脈至輸出延遲,係於資料路徑522上資料傳輸之最大延遲,係捕獲寄存器422之設定時間,於部分實施例中,由於在時脈網路拓撲結構產生階段112時時脈網路並未經過同步化,故假定所用之時脈係一理想時脈,且計算時序餘量T slack 時係0,於其他實施例中,於計算時序餘量T slack 時則使用時脈偏移之估算值,其中較小之時序餘量表示時序關鍵性較高之時序路徑。
此外,於圖5A中,啟動暫存器421與捕獲寄存器422之時序針腳CLK係各自耦接至不同之分接點314及334,於圖5B示意圖係說明依據本發明部分實施例所載之與相同分接點314耦接之一暫存器對421及422之時序路徑。於圖5B中,啟動暫存器421與捕獲寄存器422之時序針腳CLK係耦接至相同分接點314,當啟動暫存器421與捕獲寄存器422之時序針腳CLK係各自耦接至不同之分接點314及334時(如圖5A所示),暫存器421與422之每一非共同時序路徑(粗黑線所示)係由分接點354接至分接點314或334,且由分接點314或334接至暫存器412或422,當啟動暫存器421與捕獲寄存器422係耦接相同分接點314時(如圖5B所示),暫存器421與422之每一非共同時序路徑(粗黑線所示)係由分接點314接至暫存器412或422,當暫存器421與422之非共同時序路徑較長,於時脈網路合成及繞線階段114中時脈網路經合成後,OCV產生一較大之時脈偏移,其將加重暫存器對421與422間時序路徑
之時序關鍵性,因此,為減少時序相關暫存器對(如暫存器對421與422)之時脈偏移,可將該時序相關暫存器對耦接至一相同分接點(如圖5B所示)。於下文中,可將耦接至一相同分接點之複數個暫存器分群為同一叢集,於部分實施例中,一分接點僅具有單一相關聯叢集,於其他實施例中,一分接點具有多個相關聯叢集。
於部分實施例中,在獲得暫存器對之時序路徑之時序餘量之後,將基於該等時序路徑之時序餘量而將不同權重分配至該等暫存器對之時序路徑,舉例而言,於圖4中,其係基於時序路徑4212之時序餘量而將分配一權重至暫存器對421與423之時序路徑4212,於部分實施例中,時序路徑之時序餘量愈小時,分配至該時序路徑之權重將愈小。
圖2之操作206至操作210表示用於形成實體網表中暫存器叢集之疊代迴圈,於操作206,為形成連接至每一分接點之暫存器叢集,因此先識別位於該叢集之實體周邊區域之候選暫存器,於操作208,從該等候選暫存器中選擇將加入於該叢集之暫存器,其中位於一跨越該叢集之邊界之暫存器對中且具有最高時序關鍵性之一候選暫存器相對於最接近於該叢集之候選暫存器為優先,於操作210,檢查是否已完成暫存器叢集之形成,若否,則返回至操作206,圖6示意圖係依據本發明部分實施例所載之用於形成不同暫存器叢集之一疊代計算之實體網表佈置圖302,在進行疊代操作之前,已先形成分接點314之叢集614與分接點334之叢集634,而叢集614內之暫存器係因實體上更接近分接點314而受選擇,相同的,叢集634內之暫存器係因實體上更接近分接點334而受選擇,於此疊代操作中,針對叢集614,先識別如暫存器422之候選暫存器與位於叢集614之實體周邊區域之暫存器616,於部分實施例中,叢集614之實體周邊區域可有不同之定義方式,若使用一種基於密度之分群演算法,則叢集614之實體周邊區域係指位於
叢集614之外且與叢集614內暫存器中之一者距離一特定距離以內之一區域,其中叢集614內該暫存器中之一者可以是靠近叢集614之邊界之一暫存器,而若是使用一種基於重心之分群演算法,則叢集614之實體周邊區域係指位於叢集614之外且與叢集614內多個暫存器中之一代表點距離一特定距離以內之一區域,其中該代表點可以是靠近叢集614之重心,可藉由用於發展一叢集之演算法來判定該叢集之實體周邊區域,其他定義叢集實體周邊區域之方式皆屬本發明之設想範圍。
針對該等經識別係關於叢集614之候選暫存器,暫存器422係於一經由時序路徑4212產生關聯性之暫存器對421及422中,暫存器對421及422中之暫存器421則在叢集614內,此外,針對該等經識別係關於叢集614之候選暫存器,暫存器616係與叢集614內暫存器中之一者或與叢集614內多個暫存器中之一代表點實體上最接近,在由候選暫存器中選擇將加入叢集614之一暫存器時,跨越叢集614邊界之暫存器對中之其他候選暫存器之權重之和係經最小化,舉例而言,若評估選擇暫存器616作為將加入叢集614之暫存器時,跨越叢集614邊界之暫存器對中之其他候選暫存器之權重之和係等於暫存器對421及422間時序路徑4212之權重,而基於時序路徑4212之時序餘量所判定之時序路徑4212之權重係高的,若評估選擇暫存器422作為將加入叢集614之暫存器時,因為暫存器422被視為位於叢集614中,因此跨越叢集614邊界之暫存器對中之其他候選暫存器之權重之和係為0,而由於選擇暫存器422之權重小於選擇暫存器616之權重,故位於一跨越該叢集之邊界之暫存器對421及422中且具有最高時序關鍵性之暫存器422其相對於最接近於該叢集之暫存器616為優先。
於部分實施例中,在一疊代操作中將分配一權重至每一候選暫存器,其中候選暫存器之權重之判定係基於其是否位於跨越一叢集之邊界之時序相關暫存器對中、該暫存器對之時序路徑之時序餘量、及
該候選暫存器與叢集內暫存器中之一者或與叢集內多個暫存器中之一代表點之距離,選擇一暫存器加入叢集之過程其實涉及於多個候選暫存器中找出暫存器一暫存器俾使其他候選暫存器之權重之和係經最小化。
圖7示意圖係依據本發明部分實施例所載之用於形成不同暫存器叢集之另一疊代計算之實體網表佈置圖303。在進行疊代操作之前,已先形成分接點314之叢集714與分接點334之叢集734,於此疊代操作中,針對叢集714,先識別如暫存器722之候選暫存器與位於叢集714之實體周邊區域之暫存器424,於此疊代操作之前暫存器424已被選入叢集734當中,暫存器424係位於一經由時序路徑4234產生關聯性且跨越叢集714之邊界之暫存器對423及424中,此外,暫存器424同時係位於一經由時序路徑4245產生關聯性且位於叢集734內之暫存器對424及425中,時序路徑4234具有比時序路徑4245更高之時序關鍵性,因此分配較高之權重,當評估選擇暫存器722作為將加入叢集714之暫存器時,跨越叢集714邊界之暫存器對中之其他候選暫存器之權重之和等於暫存器對4212之時序路徑4234之權重,當評估選擇暫存器424作為將加入叢集714之暫存器時,亦將考量因重新分配暫存器424所導致叢集734之權重之和之增加,將暫存器424重新分配至叢集734所導致之權重之和等同於跨越叢集714邊界之暫存器對中之其他候選暫存器之權重之合(此為0)加上因重新分配暫存器424所導致權重之和之增加(此等於時序路徑4245之權重),相較於選擇暫存器722,選擇暫存器424之權重之和較小,因此,選擇暫存器424加入叢集714相較於暫存器722為優先。
圖8示意圖係依據本發明部分實施例所載之具有已形成之不同暫存器叢集之實體網表佈置圖304。於部分實施例中,當於疊代操作中跨越叢集814及叢集834之暫存器對之權重之和不再減少時,則形成暫
存器叢集之疊代過程視為已完成,於其他實施例中,達到一預定數目之疊代操作後,則形成暫存器叢集之疊代過程視為已完成,於圖8中,具有跨越叢集814及叢集834之時序路徑4245之暫存器對424及425中之暫存器425係位於叢集834中(為方便說明,圖式中並未顯示叢集834中之暫存器425之其他時序路徑),或於其他實施例中,權重亦包含一距離係數,而暫存器425之位置非常接近分接點334,在已形成之暫存器叢集814與834中,經由時序路徑4212產生關聯性之暫存器對421及422及經由時序路徑4234產生關聯性之暫存器對423及424係位於叢集814中,因此,時序路徑4234之暫存器對423及424中之兩暫存器將被耦接至同一分接點314,暫存器421及422間與暫存器423及424間之非共同時序路徑係經最小化,因此由於非共同時序路徑中之晶片上變異所導致之時脈偏移係經最小化。
於部分實施例中,叢集814與834係用於時脈網路合成中實體網表之更新,於其他實施例中,於完成暫存器叢集之疊代形成後更將加入一進一步操作212,其係對於不同暫存器叢集之負載進行均勻分配之動作,圖9示意圖係依據本發明部分實施例所載之於平均分配負載後之不同暫存器叢集之實體網表佈置圖305。於部分實施例中,為了平均分配負載,將識別位於一具有較高負載之叢集中且與一具有較低負載之叢集成為介面之介面暫存器,而後將於該等介面暫存器中選擇一暫存器並將其重新分配至該具有較低負載之叢集,其中將該經選擇暫存器從該具有較高負載之叢集跨越邊界重新分配至該具有較低負載之叢集僅產生最小之權重和之增加,舉例而言,於圖8中,叢集814係具有9個暫存器之負載,而叢集834係具有5個暫存器之負載,為了平均分配叢集814與834之負載,首先將識別出介面暫存器(如圖9所示之暫存器922)與位於叢集814中且與叢集834成為介面之暫存器422,若暫存器422被重新分配到叢集834,跨越叢集814與834之邊界之暫存器
對之權重和之增加將等於時序路徑4212之權重,另一方面,若暫存器922被重新分配到叢集834,則跨越叢集814與834之邊界之暫存器對之權重和之增加將為0,因此,如圖9所示,暫存器422係被保留在與分接點314相關聯之叢集914,而暫存器922被重新分配至與分接點334相關聯之叢集934,將持續執行平均分配負載之動作直到叢集914與934具有平均分配之負載為止。於圖9所示之範例中,於執行平均分配負載之動作之後,叢集914與934之每一者皆具有7個暫存器之負載,且若負載係平均分配,由於較高負載所導致之時脈由分接點314傳播到叢集814之較大延遲將減少,且由於較低負載所導致之時脈由分接點334傳播到叢集834之較小延遲將增加,因而將減少跨越叢集914與934之邊界之暫存器對424與425之時脈偏移。
圖2之操作214係更新實體網表以反映由暫存器叢集連接至對應時脈路徑之連接關係,圖10示意圖係依據本發明部分實施例所載之基於不同暫存器叢集之更新後分接點連接關係之實體網表佈置圖。基於圖9所示於平均分配負載後所形成之叢集914與934,將於實體網表中更新由叢集914中之該等暫存器1012連接至分接點314之連接關係1014以及由叢集934中之該等暫存器1032連接至分接點334之連接關係1034,基於更新後之該等連接關係1014與1034,在時脈網路合成及繞線階段114時,將形成暫存器1012與分接點314間之繞線以及暫存器1032與分接點334間之繞線。
圖11示意圖係依據本發明部分實施例所載之具有已形成之不同暫存器叢集之實體網表佈置圖。相較於圖8所示之實施例,圖11所示實施例中之上層時脈網路包括一由水平時脈幹1112以及與該等水平時脈幹交錯之垂直時脈幹1132所組成之時脈網格,而圖2實施例之方法亦可應用於包含時脈網格之上層時脈網路中,舉例而言,一分接點1114係位於一水平時脈幹1112上,而另一分接點1134係位於與該水平時脈
幹1112交錯之垂直時脈幹1114上,此時可執行圖2實施例之流程方法以形成與分接點1114相關聯之叢集1116以及與分接點1134相關聯之叢集1136,因此,即便暫存器1124與分接點1134距離較近,但由於暫存器1124係位於由具時序關鍵性之時序路徑1123產生關聯性之暫存器對1122及1124中,其將不被分配至叢集1136中,而暫存器對1122及1124中之另一暫存器1122則將被分配至叢集1116中,透過此方法,可最小化暫存器1122及1124間之非共同時序路徑,並藉此最小化晶片上變異所導致之時脈偏移。
圖12係依據本發明部分實施例所載之用於實施如圖1中時脈網路拓撲結構之產生階段112之軟體系統1200之方塊圖。軟體系統1200包含一時序分析工具1212及一佈局與繞線工具1222,時序分析工具1212係接收由佈局與繞線工具1222中之佈局模組(圖12中未顯示)產生之實體網表1202,時序分析工具1212係經組態以獲得實體網表1202中之暫存器對之時序關鍵性,圖2之操作202與204亦可應用於時序分析工具1212中,佈局與繞線工具1222包含權重分配模組12222、叢集形成模組12224及實體網表更新模組12226,權重分配模組12222係經組態以接收實體網表1202中之暫存器對之時序關鍵性並基於該等暫存器對之時序關鍵性而將權重分配給該等暫存器對,上述關於權重分配之實施例亦可應用於權重分配模組12222,叢集形成模組12224係經組態以接收實體網表1202以及實體網表1202中之暫存器對之權重,並藉由執行圖2之操作206至操作212而形成暫存器叢集,上述參考圖2中操作206至操作212所述之實施例亦可應用於叢集形成模組12224中,實體網表更新模組12226係經組態以接收實體網表1202中已形成之暫存器叢集並基於該等已形成之叢集產生一經更新實體網表1232,上述參考圖2中操作214所述之實施例亦可應用於實體網表更新模組12226中。
圖13係參考圖2~11實施例之硬體系統1300與參考圖12實施例之
軟體系統之方塊圖。系統1300包含至少一處理器1302、網路介面1304、輸入與輸出(I/O)裝置1306、儲存裝置1308、記憶體1312及一匯流排1310,其中匯流排1310將網路介面1304、輸入與輸出(I/O)裝置1306、儲存裝置1308、記憶體1312耦接至處理器1302。
於部分實施例中,記憶體1312包含隨機存取記憶體(RAM)、其他揮發性儲存裝置、唯讀記憶體(ROM)及/或其他非揮發性儲存裝置,記憶體1312包含核心13124及使用者空間13122,該使用者空間13122係經組態以儲存將由處理器1302執行之程序指令以及由該等程序指令存取之資料。
於部分實施例中,網路介面1304係經組態以經由一網路存取儲存於遠端之程式指令及由該等程式指令存取之資料,I/O裝置1306包含一輸入裝置與一輸出裝置,其經組態以實現與系統1300之使用者互動,舉例而言,該輸入裝置包含鍵盤及滑鼠等等,而該輸出裝置則包含顯示器及印表機等,儲存裝置1308係經組態以儲存程式指令及由該等程式指令存取之資料,舉例而言,該儲存裝置1308包含磁碟與光碟。
於部分實施例中,在執行該等程式指令時,處理器130係經組態以執行圖2至11實施例中所示之方法,或經組態為圖12實施例中之軟體系統1200。
於部分實施例中,該等程式指令係儲存於一非暫態電腦可讀取紀錄媒體當中,例如光碟、硬碟與非揮發性記憶體裝置等等。
於部分實施例中,在由至少一處理器執行之方法中,一經佈局之積體電路(IC)晶片設計之實體網表係由該至少一處理器接收,該實體網表包含複數個暫存器,並由該至少一處理器獲得該等暫存器中之暫存器對之時序關鍵性,該至少一處理器並形成不同之暫存器叢集,在形成不同之暫存器叢集時,識別位於一第一暫存器叢集之實體周邊
區域之候選暫存器,選擇將加入於該第一暫存器叢集之一第一暫存器,其中位於一跨越該第一暫存器叢集之邊界之暫存器對中且具有最高時序關鍵性之一候選暫存器相對於較接近於該第一暫存器叢集之一候選暫存器為優先,和位於不同叢集中之暫存器相較,位於相同叢集中之暫存器具有較短之非共同時序路徑。
於部分實施例中,一系統包含至少一處理器與至少一記憶體,該至少一處理器係經組態以執行程式指令,該等程式指令係將該至少一處理器組態為一時序分析工具及一叢集形成模組,該時序分析工具係經組態以接收一經佈局之積體電路(IC)晶片設計之實體網表,該實體網表包含複數個暫存器,該時序分析工具並獲得該等暫存器中之暫存器對之時序關鍵性,該叢集形成模組係經組態以接收該實體網表及該等暫存器對之時序關鍵性以藉由執行下列操作而形成不同之暫存器叢集:識別位於一第一暫存器叢集之實體周邊區域之候選暫存器,選擇將加入於該第一暫存器叢集之一第一暫存器,其中位於一跨越該第一暫存器叢集之邊界且具有一較高時序關鍵性之暫存器對中之一候選暫存器相對於較接近於該第一暫存器叢集之一候選暫存器為優先,和位於不同叢集中之暫存器相較,位於相同叢集中之暫存器具有較短之非共同時序路徑。
於部分實施例中,一非暫態電腦可讀取紀錄媒體可儲存程式指令,當該等程式指令由一電腦執行時將使該電腦執行一方法,於該方法中,一經佈局之積體電路(IC)晶片設計之實體網表係由一至少一處理器接收,該實體網表包含複數個暫存器,並由該至少一處理器獲得該等暫存器中之暫存器對之時序關鍵性,該至少一處理器並形成不同之暫存器叢集,在形成不同之暫存器叢集時,識別位於一第一暫存器叢集之實體周邊區域之候選暫存器,若一候選暫存器係位於一跨越該第一暫存器叢集之邊界之暫存器對中且對於較接近於該第一暫存器叢
集之一候選暫存器係具有一較高時序關鍵性,其係被分配有較高之優先級,並藉此選擇將加入於該第一暫存器叢集之一第一暫存器,和位於不同叢集中之暫存器相較,位於相同叢集中之暫存器具有較短之非共同時序路徑。
上述說明包含例示性操作,但該等操作無須嚴格依照上文中所述之次序來執行,實際上可基於本發明之精神及範疇來適當地增加、替換、汰除操作或改變該等操作之次序,因此,本發明之範疇係依照下列請求項及其均等範圍而進行界定。
100‧‧‧IC晶片設計流程
102‧‧‧系統設計階段
104‧‧‧邏輯設計階段
108‧‧‧規劃設計階段
110‧‧‧佈局階段
112‧‧‧時脈網路拓撲結構產生階段
114‧‧‧時脈網路合成及繞線階段
116‧‧‧提取與分析階段
118‧‧‧實體驗證和簽核階段
Claims (9)
- 一種由至少一處理器執行之方法,其包含:由該至少一處理器接收一經佈局之積體電路(IC)晶片設計之一實體網表,該實體網表包含複數個暫存器;由該至少一處理器獲得該等暫存器中之暫存器對之時序關鍵性;基於該等暫存器對之該等時序關鍵性分配權重至該等暫存器對;由該至少一處理器形成多個暫存器叢集,其包含;識別位於一第一暫存器叢集之實體周邊區域之候選暫存器;及自該等候選暫存器中選擇將加入於該第一暫存器叢集之一第一暫存器,其中位於一跨越該第一暫存器叢集之一邊界且具有一較高時序關鍵性之暫存器對中之一候選暫存器相對於較接近於該第一暫存器叢集之一候選暫存器為優先,以及和位於不同叢集中之暫存器相較,位於相同叢集中之暫存器具有較短之非共同時序路徑;其中該選擇步驟包含:若該第一暫存器係位於該第一暫存器叢集中時,於跨越該第一暫存器叢集之一邊界之暫存器對中之其他候選暫存器之權重之和係經最佳化。
- 一種時鐘網路拓撲產生系統,其包含:至少一處理器,其係經組態以執行程式指令,該等程式指令係將該至少一處理器組態為:一時序分析工具,其係經組態以接收一經佈局之積體電路(IC)晶片設計之實體網表,該實體網表包含複數個暫存器,該 時序分析工具並獲得該等暫存器中之暫存器對之時序關鍵性;及一叢集形成模組,其係經組態以接收該實體網表及該等暫存器對之時序關鍵性,該叢集形成模組並藉由執行下列操作而形成不同之暫存器叢集:識別位於一第一暫存器叢集之實體周邊區域之候選暫存器;及自該等候選暫存器中選擇將加入於該第一暫存器叢集之一第一暫存器,其中位於一跨越該第一暫存器叢集之一邊界具有一較高時序關鍵性之暫存器對中之一候選暫存器相對於較接近於該第一暫存器叢集之一候選暫存器為優先,以及和位於不同叢集中之暫存器相較,位於相同叢集中之暫存器具有較短之非共同時序路徑;至少一記憶體,其係經組態以儲存該等程式指令。
- 如請求項2之時鐘網路拓撲產生系統,其進一步包含:一權重分配模組,其係經組態以基於該等暫存器對之時序關鍵性而將權重分配給該等暫存器對。
- 如請求項3之時鐘網路拓撲產生系統,其中自該等候選暫存器中選擇將加入於該第一暫存器叢集之一第一暫存器包括:選擇該等候選暫存器中之該第一暫存器,俾使若該第一暫存器係位於該第一暫存器叢集中時,於跨越該第一暫存器叢集之一邊界之暫存器對中之其他候選暫存器之權重之和係經最佳化。
- 如請求項3之時鐘網路拓撲產生系統,其中自該等候選暫存器中選擇將加入於該第一暫存器叢集之一第一暫存器包括:若該第一暫存器叢集中之該等候選暫存器中之一第一候選暫 存器係位於一第二暫存器叢集中時,若選擇該第一候選暫存器作為將加入於該第一暫存器叢集之該第一暫存器,俾使於跨越該第一暫存器叢集之一邊界之暫存器對中之其他候選暫存器與於跨越該第二暫存器叢集之一邊界之一或多個暫存器對中之該第一候選暫存器之權重之和係經最佳化,則選擇該第一候選暫存器作為該第一暫存器。
- 如請求項2之時鐘網路拓撲產生系統,其中該時序分析工具獲得該等暫存器中之暫存器對之時序關鍵性包含:對該實體網表執行時序分析以獲得該等暫存器中之該等暫存器對之時序餘量。
- 如請求項3之時鐘網路拓撲產生系統,其進一步包含:該叢集形成模組經進一步組態以藉由執行下列操作對不同暫存器叢集之負載進行均勻分配之動作:識別位於一具有較高負載之叢集中且與一具有較低負載之叢集成為介面之介面暫存器;及於該等介面暫存器中選擇一暫存器並將其重新分配至該具有較低負載之叢集,其中該暫存器之重新分配相較於該等介面暫存器中之另外一暫存器之重新分配產生較小之跨越該具有較高負載之叢集之邊界與跨越該具有較低負載之叢集之邊界之暫存器對之權重和之增加。
- 如請求項3之時鐘網路拓撲產生系統,其進一步包含:一實體網表更新模組,其經組態以:更新該實體網表以反映由該等暫存器叢集連接至對應時脈路徑之連接關係。
- 一種非暫態電腦可讀取紀錄媒體,其儲存程式指令,當該等程式指令由一電腦執行時將使該電腦執行一方法,該方法包含:由一至少一處理器接收一經佈局之積體電路(IC)晶片設計之一 實體網表,該實體網表包含複數個暫存器;由該至少一處理器獲得該等暫存器中之暫存器對之時序關鍵性;及由該至少一處理器形成多個暫存器叢集,其包含:識別位於一第一暫存器叢集之實體周邊區域之候選暫存器;及自該等候選暫存器中選擇將加入於該第一暫存器叢集之一第一暫存器,其中位於一跨越該第一暫存器叢集之一邊界且具有一較高時序關鍵性之暫存器對中之一候選暫存器相對於較接近於該第一暫存器叢集之一候選暫存器為優先,以及和位於不同叢集中之暫存器相較,位於相同叢集中之暫存器具有較短之非共同時序路徑。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/047,296 US8887117B1 (en) | 2013-10-07 | 2013-10-07 | Register clustering for clock network topology generation |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201514740A TW201514740A (zh) | 2015-04-16 |
TWI521370B true TWI521370B (zh) | 2016-02-11 |
Family
ID=51845948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103119494A TWI521370B (zh) | 2013-10-07 | 2014-06-05 | 用於產生時鐘網路拓撲之暫存器叢集方法、系統及其電腦可讀取記錄媒體 |
Country Status (2)
Country | Link |
---|---|
US (2) | US8887117B1 (zh) |
TW (1) | TWI521370B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI699102B (zh) * | 2019-09-17 | 2020-07-11 | 中華電信股份有限公司 | 建構網路拓撲的文字佈局之方法與系統 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9443053B2 (en) * | 2013-12-26 | 2016-09-13 | Cavium, Inc. | System for and method of placing clock stations using variable drive-strength clock drivers built out of a smaller subset of base cells for hybrid tree-mesh clock distribution networks |
US9390209B2 (en) | 2013-12-26 | 2016-07-12 | Cavium, Inc. | System for and method of combining CMOS inverters of multiple drive strengths to create tune-able clock inverters of variable drive strengths in hybrid tree-mesh clock distribution networks |
US10481203B2 (en) * | 2015-04-04 | 2019-11-19 | Nvidia Corporation | Granular dynamic test systems and methods |
US10444280B2 (en) | 2015-10-27 | 2019-10-15 | Nvidia Corporation | Independent test partition clock coordination across multiple test partitions |
KR20180092692A (ko) * | 2017-02-10 | 2018-08-20 | 삼성전자주식회사 | Beol을 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템 |
CN107480376B (zh) * | 2017-08-15 | 2021-01-19 | 苏州浪潮智能科技有限公司 | 一种分析Clock信号的方法 |
US10289797B1 (en) * | 2017-08-28 | 2019-05-14 | Cadence Design Systems, Inc. | Local cluster refinement |
CN107483138B (zh) * | 2017-09-22 | 2019-04-16 | 烽火通信科技股份有限公司 | 集群时钟管理系统及管理方法 |
US10558775B2 (en) * | 2017-12-20 | 2020-02-11 | International Business Machines Corporation | Memory element graph-based placement in integrated circuit design |
KR20210008248A (ko) * | 2019-07-12 | 2021-01-21 | 삼성전자주식회사 | 반도체 회로의 설계 시스템 및 이의 동작 방법 |
US11030367B2 (en) | 2019-09-11 | 2021-06-08 | International Business Machines Corporation | Out-of-context feedback hierarchical large block synthesis (HLBS) optimization |
TWI758978B (zh) * | 2020-11-30 | 2022-03-21 | 創意電子股份有限公司 | 時脈樹的修正裝置及其修正方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999716A (en) * | 1996-06-27 | 1999-12-07 | Matsushita Electric Industrial Co., Ltd. | LSI layout design method capable of satisfying timing requirements in a reduced design processing time |
US7257784B2 (en) | 2005-03-24 | 2007-08-14 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method for integrally checking chip and package substrate layouts for errors |
JP2006301837A (ja) | 2005-04-19 | 2006-11-02 | Nec Electronics Corp | マクロ内配線を考慮したネットリストを用いて遅延計算を行う設計方法及びそのネットリストの作成プログラム |
US7546567B2 (en) * | 2007-01-10 | 2009-06-09 | Synopsys, Inc. | Method and apparatus for generating a variation-tolerant clock-tree for an integrated circuit chip |
-
2013
- 2013-10-07 US US14/047,296 patent/US8887117B1/en active Active
-
2014
- 2014-06-05 TW TW103119494A patent/TWI521370B/zh active
- 2014-10-09 US US14/510,457 patent/US9275176B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI699102B (zh) * | 2019-09-17 | 2020-07-11 | 中華電信股份有限公司 | 建構網路拓撲的文字佈局之方法與系統 |
Also Published As
Publication number | Publication date |
---|---|
TW201514740A (zh) | 2015-04-16 |
US9275176B2 (en) | 2016-03-01 |
US20150100936A1 (en) | 2015-04-09 |
US8887117B1 (en) | 2014-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI521370B (zh) | 用於產生時鐘網路拓撲之暫存器叢集方法、系統及其電腦可讀取記錄媒體 | |
US9852253B2 (en) | Automated layout for integrated circuits with nonstandard cells | |
US6557145B2 (en) | Method for design optimization using logical and physical information | |
US8490042B2 (en) | Performing routing optimization during circuit design | |
JP4719265B2 (ja) | 確率的相互接続構造設計のためのシステムおよび方法 | |
US8104014B2 (en) | Regular local clock buffer placement and latch clustering by iterative optimization | |
JP6333948B2 (ja) | 二重構造クロックツリー合成(cts) | |
US8954912B2 (en) | Structured placement of latches/flip-flops to minimize clock power in high-performance designs | |
US8589848B2 (en) | Datapath placement using tiered assignment | |
US10360341B2 (en) | Integrated metal layer aware optimization of integrated circuit designs | |
US10318684B2 (en) | Network flow based framework for clock tree optimization | |
US10928442B2 (en) | Computer implemented methods and computing systems for designing integrated circuits by considering back-end-of-line | |
US8954915B2 (en) | Structured placement of hierarchical soft blocks during physical synthesis of an integrated circuit | |
US11574106B2 (en) | Method, system, and storage medium of resource planning for designing semiconductor device | |
US9842187B1 (en) | Representation of complex timing characteristics of startpoint-endpoint pairs in a circuit design | |
US11087061B2 (en) | Method and system for improving propagation delay of conductive line | |
US10860761B1 (en) | Systems and methods for enhanced clock tree power estimation at register transfer level | |
US9064081B1 (en) | Generating database for cells routable in pin layer | |
Samal et al. | Machine learning based variation modeling and optimization for 3D ICs | |
US11270052B2 (en) | System and method of timing characterization for semiconductor circuit | |
Widialaksono | Three-Dimensional Integration of Heterogeneous Multi-Core Processors. | |
Jahanian et al. | Chip master planning: An efficient methodology to improve design closure and complexity management of ultra large chips |