(57)【要約】【課題】接続先のモジュールにおいて新たに発生するピン数が少なく、迂回配線の少ない論理素子接続情報を得ること。【解決手段】変更指示情報から選択した追加素子の全てを包含するモジュールの中で最下位のモジュールを処理中モジュールとし、その処理中モジュールに含まれる下層のモジュールの中から追加素子が接続される素子を含むモジュールを１つずつ取り出し、追加素子を配置したときの評価ポイントを算出する（ステップＳＴ１〜３）。評価ポイントが正の値を持つモジュールが存在する場合には（ステップＳＴ４：Ｙｅｓ）、評価ポイントの最も高いモジュール（複数あるときはそのいずれか１つ）を処理中モジュールとする（ステップＳＴ５→３）。評価ポイント≦０のモジュールしか見つからなくなったときは（ステップＳＴ４：Ｎｏ）、その時点での処理中モジュールを配置先モジュールと決定する（ステップＳＴ６）。【選択図】　　　図１
2004021315.tif 000002
【特許請求の範囲】
【請求項１】
モジュールの概念を持ち階層的に表現される論理素子接続情報と追加素子を指定する変更指示情報とを読み込み、前記変更指示情報が指定する新たな素子を追加して変更した論理素子接続情報を編集する論理素子接続情報編集方法において、
前記変更指示情報が指定する一つの追加素子について、その追加素子の全ての接続先を包含するモジュールの中で最下位のモジュールを処理中モジュールとする第１工程と、
前記処理中モジュールに含まれる下層モジュールの中から前記追加素子が接続される素子を含むモジュールを１つずつ取り出し、各モジュールについて前記追加素子を配置したときの接続情報に関する評価ポイントを算出する第２工程と、前記第２工程にて算出された評価ポイントの値が前記追加素子の接続先に下層モジュールが含まれる場合に相当する第１所定値範囲内にある間、前記第２工程における処理中モジュールを評価ポイントの最も高いモジュール（複数あるときはそのいずれか１つ）を用いて更新し、前記第１所定値範囲内にないとき、前記処理中モジュールを配置先モジュールと決定する第３工程と、
を含むことを特徴とする論理素子接続情報編集方法。
【請求項２】
前記接続情報に関する評価ポイントは、
取り出したモジュールに追加素子を配置したとき、接続先が下層モジュールに全く含まれない接続信号の数、接続先が下層モジュールに全て含まれる接続信号の数、接続先が下層モジュールと上層モジュールの双方に含まれる接続信号の数のそれぞれに予め定めた評価点数を掛けて積算することによって求められる、
ことを特徴とする請求項１に記載の論理素子接続情報編集方法。
【請求項３】
前記第２工程にて算出された評価ポイントの値が、前記第１所定値範囲内にないとき、前記追加素子の接続先に下層モジュールと上層モジュールの双方が含まれる場合に相当する第２所定値範囲内にある間、処理中モジュールを候補モジュールに加えるとともに、前記第２工程における処理中モジュールを評価ポイントの値が前記第２所定値範囲内にあるモジュール（複数あるときはそのいずれか１つ）を用いて更新する第４工程と、
前記評価ポイントの値が第２所定値範囲内にないとき、処理中モジュールを候補モジュールに加え、その結果、候補モジュールが複数存在する場合はコントロールデータで指示された内容に従って配置先モジュールを１つ選択する一方、候補モジュールが複数存在しない場合はその候補モジュールを配置先モジュールと決定する第５工程と、
を含むことを特徴とする請求項１または２に記載の論理素子接続情報編集方法。
【請求項４】
前記追加素子は、相互に接続関係を持つ複数の追加素子をまとめた１つの仮想素子であることを特徴とする請求項１〜３のいずれか一つに記載の論理素子接続情報編集方法。
【請求項５】
前記追加素子が、相互に接続関係を持つ複数の追加素子からなる場合において、
前記複数の追加素子それぞれの接続先判明率を計算する工程と、
全ての追加素子について配置先モジュールの決定ができるまでの間、最高の接続先判明率を持つ追加素子について配置先モジュールを決定することを、残りの追加素子について接続先判明率の再計算を実行しつつ繰り返す工程と、
を含むことを特徴とする請求項１〜３のいずれか一つに記載の論理素子接続情報編集方法。
【請求項６】
最高の接続先判明率を持つ追加素子が複数存在する場合に、全ての追加素子について配置先モジュールの決定ができるまでの間、最高の接続先判明率が最も早く得られた追加素子について配置先モジュールを決定することを、残りの追加素子について接続先判明率の再計算を実行しつつ繰り返す工程、
を含むことを特徴とする請求項５に記載の論理素子接続情報編集方法。
【請求項７】
前記追加素子の接続情報を収集する際に、ある信号に接続する素子が同一モジュール内に複数存在するときは、代表の１素子分のみの情報を内部テーブルに格納することを特徴とする請求項１〜６のいずれか一つに記載の論理素子接続情報編集方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、集積回路の論理素子接続情報を編集する論理素子接続情報編集方法に関するものである。
【０００２】
【従来の技術】
図１４は、論理素子接続情報編集装置の動作を説明する図である。図１４に示すように、論理素子接続情報編集装置１４１は、編集前論理素子接続情報１４２とその論理素子接続情報に対する変更指示情報１４３とをそれぞれの記憶装置から読み込み、変更指示情報１４３が指定する追加素子を加入できるように編集前論理素子接続情報１４２の接続情報を変更編集し、編集後論理素子接続情報１４４を生成する。
【０００３】
ここで、論理素子接続情報編集装置１４１の入力データおよび出力データである論理素子接続情報１４２，１４４は、素子を最小単位として構成されるが、複数の素子による論理的なまとまりであるモジュールの概念を持ち、階層的に表現できるようになっている。つまり、論理素子接続情報１４２，１４４は、一般に、複数の素子と複数のモジュールとによって構成されている。一方、変更指示情報１４３は、素子レベルで追加する素子を指定する情報であり、モジュールの概念を持たない。
【０００４】
論理素子接続情報の編集では、追加素子を追加する最適なモジュール（以下「配置先モジュール」という）を判断することが重要であるが、配置先モジュールに関する情報は、変更指示情報１４３からは直接得ることはできないので、論理素子接続情報編集装置１４１は、変更指示情報１４３が指定する追加素子の接続関係に基づき配置先モジュールを決定する手順（アルゴリズム）を備えている。
【０００５】
図１５は、従来の論理素子接続情報編集方法で実施する追加素子の配置先モジュール決定手順を示すフローチャートである。従来では、図１５に示すように、まず、変更素子情報から１つの追加素子または追加素子群を選択する（ステップＳＴ３１）。次いで、選択した追加素子（追加素子群）の全ての接続先を包含するモジュールを検索し、検索したモジュールの中で最下位のモジュールを候補モジュールとする（ステップＳＴ３２）。このようにして定めた候補モジュールを配置先モジュールと決定する（ステップＳＴ３３）。なお、追加素子群とは、相互に接続関係を持つ複数の素子のことである。
【０００６】
以下、図１６〜図１９を参照して具体的に説明する。なお、図１６は、素子Ｖ１の後ろにバッファを追加し、その追加バッファの出力信号が素子Ｖ２，Ｖ３の入力となるように変更する場合の変更前回路図である。図１７は、図１６に示す変更前回路に従来の追加素子の配置先モジュール決定手順を適用して素子Ｖ１の後ろにバッファを追加し、その追加バッファの出力信号が素子Ｖ２，Ｖ３の入力となるように変更した回路図である。図１８は、素子Ｎ１の後ろに３個のバッファを追加する場合の変更前回路図である。図１９は、図１８に示す変更前回路に従来の追加素子の配置先モジュール決定手順を適用して素子Ｎ１の後ろに３個のバッファを追加した回路図である。
【０００７】
図１６において、モジュールＴは、１つの入力端ｉｎ１と、２つの出力端ｏｕｔ１，ｏｕｔ２とを備えている。モジュールＴには、モジュールＡとモジュールＢとが含まれている。モジュールＡは、１つの入力端ｉｎＡ１と、２つの出力端ｏｕｔＡ１，ｏｕｔＡ２とを備えている。モジュールＡには、モジュールＤとモジュールＣとが含まれている。モジュールＤ，Ｃ，Ｂは、それぞれ素子（インバータ）Ｖ１，Ｖ２，Ｖ３で構成されている。
【０００８】
モジュールＤは、素子（インバータ）Ｖ１の入力端が接続される入力端ｉｎＤ１と、素子（インバータ）Ｖ１の出力端が接続される出力端ｏｕｔＤ１とを備えている。モジュールＣは、素子（インバータ）Ｖ２の入力端が接続される入力端ｉｎＣ１と、素子（インバータ）Ｖ２の出力端が接続される出力端ｏｕｔＣ１とを備えている。モジュールＢは、素子（インバータ）Ｖ３の入力端が接続される入力端ｉｎＢ１と、素子（インバータ）Ｖ１の出力端が接続される出力端ｏｕｔＢ１とを備えている。
【０００９】
モジュールＤの入力端ｉｎＤ１は、モジュールＡの入力端ｉｎＡ１を介してモジュールＴの入力端ｉｎ１に接続されている。モジュールＤの出力端ｏｕｔＤ１は、モジュールＣの入力端Ｃ１に接続されるとともに、モジュールＡの出力端ｏｕｔＡ２を介してモジュールＢの入力端ｉｎＢ１に接続されている。モジュールＣの出力端ｏｕｔＣ１は、モジュールＡの出力端ｏｕｔＡ１を介してモジュールＴの出力端ｏｕｔ１に接続されている。モジュールＢの出力端ｏｕｔＢ１は、モジュールＴの出力端ｏｕｔ２に接続されている。
【００１０】
この回路において、素子（インバータ）Ｖ１の後ろにバッファを追加し、その追加バッファの出力信号が素子（インバータ）Ｖ２，Ｖ３の入力となるようにする場合、モジュールＤ，Ｃ，Ｂが追加素子（バッファ）の全ての接続先である。モジュールＴは、モジュールＤ，Ｃ，Ｂを包含するモジュールの中での最下位のモジュールとなっている。したがって、図１７に示すように、追加素子（バッファ）は、最下位のモジュールＴに配置される。
【００１１】
図１７において、追加素子（バッファ）１７１は、モジュールＡの出力端ｏｕｔＡ２とモジュールＢの入力端ｉｎＢ１との間に配置される。そして、素子（インバータ）Ｖ１，Ｖ２間の接続を断つとともに、モジュールＡにインタフェースピン１７２が設けられ、追加素子（バッファ）１７１の出力端と素子（インバータ）Ｖ２の入力端とがインタフェースピン１７２を介して接続される。
【００１２】
また、図１８において、モジュールＳは、２つの入力端ｉｎ１，ｉｎ２と、出力端ｏｕｔと備えている。モジュールＳには、素子（２入力のＮＡＮＤゲート）Ｎ１と素子（４入力のＮＯＲゲート）Ｒ１とが設けられ、これらの間にモジュールＧが配置されている。モジュールＧは、入力端ａと４つの出力端ｂ，ｃ，ｄ，ｅとを備えている。
【００１３】
モジュールＳの入力端ｉｎ１，ｉｎ２は、素子（２入力のＮＡＮＤゲート）Ｎ１の入力端に接続され、素子（２入力のＮＡＮＤゲート）Ｎ１の出力端は、モジュールＧの入力端ａに接続されている。モジュールＧの出力端ｂ，ｃ，ｄ，ｅは、素子（４入力のＮＯＲゲート）Ｒ１の入力端に接続され、素子（４入力のＮＯＲゲート）Ｒ１の出力端は、モジュールＳの出力端ｏｕｔに接続されている。
【００１４】
モジュールＧには、４つの素子（インバータ）Ｖ１，Ｖ２，Ｖ３，Ｖ４が設けられ、それらの入力端は共通にモジュールＧの入力端ａに接続されている。また、４つの素子（インバータ）Ｖ１，Ｖ２，Ｖ３，Ｖ４の出力端は、モジュールＧの出力端ｂ，ｃ，ｄ，ｅに接続されている。
【００１５】
この回路において、素子（２入力のＮＡＮＤゲート）Ｎ１の後ろに３個のバッファを追加する場合、モジュールＳ，Ｇが追加素子（３個のバッファ）の全ての接続先である。モジュールＳは、モジュールＧを包含するモジュールの中での最下位のモジュールとなっている。したがって、図１９に示すように、追加素子（３個のバッファ）は、最下位のモジュールＳに配置される。
【００１６】
図１９において、３個のバッファ１９１，１９２，１９３は、入力端が共通に素子（２入力のＮＡＮＤゲート）Ｎ１の出力端とモジュールＧの入力端ａとの接続ラインに接続される。モジュールＧでは、４個の素子（インバータ）Ｖ１，Ｖ２，Ｖ３，Ｖ４の入力端は、互いに分離されるとともに、３つのインタフェースピン１９４，１９５，１９６が設けられる。素子（インバータ）Ｖ１の入力端のみが入力端ａに接続される。残りの素子（インバータ）Ｖ２，Ｖ３，Ｖ４の入力端は、インタフェースピン１９４，１９５，１９６を介して追加のバッファ１９１，１９２，１９３の出力端に接続される。
【００１７】
【発明が解決しようとする課題】
しかしながら、従来の追加素子の配置先モジュール決定手順では、追加素子（追加素子群）の全ての接続先を包含するモジュールの中で最下位のモジュールを配置先モジュールとしているので、図１７や図１９に示したように、接続先のモジュールに新たなインタフェースピンが必要となる。また、図１７に示したモジュールＡのように、あるモジュールから出た信号が再び同じモジュールに戻るという迂回配線が生ずる場合がある。
【００１８】
このような場合には、編集後の論理素子接続情報を設計者が目視によって解析することが困難となり、また編集後の論理素子接続情報を読み込むシステムの処理速度の低下を招くなどの問題が生ずる。
【００１９】
この発明は、上記に鑑みてなされたもので、接続先のモジュールにおいて新たに発生するピン数が少なく、迂回配線の少ない論理素子接続情報を得ることができる論理素子接続情報編集方法を得ることを目的とする。
【００２０】
【課題を解決するための手段】
上記の目的を達成するために、この発明にかかる論理素子接続情報編集方法は、モジュールの概念を持ち階層的に表現される論理素子接続情報と追加素子を指定する変更指示情報とを読み込み、前記変更指示情報が指定する新たな素子を追加して変更した論理素子接続情報を編集する論理素子接続情報編集方法において、前記変更指示情報が指定する一つの追加素子について、その追加素子の全ての接続先を包含するモジュールの中で最下位のモジュールを処理中モジュールとする第１工程と、前記処理中モジュールに含まれる下層モジュールの中から前記追加素子が接続される素子を含むモジュールを１つずつ取り出し、各モジュールについて前記追加素子を配置したときの接続情報に関する評価ポイントを算出する第２工程と、前記第２工程にて算出された評価ポイントの値が前記追加素子の接続先に下層モジュールが含まれる場合に相当する第１所定値範囲内にある間、前記第２工程における処理中モジュールを評価ポイントの最も高いモジュール（複数あるときはそのいずれか１つ）を用いて更新し、前記第１所定値範囲内にないとき、前記処理中モジュールを配置先モジュールと決定する第３工程とを含むことを特徴とする。
【００２１】
この発明によれば、第１工程では、変更指示情報が指定する一つの追加素子について、その追加素子の全ての接続先を包含するモジュールの中で最下位のモジュールが処理中モジュールとされる。第２工程では、前記処理中モジュールに含まれる下層モジュールの中から前記追加素子が接続される素子を含むモジュールが１つずつ取り出され、各モジュールについて前記追加素子を配置したときの接続情報に関する評価ポイントが算出される。第３工程では、前記第２工程にて算出された評価ポイントの値が前記追加素子の接続先に下層モジュールが含まれる場合に相当する第１所定値範囲内にある間は、前記第２工程における処理中モジュールが評価ポイントの最も高いモジュール（複数あるときはそのいずれか１つ）を用いて更新され、前記第１所定値範囲内にないとき、前記処理中モジュールが配置先モジュールと決定される。
【００２２】
つぎの発明にかかる論理素子接続情報編集方法は、上記の発明において、前記接続情報に関する評価ポイントは、取り出したモジュールに追加素子を配置したとき、接続先が下層モジュールに全く含まれない接続信号の数、接続先が下層モジュールに全て含まれる接続信号の数、接続先が下層モジュールと上層モジュールの双方に含まれる接続信号の数のそれぞれに予め定めた評価点数を掛けて積算することによって求められることを特徴とする。
【００２３】
この発明によれば、上記の発明において、前記接続情報に関する評価ポイントは、取り出したモジュールに追加素子を配置したとき、接続先が下層モジュールに全く含まれない接続信号の数、接続先が下層モジュールに全て含まれる接続信号の数、接続先が下層モジュールと上層モジュールの双方に含まれる接続信号の数のそれぞれに予め定めた評価点数を掛けて積算することによって求められる。
【００２４】
つぎの発明にかかる論理素子接続情報編集方法は、上記の発明において、前記第２工程にて算出された評価ポイントの値が、前記第１所定値範囲内にないとき、前記追加素子の接続先に下層モジュールと上層モジュールの双方が含まれる場合に相当する第２所定値範囲内にある間、処理中モジュールを候補モジュールに加えるとともに、前記第２工程における処理中モジュールを評価ポイントの値が前記第２所定値範囲内にあるモジュール（複数あるときはそのいずれか１つ）を用いて更新する第４工程と、前記評価ポイントの値が第２所定値範囲内にないとき、処理中モジュールを候補モジュールに加え、その結果、候補モジュールが複数存在する場合はコントロールデータで指示された内容に従って配置先モジュールを１つ選択する一方、候補モジュールが複数存在しない場合はその候補モジュールを配置先モジュールと決定する第５工程とを含むことを特徴とする。
【００２５】
この発明によれば、上記の発明において、第４工程では、前記第２工程にて算出された評価ポイントの値が、前記第１所定値範囲内にないとき、前記追加素子の接続先に下層モジュールと上層モジュールの双方が含まれる場合に相当する第２所定値範囲内にある間は、処理中モジュールが候補モジュールに加えられる。そして、前記第２工程における処理中モジュールが評価ポイントの値が前記第２所定値範囲内にあるモジュール（複数あるときはそのいずれか１つ）を用いて更新される。第５工程では、前記評価ポイントの値が第２所定値範囲内にないとき、処理中モジュールが候補モジュールに加えられる。その結果、候補モジュールが複数存在する場合はコントロールデータで指示された内容に従って配置先モジュールが１つ選択される一方、候補モジュールが複数存在しない場合はその候補モジュールが配置先モジュールと決定される。
【００２６】
つぎの発明にかかる論理素子接続情報編集方法は、上記の発明において、前記追加素子は、相互に接続関係を持つ複数の追加素子をまとめた１つの仮想素子であることを特徴とする。
【００２７】
この発明によれば、上記の発明において、前記追加素子は、相互に接続関係を持つ複数の追加素子をまとめた１つの仮想素子である。
【００２８】
つぎの発明にかかる論理素子接続情報編集方法は、上記の発明において、前記追加素子が、相互に接続関係を持つ複数の追加素子からなる場合において、前記複数の追加素子それぞれの接続先判明率を計算する工程と、全ての追加素子について配置先モジュールの決定ができるまでの間、最高の接続先判明率を持つ追加素子について配置先モジュールを決定することを、残りの追加素子について接続先判明率の再計算を実行しつつ繰り返す工程とを含むことを特徴とする。
【００２９】
この発明によれば、上記の発明において、前記追加素子が、相互に接続関係を持つ複数の追加素子からなる場合において、予め前記複数の追加素子それぞれの接続先判明率が計算される。そして、全ての追加素子について配置先モジュールの決定ができるまでの間は、最高の接続先判明率を持つ追加素子について配置先モジュールを決定することが、残りの追加素子について接続先判明率の再計算を実行しつつ繰り返される。
【００３０】
つぎの発明にかかる論理素子接続情報編集方法は、上記の発明において、最高の接続先判明率を持つ追加素子が複数存在する場合に、全ての追加素子について配置先モジュールの決定ができるまでの間、最高の接続先判明率が最も早く得られた追加素子について配置先モジュールを決定することを、残りの追加素子について接続先判明率の再計算を実行しつつ繰り返す工程を含むことを特徴とする。
【００３１】
この発明によれば、上記の発明において、最高の接続先判明率を持つ追加素子が複数存在する場合に、全ての追加素子について配置先モジュールの決定ができるまでの間は、最高の接続先判明率が最も早く得られた追加素子について配置先モジュールを決定することが、残りの追加素子について接続先判明率の再計算を実行しつつ繰り返される。
【００３２】
つぎの発明にかかる論理素子接続情報編集方法は、上記の発明において、前記追加素子の接続情報を収集する際に、ある信号に接続する素子が同一モジュール内に複数存在するときは、代表の１素子分のみの情報を内部テーブルに格納することを特徴とする。
【００３３】
この発明によれば、上記の発明において、前記追加素子の接続情報を収集する際に、ある信号に接続する素子が同一モジュール内に複数存在するときは、代表の１素子分のみの情報が内部テーブルに格納される。
【００３４】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる論理素子接続情報編集方法の好適な実施の形態を詳細に説明する。
【００３５】
実施の形態１．
図１は、この発明の実施の形態１である論理素子接続情報編集方法で実施する追加素子の配置先モジュール決定手順を示すフローチャートである。図１において、変更指示情報から１つの追加素子を選択し（ステップステップＳＴ１）、その選択した追加素子の全てを包含するモジュールを検索し、検索したモジュールの中で最下位のモジュールを処理中モジュールとする（ステップＳＴ２）。
【００３６】
そして、その処理中モジュールに含まれる下層のモジュールの中から追加素子が接続される素子を含むモジュールを１つずつ取り出し、各モジュールについて追加素子を配置したときの接続情報に関する評価ポイントを次の（１）〜（４）のようにして算出する（ステップＳＴ３）。
【００３７】
（１）接続先が下層モジュールに全く含まれない接続信号は、１つにつき「−１点」を与える。（２）接続先が下層モジュールに全て含まれる接続信号は、１つにつき「＋１点」を与える。（３）接続先が下層モジュールにも上層モジュールにも含まれる接続信号は、１つにつき「±０点」を与える。（４）それらを積算したものを、そのモジュールの評価ポイントとする。
【００３８】
このようにして、１モジュールにつき、１評価ポイントが算出される過程で、評価ポイントが正の値を持つモジュールが存在するか否かが判断される（ステップＳＴ４）。正の値を持つモジュールが存在する場合には（ステップＳＴ４：Ｙｅｓ）、評価ポイントの最も高いモジュール（複数あるときはそのいずれか１つ）を処理中モジュールとし（ステップＳＴ５）、ステップＳＴ３に戻る。
【００３９】
ステップＳＴ３→ステップＳＴ４→ステップＳＴ３のループ処理においては、評価ポイント＞０のモジュールが見つかっている間、処理中モジュールを更新しつつ、その処理中モジュールにおける下層モジュールについての評価ポイントを算出することが繰り返される。つまり、処理中モジュールの絞り込みが行われる。その結果、評価ポイントが正の値を持つモジュールが存在しなくなり、評価ポイント≦０のモジュールしか見つからなくなったときは（ステップＳＴ４：Ｎｏ）、その時点での処理中モジュールを配置先モジュールと決定する（ステップＳＴ６）。
【００４０】
このような配置先モジュール決定手順によれば、素子を追加したときに接続信号がモジュール枠を通過する回数が最小となるような配置先モジュールを決定することができるので、接続先のモジュールにおいて新たに発生するインタフェースピンの数を減らし、迂回配線の発生頻度を減らすことができる。
【００４１】
以下に図２〜図４を参照して具体的に説明する。なお、図２は、図１６に示す変更前回路にこの発明による追加素子の配置先モジュール決定手順を適用して素子Ｖ１の後ろにバッファを追加し、その追加バッファの出力信号が素子Ｖ２，Ｖ３の入力となるように変更した回路図である。図３は、図１８に示す変更前回路にこの発明による追加素子の配置先モジュール決定手順を適用して素子Ｎ１の後ろに３個のバッファを追加した回路図である。図４は、この発明による追加素子の配置先モジュール決定手順を使用して得られる変更後の論理素子接続情報での総ピン数と従来の追加素子の配置先モジュール決定手順を使用して得られる変更後の論理素子接続情報での総ピン数との比較図である。
【００４２】
図２に示すように、追加素子（バッファ）２１は、接続先のモジュールＡ内において、モジュールＤの出力端ｏｕｔＤ１とモジュールＣの入力端ｉｎＣ１との間に配置されている。図１７に示したような新たなインタフェースピン１７２の発生がなく、迂回配線も発生していないことが示されている。
【００４３】
図３に示すように、追加素子（バッファ）３１，３２，３３は、接続先のモジュールＧ内において、追加素子（バッファ）３１，３２，３３の入力端が共通にモジュールＧの入力端ａと素子（インバータ）Ｖ１の入力端との接続ラインに接続され、追加素子（バッファ）３１，３２，３３の出力端が素子（インバータ）Ｖ２，Ｖ３，Ｖ４の入力端に接続されるように配置される。図１９に示したような新たなインタフェースピン１９４，１９５，１９６の発生はないことが示されている。
【００４４】
図４では、論理素子接続情報変更後総ピン数について２つの実験結果が示されている。この論理素子接続情報変更後総ピン数は、変更後の論理素子接続情報において、各モジュールのインタフェースピン数（（ノーマルピン数＋バスピン数）で既存のピンと追加ピンとの双方を含む）にそのモジュールの使用回数を掛け合わせて積算したものである。
【００４５】
実験結果＃１は、接続情報を記述した元のネットリストの総ライン数＝１５０，８８３ラインとし、元のネットリストに含まれる総モジュール数＝８７７個（同じモジュールが３回繰り返し使用される場合には３個とカウントしている）とし、追加する素子数＝７４７個とした場合に得られたものである。
【００４６】
実験結果＃１では、従来の追加素子の配置先モジュール決定手順を使用した場合の論理素子接続情報変更後総ピン数は、２３，７４６個である。これに対しこの発明の追加素子の配置先モジュール決定手順を使用した場合の論理素子接続情報変更後総ピン数は、２３，４００個であり、総ピン数が減少していることが解る。
【００４７】
また、実験結果＃２は、接続情報を記述した元のネットリストの総ライン数＝９５０，６１８ラインとし、元のネットリストに含まれる総モジュール数＝４０，８７５個（同じモジュールが３回繰り返し使用される場合には３個とカウントしている）とし、追加する素子数＝１７，３９０個とした場合に得られたものである。
【００４８】
実験結果＃２では、従来の追加素子の配置先モジュール決定手順を使用した場合の論理素子接続情報変更後総ピン数は、２８１，５５５個である。これに対しこの発明の追加素子の配置先モジュール決定手順を使用した場合の論理素子接続情報変更後総ピン数は、２７６，２９４個であり、総ピン数の減少が顕著に現れている。
【００４９】
実施の形態２．
図５は、この発明の実施の形態２である論理素子接続情報編集方法で実施する追加素子の配置先モジュール決定手順を示すフローチャートである。なお、図５では、図１に示した処理と同一ないしは同等である処理部分には、同一の符号が付されている。ここでは、この実施の形態２に関わる部分を中心に説明する。
【００５０】
実施の形態１（図１）で示した追加素子の配置先モジュール決定手順では、評価ポイント≦０のモジュールしか見つからなくなったときは（ステップＳＴ４：Ｎｏ）、ループを抜けるようにしているので、同じ評価ポイントを持つ配置先モジュールの候補が複数あった場合に、その中で最上位のモジュールに到達すると、それよりも下位のモジュールは調査されないことが生ずる。
【００５１】
そこで、この実施の形態２では、実施の形態１（図１）で示したステップＳＴ６の処理に代えて、ステップＳＴ１１〜ステップＳＴ１５の処理を追加し、同じ評価ポイントを持つ配置先モジュールの候補が複数あった場合には、それらの全てを検索し、より適切な配置先モジュールの決定が行えるようにしている。
【００５２】
図５において、評価ポイント≦０のモジュールしか見つからなくなったときは（ステップＳＴ４：Ｎｏ）、評価ポイント＝０のモジュールが存在するか否かを判断する（ステップＳＴ１１）。その結果、評価ポイント＝０のモジュールが存在する場合には（ステップＳＴ１１：Ｙｅｓ）、処理中モジュールを候補モジュールに加え、その評価ポイント＝０のモジュール（複数ある場合はそのいずれか１つ）を処理中モジュールとし（ステップＳＴ１２）、ステップＳＴ３に戻り、候補モジュールの選択処理を続行する。
【００５３】
また、ステップＳＴ１１おいて、評価ポイント＝０のモジュールが存在せず、評価ポイント＜０のモジュールしか存在しない場合は（ステップＳＴ１１：Ｎｏ）、候補モジュールの選択処理は行わず、処理中モジュールを候補モジュールに加えるのみ行い（ステップＳＴ１３）、候補モジュールが複数存在するか否かを判断する（ステップＳＴ１４）。その結果、候補モジュールが１つしか存在しないのであれば（ステップＳＴ１４：Ｎｏ）、その候補モジュールを配置先モジュールと決定し（ステップＳＴ１６）、候補モジュールが複数存在する場合には（ステップＳＴ１４：Ｙｅｓ）、予め定めたコントロールデータで指示された内容に従って配置先モジュールを１つ選ぶ（ステップＳＴ１５）。
【００５４】
ここで、コントロールデータでは、例えば図６に示すように、同じ評価ポイントを持つ複数の候補モジュールから配置先モジュールを選択する各種のモード指定が行えるようになっている。なお、図６は、図５に示す追加素子の配置先モジュール決定手順で用いるコントロールデータの内容と配置場所決定との関係説明図である。
【００５５】
図６において、ある最上位モジュール（トップモジュール）に包含されるモジュールＡには、モジュールＢが含まれ、モジュールＢには、モジュールＣが含まれ、モジュールＣには、オリジナルネットリスト中の入力素子●（追加素子６１の入力信号を出力する素子）が含まれている。これらのモジュールは、同じ評価ポイントを持つので、追加素子６１をいずれのモジュールに配置しても、発生するインタフェースピンの数は同じである。
【００５６】
また、ある最上位モジュール（トップモジュール）に包含されるモジュールＤには、モジュールＥが含まれ、モジュールＥには、モジュールＦが含まれ、モジュールＦには、オリジナルネットリスト中の出力素子●（追加素子６１の出力信号を入力する素子）が含まれている。これらのモジュールは、同じ評価ポイントを持つので、追加素子６１をいずれのモジュールに配置しても、発生するインタフェースピンの数は同じである。
【００５７】
そこで、コントロールデータによって、例えば、“上位モジュールモード”と、“入力信号優先モード”と、“出力信号優先モード”とを指定できるようにする。そうすると、コントロールデータの指示モードが“上位モジュールモード”である場合には、最上位の階層であるトップモジュールが選択される。コントロールデータの指示モードが“入力信号優先モード”である場合には、それらのモジュール内に追加素子６１の入力信号を出力する素子が存在するか否かを調べ、モジュールＣが選択される。また、コントロールデータの指示モードが“出力信号優先モード”である場合には、それらのモジュール内に追加素子６１の出力信号を入力する素子が存在するか否かを調べ、モジュールＦが選択される。
【００５８】
このようにコントロールデータで指示された内容（モード）の属性を調べることによって配置先モジュールが選択される。モードの意味と、そのモードに対応する配置先モジュールの選択手順とが明確であれば、任意に選択できるので、コントロールデータにて指示できるモードの種類や数には、特別の制約はない。図６に示した例で言えば、中間層のモジュールＡ、Ｂ、Ｄ、Ｅが選ばれるモードを設定することができる。
【００５９】
この実施の形態２によれば、同じ評価ポイントを持つ候補モジュールが複数ある場合に、それらを拾い出し、どの候補モジュールを配置先モジュールとして選択するかが制御できるようになる。したがって、設計者の希望を反映した論理素子接続情報を生成することができる。
【００６０】
実施の形態３．
図７は、この発明の実施の形態３である論理素子接続情報編集方法で実施する追加素子の配置先モジュール決定手順で扱う相互に接続関係を持つ複数の追加素子を説明する図である。
【００６１】
図７では、相互に接続関係を持つ３つの追加素子７１，７２，７３が示されている。追加素子７１は、２入力のＡＮＤゲートであるが、その２つの入力端には、オリジナルネットリスト中の素子●１，●２が接続されている。追加素子７２は、インバータであり、入力端には追加素子７１の出力端が接続されている。追加素子７３は、３入力のＮＡＮＤゲートであるが、１つの入力端には追加素子７２の出力端が接続され、残りの２つの入力端には、オリジナルネットリスト中の素子●３，●４が接続されている。また、追加素子７３の出力端は、オリジナルネットリスト中の素子●５に接続されている。
【００６２】
さて、ある追加素子の全ての接続先が既知の素子のみである場合には、実施の形態１にて示した追加素子の配置先モジュール決定手順によって、その全ての接続先情報を評価ポイントを算出して評価し、配置先モジュールを決定することができる。ところが、図７に示すように、追加素子７１の接続先は追加素子７２であり、追加素子７２の接続先も追加素子７３であるというように、相互に接続関係を持つ複数の追加素子（追加素子群）に実施の形態１にて示した追加素子の配置先モジュール決定手順をそのまま適用すると、各追加素子について全ての接続先が明らかになるまでは配置先モジュールの決定ができないので、３素子の配置先モジュール決定処理が終了しないという不具合が生ずる。
【００６３】
この問題を解決する方法には、２つある。そのうちの一つをこの実施の形態３にて説明する。もう一つの方法は、後述する実施の形態４にて説明する。これらの２つの方法は、対象となる追加素子群の内容に応じて切り替えて適用できるようになっている。
【００６４】
この実施の形態３にて説明する第１の方法は、当該追加素子群をまとめて１つ仮想素子とし、その仮想素子の配置先モジュールを実施の形態１にて示した追加素子の配置先モジュール決定手順を用いて決定することによって、その追加素子群の配置先モジュールを決定するという方法である。以下に図８を参照して説明する。なお、図８は、図７に示す相互に接続関係を持つ複数の追加素子を仮想素子の概念を用いて追加する場合の説明図である。
【００６５】
図８において、図７に示す相互に接続関係を持つ３つの追加素子７１，７２，７３をまとめて仮想素子８１とすると、この仮想素子８１は、オリジナルネットリスト中の素子●１，●２，●３，●４が接続される４つの入力端と、オリジナルネットリスト中の素子●５が接続される１つの出力端とを持つ１つの追加素子となる。この仮想素子８１に対し、実施の形態１にて示した追加素子の配置先モジュール決定手順を適用して配置先モジュールを決定する。そして、得られた配置先モジュールに３つの追加素子７１，７２，７３の全てを配置する。
【００６６】
この実施の形態３による第１の方法によれば、仮想素子の概念によって追加素子群の配置先モジュール決定処理を１回で済ませることができるので、配置先モジュール決定処理を高速に行うことが可能になる。
【００６７】
実施の形態４．
図９は、この発明の実施の形態４である論理素子接続情報編集方法で実施する相互に接続関係を持つ複数の追加素子の配置先モジュールを接続先判明率の概念を用いて決定する手順を示すフローチャートである。
【００６８】
この実施の形態４では、前述したような相互に接続関係を持つ複数の追加素子（追加素子群）の配置先モジュール決定についての第２の方法を説明する。この実施の形態４にて説明する第２の方法は、各追加素子のその時点で既に明らかになっている接続先の情報のみを用いて順次配置先モジュールを決定するという方法である。この第２の方法では、“接続先判明率”なる概念が用いられる。
【００６９】
“接続先判明率”とは、“各追加素子の接続先の素子がどのモジュールに属するかが明らかになっている度合いを示す数値”である。図７を参照して具体的に説明する。追加素子７１は、全接続先数は３であり、その中で既存素子は、オリジナルネットリスト中の素子●１，●２の２つであるので、追加素子７１の接続先判明率は、２／３＝６７％と考える。追加素子７２は、全接続先数は２であるが、その中には既存素子が存在しないので、追加素子７２の接続先判明率は、０％と考える。また、追加素子７３は、全接続先数は４であり、その中で既存素子は、オリジナルネットリスト中の素子●３，●４，●５の３つであるので、追加素子７３の接続先判明率は、３／４＝７５％と考える。
【００７０】
さて、図９において、相互に接続関係を持つ複数の追加素子それぞれの接続先判明率を計算する（ステップＳＴ２１）。そして、最高の接続先判明率を持つ追加素子が複数存在するか否かを判断する（ステップＳＴ２２）。その結果、複数存在しない場合には（ステップＳＴ２２：Ｎｏ）、最高の接続先判明率を持つ追加素子を選択し（ステップＳＴ２４）、その選択した追加素子の配置先モジュールを決定する（ステップＳＴ２５）。また、ステップＳＴ２２において複数存在する場合には（ステップＳＴ２２：Ｙｅｓ）、その最高の接続先判明率が最も早く得られた追加素子を選択し（ステップＳＴ２３）、その選択した追加素子の配置先モジュールを決定する（ステップＳＴ２５）。そして、全ての追加素子について配置先モジュールの決定を行うために（ステップＳＴ２６：Ｎｏ）、残りの追加素子について接続先判明率の再計算を行って（ステップＳＴ２７）、ステップＳＴ２２に戻り、以上の処理を繰り返し行う。
【００７１】
以下、図７、図１０、図１１を参照して、図９に示す手順と対応付けて具体的に説明する。図１０は、最高の接続先判明率を有する追加素子が複数存在する場合に追加素子の処理順を最高の接続先判明率が最も早く得られた順序に従って決める方法の説明図である。図１１は、最高の接続先判明率が最も早く得られた順序に従って決める方法の効果を説明する図である。
【００７２】
図７に示した例では、追加素子７１，７２，７３の接続先判明率は、それぞれ６７％、０％、７５％である（ステップＳＴ２１）（ステップＳＴ２２：Ｎｏ）。接続先判明率の最も高い追加素子７３を選び（ステップＳＴ２４）、配置先モジュールを決定する（ステップＳＴ２５）。
【００７３】
ここで、追加素子７１，７２，７３を順不同に処理するのではなく、接続先判明率の最も高い追加素子７３の配置先モジュールを最優先する理由は、接続先判明率が高ければそれだけ詳しい接続先情報が得られるので、全ての接続先が判明している場合に得られる配置先モジュール決定結果に近い結果を求めることができるからである。また、追加素子７３の配置先モジュールの決定結果を次の追加素子７２の配置先モジュールを決定するときの評価資料にすれば、追加素子７２の配置結果も良好な結果になることが期待できるからでもある。
【００７４】
追加素子７３の配置先モジュールの決定（ステップＳＴ２５）後には、残りの追加素子７１，７２の接続先判明率を再計算し（ステップＳＴ２７）、その時点で接続先判明率が最も高い追加素子を優先的に処理する（ステップＳＴ２２→ステップＳＴ２４）。すなわち、追加素子７３の配置先モジュールの決定時点で追加素子７２の接続先の１つが明らかになったので、追加素子７２の接続先判明率は、５０％になるが、追加素子７１の接続先判明率は、依然として６７％である。この６７％が現時点での最高の接続先判明率であるので、追加素子７１を先に処理する。当然、追加素子７２の接続先判明率を再計算した結果、追加素子７１の接続先判明率を超えることになれば、処理順は、追加素子７２，７１の順になる。
【００７５】
また、追加素子群の各追加素子について接続先判明率を計算した結果（ステップＳＴ２１）、最高の接続先判明率を有する追加素子が複数存在する場合には（ステップＳＴ２２：Ｙｅｓ）、最高の接続先判明率が最も早く得られた追加素子から順に処理する（ステップＳＴ２３）。図１０を参照して説明する。
【００７６】
図１０において、オリジナルネットリスト中の素子●１が入力端に接続される追加素子１０１の出力端は、追加素子１０２，１０３の入力端に接続され、追加素子１０２の出力端は、追加素子１０４，１０５の入力端に接続されている。追加素子１０３の出力端は、追加素子１０６，１０７の入力端に接続され、追加素子１０４の出力端は、追加素子１０８，１０９の入力端に接続されている。追加素子１０８の出力端は、オリジナルネットリスト中の素子●２，●３に接続され、追加素子１０９の出力端は、オリジナルネットリスト中の素子●４，●５に接続されている。追加素子１０５の出力端は、追加素子１１０，１１１の入力端に接続されている。追加素子１１０の出力端は、オリジナルネットリスト中の素子●６，●７に接続され、追加素子１１１の出力端は、オリジナルネットリスト中の素子●８，●９に接続されている。
【００７７】
追加素子１０６の出力端は、追加素子１１２，１１３の入力端に接続されている。追加素子１１２の出力端は、オリジナルネットリスト中の素子●１０，●１１に接続され、追加素子１１３の出力端は、オリジナルネットリスト中の素子●１２，●１３に接続されている。追加素子１０７の出力端は、追加素子１１４，１１５の入力端に接続されている。追加素子１１４の出力端は、オリジナルネットリスト中の素子●１４，●１５に接続され、追加素子１１５の出力端は、オリジナルネットリスト中の素子●１６，●１７に接続されている。
【００７８】
図１０に示した例では、初期状態での接続先判明率は、追加素子１０１が３３％、追加素子１０２〜１０７が０％、追加素子１０８〜１１５が６７％であり、追加素子１０８〜１１５が最高の接続先判明率を持っている。追加素子１０８〜１１５間での処理順は、任意である。ここでは、追加素子１０８〜１１５の順に処理することとする。
【００７９】
追加素子１０８，１０９の順に処理が進んだときに、追加素子１０４の接続先判明率が６７％に達し、最高の接続先判明率と同率となる。しかし、追加素子１０８，１０９の処理後に追加素子１０４の処理に移ることにすると、最初に配置先モジュールを決定した追加素子の周辺に追加素子が集中して配置される可能性が高くなる。そこで、直ぐ追加素子１０４の処理には移らず、追加素子１０４の処理は、追加素子１１０〜１１５の処理後に行うこととする。
【００８０】
すなわち、追加素子１０８〜１１５の処理完了時点で追加素子１０４〜１０７の接続先判明率が６７％に達し、最高の接続先判明率と同率となるので、先に６７％に達した追加素子１０４を処理し、その後で追加素子１０５，１０６，１０７と順に処理する。以降、同様に追加素子１０２，１０３，１０１の順に処理し、完了する。
【００８１】
次に、図１１を参照して、最高の接続先判明率が最も早く得られた順序に従って決める方法の効果を説明する。図１１中、（結果１）と（結果２）は、最高の接続先判明率が最も早く得られた順序に従って決める方法を用いない場合を示し、（結果３）は、最高の接続先判明率が最も早く得られた順序に従って決める方法を用いた場合を示している。
【００８２】
図１１では、トップ階層（トップモジュール）内にオリジナルネットリスト中の素子●１があり、モジュールＡ内に素子●２があり、それらの間に、追加素子１１１，１１２，１１３，１１４を配置する場合が示されている。初期状態での接続先判明率は、追加素子１１１，１１４が５０％、追加素子１１２，１１３が０％である。
【００８３】
（結果１）最初に処理する素子として追加素子１１４を選ぶと、まず、追加素子１１４がモジュールＡ内に配置される。その配置結果を使って追加素子１１３を処理し、さらに追加素子１１２を処理すると、追加素子１１３は追加素子１１４に引っ張られ、追加素子１１２は追加素子１１３に引っ張られる形でモジュールＡ内に集中して配置される。
【００８４】
（結果２）逆に最初に処理する素子として追加素子１１１を選び、追加素子１１２，１１３と順に処理すると、追加素子１１１，１１２，１１３，１１４の全てがトップモジュール内に集中して配置される。
【００８５】
（結果３）最高の接続先判明率が最も早く得られた順序に従って決める方法を用いると、追加素子１１１，１１２はトップモジュール内に配置され、追加素子１１３，１１４はモジュールＡ内に配置される。すなわち、追加素子１１１，１１２，１１３，１１４は、トップモジュールとモジュールＡとに均等に配置される。
【００８６】
このように、最高の接続先判明率を持つ追加素子が複数存在する場合に、最高の接続先判明率が最も早く得られた順序に従って決める方法を用いない場合には追加素子が局所的に集中して配置される論理素子接続情報が生成されてしまうが、この実施の形態４によれば、そのようなことがなく、バランスのよい論理素子接続情報を生成することができる。
【００８７】
実施の形態５．
図１２は、この発明の実施の形態５である論理素子接続情報編集方法で実施する追加素子の配置先モジュール決定手順にて採用する前処理を説明する図である。
【００８８】
この実施の形態５では、配置先モジュール決定の前処理として、ある信号に接続する既存素子情報を収集する場合に、信号に接続する素子が同一モジュール内に複数存在するときは、代表の１素子のみの情報を内部テーブルに格納する方法が示されている。以下に図１２を参照して説明する。
【００８９】
図１２において、モジュールＡには、素子Ｖ１，Ｖ２が配置されるとともに、モジュールＢが含まれている。モジュールＢには、素子Ｖ１，Ｖ２，Ｖ３，Ｖ４，Ｖ５が配置されるとともに、モジュールＣ，Ｄが含まれている。モジュールＣには、素子Ｖ１が配置され、モジュールＢ内の素子Ｖ１，Ｖ２，Ｖ３に接続されている。モジュールＤには、素子Ｖ１が配置され、モジュールＢ内の素子Ｖ４，Ｖ５と、モジュールＡ内の素子Ｖ１，Ｖ２とに接続されている。また、素子Ｖ１が配置されるモジュールＥがモジュールＡとは独立して存在している。
【００９０】
追加素子１２１は、２入力のＡＮＤゲートである。その一方の入力ピンＸのファンイン先は、モジュールＣ内の素子Ｖ１とモジュールＢ内の素子Ｖ１，Ｖ２，Ｖ３とを接続する信号である。他方の入力ピンＹのファンイン先は、モジュールＤ内の素子Ｖ１と、モジュールＢ内の素子Ｖ４，Ｖ５と、モジュールＡ内の素子Ｖ１，Ｖ２とを接続する信号である。また、出力ピンＺのファンアウト先は、モジュールＥ内の素子Ｖ１である。この追加素子１２１の接続先のデータを整理すると、次のようになる。
【００９１】
１．追加素子１２１のピンＸの接続先データは、（１）モジュールＣ内の素子Ｖ１、（２）モジュールＢ内の素子Ｖ１、（３）モジュールＢ内の素子Ｖ２、（４）モジュールＢ内の素子Ｖ３である。
【００９２】
２．追加素子１２１のピンＹの接続先データは、（１）モジュールＤ内の素子Ｖ１、（２）モジュールＢ内の素子Ｖ４、（３）モジュールＢ内の素子Ｖ５、（４）モジュールＡ内の素子Ｖ１、（５）モジュールＡ内の素子Ｖ５である。
【００９３】
３．追加素子１２１のピンＺの接続先データは、（１）モジュールＥ内の素子Ｖ１である。
【００９４】
ここで、配置先モジュールを決定するために必要なのは接続先がどのモジュールに及んでいるかという情報であり、モジュール内での接続数は考慮しない。そこで、ある信号に接続する素子が同一モジュール内に複数存在するときは、代表の１素子のみの情報を内部テーブルに格納する。
【００９５】
すなわち、追加素子１２１のピンＸの接続先データでは、（３）モジュールＢ内の素子Ｖ２と、（４）モジュールＢ内の素子Ｖ３とが省略可能である。また、追加素子１２１のピンＹの接続先データでは、（３）モジュールＢ内の素子Ｖ５と、（５）モジュールＡ内の素子Ｖ５とが省略可能である。
【００９６】
したがって、追加素子１２１の接続先のデータを簡略にした場合の回路図は、図１３に示したようになる。図１３では、モジュールＡでは、モジュールＤに接続される素子Ｖ１が残っている。モジュールＢでは、モジュールＣに接続される素子Ｖ１と、モジュールＤに接続される素子Ｖ４が残っている。
【００９７】
そして、追加素子１２１の接続先のデータでは、追加素子１２１のピンＸの接続先データが、（１）モジュールＣ内の素子Ｖ１、（２）モジュールＢ内の素子Ｖ１となり、追加素子１２１のピンＹの接続先データが、（１）モジュールＤ内の素子Ｖ１、（２）モジュールＢ内の素子Ｖ４、（３）モジュールＡ内の素子Ｖ１となる。このように、追加素子１２１の接続先のデータ数は、以前の１０個から６個に減らすことができる。
【００９８】
この実施の形態５によれば、前処理（追加素子の接続先データ収集処理）において各追加素子の接続先情報量を削減することができるので、プログラムの高速化、使用メモリ量の削減が可能となる。また、追加素子の配置先モジュール決定処理において、配置先モジュール決定のための評価データが削減される結果、配置先モジュール決定処理が高速に行えるようになる。
【００９９】
【発明の効果】
以上説明したように、この発明によれば、第１工程では、変更指示情報が指定する一つの追加素子について、その追加素子の全ての接続先を包含するモジュールの中で最下位のモジュールが処理中モジュールとされる。第２工程では、前記処理中モジュールに含まれる下層モジュールの中から前記追加素子が接続される素子を含むモジュールが１つずつ取り出され、各モジュールについて前記追加素子を配置したときの接続情報に関する評価ポイントが算出される。第３工程では、前記第２工程にて算出された評価ポイントの値が前記追加素子の接続先に下層モジュールが含まれる場合に相当する第１所定値範囲内にある間は、前記第２工程における処理中モジュールが評価ポイントの最も高いモジュール（複数あるときはそのいずれか１つ）を用いて更新され、前記第１所定値範囲内にないとき、前記処理中モジュールが配置先モジュールと決定される。その結果、素子を追加したとき、接続信号がモジュールの枠を通過する回数が最小となる配置先モジュールが決定されので、新たに発生するピン数が少なく、迂回配線の少ない論理素子接続情報を編集することができる。
【０１００】
つぎの発明によれば、上記の発明において、前記接続情報に関する評価ポイントは、取り出したモジュールに追加素子を配置したとき、接続先が下層モジュールに全く含まれない接続信号の数、接続先が下層モジュールに全て含まれる接続信号の数、接続先が下層モジュールと上層モジュールの双方に含まれる接続信号の数のそれぞれに予め定めた評価点数を掛けて積算することによって求めることができる。
【０１０１】
つぎの発明によれば、上記の発明において、第４工程では、前記第２工程にて算出された評価ポイントの値が、前記第１所定値範囲内にないとき、前記追加素子の接続先に下層モジュールと上層モジュールの双方が含まれる場合に相当する第２所定値範囲内にある間は、処理中モジュールが候補モジュールに加えられる。そして、前記第２工程における処理中モジュールが評価ポイントの値が前記第２所定値範囲内にあるモジュール（複数あるときはそのいずれか１つ）を用いて更新される。第５工程では、前記評価ポイントの値が第２所定値範囲内にないとき、処理中モジュールが候補モジュールに加えられる。その結果、候補モジュールが複数存在する場合はコントロールデータで指示された内容に従って配置先モジュールが１つ選択される一方、候補モジュールが複数存在しない場合はその候補モジュールが配置先モジュールと決定される。したがって、同じ評価ポイントを持つ配置先モジュール候補が複数ある場合にそれらを全て調べることができるので、コントロールデータを用いて適切なモジュールを選択することができ、設計者の希望を反映した論理素子接続情報を編集することができる。
【０１０２】
つぎの発明によれば、上記の発明において、前記追加素子は、相互に接続関係を持つ複数の追加素子をまとめた１つの仮想素子である。すなわち、追加素子が相互に接続されている場合に、それらをまとめて１つの仮想素子とし、その仮想素子の配置先モジュールを決定することで、相互に接続関係を持つ複数の追加素子の配置先モジュールが決定される。したがって、配置先モジュール決定処理の高速化が図れる。
【０１０３】
つぎの発明によれば、上記の発明において、前記追加素子が、相互に接続関係を持つ複数の追加素子からなる場合において、予め前記複数の追加素子それぞれの接続先判明率が計算される。そして、全ての追加素子について配置先モジュールの決定ができるまでの間は、最高の接続先判明率を持つ追加素子について配置先モジュールを決定することが、残りの追加素子について接続先判明率の再計算を実行しつつ繰り返される。したがって、相互に接続関係を持つ複数の追加素子それぞれの配置先モジュールを１追加素子ずつ順に精度良く決定することができる。
【０１０４】
つぎの発明によれば、上記の発明において、最高の接続先判明率を持つ追加素子が複数存在する場合に、全ての追加素子について配置先モジュールの決定ができるまでの間は、最高の接続先判明率が最も早く得られた追加素子について配置先モジュールを決定することが、残りの追加素子について接続先判明率の再計算を実行しつつ繰り返される。したがって、追加素子が局所的に集中して配置されることがなく、均等に配置できるので、バランスの良い論理素子接続情報を編集することができる。
【０１０５】
つぎの発明によれば、上記の発明において、前記追加素子の接続情報を収集する際に、ある信号に接続する素子が同一モジュール内に複数存在するときは、代表の１素子分のみの情報が内部テーブルに格納される。したがって、追加素子の接続情報収集処理において各追加素子の接続先情報量を削減できるので、プログラムの高速化や使用メモリ量の削減が可能となる。また、配置先モジュール決定のための評価データが減少するので、配置先モジュール決定処理の高速化が図れる。
【図面の簡単な説明】
【図１】この発明の実施の形態１である論理素子接続情報編集方法で実施する追加素子の配置先モジュール決定手順を示すフローチャートである。
【図２】図１６に示す変更前回路にこの発明による追加素子の配置先モジュール決定手順を適用して素子Ｖ１の後ろにバッファを追加し、その追加バッファの出力信号が素子Ｖ２，Ｖ３の入力となるように変更した回路図である。
【図３】図１８に示す変更前回路にこの発明による追加素子の配置先モジュール決定手順を適用して素子Ｎ１の後ろに３個のバッファを追加した回路図である。
【図４】この発明による追加素子の配置先モジュール決定手順を使用して得られる変更後の論理素子接続情報での総ピン数と従来の追加素子の配置先モジュール決定手順を使用して得られる変更後の論理素子接続情報での総ピン数との比較図である。
【図５】この発明の実施の形態２である論理素子接続情報編集方法で実施する追加素子の配置先モジュール決定手順を示すフローチャートである。
【図６】図５に示す追加素子の配置先モジュール決定手順で用いるコントロールデータの内容と配置場所決定との関係説明図である。
【図７】この発明の実施の形態３である論理素子接続情報編集方法で実施する追加素子の配置先モジュール決定手順で扱う相互に接続関係を持つ複数の追加素子を説明する図である。
【図８】図７に示す相互に接続関係を持つ複数の追加素子を仮想素子の概念を用いて追加する場合の説明図である。
【図９】この発明の実施の形態４である論理素子接続情報編集方法で実施する相互に接続関係を持つ複数の追加素子の配置先モジュールを接続先判明率の概念を用いて決定する手順を示すフローチャートである。
【図１０】最高の接続先判明率を有する追加素子が複数存在する場合に追加素子の処理順を最高の接続先判明率に到達した時刻に従って決める方法の説明図である。
【図１１】最高の接続先判明率に到達した時刻に従って決める方法の効果を説明する図である。
【図１２】この発明の実施の形態５である論理素子接続情報編集方法で実施する追加素子の配置先モジュール決定手順にて採用する前処理を説明する図である。
【図１３】図１２に示す前処理の効果を説明する図である。
【図１４】論理素子接続情報編集装置の動作を説明する図である。
【図１５】従来の論理素子接続情報編集方法で実施する追加素子の配置先モジュール決定手順を示すフローチャートである。
【図１６】素子Ｖ１の後ろにバッファを追加し、その追加バッファの出力信号が素子Ｖ２，Ｖ３の入力となるように変更する場合の変更前回路図である。
【図１７】図１６に示す変更前回路に従来の追加素子の配置先モジュール決定手順を適用して素子Ｖ１の後ろにバッファを追加し、その追加バッファの出力信号が素子Ｖ２，Ｖ３の入力となるように変更した回路図である。
【図１８】素子Ｎ１の後ろに３個のバッファを追加する場合の変更前回路図である。
【図１９】図１８に示す変更前回路に従来の追加素子の配置先モジュール決定手順を適用して素子Ｎ１の後ろに３個のバッファを追加した回路図である。
【符号の説明】
２１，３１〜３３　追加素子（バッファ）、６１，７１〜７３，１０１〜１１５
追加素子、８１　仮想素子、Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ　モジュール。
【図１】
2004021315.tif 000003
【図２】
2004021315.tif 000004
【図３】
2004021315.tif 000005
【図４】
2004021315.tif 000006
【図５】
2004021315.tif 000007
【図６】
2004021315.tif 000008
【図７】
2004021315.tif 000009
【図８】
2004021315.tif 000010
【図９】
2004021315.tif 000011
【図１０】
2004021315.tif 000012
【図１１】
2004021315.tif 000013
【図１２】
2004021315.tif 000014
【図１３】
2004021315.tif 000015
【図１４】
2004021315.tif 000016
【図１５】
2004021315.tif 000017
【図１６】
2004021315.tif 000018
【図１７】
2004021315.tif 000019
【図１８】
2004021315.tif 000020
【図１９】
2004021315.tif 000021