JP2009526283A - 回路設計の回路素子をクラスタ化する方法、装置及びコンピュータ読み取り可能な記録媒体 - Google Patents
回路設計の回路素子をクラスタ化する方法、装置及びコンピュータ読み取り可能な記録媒体 Download PDFInfo
- Publication number
- JP2009526283A JP2009526283A JP2008552768A JP2008552768A JP2009526283A JP 2009526283 A JP2009526283 A JP 2009526283A JP 2008552768 A JP2008552768 A JP 2008552768A JP 2008552768 A JP2008552768 A JP 2008552768A JP 2009526283 A JP2009526283 A JP 2009526283A
- Authority
- JP
- Japan
- Prior art keywords
- cluster
- circuit elements
- clusters
- circuit
- distance
- 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.)
- Granted
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
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-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)
Abstract
【解決手段】 上記方法、装置及びコンピュータ読み取り可能な記録媒体は、所望の空間的位置の距離を最適化するように回路素子をクラスタ即ちグループに割り当てる。例えば、スキャン時にイネーブルされるラッチが、回路設計のためのスキャン・アーキテクチャにおけるスキャン・チェーンのレイアウトを最適化するように、ヒューリスティクスなクラスタ化を使用して各スキャン・チェーンに割り当てられることができる。
【選択図】図3
Description
152,154,156,158 回路素子
160,162,164,166 重心
Claims (25)
- 回路設計の複数の回路素子をクラスタ化する方法であって、
前記回路設計の複数の前記回路素子をサイズが均衡した複数のクラスタにグループ化するステップと、
前記複数の回路素子の空間的な位置の距離を、反復的にヒューリスティクスに最適化するステップと、
前記複数のクラスタのうち選択されたクラスタ相互間での回路素子の交換を行うステップと、
前記交換を行った後に、空間的な位置の距離を再計算するステップと、
再計算された前記空間的な位置の距離に基づいて前記交換を選択的に無効にするステップとを含む前記方法。 - 前記複数の回路素子のそれぞれがラッチを含む、請求項1に記載の方法。
- 前記クラスタのそれぞれがスキャン・チェーンに関連づけられている、請求項2に記載の方法。
- 前記クラスタのそれぞれがクロック制御ツリーに関連づけられている、請求項2に記載の方法。
- 前記交換を行うステップが、交換が行われるクラスタのそれぞれのサイズの均衡を維持しながら、交換されるべき回路素子を無作為に選択することを含む、請求項1に記載の方法。
- 前記グループ化するステップが、前記複数のクラスタのサイズを均衡化するように前記複数の回路素子を前記複数のクラスタに無作為にグループ化する、請求項1に記載の方法。
- 前記グループ化するステップが、前記回路設計のレイアウト内の各回路素子の位置に基づいて、前記複数のクラスタのサイズを均衡化するように前記複数の回路素子を前記複数のクラスタに無作為にグループ化する、請求項1に記載の方法。
- 前記複数のクラスタのそれぞれに重心が設定されており、前記空間的な位置の距離が、前記回路素子から前記クラスタの前記重心までの距離に少なくとも基づいている、請求項1に記載の方法。
- 前記複数のクラスタのそれぞれの重心が、前記回路設計の前記レイアウト内に規定された1つの軸に沿った位置を規定し、そして前記空間的な位置の距離が、1つの軸に沿った1つの回路素子から1つのクラスタの重心までの距離に少なくとも基づいている、請求項8に記載の方法。
- 前記空間的な位置の距離が、1つのクラスタ内の各回路素子から前記1つのクラスタの重心までの距離の和に基づいている、請求項8に記載の方法。
- 前記交換を行うステップが、
第1のクラスタ及び第2のクラスタを選択するステップと、
前記第1のクラスタ及び前記第2のクラスタのそれぞれから一群の回路素子を選択するステップと、
前記第1のクラスタの前記一群の回路素子を前記第2のクラスタに割り当て、前記第2のクラスタの前記一群の回路素子を前記第1クラスタに割り当てるステップとを含む、請求項1に記載の方法。 - 前記交換を行うステップが、
第1のクラスタ、第2のクラスタ及び第3のクラスタを選択するステップと、
前記第1クラスタ及び前記第3クラスタのそれぞれから一群の回路素子を選択するステップと、
前記第3クラスタから一対の群の回路素子を選択するステップと、
前記第1クラスタの前記一群の回路素子を前記第2クラスタに割り当てるステップと、
前記第2クラスタの前記一群の回路素子を前記第2クラスタに割り当てるステップと、前記第2クラスタの前記一対の群のうちの一方の群の回路素子を前記第1クラスタに割り当てるステップと、
前記第2クラスタの前記一対の群のうちの他方の群の回路素子を前記第3クラスタに割り当てるステップとを含む、請求項1に記載の方法。 - 予定の繰り返し回数の後に、前記反復的にヒューリスティクスに最適化するステップを終了する、請求項1に記載の方法。
- 成功した交換を生じなかった予定の回数の繰り返しの後、反復的にヒューリスティクスに最適化するステップを終了する、請求項1に記載の方法。
- プロセッサと、
回路設計の複数の回路素子をサイズが均衡した複数のクラスタにグループ化し、そして 前記複数の回路素子の空間的な位置の距離をヒューリスティクスに最適化することにより、前記回路設計の前記複数の回路素をクラスタ化する、前記プロセッサにより実行されるプログラムを記憶する手段とを備え、
前記空間的な位置の距離のヒューリスティクスな最適化は、前記複数のクラスタのうち選択されたクラスタ相互間での回路素子の交換を反復的に行い、 前記交換を行った後に、空間的な位置の距離を再計算し、そして再計算された前記空間的な位置の距離に基づいて前記交換を選択的に無効にすることにより行われる装置。 - 前記複数の回路素子のそれぞれがラッチを含み、そして前記クラスタのそれぞれがスキャン・チェーンに関連づけられている、請求項15に記載の装置。
- 交換が行われるクラスタのそれぞれのサイズの均衡を維持しながら、交換されるべき回路素子を無作為に選択することにより前記交換を行うように前記プログラムが構成されている、請求項15に記載の装置。
- 前記回路設計の複数の前記回路素子をサイズが均衡した複数のクラスタに無作為にグループ化することにより前記複数の回路素子をグループ化するように前記プログラムが構成されている、請求項15に記載の装置。
- 前記回路設計のレイアウト内の各回路素子の位置に基づいて、前記複数のクラスタのサイズを均衡化するように前記複数の回路素子を前記複数のクラスタにグループ化することにより前記複数の回路素子をグループ化するように前記プログラムが構成されている、請求項15に記載の装置。
- 前記複数のクラスタのそれぞれに重心が設定されており、前記空間的な位置の距離が、前記回路素子から前記クラスタの重心までの距離に少なくとも基づいている、請求項15に記載の装置。
- 前記複数のクラスタのそれぞれの前記重心が、前記回路設計の前記レイアウト内に規定された1つの軸に沿った位置を規定し、そして前記空間的な位置の距離が、前記軸に沿った1つの回路素子から1つのクラスタの重心までの距離に少なくとも基づいている、請求項20に記載の装置。
- 第1のクラスタ及び第2のクラスタを選択し、前記第1のクラスタ及び前記第2のクラスタのそれぞれから一群の回路素子を選択し、前記第1のクラスタの前記一群の回路素子を前記第2のクラスタに割り当て、前記第2のクラスタの前記一群の回路素子を前記第1クラスタに割り当てることにより前記複数の回路素子の交換を行うように前記プログラムが構成されている、請求項15に記載の装置。
- 第1のクラスタ、第2のクラスタ及び第3のクラスタを選択し、前記第1クラスタ及び前記第3クラスタのそれぞれから一群の回路素子を選択し、前記第2クラスタから一対の群の回路素子を選択し、前記第1クラスタの前記一群の回路素子を前記第2クラスタに割り当て、前記第3クラスタの前記一群の回路素子を前記第2クラスタに割り当て、前記第2クラスタの前記一対の群のうちの一方の群の回路素子を前記第1クラスタに割り当て、前記第2クラスタの前記一対の群のうちの他方の群の回路素子を前記第3クラスタに割り当てることにより、前記複数の回路素子の交換を行うように前記プログラムが構成されている、請求項15に記載の装置。
- 成功した交換を生じなかった予定の回数の繰り返しの後、反復的にヒューリスティクスに最適化するステップを終了することを含む、請求項15に記載の装置。
- コンピュータに、回路設計の複数の回路素子をサイズが均衡した複数のクラスタにグループ化する手順及び前記複数の回路素子の空間的な位置の距離をヒューリスティクスに最適化する手順を実行させることにより、前記回路設計の前記複数の回路素をクラスタ化するためのプログラムを記憶したコンピュータ読み取り可能な記録媒体であって、
前記空間的な位置の距離のヒューリスティクスな最適化は、前記複数のクラスタのうち選択されたクラスタ相互間での回路素子の交換を反復的に行い、前記交換を行った後に、空間的な位置の距離を再計算し、そして再計算された前記空間的な位置の距離に基づいて前記交換を選択的に無効にする、コンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/348,970 US7509611B2 (en) | 2006-02-07 | 2006-02-07 | Heuristic clustering of circuit elements in a circuit design |
US11/348,970 | 2006-02-07 | ||
PCT/EP2007/050414 WO2007090715A1 (en) | 2006-02-07 | 2007-01-16 | Heuristic clustering of circuit elements in a circuit design |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009526283A true JP2009526283A (ja) | 2009-07-16 |
JP5004971B2 JP5004971B2 (ja) | 2012-08-22 |
Family
ID=37814278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008552768A Expired - Fee Related JP5004971B2 (ja) | 2006-02-07 | 2007-01-16 | 回路素子をクラスタ化するプログラム及び装置並びにラッチをスキャン・チェーンに割り当てるプログラム及び装置 |
Country Status (7)
Country | Link |
---|---|
US (2) | US7509611B2 (ja) |
EP (1) | EP1984856A1 (ja) |
JP (1) | JP5004971B2 (ja) |
KR (1) | KR101013309B1 (ja) |
CN (1) | CN101361072B (ja) |
TW (1) | TWI409653B (ja) |
WO (1) | WO2007090715A1 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7509611B2 (en) * | 2006-02-07 | 2009-03-24 | International Business Machines Corporation | Heuristic clustering of circuit elements in a circuit design |
US8205182B1 (en) * | 2007-08-22 | 2012-06-19 | Cadence Design Systems, Inc. | Automatic synthesis of clock distribution networks |
US7996805B2 (en) * | 2008-01-08 | 2011-08-09 | National Semiconductor Corporation | Method of stitching scan flipflops together to form a scan chain with a reduced wire length |
US7987400B2 (en) * | 2008-02-22 | 2011-07-26 | International Business Machines Corporation | Method for optimizing scan chains in an integrated circuit that has multiple levels of hierarchy |
US20090228232A1 (en) * | 2008-03-06 | 2009-09-10 | Anderson Gary F | Range-based evaluation |
JP4987787B2 (ja) * | 2008-04-10 | 2012-07-25 | ルネサスエレクトロニクス株式会社 | 配置検証装置 |
US8225262B1 (en) * | 2009-03-18 | 2012-07-17 | Xilinx, Inc. | Method of and system for placing clock circuits in an integrated circuit |
US8042075B2 (en) * | 2009-03-25 | 2011-10-18 | International Business Machines Corporation | Method, system and application for sequential cofactor-based analysis of netlists |
US7821295B1 (en) | 2009-03-27 | 2010-10-26 | Altera Corporation | Methods and systems for improving a maximum operating frequency of a PLD having a shift register within an embedded memory block |
US8191028B1 (en) | 2009-04-07 | 2012-05-29 | Altera Corporation | Methods and systems for improving a maximum operating frequency of an integrated circuit during a route phase |
US8316339B2 (en) * | 2010-01-28 | 2012-11-20 | Synopsys, Inc. | Zone-based leakage power optimization |
US8898151B2 (en) * | 2011-06-22 | 2014-11-25 | Rogers Communications Inc. | System and method for filtering documents |
US8572536B2 (en) * | 2011-09-27 | 2013-10-29 | International Business Machines Corporation | Spare latch distribution |
US20140165022A1 (en) * | 2012-07-18 | 2014-06-12 | Kenneth S. Stevens | Relative timing architecture |
CN106610468B (zh) * | 2015-10-21 | 2020-04-14 | 龙芯中科技术有限公司 | 扫描链、扫描链构建方法及装置 |
US10114918B2 (en) * | 2016-01-27 | 2018-10-30 | Arm Limited | Physical placement control for an integrated circuit based on state bounds file |
US10613142B2 (en) * | 2017-02-22 | 2020-04-07 | International Business Machines Corporation | Non-destructive recirculation test support for integrated circuits |
US10565338B2 (en) | 2017-12-13 | 2020-02-18 | International Business Machines Corporation | Equivalency verification for hierarchical references |
US10831965B1 (en) | 2019-07-23 | 2020-11-10 | International Business Machines Corporation | Placement of vectorized latches in hierarchical integrated circuit development |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11203342A (ja) * | 1998-01-19 | 1999-07-30 | Hitachi Ltd | スキャンネット設計方法及びシステム |
JP2001084287A (ja) * | 1999-09-14 | 2001-03-30 | Toshiba Corp | ゲーテッドクロック回路、ゲーテッドクロック回路設計支援装置及び方法 |
US6609228B1 (en) * | 2000-11-15 | 2003-08-19 | International Business Machines Corporation | Latch clustering for power optimization |
JP2005043259A (ja) * | 2003-07-23 | 2005-02-17 | Matsushita Electric Ind Co Ltd | スキャンパステスト回路及びその設計方法 |
JP2005223171A (ja) * | 2004-02-06 | 2005-08-18 | Matsushita Electric Ind Co Ltd | 半導体集積回路のスキャンチェーン接続方法 |
JP2006107206A (ja) * | 2004-10-06 | 2006-04-20 | Matsushita Electric Ind Co Ltd | 半導体集積回路設計方法 |
JP2006323638A (ja) * | 2005-05-19 | 2006-11-30 | Nec Electronics Corp | 回路配置装置、回路配置方法およびそれを実行するプログラム |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5553002A (en) | 1990-04-06 | 1996-09-03 | Lsi Logic Corporation | Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, using milestone matrix incorporated into user-interface |
US5878153A (en) * | 1994-06-24 | 1999-03-02 | Ford Global Technologies, Inc. | Method for monitoring coating adhesion propensity based on surface morphology |
US6442743B1 (en) * | 1998-06-12 | 2002-08-27 | Monterey Design Systems | Placement method for integrated circuit design using topo-clustering |
US7240303B1 (en) * | 1999-11-30 | 2007-07-03 | Synplicity, Inc. | Hardware/software co-debugging in a hardware description language |
US6351840B1 (en) * | 1999-12-09 | 2002-02-26 | Silicon Perspective Corporation | Method for balancing a clock tree |
US6817005B2 (en) * | 2000-05-25 | 2004-11-09 | Xilinx, Inc. | Modular design method and system for programmable logic devices |
CA2321346A1 (en) * | 2000-09-28 | 2002-03-28 | Stephen K. Sunter | Method, system and program product for testing and/or diagnosing circuits using embedded test controller access data |
US6857110B1 (en) | 2001-01-30 | 2005-02-15 | Stretch, Inc. | Design methodology for merging programmable logic into a custom IC |
US6530073B2 (en) | 2001-04-30 | 2003-03-04 | Lsi Logic Corporation | RTL annotation tool for layout induced netlist changes |
AU2003259919A1 (en) * | 2002-08-21 | 2004-03-11 | California Institute Of Technology | Element placement method and apparatus |
US7051310B2 (en) | 2003-05-08 | 2006-05-23 | Cadence Design Systems, Inc. | Two-stage clock tree synthesis with buffer distribution balancing |
US6951003B2 (en) | 2003-05-12 | 2005-09-27 | Synopsys, Inc | Placing cells of an IC design using partition preconditioning |
US7392494B2 (en) | 2003-06-09 | 2008-06-24 | Kuoching Lin | Clustering circuit paths in electronic circuit design |
US7162706B2 (en) | 2004-03-05 | 2007-01-09 | Picocraft Design Systems, Inc. | Method for analyzing and validating clock integration properties in circuit systems |
US20060010260A1 (en) * | 2004-07-07 | 2006-01-12 | Fung Hon C | Direct memory access (DMA) controller and bus structure in a master/slave system |
TWI287746B (en) * | 2005-06-17 | 2007-10-01 | Univ Chang Gung | Projection-based model reductions for efficient interconnect modeling and simulations using the Arnoldi algorithm |
US7398505B2 (en) * | 2006-02-07 | 2008-07-08 | International Business Machines Corporation | Automatic back annotation of a functional definition of an integrated circuit design based upon physical layout |
US7509611B2 (en) * | 2006-02-07 | 2009-03-24 | International Business Machines Corporation | Heuristic clustering of circuit elements in a circuit design |
US7430699B2 (en) * | 2006-02-07 | 2008-09-30 | International Business Machines Corporation | Trading propensity-based clustering of circuit elements in a circuit design |
-
2006
- 2006-02-07 US US11/348,970 patent/US7509611B2/en not_active Expired - Fee Related
-
2007
- 2007-01-16 CN CN2007800017458A patent/CN101361072B/zh not_active Expired - Fee Related
- 2007-01-16 JP JP2008552768A patent/JP5004971B2/ja not_active Expired - Fee Related
- 2007-01-16 KR KR1020087019174A patent/KR101013309B1/ko not_active IP Right Cessation
- 2007-01-16 EP EP07703921A patent/EP1984856A1/en not_active Withdrawn
- 2007-01-16 WO PCT/EP2007/050414 patent/WO2007090715A1/en active Application Filing
- 2007-02-05 TW TW096104161A patent/TWI409653B/zh not_active IP Right Cessation
-
2009
- 2009-03-18 US US12/406,439 patent/US8196074B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11203342A (ja) * | 1998-01-19 | 1999-07-30 | Hitachi Ltd | スキャンネット設計方法及びシステム |
JP2001084287A (ja) * | 1999-09-14 | 2001-03-30 | Toshiba Corp | ゲーテッドクロック回路、ゲーテッドクロック回路設計支援装置及び方法 |
US6609228B1 (en) * | 2000-11-15 | 2003-08-19 | International Business Machines Corporation | Latch clustering for power optimization |
JP2005043259A (ja) * | 2003-07-23 | 2005-02-17 | Matsushita Electric Ind Co Ltd | スキャンパステスト回路及びその設計方法 |
JP2005223171A (ja) * | 2004-02-06 | 2005-08-18 | Matsushita Electric Ind Co Ltd | 半導体集積回路のスキャンチェーン接続方法 |
JP2006107206A (ja) * | 2004-10-06 | 2006-04-20 | Matsushita Electric Ind Co Ltd | 半導体集積回路設計方法 |
JP2006323638A (ja) * | 2005-05-19 | 2006-11-30 | Nec Electronics Corp | 回路配置装置、回路配置方法およびそれを実行するプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2007090715A1 (en) | 2007-08-16 |
CN101361072B (zh) | 2010-12-15 |
US20090178014A1 (en) | 2009-07-09 |
US8196074B2 (en) | 2012-06-05 |
TW200817953A (en) | 2008-04-16 |
KR101013309B1 (ko) | 2011-02-09 |
JP5004971B2 (ja) | 2012-08-22 |
KR20080100182A (ko) | 2008-11-14 |
US7509611B2 (en) | 2009-03-24 |
EP1984856A1 (en) | 2008-10-29 |
TWI409653B (zh) | 2013-09-21 |
CN101361072A (zh) | 2009-02-04 |
US20070186199A1 (en) | 2007-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5004971B2 (ja) | 回路素子をクラスタ化するプログラム及び装置並びにラッチをスキャン・チェーンに割り当てるプログラム及び装置 | |
JP5706689B2 (ja) | アーキテクチャー上の物理的合成 | |
JP5608079B2 (ja) | アーキテクチャー上の物理的合成 | |
US8984465B1 (en) | Methods, systems, and articles of manufacture for automatically assigning track patterns to regions for physical implementation of an electronic design | |
US9047434B2 (en) | Clustering for processing of circuit design data | |
US7398505B2 (en) | Automatic back annotation of a functional definition of an integrated circuit design based upon physical layout | |
US7430699B2 (en) | Trading propensity-based clustering of circuit elements in a circuit design | |
US8032855B1 (en) | Method and apparatus for performing incremental placement on a structured application specific integrated circuit | |
US8694940B2 (en) | System and method for integrated circuit design and implementation using mixed cell libraries | |
US10346573B1 (en) | Method and system for performing incremental post layout simulation with layout edits | |
US7275223B2 (en) | Facilitating high-level validation of integrated circuits in parallel with development of blocks in a hierarchical design approach | |
US10936772B1 (en) | Methods for incremental circuit physical synthesis | |
US8484589B2 (en) | Logical repartitioning in design compiler | |
Mao et al. | Library-based placement and routing in fpgas with support of partial reconfiguration | |
Sayal | EDA design for Microscale Modular Assembled ASIC (M2A2) circuits | |
Tsai et al. | Routability optimization for crossbar-switch structured ASIC design | |
JP2009009226A (ja) | 集積回路装置の設計方法、集積回路装置、及び集積回路の設計支援システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091026 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111011 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111216 |
|
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: 20120424 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120522 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150601 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |