JPH096829A - 回路図面生成方法 - Google Patents

回路図面生成方法

Info

Publication number
JPH096829A
JPH096829A JP7156083A JP15608395A JPH096829A JP H096829 A JPH096829 A JP H096829A JP 7156083 A JP7156083 A JP 7156083A JP 15608395 A JP15608395 A JP 15608395A JP H096829 A JPH096829 A JP H096829A
Authority
JP
Japan
Prior art keywords
instance
instances
stages
input
arrangement
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.)
Withdrawn
Application number
JP7156083A
Other languages
English (en)
Inventor
Katsumi Iguchi
克己 井口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP7156083A priority Critical patent/JPH096829A/ja
Publication of JPH096829A publication Critical patent/JPH096829A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】座標情報を持たない回路の接続データから座標
情報を持った回路図面データを効率良く自動生成する回
路図面生成方法を提供する。 【構成】入力/出力外部端子、入力/出力バッファ、ラ
ッチ接続しているインスタンス等の配置位置を考慮して
インスタンスに段数付けを行う。インスタンスの配置座
標は、ポート間の配置がなるべく直線に配線できるよう
に決定し、インスタンスの固有名、接続しているポート
番号、ラインの重なりチェック、インスタンス間を通過
するラインに必要な配線領域等を考慮して決定される。
インスタンス間のポートを結ぶラインは、インスタンス
の配置時に決定された配線領域を通過するように配線さ
れる。また、隣接しないインスタンス間のポートを接続
する際は、シンボル占有領域上を通過するように配線
し、通過後はシンボル占有領域を拡張更新しながら配線
処理を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、座標情報を持たない回
路の接続データから座標情報を持った回路図面データを
自動生成する回路図面生成方法に関する。
【0002】
【従来の技術】近年、機能図やハードウェア記述言語
(HDL)から回路合成を行った後、合成結果を確認す
るため回路図面を自動生成することや、座標情報を持た
ないネットリストから回路図面を自動生成することが要
求されている。
【0003】更に、かかる場合回路規模の増大にともな
い回路図面生成を高速に行うことが要求されている。
【0004】従来の回路図面生成方法では、シンボルを
配置して配線する際、シンボルとラインが重なって配線
されていないか、ライン同士が重なって配線されていな
いか、十字結線していないかなどチェックをしながら配
線をしていた。
【0005】ところが、設計される回路規模が増大した
ため、配線するシンボルや配線するラインの数が膨大
し、これに伴い配置配線のチェックの処理時間が増大す
る傾向にある。
【0006】
【発明が解決しようとする課題】このため、回線規模が
大きくなると回路合成の入力となる機能図やハードウェ
ア記述言語(HDL)をわずか修正しても、回路合成
後、回路図面が生成されるまで長時間かかってしまうと
いう問題が生じていた。
【0007】したがって、本発明の目的は、短時間に回
路図面生成を行う方法を提供することにある。
【0008】
【課題を解決するための手段及び作用】請求項1に記載
の本発明にしたがう回路図面生成方法は、すべての出力
外部端子の配置段数を段数1に固定し、出力外部端子の
入力ポートに1入力1出力のインスタンスが繋がってい
る時、インスタンスを出力バッファと見なして配置段数
を段数2に固定し、入力外部端子の入力ポートに1入力
1出力のインスタンスが繋がっている時、該インスタン
スを入力バッファとみなし、配置段数を(最大段数−
1)に固定し、すべての入力外部端子の配線段数を最大
段数に固定し、出力外部端子でも出力バッファでも入力
バッファでも入力外部端子でもないインスタンスの配線
段数nを2<n<(最大段数−1)にする。
【0009】また請求項2に記載の発明は、更に、イン
スタンス同士がラッチ接続しているかどうかをチェック
し、ラッチ接続している時は、該インスタンスの配置段
数を同じにする。
【0010】請求項3に記載の発明は、前記において、
更に、前記インスタンスの情報を格納するインスタンス
テーブルを配置段数ごとに管理するテーブルを持ち、イ
ンスタンス名をキーにしてその該インスタンステーブル
を昇順または降順に並べ換える。
【0011】また請求項4に記載の発明は、各配置段数
のインスタンスの出力ポートに上から下に連続な番号を
付与し、インスタンスの入力ポートを調べ、該インスタ
ンスの左隣に配置されるインスタンスの出力ポートのう
ち最小の番号を該インスタンスのID番号にし、各配置
段のインスタンスを該ID番号をキーにして、前記イン
スタンステーブルを昇順または降順に並べ換えることを
特徴とする回路図面生成方法。
【0012】更に請求項5に記載の発明は、前記におい
て、配置を開始する段を入力バッファがあれば(最大段
数−1)段、入力バッファがなければ(最大段数−2)
段のインスタンスとし、該インスタンスよりも配置段数
の少ないインスタンスは、該インスタンスの左隣の段の
出力ポートと該インスタンスの入力ポートとが極力直線
で結ばれるように配置y座標決定し、最大段数である入
力外部端子のインスタンスは、(最大段数−1)段また
は(最大段数−2)段のインスタンスの入力ポートと該
インスタンスの出力ポートが極力直線で結ばれるように
配置y座標決定する。
【0013】上記の構成により、各インスタンスに対
し、y座標を決定することが出来る。同時にx方向のイ
ンスタンス間を結ぶ配線が作成される。
【0014】更に、本発明の請求項6に記載の発明は、
上記において、隣合うインスタンスで、配線を行った時
にラインが重なるような配置かどうかチェックし、該チ
ェックの結果、ラインが重なるならば、どちらかのイン
スタンスの配置y座標をΔ(<最小のピン間隔)だけ下
方向にずらして、ラインが重ならない配置にする。
【0015】また請求項7に記載の発明は、隣合うイン
スタンスの間を通る縦ラインが、そのラインと接続する
インスタンスのポートのID番号により決められたx座
標位置を通るようにする。
【0016】請求項8に記載の発明は、プルアップ/プ
ルダウンインスタンス(定数インスタンス)を入力外部
端子と同じx座標位置に配置する。
【0017】上記の請求項6乃至8に記載の発明によ
り、本発明にしたがいx方向のインスタンスの配置座標
を決定することができる。
【0018】また、請求項9に記載の発明は、1つのネ
ットが複数のシンク先を持つ場合、各段のインスタンス
のシンクポートに繋がるネットを接続し、それらのシン
クネット間を結ぶ横ラインを全シンボルの占有領域上に
配線後、その横ラインと各シンクネットを結ぶ。
【0019】また請求項10に記載の発明は、各配置段
のインスタンス間を接続する横ラインを全シンボルの占
有領域上に配線した後、全シンボルの占有領域を新しく
設定し直すことを特徴とする回路図面生成方法。
【0020】上記請求項9及び10に記載の発明によ
り、1つのネットが複数のソースまたはシンクを持つ場
合、並びにインスタンス間のネットを結ぶことができ
る。
【0021】
【実施例】以下図面を参照し、本発明の実施例を説明す
る。尚、図において同一または類似のものには同一の参
照記号及び番号を付して説明する。
【0022】図1は、本発明の回路図面生成方法を適用
する回路図面生成システムの好適な実施例の構成図であ
る。
【0023】本発明は、基本的構成として回路図面生成
の基礎データとなるネットリストファイルを本発明方法
にしたがう応用プログラムにより処理をすることによ
り、インスタンスの配置、配線の座標情報をもった回路
図面データを生成出力するものである。
【0024】したがって、図1において、ネットリスト
ファイルを記憶している記憶装置1と、図示しない中央
演算装置において、本発明にしたがう制御プログラムの
実行において実現される各ステップの機能部S1〜S1
1が実現され、これにより回路図面の生成処理が完了
し、これを図面データファイルとして記憶装置2に格納
する。同時に図面データファイルは、プリンタにより紙
出力あるいは、モニターに表示出力される。
【0025】次に、図1における機能処理部S1〜S1
1の各々の内容について、順次図面を参照して詳細に説
明する。 〔テーブル変換部:図1ステップS1〕記憶装置1に格
納されているネットリストは、回路設計において、例え
ば回路のセル端子間の接続情報が記述されているテキス
トデータである。したがって、このテキストデータから
素子の配置、配線の状態等を理解することは、困難であ
る。
【0026】テーブル変換部S1は、したがって、本発
明の方法において、コンピュータによる以下に説明する
内容を処理することが可能なコードデータに変換し、メ
モリ上にこの変換されたデータを展開する機能を有す
る。 〔段付け処理部:図1ステップS2〕図2−図6 先ず、回路を構成するインスタンスに対し、自動配置
し、配線を行う前にインスタンスの配置段数を付ける。
ここでインスタンスとは、回路素子、接続端子等を意味
する。段数付けは、図2のようにすべての出力外部端子
の段数を1とし、更に図3のように右から左に入力ポー
トに接続しているネットをたどりながら段数を付ける。
【0027】更に、図2に示すように、出力外部端子の
入力ポートに1入力1出力のインスタンス(出力バッフ
ァ)が繋がっていれば、そのインスタンスの段数を2に
する。出力外部端子の入力ポートに出力バッファ以外の
インスタンスが繋がっていれば、その段数を3にする。
【0028】また図4のように1入力1出力のインスタ
ンス(入力バッファ)が入力外部端子の出力ポートに繋
がっていれば、そのインスタンスの段数を(最大段数−
1)にする。また、すべての入力外部端子を最大段数に
する。
【0029】以上のような段数付けを行うと、図5のよ
うな配置段になる。そして、インスタンスを配置する
際、同じx座標上(同じ段)に入力、出力外部端子を配
置することができるため、出力外部端子から信号を追い
易くなる。テーブル変換部S1によりメモリ上に展開さ
れたコードデータを図5に示す如く、インスタンスの座
標位置が特定される。
【0030】同じx座標上(同じ段)に入力、出力バッ
ファを配置することができるため、論理とは関係の無い
バッファを脇にシフトすることができ、論理を構成する
回路の中にバッファが混入することを防ぐことができ
る。
【0031】更に、段数付け処理として次にインスタン
ス同士がラッチ接続しているかどうかのチェックを行
う。ラッチのチェックとは、すべてのインスタンスにつ
いて、図6の(1)に示すようにインスタンスINS0
1の出力ポートに繋がっているインスタンスを調べる。
【0032】インスタンスINS02は、入力ポートが
INS01の出力ポートに繋がっている。さらにその出
力ポートは、INS01の入力ポートに繋がっている。
このような場合、INS01とINS02はラッチ接続
していると判断する。
【0033】また、図6の(2)に示すようにラッチし
ているインスタンスに対し、どちらかのインスタンスと
同じ段数に置き換える。図6では、インスタンスINS
02の段数をn+1〔図6(1)〕からn〔図6
(2)〕に変更されている。
【0034】ラッチ接続しているインスタンスの論理段
数が異なると配置された時にラッチを構成しているイン
スタンスが離れてしまう。このため上記のように同じ段
数に揃えることで同じ段に配置されることにより、回路
図中のラッチ部分が判断し易くなる。
【0035】〔インスタンス情報テーブルソート部:図
1ステップS3〕図7−図10 図7のように段数毎に対応するインスタンス情報テーブ
ルBを格納する管理テーブルAを用意する。また、図8
のようにインスタンス情報テーブルBは、インスタンス
名(A0 、B0 等) をキーにしてソートしておく。
【0036】インスタンスを配置する際は、本発明で
は、配置段数ごとに行われるため段数ごとのインスタン
スの情報が必要になる。ビット幅を持つインスタンス
は、図10に示すようにマクロ展開やビット展開された
時に、大概、元のインスタンス名に追番の付けられた名
前を新しいインスタンス名として付与される。
【0037】そのため、名前でソートしておき、その順
番で配置すれば、関連性のあるインスタンスが近くに並
ぶ可能性が大きくなる。インスタンスの出現がランダム
なネットリストから図面を生成する時、ひとつの目安に
する。 〔インスタンスの配置y座標の決定部:図1ステップS
4〕図10−図14 インスタンスの配置基準点を、図10のように定義す
る。即ち、図10において、y0 は配置基準点であり、
Oはシンボル専有領域である。
【0038】(最大段数−2)段のインスタンスをイン
スタンス情報テーブルBをソートした順番で縦方向(y
方向)に間隔を開けて配置する。この時、横の並び(配
置x座標)は、考慮しない。
【0039】(最大段数−3)段以降のインスタンス
で、左隣のインスタンスの出力ポートと直線で結べるイ
ンスタンスは、図11のように配置y座標をy1 と決定
する。ここで座標y1 は、基準点y0 を基準としてy1
=(y0 −d0 )+d1 となる。
【0040】(最大段数−3)段以降のインスタンス
で、左隣のインスタンスの出力ポートと直線で結べない
インスタンスや左隣のインスタンスと接続していないイ
ンスタンスは、図12のように配置y座標y2 を決定す
る。ここで座標y2 は、先に基準点y0 を持つインスタ
ンスと接続するよう配置されたインスタンスの基準点座
標y1 を基準として、y2 =y1 −h−sで表される。
【0041】(最大段数−1)段以上のインスタンス
で、右隣のインスタンスの入力ポートと直線で結べるイ
ンスタンスは、図13のように配置y座標y1 を決定す
る。
【0042】(最大段数−1)段以上のインスタンス
で、右隣のインスタンスの入力ポートと直線で結べない
インスタンスや右隣のインスタンスと接続していないイ
ンスタンスは、図14のように配置y座標y2 を決定す
る。
【0043】なお、上記図11、12、13、14にお
いて、各インスタンスの配置間隔sは、インスタンスの
最小ピン間隔よりも大きく取る。
【0044】ここで、インスタンス間のポートをできる
だけ直線で配線できるように配置するため、論理を追い
易くなる。本発明によれば、出力バッファ、出力外部端
子は、左隣の出力ポートとできるだけ直線で結ぶことが
できる。同様にインバータなど1入力1出力のインスタ
ンスも左隣の出力ポートとできるだけ直線で結ぶことが
できるためインバータが論理反転に使われている時は、
インバータはインスタンスの出力ポートの近くに配置す
ることができる。
【0045】また、入力バッファ、入力外部端子は、右
隣の入力ポートとできるだけ直線で結ぶことができる。
従って、信号を追う際に障害となっていたラインの折れ
曲がりを少なくすることができる。 〔インスタンスのポートIDソート部:図1ステップS
5〕図16 すべてのインスタンスについて配置するy座標が決まっ
たら、各配置段ごとに図15の(1)に示すようにイン
スタンスの出力ポートに上から下に追番を付与する。
(i=1、2、・・・、n) また、インスタンスの入力ポートを調べ、その左隣のイ
ンスタンスの出力ポートと繋がっていれば、左隣のイン
スタンスの出力ポートの追番のうち最小の追番をそのイ
ンスタンスのID番号にする。
【0046】接続する左隣のインスタンスがないインス
タンスは、そのIDを(最大出力ポート番号+1)にす
る。図15(1)の例では、A1 のインスタンスのID
が10(最大出力ポート番号9+1)となる。
【0047】次にID番号をキーにしてインスタンス情
報テーブルB(図7参照)を昇順ソートする。ID番号
をキーにしてインスタンス情報テーブルBを昇順ソート
する〔図15(2)〕。ソート後に、先に説明した〔イ
ンスタンスの配置y座標の決定部〕における手順と同様
の処理を行って、配置y座標を再決定する。
【0048】ソートされたインスタンス名の順番でイン
スタンスを配置しても場合により、図15の(1)のよ
うに配線がよじれてしまう時がある。そこで、左隣のイ
ンスタンスと接続しているインスタンスの配置の順番
は、左隣のインスタンスの出力ポートの順番(上から下
へのユニークな追番)でソートすることにより、ライン
のよじれが少ない配置を行うことができる。
【0049】左隣のインスタンスと接続していないイン
スタンスは、その出力ポートの(最大の追番+1)を付
与することで昇順にソートした時にそのインスタンスの
処理順は、左のインスタンスに接続しているインスタン
スよりも後になり、左隣のインスタンスに接続している
インスタンスの配置、配線に影響を及ぼさなくなる。 〔インスタンス配置y座標重複調整部:図1ステップS
6〕図16−図17 次に図16の(1)のように配線を行った時にラインが
重なるような配置かどうかを調べる。もしラインが重な
るような配置となるならば、図16の(2)のようにイ
ンスタンスのy座標をΔ(<最小のピン間隔)の大きさ
だけ下方向にずらす。
【0050】各インスタンスの配置間隔Sは、最小ピン
間隔よりも大きく取っているので、下方向にΔだけずら
してもインスタンスは重なることがない。
【0051】ラインが重なるかどうかのチェックは、次
のように行われる。先ず図16のように隣合っている配
置段数にある右側のインスタンスの入力ポートを調べ
る。その入力ポートが左側の配置段にあるいずれかのイ
ンスタンスの出力ポートに繋がっているかどうかを調べ
る。
【0052】図17において、ポート1がポート2に図
示のように繋がっている時、左側の配置段のいずれかの
インスタンスの出力ポートであって、図17の入力ポー
ト1と同じy座標上に、出力ポートがあるかどうかを調
べる。
【0053】さらにそのポートが右側の配置段のいずれ
かのインスタンスの入力ポートに繋がっているかどうか
を調べる(図17のポート4)。このように調べた結
果、もし、図16のポート1、2、3、4について、上
記のような関係に有れば、インスタンスA、Bは、ライ
ンが重なる配置であると判断する。
【0054】後に述べるように、インスタンス間のネッ
トを結ぶ横線は全シンボルの占有領域上に引かれるの
で、ラインが重なることはない。横線でラインが重なる
危険があるのは、隣合うインスタンス間の間を結ぶ時で
ある。
【0055】隣合うインスタンス間の結ぶ時でラインが
重なる可能性があるのは、図16の(1)のように同じ
y座標上にあり(つまり水平上にあり)、それぞれ隣の
インスタンスに接続しているポートである。
【0056】重なる原因は、ポートが同じy座標にある
からなので、どちらかのインスタンスを少しずらして
(そのインスタンスの最小のピン間よりも小さなずれ
で)ポートが同じy座標にないようにする。
【0057】ずらすことにより、ポートは同じy座標上
にいなくなるので横線が重なることがなくなる。 〔配線領域決定部:図1ステップS7〕図18−図24 以上は、インスタンス間の横方向に繋がるラインについ
ての要件であった、次に隣合うインスタンス間を縦に通
過するラインは、図18のようにインスタンスのポート
番号により決める。
【0058】つまり、ポートnに接続するラインが、イ
ンスタンス間の配線で縦ラインを取るならば、その縦ラ
インは、図18のn番目の縦線の箇所を通るようにす
る。
【0059】以上のようにすれば、縦のラインは重なる
ことなく、各ポートラインを繋げることができるが、冗
長なため余分なすき間が空いてしまう。
【0060】そこで、各インスタンスの出力ポートと入
力ポートに繋がるラインの方向をあらかじめ決めておく
ことにより、隣合うインスタンスの間に余分なすき間を
無くすようにする。
【0061】まず、各インスタンスの出力ポートから出
るラインの方向を求める。
【0062】図19の(1)に示すように、あるネット
の半数以上のシンクポートのy座標がそのネットのソー
スのy座標よりも上にある場合、図19の(2)のよう
な配線とする。この場合は、ソースは上へ伸び、シンク
は上から降りてくる。
【0063】また、図20の(1)のように、あるネッ
トの半数以上のシンクポートのy座標がそのネットのソ
ースの座標よりも下にある場合、図20の(2)のよう
な配線になる。この場合は、ソースは下へ伸び、シンク
は下から登ってくる。
【0064】また、図21のように、上へのソースa→
下へのソースb→下からのシンクc→上からのシンクd
の順番で、インスタンス間を縦に通るラインの配線位置
(x座標でなくて右から何番目か)を求める。
【0065】ただし、図21の8と4’のポートのよう
に、両隣のインスタンスが1ラインで、しかも直線で接
続している時、(折れ曲がるところがないから)そのラ
インの配線位置は求めない。
【0066】また、図21のポート1と4、2と5、3
と6、2’と5’、1’と3’のように、それぞれのポ
ートの接続している縦ラインが交わることなしに同じx
座標上に引ける場合は、図22のようにそれぞれ対にな
っているポートに同じx座標の配置位置を与えることに
より余分なすき間をなくすことが出来る。
【0067】更に、図23に示すように、同じ配置段の
インスタンスの複数のポートに共通にラインが繋がって
いる時は、図24のように縦ラインの配線位置を同じに
して、隣合うインスタンスの間に余分なすき間ができな
いようにする。
【0068】最後に、隣接するインスタンスの間を通る
ラインの本数から、各段のインスタンスの配置するx座
標(配置段間の距離)を求める。
【0069】図24において、左側のインスタンスの基
準x座標は、x’=x+D+nΔxとなる。
【0070】上記のように、ポートに接続する縦ライン
が、あらかじめ決められた場所を通過することにより縦
ライン同士の重なりを未然に防ぐことができる。
【0071】また、ラインの方向ごとに縦ラインの通過
する場所を決めているので(上へのソース→下へのソー
ス→下からシンク→上からシンクの順番)生成されたラ
インは重なる部分がなくなるので、論理を追い易い回路
図を生成することができる。 〔プルアップ/プルダウンインスタンス処理部:図1ス
テップS8〕図25 図25のように、入力外部端子をすべて配置した後にプ
ルアップ、プルダウンインスタンス(定数インスタン
ス)を入力外部端子のx座標の位置に配置する(プルア
ップZ01は上、プルダウンZ00は下) プルアップ、プルダウンインスタンス(定数インスタン
ス)を入力外部端子と同じx座標の上と下というように
常に決まった位置に配置すると定数インスタンスがその
回路図に存在するのか、また、どのインスタンスと接続
しているのかといったことが、分かり易くなる。 〔接続情報テーブルソート部:図1ステップS9〕図2
6−図27 図26のように、ネットテーブルAを作成する。これ
は、1ネットの接続順序と同じものになる。接続先配置
段テーブルBは、図27のように段数をキーにして昇順
または降順にソートしておく。同様に接続先ポートテー
ブルCは、前項インスタンスのポートIDによるソート
で付与したポート番号をキーにして昇順または降順にソ
ートしておく。
【0072】ここで、上記の接続情報テーブルは、ネッ
トの接続と同じ接続構造になっているのでテーブルの格
納順序で接続ポートを取り出せば結線を容易に行うこと
ができる。
【0073】接続先配置段数テーブルBを段数で、昇順
または降順にソートしておくことにより、そのネットで
配線を行う際の配置段の始点と終端が分かる。
【0074】同様に接続先ポートテーブルCをポート番
号で昇順または降順にソートしておくことにより、各配
置段の配線を行う際のポートの始点と終端が分かる 〔配線処理部:図1ステップS10〕図28−図29 隣接するインスタンス間のポートを1ラインで引ける
時、直線または(横→縦→横)でラインを引く。隣接は
していないが、インスタンス間のポートを1ラインで引
け、しかもどのインスタンスの占有領域とも重ならない
時、直線または(横→縦→横)でラインを引く。
【0075】上記以外で1つのネットが複数のソースま
たはシンクをもつ場合は、図28のような配線方法を行
う。
【0076】即ち、図28において、図28(1)は何
も配線されていない状態である。次に、同じ段のインス
タンスのシンクポートに繋がるネットを描く〔図28
(2)〕。次に、ソースポートに繋がるライン引く〔図
28(3)〕。
【0077】ついで、各段のインスタンスのシンクネッ
トを結ぶ横ラインをシンボル占有領域に配線する〔図2
8(4)〕。最後に、横ラインと各シンクネットを結ぶ
〔図28(5)〕。
【0078】また、1つのネットが複数のシンク先を持
つ時の配線は、次のように行う。同じ段にあるシンク同
士を結線することで、各配置段に同一ネットのグループ
を作ることができる。
【0079】また、シンクだけではなくネットに複数の
ソースがある時、同様に各配置段でソースネットのグル
ープを作り、1本の横のラインから縦に伸ばしたライン
で結線を行う。
【0080】全体のネットを生成するには、各配置段で
生成されたシンクネットやソースネットのグループを1
本の横のラインから縦に伸ばしたラインで結線すれば良
いのでネットの生成処理を容易に行える。
【0081】ここで、図29(1)に示すように、イン
スタンス間のネットを結ぶ横ラインは、全シンボルの占
有領域上に引く。この時、離れた段にあるインスタンス
を結ぶラインがある場合は、図29(2)のように、新
しいラインを含むように全シンボルの占有領域ARを膨
らませ、横線の配線後、全シンボルの占有領域を新たに
設定する。
【0082】上記のように、隣合っていない配置段数の
インスタンスを配線する場合 インスタンス間のネット
を結ぶ横線を常に全シンボルの占有領域上に引くことに
より、インスタンス間のネットを結ぶ横線同士が重なら
なくなる。これは、全シンボルの占有領域上またはその
外側には、ラインが存在しないことを利用している。
【0083】全シンボルの占有領域上にラインを引いた
ら、次のラインがそのラインと重ならないようにするた
め、全シンボルの占有領域をそのラインを含むように広
げておく。
【0084】以上の如き手順により、本発明の方法によ
り回路図面が作成される。尚、上記の手順説明におい
て、追番をソートの際、昇順で行う場合について説明し
たが、本発明の方法は、これに限定されず、反対に降順
でソートを行うことも可能である。 〔図面データ生成部:図1ステップS11〕上記のよう
にして、各インスタンスの配置される座標位置、配線等
が特定される。この時、作成されるデータはメモリー上
に展開されたテーブルデータである。したがって、図面
データ生成部11は、プリンタあるいはモニタに出図可
能なデータに変換され、記憶装置2に図面データファイ
ルとして格納される。
【0085】更に、必要により、プリンタあるいはモニ
タにより出力される。図30、図31は、上記の本発明
の回路図面作成方法を実施して出力された回路図の一例
である。この図により、容易にインスタンスの座標位
置、配線状況が理解できる。
【0086】
【発明の効果】以上図面にしたがい手順をおって説明し
たように、本発明の方法によれば、障害物を避ける従来
の方法とは異なり、配線できる領域を配置情報からあら
かじめ確保するようにしている。
【0087】このため、障害物をチェックする処理が不
要になり、高速な図面生成を可能にするといった効果を
奏し、試行錯誤による回路設計のターンアラウンドに掛
ける時間や障害修正までの時間を短縮することができ、
回路設計の効率向上に寄与するところが大きい。
【図面の簡単な説明】
【図1】本発明を適用する回路図面生成方法の好適な構
成図である。
【図2】出力外部端子の段数について説明する図であ
る。
【図3】配置段数について説明する図である。
【図4】入力外部端子の段数について説明する図であ
る。
【図5】インスタンスの配置段について説明する図であ
る。
【図6】ラッチ接続しているインスタンスの段数につい
て説明する図である。
【図7】インスタンス情報テーブルの構造について説明
する図である。
【図8】インスタンス情報テーブルのソートについて説
明する図である。
【図9】マクロ展開におけるインスタンス名について説
明する図である。
【図10】インスタンスの配置基準点について説明する
図である。
【図11】左隣の段のインスタンスと直線で接続してい
る時の配置について説明する図である。
【図12】左隣の段のインスタンスと直線で接続してい
ない時の配置について説明する図である。
【図13】右隣の段のインスタンスと直線で接続してい
る時の配置について説明する図である。
【図14】右隣の段のインスタンスと直線で接続してい
ない時の配置について説明する図である。
【図15】ポートIDによるインスタンスの並べ換えに
ついて説明する図である。
【図16】インスタンスの配置調整について説明する図
である。
【図17】ラインが重なるかどうかのチェックについて
説明する図である。
【図18】ラインの折れ曲がり位置について説明する図
である。
【図19】ラインの方向(上へのソースと上からのシン
ク)について説明する図である。
【図20】ラインの方向(下へのソースと下からのシン
ク)について説明する図である。
【図21】インスタンス間を通る縦のラインについて説
明する図である。
【図22】ラインの折れ曲がり位置の調整について説明
する図である。
【図23】ネットが同じ配置段の複数のポートに接続し
ている時について説明する図である。
【図24】ネットが同じ配置段の複数のポートに接続し
ている時の調整について説明する図である。
【図25】プルアップ/プルダウンインスタンスの配置
について説明する図である。
【図26】ネットテーブルについて説明する図である。
【図27】接続先配置段テーブルまたは接続先ポートテ
ーブルのソートについて説明する図である。
【図28】配線方法について説明する図である。
【図29】シンボル占有領域の変更について説明する図
である。
【図30】本発明の回路図面作成方法により描画された
回路図の一例である。
【図31】本発明の回路図面作成方法により描画された
回路図の別の一例である。
【符号の説明】
1 ネットリスト記憶装置 2 図面データ記憶装置 3 回路図面出力 S1 テーブル変換機能 S2 段数付け処理部 S3 インスタンス情報テーブルソート部 S4 インスタンス配置y座標決定部 S5 インスタンスポートIDソート部 S6 インスタンス配置y座標重複調整部 S7 配線領域決定部 S8 プルダウン/アップダウンインスタンス処理部 S9 接続テーブルソート部 S10 配線処理部 S11 図面データ生成部

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】すべての出力外部端子の配置段数を段数1
    に固定し、 該出力外部端子の入力ポートに1入力1出力のインスタ
    ンスが繋がっている時、該インスタンスを出力バッファ
    と見なして配置段数を段数2に固定し、 入力外部端子の入力ポートに1入力1出力のインスタン
    スが繋がっている時、該インスタンスを入力バッファと
    みなし、配置段数を(最大段数−1)に固定し、 すべての入力外部端子の配線段数を最大段数に固定し、 出力外部端子でも出力バッファでも入力バッファでも入
    力外部端子でもないインスタンスの配線段数nを2<n
    <(最大段数−1)にすることを特徴とする回路図面生
    成方法。
  2. 【請求項2】請求項1において、 更に、インスタンス同士がラッチ接続しているかどうか
    をチェックし、ラッチ接続している時は、該インスタン
    スの配置段数を同じにすることを特徴とする回路図面生
    成方法。
  3. 【請求項3】請求項1において、 更に、前記インスタンスの情報を格納するインスタンス
    テーブルを配置段数ごとに管理するテーブルを持ち、 インスタンス名をキーにしてその該インスタンステーブ
    ルを昇順または降順に並べ換えることを特徴とする回路
    図面生成方法。
  4. 【請求項4】請求項1において、 各配置段数のインスタンスの出力ポートに上から下に連
    続な番号を付与し、インスタンスの入力ポートを調べ、
    該インスタンスの左隣に配置されるインスタンスの出力
    ポートのうち最小の番号を該インスタンスのID番号に
    し、各配置段のインスタンスを該ID番号をキーにし
    て、前記インスタンステーブルを昇順または降順に並べ
    換えることを特徴とする回路図面生成方法。
  5. 【請求項5】請求項1、2または3において、 配置を開始する段を入力バッファがあれば(最大段数−
    1)段、入力バッファがなければ(最大段数−2)段の
    インスタンスとし、該インスタンスよりも配置段数の少
    ないインスタンスは、該インスタンスの左隣の段の出力
    ポートと該インスタンスの入力ポートとが極力直線で結
    ばれるように配置y座標決定し、 最大段数である入力外部端子のインスタンスは、(最大
    段数−1)段または(最大段数−2)段のインスタンス
    の入力ポートと該インスタンスの出力ポートが極力直線
    で結ばれるように配置y座標決定することを特徴とする
    回路図面生成方法。
  6. 【請求項6】請求項5において、 隣合うインスタンスで、配線を行った時にラインが重な
    るような配置かどうかチェックし、該チェックの結果、
    ラインが重なるならば、どちらかのインスタンスの配置
    y座標をΔ(<最小のピン間隔)だけ下方向にずらすこ
    とを特徴とする回路図面生成方法。
  7. 【請求項7】請求項1乃至6において、 隣合うインスタンスの間を通る縦ラインが、そのライン
    と接続するインスタンスのポートのID番号により決め
    られたx座標位置を通るようにしたことを特徴とする回
    路図面生成方法。
  8. 【請求項8】請求項7において、 プルアップ/プルダウンインスタンス(定数インスタン
    ス)を入力外部端子と同じx座標位置に配置することを
    特徴とする回路図面生成方法。
  9. 【請求項9】請求項7において、 1つのネットが複数のシンク先を持つ場合、各段のイン
    スタンスのシンクポートに繋がるネットを接続し、それ
    らのシンクネット間を結ぶ横ラインを全シンボルの占有
    領域上に配線後、その横ラインと各シンクネットを結ぶ
    ことを特徴とする回路図面生成方法。
  10. 【請求項10】請求項7において、 各配置段のインスタンス間を接続する横ラインを全シン
    ボルの占有領域上に配線した後、全シンボルの占有領域
    を新しく設定し直すことを特徴とする回路図面生成方
    法。
