JP3884892B2 - 電子部品の配置方法および電子部品の配置プログラムを記録したコンピュータ読取可能な記録媒体 - Google Patents
電子部品の配置方法および電子部品の配置プログラムを記録したコンピュータ読取可能な記録媒体 Download PDFInfo
- Publication number
- JP3884892B2 JP3884892B2 JP34324399A JP34324399A JP3884892B2 JP 3884892 B2 JP3884892 B2 JP 3884892B2 JP 34324399 A JP34324399 A JP 34324399A JP 34324399 A JP34324399 A JP 34324399A JP 3884892 B2 JP3884892 B2 JP 3884892B2
- Authority
- JP
- Japan
- Prior art keywords
- delay
- wiring length
- gate
- value
- logical
- 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
-
- 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)
Description
【発明の属する技術分野】
本発明は、半導体集積回路の実装における遅延を考慮した電子部品の配置方法に関する。
【0002】
【従来の技術】
従来、半導体集積回路の実装設計における配置処理において、仮想配線長の合計が最小になることを目的関数として配置処理が行われていた。この半導体集積回路の実装方法に関する従来技術として、例えば、特開平8−305745号公報に記載された技術が知られている。この従来技術は、ゲートを配置する領域を複数の部分に分割し、各分割領域へのゲートの割当てを決定する際に、前記各ゲートに属する端子間の配線長が最小になることを目的関数として、ゲートの割当て問題を線形計画問題として定式化し、整数計画法を用いて最適なゲートの割当てを決定するものである。
【0003】
【発明が解決しようとする課題】
上記従来技術では、ゲートのディレイ特性の違いにより必ずしもパスディレイが最小にはならなかった。ここで、パスディレイとは始点フリップフロップから終点フリップフロップの前までのディレイをいう。
【0004】
本発明の目的は、前記従来技術の問題点に鑑み、パスディレイをより適正なものとするような電子部品の配置方法を提供することにある。
【0005】
【課題を解決するための手段】
本発明によれば、上記目的は目標マシンサイクルとパス内の論理段数からゲート1段あたりのディレイ予算値を算出し、このディレイ値と各段のゲートのディレイ特性から各段のネットの配線長制限値を算出し、その制限値を配置の目的関数とすることにより達成される。
【0006】
【発明の実施の形態】
図1にパスの構成例を示す。図1において、101、102はフリップフロップ、103、104、105は電子部品であるゲート、106、107はネット、108、109、110、111はネットの配線長を示す。図1(A)と図1(B)のパスを構成する要素は同じであるが、ゲートBの配置位置、ネットAの配線長、ネットBの配線長が異なる。図1(A)のネットAの配線長L1と図1(B)のネットB配線長L4は同じ長さである(L1=L4)。図1(A)のネットBの配線長L2と図1(B)のネットA配線長L3は同じ長さである(L2=L3)。
【0007】
図2に、図1で示したゲートAとゲートBのディレイ特性の例を示している。図2において、201はゲートAのディレイ特性、202はゲートBのディレイ特性を示している。ここに示すように、ゲートの種類によって配線長に対するディレイの特性が違っている。ゲートAのディレイ特性を見ると初期値即ち配線長がゼロのときの値はゲートA自身の素子ディレイである。配線長が長くなるにつれてディレイは大きくなっていく。一方、ゲートBのディレイ特性を見ると、初期値はゲートB自身の素子ディレイであり、その後同様に配線長が長くなるにつれてディレイは大きくなる。しかしながら、これらを比較してみるとゲートBのディレイの特性の方がより急峻である。これは素子自体の特性によるもので、素子によって信号の駆動力、即ち信号を押し出す力が異なるからである。このような特性は素子毎に違い、その特性はわかっている。図2のグラフからは配線長からディレイ値がわかり、また、逆にディレイ値から配線長を知ることも出来る。
【0008】
図1(A)、(B)ともにゲートA−ゲートC間の仮想配線長は同じである(L1+L2=L3+L4)。しかし、ゲートのディレイ特性からゲートAとゲートC間のディレイ値を計算すると図1(A)はDa1+Db2、図1(B)はDa2+Db1となり、図1(A)の方がパスのディレイ値が大きくなってしまうという現象が生じる。即ち、配線長を最小にしようとしても、それが必ずしもディレイ値を小さくすることにはつながっていない。
【0009】
近年の情報処理装置の処理速度は急速に速くなってきている。今までは基準が緩かった(余裕があった)と言える。しかしながら、処理速度が速くなったことに対応するには今までは考慮に入れなくとも良かった上記現象も考慮して素子の配置を決めなくてはならなくなったことに想到したのである。
以下、本発明による配置決定方法の一実施例を図3〜図8を用いて詳細に説明する。
【0010】
図3、図4は本発明の一実施例による配置決定方法の処理動作を説明するフローチャート、図5は処理対象となるパスの一例を説明する図、図6は論理ブロック間ネットの仮想配線長を求める説明をする図、図7は論理ブロック間ネットのディレイ値の算出を説明する図、図8は各段のネットのディレイ予算値の算出を説明する図である。
【0011】
まず、図3、図4に示す処理フローを参照して、本発明の実施例による処理を説明する。図3を参照して、論理ブロックの概略位置指定からチップの実装(配置)までの全体の処理フローの概略を説明する。
【0012】
論理ファイル310は素子の配置によって実現しようとしている論理式が格納されている。ライブラリ320は論理を素子の組合せで実現するために、使用可能な各素子の特性が格納されたものである。始めに、論理ファイル310、ライブラリ320の内容をプログラムに入力した後、概略位置指定を行なう(ステップ301)。概略位置指定とは、LSIを複数の機能毎に分割し(論理ブロック)、これを経験的に収まりの良いように概略の互いの位置関係を決めるものである。例えば互いにブロック間の配線の多いものを隣に配置するなどである。
【0013】
次に論理ブロックの概略位置指定の結果とライブラリを参照して素子の配置制約を決定する(ステップ302)。詳細説明については図4を用いて後述する。次に配置制約を守りながら配置処理を行う(ステップ303)。これは既存のアルゴリズムを使って実現出来ここではこれ以上の説明を省略する。
【0014】
次にステップ302の配置制約決定方法について図4を参照して説明する。
まず、図5で処理対象とするパスの一例を示し、その構成について説明する。
図5のパスは2つのフリップフロップ、5つのゲート、それぞれの素子をつなぐ6つのネット(ブロック内ネット:5ネット、論理ブロック間ネット:1ネット)から構成されている。また501で示した論理ブロック1は1つのフリップフロップ、2つのゲート、ブロック内ネット2ネット、502で示した論理ブロック2は1つのフリップフロップ、3つのゲート、ブロック内ネット3ネットを含んでいる。ここで、D1はブロック内1段あたりの平均ディレイ予算値、D2はブロック間ディレイを示している。
【0015】
図5の処理対象とするパスの一例をもとに図4の配置制約決定方法フローを説明する。
論理ブロックの概略位置指定情報から論理ブロック間の仮想配線長を求める(401)。
ここで、論理ブロック間の配線長について、図6により説明する。図6の601で示す論理ブロック1と602で示す論理ブロック2間を結ぶ論理ブロック間ネット603の長さをL5とする。ここで、パスを構成する要素(フリップフロップ、ゲート)は配置処理が行われていないので配置位置が決まっておらず、論理ブロック間の距離を求めることができない。そこでまず、論理ブロック間ネット603の両端を決定する。論理ブロック間ネット603の両端の決定法には、例えば問題を単純化するために各論理ブロックの中心点を論理ブロック間ネットの両端と仮定するという方法があるが、これ以外の方法でもよいものである。次にこのようにして求まった2点間の仮想配線長L5を求める。仮想配線長の算出法には、例えばスタイナー・ツリー法を用いることができるが、これ以外の方法でもよいものである。
【0016】
次に論理ブロック間のディレイ値を算出する(402)。
図7に、図5、図6内のゲートDのディレイ特性の例を示す。ディレイ特性は図3のライブラリ320より算出したものである。ゲートDのディレイ特性とステップ401で求めた論理ブロック間ネットの仮想配線長L5からゲートDのディレイ値を求め、それをブロック間ディレイ値D3とする。ブロック間ネットが複数ある場合は、この処理をブロック間ネット数回繰り返し、それぞれのディレイ値の和をブロック間ディレイ値とする。
【0017】
論理ブロック間ディレイ値、目標マシンサイクル、パスのブロック内論理段数より論理ブロック内1段あたりの平均ディレイ予算値を算出する(403)。ブロック間ディレイ値をDb、目標マシンサイクルをTm、ブロック内論理段数をn、論理ブロック内1段あたりの平均ディレイ予算値をDinとするとDinは次式で与えられる。
Din = (Tm−Db)/ n
この式にステップ2で算出したブロック間ディレイ値Db=D3、目標マシンサイクルTm、図5に示したパスのブロック内論理段数n=5を代入すると図5のパスでの論理ブロック内1段あたりの平均ディレイ予算値Dinは
Din = (Tm−D3) / 5
となる。この例での論理ブロック内1段あたりの平均ディレイ予算値をD4とする。
【0018】
ここで、求まった論理ブロック内1段あたりの平均ディレイ予算値がある基準値以下の場合にこの論理はディレイ計算収束不可能であることを指摘する。例えば、求まった論理ブロック内1段あたりの平均ディレイ予算値が、図2のディレイ特性におけるゲートのゲートディレイ値(ディレイ特性とy軸が交わる点)以下の場合、このパスのゲートはどのような配置を行ってもディレイ収束が不可能であり、配置処理の前段階で論理不良を指摘し、論理設計にフィードバックすることが可能である。
【0019】
別のパスでの計算によって求められたネットの持つディレイ予算値より、ステップ403で算出した平均ディレイ予算値のほうが小さいか判定する(404)。小さければ、算出した平均ディレイ予算値をそのネットのディレイ予算値としてセットする(405)。大きければステップ405の処理をスキップして次へ進む。これはネットが枝分かれしているときを考慮したもので図8で具体的に説明する。
【0020】
図8において、ネットCはパスA、パスBの両方のパスに含まれる。まず、パスAで算出された平均ディレイ予算値をDAとし、これをネットCの持つディレイ予算値とする。次に、パスBで算出された平均ディレイ予算値をDBとすると、図8ではDA>DBとなり、DBをネットCの持つディレイ予算値としてセットし、仮にDA<DBの場合はDAをそのままネットCの持つディレイ予算値としてステップ5の処理を行う。
【0021】
全パスについてステップ401〜ステップ405を実施したかを判定する(406)。実施していなければ、未処理のパスに対して上記の処理を繰り返す。実施していればステップ407の処理を行う。ステップ407では各段のゲートディレイ特性より配線長の制限値を求め、次の処理のためセットする。これについて図9を使って説明する。
【0022】
図9に、ある段のゲートディレイ特性の例を示す。ディレイ特性は図3の320ライブラリより算出したものである。上記ステップで算出されたこのゲートをソースとするネットのディレイ予算値をD4とする。図9のディレイ特性とネットのディレイ予算値D4から、ディレイ値D4としたときの配線長を算出し、配線長L6を求める。これをネットの配線長制限値としてネットにセットする。即ち、ディレイ予算値を求め、これから各ネット毎に許される配線長を求める。このとき、もし各ネット毎に求められた配線長で配線が不可能なものがあれば論理設計まで遡って設計をやり直すことになる。
【0023】
次に全ネットについてステップ407の処理を実施したか判定する(408)。実施していなければ、未処理のネットに対してステップ407の処理を行う。実施していれば、図3の配置処理303を実施する。
【0024】
これにより、チップ600上の全てのネットに対してディレイ値を考慮した配線長制限値がつけられ、この制約を守りながら配置処理を行うことにより、チップ上のすべてのゲートが目標マシンサイクルを満足する配置を行うことができる。
【0025】
【発明の効果】
以上説明したように本発明によれば、目標マシンサイクルを実現しながらディレイ値を好適なものとした素子の配置を行うことができる。
【図面の簡単な説明】
【図1】本発明が解決しようとする問題点を説明する図である。
【図2】ゲートのディレイ特性の一例である。
【図3】本発明の一実施例による論理ブロックの概略位置指定からチップの実装(配置)までの処理フローを説明するフローチャートである。
【図4】本発明の一実施例による配置制約決定方法の処理動作を説明するフローチャートである。
【図5】本発明の一実施例で処理対象とするパスの構成を説明する図である。
【図6】論理ブロック間ネットの仮想配線長算出を説明する図である。
【図7】論理ブロック間ディレイ値の算出を説明する図である。
【図8】ネットのディレイ予算値をセットする処理を説明する図である。
【図9】ネットの配線長制限値の算出を説明する図である。
【符号の説明】
101、 102 フリップフロップ
103、104、105 ゲート
106、107 ネット
108、109、110、111 配線長
200、201、701、901 ゲートのディレイ特性
501、502、601、602 論理ブロック
503 論理ブロック内1段あたりのディレイ値
504 論理ブロック間ディレイ値
600 チップ
603 論理ブロック間ネット
800、801 パス
Claims (2)
- 半導体集積回路の電子部品の自動配置方法において、半導体集積回路の論理式が格納されている論理ファイル装置から論理式を入力するステップ、使用可能なゲートの特性を格納したライブラリ装置から各ゲートの特性を入力するステップ、概略位置指定手段が、前記入力した論理を複数の論理ブロックに分割して概略の位置関係を決める概略位置指定ステップ、仮想配線長算出手段が、前記概略位置指定手段が決めた概略位置指定情報から論理ブロック間の仮想配線長を算出するステップ、ディレイ値算出手段が、前記仮想配線長算出手段が算出した論理ブロック間の仮想配線長と論理ブロック間を転送するネットのソース・ゲートのディレイ特性から論理ブロック間のディレイ値を算出するステップ、ディレイ予算値算出手段が、前記ディレイ値算出手段が算出した論理ブロック間のディレイ値と目標マシンサイクルと論理ブロック内の論理ゲート段数とから論理ブロック内のゲート1段あたりのディレイ予算値を算出するステップ、配線長制限値算出手段が、前記ディレイ予算値算出手段が算出したディレイ予算値と各段のゲートのディレイ特性から各段のネットの配線長制限値を算出するステップ、前記配線長制限値算出手段が算出した配線長制限値を記憶手段に格納するステップ、及び前記記憶手段に格納された配線長制限値を守りながらゲートを配置するステップ、からなる電子部品の配置方法。
- 半導体集積回路の電子部品の自動配置をするためにコンピュータを、半導体集積回路の論理式が格納されている論理ファイル装置から論理式を入力する手段、使用可能なゲートの特性を格納したライブラリ装置から各ゲートの特性を入力する手段、前記入力した論理を複数の論理ブロックに分割して概略の位置関係を決める概略位置指定手段、前記概略位置指定手段で決められた概略位置指定情報から論理ブロック間の仮想配線長を算出する手段、前記算出した論理ブロック間の仮想配線長と論理ブロック間を転送するネットのソース・ゲートのディレイ特性から論理ブロック間のディレイ値を算出する手段、前記算出した論理ブロック間のディレイ値と目標マシンサイクルと論理ブロック内の論理ゲート段数とから論理ブロック内のゲート1段あたりのディレイ予算値を算出する手段、前記算出したディレイ予算値と各段のゲートのディレイ特性から各段のネットの配線長制限値を算出する手段、前記算出した配線長制限値を記憶手段に格納する手段、及び前記記憶手段に格納された配線長制限値を守りながらゲートを配置する手段、として機能させるための電子部品の配置プログラムを記録したコンピュータ読取可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34324399A JP3884892B2 (ja) | 1999-12-02 | 1999-12-02 | 電子部品の配置方法および電子部品の配置プログラムを記録したコンピュータ読取可能な記録媒体 |
US09/725,126 US6567965B2 (en) | 1999-12-02 | 2000-11-29 | Electronic parts placement method and a computer readable medium having an electronic parts placement program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34324399A JP3884892B2 (ja) | 1999-12-02 | 1999-12-02 | 電子部品の配置方法および電子部品の配置プログラムを記録したコンピュータ読取可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001160078A JP2001160078A (ja) | 2001-06-12 |
JP3884892B2 true JP3884892B2 (ja) | 2007-02-21 |
Family
ID=18360035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34324399A Expired - Fee Related JP3884892B2 (ja) | 1999-12-02 | 1999-12-02 | 電子部品の配置方法および電子部品の配置プログラムを記録したコンピュータ読取可能な記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6567965B2 (ja) |
JP (1) | JP3884892B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003076734A (ja) * | 2001-09-03 | 2003-03-14 | Fujitsu Ltd | 集積回路設計装置及び集積回路設計方法並びにプログラム |
JP4045113B2 (ja) | 2002-03-27 | 2008-02-13 | 株式会社日立製作所 | 半導体集積回路の設計方法、プログラム及び記録媒体 |
JP2018205993A (ja) | 2017-06-01 | 2018-12-27 | 富士通株式会社 | 情報処理装置、最適段数算出プログラム及び最適段数算出方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5168455A (en) * | 1991-03-28 | 1992-12-01 | Digital Equipment Corporation | Procedure for incorporating timing parameters in the synthesis of logic circuit designs |
US5568636A (en) * | 1994-09-13 | 1996-10-22 | Lsi Logic Corporation | Method and system for improving a placement of cells using energetic placement with alternating contraction and expansion operations |
US5638291A (en) * | 1994-10-14 | 1997-06-10 | Vlsi Technology, Inc. | Method and apparatus for making integrated circuits by inserting buffers into a netlist to control clock skew |
JPH08305745A (ja) | 1995-05-11 | 1996-11-22 | Hitachi Ltd | 半導体集積回路のセル配置方法 |
JPH09106407A (ja) * | 1995-10-12 | 1997-04-22 | Toshiba Corp | 設計支援装置 |
US5870309A (en) * | 1997-09-26 | 1999-02-09 | Xilinx, Inc. | HDL design entry with annotated timing |
US6367056B1 (en) * | 1998-04-23 | 2002-04-02 | Altera Corporation | Method for incremental timing analysis |
US6233724B1 (en) * | 1998-10-30 | 2001-05-15 | Micron Technology, Inc. | Circuit synthesis time budgeting based upon wireload information |
-
1999
- 1999-12-02 JP JP34324399A patent/JP3884892B2/ja not_active Expired - Fee Related
-
2000
- 2000-11-29 US US09/725,126 patent/US6567965B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20010007145A1 (en) | 2001-07-05 |
US6567965B2 (en) | 2003-05-20 |
JP2001160078A (ja) | 2001-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6543041B1 (en) | Method and apparatus for reducing signal integrity and reliability problems in ICS through netlist changes during placement | |
US7039891B2 (en) | Method of clock driven cell placement and clock tree synthesis for integrated circuit design | |
US7376924B2 (en) | Methods for placement which maintain optimized behavior, while improving wireability potential | |
CN111709205A (zh) | Fpga布线方法 | |
JP3884892B2 (ja) | 電子部品の配置方法および電子部品の配置プログラムを記録したコンピュータ読取可能な記録媒体 | |
US7168057B2 (en) | Targeted optimization of buffer-tree logic | |
US5471397A (en) | Identifying subsets of noise violators and contributors in package wiring | |
JP2006190062A (ja) | 半導体集積回路のフロアプラン方法および計算機システム | |
US20100262945A1 (en) | Repeater driven routing methodology | |
JPH04251961A (ja) | Cadによる回路ブロックの配置設計方式 | |
JP3070754B2 (ja) | 半導体集積回路及びその配置配線方法 | |
US6477690B1 (en) | In-place repeater insertion methodology for over-the-block routed integrated circuits | |
JPH06310601A (ja) | レイアウト設計方法 | |
JP3705737B2 (ja) | 半導体集積回路のレイアウト方法 | |
JP3766234B2 (ja) | ネットワークにおける遅延改善箇所特定処理方法およびその装置,並びにそのプログラムの記録媒体 | |
JP3033763B1 (ja) | 半導体集積回路の遅延低減配置処理装置および遅延低減配置処理方法 | |
US20080178136A1 (en) | Method, Apparatus, and Computer Program Product for Implementing Balanced Wiring Delay Within an Electronic Package | |
JP4009277B2 (ja) | 特定用途集積回路において自動伝送線路選択を行う方法、プログラム製品、および設計ツール | |
JP2877086B2 (ja) | 回路図面生成装置及び回路図面生成方法 | |
JPH05151310A (ja) | 論理回路最適化処理方法 | |
JP2000231583A (ja) | 論理合成方法及び装置 | |
JPH0535822A (ja) | 配置設計方式 | |
JP2002222863A (ja) | クロック配線システム、及び、クロック配線方法 | |
JP2004054558A (ja) | 半導体集積回路及びそのレイアウト設計方法 | |
JPH02307162A (ja) | 配線経路決定方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060329 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060411 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060607 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060607 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060801 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060929 |
|
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: 20061024 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061120 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101124 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101124 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111124 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |