(57)【要約】【課題】ＬＳＩのインタフェース部分を設計する際の負担を軽減する。【解決手段】端末１、ＬＳＩの外部情報３と内部情報４とライブラリ情報５をデータベースから読み出し、これら外部情報３、内部情報４、ライブラリ情報５を用いてインタフェース部分の設計情報を記録したＩ／Ｆ情報テーブルを自動生成する。この自動生成に際しては、外部信号と内部信号とを対応させるとともに、両信号間に配置するバッファを決定し、両信号名と決定したバッファとを対応させてＩ／Ｆ情報テーブルに記録する。バッファの決定では、ライブラリ情報に記録されているバッファの中から、少なくとも遅延時間の計算値が期待値よりも小さいもの、さらにはその中で計算値が最小のものを選択する。【選択図】　　　図１
2004013851.tif 000002
【特許請求の範囲】
【請求項１】
ＬＳＩの外部情報と内部情報とライブラリ情報を記憶しておく記憶手段と、
前記外部情報と前記内部情報と前記ライブラリ情報を用いてＬＳＩのインタフェース部分の設計情報を生成する生成手段と、
を有することを特徴とするＬＳＩ設計支援システム。
【請求項２】
前記生成手段は、前記外部情報および前記内部情報を用いてＬＳＩの外部信号名と内部信号名とを対応させ、前記ライブラリ情報を用いて両信号間に配置するバッファを決定し、両信号名と決定したバッファ名とを対応させて記録することにより前記設計情報を生成することを特徴とする請求項１記載のＬＳＩ設計支援システム。
【請求項３】
前記バッファの決定は、前記ライブラリ情報に記録されているバッファのうちで遅延時間の計算値が期待値よりも小さいバッファの中から決定することを特徴とする請求項２記載のＬＳＩ設計支援システム。
【請求項４】
前記バッファの決定は、遅延時間の計算値が期待値よりも小さいバッファの中で、計算値が最小のバッファを決定することを特徴とする請求項３記載のＬＳＩ設計支援システム。
【請求項５】
前記外部情報は、ＬＳＩが設置される基板についての基板情報であることを特徴とする請求項１乃至４のいずれかに記載のＬＳＩ設計支援システム。
【請求項６】
前記基板情報は、データリスト又は回路図のうちの少なくとも一方が用いられることを特徴とする請求項５記載のＬＳＩ設計支援システム。
【請求項７】
前記内部情報は、システム記述言語又は回路図のうちの少なくとも一方が用いられることを特徴とする請求項１乃至６のいずれかに記載のＬＳＩ設計支援システム。
【請求項８】
前記インタフェース部分の設計情報を所定の形式で出力する出力手段を有することを特徴とする請求項１乃至７のいずれかに記載のＬＳＩ設計支援システム。
【請求項９】
前記所定の形式は、システム記述言語又は回路図のうちの少なくとも一方が用いられることを特徴とする請求項８に記載のＬＳＩ設計支援システム。
【請求項１０】
ＬＳＩの外部情報と内部情報とライブラリ情報を記憶する記憶手段からこれらの情報を読み出す読出処理と、
外部情報と内部情報とライブラリ情報とを用いてＬＳＩのインタフェース部分の設計情報を生成する生成処理と、
をコンピュータに実行させることを特徴とするＬＳＩ設計支援プログラム。
【請求項１１】
前記生成処理は、前記外部情報および前記内部情報を用いて外部信号名と内部信号名とを対応させ、前記ライブラリ情報を用いて両信号間に配置するバッファを決定し、両信号名と決定したバッファ名とを対応させて記録することにより前記設計情報を生成することを特徴とする請求項１０記載のＬＳＩ設計支援プログラム。
【請求項１２】
前記バッファの決定は、前記ライブラリ情報に記録されているバッファのうちで遅延時間の計算値が期待値よりも小さいバッファの中から決定することを特徴とする請求項１１記載のＬＳＩ設計支援プログラム。
【請求項１３】
前記バッファの決定は、遅延時間の計算値が期待値よりも小さいバッファの中で計算値が最小のバッファを決定することを特徴とする請求項１２記載のＬＳＩ設計支援プログラム。
【請求項１４】
前記外部情報は、ＬＳＩが設置される基板についての基板情報であることを特徴とする請求項１０乃至１３のいずれかに記載のＬＳＩ設計支援プログラム。
【請求項１５】
前記基板情報は、データリスト又は回路図のうちの少なくとも一方が用いられることを特徴とする請求項１４記載のＬＳＩ設計支援プログラム。
【請求項１６】
前記内部情報は、システム記述言語又は回路図のうちの少なくとも一方が用いられることを特徴とする請求項１０乃至１５のいずれかに記載のＬＳＩ設計支援プログラム。
【請求項１７】
前記インタフェース部分の設計情報を所定の形式で出力する出力処理をコンピュータに実行させることを特徴とする請求項１０乃至１６のいずれかに記載のＬＳＩ設計支援プログラム。
【請求項１８】
前記所定の形式は、システム記述言語又は回路図のうちの少なくとも一方が用いられることを特徴とする請求項１７に記載のＬＳＩ設計支援プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＬＳＩの内部回路と外部回路の間のインタフェース部の設計を支援するＬＳＩ設計支援システムおよびこれに用いるプログラムに関する。
【０００２】
【従来の技術】
従来、ＬＳＩの基本的な設計工程は、まず仕様を作成し、ＬＳＩ内部を機能毎のブロックに分割し、各ブロック間の処理やデータの流れを決定してから、ＬＳＩの内部回路の設計をする。次に、設計したＬＳＩの内部回路とそのＬＳＩが実装される基板における外部回路とのインタフェース（Ｉ／Ｆ）回路を設計するために、両回路間での接続ピンの対応関係を決定する内外部リンク処理を行う。そして、これを検証し、Ｉ／Ｆ回路の設計を行う。
【０００３】
Ｉ／Ｆ回路の設計では、ＬＳＩが実装される基板における接続ピンの情報を、設計者が基板用のＣＡＤデータから抽出するか、あるいは予想や仮定をしていた。
【０００４】
【発明が解決しようとする課題】
しかしながら、近年のＬＳＩの大規模化に伴い、Ｉ／Ｆ回路の規模も増大してきたため、Ｉ／Ｆ回路の設計に膨大な作業時間を費やすようになり、設計者の負担が増大してきている。この弊害として、人為的なミスも発生しやすくなっている。
【０００５】
本発明は、上記に鑑みてなされたものであり、その目的とするところは、Ｉ／Ｆ回路を設計する際の負担の軽減に寄与し得るＬＳＩ設計支援システムおよびこれに用いるプログラムを提供することにある。
【０００６】
【課題を解決するための手段】
第１の本発明に係るＬＳＩ設計支援システムは、ＬＳＩの外部情報と内部情報とライブラリ情報を記憶しておく記憶手段と、前記外部情報と前記内部情報と前記ライブラリ情報を用いてＬＳＩのインタフェース部分の設計情報を生成する生成手段と、を有することを特徴とする。
【０００７】
本発明にあっては、ＬＳＩの外部情報と内部情報とライブラリ情報を記憶手段から読み出し、これらの情報を用いてインタフェース部分の設計情報を自動生成するようにしたことで、インタフェース部分の設計の作業時間が短縮され、手入力による作業が削減されるので、設計者の負担を軽減でき、人為的なミスを低減することができる。
【０００８】
第２の本発明は、上記ＬＳＩ設計支援システムにおいて、前記生成手段は、前記外部情報および前記内部情報を用いてＬＳＩの外部信号名と内部信号名とを対応させ、前記ライブラリ情報を用いて両信号間に配置するバッファを決定し、両信号名と決定したバッファ名とを対応させて記録することにより前記設計情報を生成することを特徴とする。
【０００９】
本発明にあっては、外部信号と内部信号間に配置するバッファを決定し、両信号名と決定したバッファ名とを対応させて記録することによって設計情報を生成するようにしている。
【００１０】
第３の本発明は、上記ＬＳＩ設計支援システムにおいて、前記バッファの決定は、前記ライブラリ情報に記録されているバッファのうちで遅延時間の計算値が期待値よりも小さいバッファの中から決定することを特徴とする。
【００１１】
第４の本発明は、上記ＬＳＩ設計支援システムにおいて、前記バッファの決定は、遅延時間の計算値が期待値よりも小さいバッファの中で、計算値が最小のバッファを決定することを特徴とする。
【００１２】
第３，第４の本発明にあっては、ライブラリ情報に記録されているバッファの中から、少なくとも遅延時間の計算値が期待値よりも小さいもの、さらにはその中で計算値が最小のものをインタフェース部分に配置するバッファとして決定するようにしたことで、適切なバッファが適用されるようにしている。
【００１３】
第５の本発明は、上記各ＬＳＩ設計支援システムにおいて、前記外部情報は、ＬＳＩが設置される基板についての基板情報であることを特徴とする。
【００１４】
第６の本発明は、上記ＬＳＩ設計支援システムにおいて、前記基板情報は、データリスト又は回路図のうちの少なくとも一方が用いられることを特徴とする。
【００１５】
第５，第６の本発明にあっては、外部情報として、基板の設計において自動生成が可能なデータリスト又は回路図、あるいはその両方を用いるようにしたことで、外部情報を作成する作業を削減し、人為的なミスを低減するようにしている。
【００１６】
第７の本発明は、上記各ＬＳＩ設計支援システムにおいて、前記内部情報は、システム記述言語又は回路図のうちの少なくとも一方が用いられることを特徴とする。
【００１７】
本発明にあっては、内部情報として、ＬＳＩの設計において自動生成が可能なシステム記述言語又は回路図、あるいはその両方を用いるようにしたことで、内部情報を作成する作業を削減し、人為的なミスを低減するようにしている。
【００１８】
第８の本発明は、上記各ＬＳＩ設計支援システムにおいて、前記インタフェース部分の設計情報を所定の形式で出力する出力手段を有することを特徴とする。
【００１９】
本発明にあっては、インタフェース部分の設計情報を所定の形式で出力するようにしたことで、設計情報を利用する際の作業を削減し、人為的ミスを低減するようにしている。
【００２０】
第９の本発明は、上記ＬＳＩ設計支援システムにおいて、前記所定の形式は、システム記述言語又は回路図のうちの少なくとも一方が用いられることを特徴とする。
【００２１】
本発明にあっては、インタフェース部分の設計情報をシステム記述言語又は回路図、あるいはその両方により出力するようにしたことで、設計情報を迅速かつ容易に利用できるようにしている。
【００２２】
第１０の本発明に係るＬＳＩ設計支援プログラムは、ＬＳＩの外部情報と内部情報とライブラリ情報を記憶する記憶手段からこれらの情報を読み出す読出処理と、外部情報と内部情報とライブラリ情報とを用いてＬＳＩのインタフェース部分の設計情報を生成する生成処理と、をコンピュータに実行させることを特徴とする。
【００２３】
第１１の本発明は、上記ＬＳＩ設計支援プログラムにおいて、前記生成処理は、前記外部情報および前記内部情報を用いて外部信号名と内部信号名とを対応させ、前記ライブラリ情報を用いて両信号間に配置するバッファを決定し、両信号名と決定したバッファ名とを対応させて記録することにより前記設計情報を生成することを特徴とする。
【００２４】
第１２の本発明は、上記ＬＳＩ設計支援プログラムにおいて、前記バッファの決定は、前記ライブラリ情報に記録されているバッファのうちで遅延時間の計算値が期待値よりも小さいバッファの中から決定することを特徴とする。
【００２５】
第１３の本発明は、上記ＬＳＩ設計支援プログラムにおいて、前記バッファの決定は、遅延時間の計算値が期待値よりも小さいバッファの中で計算値が最小のバッファを決定することを特徴とする。
【００２６】
第１４の本発明は、上記各ＬＳＩ設計支援プログラムにおいて、前記外部情報は、ＬＳＩが設置される基板についての基板情報であることを特徴とする。
【００２７】
第１５の本発明は、上記ＬＳＩ設計支援プログラムにおいて、前記基板情報は、データリスト又は回路図のうちの少なくとも一方が用いられることを特徴とする。
【００２８】
第１６の本発明は、上記各ＬＳＩ設計支援プログラムにおいて、前記内部情報は、システム記述言語又は回路図のうちの少なくとも一方が用いられることを特徴とする。
【００２９】
第１７の本発明は、上記各ＬＳＩ設計支援プログラムにおいて、前記インタフェース部分の設計情報を所定の形式で出力する出力処理をコンピュータに実行させることを特徴とする。
【００３０】
第１８の本発明は、上記ＬＳＩ設計支援プログラムにおいて、前記所定の形式は、システム記述言語又は回路図のうちの少なくとも一方が用いられることを特徴とする。
【００３１】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【００３２】
図１は、一実施の形態に係るＬＳＩ設計支援システムの全体的な構成を示すブロック図である。同図のシステムは、ＬＳＩの設計支援プログラムを実行させるための端末１と各種の情報を記憶したデータベースがネットワーク７を介して接続された構成である。
【００３３】
端末１には、パソコン１ａやＥＷＳ（エンジニアリングワークステーション）１ｂといったコンピュータが用いられる。データベースには、ＬＳＩを実装する基板に関する情報（以下「外部情報」という）３と、ＬＳＩの内部に関する情報（以下「内部情報」という）４と、ＬＳＩ・基板間に用いるバッファ等のインタフェース部分に関する情報（以下「ライブラリ情報」）５が記憶されている。
【００３４】
外部情報３は、ＣＡＤ等により基板を設計したときに自動生成される基板情報が用いられる。基板情報は、例えば図２に示すデータリストや、図３に示す回路図で表される。
【００３５】
内部情報４は、ＣＡＤ等によりＬＳＩの内部を設計したときに自動生成されるＬＳＩ情報が用いられる。ＬＳＩ情報は、ＶＨＤＬやＶｅｒｉｌｏｇ、ＳｙｓｔｅｍＣ、ＳｐｅｃＣといったシステム記述言語や、図３に示したようなＬＳＩ部分の回路図で表される。
【００３６】
ライブラリ情報５には、外部信号および内部信号の種別や、図４に示すバッファに関する情報等が含まれる。同図（ａ）は入力バッファ、同図（ｂ）は出力バッファ、同図（ｃ）は入出力バッファについての情報をそれぞれ示す。
【００３７】
端末１のメモリには、ＬＳＩ・基板間のインタフェース部分の設計を支援する設計支援プログラムが格納されている。端末１は、このプログラムをＣＰＵで実行することによって、データベースから外部情報３、内部情報４、ライブラリ情報５を読み出す処理と、これらの情報を用いてインタフェース部分の設計情報（以下「Ｉ／Ｆ情報」という）６を生成する処理と、このＩ／Ｆ情報６をシステム記述言語や回路図といった所定の形式で出力する処理を行う。
【００３８】
なお、外部情報４、内部情報５、ライブラリ情報５、Ｉ／Ｆ情報６は、別個のデータベースに分散して記憶してもよいし、１つのデータベースに集中させて記憶するようにしてもよい。
【００３９】
図５は、本システムによるＩ／Ｆ回路の設計支援処理の全体的な概要を示すフローチャートである。本処理では、外部情報入力処理（ｓｔｅｐ１）、入力バッファの決定処理（ｓｔｅｐ２）、出力バッファの決定処理（ｓｔｅｐ３）により、図１４に示すＩ／Ｆ情報テーブルの空欄に所定事項を順次入力していき、Ｉ／Ｆ情報の出力処理（ｓｔｅｐ４）により、完成されたＩ／Ｆ情報テーブルに基づいて、Ｉ／Ｆ情報をシステム記述言語で記述されたファイルや回路図で出力する。以下、各ステップにおける処理について詳細に説明する。
【００４０】
［１．外部情報入力処理］
本処理は、外部情報をＩ／Ｆ情報テーブルに入力するとともに内部情報との整合を図る処理であり、手入力と自動入力の切替が可能である。
【００４１】
図６は、手入力による外部情報入力処理の一例を示すフローチャートである。まず、操作者は、端末１を用いてＩ／Ｆ情報テーブルのＰｉｎ番号を入力することによって入力行を特定し、そのＰｉｎ番号の信号が電源（ＶＤＤ）又はＧＮＤ（ＶＳＳ）か否か判断する（ｓｔｅｐ１１〜１２）。電源又はＧＮＤならば、Ｉ／Ｆ情報テーブルの電源欄にＶＤＤ又はＶＳＳを入力し、電源又はＧＮＤでない場合には、外部信号名が決まっているか否か、内部信号名が決まっているか否かを判断する（ｓｔｅｐ１３〜１４）。
【００４２】
外部信号名が決定していて、かつ内部信号名も決定しているならば、外部信号名をＩ／Ｆ情報テーブルの外部信号名欄に入力し、内部信号名を内部信号名欄に入力する（ｓｔｅｐ１５）。
【００４３】
外部信号名が決定していて、内部信号名が決定していないならば、外部信号名をＩ／Ｆ情報テーブルの外部信号名欄に入力し、内部信号名を決定して内部信号名欄に入力する（ｓｔｅｐ１６）。
【００４４】
外部信号名が決定していなくて、内部信号名が決定しているならば、外部信号名を決定してＩ／Ｆ情報テーブルの外部信号名欄に入力し、内部信号名を内部信号名欄に入力する（ｓｔｅｐ１７）。
【００４５】
外部信号名が決定していなくて、内部信号名も決定していないならば、外部信号名を決定してＩ／Ｆ情報テーブルの外部信号名欄に入力し、内部信号名を決定して内部信号名欄に入力する（ｓｔｅｐ１８）。
【００４６】
上記ｓｔｅｐ１１〜１８までの処理をＬＳＩの全ピンに対して実行したところで、外部信号名と内部信号名との整合性を確認する（ｓｔｅｐ１９）。整合が取れていない場合には、ｓｔｅｐ１１へ戻って上記処理を繰り返し行い、全ピンについて整合性が確認された場合には本処理を終了する。本処理によって、Ｉ／Ｆ情報テーブルは、図１５に一例を示すように、内部情報と整合性がとれた外部情報が入力された状態となる。
【００４７】
図７は、自動入力による外部情報入力処理の一例を示すフローチャートである。ここでは、外部信号名と内部信号名との間には予め取り決めを定めておく。具体的には、内部信号が入力に使われるならば文字列で「内部信号名」＝「Ｉ」＋「外部信号名」で表し、内部信号が出力に使われるならば「内部信号名」＝「Ｏ」＋「外部信号名」で表す。内部信号が入出力の双方に使われるならば「内部信号名」＝「Ｂｌ」＋「外部信号名」等のように表す。
【００４８】
まず、端末１は、基板情報からＰｉｎ番号および外部信号名をＰｉｎ番号の順に読み出し、Ｐｉｎ番号を変数ＰｉｎＮｏに代入し、外部信号名を変数ＯｕｔＮａｍｅに代入する（ｓｔｅｐ２１〜２３）。次に、端末１は、外部信号名が電源又はＧＮＤか否かを判断し、電源又はＧＮＤならばＩ／Ｆ情報テーブルのＰｉｎ　Ｎｏ．欄にＰｉｎ番号を入力し、電源欄にＶＤＤ又はＶＳＳを入力する（ｓｔｅｐ２４〜２５）。一方、外部信号名が電源又はＧＮＤでない場合には、Ｐｉｎ番号をＩ／Ｆ情報テーブルのＰｉｎ　Ｎｏ欄にＰｉｎ番号を入力し、外部信号名欄に外部信号名を入力する（ｓｔｅｐ２６）。
【００４９】
続いて、端末１は、内部情報から内部信号名およびＩ／Ｏタイプを読み出し、Ｉ／Ｏタイプを変数ＩＯＴｙｐｅに代入し、内部信号名を変数ＩｎＮａｍｅに代入する（ｓｔｅｐ２７〜２９）。
【００５０】
端末１は、内部信号のＩ／Ｏタイプが入力ならば、内部信号名と「Ｉ」＋「外部信号名」とを比較し、等しければｓｔｅｐ３３へ進む。内部信号のＩ／Ｏタイプが出力ならば、内部信号名と「Ｏ」＋「外部信号名」とを比較し、等しければｓｔｅｐ３３へ進む。内部信号のＩ／Ｏタイプが双方向ならば内部信号名と「ＢＩ」＋「外部信号名」、「ＢＯ」＋「外部信号名」、「ＢＥＮ」＋「外部信号名」とを比較し、いずれかと等しければｓｔｅｐ３３へ進む（ｓｔｅｐ３０〜３２）。ｓｔｅｐ３３では、端末１は、内部情報から読み出したＩ／ＯタイプをＩ／Ｆ情報テーブルのＩ／Ｏタイプ欄に入力し、ｓｔｅｐ３４で、内部信号名欄に内部信号名を入力する。
【００５１】
上記ｓｔｅｐ２８〜３４の処理を全ての内部信号について行うか、全ての外部信号名と内部信号名の対応関係が一致するまで繰り返す。この処理が終了したところでステップ２１へ戻り、全ての外部信号について上記ｓｔｅｐ２１〜３４の処理を実行したところで本処理を終了する。本処理によって、Ｉ／Ｆ情報テーブルは、手入力の場合と同様、図１５に示すように、内部情報との整合性が取れた外部情報が入力された状態となる。
【００５２】
［２．入力バッファの決定処理］
本処理は、ＬＳＩのインタフェース部分の入力バッファの決定に必要な情報をＩ／Ｆ情報テーブルにまとめ、この情報を用いて適切な入力バッファを決定し、その入力バッファ名をＩ／Ｆ情報テーブルのバッファ名称欄に入力するものである。
【００５３】
図８は、入力バッファの決定処理の全体的な概要を示すフローチャートである。まず、ライブラリ情報を参照し、外部信号および内部信号の種別を図１５に示したＩ／Ｆ情報テーブルに追加する（ｓｔｅｐ４１）。ここで、種別とは、クロックか否か、シュミットか否か、プル抵抗が有るか否か、プル抵抗が有る場合はプルアップ抵抗かプルダウン抵抗か、ＣＭＯＳかＴＴＬか、をいう。このときのＩ／Ｆ情報テーブルの一例を図１６に示す。この追加処理は手入力で行ってもよいし、端末１が自動入力するようにしてもよい。
【００５４】
続いて、端末１は、Ｉ／Ｆ情報テーブルから外部信号を一つ選び、外部回路から内部回路へ入力される入力信号が、クロックか否かを判断する（ｓｔｅｐ４２）。クロックの場合は、後述するハイドライブ型についての処理を行い、クロックでない場合は、後述するスタンダードドライブ型についての処理を行う（ｓｔｅｐ４３，４４）。続いて、後述するプル抵抗についての処理を行う（ｓｔｅｐ４５）。そして、その外部信号および内部信号についての入力バッファ名を決定し、それをＩ／Ｆ情報テーブルのバッファ名称欄に入力する。上記ｓｔｅｐ４２〜４５の処理を全ての入力信号について行ったところで本処理を終了する。以下、ｓｔｅｐ４３，４４，４５の処理について詳細に説明する。
【００５５】
図９は、ｓｔｅｐ４３のハイドライブ型についての処理の一例を示すフローチャートである。まず、端末１は、Ｉ／Ｆ情報テーブルを用いて入力信号がＣＭＯＳレベルかＴＴＬレベルかを判断する。ＴＴＬレベルの場合には、入力バッファの入力タイプをＴＴＬレベル入力バッファに決定する（ｓｔｅｐ５１〜５２）。一方、ＣＭＯＳレベルの場合には、シュミットトリガタイプか否かを判断する（ｓｔｅｐ５３）。シュミットトリガタイプの場合、入力バッファの入力タイプをシュミットトリガＣＭＯＳレベル入力バッファに決定し、シュミットトリガタイプでない場合、ＣＭＯＳレベル入力バッファに決定する（ｓｔｅｐ５４〜５５）。
【００５６】
図１０は、ｓｔｅｐ４４のスタンダードドライブ型についての処理の一例を示すフローチャートである。まず、端末１は、Ｉ／Ｆ情報テーブルを用いて入力信号がＣＭＯＳレベルかＴＴＬレベルかを判断する（ｓｔｅｐ５６）。ＴＴＬレベルの場合、シュミットトリガタイプか否かを判断する。シュミットトリガタイプの場合は、入力バッファの入力タイプをシュミットトリガＴＴＬレベル入力バッファに決定し、シュミットトリガタイプでない場合は、ＴＴＬレベル入力バッファに決定する（ｓｔｅｐ５７〜５９）。一方、ｓｔｅｐ５６でＣＭＯＳレベルと判断した場合には、シュミットトリガタイプか否かを判断し、シュミットトリガタイプの場合は、入力バッファの入力タイプをシュミットトリガＣＭＯＳレベル入力バッファに決定し、シュミットトリガタイプでない場合は、ＣＭＯＳレベル入力バッファに決定する（ｓｔｅｐ６０〜６２）。
【００５７】
図１１は、ｓｔｅｐ４５のプル抵抗についての処理の一例を示すフローチャートである。端末１は、Ｉ／Ｆ情報テーブルを用いてプル抵抗の有無と、プル抵抗がある場合にはプルアップ抵抗かプルダウン抵抗かを判断する（ｓｔｅｐ６３）。プルアップ抵抗の場合は入力バッファの入力タイプをオプションとしてプルアップ付きとし、プルダウン抵抗の場合はプルダウン付きとし、プル抵抗がない場合はオプションを付けない（ｓｔｅｐ６４〜６６）。
【００５８】
次に、上記の入力バッファの決定処理について具体例を用いて説明する。ここでは、端末１が、図１６のＩ／Ｆ情報テーブルに示した外部信号Ｉ１〜Ｉ４についてバッファ名称を決定し、それをＩ／Ｆ情報テーブルのバッファ名称欄に入力する処理について説明する。
【００５９】
１．まず、端末１は、外部信号Ｉ１についてクロックか否かを調べる。ここでは、図１６のＩ／Ｆ情報テーブルから外部信号Ｉ１はクロックである。
【００６０】
２．次に、外部信号Ｉ１がＣＭＯＳレベルかＴＴＬレベルかを調べる。図１６のＩ／Ｆ情報テーブルから外部信号Ｉ１はＣＭＯＳレベルである。
【００６１】
３．次に、外部信号Ｉ１がシュミットトリガか否かを調べる。図１６のＩ／Ｆ情報テーブルから外部信号Ｉ１はシュミットトリガではない。
【００６２】
４．次に、外部信号Ｉ１のプル抵抗について調べる。図１６のＩ／Ｆ情報テーブルから外部信号Ｉ１にはプル抵抗は付かない。
【００６３】
５．上記１〜４の処理により、端末１は、外部信号Ｉ１の入力タイプを、ハイドライブ型ＣＭＯＳレベル入力バッファに決定する。オプションとしてのプル抵抗は付けない。
【００６４】
６．続いて、端末１は、外部信号Ｉ２についてクロックか否かを調べる。図１６のＩ／Ｆ情報テーブルから外部信号Ｉ１はクロックではない。
【００６５】
７．次に、外部信号Ｉ２がＣＭＯＳレベルかＴＴＬレベルかを調べる。図１６のＩ／Ｆ情報テーブルから外部信号Ｉ２はＣＭＯＳレベルである。
【００６６】
８．次に、外部信号Ｉ２がシュミットトリガか否かを調べる。図１６のＩ／Ｆ情報テーブルから外部信号Ｉ２はシュミットトリガではない。
【００６７】
９．次に、外部信号Ｉ２のプル抵抗について調べる。図１６のＩ／Ｆ情報テーブルから外部信号Ｉ２にはプルアップ抵抗が付く。
【００６８】
１０．上記６〜９の処理により、端末１は、外部信号Ｉ２の入力タイプを、スタンダードドライブ型ＣＭＯＳレベル入力バッファに決定する。また、オプションとしてプルアップ抵抗を付ける。
【００６９】
１１．続いて、端末１は、外部信号Ｉ３についてクロックか否かを調べる。図１６のＩ／Ｆ情報テーブルから外部信号Ｉ３はクロックではない。
【００７０】
１２．次に、外部信号Ｉ３がＣＭＯＳレベルかＴＴＬレベルかを調べる。図１６のＩ／Ｆ情報テーブルから外部信号Ｉ３はＣＭＯＳレベルである。
【００７１】
１３．次に、外部信号Ｉ３がシュミットトリガか否かを調べる。図１６のＩ／Ｆ情報テーブルから外部信号Ｉ３はシュミットトリガである。
【００７２】
１４．次に、外部信号Ｉ３のプル抵抗について調べる。図１６のＩ／Ｆ情報テーブルから外部信号Ｉ３にはプル抵抗は付かない。
【００７３】
１５．上記１１〜１４の処理により、端末１は、外部信号Ｉ３の入力タイプを、スタンダードドライブ型のシュミットトリガＣＭＯＳレベル入力バッファに決定する。オプションとしてのプル抵抗を付けない。
【００７４】
１６．続いて、端末１は、外部信号Ｉ４についてクロックか否かを調べる。図１６のＩ／Ｆ情報テーブルから外部信号Ｉ４はクロックではない。
【００７５】
１７．次に、外部信号Ｉ４がＣＭＯＳレベルかＴＴＬレベルかを調べる。図１６のＩ／Ｆ情報テーブルから外部信号Ｉ４はＴＴＬレベルである。
【００７６】
１８．次に、外部信号Ｉ４がシュミットトリガか否かを調べる。図１６のＩ／Ｆ情報テーブルから外部信号Ｉ４はシュミットトリガではない。
【００７７】
１９．次に、外部信号Ｉ４のプル抵抗について調べる。図１６のＩ／Ｆ情報テーブルから外部信号Ｉ４にはプル抵抗は付かない。
【００７８】
２０．上記１６〜１９の処理により、端末１は、外部信号Ｉ４の入力タイプを、スタンダードドライブ型ＴＴＬレベル入力バッファに決定する。オプションとしてのプル抵抗を付けない。
【００７９】
２１．続いて、図４（ａ）に示した入力バッファについてのライブラリ情報を用いて、上記１〜２０の処理で決定した各外部信号の入力タイプに対応するバッファ名称を抽出し、Ｉ／Ｆ情報テーブルのバッファ名称欄に入力する。入力バッファ決定処理が終了したときのＩ／Ｆ情報テーブルの状態の一例を図１７に示す。
【００８０】
［３．出力バッファの決定処理］
本処理は、ＬＳＩのインタフェース部分についての出力バッファの決定に必要な情報をＩ／Ｆ情報テーブルにまとめ、この情報を用いて適切な出力バッファを決定し、その出力バッファ名をＩ／Ｆ情報テーブルのバッファ名称欄に入力するものである。
【００８１】
図１２は、出力バッファの決定処理の全体的な概要の一例を示すフローチャートである。まず、ライブラリ情報５を参照し、配線容量および遅延時間の期待値を図１７に示したＩ／Ｆ情報テーブルに追加する（ｓｔｅｐ７１）。このときのＩ／Ｆ情報テーブルの一例を図１８に示す。遅延時間の期待値は、信号がＬｏｗからＨｉｇｈに変化するとき（Ｌ→Ｈ）と、ＨｉｇｈからＬｏｗに変化するとき（Ｈ→Ｌ）の２種類用意されている。なお、この追加処理は手入力で行ってもよいし、端末１により自動入力で行うようにしてもよい。
【００８２】
続いて、端末１は、Ｉ／Ｆ情報テーブルから外部信号を一つ選び、ライブラリ情報を用いて適切な出力バッファを決定し（ｓｔｅｐ７２）、その出力バッファ名をＩ／Ｆ情報テーブルのバッファ名称欄に入力する（ｓｔｅｐ７３）。上記ｓｔｅｐ７２〜７３の処理を全ての外部信号について行ったところで本処理を終了する。以下、ｓｔｅｐ７２の処理について詳細に説明する。
【００８３】
図１３は、出力バッファを決定する処理の一例を示すフローチャートである。まず、端末１は、図１８に示したＩ／Ｆ情報テーブルから外部信号を一つ選ぶとともに、図４（ｂ）に示した出力バッファのライブラリ情報から最初の出力バッファを一つ選ぶ（ｓｔｅｐ８１）。次に、その外部信号についてＩ／Ｆ情報テーブルに記録されている負荷容量の期待値を用いて、出力バッファの遅延時間を計算する（ｓｔｅｐ８２）。この計算には、例えば半導体ベンダ等により提供される計算式を用いる。次に、遅延時間の計算値と期待値とを比較する（ｓｔｅｐ８３）。Ｌ→ＨとＨ→Ｌの双方について計算値が期待値よりも小さい場合にはｓｔｅｐ８４へ進み、そうでない場合にはｓｔｅｐ９０へ進む。
【００８４】
ｓｔｅｐ８４では、Ｌ→ＨとＨ→Ｌの双方について期待値と計算値との差（Ｌ→Ｈについては結果１、Ｈ→Ｌについては結果２とする）を求める。これら２つの差の和（結果１＋結果２）を比較値として登録する。そのときの出力バッファの名称をサブバッファに登録し、次の出力バッファの計算に移る（ｓｔｅｐ８５〜９１）。２回目以降の計算においては、既に登録されている比較値と新たに計算された結果１と結果２の和を比較する。和の方が小さければその値で比較値を更新し、そのときの出力バッファでサブバッファを更新する（ｓｔｅｐ８５〜８９）。上記処理を最後の出力バッファになるまで繰り返し行う（ｓｔｅｐ９０）。
【００８５】
最後の出力バッファについて上記処理が終わったところで、サブバッファに出力バッファが登録されている場合には、最終的な出力バッファをその出力バッファに決定して、バッファに登録する。サブバッファに出力バッファが登録されていない場合には、エラー処理を行う（ｓｔｅｐ９２〜９４）。
【００８６】
続いて、Ｉ／Ｆ情報テーブルから次の外部信号を選んで、上記ｓｔｅｐ８１〜９４の処理を行う。全ての外部信号について上記処理が終わったところで、本処理を終了する。バッファに登録された各出力バッファ名は、前述したｓｔｅｐ７３におけるバッファ名称欄への入力処理に用いられる。
【００８７】
次に、上記の出力バッファの決定処理について具体例を用いて説明する。ここでは、端末１により、図１８のＩ／Ｆ情報テーブルに示した外部信号Ｏ１〜Ｏ４，Ｂ１について出力バッファを決定し、そのバッファ名をＩ／Ｆ情報テーブルのバッファ名称欄に入力する処理について説明する。
【００８８】
１．まず、端末１は、外部信号Ｏ１について、図４（ｂ）に示した出力バッファの情報ライブラリから最初の出力バッファを選ぶ。
【００８９】
２．外部信号Ｏ１の配線容量の期待値を所定の計算式に代入してＬ→ＨおよびＨ→Ｌの双方について遅延時間を計算する。
【００９０】
３．遅延時間の計算値と期待値とを比較し、Ｌ→ＨおよびＨ→Ｌの双方について期待値よりも計算値の方が小さければ、計算値と期待値の差をそれぞれ求める。
【００９１】
４．２つの差の和を求め、その値を比較値として登録し、そのときの出力バッファをサブバッファに登録する。
【００９２】
５．情報ライブラリから次の出力バッファを選び、上記２，３の処理を実行しし、さらに２つの差の和を求めた後、この和が登録されている比較値よりも小さければ、この和で比較値を更新し、そのときの出力バッファでサブバッファを更新する。
【００９３】
６．最後の出力バッファになるまで上記５の処理を繰り返し、最終的にバッファに登録されている出力バッファの名称を、Ｉ／Ｆ情報テーブルの外部信号Ｉ１についてのバッファ名称欄に入力する。
【００９４】
７．外部信号Ｏ２〜Ｏ４、Ｂ１についても上記１〜６の処理を行う。ただし、外部信号Ｂ１については、出力バッファのライブラリ情報に代えて、図４（ｃ）に示した入出力バッファのライブラリ情報を用いる。出力バッファ決定処理が終了したときのＩ／Ｆ情報テーブルの状態の一例を図１９に示す。
【００９５】
［４．Ｉ／Ｆ情報の出力処理］
本処理では、端末１は、上記各処理によって完成したＩ／Ｆ情報テーブルを用いて、Ｉ／Ｆ情報を所定の形式で出力する。出力形式は、例えばシステム記述言語や回路図とする。図２０，２１は、システム記述言語のＶＨＤＬによりＩ／Ｆ情報を示した一連の出力ファイルの内容である。図２２は、外部付加容量を示すファイルの内容であり、図２３は、Ｐｉｎ　Ｎｏ、信号名、バッファ名を示すファイルの内容である。図２４は、Ｉ／Ｆ情報を示す回路図の一例である。
【００９６】
したがって、本実施の形態によれば、ＬＳＩの外部情報と内部情報とライブラリ情報を用いてインタフェース部分の設計情報をＩ／Ｆ情報テーブルとして自動生成するようにしたことで、設計の作業時間を短縮でき、手入力による作業を削減でき、人為的なミスを低減することができる。
【００９７】
本実施の形態によれば、ＬＳＩのインタフェース部分に配置するバッファを決定し、そのバッファ名を外部信号名と内部信号名に対応させてＩ／Ｆ情報テーブルに記録することによって、インタフェース部分の設計情報を正確に生成することができる。
【００９８】
本実施の形態によれば、ライブラリ情報に記録されているバッファの中から、少なくとも遅延時間の計算値が期待値よりも小さいもの、さらにはそのバッファの中で計算値が最小のものをインタフェース部分に配置するバッファとして決定するようにしたことで、適切なバッファを適用することができる。
【００９９】
本実施の形態によれば、ＬＳＩの外部情報として、基板を設計する際に自動生成が可能なデータリストあるいは回路図を用いるようにしたことで、外部情報を作成する作業を削減し、人為的なミスを低減することができる。
【０１００】
本実施の形態によれば、ＬＳＩの内部情報として、ＬＳＩを設計する際に自動生成が可能なシステム記述言語あるいは回路図を用いるようにしたことで、内部情報を作成する作業を削減し、人為的なミスを低減することができる。
【０１０１】
本実施の形態によれば、Ｉ／Ｆ情報テーブルに記録されたインタフェース部分の設計情報をシステム記述言語あるいは回路図により出力するようにしたことで、設計情報を迅速かつ容易に利用することができる。
【０１０２】
【発明の効果】
本発明に係るＬＳＩ設計支援システムおよびプログラムによれば、ＬＳＩのインタフェース部分の設計情報を自動生成するようにしたことで、インタフェース部分の設計の作業時間が短縮され、手入力による作業が削減されるので、設計者の負担を軽減でき、人為的なミスを低減することができる。
【図面の簡単な説明】
【図１】一実施の形態に係るＬＳＩ設計支援システムの構成を示すブロック図である。
【図２】基板情報の一例を示すデータリストである。
【図３】基板情報の一例を示す回路図である。
【図４】バッファに関するライブラリ情報の一例を示す図である。
【図５】Ｉ／Ｆ回路設計の支援処理の全体的な概要の一例を示すフローチャートである。
【図６】手入力による外部情報入力処理の一例を示すフローチャートである。
【図７】自動入力による外部情報入力処理の一例を示すフローチャートである。
【図８】入力バッファの決定処理の全体的な概要の一例を示すフローチャートである。
【図９】スタンダードドライブ型についての処理の一例を示すフローチャートである。
【図１０】スタンダードドライブ型についての処理の一例を示すフローチャートである。
【図１１】プル抵抗についての処理の一例を示すフローチャートである。
【図１２】出力バッファの決定処理の全体的な概要の一例を示すフローチャートである。
【図１３】出力バッファを決定する処理の一例を示すフローチャートである。
【図１４】Ｉ／Ｆ情報テーブルの初期状態の一例を示す図である。
【図１５】外部情報入力処理が終了した後のＩ／Ｆ情報テーブルの状態の一例を示す図である。
【図１６】入力バッファ決定処理を開始した直後のＩ／Ｆ情報テーブルの状態の一例を示す図である。
【図１７】入力バッファ決定処理が終了した後のＩ／Ｆ情報テーブルの状態の一例を示す図である。
【図１８】出力バッファ決定処理を開始した直後のＩ／Ｆ情報テーブルの状態の一例を示す図である。
【図１９】出力バッファ決定処理が終了した後のＩ／Ｆ情報テーブルの状態の一例を示す図である。
【図２０】Ｉ／Ｆ情報をシステム記述言語により出力したときの出力ファイルの一例を示す図である。
【図２１】上記出力ファイルの後続部分を示す図である。
【図２２】外部付加容量を示すファイルの一例を示す図である。
【図２３】Ｐｉｎ　Ｎｏ、信号名、バッファ名を示すファイルの一例を示す図である。
【図２４】Ｉ／Ｆ情報を回路図により出力したときの一例を示す図である。
【符号の説明】
１　端末
３　外部情報
４　内部情報
５　ライブラリ情報
６　インタフェース部分の設計情報
７　ネットワーク
【図１】
2004013851.tif 000003
【図２】
2004013851.tif 000004
【図３】
2004013851.tif 000005
【図４】
2004013851.tif 000006
【図５】
2004013851.tif 000007
【図６】
2004013851.tif 000008
【図７】
2004013851.tif 000009
【図８】
2004013851.tif 000010
【図９】
2004013851.tif 000011
【図１０】
2004013851.tif 000012
【図１１】
2004013851.tif 000013
【図１２】
2004013851.tif 000014
【図１３】
2004013851.tif 000015
【図１４】
2004013851.tif 000016
【図１５】
2004013851.tif 000017
【図１６】
2004013851.tif 000018
【図１７】
2004013851.tif 000019
【図１８】
2004013851.tif 000020
【図１９】
2004013851.tif 000021
【図２０】
2004013851.tif 000022
【図２１】
2004013851.tif 000023
【図２２】
2004013851.tif 000024
【図２３】
2004013851.tif 000025
【図２４】
2004013851.tif 000026