JP7156083A 1995-06-22 1995-06-22 回路図面生成方法 Withdrawn JPH096829A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7156083A JPH096829A (ja) 1995-06-22 1995-06-22 回路図面生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7156083A JPH096829A (ja) 1995-06-22 1995-06-22 回路図面生成方法

Publications (1)

Publication Number Publication Date
JPH096829A true JPH096829A (ja) 1997-01-10

Family

ID=15619932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7156083A Withdrawn JPH096829A (ja) 1995-06-22 1995-06-22 回路図面生成方法

Country Status (1)

Country Link
JP (1) JPH096829A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114611454A (zh) * 2022-03-22 2022-06-10 上海安路信息科技股份有限公司 数字后端绕线方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114611454A (zh) * 2022-03-22 2022-06-10 上海安路信息科技股份有限公司 数字后端绕线方法及系统

Similar Documents

Publication Publication Date Title
EP0612020B1 (en) Method for placement of nodes in a graph based diagram
US5793643A (en) Method for handling variable width wires in a grid-based channel router
JPH03188650A (ja) 配線経路処理方法、配線経路処理システム、及び半導体集積回路
US8924913B1 (en) Schematic display of connectivity in an integrated circuit design
US8510702B2 (en) Interactive routing editor with symbolic and geometric views for integrated circuit layout
US6480985B1 (en) Method and apparatus for graphically presenting an integrated circuit design
US20020010899A1 (en) Digital circuit layout techniques
US20070136709A1 (en) Floorplanning A Hierarchical Physical Design To Improve Placement And Routing
JPH096829A (ja) 回路図面生成方法
Balraj et al. Miss Manners: A specialized silicon compiler for synchronizers
JPH113945A (ja) 半導体集積回路のクロックツリー設計方法及びそれによる半導体集積回路
JP3498674B2 (ja) 半導体集積回路装置及びクロック配線方法並びに記録媒体
Rafiq et al. Integrated floorplanning with buffer/channel insertion for bus-based designs
JP2829072B2 (ja) Lsi配線変更方法
JP3132655B2 (ja) 半導体集積回路におけるクロックネットのレイアウト方法およびレイアウト装置
JPH03263179A (ja) 回路図エディタ
Chen et al. Buffered routing tree construction under buffer placement blockages
JPH06349947A (ja) 半導体集積回路装置のマスクパターン設計方法および設計装置
JPH0645446A (ja) 配置配線方法
Eschbach et al. Orthogonal hypergraph routing for improved visibility
JP3102408B2 (ja) 信号遅延低減方法及び装置
JPS62239273A (ja) 階層的パターンレイアウト方法
JP3177958B2 (ja) レイアウト設計システムおよびレイアウト設計方法
JPH0645443A (ja) 階層化配線方法
JPH0736955A (ja) Cadシステム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020903