JP2930770B2 - 半導体集積回路の設計方法 - Google Patents
半導体集積回路の設計方法Info
- Publication number
- JP2930770B2 JP2930770B2 JP3136822A JP13682291A JP2930770B2 JP 2930770 B2 JP2930770 B2 JP 2930770B2 JP 3136822 A JP3136822 A JP 3136822A JP 13682291 A JP13682291 A JP 13682291A JP 2930770 B2 JP2930770 B2 JP 2930770B2
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- net
- cell
- area
- determined
- 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
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【0001】
【産業上の利用分野】この発明は、計算機を用いたLS
I設計に関し、特に回路の動作特性の最適化を行うこと
ができる半導体集積回路の設計方法に関する。
I設計に関し、特に回路の動作特性の最適化を行うこと
ができる半導体集積回路の設計方法に関する。
【0002】
【従来の技術】ゲートアレイ方式(マスタースライス方
式とも呼ばれる)は、半導体集積回路の設計手法として
従来より広く知られている。
式とも呼ばれる)は、半導体集積回路の設計手法として
従来より広く知られている。
【0003】この方法は、マスターチップ上に一定数の
トランジスタからなるベーシックセルおよび入出力セル
を規則正しく並べ、ユーザの仕様に合うようにこれらゲ
ート間を適当に配線し、所望の機能を持つLSIを完成
するものである。
トランジスタからなるベーシックセルおよび入出力セル
を規則正しく並べ、ユーザの仕様に合うようにこれらゲ
ート間を適当に配線し、所望の機能を持つLSIを完成
するものである。
【0004】一般に、ベーシックセルが単に並べられて
いるだけの配線工程前のウェハをマスターウェハと呼
び、これに配線を敷設して個々のLSIとしての専用回
路化を行なうことをパーソナライズと呼んでいる。
いるだけの配線工程前のウェハをマスターウェハと呼
び、これに配線を敷設して個々のLSIとしての専用回
路化を行なうことをパーソナライズと呼んでいる。
【0005】このようなゲートアレイ式LSIにおいて
は、上述したベーシックセルを適当な数だけ選択してそ
れらを配線することにより、インバータ、NAND、フリッ
プフロップ等の論理セル(以下、セルと略す)として自
由に実現することができる。これら標準的に使用するセ
ルの配線パターン(これをマクロセルと呼ぶ)は全てラ
イブラリとして多数用意されており、それらを適当に選
択して使用することにより効率の良い設計を行うことが
可能となっている。
は、上述したベーシックセルを適当な数だけ選択してそ
れらを配線することにより、インバータ、NAND、フリッ
プフロップ等の論理セル(以下、セルと略す)として自
由に実現することができる。これら標準的に使用するセ
ルの配線パターン(これをマクロセルと呼ぶ)は全てラ
イブラリとして多数用意されており、それらを適当に選
択して使用することにより効率の良い設計を行うことが
可能となっている。
【0006】図8は、マスターウェハを構成するチップ
の一例を示す説明図である。
の一例を示す説明図である。
【0007】同図に示されるように、チップ81の外周
縁部は入出力セル配置領域82となっており、またこの
入出力セル配置領域82で囲まれた内部はアレイ領域8
3となっている。入出力セル配置領域82には、図示し
ないが複数の入出力セルが配置される。
縁部は入出力セル配置領域82となっており、またこの
入出力セル配置領域82で囲まれた内部はアレイ領域8
3となっている。入出力セル配置領域82には、図示し
ないが複数の入出力セルが配置される。
【0008】ユーザは実現すべきLSIの回路に合わせ
て必要な種類のマクロセルを必要な数だけアレイ領域8
3上に配置し、回路接続情報に従ってセル上の端子間を
配線することにより、パーソナライズを行うことができ
るようになっている。
て必要な種類のマクロセルを必要な数だけアレイ領域8
3上に配置し、回路接続情報に従ってセル上の端子間を
配線することにより、パーソナライズを行うことができ
るようになっている。
【0009】この時、ゲート敷き詰め型のゲートアレイ
式LSIでは、アレイ領域83内の全ての場所が配置領
域として利用することができ、任意の位置にセルを置く
ことが可能である。また、端子間の配線はセルが置かれ
ていない領域およびセル上の配線敷設可能な領域を利用
して行なわれる。
式LSIでは、アレイ領域83内の全ての場所が配置領
域として利用することができ、任意の位置にセルを置く
ことが可能である。また、端子間の配線はセルが置かれ
ていない領域およびセル上の配線敷設可能な領域を利用
して行なわれる。
【0010】ところで、高集積かつ大規模なゲートアレ
イの配置配線処理では人手による設計はもはや困難であ
り、通常、計算機を用いたレイアウト手法が採用されて
いる。
イの配置配線処理では人手による設計はもはや困難であ
り、通常、計算機を用いたレイアウト手法が採用されて
いる。
【0011】このレイアウトでは、高い集積度の配置配
線結果を得ることを要求され、かつユーザの指定どおり
の動作を保証することが必要である。このうち、前者の
集積度向上のための方策は従来より多数の方法が提案さ
れており、実績のあるものも多い。しかし、高集積度に
加えて、回路の動作保証や高い動作周波数が要求される
ような場合については、従来より提案されている設計装
置または設計手法では、レイアウトの十分な最適化が達
成できていない。
線結果を得ることを要求され、かつユーザの指定どおり
の動作を保証することが必要である。このうち、前者の
集積度向上のための方策は従来より多数の方法が提案さ
れており、実績のあるものも多い。しかし、高集積度に
加えて、回路の動作保証や高い動作周波数が要求される
ような場合については、従来より提案されている設計装
置または設計手法では、レイアウトの十分な最適化が達
成できていない。
【0012】一般に、回路の動作周波数を向上させるた
めには、最大遅延時間の要求仕様に対する遅延時間の余
裕度の小さい信号経路(以下、クリティカルパスとい
う)の動作性能を最適化させることが有効である。通常
このクリティカルパスの特性は、レイアウトの初期の段
階、すなわち、チップ上におけるROM/RAM等や機
能的にまとまった複数のセルからなるブロックの位置を
決定するフロアプランやセルの詳細な位置を決定する配
置処理といった段階でほぼ決定され、配線時に大きく変
化することは少ない。従って、回路の動作特性に関する
配慮を、セルの配置の段階において十分なされる必要が
ある。
めには、最大遅延時間の要求仕様に対する遅延時間の余
裕度の小さい信号経路(以下、クリティカルパスとい
う)の動作性能を最適化させることが有効である。通常
このクリティカルパスの特性は、レイアウトの初期の段
階、すなわち、チップ上におけるROM/RAM等や機
能的にまとまった複数のセルからなるブロックの位置を
決定するフロアプランやセルの詳細な位置を決定する配
置処理といった段階でほぼ決定され、配線時に大きく変
化することは少ない。従って、回路の動作特性に関する
配慮を、セルの配置の段階において十分なされる必要が
ある。
【0013】動作特性の最適化手法として、回路のタイ
ミング解析結果をもとに、動作上制約となるネット(セ
ル間の配線経路)やパスを抽出し、これらに対して重み
や処理上の優先度を付加してレイアウトを行う手法が提
案されている(A.E.Dunlop,et al,“Chip Layout Optim
ization Using Critical Path Weighting",Proc.21stDA
C ,pp.133-136,1984.)。
ミング解析結果をもとに、動作上制約となるネット(セ
ル間の配線経路)やパスを抽出し、これらに対して重み
や処理上の優先度を付加してレイアウトを行う手法が提
案されている(A.E.Dunlop,et al,“Chip Layout Optim
ization Using Critical Path Weighting",Proc.21stDA
C ,pp.133-136,1984.)。
【0014】しかし、この手法では個々のネットに対し
て制約を付加するものであり、クリティカルパス全体を
通じての最適化が難しい。このため、他の配線を避けな
がらパス経路が決定されるので、パスの折れ曲がりや蛇
行を防止できず、パス経路が複雑となる。
て制約を付加するものであり、クリティカルパス全体を
通じての最適化が難しい。このため、他の配線を避けな
がらパス経路が決定されるので、パスの折れ曲がりや蛇
行を防止できず、パス経路が複雑となる。
【0015】一方、カットラインによって配線領域を2
分割する、2分割改良を基本とした配置アルゴリズムの
中に、タイミング解析をもとにしてネットの配線長の制
約条件を決定し、このネット長制約から見積もられる許
容されるネットの広がりと分割対象となっている領域の
大きさとを比較して、両者の大小関係に応じた重みをネ
ット付加するといった手法が提案されている(Yasushi
Ogawa,et al,"Efficient Placement Algorithms Optimi
zing Delay for High-Speed ECL MastersliceLSI's",Pr
oc.23rd DAC,pp.404-410,1986.)。
分割する、2分割改良を基本とした配置アルゴリズムの
中に、タイミング解析をもとにしてネットの配線長の制
約条件を決定し、このネット長制約から見積もられる許
容されるネットの広がりと分割対象となっている領域の
大きさとを比較して、両者の大小関係に応じた重みをネ
ット付加するといった手法が提案されている(Yasushi
Ogawa,et al,"Efficient Placement Algorithms Optimi
zing Delay for High-Speed ECL MastersliceLSI's",Pr
oc.23rd DAC,pp.404-410,1986.)。
【0016】しかし、この手法ではクリティカルパスが
多くのネットで構成される場合は、制約の数が極端に多
くなるため、分割改良の性能を低下し、集積度を著しく
損なってしなう。また、これについても個々のネットに
関して制約条件を付加する形態であるため、相互に制約
となっているクリティカルパス全体の最適化が難しい。
多くのネットで構成される場合は、制約の数が極端に多
くなるため、分割改良の性能を低下し、集積度を著しく
損なってしなう。また、これについても個々のネットに
関して制約条件を付加する形態であるため、相互に制約
となっているクリティカルパス全体の最適化が難しい。
【0017】同様に、外部から与えられたクリティカル
ネットの配線長制約を、MIN-CUT 配置手法の中に取り入
れた例として、(Masayuki Terai,et al,"A New Min-Cu
t Placement Algorithm for Timing Assurance Layout
Design Meeting Net LengthConsttaint",Proc.DAC,pp.9
6-102,1990.)があるが、やはりパスを構成する複数の
ネットを別々に扱っているため、前述の問題がある。
ネットの配線長制約を、MIN-CUT 配置手法の中に取り入
れた例として、(Masayuki Terai,et al,"A New Min-Cu
t Placement Algorithm for Timing Assurance Layout
Design Meeting Net LengthConsttaint",Proc.DAC,pp.9
6-102,1990.)があるが、やはりパスを構成する複数の
ネットを別々に扱っているため、前述の問題がある。
【0018】図9は、最初に述べたネットやパスに重み
や優先度を付加してレイアウトを行う手法を説明するた
めの図である。
や優先度を付加してレイアウトを行う手法を説明するた
めの図である。
【0019】同図には、2つのパスPa、Pbが描かれ
ていて、セルa2はその両方の制約条件を受けているも
のとする。菱形の領域Ra,Rbは、セルa1,b1か
ら時間的に等距離な領域である。この時、パスPbから
見ると、セルa2は領域Rb内に収まっていなければな
らず、パスPaから見ると領域Ra内に位置していなけ
ればならない。すなわち、2つのタイミング制約を同時
に満たすには、セルa2は領域R内に置かれなければな
らない。ところが、仮にネットb12とネットa12の重み
付けを等しく取った場合、力学的な平衡点(引力がつり
合う点)はGであり、領域Rには含まれていない。
ていて、セルa2はその両方の制約条件を受けているも
のとする。菱形の領域Ra,Rbは、セルa1,b1か
ら時間的に等距離な領域である。この時、パスPbから
見ると、セルa2は領域Rb内に収まっていなければな
らず、パスPaから見ると領域Ra内に位置していなけ
ればならない。すなわち、2つのタイミング制約を同時
に満たすには、セルa2は領域R内に置かれなければな
らない。ところが、仮にネットb12とネットa12の重み
付けを等しく取った場合、力学的な平衡点(引力がつり
合う点)はGであり、領域Rには含まれていない。
【0020】このように、従来の手法では重みを付加さ
れたネットの配線長を短縮することで、そのネットの配
線遅延を小さくしているが、要求された動作特性を確実
に満たすことはできない。
れたネットの配線長を短縮することで、そのネットの配
線遅延を小さくしているが、要求された動作特性を確実
に満たすことはできない。
【0021】さらに、従来の手法にあっては、常にチッ
プ内の全てのクリティカルパスを対象として動作特性の
改善を行っていたため、大規模回路を扱う場合には処理
時間がかかると共に、動作特性が保証できない。
プ内の全てのクリティカルパスを対象として動作特性の
改善を行っていたため、大規模回路を扱う場合には処理
時間がかかると共に、動作特性が保証できない。
【0022】
【発明が解決しようとする課題】上述のように、従来の
設計方法にあっては、ネットごとに最適化しており、ク
リティカルパス全体の最適化がなされていなかった。こ
のため、動作特性を改善するには不十分であった。
設計方法にあっては、ネットごとに最適化しており、ク
リティカルパス全体の最適化がなされていなかった。こ
のため、動作特性を改善するには不十分であった。
【0023】そこで、この発明は、上述の問題点に鑑み
なされたものであり、その目的とするところは、各クリ
ティカルパス間相互の制約条件を考慮しながら、クリテ
ィカルパス全体を最適化させることにより、要求される
動作特性を確実に保証することができる半導体集積回路
の設計方法を提供することにある。
なされたものであり、その目的とするところは、各クリ
ティカルパス間相互の制約条件を考慮しながら、クリテ
ィカルパス全体を最適化させることにより、要求される
動作特性を確実に保証することができる半導体集積回路
の設計方法を提供することにある。
【0024】
【課題を解決するための手段】上記目的を達成するた
め、この発明は、半導体のチップ上に複数の論理セルを
配置して各論理セル間を配線する際に、最大遅延時間の
要求仕様に対する遅延時間の余裕度の小さい信号経路を
抽出し、抽出された信号経路に許容される遅延時間の上
限値を、この信号経路を構成する各ネットに分配し、分
配された遅延時間の上限値をもとに、各ネットに許容さ
れる配線長の上限値を決定し、決定された配線長の上限
値をもとに、前記信号経路の入力側及び出力側のそれぞ
れを基準とする、各ネットを構成する論理セルの最適存
在領域を求め、この最適存在領域内に前記論理セルの配
置位置を決定し、前記最適存在領域の大きさをもとに、
この最適存在領域に配置された論理セルによって構成さ
れるネットの配線処理の優先度を決定し、決定された優
先度をもとに、各論理セル間の配線処理を行うことを特
徴としている。
め、この発明は、半導体のチップ上に複数の論理セルを
配置して各論理セル間を配線する際に、最大遅延時間の
要求仕様に対する遅延時間の余裕度の小さい信号経路を
抽出し、抽出された信号経路に許容される遅延時間の上
限値を、この信号経路を構成する各ネットに分配し、分
配された遅延時間の上限値をもとに、各ネットに許容さ
れる配線長の上限値を決定し、決定された配線長の上限
値をもとに、前記信号経路の入力側及び出力側のそれぞ
れを基準とする、各ネットを構成する論理セルの最適存
在領域を求め、この最適存在領域内に前記論理セルの配
置位置を決定し、前記最適存在領域の大きさをもとに、
この最適存在領域に配置された論理セルによって構成さ
れるネットの配線処理の優先度を決定し、決定された優
先度をもとに、各論理セル間の配線処理を行うことを特
徴としている。
【0025】
【作用】この発明は、まず集積回路内のクリティカルパ
スを全て抽出し、このパスに許容される遅延時間の上限
値を、各ネットに均等に分配する。分配された遅延時間
の上限値に基づき、各ネットに許容される配線長の上限
値を決定する。決定されたネットの配線長の上限値か
ら、このパスの入力側及び出力側のそれぞれからみた、
ネットを構成する論理セルの最適存在領域を求める。そ
して、この最適存在領域の重心に論理セルの配置位置を
決定する。さらに、最適存在領域に配置された論理セル
によって構成されるネットの配線処理の優先度を、最適
存在領域の小さい順に高くし、高い優先度が付加された
ネットから配線処理を行っている。
スを全て抽出し、このパスに許容される遅延時間の上限
値を、各ネットに均等に分配する。分配された遅延時間
の上限値に基づき、各ネットに許容される配線長の上限
値を決定する。決定されたネットの配線長の上限値か
ら、このパスの入力側及び出力側のそれぞれからみた、
ネットを構成する論理セルの最適存在領域を求める。そ
して、この最適存在領域の重心に論理セルの配置位置を
決定する。さらに、最適存在領域に配置された論理セル
によって構成されるネットの配線処理の優先度を、最適
存在領域の小さい順に高くし、高い優先度が付加された
ネットから配線処理を行っている。
【0026】
【実施例】以下、図面を参照しながらこの発明の実施例
を説明する。
を説明する。
【0027】図1は、本発明の半導体集積回路の設計方
法を実現する、セル自動配置装置のハードウェア構成を
示すブロック図である。
法を実現する、セル自動配置装置のハードウェア構成を
示すブロック図である。
【0028】同図に示されるように、この装置はマイク
ロプロセッサを中心として構成されたCPU100によ
り統括されている。このCPU100のシステムバス1
01には、ビデオRAM102、CRTコントローラ1
03、磁気記憶装置105、RAM106、キーボード
107およびポインティング装置108が接続されてい
る。
ロプロセッサを中心として構成されたCPU100によ
り統括されている。このCPU100のシステムバス1
01には、ビデオRAM102、CRTコントローラ1
03、磁気記憶装置105、RAM106、キーボード
107およびポインティング装置108が接続されてい
る。
【0029】ビデオRAM102は、CRT104に表
示させるデータの格納エリアとなるもので、このデータ
はCPU100の制御によりCRTコントローラ103
へと適宜転送され、最終的にCRT104の画面に表示
される。
示させるデータの格納エリアとなるもので、このデータ
はCPU100の制御によりCRTコントローラ103
へと適宜転送され、最終的にCRT104の画面に表示
される。
【0030】磁気記憶装置105は、ハードディスク、
フロッピーディスク等で構成され、マクロセルに関する
各種データを記述したライブラリ等が格納される。さら
に、磁気記憶装置105は、後述するRAM106へロ
ードすべきプログラムやデータの入力装置としても使用
される。
フロッピーディスク等で構成され、マクロセルに関する
各種データを記述したライブラリ等が格納される。さら
に、磁気記憶装置105は、後述するRAM106へロ
ードすべきプログラムやデータの入力装置としても使用
される。
【0031】RAM106は、アプリケーションプログ
ラムの格納エリア、ワークエリア等として使用されるも
のである。このRAM106へのプログラム、データロ
ードは前述したごとく、磁気記憶装置105を構成する
フロッピーディスク、ハードディスク等から行なわれ
る。
ラムの格納エリア、ワークエリア等として使用されるも
のである。このRAM106へのプログラム、データロ
ードは前述したごとく、磁気記憶装置105を構成する
フロッピーディスク、ハードディスク等から行なわれ
る。
【0032】キーボード107は、オペレータによる各
種の入力操作に使用されるものであり、後述する一括配
置モードと部分配置修正モードとの切り換えは、このキ
ーボード107からの指令により行なわれる。
種の入力操作に使用されるものであり、後述する一括配
置モードと部分配置修正モードとの切り換えは、このキ
ーボード107からの指令により行なわれる。
【0033】ポインティング装置108はマウス、トラ
ックボール、ライトペン、タブレット等で構成され、オ
ペレータが画面上の特定位置を指定するために使用され
るものである。
ックボール、ライトペン、タブレット等で構成され、オ
ペレータが画面上の特定位置を指定するために使用され
るものである。
【0034】図2は、図1に示したセル自動配置装置で
行われる配線処理の手順を示すフローチャートである。
行われる配線処理の手順を示すフローチャートである。
【0035】この発明による設計方法には、全てのクリ
ティカルパスについて行う一括処理モード(ステップf
7)と、1本のクリティカルパスあるいはパス中の1部
分のみ行う部分処理修正モード(ステップf8〜f1
6)の2種類の動作モードが設けられてある。オペレー
タはこれらのモードの1つをキーボード107によって
択一的に選択できるようになっている。
ティカルパスについて行う一括処理モード(ステップf
7)と、1本のクリティカルパスあるいはパス中の1部
分のみ行う部分処理修正モード(ステップf8〜f1
6)の2種類の動作モードが設けられてある。オペレー
タはこれらのモードの1つをキーボード107によって
択一的に選択できるようになっている。
【0036】また、図3は、配線処理の際にCRT10
4の画面にパスやセルが表示された様子を表す簡略図で
ある。
4の画面にパスやセルが表示された様子を表す簡略図で
ある。
【0037】以下に、この発明による配線処理を図2及
び図3に基づいて説明する。
び図3に基づいて説明する。
【0038】処理が開始されると、イニシャル処理によ
ってRAM106内の各種レジスタ、フラグ等の初期設
定が行なわれる(ステップf1)。
ってRAM106内の各種レジスタ、フラグ等の初期設
定が行なわれる(ステップf1)。
【0039】次いで、現在のレイアウト状態を確認する
ため、回路全体の動作特性の解析が行われ、回路の動作
上で制約となる全てのクリティカルパスが抽出される
(ステップf2)。
ため、回路全体の動作特性の解析が行われ、回路の動作
上で制約となる全てのクリティカルパスが抽出される
(ステップf2)。
【0040】この時、配線処理済みのレイアウト結果で
あれば、セル固有の内部遅延と実配線長を用いて算出さ
れた配線遅延をもとにして回路の動作解析が行われる。
実配線長を用いた場合、該ネットのディレイ値は、各配
線層それぞれのディレイの総和である。
あれば、セル固有の内部遅延と実配線長を用いて算出さ
れた配線遅延をもとにして回路の動作解析が行われる。
実配線長を用いた場合、該ネットのディレイ値は、各配
線層それぞれのディレイの総和である。
【0041】しかし、セル未配置の状態であれば、セル
面積Ac、チップ上のセルのユーティリティ(ゲートの
使用率)Ut等をもとにして仮想配線長が算出される。
さらに、各配線方向毎のディレイ値が求められ、その和
でネットのディレイが定義される。次式(1)はその一
例である。tnがネットnのディレイ値で、twx、twy
は配線長−時間換算係数、αは定数である。
面積Ac、チップ上のセルのユーティリティ(ゲートの
使用率)Ut等をもとにして仮想配線長が算出される。
さらに、各配線方向毎のディレイ値が求められ、その和
でネットのディレイが定義される。次式(1)はその一
例である。tnがネットnのディレイ値で、twx、twy
は配線長−時間換算係数、αは定数である。
【0042】
【数1】
【0043】一方、配置配線終了後の結果であり、抽出
した全てのクリティカルパスのディレイが設計要求仕様
の範囲内であれば、処理は終了であるが、要求を満たさ
ないパスが存在する場合には、動作特性改善のための処
理が以下に行われる(ステップf3)。また、レイアウ
トが未実行の場合についても処理が行われる。
した全てのクリティカルパスのディレイが設計要求仕様
の範囲内であれば、処理は終了であるが、要求を満たさ
ないパスが存在する場合には、動作特性改善のための処
理が以下に行われる(ステップf3)。また、レイアウ
トが未実行の場合についても処理が行われる。
【0044】図3で示すように、抽出されたクリティカ
ルパス9に接続されているセル(図中、斜線部)は、各
パス毎に認識できる様に色調が変えられ、チップ6のレ
イアウト済み画面5上に表示され、動作モード読み込み
の待機状態となる(ステップf4)。このとき、図示さ
れていないが、画面5上では複数のパスに共有されてい
るセルは、表示の輝度が高くされるか、セル外形の線幅
・線種が変えられるなどしてオペレータがレイアウト改
善必要箇所を容易に認識できるように表示される。
ルパス9に接続されているセル(図中、斜線部)は、各
パス毎に認識できる様に色調が変えられ、チップ6のレ
イアウト済み画面5上に表示され、動作モード読み込み
の待機状態となる(ステップf4)。このとき、図示さ
れていないが、画面5上では複数のパスに共有されてい
るセルは、表示の輝度が高くされるか、セル外形の線幅
・線種が変えられるなどしてオペレータがレイアウト改
善必要箇所を容易に認識できるように表示される。
【0045】このような方法で表示されたチップ全体に
関するレイアウト情報をもとに、オペレータはキーボー
ド107の操作により動作モードを選択する(ステップ
f5)。選択された内容に応じて一括配置モードと部分
配置修正モードとの切り換えが行なわれる(ステップf
6)。
関するレイアウト情報をもとに、オペレータはキーボー
ド107の操作により動作モードを選択する(ステップ
f5)。選択された内容に応じて一括配置モードと部分
配置修正モードとの切り換えが行なわれる(ステップf
6)。
【0046】一括配置モードが選択されると、チップ内
の全てのクリティカルパスが処理の対象として本発明の
要部である動作特性最適化レイアウト処理が実行される
(ステップf7)。
の全てのクリティカルパスが処理の対象として本発明の
要部である動作特性最適化レイアウト処理が実行される
(ステップf7)。
【0047】一方、部分配置修正モードが選択された場
合には、オペレータによってポインティング装置108
を使用してのエリア指定が行なわれるのを待機する(ス
テップf8,f9)。
合には、オペレータによってポインティング装置108
を使用してのエリア指定が行なわれるのを待機する(ス
テップf8,f9)。
【0048】信号遅延時間の改良を希望するエリアの左
下点LLPおよび右上点URPが指定されると(ステッ
プf9YES)、指定エリア7の拡大画面が表示される
(ステップf10)。これにより、クリティカルパス9
を構成する各セルのマクロセルタイプを知ることができ
る。
下点LLPおよび右上点URPが指定されると(ステッ
プf9YES)、指定エリア7の拡大画面が表示される
(ステップf10)。これにより、クリティカルパス9
を構成する各セルのマクロセルタイプを知ることができ
る。
【0049】その後、セルの追加・変更の実行を待機す
る状態となる(ステップf11、f12、f13)。こ
の状態において、動作特性改善のための追加・変更セル
8が選択され、変更セルまたは挿入位置Pの指定が行な
われると、選択されたセル8は挿入位置Pに配置される
(ステップf14)。
る状態となる(ステップf11、f12、f13)。こ
の状態において、動作特性改善のための追加・変更セル
8が選択され、変更セルまたは挿入位置Pの指定が行な
われると、選択されたセル8は挿入位置Pに配置される
(ステップf14)。
【0050】以後、キーボード107から所定の追加・
変更作業の終了操作が行なわれるまで、以上の処理(ス
テップf11〜f14)が繰り返される。
変更作業の終了操作が行なわれるまで、以上の処理(ス
テップf11〜f14)が繰り返される。
【0051】キーボード107から、所定の追加・変更
作業の終了操作が行なわれると(ステップf15YE
S)、ステップf7と同様な動作特性最適化レイアウト
処理が実行され、最終レイアウト状態が得られる(ステ
ップf16)。
作業の終了操作が行なわれると(ステップf15YE
S)、ステップf7と同様な動作特性最適化レイアウト
処理が実行され、最終レイアウト状態が得られる(ステ
ップf16)。
【0052】次に、本発明の要部である、動作特性最適
化レイアウト処理(ステップf7,f16)の詳細なフ
ローチャートを図4に示す。
化レイアウト処理(ステップf7,f16)の詳細なフ
ローチャートを図4に示す。
【0053】このレイアウト処理がステップf7で行わ
れる場合には、指定領域はチップ全体となり、ステップ
f16で行われる場合には、指定エリア7となる。
れる場合には、指定領域はチップ全体となり、ステップ
f16で行われる場合には、指定エリア7となる。
【0054】命令が実行されると、指定領域の以降のレ
イアウト処理と指定領域以外のレイアウト結果との接続
関係がずれないように、指定領域の境界辺上に掛かるレ
イアウト情報が抽出され、必要な情報の変更または作成
が行われる(ステップp1)。具体的には、境界辺上の
セルの位置が一時的に固定され、境界辺上を通過する配
線に関しては、現在使用されている配線層に対応した仮
想的な端子を境界辺上に発生させる(ステップp2)。
その後、領域内におけるこの配線径路は、電源配線など
の特殊配線を除いて全て消去される。
イアウト処理と指定領域以外のレイアウト結果との接続
関係がずれないように、指定領域の境界辺上に掛かるレ
イアウト情報が抽出され、必要な情報の変更または作成
が行われる(ステップp1)。具体的には、境界辺上の
セルの位置が一時的に固定され、境界辺上を通過する配
線に関しては、現在使用されている配線層に対応した仮
想的な端子を境界辺上に発生させる(ステップp2)。
その後、領域内におけるこの配線径路は、電源配線など
の特殊配線を除いて全て消去される。
【0055】指定領域は格子状に分割してなる小領域毎
の情報に分割され(ステップp3)、各領域毎に現在の
所属セル等のレイアウト情報が保持される。このように
情報を分割するのは、座標値で示されるセルの配置位置
等のレイアウト情報を信号径路の形状等の幾何学情報へ
の対応付けを容易にし、データのアクセスを高速化でき
るメリットがある。
の情報に分割され(ステップp3)、各領域毎に現在の
所属セル等のレイアウト情報が保持される。このように
情報を分割するのは、座標値で示されるセルの配置位置
等のレイアウト情報を信号径路の形状等の幾何学情報へ
の対応付けを容易にし、データのアクセスを高速化でき
るメリットがある。
【0056】次に、指定領域内のクリティカルパスが全
て抽出され(ステップp4)、パスのディレイが設計要
求仕様から計算される許容値以内に収まっていない場合
(ステップp5NO)、現在の配置状態の改善が行われ
る(ステップp6〜p8)。配置改良では、まず抽出さ
れた全てのパスに関係するネットが置かれるべき最適存
在領域が、領域制約条件として求められる(ステップp
6)。
て抽出され(ステップp4)、パスのディレイが設計要
求仕様から計算される許容値以内に収まっていない場合
(ステップp5NO)、現在の配置状態の改善が行われ
る(ステップp6〜p8)。配置改良では、まず抽出さ
れた全てのパスに関係するネットが置かれるべき最適存
在領域が、領域制約条件として求められる(ステップp
6)。
【0057】複数の領域制約条件下にあるネットに関し
ては、全ての制約条件を重ね合わせた領域制約条件が決
定される(ステップp7)。
ては、全ての制約条件を重ね合わせた領域制約条件が決
定される(ステップp7)。
【0058】そして、決定された領域制約条件をもと
に、各ネットを構成するセルを目標とする最適存在領域
の重心に配置するようにセル移動もしくはセルの交換が
行なわれる(ステップp8)。
に、各ネットを構成するセルを目標とする最適存在領域
の重心に配置するようにセル移動もしくはセルの交換が
行なわれる(ステップp8)。
【0059】上記ステップで配置状態の改善が行なわ
れ、指定領域内の全てのパスに関してそのディレイが許
容値以内に収めることができれば、配置改良は終了さ
れ、配線優先度が決定される(ステップp5YES及び
p9)。
れ、指定領域内の全てのパスに関してそのディレイが許
容値以内に収めることができれば、配置改良は終了さ
れ、配線優先度が決定される(ステップp5YES及び
p9)。
【0060】さらに、決定された配線優先度をもとにし
て、その優先順位の高い順にネットが取り出され、指定
領域内での配線処理が行なわれる(ステップp10)。
このときの配線処理は、従来の迷路法を用いて行なうこ
とで、配線優先度の高いネットほど短い配線径路で結線
できるため、配置の段階で抽出したタイミング的に厳し
いネットほど少ない迂回度で配線することができる。
て、その優先順位の高い順にネットが取り出され、指定
領域内での配線処理が行なわれる(ステップp10)。
このときの配線処理は、従来の迷路法を用いて行なうこ
とで、配線優先度の高いネットほど短い配線径路で結線
できるため、配置の段階で抽出したタイミング的に厳し
いネットほど少ない迂回度で配線することができる。
【0061】このように決定されたレイアウト結果をも
とに、再び回路全体の動作特性の解析が行われ(ステッ
プf2)、回路全体の動作が設計要求仕様を満たしてい
るかがチェックされる(ステップf3)。回路動作が設
計仕様を満足していない場合は再び上記の手順が繰り返
され、満たしている場合には処理を終了する。
とに、再び回路全体の動作特性の解析が行われ(ステッ
プf2)、回路全体の動作が設計要求仕様を満たしてい
るかがチェックされる(ステップf3)。回路動作が設
計仕様を満足していない場合は再び上記の手順が繰り返
され、満たしている場合には処理を終了する。
【0062】なお、全体の繰り返しは、レイアウト結果
が設計要求仕様を満たしているかあるいは規定回数実行
されるまで行われる。
が設計要求仕様を満たしているかあるいは規定回数実行
されるまで行われる。
【0063】以下に、ステップp9で行われる優先度の
決定方法について説明する。
決定方法について説明する。
【0064】与えられた設計仕様から決定される、それ
ぞれのパスに許容される遅延時間の上限値が、パスを構
成する個々のネットに均等に分配される。この分配され
た遅延時間は、個々のネットの許容される配線長の上限
値に換算される。例えばi層の配線層を使用しているな
らば、第i層の換算係数をtwi、第i層の配線長をwl
iとすれば、ネットnの遅延時間tnは、
ぞれのパスに許容される遅延時間の上限値が、パスを構
成する個々のネットに均等に分配される。この分配され
た遅延時間は、個々のネットの許容される配線長の上限
値に換算される。例えばi層の配線層を使用しているな
らば、第i層の換算係数をtwi、第i層の配線長をwl
iとすれば、ネットnの遅延時間tnは、
【0065】
【数2】
【0066】である。従って、当該パスの遅延時間の上
限値をDp、パスを構成するネット数をcnとすれば、
ネットnの制約条件は、
限値をDp、パスを構成するネット数をcnとすれば、
ネットnの制約条件は、
【0067】
【数3】
【0068】となる。この配線長の制約をパスの信号の
流れに沿って、順次個々のネットに関して、信号の入力
と出力の双方の側から決定していく。
流れに沿って、順次個々のネットに関して、信号の入力
と出力の双方の側から決定していく。
【0069】図5は、ステップp6での領域制約条件の
求め方、及びステップp8でのセルの配置位置の決定の
仕方の一例を、2層配線の場合に関して示した概略図で
ある。
求め方、及びステップp8でのセルの配置位置の決定の
仕方の一例を、2層配線の場合に関して示した概略図で
ある。
【0070】I1〜I4およびO1〜O4は、それぞれ
ネットa12〜a45の制約条件である。I1〜I4は入力
側(セルa1)からの制約であり、例えばネットa12を
構成するセルは全てI1よりも左側に位置していなけれ
ばならない。一方、O1〜O4は出力側(セルa5)か
らの制約であり、例えばネットa45を構成するセルは全
てO4よりも右側に位置していなければならない。
ネットa12〜a45の制約条件である。I1〜I4は入力
側(セルa1)からの制約であり、例えばネットa12を
構成するセルは全てI1よりも左側に位置していなけれ
ばならない。一方、O1〜O4は出力側(セルa5)か
らの制約であり、例えばネットa45を構成するセルは全
てO4よりも右側に位置していなければならない。
【0071】この例では、セルa2はネットa12,a23
に関する入出力側双方からの領域制約条件I1,O1,
I2,O2が満たされており、矩形の最適存在領域R1
とR2の重なり合った領域に配置されている。同様に、
a3についてもネットa23,a34に関する領域制約条件
I2,O2,I3,O3が満たされている。しかし、セ
ルa4は、ネットa34に関する領域制約条件I3,O3
は満たしているが、ネットa45に関する制約条件O4を
満たしていない。従って、セルa4は制約を満足するそ
れぞれの矩形の最適存在領域R3とR4の重心に収まる
よう、I3とO4の重なった領域に位置の移動もしくは
他のセルとの交換が行われる。即ち、パスを直接構成す
るセルは自分につながる左右のネットの制約条件の交わ
った部分に存在するように位置の移動もしくは他のセル
との交換が行われる。
に関する入出力側双方からの領域制約条件I1,O1,
I2,O2が満たされており、矩形の最適存在領域R1
とR2の重なり合った領域に配置されている。同様に、
a3についてもネットa23,a34に関する領域制約条件
I2,O2,I3,O3が満たされている。しかし、セ
ルa4は、ネットa34に関する領域制約条件I3,O3
は満たしているが、ネットa45に関する制約条件O4を
満たしていない。従って、セルa4は制約を満足するそ
れぞれの矩形の最適存在領域R3とR4の重心に収まる
よう、I3とO4の重なった領域に位置の移動もしくは
他のセルとの交換が行われる。即ち、パスを直接構成す
るセルは自分につながる左右のネットの制約条件の交わ
った部分に存在するように位置の移動もしくは他のセル
との交換が行われる。
【0072】図6は、ステップp7で行われる複数のパ
スに関して異なる制約を受けている場合の、領域制約条
件の決定方法を示す概略図である。
スに関して異なる制約を受けている場合の、領域制約条
件の決定方法を示す概略図である。
【0073】同図のセルa2は、パスPaとPbの2つ
の制約を同時に受けており、その領域制約条件はそれぞ
れIa1、Oa1(セルa1からの制約条件)とIb
1、Ob1(セルb1からの制約条件)である。この
時、セルa2の最適存在領域は、領域Ra1とRb1が
交わる矩形領域Rと決定される。
の制約を同時に受けており、その領域制約条件はそれぞ
れIa1、Oa1(セルa1からの制約条件)とIb
1、Ob1(セルb1からの制約条件)である。この
時、セルa2の最適存在領域は、領域Ra1とRb1が
交わる矩形領域Rと決定される。
【0074】同図では、セルa2は制約Ra1が満たさ
れているが、制約Rb1は満たされていない。従って、
セルa2は、パスPaとPbの2つの制約を同時に満た
す最適存在領域Rの重心へ移動される。ここで、a2は
当然ネットa23及びb23の領域制約条件も満たしていな
ければならない。
れているが、制約Rb1は満たされていない。従って、
セルa2は、パスPaとPbの2つの制約を同時に満た
す最適存在領域Rの重心へ移動される。ここで、a2は
当然ネットa23及びb23の領域制約条件も満たしていな
ければならない。
【0075】最後に、ステップp9で行われる配線優先
度の決め方を説明する。
度の決め方を説明する。
【0076】本発明では、配置処理の段階において、各
ネットが収まるべき最適存在領域をチップ上に設定し、
それを制約条件として遵守するよう各セルの配置位置を
決定している。この制約条件を配線処理の段階において
守るように、各ネットの配線には処理の優先度が設けら
れる。配線の優先度は、配置の段階で設定した領域制約
条件が厳しいものほど重要視し、優先して配線すること
とする。つまり、制約となった最適存在領域サイズが小
さいネットから先に配線される。
ネットが収まるべき最適存在領域をチップ上に設定し、
それを制約条件として遵守するよう各セルの配置位置を
決定している。この制約条件を配線処理の段階において
守るように、各ネットの配線には処理の優先度が設けら
れる。配線の優先度は、配置の段階で設定した領域制約
条件が厳しいものほど重要視し、優先して配線すること
とする。つまり、制約となった最適存在領域サイズが小
さいネットから先に配線される。
【0077】このように配線することにより、領域サイ
ズの小さいネットほど配線長が短くなり、大きいネット
ほど迂回しやすくなるので配線長が長くなる。
ズの小さいネットほど配線長が短くなり、大きいネット
ほど迂回しやすくなるので配線長が長くなる。
【0078】図7は、それぞれのネットに付加された制
約領域サイズと、これから決定された配線優先度を示し
た表である。優先度1のネットが最も先に配線されるべ
きネットで、以下優先度の数字が大きくなるに従って、
配線処理の順番は後になっていく。この表に示された全
てのネットが配線された段階で、配線処理を終了する。
約領域サイズと、これから決定された配線優先度を示し
た表である。優先度1のネットが最も先に配線されるべ
きネットで、以下優先度の数字が大きくなるに従って、
配線処理の順番は後になっていく。この表に示された全
てのネットが配線された段階で、配線処理を終了する。
【0079】
【発明の効果】以上、説明したように、この発明によれ
ば、全てのクリティカルパスについて、相互の関係を考
慮しつつそれらを構成する個々のネットの最適存在領域
を決定し、この領域の重心にセルを配置している。ま
た、決定された最適存在領域のサイズによって各ネット
の配線優先度を決定している。
ば、全てのクリティカルパスについて、相互の関係を考
慮しつつそれらを構成する個々のネットの最適存在領域
を決定し、この領域の重心にセルを配置している。ま
た、決定された最適存在領域のサイズによって各ネット
の配線優先度を決定している。
【0080】これらにより、クリティカルパス全体を最
適化することができ、集積回路の動作特性を満足させる
ことができる。
適化することができ、集積回路の動作特性を満足させる
ことができる。
【図1】本発明の設計方法を実現するセル自動配置装置
の構成を示すブロック図である。
の構成を示すブロック図である。
【図2】本発明の設計方法の処理手順を示すゼネラルフ
ローチャートである。
ローチャートである。
【図3】図1で示したCRT104の画面の表示状態を
表す簡略図である。
表す簡略図である。
【図4】図2で示したステップf7,f16の動作特性
最適化レイアウト処理の詳細を示すフローチャートであ
る。
最適化レイアウト処理の詳細を示すフローチャートであ
る。
【図5】領域制約条件の求め方を説明するための概念図
である。
である。
【図6】複数のパスに制約を受けている場合の領域制約
条件の求め方を説明するための概念図である。
条件の求め方を説明するための概念図である。
【図7】配線優先度の決定方法を説明するための表であ
る。
る。
【図8】ゲート敷き詰め型ゲートアレイ式LSIのチッ
プ構成を示す平面図である。
プ構成を示す平面図である。
【図9】従来の設計方法による領域制約条件の求め方を
説明するための概念図である。
説明するための概念図である。
100 CPU 101 システムバス 102 ビデオRAM 103 CRTコントローラ 104 CRT 105 磁気記憶装置 106 RAM 107 キーボード 108 ポインティング装置 a1〜a5 論理セル a12〜a45 ネット I1〜I3,Ia1,Ia2,Ib1,Ib2 入力側
制約条件 O1〜O3,Oa1,Oa2,Ob1,Ob2 出力側
制約条件 R,R1〜R3 最適存在領域 Ra1,Rb1 制約領域
制約条件 O1〜O3,Oa1,Oa2,Ob1,Ob2 出力側
制約条件 R,R1〜R3 最適存在領域 Ra1,Rb1 制約領域
Claims (1)
- 【請求項1】 半導体のチップ上に複数の論理セルを配
置して各論理セル間を配線する際に、最大遅延時間の要
求仕様に対する遅延時間の余裕度の小さい信号経路を抽
出し、抽出された信号経路に許容される遅延時間の上限
値を、この信号経路を構成する各ネットに分配し、分配
された遅延時間の上限値をもとに、各ネットに許容され
る配線長の上限値を決定し、決定された配線長の上限値
をもとに、前記信号経路の入力側及び出力側のそれぞれ
を基準とする、各ネットを構成する論理セルの最適存在
領域を求め、この最適存在領域内に前記論理セルの配置
位置を決定し、前記最適存在領域の大きさをもとに、こ
の最適存在領域に配置された論理セルによって構成され
るネットの配線処理の優先度を決定し、決定された優先
度をもとに、各論理セル間の配線処理を行うことを特徴
とする半導体集積回路の設計方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3136822A JP2930770B2 (ja) | 1991-06-07 | 1991-06-07 | 半導体集積回路の設計方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3136822A JP2930770B2 (ja) | 1991-06-07 | 1991-06-07 | 半導体集積回路の設計方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04360555A JPH04360555A (ja) | 1992-12-14 |
JP2930770B2 true JP2930770B2 (ja) | 1999-08-03 |
Family
ID=15184322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3136822A Expired - Fee Related JP2930770B2 (ja) | 1991-06-07 | 1991-06-07 | 半導体集積回路の設計方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2930770B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5380969B2 (ja) * | 2008-09-22 | 2014-01-08 | 富士通株式会社 | レイアウト設計方法、及び装置 |
JP5743808B2 (ja) * | 2011-08-24 | 2015-07-01 | 株式会社東芝 | 集積回路の配線方法、集積回路の配線プログラム及びそれを記憶した記憶媒体 |
CN115017861B (zh) * | 2022-06-29 | 2024-01-16 | 苏州浪潮智能科技有限公司 | 一种pcb自动布线的方法、装置、设备及可读介质 |
-
1991
- 1991-06-07 JP JP3136822A patent/JP2930770B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04360555A (ja) | 1992-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6430734B1 (en) | Method for determining bus line routing for components of an integrated circuit | |
JP3076410B2 (ja) | 半導体集積回路の設計方法 | |
Sechen | VLSI placement and global routing using simulated annealing | |
US6961916B2 (en) | Placement method for integrated circuit design using topo-clustering | |
US6370673B1 (en) | Method and system for high speed detailed placement of cells within an integrated circuit design | |
US6378115B1 (en) | LSI manufacturing method and recording medium for storing layout software | |
EP0078388A2 (en) | Optimization of an organization of many discrete elements | |
US7966595B1 (en) | Method and system for approximate placement in electronic designs | |
US7296251B2 (en) | Method of physical planning voltage islands for ASICs and system-on-chip designs | |
JPH10116911A (ja) | 半導体集積回路の再レイアウト方法及び半導体集積回路の再レイアウトプログラムを記録した媒体 | |
JP2930770B2 (ja) | 半導体集積回路の設計方法 | |
US20010049814A1 (en) | Automatic logic design supporting method and apparatus | |
US10216880B1 (en) | Systems and methods for power efficient flop clustering | |
JPH10308450A (ja) | 半導体集積回路及びその設計方法 | |
US20030229874A1 (en) | Floorplanning apparatus deciding floor plan using logic seeds associated with hierarchical blocks | |
Wang et al. | A novel clock tree aware placement methodology for single flux quantum (SFQ) logic circuits | |
US6434734B1 (en) | Method for modifying placement of components of an integrated circuit by analyzing resources of adjacent components | |
US6438736B1 (en) | Method for determining cleanup line routing for components of an integrated circuit | |
US6687892B1 (en) | Method for determining control line routing for components of an integrated circuit | |
US6606737B1 (en) | Method for forming a structural similarity group from a netlist of an integrated circuit | |
US6584605B1 (en) | Method for forming a relative placement of components of an integrated circuit using a structural similarity group | |
JP3433025B2 (ja) | モジュール配置方法 | |
US11836000B1 (en) | Automatic global clock tree synthesis | |
US11144700B1 (en) | Grouping nets to facilitate repeater insertion | |
JP3078739B2 (ja) | トランジスタ概略配置方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |