TWI690026B - 使用模擬軟體產生電路佈局的方法 - Google Patents
使用模擬軟體產生電路佈局的方法 Download PDFInfo
- Publication number
- TWI690026B TWI690026B TW108113998A TW108113998A TWI690026B TW I690026 B TWI690026 B TW I690026B TW 108113998 A TW108113998 A TW 108113998A TW 108113998 A TW108113998 A TW 108113998A TW I690026 B TWI690026 B TW I690026B
- Authority
- TW
- Taiwan
- Prior art keywords
- blocks
- reserved space
- size
- space
- circuit layout
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- 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/392—Floor-planning or layout, e.g. partitioning or placement
-
- 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
-
- 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/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
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)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
使用模擬軟體產生電路佈局的方法,包含以下步驟:(A).在一電路板上規劃出複數個區塊,其中該些區塊中每一區塊包含:一操作空間以及一預留空間;(B).根據至少一特定條件來決定該些區塊中預留空間的大小;(C).根據至少一判斷條件來決定是否調整步驟(B)中所決定出的該些區塊中預留空間的大小;以及(D).當步驟(C)判斷不需要調整時,根據步驟(B)中所決定出的該些區塊中預留空間的大小來產生該電路佈局。
Description
本案涉及電源完整性(power integrity,PI)的應用,尤其涉及一種能夠妥善決定電路佈局的方法,以改善電路無法正常運作的問題。
電路佈局,諸如印刷電路板佈局(PCB layout),考量到電壓衰退(又稱IR Drop)的問題,元件之間通常會預留空間來擺放電容(此操作又稱DCAP),作為電路工作異常的解決方案。上述電壓衰退又分靜態電壓衰退以及動態電壓衰退,其中靜態電壓衰退主要跟電源網路的結構和連線細節有關,因此靜態電壓衰退主要考慮電阻效應,分析電阻的影響即可。動態電壓衰退是電源在電路開關切換的時候電流波動引起的電壓壓降。這種現象產生在時脈的觸發沿,往往在短時間內在整個晶片上產生很大的電流,這個瞬間的大電流引起了電壓衰退現象。同時開關的電晶體數量越多,越容易觸發動態電壓衰退現象。
然而,先前技術缺乏一種妥善的機制來決定元件之間究竟要預留多少空間來擺放電容,舉例來說,現有機制並未考慮到電路的雙態觸變率(toggle rate),只單純地從現有的空間內儘可能找出挪出可供擺放電容的空間。請參見第1圖,第1圖係為習知技術預留DCAP空間的電路佈局示意圖,由於習知的方法屬
於隨機的預留空間或是根據經驗來猜測,這樣對於減少電壓衰退而言很沒有效率。比方說,如果有些區域已經被擺放得很滿(空間使用度很高),便沒有足夠空間來擺放電容值較高的DCAP(電容的電容值大小與體積成正比)來抑制動態電壓衰退,而偏偏這樣的元件擺放密度較高的區域的雙態觸變率通常較高,例如一些靠近處理晶片(CPU)、顯示晶片(GPU)以及記憶體(DDR)的熱點(hotspot)區域(如圖中所圈選的位置)。相對地,在元件擺放密度不高的空曠區域則有非常充裕的空間擺放DCAP,但這樣的區域通常雙態觸變率不會很高。
綜上所述,先前技術對於電壓衰減防治的電路佈局效率上非常差,如此一來也造成效能下降以及成本大幅提昇。
有鑑於傳統的電路設計方法並沒有考慮雙態觸變率(toggle rate)對電路規劃的影響,本發明提出一種基於雙態觸變率的程度來決定預留DCAP空間的方法,並且透過軟體來分析資訊,以妥善地決定DCAP空間的方案,以達到降低動態電壓的目的,並且實現電路配置的最佳化。
本發明的一實施例提供了一種使用模擬軟體產生電路佈局的方法,包含以下步驟:(A).在一電路板上規劃出複數個區塊,其中該些區塊中每一區塊包含:一操作空間以及一預留空間;(B).根據至少一特定條件來決定該些區塊中預留空間的大小;(C).根據至少一判斷條件來決定是否調整步驟(B)中所決定出的該些區塊中預留空間的大小;以及(D).當步驟(C)判斷不需要調整時,根據步驟(B)中所決定出的該些區塊中預留空間的大小來產生該電路佈局。
202~212、502~508:步驟
FFG1~FFG8:區塊群組
Cell(n)~Cell(n-31):區塊
DCAP2~DCAP16:預留的電容擺放空間
第1圖係為習知技術預留DCAP空間的電路佈局示意圖。
第2圖係為本發明產生電路佈局的方塊圖。
第3圖係按照區塊的雙態觸變率大小而產生的區塊分類表。
第4圖係為使用第2圖所示的架構所得到的電路佈局的示意圖。
第5圖係為根據本發明的一實施例的使用模擬軟體產生電路佈局的方法。
請參考第2圖,第2圖係為本發明產生電路佈局的方塊圖,首先,於步驟202中提供電路板上每個區域的雙態觸變率數據(可彙整為雙態觸變率的資料表)。步驟204係根據蒐集到的雙態觸變率數據以及網表(netlist)的資訊來產生初步的區塊配置方案,此時,電路板上會規劃出複數個區塊,其中該些區塊中每一區塊包含用於設置元件的操作空間以及DCAP預留空間,透過雙態觸變率資料表可獲得每一個區塊的存取率。
關於步驟204,請參見第3圖,第3圖係按照區塊的雙態觸變率大小而產生的區塊分類表,其中被歸類到區塊群組FFG1的區塊cell(n)、cell(n-1)、cell(n-2)、cell(n-3)具有最高的雙態觸變率,因此被設定為DCAP16(“DCAP”所搭配到的數字越大,便會預留更大的空間供擺放電容)。舉例來說,設定為DCAP8的區塊所分配到的電容預留空間會小於設定為DCAP16的區塊所分配到的電容預留空間,而設定為DCAP4的區塊所分配到的電容預留空間會小於設定為DCAP8的區塊所分配到的電容預留空間,以此類推。請注意,雖然在本發明的舉例中係以電容來作為電壓衰退的解決方案,但本發明並不以此為限,只要能
達到相同效果,電容亦可用別的被動元件來取代。
第3圖中間的虛線表示當前的分組只用到FFG1~FFG4四個區塊群組,當需要進行更細的分組時,虛線可作下拉。舉例來說,當虛線下移一列時,區塊的分組即變成了5組。考量到不使預留空間的總面積佔全部區塊的例太高,分組要分到多細(亦即紅線要下拉的幅度)必須有所折衷(Trade off)。請注意,步驟206可進一步透過軟體功能(諸如sdc和floorplan)來優化元件的擺放,以產生候選電路佈局。
以上係以分別對應多個區塊的雙態觸變率來進行該些區塊的排序,其中區塊被分配到的預留空間與其雙態觸變率成正比,亦即雙態觸變率可能較高的區域會分配到更大的DCAP區域。除此之外,本發明亦可考量區塊是否位於熱點(例如鄰近CPU、GPU、DDR等的位置)或鄰近於熱點,例如考量每一區塊與熱點之間的距離。
為了儘可能利用多餘的電路空間來作為DCAP的用途,以及在兼顧DCAP之餘能夠不去佔用到重要的元件擺放空間,在步驟208中,本發明可另行以“DCAP區域不佔用所有區塊面積的1%~3%(例如2%)”來作為判斷條件,這是考量到若預留的DCAP空間太大,整體電路的效率將會受到影響。當判斷出預留空間超出總區塊面的預定值(或預定百分比)時,則流程必須回到步驟204、206以重新產生候選電路佈局。
接著,步驟210繼續對候選電路佈局進行進一步檢視,倘若所決定出的對應區塊的DCAP空間大小能夠令整體的動態電壓衰減(dynamic IR drop)達到
預定目標,則以當前的電路佈局作為輸出最終佈局,其中預定目標可以是令電路佈局能夠正常工作的範圍,等本發明並不以為限。
請參考第4圖,第4圖係為使用第2圖所示的架構所得到的電路佈局的示意圖,相較於第1圖,圈選的熱點位置具有充足的DCAP區域,且在整體佈局上並沒有未使用到的大片區域。
請參考第5圖,第5圖係為根據本發明的一實施例的使用模擬軟體產生電路佈局的方法。請注意,假若可獲得實質上相同的結果,則這些步驟並不一定要遵照第5圖所示的執行次序來執行。第5圖的方法可簡單歸納如下:502:在一電路板上規劃出複數個區塊,其中每一區塊包含:一操作空間以及一預留空間;504:根據至少一特定條件來決定該些區塊中預留空間的大小;506:根據至少一判斷條件來決定是否需要修正所決定出的該些區塊中預留空間的大小,若是,流程回到步驟504;若否,流程進入步驟508;508:根據所決定出的該些區塊中預留空間的大小來產生電路佈局。
由於熟習技藝者在閱讀完以上段落後應可輕易瞭解第5圖中每一步驟的細節,為簡潔之故,在此將省略進一步的描述。
綜上所述,透過實施本發明的技術特徵,電路板上多餘的空間可得到妥善地利用。此外,由於本發明是透過軟體來依據雙態觸變率資料表產生對應的電路佈局,因此在產生速度上極為快速,且在空間利用上極為精確,不會
遺留大片無法利用到的區域,也不會犧牲到重要電路元件的擺放。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
502~508:步驟
Claims (9)
- 一種使用模擬軟體產生電路佈局的方法,包含以下步驟:(A).在一電路板上規劃出複數個區塊,其中該些區塊中每一區塊包含:一操作空間以及一預留空間;(B).根據至少一特定條件來決定該些區塊中預留空間的大小;(C).根據至少一判斷條件來決定是否調整步驟(B)中所決定出的該些區塊中預留空間的大小;以及(D).當步驟(C)判斷不需要調整時,根據步驟(B)中所決定出的該些區塊中預留空間的大小來產生該電路佈局;其中該至少一特定條件包含:對應該些區塊的複數個雙態觸變率(toggle rate),且該至少一判斷條件包含:該些區塊中總預留空間是否超過一預定值。
- 一種使用模擬軟體產生電路佈局的方法,包含以下步驟:(A).在一電路板上規劃出複數個區塊,其中該些區塊中每一區塊包含:一操作空間以及一預留空間;(B).根據至少一特定條件來決定該些區塊中預留空間的大小;(C).根據至少一判斷條件來決定是否調整步驟(B)中所決定出的該些區塊中預留空間的大小;以及(D).當步驟(C)判斷不需要調整時,根據步驟(B)中所決定出的該些區塊中預留空間的大小來產生該電路佈局;其中該至少一特定條件包含:對應該些區塊的複數個雙態觸變率(toggle rate),且該至少一判斷條件包含:步驟(B)中所決定出的該些區塊中預留空間的大小是否令整體的動態電壓衰減是否達到預定目標。
- 一種使用模擬軟體產生電路佈局的方法,包含以下步驟:(A).在一電路板上規劃出複數個區塊,其中該些區塊中每一區塊包含:一操作空間以及一預留空間;(B).根據至少一特定條件來決定該些區塊中預留空間的大小;(C).根據至少一判斷條件來決定是否調整步驟(B)中所決定出的該些區塊中預留空間的大小;以及(D).當步驟(C)判斷不需要調整時,根據步驟(B)中所決定出的該些區塊中預留空間的大小來產生該電路佈局;其中該至少一特定條件另包含:該些區塊是否位於熱點(hotspot),或該些區塊中每一區塊與熱點之間的距離,且該至少一判斷條件包含:該些區塊中總預留空間是否超過一預定值。
- 一種使用模擬軟體產生電路佈局的方法,包含以下步驟:(A).在一電路板上規劃出複數個區塊,其中該些區塊中每一區塊包含:一操作空間以及一預留空間;(B).根據至少一特定條件來決定該些區塊中預留空間的大小;(C).根據至少一判斷條件來決定是否調整步驟(B)中所決定出的該些區塊中預留空間的大小;以及(D).當步驟(C)判斷不需要調整時,根據步驟(B)中所決定出的該些區塊中預留空間的大小來產生該電路佈局;其中該至少一特定條件另包含:該些區塊是否位於熱點(hotspot),或該些區塊中每一區塊與熱點之間的距離,且該至少一判斷條件包含:步驟(B)中所決定出的該些區塊中預留空間的大小是否令整體的動態 電壓衰減是否達到預定目標。
- 如請求項1~4所述的方法,其中當步驟(C)判斷需要調整時,跳至步驟(A)。
- 如請求項1~2所述的方法,其中步驟(B)另包含:根據對應該些區塊的該些雙態觸變率的大小來對該些區塊進行排序,其中區塊被分配到的預留空間與其雙態觸變率成正比。
- 如請求項1、3所述的方法,其中該預定值係為該些區塊的總面積的一預定百分比,且該預定百分比係為1%~3%。
- 如請求項2、4所述的方法,其中該預定目標係為該電路佈局能夠維持正常工作的狀態。
- 如請求項1~4所述的方法,其中該些區塊中的預留空間係用來設置電容。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108113998A TWI690026B (zh) | 2019-04-22 | 2019-04-22 | 使用模擬軟體產生電路佈局的方法 |
US16/667,925 US10860758B2 (en) | 2019-04-22 | 2019-10-30 | Method of using simulation software to generate circuit layout |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108113998A TWI690026B (zh) | 2019-04-22 | 2019-04-22 | 使用模擬軟體產生電路佈局的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI690026B true TWI690026B (zh) | 2020-04-01 |
TW202040753A TW202040753A (zh) | 2020-11-01 |
Family
ID=71132533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108113998A TWI690026B (zh) | 2019-04-22 | 2019-04-22 | 使用模擬軟體產生電路佈局的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10860758B2 (zh) |
TW (1) | TWI690026B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013697A (zh) * | 2003-11-04 | 2007-08-08 | 松下电器产业株式会社 | 半导体集成电路及其设计方法 |
TW201017456A (en) * | 2008-09-09 | 2010-05-01 | Nec Electronics Corp | System and method for supporting layout design of semiconductor integrated circuit |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4303280B2 (ja) * | 2006-12-06 | 2009-07-29 | Necエレクトロニクス株式会社 | 半導体集積回路のレイアウト方法、レイアウトプログラム |
CN101661517B (zh) * | 2008-08-25 | 2012-02-15 | 扬智科技股份有限公司 | 芯片布局方法 |
US8769476B2 (en) * | 2012-05-04 | 2014-07-01 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of performing circuit simulation and generating circuit layout |
US9064938B2 (en) * | 2013-05-30 | 2015-06-23 | Freescale Semiconductor, Inc. | I/O cell ESD system |
US9569583B2 (en) * | 2014-04-07 | 2017-02-14 | TallannQuest LLC | Method and system for computer-aided design of radiation-hardened integrated circuits |
US9552449B1 (en) * | 2016-01-13 | 2017-01-24 | International Business Machines Corporation | Dynamic fault model generation for diagnostics simulation and pattern generation |
US10109621B2 (en) * | 2016-08-08 | 2018-10-23 | Taiwan Semiconductor Manufacturing Company, Ltd. | Low-capacitance electrostatic damage protection device and method of designing and making same |
TWI664546B (zh) * | 2018-06-21 | 2019-07-01 | 瑞昱半導體股份有限公司 | 時脈樹合成方法 |
-
2019
- 2019-04-22 TW TW108113998A patent/TWI690026B/zh active
- 2019-10-30 US US16/667,925 patent/US10860758B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013697A (zh) * | 2003-11-04 | 2007-08-08 | 松下电器产业株式会社 | 半导体集成电路及其设计方法 |
TW201017456A (en) * | 2008-09-09 | 2010-05-01 | Nec Electronics Corp | System and method for supporting layout design of semiconductor integrated circuit |
Also Published As
Publication number | Publication date |
---|---|
TW202040753A (zh) | 2020-11-01 |
US20200334339A1 (en) | 2020-10-22 |
US10860758B2 (en) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Seyedzadeh et al. | Counter-based tree structure for row hammering mitigation in DRAM | |
CN102292778B (zh) | 用于管理错误区域的存储器装置及方法 | |
US8270246B2 (en) | Optimized selection of memory chips in multi-chips memory devices | |
US20020095647A1 (en) | Method for adding decoupling capacitance during integrated circuit design | |
JP2001358221A (ja) | レイアウト方法、レイアウト装置及び記録媒体 | |
KR20120014103A (ko) | 타이밍 제어회로 | |
US20230297474A1 (en) | Energy efficient storage of error-correction-detection information | |
TWI690026B (zh) | 使用模擬軟體產生電路佈局的方法 | |
CN111950222B (zh) | 使用模拟软件产生电路布局的方法 | |
US11409346B2 (en) | Control circuit and method for fast setting power mode | |
US6999354B2 (en) | Dynamically adaptable memory | |
US7295481B2 (en) | Power saving by disabling cyclic bitline precharge | |
US6148434A (en) | Apparatus and method for minimizing the delay times in a semiconductor device | |
US20220108743A1 (en) | Per bank refresh hazard avoidance for large scale memory | |
US20170207697A1 (en) | Weighted voltage-capacitor clusters with cloud-charging for ultra-fast voltage scaling with no charge redistribution loss | |
US9230686B2 (en) | Semiconductor device having roll call circuit | |
US20070162446A1 (en) | Method of testing a multi-processor unit microprocessor | |
US20210191450A1 (en) | Method and apparatus for managing overclocking in a data center | |
TWI723332B (zh) | 電腦系統管理方法與電腦系統 | |
CN110879633B (zh) | 双倍数据率存储器 | |
TWI792864B (zh) | 測試系統以及測試方法 | |
KR102687575B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
CN118036522A (zh) | 电源完整性仿真系统、电源完整性仿真方法及存储介质 | |
US10594314B2 (en) | Mitigation of simultaneous switching output effects | |
US20080150627A1 (en) | Circuit for suppressing voltage jitter and method thereof |