JP5743808B2 - 集積回路の配線方法、集積回路の配線プログラム及びそれを記憶した記憶媒体 - Google Patents
集積回路の配線方法、集積回路の配線プログラム及びそれを記憶した記憶媒体 Download PDFInfo
- Publication number
- JP5743808B2 JP5743808B2 JP2011182833A JP2011182833A JP5743808B2 JP 5743808 B2 JP5743808 B2 JP 5743808B2 JP 2011182833 A JP2011182833 A JP 2011182833A JP 2011182833 A JP2011182833 A JP 2011182833A JP 5743808 B2 JP5743808 B2 JP 5743808B2
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- length
- processor element
- integrated circuit
- detour
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/347—Physical level, e.g. placement or 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/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/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/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)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
BNUM = (1/fR - DPATH)/DCLB ・・・(1)
ここで、DPATHはクリティカルパスCPATHによって生じる遅延時間を表し、DCLBは論理ブロック1辺の長さの配線によって生じる遅延時間を表す。つまり、迂回可能配線長BNUMは、ユーザの要求性能を満たす範囲内で、現状の配線のクリティカルパスCPATHから配線を迂回させる場合、論理ブロック何辺分だけ配線を迂回させることができるかどうかを示している。
BNUM = (LMAX - LC)/LCLB ・・・(2)
ここで、LMAXは要求周波数fRを満たす最大の配線の長さを表し、LCはクリティカルパスCPATHの長さを表し、LCLBは論理ブロック1辺の長さを表す。
G0=G0∪{WTARGET}
GI=GI−{WTARGET}
BNUM=BNUM−BADD ・・・(3)
ステップS45にて、迂回経路を採用する処理が終了すると、プロセッサエレメント11は、再配線が行われたことを示すフラグをセットする(S46)。そして、最大迂回配線長BNUMが2未満ならば(S47のNo)、これ以上配線を迂回させることができないため、図6のステップS29にて再配線後のクリティカルパスを計算し、ステップS20からの処理を繰り返す。それに対して、最大迂回配線長BNUMが2以上ならば(S47のYes)、ステップS25に戻り、分類GIに含まれる配線群の再配線処理を行う。
GFINISH=GFINISH∪{WTARGET}
GI=GI−{WTARGET} ・・・(4)
そして、ステップS48の処理が終了すると、ステップS25に戻り、分類GIに含まれる配線群の再配線処理を行う。なお、最大迂回配線長BNUMが2以上の状態で、全ての分類G1〜Gn−1に含まれる全ての配線群に対する再配線処理が終了すると(S27のYes)、ステップS28にて、迂回配線が採用されたかどうかが判断され、迂回配線が採用されていなければ(S28のNo)、配線処理を終了する。迂回配線が採用されたかどうかは、再配線が行われたことを示すフラグによって判断できる。
例えば、最大迂回配線長BNUMが2の場合、再配置計算を行っていない配線群の使用配線数がいずれも2以上であるならば、例え1本の使用配線を迂回することができたとしても、他の使用配線を迂回することができない。つまり、使用配線の本数が少ない分類に含まれる配線群から順に再配置計算を行う場合、最大迂回配線長BNUMが2×I(Iは、使用配線の本数)未満となると、使用配線の全てを迂回させることはできない。
迂回配線が何度も連続で採用されなかった場合、その時点で配線処理を終了させても良い。図10及び図11は、迂回経路の不採用が所定の回数(NF回)を超えた時点で配線処理を終了させる場合のプロセッサエレメント11の処理を示すフローチャートである。
予め再配置計算対象の分類を定め、再配置計算対象の分類に含まれる配線群の再配置計算が終了すると、処理を終了させても良い。そのためには、図6に示した処理に代えて図12に基づいて処理を行う。図12に示す処理では、再配置計算を行う前に(例えば図12のS121)再配置計算対象の分類を設定する。ここでは、何本の使用配線の分類に属する配線群までが再配線出来る可能性を持っているのかを式(5)および式(6)により計算する。
ここで、Riは、横方向の配線から成る配線群であり、使用配線の本数がi本である配線群の数を表す。また、Ciは、縦方向の配線群であり、使用配線の本数がi本である配線群の数を表す。プロセッサエレメント11は、式(5)および式(6)の両方を満たすように再配線対象分類の最大使用配線数Jを求める。
Claims (9)
- プロセッサエレメントが、所定の動作周波数を満たすように第1の配線を算出し、
前記プロセッサエレメントが、前記所定の動作周波数と前記第1の配線のクリティカルパスとを用いて最大迂回配線長を算出し、
前記プロセッサエレメントが、集積回路の配線を複数の配線群に分けた場合に、そのうちの第1の配線群に含まれる前記第1の配線を、前記第1の配線を含む他の配線群内の配線を用いて迂回することで第2の配線を算出し、
前記プロセッサエレメントが、前記第2の配線と前記第1の配線との差分が前記最大迂回配線長以下であると判断した場合には、前記第2の配線によって前記第1の配線を更新し、前記第2の配線と前記第1の配線の差分が前記最大迂回配線長よりも大きいと判断した場合には、前記第1の配線を更新しない集積回路の配線方法。 - 前記最大迂回配線長が集積回路の論理ブロック2辺分の長さよりも短いと前記プロセッサエレメントが判断した場合には、前記プロセッサエレメントは前記第2の配線を求める処理を行わずに、前記第1の配線を更新しない請求項1に記載の集積回路の配線方法。
- 前記プロセッサエレメントが、前記第2の配線を再配線された配線として採用した場合に、前記第2の配線と前記第1の配線の差分を用いて前記最大迂回配線長を更新し、前記プロセッサエレメントが、更新された最大迂回配線長が集積回路の論理ブロック2辺分の長さよりも長いと判断した場合には、前記プロセッサエレメントは前記第1の配線群とは異なる第2の配線群に対して迂回経路の算出を行う請求項1または2に記載の集積回路の配線方法。
- 前記プロセッサエレメントは、前記第2の配線を再配線された配線として採用した場合に、前記第2の配線と前記第1の配線の差分を用いて前記最大迂回配線長を更新し、前記プロセッサエレメントが、更新された最大迂回配線長が集積回路の論理ブロック2辺分の長さよりも短いと判断した場合には、前記プロセッサエレメントは、前記再配線された配線のクリティカルパスを算出し、前記所定の動作周波数と前記再配線された配線のクリティカルパスとを用いて最大迂回配線長を更新し、前記プロセッサエレメントが、前記差分を用いて更新された最大迂回配線長が集積回路の論理ブロック2辺分の長さよりも長いと判断した場合には、前記プロセッサエレメントは、前記第1の配線とは異なる第2の配線群に対して迂回経路の算出を行う請求項1または2に記載の集積回路の配線方法。
- 前記迂回経路の算出は、前記第1の配線に使用されていない配線が1以上であって他の配線群よりも少ない本数である配線群を前記第1の配線群として迂回経路の算出を行う処理であって、前記第1の配線群で前記第1の配線に使用されていない配線の本数をIとしたときに、前記最大迂回配線長が集積回路の論理ブロック2辺分のI倍未満であると前記プロセッサエレメントが判断した場合には、前記プロセッサエレメントは前記迂回経路の算出の処理を行わずに配線処理を終了する請求項3または4のいずれかに記載の集積回路の配線方法。
- 前記プロセッサエレメントが、前記迂回経路の算出を行う配線群を予め設定し、前記プロセッサエレメントが、この中の1つの配線群を前記第1の配線群として迂回経路の算出を行う請求項3または4に記載の集積回路の配線方法。
- 前記第2の配線と前記第1の配線の差分が前記最大迂回配線長よりも大きく、前記第1の配線を更新しない状態が生じた回数を前記プロセッサエレメントがカウントし、この回数が所定の回数を上回ると前記プロセッサエレメントが判断した場合には、前記プロセッサエレメントは配線処理を終了する請求項1乃至6のいずれかに記載の集積回路の配線方法。
- コンピュータに、
所定の動作周波数を満たすように第1の配線を算出する手段と、
前記所定の動作周波数と前記第1の配線のクリティカルパスとを用いて最大迂回配線長を算出する手段と、
集積回路の配線を複数の群に分けた場合に、配線群に含まれる第一の配線を、第1の配線を含む他の配線群内の配線を用いて迂回させることで第2の配線を算出する手段と、
前記第2の配線と前記第1の配線との差分が前記最大迂回配線長以下ならば、前記第2の配線によって前記第1の配線を更新し、前記第2の配線と前記第1の配線の差分が前記最大迂回配線長よりも大きければ、前記第1の配線を更新しない手段とを実行させる集積回路の配線プログラム。 - 請求項8に記載の集積回路の配線プログラムを記録したコンピュータ読み取り可能な記憶媒体。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011182833A JP5743808B2 (ja) | 2011-08-24 | 2011-08-24 | 集積回路の配線方法、集積回路の配線プログラム及びそれを記憶した記憶媒体 |
TW101124989A TWI446201B (zh) | 2011-08-24 | 2012-07-11 | 實施積體電路之電路設計之方法及電腦可讀取媒體 |
KR1020120082378A KR101382984B1 (ko) | 2011-08-24 | 2012-07-27 | 집적 회로의 회로 설계 구현 방법 및 컴퓨터 판독 가능 매체 |
US13/561,483 US8578318B2 (en) | 2011-08-24 | 2012-07-30 | Method for implementing circuit design for integrated circuit and computer readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011182833A JP5743808B2 (ja) | 2011-08-24 | 2011-08-24 | 集積回路の配線方法、集積回路の配線プログラム及びそれを記憶した記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013045294A JP2013045294A (ja) | 2013-03-04 |
JP5743808B2 true JP5743808B2 (ja) | 2015-07-01 |
Family
ID=47745555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011182833A Expired - Fee Related JP5743808B2 (ja) | 2011-08-24 | 2011-08-24 | 集積回路の配線方法、集積回路の配線プログラム及びそれを記憶した記憶媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8578318B2 (ja) |
JP (1) | JP5743808B2 (ja) |
KR (1) | KR101382984B1 (ja) |
TW (1) | TWI446201B (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9865355B2 (en) * | 2015-02-02 | 2018-01-09 | Micron Technology, Inc. | Apparatuses and methods for transistor protection by charge sharing |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2930770B2 (ja) * | 1991-06-07 | 1999-08-03 | 株式会社東芝 | 半導体集積回路の設計方法 |
JP3737104B2 (ja) * | 1992-06-04 | 2006-01-18 | ジリンクス,インコーポレーテッド | プログラム可能な集積回路デバイスにユーザ回路を配置するタイミング駆動式の方法 |
US5553000A (en) * | 1992-11-05 | 1996-09-03 | Nec Usa, Inc. | Eliminating retiming bottlenecks to improve performance of synchronous sequential VLSI circuits |
JP2601168B2 (ja) * | 1993-03-30 | 1997-04-16 | 日本電気株式会社 | 順次回路をリタイミングする方法および再設計する方法 |
US5666290A (en) * | 1995-12-27 | 1997-09-09 | Vlsi Technology, Inc. | Interactive time-driven method of component placement that more directly constrains critical paths using net-based constraints |
JP2918101B2 (ja) * | 1996-07-25 | 1999-07-12 | 日本電気株式会社 | 半導体集積回路のレイアウト方法 |
JP3496661B2 (ja) * | 2000-06-15 | 2004-02-16 | 日本電気株式会社 | データパスに適したプログラマブル相互接続網を有する再構成可能デバイス |
US6637014B2 (en) * | 2001-03-06 | 2003-10-21 | Nec Corporation | Crosstalk mitigation method and system |
US6766499B1 (en) * | 2001-04-05 | 2004-07-20 | Lsi Logic Corporation | Buffer cell insertion and electronic design automation |
US7107477B1 (en) * | 2003-01-31 | 2006-09-12 | Altera Corporation | Programmable logic devices with skewed clocking signals |
US6930510B2 (en) | 2003-03-03 | 2005-08-16 | Xilinx, Inc. | FPGA architecture with mixed interconnect resources optimized for fast and low-power routing and methods of utilizing the same |
US7039891B2 (en) * | 2003-08-27 | 2006-05-02 | Lsi Logic Corporation | Method of clock driven cell placement and clock tree synthesis for integrated circuit design |
EP1630707B8 (en) * | 2004-02-20 | 2009-01-14 | Panasonic Corporation | Element arrangement check device and printed circuit board design device |
US7062737B2 (en) * | 2004-07-28 | 2006-06-13 | Lsi Logic Corporation | Method of automated repair of crosstalk violations and timing violations in an integrated circuit design |
US20060162960A1 (en) * | 2004-12-16 | 2006-07-27 | Litton Systems, Inc. | System for determining printed circuit board passive channel losses |
US7493578B1 (en) * | 2005-03-18 | 2009-02-17 | Xilinx, Inc. | Correlation of data from design analysis tools with design blocks in a high-level modeling system |
US7281233B1 (en) | 2005-05-27 | 2007-10-09 | Xilinx, Inc. | Method and apparatus for implementing a circuit design for integrated circuitry on a circuit board |
US7363599B1 (en) * | 2005-10-04 | 2008-04-22 | Xilinx, Inc. | Method and system for matching a hierarchical identifier |
US7689962B2 (en) * | 2006-02-08 | 2010-03-30 | Roberto Suaya | Extracting high frequency impedance in a circuit design using an electronic design automation tool |
US7509609B2 (en) * | 2006-03-15 | 2009-03-24 | Agere Systems Inc. | Methods and apparatus for reducing timing skew |
JP4555891B2 (ja) * | 2007-05-28 | 2010-10-06 | 富士通株式会社 | 自動配線装置,自動配線プログラム,及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
JP4530049B2 (ja) * | 2008-01-10 | 2010-08-25 | ソニー株式会社 | 半導体装置の設計プログラムおよび半導体装置の設計システム |
JP2010226524A (ja) | 2009-03-24 | 2010-10-07 | Fuji Xerox Co Ltd | プログラマブル論理回路、半導体集積回路装置、情報処理システムおよび制御プログラム |
US8878566B2 (en) * | 2010-09-08 | 2014-11-04 | Nec Corporation | Reconfigurable circuit |
-
2011
- 2011-08-24 JP JP2011182833A patent/JP5743808B2/ja not_active Expired - Fee Related
-
2012
- 2012-07-11 TW TW101124989A patent/TWI446201B/zh not_active IP Right Cessation
- 2012-07-27 KR KR1020120082378A patent/KR101382984B1/ko not_active IP Right Cessation
- 2012-07-30 US US13/561,483 patent/US8578318B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013045294A (ja) | 2013-03-04 |
TW201314483A (zh) | 2013-04-01 |
KR101382984B1 (ko) | 2014-04-08 |
KR20130023070A (ko) | 2013-03-07 |
US8578318B2 (en) | 2013-11-05 |
US20130055189A1 (en) | 2013-02-28 |
TWI446201B (zh) | 2014-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
George et al. | Low-Energy FPGAs—Architecture and Design | |
Alpert et al. | Buffered Steiner trees for difficult instances | |
US9432023B2 (en) | Routing and programming for resistive switch arrays | |
US9430608B2 (en) | Fixing of semiconductor hold time | |
JP5743808B2 (ja) | 集積回路の配線方法、集積回路の配線プログラム及びそれを記憶した記憶媒体 | |
Xue et al. | Routing path reuse maximization for efficient NV-FPGA reconfiguration | |
US20160203254A1 (en) | Methods for reducing congestion region in layout area of ic | |
US20150061410A1 (en) | Semiconductor integrated circuit | |
US10042970B2 (en) | Sharing global route topologies in detailed routing | |
US9330220B1 (en) | Clock region partitioning and clock routing | |
US20190163862A1 (en) | Placement and timing aware wire tagging | |
KR20140112589A (ko) | 적층 반도체 장치의 tsv 배치 설계 방법 및 적층 반도체 장치의 tsv 배치 설계 시스템 | |
WO2018139408A1 (ja) | 設計支援システムおよび設計支援方法 | |
US7823112B1 (en) | Method, software and system for ensuring timing between clocked components in a circuit | |
WO2019107234A1 (ja) | 設計支援システム、設計支援方法およびプログラム記録媒体 | |
JP2013143008A (ja) | 設計装置 | |
US20220309225A1 (en) | Metal Routing Techniques | |
US11481535B2 (en) | Numerical information generation apparatus, numerical information generation method, and program | |
JP6908121B2 (ja) | プログラマブル集積回路および制御装置 | |
JP2014211824A (ja) | 設計支援装置、設計支援方法、および設計支援プログラム | |
Li et al. | Fast wire length estimation in obstructive block placement | |
Lu et al. | Concurrent flip-flop and buffer insertion with adaptive blockage avoidance | |
Hu et al. | Buffering in the Layout Environment | |
JP2015210703A (ja) | Cad装置、セル、およびレイアウト方法 | |
Nasri et al. | Routing's algorithms and considerations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150202 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20150216 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20150218 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150403 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150428 |
|
LAPS | Cancellation because of no payment of annual fees |