JP2858328B2 - 網図自動生成方法およびそのシステム - Google Patents
網図自動生成方法およびそのシステムInfo
- Publication number
- JP2858328B2 JP2858328B2 JP1232539A JP23253989A JP2858328B2 JP 2858328 B2 JP2858328 B2 JP 2858328B2 JP 1232539 A JP1232539 A JP 1232539A JP 23253989 A JP23253989 A JP 23253989A JP 2858328 B2 JP2858328 B2 JP 2858328B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- arrangement
- fuzzy
- nodes
- fuzzy set
- 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
- Devices For Executing Special Programs (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、論理図、機能図、ブロック図、工程図、関
連樹木図、プリント基盤のレイアウトなどの網図を自動
作画するシステムに係り、特に回路素子や部分回路等の
回路部品とその接続情報から信号の流れが追い易く論理
が把握し易い論理図,機能図あるいは回路図の作成に好
適な網図自動生成方法またはそのシステムに関する。
連樹木図、プリント基盤のレイアウトなどの網図を自動
作画するシステムに係り、特に回路素子や部分回路等の
回路部品とその接続情報から信号の流れが追い易く論理
が把握し易い論理図,機能図あるいは回路図の作成に好
適な網図自動生成方法またはそのシステムに関する。
従来の技術 従来から論理回路図自動生成に関しては、種々の方法
が提案されている。例えば、特開昭61−204775号公報、
「論理図生成の一手法」,電子通信学会技術報告書、CA
S84−134,1984、特開昭60−205672号公報、特開昭60−1
76177号公報などに記載されている。通常、論理回路図
自動生成は、論理分割により論理回路全体を分割し、各
分割された部分について、自動配置によりその分割され
た部分回路内の各回路部品等の作図シンボルの配置を決
定し、自動配線により回路部品間の配線を決定するとい
う方法、あるいは各回路部品を配置した後、分割する方
法等で実現されている。これらは、主に論理回路図をう
まく分割したり、論理回路図の階層的な表現を用いた
り、あるいは回路部品間の接続関係以外に特定の回路部
品の性質を利用することによって見易くするものだっ
た。
が提案されている。例えば、特開昭61−204775号公報、
「論理図生成の一手法」,電子通信学会技術報告書、CA
S84−134,1984、特開昭60−205672号公報、特開昭60−1
76177号公報などに記載されている。通常、論理回路図
自動生成は、論理分割により論理回路全体を分割し、各
分割された部分について、自動配置によりその分割され
た部分回路内の各回路部品等の作図シンボルの配置を決
定し、自動配線により回路部品間の配線を決定するとい
う方法、あるいは各回路部品を配置した後、分割する方
法等で実現されている。これらは、主に論理回路図をう
まく分割したり、論理回路図の階層的な表現を用いた
り、あるいは回路部品間の接続関係以外に特定の回路部
品の性質を利用することによって見易くするものだっ
た。
また、論理回路図自動生成方法における論理回路図上
の回路部品の配置方法は、従来、作図シンボルの配置可
能な位置を図面上に想定された碁盤の目の位置に限定
し、図面の一端から一定方向(例えば、出力側から入力
側あるいは入力側から出力側)に作図シンボルを作図シ
ンボル間の結線関係(すなわち回路部品間の接続関係)
に従って順次配置を決定する。この配置決定の手順とし
ては、まず各作図シンボルを入力端子(つまり、入力ポ
ート)または出力端子(つまり、出力ポート)を起点に
して、結線関係によってレベル(すなわち、配置のため
の列)分けを行う。次に、既に位置の決まっている前列
(レベル)の作図シンボルとの間の結線の交叉を最小に
する、あるいは、それらの全結線の合計長を最小にする
等の方法で、各列内の作図シンボルの位置決めを順次行
う。ただし、この位置決めは、必ずしも1回の実行とは
限らず、通常、出力端子(または入力端子)側から入力
端子(または出力端子)側への順次決定,および逆の方
向の入力端子(または出力端子)側から出力端子(また
は入力端子)側への順次決定を繰り返し実行することに
よって、より良い配置を決定するというのが通例であ
る。しかし、人手でCADシステム(図面エディタ等)で
作成した図面(論理図等)に比べ、見易さという点で格
段の差がある。なお、この種の方式に関するものは、例
えば、情報処理学会第30回全国大会講演論文集(昭和60
年前期)第1901頁から第1904頁,第1973頁から第1974
頁,特開昭61−204775号公報,電子通信学会技術報告書
CAS84−134(1984)第47頁から第54頁等に挙げられる。
の回路部品の配置方法は、従来、作図シンボルの配置可
能な位置を図面上に想定された碁盤の目の位置に限定
し、図面の一端から一定方向(例えば、出力側から入力
側あるいは入力側から出力側)に作図シンボルを作図シ
ンボル間の結線関係(すなわち回路部品間の接続関係)
に従って順次配置を決定する。この配置決定の手順とし
ては、まず各作図シンボルを入力端子(つまり、入力ポ
ート)または出力端子(つまり、出力ポート)を起点に
して、結線関係によってレベル(すなわち、配置のため
の列)分けを行う。次に、既に位置の決まっている前列
(レベル)の作図シンボルとの間の結線の交叉を最小に
する、あるいは、それらの全結線の合計長を最小にする
等の方法で、各列内の作図シンボルの位置決めを順次行
う。ただし、この位置決めは、必ずしも1回の実行とは
限らず、通常、出力端子(または入力端子)側から入力
端子(または出力端子)側への順次決定,および逆の方
向の入力端子(または出力端子)側から出力端子(また
は入力端子)側への順次決定を繰り返し実行することに
よって、より良い配置を決定するというのが通例であ
る。しかし、人手でCADシステム(図面エディタ等)で
作成した図面(論理図等)に比べ、見易さという点で格
段の差がある。なお、この種の方式に関するものは、例
えば、情報処理学会第30回全国大会講演論文集(昭和60
年前期)第1901頁から第1904頁,第1973頁から第1974
頁,特開昭61−204775号公報,電子通信学会技術報告書
CAS84−134(1984)第47頁から第54頁等に挙げられる。
発明が解決しようとする課題 上記従来例は、各回路部品を表す作図シンボルの配置
やそれらの間の配線に関して、通常、一度仮の配置ある
いは配線を決定し、見易さの面からその結果の配置ある
いは配線を修正するというものであり、処理効率が良く
ない。また、作図シンボルの配置手法も、その作図シン
ボルが接続されているものの重心の位置またはその配線
長の和を小さくする位置に配置するものであり、さら
に、配置処理では、後で処理される配線の見易さに関す
る考慮がされていない。その結果、得られた論理回路図
は必ずしも見易いものではなかった。さらに、「見やす
い」という概念の定義が不確かであり、主観的な曖昧さ
を含んでいるため、見やすさの指標を的確に設定するこ
とが非常に難しい。また、従来の論理回路図自動生成シ
ステムでは、1つの指標を重視する傾向にあり、その結
果 (a)処理が固定されているので、同じ傾向を持つ論理
回路図しか得られない、 (b)ある指標に対する値が優れていても、他の観点か
ら見たときに見やすい図であるとは言えない。
やそれらの間の配線に関して、通常、一度仮の配置ある
いは配線を決定し、見易さの面からその結果の配置ある
いは配線を修正するというものであり、処理効率が良く
ない。また、作図シンボルの配置手法も、その作図シン
ボルが接続されているものの重心の位置またはその配線
長の和を小さくする位置に配置するものであり、さら
に、配置処理では、後で処理される配線の見易さに関す
る考慮がされていない。その結果、得られた論理回路図
は必ずしも見易いものではなかった。さらに、「見やす
い」という概念の定義が不確かであり、主観的な曖昧さ
を含んでいるため、見やすさの指標を的確に設定するこ
とが非常に難しい。また、従来の論理回路図自動生成シ
ステムでは、1つの指標を重視する傾向にあり、その結
果 (a)処理が固定されているので、同じ傾向を持つ論理
回路図しか得られない、 (b)ある指標に対する値が優れていても、他の観点か
ら見たときに見やすい図であるとは言えない。
本発明の目的は、このような従来の問題点を改善し、
接続関係が見易く、図で表現されている内容が理解し易
い網図(あるいは論理回路図)の効率的な配置が可能で
ある網図自動生成方法またはシステムを提供することに
ある。
接続関係が見易く、図で表現されている内容が理解し易
い網図(あるいは論理回路図)の効率的な配置が可能で
ある網図自動生成方法またはシステムを提供することに
ある。
課題を解決するための手段 本発明は、産業上又は技術上のレイアウトシステムに
おける配置対象をノードとし、それらの各ノード間に物
理的な接続関係があり、グラフで表わされるモデルに対
して、記憶装置中に格納されている該グラフのノードと
接続関係に関する情報を参照し、各ノード間の接続関係
から、各ノードが各位置に配置される度合を表すファジ
イ集合を算出する第1のステップと、前記ファジイ集合
から各位置に配置される度合に応じて各ノードの配置を
決定する第2のステップとを実行するように処理装置を
制御することを特徴とする配置方法である。前記第1の
ステップは既に位置関係が決定されているノードの集合
と、位置関係が未決定のノードの集合との間の接続関係
から、各位置に対してその位置にノードを配置するとき
の他のノードとのファジイ関係を、ノード間の距離の分
布に比例したメンバーシップ関数を用いて算出するステ
ップ1と、前記ファジイ関係を用いたファジイ演算によ
り、各ノードが各位置に配置される度合を表す、ノード
と位置との対を要素にもつファジイ集合を決定するステ
ップ2から成る。前記第2のステップは前記ファジイ集
合から、その要素である、ノードxと位置yの対を、ノ
ードおよび位置の重複がないように選択し、各ノードx
を対応する位置yに配置するステップ3を有する。前記
第2のステップは前記ステップで配置されなかったノー
ドzに対して前記ファジイ集合中のそのノードzを含む
全要素の位置とグレード値とから前記ノードzの配置を
決定するステップ4を含むことが望ましい。
おける配置対象をノードとし、それらの各ノード間に物
理的な接続関係があり、グラフで表わされるモデルに対
して、記憶装置中に格納されている該グラフのノードと
接続関係に関する情報を参照し、各ノード間の接続関係
から、各ノードが各位置に配置される度合を表すファジ
イ集合を算出する第1のステップと、前記ファジイ集合
から各位置に配置される度合に応じて各ノードの配置を
決定する第2のステップとを実行するように処理装置を
制御することを特徴とする配置方法である。前記第1の
ステップは既に位置関係が決定されているノードの集合
と、位置関係が未決定のノードの集合との間の接続関係
から、各位置に対してその位置にノードを配置するとき
の他のノードとのファジイ関係を、ノード間の距離の分
布に比例したメンバーシップ関数を用いて算出するステ
ップ1と、前記ファジイ関係を用いたファジイ演算によ
り、各ノードが各位置に配置される度合を表す、ノード
と位置との対を要素にもつファジイ集合を決定するステ
ップ2から成る。前記第2のステップは前記ファジイ集
合から、その要素である、ノードxと位置yの対を、ノ
ードおよび位置の重複がないように選択し、各ノードx
を対応する位置yに配置するステップ3を有する。前記
第2のステップは前記ステップで配置されなかったノー
ドzに対して前記ファジイ集合中のそのノードzを含む
全要素の位置とグレード値とから前記ノードzの配置を
決定するステップ4を含むことが望ましい。
作用 このように本発明では、例えば、「見やすさ」等の感
覚的な評価指標で表わされる配置において、第1のステ
ップでノードがある位置に配置される度合をファジイ集
合を用いて求め、第2のステップでそのファジイ集合か
ら、各位置に配置される度合(グレード)に応じて、各
ノードを配置するという方法を採用することとしたの
で、判断が非常に難しい感覚的な評価指標で表わされる
配置処理において、一度の配置処理だけで、配置修正す
ることなく、的確に配置結果を得るという効果を十分に
期待することができる。詳しく言えば、網図(または回
路)の接続関係から、ステップ1によって「位置yにノ
ードxを配置するときの他のノードとの隣接度」を表す
ファジイ関係を算出し、ステップ2によって「ノードx
が位置yに配置されると見やすい」というファジイ集合
を決定し、ステップ3およびステップ4によってそのフ
ァジイ集合を用いて各ノードの配置を順次決定する。こ
のことによって、「見やすい」という人間の主観に基づ
く曖昧さをファジイ理論で扱うことができるため、接続
関係または信号の流れがわかり易く、全体的に接続関係
が把握し易い、見易い図を生成することが可能となる。
さらに、ステップ1のファジイ関係を定義するメンバー
シップ関数の定義あるいはステップ2のファジイ集合を
決定するファジイ演算を変更することにより、容易にチ
ューニングできるため、様々な観点から「見やすい」網
図(または回路)を得ることが可能である。また、この
方法により従来の重心法による配置方法と異なり、配置
後の配置修正が不要となり、効率的な処理が可能であ
る。
覚的な評価指標で表わされる配置において、第1のステ
ップでノードがある位置に配置される度合をファジイ集
合を用いて求め、第2のステップでそのファジイ集合か
ら、各位置に配置される度合(グレード)に応じて、各
ノードを配置するという方法を採用することとしたの
で、判断が非常に難しい感覚的な評価指標で表わされる
配置処理において、一度の配置処理だけで、配置修正す
ることなく、的確に配置結果を得るという効果を十分に
期待することができる。詳しく言えば、網図(または回
路)の接続関係から、ステップ1によって「位置yにノ
ードxを配置するときの他のノードとの隣接度」を表す
ファジイ関係を算出し、ステップ2によって「ノードx
が位置yに配置されると見やすい」というファジイ集合
を決定し、ステップ3およびステップ4によってそのフ
ァジイ集合を用いて各ノードの配置を順次決定する。こ
のことによって、「見やすい」という人間の主観に基づ
く曖昧さをファジイ理論で扱うことができるため、接続
関係または信号の流れがわかり易く、全体的に接続関係
が把握し易い、見易い図を生成することが可能となる。
さらに、ステップ1のファジイ関係を定義するメンバー
シップ関数の定義あるいはステップ2のファジイ集合を
決定するファジイ演算を変更することにより、容易にチ
ューニングできるため、様々な観点から「見やすい」網
図(または回路)を得ることが可能である。また、この
方法により従来の重心法による配置方法と異なり、配置
後の配置修正が不要となり、効率的な処理が可能であ
る。
実施例 以下、本発明の一実施例を図面により説明する。
特に、本実施例では、論理回路の接続情報(つまり、
ネットリスト)から論理回路図の自動生成を例に説明す
るが、他の網図についても容易に類推できる。
ネットリスト)から論理回路図の自動生成を例に説明す
るが、他の網図についても容易に類推できる。
第1図は、本発明の一実施例である論理回路図自動生
成システムを示したものである。1は素子(回路部品も
含む。)およびそれらの接続情報を格納するネット情報
ファイル、2は各素子を表わす作図シンボルの形状情報
を格納する形状情報ファイル、3は論理回路図(論理図
ともいう。)の配置や配線に関する作図情報を格納する
論理図情報ファイル、4は各素子の図形情報や機能情報
などを格納したセルライブラリ、5は論理図情報を入力
してディスプレイまたはプロッタ等の作画端末51に論理
回路図を作画する論理図作画部、11〜16は論理回路図の
配置配線処理部である。
成システムを示したものである。1は素子(回路部品も
含む。)およびそれらの接続情報を格納するネット情報
ファイル、2は各素子を表わす作図シンボルの形状情報
を格納する形状情報ファイル、3は論理回路図(論理図
ともいう。)の配置や配線に関する作図情報を格納する
論理図情報ファイル、4は各素子の図形情報や機能情報
などを格納したセルライブラリ、5は論理図情報を入力
してディスプレイまたはプロッタ等の作画端末51に論理
回路図を作画する論理図作画部、11〜16は論理回路図の
配置配線処理部である。
例えば、ネット情報ファイル1は、論理自動合成、あ
るいは回路自動変換システムからの出力である論理回路
のネットリスト(接続情報)等を保持する。ネット情報
ファイル1に保持された情報はこれを用いて論理検証・
タイミング検証や自動レイアウトシステム等にも利用し
得るものである。
るいは回路自動変換システムからの出力である論理回路
のネットリスト(接続情報)等を保持する。ネット情報
ファイル1に保持された情報はこれを用いて論理検証・
タイミング検証や自動レイアウトシステム等にも利用し
得るものである。
素子のレベル付け11は、ネット情報ファイル1に保持
されたネットリストからそのネットリストに含まれる各
素子や回路部品の入力ポート(入力端子)からの論理段
数に基づいて各素子や回路部品のレベルを決定する。
されたネットリストからそのネットリストに含まれる各
素子や回路部品の入力ポート(入力端子)からの論理段
数に基づいて各素子や回路部品のレベルを決定する。
基準レベル位置決定12は、基準レベルにある素子また
は回路部品間のレベル方向に直交する方向の位置関係
(すなわち、レベル方向に直交する方向に素子あるいは
回路部品を並べる順次関係)を決定する。本実施例では
簡単のため最大レベル(つまり、出力ポートのあるレベ
ル)を基準レベルとして説明するが、入力ポートのある
レベル(つまり、0レベル)を基準レベルにしても、あ
るいは、複数のレベルにまたがった素子や回路部品を基
準にしても特に問題はない。
は回路部品間のレベル方向に直交する方向の位置関係
(すなわち、レベル方向に直交する方向に素子あるいは
回路部品を並べる順次関係)を決定する。本実施例では
簡単のため最大レベル(つまり、出力ポートのあるレベ
ル)を基準レベルとして説明するが、入力ポートのある
レベル(つまり、0レベル)を基準レベルにしても、あ
るいは、複数のレベルにまたがった素子や回路部品を基
準にしても特に問題はない。
レベル毎の相対配置13は、基準レベルの要素(つま
り、素子あるいは回路部品)の位置の順序関係を基に、
順次、次レベル(ただし、本実施例では降順で次のレベ
ル)の要素の位置の順序関係を決定していき、論理回路
の全要素に対する位置の順序関係を決定する。
り、素子あるいは回路部品)の位置の順序関係を基に、
順次、次レベル(ただし、本実施例では降順で次のレベ
ル)の要素の位置の順序関係を決定していき、論理回路
の全要素に対する位置の順序関係を決定する。
以上の配置処理11,12,13では、ほとんど配置要素の形
状(つまり、素子や回路部品の作図シンボルの形状)を
考慮していない。したがって、配置処理11,12,13で決定
された各要素のレベルを第1(大局的)座標とし、位置
の順序関係から求まる順序を第2(大局的)座標とする
と、要素の(形状に関係ない)グラフ的配置が決定され
る。
状(つまり、素子や回路部品の作図シンボルの形状)を
考慮していない。したがって、配置処理11,12,13で決定
された各要素のレベルを第1(大局的)座標とし、位置
の順序関係から求まる順序を第2(大局的)座標とする
と、要素の(形状に関係ない)グラフ的配置が決定され
る。
なお、本例ではレベル毎の位置の順序関係をレベルの
降順で決定しているが、基準レベルを0レベルとする場
合はレベルの昇順で決定し、その他の場合には、レベル
の昇順、降順の両方向へ決定していかなければならな
い。
降順で決定しているが、基準レベルを0レベルとする場
合はレベルの昇順で決定し、その他の場合には、レベル
の昇順、降順の両方向へ決定していかなければならな
い。
一方、形状情報ファイル2は、論理図に表われる作図
シンボルの形状に関する情報を保持する。例えば、形状
情報ファイル2に保持される形状情報の一例を第2図に
示す。この例では、インバータ、2入力andゲート、3
入力andゲートの作図シンボルの大きさ(つまりsiz
e),入力ピンの位置(つまりin(i),in(ia))およ
び出力ピンの位置(つまりout(o))を各シンボルの
基準点からの相対座標で表している。ただし、大きさは
そのシンボルに外接する矩形の頂点の最小座標と最大座
標の対で示している。
シンボルの形状に関する情報を保持する。例えば、形状
情報ファイル2に保持される形状情報の一例を第2図に
示す。この例では、インバータ、2入力andゲート、3
入力andゲートの作図シンボルの大きさ(つまりsiz
e),入力ピンの位置(つまりin(i),in(ia))およ
び出力ピンの位置(つまりout(o))を各シンボルの
基準点からの相対座標で表している。ただし、大きさは
そのシンボルに外接する矩形の頂点の最小座標と最大座
標の対で示している。
素子配置の微調整14は、上記処理11〜13で決定された
各配置要素の第1座標と第2座標とで各配置要素の大ま
かな配置を決定し、各配置要素の形状情報を用いて配線
の折れ曲りや交叉が少なくなるように各要素への信号線
をどのピンに接続するかを決めるピンへの信号割り付け
や各配置要素の向き、および各配置要素の詳細な座標等
を決定する。したがって、処理14では各処理要素の向き
(ミラー反転も含む)、ピンの位置および大きさを考慮
した物理的な配置を行い、図面上での配置要素の配置が
決定される。
各配置要素の第1座標と第2座標とで各配置要素の大ま
かな配置を決定し、各配置要素の形状情報を用いて配線
の折れ曲りや交叉が少なくなるように各要素への信号線
をどのピンに接続するかを決めるピンへの信号割り付け
や各配置要素の向き、および各配置要素の詳細な座標等
を決定する。したがって、処理14では各処理要素の向き
(ミラー反転も含む)、ピンの位置および大きさを考慮
した物理的な配置を行い、図面上での配置要素の配置が
決定される。
レベル毎の配線15は、上記配置処理で決定された配置
要素間の接続信号をレベル毎に順次配線し、全配置要素
間の配線を決定する。ただし、本実施例では、出力ポー
ト側からレベル毎に降順で順次配線する場合についての
み説明するが、他の場合も容易に類推できる。なお、配
線の座標は処理11〜13で決定した大局的座標と処理14の
詳細な座標である局所的座標とで表現する。
要素間の接続信号をレベル毎に順次配線し、全配置要素
間の配線を決定する。ただし、本実施例では、出力ポー
ト側からレベル毎に降順で順次配線する場合についての
み説明するが、他の場合も容易に類推できる。なお、配
線の座標は処理11〜13で決定した大局的座標と処理14の
詳細な座標である局所的座標とで表現する。
絶対座標の決定16は、以上の処理で求まった各配置要
素の配置位置および配線位置を表す大局的座標と局所的
座標とから論理回路図全体の配置・配線の絶対座標を決
定して、論理図情報ファイル3に入力する。
素の配置位置および配線位置を表す大局的座標と局所的
座標とから論理回路図全体の配置・配線の絶対座標を決
定して、論理図情報ファイル3に入力する。
例えば、ネット情報ファイルに保持されるネットリス
トの一例を第3図に示す。この例はdevlという素子のセ
ル名がinv00であり、入力信号がk1、出力信号がnet1で
ある等を表している。このとき、予め第2図の形状情報
を形状情報ファイル2に保持しておき、第3図の例を入
力して、処理11〜16を実行したとき、論理図情報ファイ
ル3に保持される論理図情報の一例を第4図に示す。第
4図の例では、セル名がinv00である素子dev1の基準点
の位置が座標(12,13)であり、その回転度が0でミラ
ー反転していない等の配置情報、および信号名net1の信
号線の端点の座標が(17,13)と(25,18)であり、座標
(17,13),(21,13),(21,18)および(25,18)で結
ばれる配線情報を表している。
トの一例を第3図に示す。この例はdevlという素子のセ
ル名がinv00であり、入力信号がk1、出力信号がnet1で
ある等を表している。このとき、予め第2図の形状情報
を形状情報ファイル2に保持しておき、第3図の例を入
力して、処理11〜16を実行したとき、論理図情報ファイ
ル3に保持される論理図情報の一例を第4図に示す。第
4図の例では、セル名がinv00である素子dev1の基準点
の位置が座標(12,13)であり、その回転度が0でミラ
ー反転していない等の配置情報、および信号名net1の信
号線の端点の座標が(17,13)と(25,18)であり、座標
(17,13),(21,13),(21,18)および(25,18)で結
ばれる配線情報を表している。
また、第4図の例の論理図情報を論理図作画部5に入
力すると、作画端末(つまり、ディスプレイ,プロッタ
等)51に第5図に示すような論理図が出力される。
力すると、作画端末(つまり、ディスプレイ,プロッタ
等)51に第5図に示すような論理図が出力される。
なお、論理図作画部5は、通常、論理図入力編集シス
テム(スケマティック・エディター)であり、セルライ
ブラリ4、作画端末51はその論理図入力編集システムに
備わったものである。この際、形状情報ファイル2に保
持されている情報とセルライブラリ4の内容との整合性
をとる必要がある。
テム(スケマティック・エディター)であり、セルライ
ブラリ4、作画端末51はその論理図入力編集システムに
備わったものである。この際、形状情報ファイル2に保
持されている情報とセルライブラリ4の内容との整合性
をとる必要がある。
以下、配置・配線処理11〜16について詳細に説明す
る。
る。
前記素子のレベル付け11について詳細に説明する。
第6図は、前記素子のレベル付け11の詳細な処理手順
の一例を示す流れ図である。61は0レベルを設定する処
理であり、本実施例では入力ポートを全て0レベルにす
る。ただし、入力ポートが存在しない回路に対しては、
入力のない、素子や回路部品を0レベルに設定すること
もあり得る。
の一例を示す流れ図である。61は0レベルを設定する処
理であり、本実施例では入力ポートを全て0レベルにす
る。ただし、入力ポートが存在しない回路に対しては、
入力のない、素子や回路部品を0レベルに設定すること
もあり得る。
ループの検出62は、ネットリストからその回路中のル
ープを検出して、ループ情報を作成する処理である。例
えば、第7図に示す網図の例に対しては、A→B→H→
F→D→A,A→C→E→F→D→A,H→F→D→G→I→
Hの3つのループを検出し、ループ情報を作成する。
ープを検出して、ループ情報を作成する処理である。例
えば、第7図に示す網図の例に対しては、A→B→H→
F→D→A,A→C→E→F→D→A,H→F→D→G→I→
Hの3つのループを検出し、ループ情報を作成する。
なお、第7図は網図の例であるが、論理回路図の素子
をノード,信号線をアークと見なすと、論理回路図も網
図の一種であると考えられる。また、本例では全てのル
ープを検出しているが、必ずしも全てのループを検出す
る必要はない。
をノード,信号線をアークと見なすと、論理回路図も網
図の一種であると考えられる。また、本例では全てのル
ープを検出しているが、必ずしも全てのループを検出す
る必要はない。
ラッチの認識63は、ループの検出62で検出されたルー
プのうちラッチ構造のものを認識するものである。つま
り、前記ループのうち2つのノード(素子)から構成さ
れているものを求め、ループ情報からそのループを除去
した後、そのループに含まれるノード対(つまり、ラッ
チ対)のレベルを同レベルとして以後の処理を行う。た
だし、1つのノードが複数のラッチ対に含まれている場
合には、それらの対への入力アーク数の少ない方を優先
するようにラッチ対を選ぶ方法などが考えられる。
プのうちラッチ構造のものを認識するものである。つま
り、前記ループのうち2つのノード(素子)から構成さ
れているものを求め、ループ情報からそのループを除去
した後、そのループに含まれるノード対(つまり、ラッ
チ対)のレベルを同レベルとして以後の処理を行う。た
だし、1つのノードが複数のラッチ対に含まれている場
合には、それらの対への入力アーク数の少ない方を優先
するようにラッチ対を選ぶ方法などが考えられる。
論理段数によるレベル付け64は、そのノード(素子)
の入力に接続する全てのノード(素子)がレベル付けさ
れており、それらのレベルの最大値がLであるならば、
そのノード(素子)のレベルをL+1にするという方法
で、順次各ノード(素子)のレベル付けを行う。
の入力に接続する全てのノード(素子)がレベル付けさ
れており、それらのレベルの最大値がLであるならば、
そのノード(素子)のレベルをL+1にするという方法
で、順次各ノード(素子)のレベル付けを行う。
なお、ラッチ対に対しては、簡単な方法として1つの
ノード(素子)であるかのように処理する方法等があ
る。
ノード(素子)であるかのように処理する方法等があ
る。
判定処理65は、全てのノード(素子)に対してレベル
付けが完了したかどうかを判定する処理であり、完了し
たならば最大レベルの設定72の処理を実行し、まだ完了
していなければ、判定処理66を実行する。
付けが完了したかどうかを判定する処理であり、完了し
たならば最大レベルの設定72の処理を実行し、まだ完了
していなければ、判定処理66を実行する。
なお、本実施例では、処理64,65は出力ポートを除い
た全てのノード(素子)に対して適用する。
た全てのノード(素子)に対して適用する。
判定処理66は、ループ情報が空かどうかを判定する処
理であり、空であるならばループに対する処理が完了し
ているので処理70を実行し、空でないならばループに対
する処理が未完了であるので処理68を実行する。ただ
し、ループ情報が空とは、ループ情報としてループが全
く登録されていないことを意味する。
理であり、空であるならばループに対する処理が完了し
ているので処理70を実行し、空でないならばループに対
する処理が未完了であるので処理68を実行する。ただ
し、ループ情報が空とは、ループ情報としてループが全
く登録されていないことを意味する。
処理67は、前記ループ情報から複数のループが最も多
く重複する箇所(つまり、アーク)を検出する。
く重複する箇所(つまり、アーク)を検出する。
例えば、第7図の例では、アークD→AとH→Fの重
複度が2で、アークF→Dの重複度が3であるため、最
も多く重複する箇所は、アークF→Dとなる。本例で
は、最大重複箇所が一つであるが、複数ある場合は、全
て求める。
複度が2で、アークF→Dの重複度が3であるため、最
も多く重複する箇所は、アークF→Dとなる。本例で
は、最大重複箇所が一つであるが、複数ある場合は、全
て求める。
処理68は、処理67で検出された最大重複箇所(つま
り、アーク)のうちからフィードバック・アークにする
アークを決定する。つまり、フィードバック・アークを
入力にもつノード(素子)を決定すると共に、前記ルー
プ情報からそのノードを含むループを全て除去する。
り、アーク)のうちからフィードバック・アークにする
アークを決定する。つまり、フィードバック・アークを
入力にもつノード(素子)を決定すると共に、前記ルー
プ情報からそのノードを含むループを全て除去する。
例えば、第7図の例では、アークF→Dがフィードバ
ック・アークとなり、ノードDが求めるノードとなる。
ック・アークとなり、ノードDが求めるノードとなる。
また、最大重複箇所が複数存在する場合には、本実施
例では、そのアークを入力とするノードへの入力アーク
の始点ノードのうち、(1)レベルの未決定ノードの少
ないもの、(2)レベル付けされたノードの個数が多い
もの、または、(3)レベル付けされたノードの最大レ
ベルが小さいものを順に優先して選ぶという方法で、フ
ィードバック・アークの入力先となるノードを決定す
る。ただし、前記優先規則(1),(2),(3)の適
用に関して様々な組み合せが考えられる。
例では、そのアークを入力とするノードへの入力アーク
の始点ノードのうち、(1)レベルの未決定ノードの少
ないもの、(2)レベル付けされたノードの個数が多い
もの、または、(3)レベル付けされたノードの最大レ
ベルが小さいものを順に優先して選ぶという方法で、フ
ィードバック・アークの入力先となるノードを決定す
る。ただし、前記優先規則(1),(2),(3)の適
用に関して様々な組み合せが考えられる。
なお、本実施例では、アークの重複の最大の場合を考
慮したが、ノードの重複の最大の場合も容易に類推でき
る。
慮したが、ノードの重複の最大の場合も容易に類推でき
る。
処理69は、処理68で求まったノード(つまり、フィー
ドバック・アークの入力先のノード)のレベル付けを行
う。レベル付けの方法としては、そのノードへの入力ア
ークの始点ノードのうち、既にレベル付けされたノード
の最大レベルがMであるとき、M+1をそのノードのレ
ベルとする。本処理でループ中の少なくとも1つのノー
ドのレベル付けを行った後、処理64を再度実行する。
ドバック・アークの入力先のノード)のレベル付けを行
う。レベル付けの方法としては、そのノードへの入力ア
ークの始点ノードのうち、既にレベル付けされたノード
の最大レベルがMであるとき、M+1をそのノードのレ
ベルとする。本処理でループ中の少なくとも1つのノー
ドのレベル付けを行った後、処理64を再度実行する。
なお、処理68で求まったノードへの入力アークの始点
ノードのいずれもがレベル付けされていない場合には、
後述する処理71と同様の方法で、そのノードのレベル付
けを行う。
ノードのいずれもがレベル付けされていない場合には、
後述する処理71と同様の方法で、そのノードのレベル付
けを行う。
処理70は、上記処理64〜69において、レベル付けされ
なかったノードから、次にレベル付けすべきノードを決
定する。具体的には、入力アークが存在しないノードを
選ぶ。
なかったノードから、次にレベル付けすべきノードを決
定する。具体的には、入力アークが存在しないノードを
選ぶ。
処理71は、処理70で選ばれたノードのレベル付けを行
う。例えば、そのノードの出力方向にノードをたどって
いき、最初に到達したレベル付けされたノードからの入
力アークをもつノードのレベルから逆算してレベルを決
定したり、あるいは、そのノードのレベルを1または0
とする。
う。例えば、そのノードの出力方向にノードをたどって
いき、最初に到達したレベル付けされたノードからの入
力アークをもつノードのレベルから逆算してレベルを決
定したり、あるいは、そのノードのレベルを1または0
とする。
処理71によって、少なくとも1個のノードのレベル付
けをした後、処理64を最実行する。
けをした後、処理64を最実行する。
最後に、最大レベルの設定72において、レベル付けさ
れたノードの最大レベルをNとすると、全ての出力ポー
トをレベルをN+1レベルとし、処理を終了する。
れたノードの最大レベルをNとすると、全ての出力ポー
トをレベルをN+1レベルとし、処理を終了する。
なお、処理64〜71において、簡単のため、ラッチ対は
1個のノードと見なして処理を行ってもよい。
1個のノードと見なして処理を行ってもよい。
本実施例では、第7図の例は第8図のようにレベル付
けされる。つまり、第7図の例では、ループが3個有
り、最悪の場合フィードバック・アークが3個になる
が、第8図ではフィードバック・アークがF→Dの1個
だけで信号が左から右方向へ流れて見易い図となってい
る。
けされる。つまり、第7図の例では、ループが3個有
り、最悪の場合フィードバック・アークが3個になる
が、第8図ではフィードバック・アークがF→Dの1個
だけで信号が左から右方向へ流れて見易い図となってい
る。
なお、第6図の例ではループ検出62、あるいはラッチ
認識63を別ステップにしているが同じステップで処理し
てもよいし、また、最初に一括して処理しているが、処
理66の前、または処理67の前に挿入しても特に問題はな
い。
認識63を別ステップにしているが同じステップで処理し
てもよいし、また、最初に一括して処理しているが、処
理66の前、または処理67の前に挿入しても特に問題はな
い。
前記基準レベル位置決定12について具体的に説明す
る。
る。
第9図は、前記基準レベル位置決定12の詳細な処理手
順の一例を示す流れ図である。
順の一例を示す流れ図である。
処理101は、基準レベルのノード(本実施例では、出
力ポート)の2つずつの対を重複なく設定する。
力ポート)の2つずつの対を重複なく設定する。
処理102は、処理101で設定された対に対して、その対
の共通祖先を次の方法で検出し、その共通祖先と対との
レベル差(世代差)および親等数を算出する。
の共通祖先を次の方法で検出し、その共通祖先と対との
レベル差(世代差)および親等数を算出する。
共通祖先の検出方法としては、対とのレベル差の小さ
いもの、または、対の2ノードからのアーク数の和の小
さいものを優先して検出する。また、2個のノードの親
等数は、各ノードからそれらの共通祖先までのパスにあ
るアーク数の和の最小値を意味する。
いもの、または、対の2ノードからのアーク数の和の小
さいものを優先して検出する。また、2個のノードの親
等数は、各ノードからそれらの共通祖先までのパスにあ
るアーク数の和の最小値を意味する。
ただし、共通祖先の検出されなかった対に対しては、
共通祖先とのレベル差および親等数を算出せず、次の処
理を行う。
共通祖先とのレベル差および親等数を算出せず、次の処
理を行う。
処理103は、処理101で設定された全ての対に対して処
理102が実行されたかどうかを判定する。全ての対に対
して完了していなければ次の対に対して処理102を実行
し、完了していれば処理104を実行する。
理102が実行されたかどうかを判定する。全ての対に対
して完了していなければ次の対に対して処理102を実行
し、完了していれば処理104を実行する。
処理104は、処理102で算出した各対の共通祖先とのレ
ベル差と親等数に基づいて、対間の優先順位を決定す
る。具体的には、共通祖先とのレベル差の小さいものほ
ど優先し、さらに親等数の小さいものほど優先する。
ベル差と親等数に基づいて、対間の優先順位を決定す
る。具体的には、共通祖先とのレベル差の小さいものほ
ど優先し、さらに親等数の小さいものほど優先する。
最後に、処理105は、前記処理104で決定された優先順
に従って、優先度の高い対ほどより近い位置関係になる
ように、基準レベルの各ノード間の位置関係を決定し、
処理を終了する。
に従って、優先度の高い対ほどより近い位置関係になる
ように、基準レベルの各ノード間の位置関係を決定し、
処理を終了する。
例えば、第10図の例では、基準レベルのノードはA,B,
C,Dであり、6個の対が設定され、対A−C,B−C,A−B,B
−D,A−D,C−Dの順に優先順位が決定される。これよ
り、対A−CからAの隣りにCを置き、対B−CからC
の隣りにBを置く。次に、Aの隣りにBを置くとループ
となるので、対A−Bは使用せず、対B−DからBの隣
りにDを置く。その結果、第11図のようにA,C,B,Dの順
に位置関係が決定する。また、第11図のACBDの順を逆転
した順DBCAも考えられるが、どちらを採用しても特に問
題ない。実際には他の要因(例えば、出力ポートの信号
の意味など)によって決定される。
C,Dであり、6個の対が設定され、対A−C,B−C,A−B,B
−D,A−D,C−Dの順に優先順位が決定される。これよ
り、対A−CからAの隣りにCを置き、対B−CからC
の隣りにBを置く。次に、Aの隣りにBを置くとループ
となるので、対A−Bは使用せず、対B−DからBの隣
りにDを置く。その結果、第11図のようにA,C,B,Dの順
に位置関係が決定する。また、第11図のACBDの順を逆転
した順DBCAも考えられるが、どちらを採用しても特に問
題ない。実際には他の要因(例えば、出力ポートの信号
の意味など)によって決定される。
なお、本実施例では簡単のため、基準レベルのノード
を出力ポートのみとしたが、出力ポート以外の素子また
は回路部品を含むノード間の位置関係を決定する場合も
容易に類推できる。
を出力ポートのみとしたが、出力ポート以外の素子また
は回路部品を含むノード間の位置関係を決定する場合も
容易に類推できる。
以上の例では、共通祖先とのレベル差を親等数よりも
優先しているが、逆の場合も容易に類推できるので説明
を省略する。
優先しているが、逆の場合も容易に類推できるので説明
を省略する。
本発明の網図の配置方法について、第12図を用いて説
明する。
明する。
第12図は、前記レベル毎の相対配置13の詳細な処理手
順の一例を示す流れ図である。まず、各処理を具体的に
説明する前に、各処理で使用する位置関係情報のデータ
構造について説明する。
順の一例を示す流れ図である。まず、各処理を具体的に
説明する前に、各処理で使用する位置関係情報のデータ
構造について説明する。
第13図は、各ノードの位置関係を表す情報のデータ構
造である。図のデータ構造は、複数のノードリスト151
を、リスト間の順序関係を表すセル150で結ぶ構造とな
っている。また、セル150は、リスト間の順序を表すポ
インター153とノードのリストを指すポインターから構
成されている。さらに、ノードリストを構成するセル15
4はノード名またはノードを指すポインター155と残りの
リストを指すポインター156とから成る。
造である。図のデータ構造は、複数のノードリスト151
を、リスト間の順序関係を表すセル150で結ぶ構造とな
っている。また、セル150は、リスト間の順序を表すポ
インター153とノードのリストを指すポインターから構
成されている。さらに、ノードリストを構成するセル15
4はノード名またはノードを指すポインター155と残りの
リストを指すポインター156とから成る。
以下、第13図のデータ構造を用いて各処理を説明す
る。
る。
最大レベルノードの設定141は、前記基準レベル位置
決定で決定された基準レベルのノード(つまり、出力ポ
ート)の位置関係を、その位置関係を保つように第13図
のデータ構造における各ノードリストの先頭に格納す
る。例えば、第11図の例では第14図のような形で位置関
係情報が格納される。
決定で決定された基準レベルのノード(つまり、出力ポ
ート)の位置関係を、その位置関係を保つように第13図
のデータ構造における各ノードリストの先頭に格納す
る。例えば、第11図の例では第14図のような形で位置関
係情報が格納される。
また、処理142は、レベルカウンターLに最大レベル
(つまり、出力ポートのレベル)をセットする。
(つまり、出力ポートのレベル)をセットする。
次に、処理143は、相対配置の対象となる、あるい
は、相対配置処理で用いる、レベルLに対するノード集
合を求めるステップである。具体的には第13図の位置関
係情報における各ノードリストの最後のノード(図中、
右端に格納されているノード)のうちで、レベルがLレ
ベル以上の全てのノードから成る集合(相対位置既決定
集合と呼ぶ。)を求め、さらに前記ネットリストの接続
関係に従って相対位置既決定集合のノードへの入力アー
クを出力する全てのノードを集めた集合とL−1レベル
のノードの集合との和集合(相対位置未決定集合と呼
ぶ。)を求める。この相対位置既決定集合と相対位置未
決定集合とを、次処理144で利用する。
は、相対配置処理で用いる、レベルLに対するノード集
合を求めるステップである。具体的には第13図の位置関
係情報における各ノードリストの最後のノード(図中、
右端に格納されているノード)のうちで、レベルがLレ
ベル以上の全てのノードから成る集合(相対位置既決定
集合と呼ぶ。)を求め、さらに前記ネットリストの接続
関係に従って相対位置既決定集合のノードへの入力アー
クを出力する全てのノードを集めた集合とL−1レベル
のノードの集合との和集合(相対位置未決定集合と呼
ぶ。)を求める。この相対位置既決定集合と相対位置未
決定集合とを、次処理144で利用する。
処理144は、前処理143で求められたノード集合におい
て、相対位置既決定集合に含まれるノードが位置する相
対位置、すなわち既存の相対位置に、相対位置未決定集
合に含まれるノードが配置される度合を、ファジイ集合
輪を用いて求めるステップである。例えば、この処理で
設定するファジイ集合は、あるノードがある相対位置に
配置されるときの見やすさを表すファジイ集合でもよ
い。その際、既存の相対位置に、相対位置未決定集合に
含まれるノードが配置される度合は、要素[ノード,相
対位置]が見やすさを表すファジイ集合に含まれる度合
(グレード)で表される。処理144の詳細の説明は後述
する。
て、相対位置既決定集合に含まれるノードが位置する相
対位置、すなわち既存の相対位置に、相対位置未決定集
合に含まれるノードが配置される度合を、ファジイ集合
輪を用いて求めるステップである。例えば、この処理で
設定するファジイ集合は、あるノードがある相対位置に
配置されるときの見やすさを表すファジイ集合でもよ
い。その際、既存の相対位置に、相対位置未決定集合に
含まれるノードが配置される度合は、要素[ノード,相
対位置]が見やすさを表すファジイ集合に含まれる度合
(グレード)で表される。処理144の詳細の説明は後述
する。
処理145は、前処理144において求められたファジイ集
合から、各相対位置に配置される度合(グレード)に応
じて、相対位置未決定集合に含まれるノードを配置する
処理である。処理145の詳細の説明は後述する。
合から、各相対位置に配置される度合(グレード)に応
じて、相対位置未決定集合に含まれるノードを配置する
処理である。処理145の詳細の説明は後述する。
処理146は、L−1レベルに対して同様の処理を行う
ために、レベルカウンターLから1を減じる処理であ
る。
ために、レベルカウンターLから1を減じる処理であ
る。
判定処理147は、レベルカウンターLが0かどうか判
定し、0ならば、処理148を実行し、0でなければ次レ
ベルに対して処理143〜145を繰り返し実行する。
定し、0ならば、処理148を実行し、0でなければ次レ
ベルに対して処理143〜145を繰り返し実行する。
最後に、処理148は第13図のようなデータ構造に格納
された位置関係情報から各ノードに対して、レベルと垂
直方向の座標を決定する。例えば、第25図の例では、A
とcの座標が1、Bとaの座標が2、dの座標が3、C
とbの座標が4となる。
された位置関係情報から各ノードに対して、レベルと垂
直方向の座標を決定する。例えば、第25図の例では、A
とcの座標が1、Bとaの座標が2、dの座標が3、C
とbの座標が4となる。
前記ファジイ集合算出処理144について第15図を用い
て詳細に説明する。
て詳細に説明する。
第15図は、ファジイ集合を、ノードを相対位置に配置
したときの見やすさを表す集合として設定した場合の、
ファジイ集合算出処理144の詳細な処理手順の一例を示
す流れ図である。
したときの見やすさを表す集合として設定した場合の、
ファジイ集合算出処理144の詳細な処理手順の一例を示
す流れ図である。
処理371は、前処理143で求められたノード集合におい
て、相対位置決定集合に含まれるノードと、その出力ア
ークを入力とする相対位置既決定集合に含まれるノード
とのファジイ関係を求めるステップである。ファジイ集
合、およびファジイ関係に関しては、水本雅晴著、「フ
ァジイ理論とその応用」,サイエンス社(1988)などに
説明があるので割愛する。例えば、上記ファジイ関係
は、2つのノード間の隣接度を表す関係として設定でき
る。
て、相対位置決定集合に含まれるノードと、その出力ア
ークを入力とする相対位置既決定集合に含まれるノード
とのファジイ関係を求めるステップである。ファジイ集
合、およびファジイ関係に関しては、水本雅晴著、「フ
ァジイ理論とその応用」,サイエンス社(1988)などに
説明があるので割愛する。例えば、上記ファジイ関係
は、2つのノード間の隣接度を表す関係として設定でき
る。
ノードx1を相対位置yに配置するときの、ノードx2と
の隣接度を、2つのノード間のレベル差と相対位置差の
関数を用いて表している、ファジイ関係のメンバーシッ
プ関数の一例μyを示す。
の隣接度を、2つのノード間のレベル差と相対位置差の
関数を用いて表している、ファジイ関係のメンバーシッ
プ関数の一例μyを示す。
μy(x1,x2)=f(|l(x1)−l(x2)|,|y−o(x2)|) ・・・・・(1) ここで、l(x)はxのレベル、o(x)はxが存在
する相対位置、f()はレベル差と相対位置差の関数、
|a|はaの絶対値である。
する相対位置、f()はレベル差と相対位置差の関数、
|a|はaの絶対値である。
例えば、第16図に示す、相対位置既決定集合と相対位
置未決定集合とが求められたグラフの一例に対して、処
理371を、ファジイ関係のメンバーシップ関数μyを用
いて実行する。
置未決定集合とが求められたグラフの一例に対して、処
理371を、ファジイ関係のメンバーシップ関数μyを用
いて実行する。
このとき、ノードxの、ノードu1に対する隣接度を表
すファジイ関係のグレードμy(x,u1)は、ノードxが
位置y1、y2、y3に位置すると考えたとき、それぞれ第17
図に示すグラフで表されるような値をとる。u2に関して
も同様である。
すファジイ関係のグレードμy(x,u1)は、ノードxが
位置y1、y2、y3に位置すると考えたとき、それぞれ第17
図に示すグラフで表されるような値をとる。u2に関して
も同様である。
このメンバーシップ関数は適当に設定することができ
るので、2つのノード間の関係は、設定するメンバーシ
ップ関数によって、さまざまな値(グレード)で表され
る。
るので、2つのノード間の関係は、設定するメンバーシ
ップ関数によって、さまざまな値(グレード)で表され
る。
さらに、処理372は、処理371で求められたファジイ関
係から、相対位置未決定集合に含まれるノードについ
て、そのノードがそれぞれの相対位置に配置される度合
を表すファジイ集合を求めるステップである。具体的に
は、処理372で用いるファジイ集合のメンバーシップ関
数を、処理371で用いたファジイ関係のメンバーシップ
関数を用いた演算で設定する。
係から、相対位置未決定集合に含まれるノードについ
て、そのノードがそれぞれの相対位置に配置される度合
を表すファジイ集合を求めるステップである。具体的に
は、処理372で用いるファジイ集合のメンバーシップ関
数を、処理371で用いたファジイ関係のメンバーシップ
関数を用いた演算で設定する。
例えば、ファジイ集合を、ノードを相対位置に配置し
たときの見やすさを表す集合として設定した場合の、ノ
ードxを相対位置yに配置するときの見やすさを表すフ
ァジイ集合のメンバーシップ関数の一例μAを示す。
たときの見やすさを表す集合として設定した場合の、ノ
ードxを相対位置yに配置するときの見やすさを表すフ
ァジイ集合のメンバーシップ関数の一例μAを示す。
μA((x,y))={2・μA1((x,y))+μA2((x,y))}/3 ・・・・・(2) ここで、 μA1((x,y))=maxu{μy(x,u)δ(y−o(u))}・・・・・(3) μA2((x,y))=Σuμy(x,u)/|U(x)| ・・・・・(4) である。ただし、δ(x)はデルタ関数、o(x)はx
が存在する相対位置、|集合|は集合に含まれる要素
数、U(x)はxとアーク関係にある、相対位置既決定
集合に属するノードの集合である。またmaxu、Σuは、
それぞれ、uを変化させていったときの最大値、および
総和を表す。
が存在する相対位置、|集合|は集合に含まれる要素
数、U(x)はxとアーク関係にある、相対位置既決定
集合に属するノードの集合である。またmaxu、Σuは、
それぞれ、uを変化させていったときの最大値、および
総和を表す。
式μA1は、位置yに、xの出力アークを入力とする相
対位置既決定集合に属するノードuが存在するとき正の
値をとり、式μA2は、xの出力アークを入力とする相対
位置既決定集合に属する各ノードuとの隣接度μyの和
が最も大きい位置yで、最大値をとる。すなわち、式μ
A1はノード配置の直線性、また式μA2は、ノード配置の
平衡性を表していると言える。このように、様々な見や
すさを、前処理371で求めるノードの隣接度μyを用い
た式で表し、必要であればそれらの演算の形で、メンバ
ーシップ関数μAを設定する。
対位置既決定集合に属するノードuが存在するとき正の
値をとり、式μA2は、xの出力アークを入力とする相対
位置既決定集合に属する各ノードuとの隣接度μyの和
が最も大きい位置yで、最大値をとる。すなわち、式μ
A1はノード配置の直線性、また式μA2は、ノード配置の
平衡性を表していると言える。このように、様々な見や
すさを、前処理371で求めるノードの隣接度μyを用い
た式で表し、必要であればそれらの演算の形で、メンバ
ーシップ関数μAを設定する。
例えば、第17図に示すように処理371によって隣接度
を表すファジイ関係が求められたグラフの一例に対し
て、上式μAを用いて処理372を実行する。
を表すファジイ関係が求められたグラフの一例に対し
て、上式μAを用いて処理372を実行する。
このとき、ノードxの、相対位置y1についてのグレー
ドμA((x,y1))は、それぞれ次のように求まる。
ドμA((x,y1))は、それぞれ次のように求まる。
μA((x,y3))={2・0.9+((0.9+0.3)/2)}/3=0.800 μA((x,y2))={0+((0.7+0.6)/2)}/3=0.217 μA((x,y1))={2・0.8+(0.4+0.8)/2)}/3=0.733 この例では、ノードxが相対位置y3に位置するとき
に、最も見やすさの度合が大きくなる。
に、最も見やすさの度合が大きくなる。
このファジイ集合のメンバーシップ関数は、容易に設
定変更が行える。最も簡単な方法は、例えば、上式
(2)のμAにおいては、式μA1、および式μA2の比重
の変更である。
定変更が行える。最も簡単な方法は、例えば、上式
(2)のμAにおいては、式μA1、および式μA2の比重
の変更である。
前記配置処理145について第18図を用いて詳細に説明
する。
する。
第18図は、前記処理145の詳細な処理手順の一例を示
す流れ図である。
す流れ図である。
処理301は、前処理144を実行した結果得られるファジ
イ集合から、前処理143で求められたノード集合におい
て、相対位置既決定集合に含まれるノードが位置する相
対位置、すなわち既存の相対位置に、相対位置未決定集
合に含まれるノードを配置するステップである。既存の
相対位置へのノードの配置は、それぞれ異なるノードと
その配置されるそれぞれ異なる相対位置の組、すなわち
要素[ノード,相対位置]のもつグレードの総和が最大
となるように行なう。
イ集合から、前処理143で求められたノード集合におい
て、相対位置既決定集合に含まれるノードが位置する相
対位置、すなわち既存の相対位置に、相対位置未決定集
合に含まれるノードを配置するステップである。既存の
相対位置へのノードの配置は、それぞれ異なるノードと
その配置されるそれぞれ異なる相対位置の組、すなわち
要素[ノード,相対位置]のもつグレードの総和が最大
となるように行なう。
例えば、第19図の例では、処理144の実行の結果、ノ
ードa,b,c,dそれぞれについて、相対位置y1,y2,y3に配
置される度合(グレード)が、第20図に示すように求ま
っているとする。これらのグレードが大きい順に、相対
位置y1およびy2、すなわちノードAおよびBと同じ相対
位置には、ノードcが優先的に配置可能、また、相対位
置y3、すなわちノードCと同じ相対位置には、ノードb
(またはd)が優先的に配置可能となる。このとき、ノ
ードcが優先的に配置可能な2つの相対位置のうちどち
らか一方には、他のノードが配置可能となる。ここで、
第21図に示すような配置を行った場合の要素(y1,a),
(y2,c),(y3,b)のグレードの和は2.29、また、第22
図に示すような配置を行った場合の要素(y1,c),
(y2,a),(y3,b)のグレードの和は2.33で、最大とな
る。そこで、ノードa,b,cはそれぞれ相対位置y2,y3,y1
に配置され、位置関係情報は第23図のようになる。この
際、各相対位置への配置の対象となるノードは、処理14
4で求められたファジイ集合の要素[ノード,相対位
置]のうちある値以上(例えば0.5以上)のグレードを
もつものに限定することも可能である。
ードa,b,c,dそれぞれについて、相対位置y1,y2,y3に配
置される度合(グレード)が、第20図に示すように求ま
っているとする。これらのグレードが大きい順に、相対
位置y1およびy2、すなわちノードAおよびBと同じ相対
位置には、ノードcが優先的に配置可能、また、相対位
置y3、すなわちノードCと同じ相対位置には、ノードb
(またはd)が優先的に配置可能となる。このとき、ノ
ードcが優先的に配置可能な2つの相対位置のうちどち
らか一方には、他のノードが配置可能となる。ここで、
第21図に示すような配置を行った場合の要素(y1,a),
(y2,c),(y3,b)のグレードの和は2.29、また、第22
図に示すような配置を行った場合の要素(y1,c),
(y2,a),(y3,b)のグレードの和は2.33で、最大とな
る。そこで、ノードa,b,cはそれぞれ相対位置y2,y3,y1
に配置され、位置関係情報は第23図のようになる。この
際、各相対位置への配置の対象となるノードは、処理14
4で求められたファジイ集合の要素[ノード,相対位
置]のうちある値以上(例えば0.5以上)のグレードを
もつものに限定することも可能である。
次に、処理302は、前記相対位置未決定集合から前処
理301により相対位置の決定したノードを除いた集合の
うちレベルがL−1であるノードの相対位置を、そのノ
ードが各相対位置に配置される度合を用いて決定するス
テップである。具体的には、求められた、各相対位置に
配置される度合(グレード)と各相対位置との積の重心
または重心近くの位置に相対位置未決定のノードを埋め
込む。ノードxの埋め込み位置算出の一例としてplace
(x)を示す。
理301により相対位置の決定したノードを除いた集合の
うちレベルがL−1であるノードの相対位置を、そのノ
ードが各相対位置に配置される度合を用いて決定するス
テップである。具体的には、求められた、各相対位置に
配置される度合(グレード)と各相対位置との積の重心
または重心近くの位置に相対位置未決定のノードを埋め
込む。ノードxの埋め込み位置算出の一例としてplace
(x)を示す。
place(x)=Σyy・μA((x,y))/ΣyμA((x,y)) ここで、グレードμA((x,y))は、前処理144で算
出したものを用いてもよいし、新たに、埋め込むノード
の入力アークを出力とするノードとのファジイ関係も考
慮にいれて求めなおしてもよい。
出したものを用いてもよいし、新たに、埋め込むノード
の入力アークを出力とするノードとのファジイ関係も考
慮にいれて求めなおしてもよい。
例えば、処理144において、ファジイ集合を、ノード
を相対位置に配置したときの見やすさを表す集合として
設定した場合、埋め込むノードと相対位置未決定のノー
ドとの隣接度、およびそれを用いた見やすさの度合は、
前記隣接度を表すファジイ関係の算出371、および各相
対位置に配置するときの見やすさを表すファジイ集合の
算出372を拡張することにより求められる。具体的に
は、相対位置未決定のノードは、各相対位置に対する見
やすさの度合(グレード)が最も大きい相対位置に位置
しているとする。すなわちその位置を上記式(1)にお
けるo(x2)として、埋め込むノードとの隣接度を計算
し、その値と上記グレードとの積を、埋め込むノードと
相対位置未決定のノードとの隣接度とする。また、見や
すさの度合を求める際にも、上記式(3)におけるo
(u)をノードuが存在しそうな相対位置と考える。こ
こで、相対位置未決定ノードのグレードは、前記処理37
1、あるいは前記処理371を拡張した処理、また、前記処
理372、あるいは前記処理372を拡張した処理によって求
められるものを用いることができる。
を相対位置に配置したときの見やすさを表す集合として
設定した場合、埋め込むノードと相対位置未決定のノー
ドとの隣接度、およびそれを用いた見やすさの度合は、
前記隣接度を表すファジイ関係の算出371、および各相
対位置に配置するときの見やすさを表すファジイ集合の
算出372を拡張することにより求められる。具体的に
は、相対位置未決定のノードは、各相対位置に対する見
やすさの度合(グレード)が最も大きい相対位置に位置
しているとする。すなわちその位置を上記式(1)にお
けるo(x2)として、埋め込むノードとの隣接度を計算
し、その値と上記グレードとの積を、埋め込むノードと
相対位置未決定のノードとの隣接度とする。また、見や
すさの度合を求める際にも、上記式(3)におけるo
(u)をノードuが存在しそうな相対位置と考える。こ
こで、相対位置未決定ノードのグレードは、前記処理37
1、あるいは前記処理371を拡張した処理、また、前記処
理372、あるいは前記処理372を拡張した処理によって求
められるものを用いることができる。
例えば、第22図の例で、ノードdを埋め込むとき、ノ
ードdのアーク関係、およびその入力アークを出力アー
クとするノードの出力アーク関係が第24図に示されるよ
うになるとする。このとき、まずノードeの各相対位置
に対する見やすさの度合を、その入力アーク関係から求
め、次に、ノードeとのアーク関係も用いて、ノードd
の各相対位置に対する見やすさの度合を求める。このグ
レードを用いて算出した埋め込み位置place(d)は、
相対位置y2とy3の間を指し、ノードdは、ノードaとノ
ードcの間に埋め込まれる。このときの位置関係情報は
第25図のようになる。
ードdのアーク関係、およびその入力アークを出力アー
クとするノードの出力アーク関係が第24図に示されるよ
うになるとする。このとき、まずノードeの各相対位置
に対する見やすさの度合を、その入力アーク関係から求
め、次に、ノードeとのアーク関係も用いて、ノードd
の各相対位置に対する見やすさの度合を求める。このグ
レードを用いて算出した埋め込み位置place(d)は、
相対位置y2とy3の間を指し、ノードdは、ノードaとノ
ードcの間に埋め込まれる。このときの位置関係情報は
第25図のようになる。
なお、本実施例では簡単のため、ステップ301と302を
分けたが、分けずにファジイ集合から、未決定ノードの
相対位置を決定することも可能である。また、ステップ
301と302を分ける場合には、処理302において新しくフ
ァジイ集合を設定し、そのメンバーシップ関数のグレー
ドを用いることも可能であることは容易に類推できる。
分けたが、分けずにファジイ集合から、未決定ノードの
相対位置を決定することも可能である。また、ステップ
301と302を分ける場合には、処理302において新しくフ
ァジイ集合を設定し、そのメンバーシップ関数のグレー
ドを用いることも可能であることは容易に類推できる。
以上の本発明の一実施例の基準レベル位置決定12およ
びレベル毎の相対配置13により、全体的に接続関係が把
握し易い、見易い論理回路図の生成が可能となるため、
本配置後の配置修正が不要であり、処理の効率化が図れ
る。
びレベル毎の相対配置13により、全体的に接続関係が把
握し易い、見易い論理回路図の生成が可能となるため、
本配置後の配置修正が不要であり、処理の効率化が図れ
る。
前記素子配置の微調整14について詳細に説明する。本
処理では、各配置要素の座標(つまりグローバルな座
標)で決まる位置関係と、形状情報ファイル2に格納さ
れた形状情報を用いて、各配置要素(ノード)のピンへ
の信号割り付けや各配置要素の詳細な位置などを決定す
る。ただし、簡単のため、論理回路図の各配置要素が左
から右方向へ向いた場合(つまり、回転度が0の場合)
について説明する。
処理では、各配置要素の座標(つまりグローバルな座
標)で決まる位置関係と、形状情報ファイル2に格納さ
れた形状情報を用いて、各配置要素(ノード)のピンへ
の信号割り付けや各配置要素の詳細な位置などを決定す
る。ただし、簡単のため、論理回路図の各配置要素が左
から右方向へ向いた場合(つまり、回転度が0の場合)
について説明する。
まず、ピンへの信号の割り付け方法について説明す
る。第26図は、配置要素210を中心にして、配置要素210
への入力信号線の始点要素位置を7つの領域に分割した
図である。領域AおよびGは大局的な第1座標(本例で
は横方向の座標)が配置要素210と等しく、領域Dは大
局的な第2座標(本例では縦方向の座標)が配置要素21
0と等しい領域である。
る。第26図は、配置要素210を中心にして、配置要素210
への入力信号線の始点要素位置を7つの領域に分割した
図である。領域AおよびGは大局的な第1座標(本例で
は横方向の座標)が配置要素210と等しく、領域Dは大
局的な第2座標(本例では縦方向の座標)が配置要素21
0と等しい領域である。
第26図のように領域を分割すると各領域の配置要素か
らの信号線の配線パターンが予想される。配線の交叉を
少なくするために、本実施例では、その信号線の始点配
置要素が領域Bよりも領域A、領域Cよりも領域B、領
域Dよりも領域C、領域Eよりも領域D、領域Fよりも
領域E、領域Gよりも領域Fにある信号線を優先して配
置要素210の図面上の上側の入力ピンに割り付ける。
らの信号線の配線パターンが予想される。配線の交叉を
少なくするために、本実施例では、その信号線の始点配
置要素が領域Bよりも領域A、領域Cよりも領域B、領
域Dよりも領域C、領域Eよりも領域D、領域Fよりも
領域E、領域Gよりも領域Fにある信号線を優先して配
置要素210の図面上の上側の入力ピンに割り付ける。
なお、ピンの割り付けは論理的に等価なピンに限って
行われる。また、本例ではピンの割り付けのみを行った
が、配置要素の回転やミラー反転を組み合わすことによ
り、より交叉の少ない配線を行うことが可能である。
行われる。また、本例ではピンの割り付けのみを行った
が、配置要素の回転やミラー反転を組み合わすことによ
り、より交叉の少ない配線を行うことが可能である。
さらに、各領域内でも同様に始点配置要素の位置によ
って予想される配線パターンからピンの割り付けの優先
順位を決定できる。例えば、領域Dでは、始点配置要素
の大局的な第1座標(横方向の座標)の大きいものほ
ど、配置要素210のより上側の入力ピンに割り付ければ
よい。
って予想される配線パターンからピンの割り付けの優先
順位を決定できる。例えば、領域Dでは、始点配置要素
の大局的な第1座標(横方向の座標)の大きいものほ
ど、配置要素210のより上側の入力ピンに割り付ければ
よい。
次に、各配置要素の詳細な座標の決定について説明す
る。
る。
配置要素の形状によって入出力ピンの位置が様々であ
るため、大局的な座標のみで配置した場合、大局的な第
2座標が同じであっても、それらの配置要素間の配線は
必ずしも一直線とはならない。そこで、本実施例では、
配置した際に、大局的な第2座標が同じで、隣り合う配
置要素の一方の出力ピンとその出力ピンと接続する他方
の入力ピンとの位置が同じ第2座標(縦方向の座標)と
なるように、(つまり、それらの間の配線が一直線にな
るように)各配置要素の局所的な第2座標を決定する。
例えば、第27図に示すように、大局的座標のみで配置す
ると、入力ピンと出力ピンの位置がずれるため配線が折
れ曲がる。そこで、局所的な座標を入力ピンと出力ピン
の位置がずれないように設定し、局所的な座標も考慮に
いれて配置すると、見易い図がえられる。
るため、大局的な座標のみで配置した場合、大局的な第
2座標が同じであっても、それらの配置要素間の配線は
必ずしも一直線とはならない。そこで、本実施例では、
配置した際に、大局的な第2座標が同じで、隣り合う配
置要素の一方の出力ピンとその出力ピンと接続する他方
の入力ピンとの位置が同じ第2座標(縦方向の座標)と
なるように、(つまり、それらの間の配線が一直線にな
るように)各配置要素の局所的な第2座標を決定する。
例えば、第27図に示すように、大局的座標のみで配置す
ると、入力ピンと出力ピンの位置がずれるため配線が折
れ曲がる。そこで、局所的な座標を入力ピンと出力ピン
の位置がずれないように設定し、局所的な座標も考慮に
いれて配置すると、見易い図がえられる。
なお、本例では第2座標についてのみ説明したが、第
1座標に関しても同様に局所座標を設定し微調整するこ
とが可能である。
1座標に関しても同様に局所座標を設定し微調整するこ
とが可能である。
前記レベル毎の配線15について詳細に説明する。
第28図は、前記レベル毎の配線15において配線の種類
毎に処理する手順の一例を示す流れ図である。まず、処
理241においれレベルカウンターLに最大レベル(出力
ポートのレベル)を代入する。次に、処理242〜246にお
いてLレベル(つまり、大局的な第1座標がL)の領域
の配線を行う。この配線では、前記ネットリストと、各
配置要素およびそのピンの位置座標と、L+1レベルと
Lレベル間の配線の接続情報が参照され、各配線の始
点、屈曲点、終点の座標およびLレベルとL−1レベル
間の配線の接続情報が作成される。さらに、Lレベルの
配線処理が終了すると、処理247においてレベルカウン
ターLから1を減じ、判定処理248でレベルカウンター
Lが0かどうかを判定する。Lが0でなければ処理242
へ戻り、次レベルに対して配線処理242〜246を繰返し実
行する。またLが0の場合にはレベル毎の配線処理15を
終了する。
毎に処理する手順の一例を示す流れ図である。まず、処
理241においれレベルカウンターLに最大レベル(出力
ポートのレベル)を代入する。次に、処理242〜246にお
いてLレベル(つまり、大局的な第1座標がL)の領域
の配線を行う。この配線では、前記ネットリストと、各
配置要素およびそのピンの位置座標と、L+1レベルと
Lレベル間の配線の接続情報が参照され、各配線の始
点、屈曲点、終点の座標およびLレベルとL−1レベル
間の配線の接続情報が作成される。さらに、Lレベルの
配線処理が終了すると、処理247においてレベルカウン
ターLから1を減じ、判定処理248でレベルカウンター
Lが0かどうかを判定する。Lが0でなければ処理242
へ戻り、次レベルに対して配線処理242〜246を繰返し実
行する。またLが0の場合にはレベル毎の配線処理15を
終了する。
次に、Lレベルの配線処理242〜246について詳細に説
明する。
明する。
本実施例では、配線の種類毎に配線順序を定め、その
配線順序に従って配線を決定している。その配線順序
で、配線順序の早いものほどLレベルの配置要素寄りに
配線される。ただし、配線処理244と配線処理245との処
理順序が、本実施例とは逆の場合も考えられるが、簡単
のため説明を省略する。
配線順序に従って配線を決定している。その配線順序
で、配線順序の早いものほどLレベルの配置要素寄りに
配線される。ただし、配線処理244と配線処理245との処
理順序が、本実施例とは逆の場合も考えられるが、簡単
のため説明を省略する。
また、個々の配線処理242,243,244,245,246において
は以下に示すような処理を行っている。
は以下に示すような処理を行っている。
まず、各配線毎に配線する際の垂直成分の長さに基づ
いて仮想配線長を算出し、次にその仮想配線長によって
各配線をソートし、配線順序を決める。さらにその配線
順序に従ってLレベルの配置要素側から各配線を重なり
なく配線する。なお、Lレベルの領域において配線の屈
曲がない配線に対しては、優先的に配線する。
いて仮想配線長を算出し、次にその仮想配線長によって
各配線をソートし、配線順序を決める。さらにその配線
順序に従ってLレベルの配置要素側から各配線を重なり
なく配線する。なお、Lレベルの領域において配線の屈
曲がない配線に対しては、優先的に配線する。
なお、本例では簡単のため、仮想配線長を原則として
配線する際の垂直成分の長さに等しくしている。ただ
し、その垂直成分の上端がL−1レベル側へ屈曲してい
れば、その上端が十分大きい座標(例えば、図面の最上
端の座標)をもっとして仮想配線長を算出し、逆に、そ
の垂直成分の下端がL−1レベル側へ屈曲していれば、
その下端が十分小さい座標(例えば、図面の最下端の座
標)をもつとして仮想配線長を算出する。
配線する際の垂直成分の長さに等しくしている。ただ
し、その垂直成分の上端がL−1レベル側へ屈曲してい
れば、その上端が十分大きい座標(例えば、図面の最上
端の座標)をもっとして仮想配線長を算出し、逆に、そ
の垂直成分の下端がL−1レベル側へ屈曲していれば、
その下端が十分小さい座標(例えば、図面の最下端の座
標)をもつとして仮想配線長を算出する。
例えば、第29図に示すように、配線271,272および273
の仮想配線長は、それぞれ1a274,1b275およ1びo276と
なる。また、本実施例では、仮想配線長による配線のソ
ートを、配置処理243,244および245においては小さい順
に(つまり昇順に)ソートし、配置処理246においては
大きい順(つまり降順に)ソートしている。
の仮想配線長は、それぞれ1a274,1b275およ1びo276と
なる。また、本実施例では、仮想配線長による配線のソ
ートを、配置処理243,244および245においては小さい順
に(つまり昇順に)ソートし、配置処理246においては
大きい順(つまり降順に)ソートしている。
以上の配線処理においては簡単のため、配線順序の早
いものほどLレベルの配置要素寄りしに配線する場合に
ついて説明したが、逆の場合も容易に類推できる。
いものほどLレベルの配置要素寄りしに配線する場合に
ついて説明したが、逆の場合も容易に類推できる。
本実施例の素子配置の微調整14におけるピンの割り付
けおよびレベル毎の配線処理により、配線の交叉の少な
い論理回路図を簡単な処理で容易に生成することができ
る。
けおよびレベル毎の配線処理により、配線の交叉の少な
い論理回路図を簡単な処理で容易に生成することができ
る。
本実施例の論理回路図自動生成システムによれば、同
一回路を、設計者の好みに応じた、異なる論理回路図で
出力することが容易にできる。例えば、第30図、第31
図、第32図、および第33図は、同一回路に対して、本実
施例における隣接度を表すファジイ関係のメンバーシッ
プ関数μy、およびノード配置の見やすさを表すファジ
イ集合のメンバーシップ関数μAを変更して素子配置を
行った論理回路図の出力例である。第30図は、メンバー
シップ関数μyにレベル差|l−(x1)−l(x2)|と相
対位置差|y−o(x2)|とを考慮した上記式(1)を設
定、つまり μy(x1,x2)=f(|l(x1)−l(x2)|,|y−o(x2)|)、 とし、メンバーシップ関数μAを μA((x,y))={μA1((x,y))+μA2((x,y))}/2、 (ただし、μA1((x,y))、μA2((x,y))はそれぞ
れ上記式(3),(4))と設定して出力した論理回路
図である。第31図は、メンバーシップ関数μAを第30図
と同じ式、メンバーシップ関数μyにレベル差|l(x1)
−l(x2)|のみを考慮した関数を設定、つまり μy(x1,x2)=g(|l(x1)−l(x2)|)、 (ただし、g()は、レベル差|l(x1)−l(x2)|の
関数)として出力した論理回路図である。第32図は、メ
ンバーシップ関数μyを第30図と同じ式、メンバーシッ
プ関数μAに直線性を表すμA1(上記式(3))を設
定、つまり μA((x,y))=μA1((x,y))、 として出力した論理回路図である。また、第33図は、メ
ンバーシップ関数μyを第30図と同じ式、メンバーシッ
プ関数μAに平衡性を表すμA2(上記式(4))を設
定、つまり μA((x,y))=μA2((x,y))、 として出力した論理回路図の例である。このように、本
実施例の論理回路図自動生成システムでは、ファジイ関
係、およびファジイ集合のメンバーシップ関数の設定変
更によって、目的に応じた、異なる観点からみた素子配
置をもつさまざまな論理回路図が簡単に得られる。ま
た、第34図は、いくつかの回路例での、素子配置の一つ
の評価指標(直線性)を重視した従来法と複数の評価指
標(直線性と平衡性)を考慮した本実施例との、論理回
路図の評価指標についての比較である。評価指標である
交差数、屈曲数、分岐数はそれぞれ、配線の交差数、屈
曲数、分岐数を表す。さらに第35図は、第34図に示した
回路Aの、上記従来法による論理回路図、また、第36図
は、回路Aの、本実施例を用いて得られた論理回路図の
一例である。これらに示すように、本実施例の論理図自
動生成システムによれば、信号線の交差、折れ曲がりが
少ない、また、直線的な(一直線の)信号線が多い、論
理機能の把握しやすい、より見やすい論理回路図が比較
的簡単に(メンバーシップ関数の設定変更等)得られ
る。また、本論理回路図自動生成システムでは、ファジ
イ理論を用いて、配線のつながりを考慮した「見やす
い」配置が得られるため、一度の配置・配線を行うだけ
で配置修正・配線修正を行う必要がなく、効率的な配置
・配線処理を行うことが可能である。
一回路を、設計者の好みに応じた、異なる論理回路図で
出力することが容易にできる。例えば、第30図、第31
図、第32図、および第33図は、同一回路に対して、本実
施例における隣接度を表すファジイ関係のメンバーシッ
プ関数μy、およびノード配置の見やすさを表すファジ
イ集合のメンバーシップ関数μAを変更して素子配置を
行った論理回路図の出力例である。第30図は、メンバー
シップ関数μyにレベル差|l−(x1)−l(x2)|と相
対位置差|y−o(x2)|とを考慮した上記式(1)を設
定、つまり μy(x1,x2)=f(|l(x1)−l(x2)|,|y−o(x2)|)、 とし、メンバーシップ関数μAを μA((x,y))={μA1((x,y))+μA2((x,y))}/2、 (ただし、μA1((x,y))、μA2((x,y))はそれぞ
れ上記式(3),(4))と設定して出力した論理回路
図である。第31図は、メンバーシップ関数μAを第30図
と同じ式、メンバーシップ関数μyにレベル差|l(x1)
−l(x2)|のみを考慮した関数を設定、つまり μy(x1,x2)=g(|l(x1)−l(x2)|)、 (ただし、g()は、レベル差|l(x1)−l(x2)|の
関数)として出力した論理回路図である。第32図は、メ
ンバーシップ関数μyを第30図と同じ式、メンバーシッ
プ関数μAに直線性を表すμA1(上記式(3))を設
定、つまり μA((x,y))=μA1((x,y))、 として出力した論理回路図である。また、第33図は、メ
ンバーシップ関数μyを第30図と同じ式、メンバーシッ
プ関数μAに平衡性を表すμA2(上記式(4))を設
定、つまり μA((x,y))=μA2((x,y))、 として出力した論理回路図の例である。このように、本
実施例の論理回路図自動生成システムでは、ファジイ関
係、およびファジイ集合のメンバーシップ関数の設定変
更によって、目的に応じた、異なる観点からみた素子配
置をもつさまざまな論理回路図が簡単に得られる。ま
た、第34図は、いくつかの回路例での、素子配置の一つ
の評価指標(直線性)を重視した従来法と複数の評価指
標(直線性と平衡性)を考慮した本実施例との、論理回
路図の評価指標についての比較である。評価指標である
交差数、屈曲数、分岐数はそれぞれ、配線の交差数、屈
曲数、分岐数を表す。さらに第35図は、第34図に示した
回路Aの、上記従来法による論理回路図、また、第36図
は、回路Aの、本実施例を用いて得られた論理回路図の
一例である。これらに示すように、本実施例の論理図自
動生成システムによれば、信号線の交差、折れ曲がりが
少ない、また、直線的な(一直線の)信号線が多い、論
理機能の把握しやすい、より見やすい論理回路図が比較
的簡単に(メンバーシップ関数の設定変更等)得られ
る。また、本論理回路図自動生成システムでは、ファジ
イ理論を用いて、配線のつながりを考慮した「見やす
い」配置が得られるため、一度の配置・配線を行うだけ
で配置修正・配線修正を行う必要がなく、効率的な配置
・配線処理を行うことが可能である。
発明の効果 以上説明したように、本発明によれば、接続関係の追
跡し易い配置を決定でき、また、配線の交差を削減でき
るので、接続関係が見易く、図で表現されている内容が
理解し易い網図あるいは論理回路図を効率的に作成する
ことができるという優れた効果が得られる。
跡し易い配置を決定でき、また、配線の交差を削減でき
るので、接続関係が見易く、図で表現されている内容が
理解し易い網図あるいは論理回路図を効率的に作成する
ことができるという優れた効果が得られる。
さらに目的や対象とする回路の特質やテクノロジーの
変更に柔軟に対処できるという優れた効果が得られる。
変更に柔軟に対処できるという優れた効果が得られる。
第1図は本発明の一実施例の論理回路図自動生成システ
ムの構成図、第2図は形状情報の一例を示す説明図、第
3図はネット情報の一例を示す説明図、第4図は論理図
情報の一例を示す説明図、第5図は論理回路図の出力例
を示す論理回路図、第6図は素子のレベル付け処理の一
例を示す流れ図、第7図は網図の一例を示す説明図、第
8図はレベル付けされた網図の一例を示す説明図、第9
図は基準レベル位置決定処理の一例を示す流れ図、第10
図はレベル付けされた網図の一部を示す説明図、第11図
は基準レベルの位置関係を決定した網図例を示す説明
図、第12図はレベル毎の相対配置処理の一例を示す流れ
図、第13図はノードの位置関係情報を保持するデータ構
造の一例を示す説明図、第14図,第23図および第25図は
各々ノードの位置関係情報の一例を示す説明図、第15図
はファジイ集合算出処理の一例を示す流れ図、第16図お
よび第19図は相対位置既決定集合と相対位置未決定集合
とが設定された網図の一例を示す説明図、第17図はファ
ジイ関係の一例を示す説明図、第18図はファジイ集合か
らノードの配置を決定する処理の一例を示す流れ図、第
20図はファジイ集合の算出結果の一例を示す説明図、第
21図および第22図はファジイ集合に基づいたノード位置
の決定例を示す説明図、第24図は網図の一部を示す説明
図、第26図は配置要素のピンの割り付けを説明するため
の説明図、第27図は配置要素の詳細な位置の決定を説明
するための論理回路図、第28図はレベル毎の配線処理の
一例を示す流れ図、第29図は仮想配線長を示す説明図、
第30図、第31図、第32図、第33図および第36図は本実施
例の論理回路図自動生成システムで得られた論理回路
図、第34図は従来法および本実施例の論理回路図の評価
を示す説明図、第35図は従来法の論理回路図である。 1……ネット情報、2……形状情報、3……論理図情
報、4……セルライブラリ、5……論理図作画部、11…
…素子のレベル付け、12……基準レベル位置決定、13…
…レベル毎の相対配置、14……素子配置の微調整、15…
…レベル毎の配線、16……絶対座標の決定、51……作画
端末。
ムの構成図、第2図は形状情報の一例を示す説明図、第
3図はネット情報の一例を示す説明図、第4図は論理図
情報の一例を示す説明図、第5図は論理回路図の出力例
を示す論理回路図、第6図は素子のレベル付け処理の一
例を示す流れ図、第7図は網図の一例を示す説明図、第
8図はレベル付けされた網図の一例を示す説明図、第9
図は基準レベル位置決定処理の一例を示す流れ図、第10
図はレベル付けされた網図の一部を示す説明図、第11図
は基準レベルの位置関係を決定した網図例を示す説明
図、第12図はレベル毎の相対配置処理の一例を示す流れ
図、第13図はノードの位置関係情報を保持するデータ構
造の一例を示す説明図、第14図,第23図および第25図は
各々ノードの位置関係情報の一例を示す説明図、第15図
はファジイ集合算出処理の一例を示す流れ図、第16図お
よび第19図は相対位置既決定集合と相対位置未決定集合
とが設定された網図の一例を示す説明図、第17図はファ
ジイ関係の一例を示す説明図、第18図はファジイ集合か
らノードの配置を決定する処理の一例を示す流れ図、第
20図はファジイ集合の算出結果の一例を示す説明図、第
21図および第22図はファジイ集合に基づいたノード位置
の決定例を示す説明図、第24図は網図の一部を示す説明
図、第26図は配置要素のピンの割り付けを説明するため
の説明図、第27図は配置要素の詳細な位置の決定を説明
するための論理回路図、第28図はレベル毎の配線処理の
一例を示す流れ図、第29図は仮想配線長を示す説明図、
第30図、第31図、第32図、第33図および第36図は本実施
例の論理回路図自動生成システムで得られた論理回路
図、第34図は従来法および本実施例の論理回路図の評価
を示す説明図、第35図は従来法の論理回路図である。 1……ネット情報、2……形状情報、3……論理図情
報、4……セルライブラリ、5……論理図作画部、11…
…素子のレベル付け、12……基準レベル位置決定、13…
…レベル毎の相対配置、14……素子配置の微調整、15…
…レベル毎の配線、16……絶対座標の決定、51……作画
端末。
Claims (11)
- 【請求項1】産業上又は技術上のレイアウトシステムに
おける配置対象をノードとし、それらの各ノード間に物
理的な接続関係があり、グラフで表わされるモデルに対
して、記憶装置中に格納されている該グラフのノードと
接続関係に関する情報を参照し、 各ノード間の接続関係から、各ノードが各位置に配置さ
れる度合を表すファジイ集合を算出する第1のステップ
と、 前記ファジイ集合から各位置に配置される度合に応じて
各ノードの配置を決定する第2のステップと を実行するように処理装置を制御することを特徴とする
配置方法。 - 【請求項2】前記第1のステップが、各位置に対してそ
の位置にノードを配置するときの他のノードとのファジ
イ関係を、ノード間の距離の分布に比例したメンバーシ
ップ関数を用いて算出するステップと、前記ファジイ関
係を用いたファジイ演算により、各ノードが各位置に配
置される度合を表す[ノードとの位置]の対を要素にも
つファジイ集合を決定するステップとから成ることを特
徴とする特許請求の範囲第1項記載の配置方法。 - 【請求項3】前記第2のステップが、前記ファジイ集合
から、その要素である[ノードxと位置y]の対を、ノ
ードおよび位置の重複がないように選択し、各ノードx
を対応する位置yに配置するステップを有することを特
徴とする特許請求の範囲第1項または第2項記載の配置
方法。 - 【請求項4】前記第2のステップにおいて、前記ファジ
イ集合から、その要素である[ノードxと位置y]の対
を重複のないように選択する際に、選択された要素[ノ
ードxと位置y]のもつグレード値の総和が最大となる
ようにすることを特徴とする特許請求の範囲第3項記載
の配置方法。 - 【請求項5】前記第2のステップが、さらに、前記ステ
ップで配置されなかったノードzに対して前記ファジイ
集合中のそのノードzを含む全要素の位置とグレード値
とから前記ノードzの配置を決定するステップを含むこ
とを特徴とする特許請求の範囲第3項記載の配置方法。 - 【請求項6】各ノードの接続関係によりノードのレベル
を表す第1の座標を決定する第1のステップと、配置の
基準となるノードの間の位置関係を決定する第2のステ
ップと、既に位置関係が決定したノードと位置関係が未
決定のノードとの接続関係から各ノードが各位置に配置
される度合を表すファジイ集合を算出するファジイ集合
算出手段と、前記ファジイ集合から各ノードの位置を決
定する位置決定手段とを有し、順次、前記ファジイ集合
算出手段と前記位置決定手段とを繰り返し用いることに
よって全ノードの位置の順序を表す第2の座標を決定す
る第3のステップと、前記第1および第3のステップに
よって全ノードの配置を決定した後、各ノード間の接続
線を配線する第4のステップとを備えた網図自動生成方
法。 - 【請求項7】前記ファジイ集合算出手段が、各位置に対
してその位置にノードを配置するときの他のノードとの
ファジイ関係を、ノード間の距離の分布に比例したメン
バーシップ関数を用いて算出する手段と、前記ファジイ
関係を用いたファジイ演算により、各ノードが各位置に
配置される度合を表す[ノードと位置]の対を要素にも
つファジイ集合を決定する手段とから成ることを特徴と
する特許請求の範囲第6項記載の網図自動生成方法。 - 【請求項8】前記位置決定手段が、前記ファジイ集合か
らその要素である[ノードxと位置y]の対を、ノード
および位置の重複がないように選択し、各ノードxを対
応する位置yに配置する手段と、前記ステップで配置さ
れなかったノードzに対して、前記ファジイ集合中のそ
のノードzを含む全要素の位置とグレード値とから前記
ノードzの配置を決定する手段とから成ることを特徴と
する特許請求の範囲第6項または第7項記載の網図自動
生成方法。 - 【請求項9】網図における各配置要素の接続情報を入力
する第1の手段と、各配置要素の形状に関する情報を保
持する第2の手段と、前記第1の手段により入力された
接続情報を基に、各配置要素のレベルを表す第1の大局
的座標を決定する第3の手段と、配置の基準となる配置
要素間の位置関係を決定する第4の手段と、前記位置関
係、前記接続情報および前記各配置要素の第1の大局的
座標から、各配置要素が各位置に配置される度合を表す
ファジイ集合を算出するファジイ集合算出手段と、前記
ファジイ集合から各配置要素の位置を決定する位置決定
手段とを順次繰り返し用いることにより、全配置要素の
位置の順序を表す第2の大局的座標を決定する第5の手
段と、前記第3の手段と第5の手段で決定された各配置
要素の両大局的座標と前記接続情報および第2の手段で
保持された各配置要素の形状(に関する情報)を基に各
配置要素の局所的な座標を決定する第6の手段と、前記
各配置要素の大局的な座標および前記接続情報から前記
大局的座標と局所的座標を用いて接続線を配線する第7
の手段と、前記各配置要素や各配線の大局的座標と局所
的座標とを基に各配置要素の配置や各接続線の配線の絶
対座標を決定する第8の手段と、前記第8の手段で決定
された網図の配置や配線に関する情報を保持する第9の
手段と、前記第2の手段で保持された情報と、整合性が
とれた各配置要素の図形に関する情報を保持する第10の
手段と、前記第9の手段で保持された情報と第10の手段
で保持された情報から網図を描画する第11の手段とを有
することを特徴とする網図自動生成システム。 - 【請求項10】前記ファジイ集合算出手段が、各位置に
対してその位置にノードを配置するときの他のノードと
のファジイ関係を、ノード間の距離の分布に比例したメ
ンバーシップ関数を用いて算出する手段と、前記ファジ
イ関係を用いたファジイ演算により、各ノードが各位置
に配置される度合を表す[ノードと位置]の対を要素に
もつファジイ集合を決定する手段とから成ることを特徴
とする特許請求の範囲第9項記載の網図自動生成システ
ム。 - 【請求項11】前記位置決定手段が、前記ファジイ集合
から、その要素である[ノードxと位置y]の対を、ノ
ードおよび位置の重複がないように選択し、各ノードx
を対応する位置yに配置する手段と、前記ステップで配
置されなかったノードzに対して、前記ファジイ集合中
のそのノードzを含む全要素の位置とグレード値とから
前記ノードzの配置を決定する手段とから成ることを特
徴とする特許請求の範囲第9項または第10項記載の網図
自動生成システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1232539A JP2858328B2 (ja) | 1989-09-07 | 1989-09-07 | 網図自動生成方法およびそのシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1232539A JP2858328B2 (ja) | 1989-09-07 | 1989-09-07 | 網図自動生成方法およびそのシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0394378A JPH0394378A (ja) | 1991-04-19 |
JP2858328B2 true JP2858328B2 (ja) | 1999-02-17 |
Family
ID=16940915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1232539A Expired - Fee Related JP2858328B2 (ja) | 1989-09-07 | 1989-09-07 | 網図自動生成方法およびそのシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2858328B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5264305B2 (ja) * | 2008-06-10 | 2013-08-14 | キヤノン株式会社 | 回路編集支援方法、そのプログラム、その記録媒体、および回路編集支援装置 |
DE102013113734B4 (de) | 2013-12-10 | 2018-03-08 | Rogers Germany Gmbh | Verfahren zum Herstellen eines Metall-Keramik-Substrates |
-
1989
- 1989-09-07 JP JP1232539A patent/JP2858328B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0394378A (ja) | 1991-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6966045B2 (en) | Method and computer program product for estimating wire loads | |
US5550714A (en) | Schematic generator and schematic generating method | |
JP2612967B2 (ja) | 網図自動生成方法及びそのシステム | |
JPH01131963A (ja) | 形態接続構成自動作成システム | |
JPS63225869A (ja) | 配線経路探索方式 | |
JP2858328B2 (ja) | 網図自動生成方法およびそのシステム | |
Friedrich et al. | Flexible layering in hierarchical drawings with nodes of arbitrary size | |
US6601025B1 (en) | Method to partition the physical design of an integrated circuit for electrical simulation | |
JP2805538B2 (ja) | 印刷配線板の接続検証装置 | |
JP3883644B2 (ja) | 引出線自動作成方法ならびにそのための引出線自動作成装置およびプログラム記憶媒体 | |
JP2938431B1 (ja) | 配線設計装置、配線判定装置およびこれらの方法 | |
JPH03263179A (ja) | 回路図エディタ | |
Protsko et al. | Mondrian: system for automatic generation of dataflow diagrams | |
JP2535823B2 (ja) | 階層的パタ―ンレイアウト方法 | |
JP3164503B2 (ja) | 配線パターン作成装置 | |
Protsko et al. | Automatic generation of data flow diagrams from a requirements specification language | |
Zhu | A plane sweep polyline labelling algorithm. | |
JPH10294380A (ja) | 階層的レイアウト方法及び記録媒体 | |
JP3199113B2 (ja) | Dm分解に基づく回路分割装置及び記録媒体 | |
JPH0253823B2 (ja) | ||
Kozminski | Rectangular dualization for computer-aided design of vlsi integrated circuit floorplans (layout, hierarchical design) | |
JPH0645443A (ja) | 階層化配線方法 | |
JPH05314208A (ja) | 真理値表入力支援システム、及び論理cadシステム | |
JPH0554099A (ja) | 真理値表入力支援システム、及び論理cadシステム | |
JPH03250264A (ja) | 配線規則を考慮した自動配線方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |