JP2004013851A - Lsi design support system and program - Google Patents

Lsi design support system and program Download PDF

Info

Publication number
JP2004013851A
JP2004013851A JP2002170612A JP2002170612A JP2004013851A JP 2004013851 A JP2004013851 A JP 2004013851A JP 2002170612 A JP2002170612 A JP 2002170612A JP 2002170612 A JP2002170612 A JP 2002170612A JP 2004013851 A JP2004013851 A JP 2004013851A
Authority
JP
Japan
Prior art keywords
information
lsi
buffer
design support
external
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.)
Pending
Application number
JP2002170612A
Other languages
Japanese (ja)
Inventor
Shinichi Uehara
上原 信一
Tatsuya Saida
斉田 達也
Masao Tono
東野 雅男
Shigeru Takahashi
高橋 茂
Masataka Sakamoto
坂本 政貴
Hiroshi Hibino
日比野 拓
Koji Takahashi
高橋 功次
Katsuhiro Nakamura
中村 勝洋
Kenichi Kato
加藤 研一
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.)
Toshiba Information Systems Japan Corp
Original Assignee
Toshiba Information Systems Japan Corp
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 Toshiba Information Systems Japan Corp filed Critical Toshiba Information Systems Japan Corp
Priority to JP2002170612A priority Critical patent/JP2004013851A/en
Publication of JP2004013851A publication Critical patent/JP2004013851A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To reduce a burden when an interface part of an LSI (large scale integrated circuit) is designed. <P>SOLUTION: In terminals 1, external information 3, internal information 4 and library information 5 of the LSI are read from a database, and the external information 3, the internal information 4 and the library information 5 are used to automatically generate an I/F information table with design information of the interface part recorded thereon. When automatically generating the I/F information table, an external signal is made to correspond to an internal signal, a buffer to be disposed between the both signals is determined, and the both signal names are made to correspond to the determined buffer and recorded in the I/F information table. In the buffer determination, buffers in which at least a calculated value of a time delay is smaller than an expected value are selected among buffers recorded in the library information, and the buffer having the smallest calculated value is further selected among the selected buffers. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、LSIの内部回路と外部回路の間のインタフェース部の設計を支援するLSI設計支援システムおよびこれに用いるプログラムに関する。
【0002】
【従来の技術】
従来、LSIの基本的な設計工程は、まず仕様を作成し、LSI内部を機能毎のブロックに分割し、各ブロック間の処理やデータの流れを決定してから、LSIの内部回路の設計をする。次に、設計したLSIの内部回路とそのLSIが実装される基板における外部回路とのインタフェース(I/F)回路を設計するために、両回路間での接続ピンの対応関係を決定する内外部リンク処理を行う。そして、これを検証し、I/F回路の設計を行う。
【0003】
I/F回路の設計では、LSIが実装される基板における接続ピンの情報を、設計者が基板用のCADデータから抽出するか、あるいは予想や仮定をしていた。
【0004】
【発明が解決しようとする課題】
しかしながら、近年のLSIの大規模化に伴い、I/F回路の規模も増大してきたため、I/F回路の設計に膨大な作業時間を費やすようになり、設計者の負担が増大してきている。この弊害として、人為的なミスも発生しやすくなっている。
【0005】
本発明は、上記に鑑みてなされたものであり、その目的とするところは、I/F回路を設計する際の負担の軽減に寄与し得るLSI設計支援システムおよびこれに用いるプログラムを提供することにある。
【0006】
【課題を解決するための手段】
第1の本発明に係るLSI設計支援システムは、LSIの外部情報と内部情報とライブラリ情報を記憶しておく記憶手段と、前記外部情報と前記内部情報と前記ライブラリ情報を用いてLSIのインタフェース部分の設計情報を生成する生成手段と、を有することを特徴とする。
【0007】
本発明にあっては、LSIの外部情報と内部情報とライブラリ情報を記憶手段から読み出し、これらの情報を用いてインタフェース部分の設計情報を自動生成するようにしたことで、インタフェース部分の設計の作業時間が短縮され、手入力による作業が削減されるので、設計者の負担を軽減でき、人為的なミスを低減することができる。
【0008】
第2の本発明は、上記LSI設計支援システムにおいて、前記生成手段は、前記外部情報および前記内部情報を用いてLSIの外部信号名と内部信号名とを対応させ、前記ライブラリ情報を用いて両信号間に配置するバッファを決定し、両信号名と決定したバッファ名とを対応させて記録することにより前記設計情報を生成することを特徴とする。
【0009】
本発明にあっては、外部信号と内部信号間に配置するバッファを決定し、両信号名と決定したバッファ名とを対応させて記録することによって設計情報を生成するようにしている。
【0010】
第3の本発明は、上記LSI設計支援システムにおいて、前記バッファの決定は、前記ライブラリ情報に記録されているバッファのうちで遅延時間の計算値が期待値よりも小さいバッファの中から決定することを特徴とする。
【0011】
第4の本発明は、上記LSI設計支援システムにおいて、前記バッファの決定は、遅延時間の計算値が期待値よりも小さいバッファの中で、計算値が最小のバッファを決定することを特徴とする。
【0012】
第3,第4の本発明にあっては、ライブラリ情報に記録されているバッファの中から、少なくとも遅延時間の計算値が期待値よりも小さいもの、さらにはその中で計算値が最小のものをインタフェース部分に配置するバッファとして決定するようにしたことで、適切なバッファが適用されるようにしている。
【0013】
第5の本発明は、上記各LSI設計支援システムにおいて、前記外部情報は、LSIが設置される基板についての基板情報であることを特徴とする。
【0014】
第6の本発明は、上記LSI設計支援システムにおいて、前記基板情報は、データリスト又は回路図のうちの少なくとも一方が用いられることを特徴とする。
【0015】
第5,第6の本発明にあっては、外部情報として、基板の設計において自動生成が可能なデータリスト又は回路図、あるいはその両方を用いるようにしたことで、外部情報を作成する作業を削減し、人為的なミスを低減するようにしている。
【0016】
第7の本発明は、上記各LSI設計支援システムにおいて、前記内部情報は、システム記述言語又は回路図のうちの少なくとも一方が用いられることを特徴とする。
【0017】
本発明にあっては、内部情報として、LSIの設計において自動生成が可能なシステム記述言語又は回路図、あるいはその両方を用いるようにしたことで、内部情報を作成する作業を削減し、人為的なミスを低減するようにしている。
【0018】
第8の本発明は、上記各LSI設計支援システムにおいて、前記インタフェース部分の設計情報を所定の形式で出力する出力手段を有することを特徴とする。
【0019】
本発明にあっては、インタフェース部分の設計情報を所定の形式で出力するようにしたことで、設計情報を利用する際の作業を削減し、人為的ミスを低減するようにしている。
【0020】
第9の本発明は、上記LSI設計支援システムにおいて、前記所定の形式は、システム記述言語又は回路図のうちの少なくとも一方が用いられることを特徴とする。
【0021】
本発明にあっては、インタフェース部分の設計情報をシステム記述言語又は回路図、あるいはその両方により出力するようにしたことで、設計情報を迅速かつ容易に利用できるようにしている。
【0022】
第10の本発明に係るLSI設計支援プログラムは、LSIの外部情報と内部情報とライブラリ情報を記憶する記憶手段からこれらの情報を読み出す読出処理と、外部情報と内部情報とライブラリ情報とを用いてLSIのインタフェース部分の設計情報を生成する生成処理と、をコンピュータに実行させることを特徴とする。
【0023】
第11の本発明は、上記LSI設計支援プログラムにおいて、前記生成処理は、前記外部情報および前記内部情報を用いて外部信号名と内部信号名とを対応させ、前記ライブラリ情報を用いて両信号間に配置するバッファを決定し、両信号名と決定したバッファ名とを対応させて記録することにより前記設計情報を生成することを特徴とする。
【0024】
第12の本発明は、上記LSI設計支援プログラムにおいて、前記バッファの決定は、前記ライブラリ情報に記録されているバッファのうちで遅延時間の計算値が期待値よりも小さいバッファの中から決定することを特徴とする。
【0025】
第13の本発明は、上記LSI設計支援プログラムにおいて、前記バッファの決定は、遅延時間の計算値が期待値よりも小さいバッファの中で計算値が最小のバッファを決定することを特徴とする。
【0026】
第14の本発明は、上記各LSI設計支援プログラムにおいて、前記外部情報は、LSIが設置される基板についての基板情報であることを特徴とする。
【0027】
第15の本発明は、上記LSI設計支援プログラムにおいて、前記基板情報は、データリスト又は回路図のうちの少なくとも一方が用いられることを特徴とする。
【0028】
第16の本発明は、上記各LSI設計支援プログラムにおいて、前記内部情報は、システム記述言語又は回路図のうちの少なくとも一方が用いられることを特徴とする。
【0029】
第17の本発明は、上記各LSI設計支援プログラムにおいて、前記インタフェース部分の設計情報を所定の形式で出力する出力処理をコンピュータに実行させることを特徴とする。
【0030】
第18の本発明は、上記LSI設計支援プログラムにおいて、前記所定の形式は、システム記述言語又は回路図のうちの少なくとも一方が用いられることを特徴とする。
【0031】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【0032】
図1は、一実施の形態に係るLSI設計支援システムの全体的な構成を示すブロック図である。同図のシステムは、LSIの設計支援プログラムを実行させるための端末1と各種の情報を記憶したデータベースがネットワーク7を介して接続された構成である。
【0033】
端末1には、パソコン1aやEWS(エンジニアリングワークステーション)1bといったコンピュータが用いられる。データベースには、LSIを実装する基板に関する情報(以下「外部情報」という)3と、LSIの内部に関する情報(以下「内部情報」という)4と、LSI・基板間に用いるバッファ等のインタフェース部分に関する情報(以下「ライブラリ情報」)5が記憶されている。
【0034】
外部情報3は、CAD等により基板を設計したときに自動生成される基板情報が用いられる。基板情報は、例えば図2に示すデータリストや、図3に示す回路図で表される。
【0035】
内部情報4は、CAD等によりLSIの内部を設計したときに自動生成されるLSI情報が用いられる。LSI情報は、VHDLやVerilog、SystemC、SpecCといったシステム記述言語や、図3に示したようなLSI部分の回路図で表される。
【0036】
ライブラリ情報5には、外部信号および内部信号の種別や、図4に示すバッファに関する情報等が含まれる。同図(a)は入力バッファ、同図(b)は出力バッファ、同図(c)は入出力バッファについての情報をそれぞれ示す。
【0037】
端末1のメモリには、LSI・基板間のインタフェース部分の設計を支援する設計支援プログラムが格納されている。端末1は、このプログラムをCPUで実行することによって、データベースから外部情報3、内部情報4、ライブラリ情報5を読み出す処理と、これらの情報を用いてインタフェース部分の設計情報(以下「I/F情報」という)6を生成する処理と、このI/F情報6をシステム記述言語や回路図といった所定の形式で出力する処理を行う。
【0038】
なお、外部情報4、内部情報5、ライブラリ情報5、I/F情報6は、別個のデータベースに分散して記憶してもよいし、1つのデータベースに集中させて記憶するようにしてもよい。
【0039】
図5は、本システムによるI/F回路の設計支援処理の全体的な概要を示すフローチャートである。本処理では、外部情報入力処理(step1)、入力バッファの決定処理(step2)、出力バッファの決定処理(step3)により、図14に示すI/F情報テーブルの空欄に所定事項を順次入力していき、I/F情報の出力処理(step4)により、完成されたI/F情報テーブルに基づいて、I/F情報をシステム記述言語で記述されたファイルや回路図で出力する。以下、各ステップにおける処理について詳細に説明する。
【0040】
[1.外部情報入力処理]
本処理は、外部情報をI/F情報テーブルに入力するとともに内部情報との整合を図る処理であり、手入力と自動入力の切替が可能である。
【0041】
図6は、手入力による外部情報入力処理の一例を示すフローチャートである。まず、操作者は、端末1を用いてI/F情報テーブルのPin番号を入力することによって入力行を特定し、そのPin番号の信号が電源(VDD)又はGND(VSS)か否か判断する(step11〜12)。電源又はGNDならば、I/F情報テーブルの電源欄にVDD又はVSSを入力し、電源又はGNDでない場合には、外部信号名が決まっているか否か、内部信号名が決まっているか否かを判断する(step13〜14)。
【0042】
外部信号名が決定していて、かつ内部信号名も決定しているならば、外部信号名をI/F情報テーブルの外部信号名欄に入力し、内部信号名を内部信号名欄に入力する(step15)。
【0043】
外部信号名が決定していて、内部信号名が決定していないならば、外部信号名をI/F情報テーブルの外部信号名欄に入力し、内部信号名を決定して内部信号名欄に入力する(step16)。
【0044】
外部信号名が決定していなくて、内部信号名が決定しているならば、外部信号名を決定してI/F情報テーブルの外部信号名欄に入力し、内部信号名を内部信号名欄に入力する(step17)。
【0045】
外部信号名が決定していなくて、内部信号名も決定していないならば、外部信号名を決定してI/F情報テーブルの外部信号名欄に入力し、内部信号名を決定して内部信号名欄に入力する(step18)。
【0046】
上記step11〜18までの処理をLSIの全ピンに対して実行したところで、外部信号名と内部信号名との整合性を確認する(step19)。整合が取れていない場合には、step11へ戻って上記処理を繰り返し行い、全ピンについて整合性が確認された場合には本処理を終了する。本処理によって、I/F情報テーブルは、図15に一例を示すように、内部情報と整合性がとれた外部情報が入力された状態となる。
【0047】
図7は、自動入力による外部情報入力処理の一例を示すフローチャートである。ここでは、外部信号名と内部信号名との間には予め取り決めを定めておく。具体的には、内部信号が入力に使われるならば文字列で「内部信号名」=「I」+「外部信号名」で表し、内部信号が出力に使われるならば「内部信号名」=「O」+「外部信号名」で表す。内部信号が入出力の双方に使われるならば「内部信号名」=「Bl」+「外部信号名」等のように表す。
【0048】
まず、端末1は、基板情報からPin番号および外部信号名をPin番号の順に読み出し、Pin番号を変数PinNoに代入し、外部信号名を変数OutNameに代入する(step21〜23)。次に、端末1は、外部信号名が電源又はGNDか否かを判断し、電源又はGNDならばI/F情報テーブルのPin No.欄にPin番号を入力し、電源欄にVDD又はVSSを入力する(step24〜25)。一方、外部信号名が電源又はGNDでない場合には、Pin番号をI/F情報テーブルのPin No欄にPin番号を入力し、外部信号名欄に外部信号名を入力する(step26)。
【0049】
続いて、端末1は、内部情報から内部信号名およびI/Oタイプを読み出し、I/Oタイプを変数IOTypeに代入し、内部信号名を変数InNameに代入する(step27〜29)。
【0050】
端末1は、内部信号のI/Oタイプが入力ならば、内部信号名と「I」+「外部信号名」とを比較し、等しければstep33へ進む。内部信号のI/Oタイプが出力ならば、内部信号名と「O」+「外部信号名」とを比較し、等しければstep33へ進む。内部信号のI/Oタイプが双方向ならば内部信号名と「BI」+「外部信号名」、「BO」+「外部信号名」、「BEN」+「外部信号名」とを比較し、いずれかと等しければstep33へ進む(step30〜32)。step33では、端末1は、内部情報から読み出したI/OタイプをI/F情報テーブルのI/Oタイプ欄に入力し、step34で、内部信号名欄に内部信号名を入力する。
【0051】
上記step28〜34の処理を全ての内部信号について行うか、全ての外部信号名と内部信号名の対応関係が一致するまで繰り返す。この処理が終了したところでステップ21へ戻り、全ての外部信号について上記step21〜34の処理を実行したところで本処理を終了する。本処理によって、I/F情報テーブルは、手入力の場合と同様、図15に示すように、内部情報との整合性が取れた外部情報が入力された状態となる。
【0052】
[2.入力バッファの決定処理]
本処理は、LSIのインタフェース部分の入力バッファの決定に必要な情報をI/F情報テーブルにまとめ、この情報を用いて適切な入力バッファを決定し、その入力バッファ名をI/F情報テーブルのバッファ名称欄に入力するものである。
【0053】
図8は、入力バッファの決定処理の全体的な概要を示すフローチャートである。まず、ライブラリ情報を参照し、外部信号および内部信号の種別を図15に示したI/F情報テーブルに追加する(step41)。ここで、種別とは、クロックか否か、シュミットか否か、プル抵抗が有るか否か、プル抵抗が有る場合はプルアップ抵抗かプルダウン抵抗か、CMOSかTTLか、をいう。このときのI/F情報テーブルの一例を図16に示す。この追加処理は手入力で行ってもよいし、端末1が自動入力するようにしてもよい。
【0054】
続いて、端末1は、I/F情報テーブルから外部信号を一つ選び、外部回路から内部回路へ入力される入力信号が、クロックか否かを判断する(step42)。クロックの場合は、後述するハイドライブ型についての処理を行い、クロックでない場合は、後述するスタンダードドライブ型についての処理を行う(step43,44)。続いて、後述するプル抵抗についての処理を行う(step45)。そして、その外部信号および内部信号についての入力バッファ名を決定し、それをI/F情報テーブルのバッファ名称欄に入力する。上記step42〜45の処理を全ての入力信号について行ったところで本処理を終了する。以下、step43,44,45の処理について詳細に説明する。
【0055】
図9は、step43のハイドライブ型についての処理の一例を示すフローチャートである。まず、端末1は、I/F情報テーブルを用いて入力信号がCMOSレベルかTTLレベルかを判断する。TTLレベルの場合には、入力バッファの入力タイプをTTLレベル入力バッファに決定する(step51〜52)。一方、CMOSレベルの場合には、シュミットトリガタイプか否かを判断する(step53)。シュミットトリガタイプの場合、入力バッファの入力タイプをシュミットトリガCMOSレベル入力バッファに決定し、シュミットトリガタイプでない場合、CMOSレベル入力バッファに決定する(step54〜55)。
【0056】
図10は、step44のスタンダードドライブ型についての処理の一例を示すフローチャートである。まず、端末1は、I/F情報テーブルを用いて入力信号がCMOSレベルかTTLレベルかを判断する(step56)。TTLレベルの場合、シュミットトリガタイプか否かを判断する。シュミットトリガタイプの場合は、入力バッファの入力タイプをシュミットトリガTTLレベル入力バッファに決定し、シュミットトリガタイプでない場合は、TTLレベル入力バッファに決定する(step57〜59)。一方、step56でCMOSレベルと判断した場合には、シュミットトリガタイプか否かを判断し、シュミットトリガタイプの場合は、入力バッファの入力タイプをシュミットトリガCMOSレベル入力バッファに決定し、シュミットトリガタイプでない場合は、CMOSレベル入力バッファに決定する(step60〜62)。
【0057】
図11は、step45のプル抵抗についての処理の一例を示すフローチャートである。端末1は、I/F情報テーブルを用いてプル抵抗の有無と、プル抵抗がある場合にはプルアップ抵抗かプルダウン抵抗かを判断する(step63)。プルアップ抵抗の場合は入力バッファの入力タイプをオプションとしてプルアップ付きとし、プルダウン抵抗の場合はプルダウン付きとし、プル抵抗がない場合はオプションを付けない(step64〜66)。
【0058】
次に、上記の入力バッファの決定処理について具体例を用いて説明する。ここでは、端末1が、図16のI/F情報テーブルに示した外部信号I1〜I4についてバッファ名称を決定し、それをI/F情報テーブルのバッファ名称欄に入力する処理について説明する。
【0059】
1.まず、端末1は、外部信号I1についてクロックか否かを調べる。ここでは、図16のI/F情報テーブルから外部信号I1はクロックである。
【0060】
2.次に、外部信号I1がCMOSレベルかTTLレベルかを調べる。図16のI/F情報テーブルから外部信号I1はCMOSレベルである。
【0061】
3.次に、外部信号I1がシュミットトリガか否かを調べる。図16のI/F情報テーブルから外部信号I1はシュミットトリガではない。
【0062】
4.次に、外部信号I1のプル抵抗について調べる。図16のI/F情報テーブルから外部信号I1にはプル抵抗は付かない。
【0063】
5.上記1〜4の処理により、端末1は、外部信号I1の入力タイプを、ハイドライブ型CMOSレベル入力バッファに決定する。オプションとしてのプル抵抗は付けない。
【0064】
6.続いて、端末1は、外部信号I2についてクロックか否かを調べる。図16のI/F情報テーブルから外部信号I1はクロックではない。
【0065】
7.次に、外部信号I2がCMOSレベルかTTLレベルかを調べる。図16のI/F情報テーブルから外部信号I2はCMOSレベルである。
【0066】
8.次に、外部信号I2がシュミットトリガか否かを調べる。図16のI/F情報テーブルから外部信号I2はシュミットトリガではない。
【0067】
9.次に、外部信号I2のプル抵抗について調べる。図16のI/F情報テーブルから外部信号I2にはプルアップ抵抗が付く。
【0068】
10.上記6〜9の処理により、端末1は、外部信号I2の入力タイプを、スタンダードドライブ型CMOSレベル入力バッファに決定する。また、オプションとしてプルアップ抵抗を付ける。
【0069】
11.続いて、端末1は、外部信号I3についてクロックか否かを調べる。図16のI/F情報テーブルから外部信号I3はクロックではない。
【0070】
12.次に、外部信号I3がCMOSレベルかTTLレベルかを調べる。図16のI/F情報テーブルから外部信号I3はCMOSレベルである。
【0071】
13.次に、外部信号I3がシュミットトリガか否かを調べる。図16のI/F情報テーブルから外部信号I3はシュミットトリガである。
【0072】
14.次に、外部信号I3のプル抵抗について調べる。図16のI/F情報テーブルから外部信号I3にはプル抵抗は付かない。
【0073】
15.上記11〜14の処理により、端末1は、外部信号I3の入力タイプを、スタンダードドライブ型のシュミットトリガCMOSレベル入力バッファに決定する。オプションとしてのプル抵抗を付けない。
【0074】
16.続いて、端末1は、外部信号I4についてクロックか否かを調べる。図16のI/F情報テーブルから外部信号I4はクロックではない。
【0075】
17.次に、外部信号I4がCMOSレベルかTTLレベルかを調べる。図16のI/F情報テーブルから外部信号I4はTTLレベルである。
【0076】
18.次に、外部信号I4がシュミットトリガか否かを調べる。図16のI/F情報テーブルから外部信号I4はシュミットトリガではない。
【0077】
19.次に、外部信号I4のプル抵抗について調べる。図16のI/F情報テーブルから外部信号I4にはプル抵抗は付かない。
【0078】
20.上記16〜19の処理により、端末1は、外部信号I4の入力タイプを、スタンダードドライブ型TTLレベル入力バッファに決定する。オプションとしてのプル抵抗を付けない。
【0079】
21.続いて、図4(a)に示した入力バッファについてのライブラリ情報を用いて、上記1〜20の処理で決定した各外部信号の入力タイプに対応するバッファ名称を抽出し、I/F情報テーブルのバッファ名称欄に入力する。入力バッファ決定処理が終了したときのI/F情報テーブルの状態の一例を図17に示す。
【0080】
[3.出力バッファの決定処理]
本処理は、LSIのインタフェース部分についての出力バッファの決定に必要な情報をI/F情報テーブルにまとめ、この情報を用いて適切な出力バッファを決定し、その出力バッファ名をI/F情報テーブルのバッファ名称欄に入力するものである。
【0081】
図12は、出力バッファの決定処理の全体的な概要の一例を示すフローチャートである。まず、ライブラリ情報5を参照し、配線容量および遅延時間の期待値を図17に示したI/F情報テーブルに追加する(step71)。このときのI/F情報テーブルの一例を図18に示す。遅延時間の期待値は、信号がLowからHighに変化するとき(L→H)と、HighからLowに変化するとき(H→L)の2種類用意されている。なお、この追加処理は手入力で行ってもよいし、端末1により自動入力で行うようにしてもよい。
【0082】
続いて、端末1は、I/F情報テーブルから外部信号を一つ選び、ライブラリ情報を用いて適切な出力バッファを決定し(step72)、その出力バッファ名をI/F情報テーブルのバッファ名称欄に入力する(step73)。上記step72〜73の処理を全ての外部信号について行ったところで本処理を終了する。以下、step72の処理について詳細に説明する。
【0083】
図13は、出力バッファを決定する処理の一例を示すフローチャートである。まず、端末1は、図18に示したI/F情報テーブルから外部信号を一つ選ぶとともに、図4(b)に示した出力バッファのライブラリ情報から最初の出力バッファを一つ選ぶ(step81)。次に、その外部信号についてI/F情報テーブルに記録されている負荷容量の期待値を用いて、出力バッファの遅延時間を計算する(step82)。この計算には、例えば半導体ベンダ等により提供される計算式を用いる。次に、遅延時間の計算値と期待値とを比較する(step83)。L→HとH→Lの双方について計算値が期待値よりも小さい場合にはstep84へ進み、そうでない場合にはstep90へ進む。
【0084】
step84では、L→HとH→Lの双方について期待値と計算値との差(L→Hについては結果1、H→Lについては結果2とする)を求める。これら2つの差の和(結果1+結果2)を比較値として登録する。そのときの出力バッファの名称をサブバッファに登録し、次の出力バッファの計算に移る(step85〜91)。2回目以降の計算においては、既に登録されている比較値と新たに計算された結果1と結果2の和を比較する。和の方が小さければその値で比較値を更新し、そのときの出力バッファでサブバッファを更新する(step85〜89)。上記処理を最後の出力バッファになるまで繰り返し行う(step90)。
【0085】
最後の出力バッファについて上記処理が終わったところで、サブバッファに出力バッファが登録されている場合には、最終的な出力バッファをその出力バッファに決定して、バッファに登録する。サブバッファに出力バッファが登録されていない場合には、エラー処理を行う(step92〜94)。
【0086】
続いて、I/F情報テーブルから次の外部信号を選んで、上記step81〜94の処理を行う。全ての外部信号について上記処理が終わったところで、本処理を終了する。バッファに登録された各出力バッファ名は、前述したstep73におけるバッファ名称欄への入力処理に用いられる。
【0087】
次に、上記の出力バッファの決定処理について具体例を用いて説明する。ここでは、端末1により、図18のI/F情報テーブルに示した外部信号O1〜O4,B1について出力バッファを決定し、そのバッファ名をI/F情報テーブルのバッファ名称欄に入力する処理について説明する。
【0088】
1.まず、端末1は、外部信号O1について、図4(b)に示した出力バッファの情報ライブラリから最初の出力バッファを選ぶ。
【0089】
2.外部信号O1の配線容量の期待値を所定の計算式に代入してL→HおよびH→Lの双方について遅延時間を計算する。
【0090】
3.遅延時間の計算値と期待値とを比較し、L→HおよびH→Lの双方について期待値よりも計算値の方が小さければ、計算値と期待値の差をそれぞれ求める。
【0091】
4.2つの差の和を求め、その値を比較値として登録し、そのときの出力バッファをサブバッファに登録する。
【0092】
5.情報ライブラリから次の出力バッファを選び、上記2,3の処理を実行しし、さらに2つの差の和を求めた後、この和が登録されている比較値よりも小さければ、この和で比較値を更新し、そのときの出力バッファでサブバッファを更新する。
【0093】
6.最後の出力バッファになるまで上記5の処理を繰り返し、最終的にバッファに登録されている出力バッファの名称を、I/F情報テーブルの外部信号I1についてのバッファ名称欄に入力する。
【0094】
7.外部信号O2〜O4、B1についても上記1〜6の処理を行う。ただし、外部信号B1については、出力バッファのライブラリ情報に代えて、図4(c)に示した入出力バッファのライブラリ情報を用いる。出力バッファ決定処理が終了したときのI/F情報テーブルの状態の一例を図19に示す。
【0095】
[4.I/F情報の出力処理]
本処理では、端末1は、上記各処理によって完成したI/F情報テーブルを用いて、I/F情報を所定の形式で出力する。出力形式は、例えばシステム記述言語や回路図とする。図20,21は、システム記述言語のVHDLによりI/F情報を示した一連の出力ファイルの内容である。図22は、外部付加容量を示すファイルの内容であり、図23は、Pin No、信号名、バッファ名を示すファイルの内容である。図24は、I/F情報を示す回路図の一例である。
【0096】
したがって、本実施の形態によれば、LSIの外部情報と内部情報とライブラリ情報を用いてインタフェース部分の設計情報をI/F情報テーブルとして自動生成するようにしたことで、設計の作業時間を短縮でき、手入力による作業を削減でき、人為的なミスを低減することができる。
【0097】
本実施の形態によれば、LSIのインタフェース部分に配置するバッファを決定し、そのバッファ名を外部信号名と内部信号名に対応させてI/F情報テーブルに記録することによって、インタフェース部分の設計情報を正確に生成することができる。
【0098】
本実施の形態によれば、ライブラリ情報に記録されているバッファの中から、少なくとも遅延時間の計算値が期待値よりも小さいもの、さらにはそのバッファの中で計算値が最小のものをインタフェース部分に配置するバッファとして決定するようにしたことで、適切なバッファを適用することができる。
【0099】
本実施の形態によれば、LSIの外部情報として、基板を設計する際に自動生成が可能なデータリストあるいは回路図を用いるようにしたことで、外部情報を作成する作業を削減し、人為的なミスを低減することができる。
【0100】
本実施の形態によれば、LSIの内部情報として、LSIを設計する際に自動生成が可能なシステム記述言語あるいは回路図を用いるようにしたことで、内部情報を作成する作業を削減し、人為的なミスを低減することができる。
【0101】
本実施の形態によれば、I/F情報テーブルに記録されたインタフェース部分の設計情報をシステム記述言語あるいは回路図により出力するようにしたことで、設計情報を迅速かつ容易に利用することができる。
【0102】
【発明の効果】
本発明に係るLSI設計支援システムおよびプログラムによれば、LSIのインタフェース部分の設計情報を自動生成するようにしたことで、インタフェース部分の設計の作業時間が短縮され、手入力による作業が削減されるので、設計者の負担を軽減でき、人為的なミスを低減することができる。
【図面の簡単な説明】
【図1】一実施の形態に係るLSI設計支援システムの構成を示すブロック図である。
【図2】基板情報の一例を示すデータリストである。
【図3】基板情報の一例を示す回路図である。
【図4】バッファに関するライブラリ情報の一例を示す図である。
【図5】I/F回路設計の支援処理の全体的な概要の一例を示すフローチャートである。
【図6】手入力による外部情報入力処理の一例を示すフローチャートである。
【図7】自動入力による外部情報入力処理の一例を示すフローチャートである。
【図8】入力バッファの決定処理の全体的な概要の一例を示すフローチャートである。
【図9】スタンダードドライブ型についての処理の一例を示すフローチャートである。
【図10】スタンダードドライブ型についての処理の一例を示すフローチャートである。
【図11】プル抵抗についての処理の一例を示すフローチャートである。
【図12】出力バッファの決定処理の全体的な概要の一例を示すフローチャートである。
【図13】出力バッファを決定する処理の一例を示すフローチャートである。
【図14】I/F情報テーブルの初期状態の一例を示す図である。
【図15】外部情報入力処理が終了した後のI/F情報テーブルの状態の一例を示す図である。
【図16】入力バッファ決定処理を開始した直後のI/F情報テーブルの状態の一例を示す図である。
【図17】入力バッファ決定処理が終了した後のI/F情報テーブルの状態の一例を示す図である。
【図18】出力バッファ決定処理を開始した直後のI/F情報テーブルの状態の一例を示す図である。
【図19】出力バッファ決定処理が終了した後のI/F情報テーブルの状態の一例を示す図である。
【図20】I/F情報をシステム記述言語により出力したときの出力ファイルの一例を示す図である。
【図21】上記出力ファイルの後続部分を示す図である。
【図22】外部付加容量を示すファイルの一例を示す図である。
【図23】Pin No、信号名、バッファ名を示すファイルの一例を示す図である。
【図24】I/F情報を回路図により出力したときの一例を示す図である。
【符号の説明】
1 端末
3 外部情報
4 内部情報
5 ライブラリ情報
6 インタフェース部分の設計情報
7 ネットワーク
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an LSI design support system that supports the design of an interface between an internal circuit and an external circuit of an LSI, and a program used for the system.
[0002]
[Prior art]
Conventionally, the basic design process of an LSI is to first create specifications, divide the inside of the LSI into blocks for each function, determine the processing and data flow between each block, and then design the internal circuit of the LSI. I do. Next, in order to design an interface (I / F) circuit between an internal circuit of the designed LSI and an external circuit on a substrate on which the LSI is mounted, an internal / external circuit for determining a correspondence relationship of connection pins between the two circuits is designed. Perform link processing. Then, this is verified and an I / F circuit is designed.
[0003]
In designing an I / F circuit, a designer extracts information on connection pins on a board on which an LSI is mounted from CAD data for the board, or makes predictions or assumptions.
[0004]
[Problems to be solved by the invention]
However, since the scale of the I / F circuit has been increased with the recent increase in the scale of the LSI, an enormous amount of work time has been spent on the design of the I / F circuit, and the burden on the designer has been increased. As this adverse effect, human error is likely to occur.
[0005]
SUMMARY OF THE INVENTION The present invention has been made in view of the above, and an object of the present invention is to provide an LSI design support system and a program used for the LSI design support system, which can reduce the burden when designing an I / F circuit. It is in.
[0006]
[Means for Solving the Problems]
According to a first aspect of the present invention, there is provided an LSI design support system comprising: storage means for storing external information, internal information, and library information of an LSI; and an interface portion of the LSI using the external information, the internal information, and the library information. Generating means for generating the design information.
[0007]
According to the present invention, the external part information, the internal information, and the library information of the LSI are read out from the storage means, and the design information of the interface part is automatically generated by using the information. Since the time is shortened and the work by manual input is reduced, the burden on the designer can be reduced, and human errors can be reduced.
[0008]
According to a second aspect of the present invention, in the above-described LSI design support system, the generation unit associates an external signal name and an internal signal name of the LSI using the external information and the internal information, A buffer to be arranged between signals is determined, and the design information is generated by recording both signal names and the determined buffer names in association with each other.
[0009]
In the present invention, a buffer to be arranged between an external signal and an internal signal is determined, and design information is generated by recording both signal names and the determined buffer names in association with each other.
[0010]
According to a third aspect of the present invention, in the LSI design support system, the buffer is determined from among buffers recorded in the library information, the calculated delay time being smaller than an expected value. It is characterized by.
[0011]
According to a fourth aspect of the present invention, in the LSI design support system, the buffer is determined by determining a buffer having a minimum calculated value among buffers having a calculated delay time smaller than an expected value. .
[0012]
According to the third and fourth aspects of the present invention, among the buffers recorded in the library information, at least the calculated value of the delay time is smaller than the expected value, and Is determined as a buffer to be arranged in the interface part, so that an appropriate buffer is applied.
[0013]
In a fifth aspect of the present invention, in each of the above-mentioned LSI design support systems, the external information is board information on a board on which the LSI is installed.
[0014]
In a sixth aspect of the present invention, in the above-mentioned LSI design support system, the board information is at least one of a data list and a circuit diagram.
[0015]
According to the fifth and sixth aspects of the present invention, by using a data list and / or a circuit diagram that can be automatically generated in designing a board as the external information, a task of creating the external information is performed. To reduce human error.
[0016]
According to a seventh aspect of the present invention, in each of the above-described LSI design support systems, the internal information uses at least one of a system description language or a circuit diagram.
[0017]
According to the present invention, by using a system description language and / or a circuit diagram that can be automatically generated in LSI design as internal information, the task of creating internal information is reduced, and Mistakes are reduced.
[0018]
According to an eighth aspect of the present invention, in each of the above-mentioned LSI design support systems, there is provided output means for outputting design information of the interface portion in a predetermined format.
[0019]
In the present invention, the design information of the interface portion is output in a predetermined format, so that the work when using the design information is reduced, and the human error is reduced.
[0020]
A ninth aspect of the present invention is the above-mentioned LSI design support system, wherein the predetermined format is at least one of a system description language and a circuit diagram.
[0021]
According to the present invention, the design information of the interface portion is output in a system description language, a circuit diagram, or both, so that the design information can be used quickly and easily.
[0022]
An LSI design support program according to a tenth aspect of the present invention provides a read processing for reading out external information, internal information, and library information of a LSI from storage means for storing the information, and using the external information, the internal information, and the library information. And a generation process for generating design information of an interface portion of the LSI.
[0023]
An eleventh aspect of the present invention is the LSI design support program, wherein the generation processing associates an external signal name with an internal signal name using the external information and the internal information, and uses the library information to create a relationship between the two signals. The design information is generated by deciding a buffer to be arranged in the, and recording both signal names and the decided buffer name in association with each other.
[0024]
In a twelfth aspect of the present invention, in the above-mentioned LSI design support program, the buffer is determined from among buffers recorded in the library information, wherein the calculated delay time is smaller than an expected value. It is characterized by.
[0025]
According to a thirteenth aspect of the present invention, in the above-described LSI design support program, the determination of the buffer is performed by determining a buffer having a minimum calculated value among buffers having a calculated delay time smaller than an expected value.
[0026]
A fourteenth invention is characterized in that, in each of the above-mentioned LSI design support programs, the external information is board information on a board on which the LSI is installed.
[0027]
According to a fifteenth aspect of the present invention, in the above-mentioned LSI design support program, at least one of a data list and a circuit diagram is used as the board information.
[0028]
According to a sixteenth aspect of the present invention, in each of the above-described LSI design support programs, the internal information uses at least one of a system description language or a circuit diagram.
[0029]
According to a seventeenth aspect of the present invention, in each of the above-mentioned LSI design support programs, a computer executes an output process of outputting design information of the interface portion in a predetermined format.
[0030]
An eighteenth aspect of the present invention is the above-mentioned LSI design support program, wherein the predetermined format is at least one of a system description language and a circuit diagram.
[0031]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0032]
FIG. 1 is a block diagram showing an overall configuration of an LSI design support system according to one embodiment. The system shown in the figure has a configuration in which a terminal 1 for executing an LSI design support program and a database storing various information are connected via a network 7.
[0033]
As the terminal 1, a computer such as a personal computer 1a or an EWS (engineering workstation) 1b is used. The database includes information on the board on which the LSI is mounted (hereinafter referred to as "external information") 3, information on the inside of the LSI (hereinafter referred to as "internal information") 4, and information on interfaces such as buffers used between the LSI and the board. Information (hereinafter, “library information”) 5 is stored.
[0034]
As the external information 3, board information automatically generated when a board is designed by CAD or the like is used. The board information is represented by, for example, a data list shown in FIG. 2 or a circuit diagram shown in FIG.
[0035]
As the internal information 4, LSI information automatically generated when the inside of the LSI is designed by CAD or the like is used. The LSI information is represented by a system description language such as VHDL, Verilog, SystemC, and SpecC, or a circuit diagram of the LSI portion as shown in FIG.
[0036]
The library information 5 includes types of the external signal and the internal signal, information on the buffer shown in FIG. 4, and the like. 2A shows information on an input buffer, FIG. 2B shows information on an output buffer, and FIG. 2C shows information on an input / output buffer.
[0037]
The memory of the terminal 1 stores a design support program for supporting the design of the interface between the LSI and the board. The terminal 1 executes the program by the CPU to read the external information 3, the internal information 4, and the library information 5 from the database, and uses the information to design interface information (hereinafter referred to as “I / F information”). ) And a process of outputting the I / F information 6 in a predetermined format such as a system description language or a circuit diagram.
[0038]
The external information 4, the internal information 5, the library information 5, and the I / F information 6 may be stored separately in separate databases, or may be stored in a single database.
[0039]
FIG. 5 is a flowchart showing an overall outline of the I / F circuit design support processing by the present system. In this process, predetermined items are sequentially input into blanks of the I / F information table shown in FIG. 14 by an external information input process (step 1), an input buffer determination process (step 2), and an output buffer determination process (step 3). In the I / F information output process (step 4), the I / F information is output as a file or a circuit diagram described in a system description language based on the completed I / F information table. Hereinafter, the processing in each step will be described in detail.
[0040]
[1. External information input processing]
This process is a process for inputting external information to the I / F information table and for matching with the internal information, and can switch between manual input and automatic input.
[0041]
FIG. 6 is a flowchart showing an example of the external information input processing by manual input. First, the operator specifies the input line by inputting the Pin number of the I / F information table using the terminal 1, and determines whether the signal of the Pin number is power (VDD) or GND (VSS). (Steps 11 to 12). If it is power supply or GND, input VDD or VSS in the power supply column of the I / F information table. If it is not power supply or GND, determine whether an external signal name has been determined or whether an internal signal name has been determined. It is determined (steps 13 and 14).
[0042]
If the external signal name is determined and the internal signal name is also determined, the external signal name is input to the external signal name column of the I / F information table, and the internal signal name is input to the internal signal name column. (Step 15).
[0043]
If the external signal name is determined and the internal signal name is not determined, the external signal name is input to the external signal name column of the I / F information table, the internal signal name is determined, and the internal signal name is determined. Input (step 16).
[0044]
If the external signal name has not been determined and the internal signal name has been determined, the external signal name is determined and input to the external signal name column of the I / F information table, and the internal signal name is entered in the internal signal name column. (Step 17).
[0045]
If the external signal name has not been determined and the internal signal name has not been determined, the external signal name is determined and input to the external signal name column of the I / F information table, and the internal signal name is determined and the internal signal name is determined. Input into the signal name column (step 18).
[0046]
After the processes of steps 11 to 18 have been executed for all the pins of the LSI, the consistency between the external signal name and the internal signal name is confirmed (step 19). If the matching has not been achieved, the process returns to step 11 and the above processing is repeated. If the matching has been confirmed for all the pins, this processing ends. As a result of this processing, the I / F information table enters a state in which external information consistent with the internal information has been input, as shown in an example in FIG.
[0047]
FIG. 7 is a flowchart showing an example of the external information input processing by automatic input. Here, an agreement is previously defined between the external signal name and the internal signal name. Specifically, if an internal signal is used for input, it is represented by a character string “internal signal name” = “I” + “external signal name”, and if an internal signal is used for output, “internal signal name” = It is represented by “O” + “external signal name”. If the internal signal is used for both input and output, it is represented as "internal signal name" = "Bl" + "external signal name".
[0048]
First, the terminal 1 reads the Pin number and the external signal name from the board information in the order of the Pin numbers, substitutes the Pin number into the variable PinNo, and substitutes the external signal name into the variable OutName (steps 21 to 23). Next, the terminal 1 determines whether the external signal name is power supply or GND, and if it is power supply or GND, the Pin No. of the I / F information table is determined. Enter the Pin number in the column and VDD or VSS in the power supply column (steps 24 to 25). On the other hand, if the external signal name is not power supply or GND, the pin number is input in the Pin No column of the I / F information table, and the external signal name is input in the external signal name column (step 26).
[0049]
Subsequently, the terminal 1 reads the internal signal name and the I / O type from the internal information, substitutes the I / O type for the variable IOType, and substitutes the internal signal name for the variable InName (steps 27 to 29).
[0050]
The terminal 1 compares the internal signal name with “I” + “external signal name” if the I / O type of the internal signal is input, and proceeds to step 33 if they are equal. If the I / O type of the internal signal is output, the internal signal name is compared with "O" + "external signal name". If the I / O type of the internal signal is bidirectional, the internal signal name is compared with “BI” + “external signal name”, “BO” + “external signal name”, “BEN” + “external signal name”, If any one of them is equal, the process proceeds to step 33 (steps 30 to 32). In step 33, the terminal 1 inputs the I / O type read from the internal information in the I / O type column of the I / F information table, and in step 34, inputs the internal signal name in the internal signal name column.
[0051]
The processes in steps 28 to 34 are performed for all internal signals, or repeated until the correspondence between all external signal names and internal signal names matches. When this process ends, the process returns to the step 21, and when the processes of the above-mentioned steps 21 to 34 have been executed for all the external signals, this process ends. As a result of this processing, the I / F information table is in a state where external information that is consistent with the internal information is input, as shown in FIG. 15, as in the case of manual input.
[0052]
[2. Input buffer determination processing]
In this process, information necessary for determining an input buffer of an interface portion of an LSI is collected in an I / F information table, an appropriate input buffer is determined using this information, and the input buffer name is stored in the I / F information table. This is entered in the buffer name field.
[0053]
FIG. 8 is a flowchart showing an overall outline of the input buffer determination process. First, referring to the library information, the types of the external signal and the internal signal are added to the I / F information table shown in FIG. 15 (step 41). Here, the type indicates whether or not the clock is a clock, whether or not it is a Schmitt, whether or not there is a pull resistor, and if there is a pull resistor, whether it is a pull-up resistor or a pull-down resistor, CMOS or TTL. FIG. 16 shows an example of the I / F information table at this time. This additional processing may be performed manually or the terminal 1 may automatically input.
[0054]
Subsequently, the terminal 1 selects one external signal from the I / F information table, and determines whether or not the input signal input from the external circuit to the internal circuit is a clock (step 42). In the case of the clock, the processing for the high drive type described later is performed, and in the case of not the clock, the processing for the standard drive type described later is performed (steps 43 and 44). Subsequently, a process for a pull resistor to be described later is performed (step 45). Then, the input buffer name for the external signal and the internal signal is determined, and the input buffer name is input to the buffer name column of the I / F information table. When the processing in steps 42 to 45 has been performed for all the input signals, the present processing ends. Hereinafter, the processing of steps 43, 44, and 45 will be described in detail.
[0055]
FIG. 9 is a flowchart showing an example of the process for the high drive type in step 43. First, the terminal 1 determines whether an input signal is a CMOS level or a TTL level using an I / F information table. In the case of the TTL level, the input type of the input buffer is determined to be the TTL level input buffer (steps 51 to 52). On the other hand, in the case of the CMOS level, it is determined whether or not it is a Schmitt trigger type (step 53). In the case of the Schmitt trigger type, the input type of the input buffer is determined to be the Schmitt trigger CMOS level input buffer.
[0056]
FIG. 10 is a flowchart showing an example of the process for the standard drive type in step 44. First, the terminal 1 determines whether the input signal is a CMOS level or a TTL level using the I / F information table (step 56). In the case of the TTL level, it is determined whether or not it is a Schmitt trigger type. In the case of the Schmitt trigger type, the input type of the input buffer is determined as the Schmitt trigger TTL level input buffer, and in the case of not the Schmitt trigger type, the input type is determined as the TTL level input buffer (steps 57 to 59). On the other hand, if it is determined at step 56 that the input signal is of the CMOS level, it is determined whether or not the input signal is of the Schmitt trigger type. In this case, a CMOS level input buffer is determined (steps 60 to 62).
[0057]
FIG. 11 is a flowchart illustrating an example of the processing regarding the pull resistance in step 45. The terminal 1 uses the I / F information table to determine whether there is a pull resistor and, if there is a pull resistor, whether it is a pull-up resistor or a pull-down resistor (step 63). In the case of a pull-up resistor, the input type of the input buffer is optionally provided with a pull-up, in the case of a pull-down resistor, a pull-down is provided, and when there is no pull resistor, no option is provided (steps 64 to 66).
[0058]
Next, the input buffer determination process will be described using a specific example. Here, a description will be given of a process in which the terminal 1 determines a buffer name for the external signals I1 to I4 shown in the I / F information table of FIG. 16 and inputs the buffer name to the buffer name column of the I / F information table.
[0059]
1. First, the terminal 1 checks whether or not the external signal I1 is a clock. Here, the external signal I1 is a clock from the I / F information table of FIG.
[0060]
2. Next, it is checked whether the external signal I1 is at the CMOS level or the TTL level. From the I / F information table of FIG. 16, the external signal I1 is at the CMOS level.
[0061]
3. Next, it is checked whether the external signal I1 is a Schmitt trigger. From the I / F information table in FIG. 16, the external signal I1 is not a Schmitt trigger.
[0062]
4. Next, the pull resistance of the external signal I1 is examined. From the I / F information table of FIG. 16, the external signal I1 has no pull resistance.
[0063]
5. The terminal 1 determines the input type of the external signal I1 to be a high drive type CMOS level input buffer by the above-described processes 1 to 4. There is no optional pull resistor.
[0064]
6. Subsequently, the terminal 1 checks whether or not the external signal I2 is a clock. From the I / F information table of FIG. 16, the external signal I1 is not a clock.
[0065]
7. Next, it is checked whether the external signal I2 is at the CMOS level or the TTL level. From the I / F information table of FIG. 16, the external signal I2 is at the CMOS level.
[0066]
8. Next, it is checked whether the external signal I2 is a Schmitt trigger. From the I / F information table in FIG. 16, the external signal I2 is not a Schmitt trigger.
[0067]
9. Next, the pull resistance of the external signal I2 is examined. From the I / F information table of FIG. 16, a pull-up resistor is attached to the external signal I2.
[0068]
10. Through the above processes 6 to 9, the terminal 1 determines the input type of the external signal I2 to be a standard drive type CMOS level input buffer. A pull-up resistor is added as an option.
[0069]
11. Subsequently, the terminal 1 checks whether or not the external signal I3 is a clock. From the I / F information table of FIG. 16, the external signal I3 is not a clock.
[0070]
12. Next, it is checked whether the external signal I3 is at the CMOS level or the TTL level. From the I / F information table in FIG. 16, the external signal I3 is at the CMOS level.
[0071]
13. Next, it is checked whether or not the external signal I3 is a Schmitt trigger. From the I / F information table in FIG. 16, the external signal I3 is a Schmitt trigger.
[0072]
14. Next, the pull resistance of the external signal I3 is examined. From the I / F information table of FIG. 16, no pull resistance is attached to the external signal I3.
[0073]
15. Through the processes 11 to 14, the terminal 1 determines the input type of the external signal I3 to be a standard drive type Schmitt trigger CMOS level input buffer. Do not attach an optional pull resistor.
[0074]
16. Subsequently, the terminal 1 checks whether or not the external signal I4 is a clock. From the I / F information table of FIG. 16, the external signal I4 is not a clock.
[0075]
17. Next, it is checked whether the external signal I4 is at the CMOS level or the TTL level. From the I / F information table in FIG. 16, the external signal I4 is at the TTL level.
[0076]
18. Next, it is checked whether or not the external signal I4 is a Schmitt trigger. From the I / F information table of FIG. 16, the external signal I4 is not a Schmitt trigger.
[0077]
19. Next, the pull resistance of the external signal I4 is examined. According to the I / F information table of FIG. 16, the external signal I4 has no pull resistance.
[0078]
20. Through the above processes 16 to 19, the terminal 1 determines the input type of the external signal I4 to be the standard drive type TTL level input buffer. Do not attach an optional pull resistor.
[0079]
21. Subsequently, using the library information about the input buffer shown in FIG. 4A, a buffer name corresponding to the input type of each external signal determined in the above-described processing of 1 to 20 is extracted, and the I / F information table is extracted. In the buffer name field. FIG. 17 shows an example of the state of the I / F information table when the input buffer determination processing has been completed.
[0080]
[3. Output buffer determination process]
In this processing, information necessary for determining an output buffer for an interface portion of an LSI is collected in an I / F information table, an appropriate output buffer is determined using this information, and the output buffer name is stored in the I / F information table. Is input in the buffer name field of the.
[0081]
FIG. 12 is a flowchart illustrating an example of the overall outline of the output buffer determination process. First, referring to the library information 5, the expected values of the wiring capacity and the delay time are added to the I / F information table shown in FIG. 17 (step 71). FIG. 18 shows an example of the I / F information table at this time. There are two types of expected values of the delay time, when the signal changes from low to high (L → H) and when the signal changes from high to low (H → L). Note that this additional processing may be performed manually or may be performed automatically by the terminal 1.
[0082]
Subsequently, the terminal 1 selects one external signal from the I / F information table, determines an appropriate output buffer using the library information (step 72), and sets the output buffer name in the buffer name column of the I / F information table. (Step 73). When the processing of steps 72 to 73 has been performed for all external signals, this processing ends. Hereinafter, the process of step 72 will be described in detail.
[0083]
FIG. 13 is a flowchart illustrating an example of a process for determining an output buffer. First, the terminal 1 selects one external signal from the I / F information table shown in FIG. 18 and also selects one first output buffer from the library information of the output buffer shown in FIG. 4B (step 81). . Next, the delay time of the output buffer is calculated using the expected value of the load capacity recorded in the I / F information table for the external signal (step 82). For this calculation, for example, a calculation formula provided by a semiconductor vendor or the like is used. Next, the calculated value of the delay time is compared with the expected value (step 83). If the calculated values for both L → H and H → L are smaller than the expected values, the process proceeds to step 84; otherwise, the process proceeds to step 90.
[0084]
In step 84, the difference between the expected value and the calculated value for both L → H and H → L (result 1 for L → H and result 2 for H → L) is determined. The sum of these two differences (result 1 + result 2) is registered as a comparison value. The name of the output buffer at that time is registered in the sub-buffer, and the process proceeds to the calculation of the next output buffer (steps 85 to 91). In the second and subsequent calculations, the comparison value already registered is compared with the sum of newly calculated results 1 and 2. If the sum is smaller, the comparison value is updated with that value, and the sub-buffer is updated with the output buffer at that time (steps 85 to 89). The above processing is repeated until the output buffer becomes the last one (step 90).
[0085]
If the output buffer has been registered in the sub-buffer after the above processing for the last output buffer is completed, the final output buffer is determined as the output buffer and registered in the buffer. If no output buffer is registered in the sub-buffer, error processing is performed (steps 92 to 94).
[0086]
Subsequently, the next external signal is selected from the I / F information table, and the processes in steps 81 to 94 are performed. When the above processing is completed for all the external signals, the present processing ends. Each output buffer name registered in the buffer is used for input processing to the buffer name column in step 73 described above.
[0087]
Next, the output buffer determination process will be described using a specific example. Here, a process in which the terminal 1 determines an output buffer for the external signals O1 to O4 and B1 shown in the I / F information table of FIG. 18 and inputs the buffer name to the buffer name column of the I / F information table. explain.
[0088]
1. First, the terminal 1 selects the first output buffer for the external signal O1 from the information library of the output buffer shown in FIG.
[0089]
2. The expected value of the wiring capacitance of the external signal O1 is substituted into a predetermined formula to calculate the delay time for both L → H and H → L.
[0090]
3. The calculated value of the delay time is compared with the expected value, and if the calculated value is smaller than the expected value for both L → H and H → L, the difference between the calculated value and the expected value is determined.
[0091]
4. Obtain the sum of the two differences, register the value as a comparison value, and register the output buffer at that time in the sub-buffer.
[0092]
5. The next output buffer is selected from the information library, the above processes 2 and 3 are performed, and the sum of the two differences is obtained. If this sum is smaller than the registered comparison value, the comparison is performed using this sum. Update the value and update the subbuffer with the current output buffer.
[0093]
6. The above process 5 is repeated until the last output buffer is reached, and the name of the output buffer finally registered in the buffer is input to the buffer name column for the external signal I1 in the I / F information table.
[0094]
7. The above processes 1 to 6 are also performed on the external signals O2 to O4 and B1. However, for the external signal B1, the library information of the input / output buffer shown in FIG. 4C is used instead of the library information of the output buffer. FIG. 19 shows an example of the state of the I / F information table when the output buffer determination processing has been completed.
[0095]
[4. Output processing of I / F information]
In this process, the terminal 1 outputs I / F information in a predetermined format using the I / F information table completed by the above processes. The output format is, for example, a system description language or a circuit diagram. 20 and 21 show the contents of a series of output files showing I / F information in VHDL of the system description language. FIG. 22 shows the contents of a file indicating an external additional capacity, and FIG. 23 shows the contents of a file indicating a Pin No, a signal name, and a buffer name. FIG. 24 is an example of a circuit diagram showing I / F information.
[0096]
Therefore, according to the present embodiment, the design information of the interface part is automatically generated as an I / F information table using the external information, the internal information, and the library information of the LSI, thereby shortening the design work time. It is possible to reduce the number of operations by manual input and reduce human error.
[0097]
According to the present embodiment, the buffer to be arranged in the interface portion of the LSI is determined, and the buffer name is recorded in the I / F information table in association with the external signal name and the internal signal name, thereby designing the interface portion. Information can be generated accurately.
[0098]
According to the present embodiment, among the buffers recorded in the library information, those having at least the calculated value of the delay time smaller than the expected value, and those having the smallest calculated value among the buffers, are used for the interface part. In this case, an appropriate buffer can be applied.
[0099]
According to the present embodiment, by using a data list or a circuit diagram that can be automatically generated when designing a board as external information of an LSI, the work of creating external information can be reduced, and Mistakes can be reduced.
[0100]
According to this embodiment, a system description language or a circuit diagram that can be automatically generated when designing an LSI is used as the internal information of the LSI. Mistakes can be reduced.
[0101]
According to the present embodiment, the design information of the interface part recorded in the I / F information table is output in a system description language or a circuit diagram, so that the design information can be used quickly and easily. .
[0102]
【The invention's effect】
According to the LSI design support system and the program according to the present invention, by automatically generating the design information of the interface part of the LSI, the work time for designing the interface part is reduced, and the work by manual input is reduced. Therefore, the burden on the designer can be reduced, and human errors can be reduced.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an LSI design support system according to one embodiment.
FIG. 2 is a data list showing an example of board information.
FIG. 3 is a circuit diagram illustrating an example of board information.
FIG. 4 is a diagram illustrating an example of library information relating to a buffer;
FIG. 5 is a flowchart illustrating an example of an overall outline of an I / F circuit design support process.
FIG. 6 is a flowchart showing an example of external information input processing by manual input.
FIG. 7 is a flowchart showing an example of external information input processing by automatic input.
FIG. 8 is a flowchart illustrating an example of an overall outline of input buffer determination processing.
FIG. 9 is a flowchart illustrating an example of a process for a standard drive type.
FIG. 10 is a flowchart illustrating an example of a process for a standard drive type.
FIG. 11 is a flowchart illustrating an example of processing for a pull resistor.
FIG. 12 is a flowchart illustrating an example of an overall outline of an output buffer determination process.
FIG. 13 is a flowchart illustrating an example of a process for determining an output buffer.
FIG. 14 is a diagram illustrating an example of an initial state of an I / F information table.
FIG. 15 is a diagram illustrating an example of a state of an I / F information table after an external information input process is completed.
FIG. 16 is a diagram illustrating an example of a state of an I / F information table immediately after starting an input buffer determination process;
FIG. 17 is a diagram illustrating an example of a state of an I / F information table after an input buffer determination process has been completed;
FIG. 18 is a diagram illustrating an example of a state of an I / F information table immediately after starting output buffer determination processing.
FIG. 19 is a diagram illustrating an example of a state of an I / F information table after an output buffer determination process has been completed;
FIG. 20 is a diagram illustrating an example of an output file when I / F information is output in a system description language.
FIG. 21 is a diagram showing a subsequent portion of the output file.
FIG. 22 is a diagram illustrating an example of a file indicating an external additional capacity.
FIG. 23 is a diagram illustrating an example of a file indicating a Pin No, a signal name, and a buffer name.
FIG. 24 is a diagram illustrating an example when I / F information is output in a circuit diagram.
[Explanation of symbols]
1 terminal
3 external information
4 inside information
5 Library information
6 Interface part design information
7 Network

Claims (18)

LSIの外部情報と内部情報とライブラリ情報を記憶しておく記憶手段と、
前記外部情報と前記内部情報と前記ライブラリ情報を用いてLSIのインタフェース部分の設計情報を生成する生成手段と、
を有することを特徴とするLSI設計支援システム。
Storage means for storing external information, internal information, and library information of the LSI;
Generating means for generating design information of an interface portion of an LSI using the external information, the internal information, and the library information;
An LSI design support system comprising:
前記生成手段は、前記外部情報および前記内部情報を用いてLSIの外部信号名と内部信号名とを対応させ、前記ライブラリ情報を用いて両信号間に配置するバッファを決定し、両信号名と決定したバッファ名とを対応させて記録することにより前記設計情報を生成することを特徴とする請求項1記載のLSI設計支援システム。The generating unit associates an external signal name and an internal signal name of the LSI using the external information and the internal information, determines a buffer to be arranged between the two signals using the library information, and 2. The LSI design support system according to claim 1, wherein the design information is generated by recording the determined buffer name in a corresponding manner. 前記バッファの決定は、前記ライブラリ情報に記録されているバッファのうちで遅延時間の計算値が期待値よりも小さいバッファの中から決定することを特徴とする請求項2記載のLSI設計支援システム。3. The LSI design support system according to claim 2, wherein said buffer is determined from among buffers recorded in said library information, among buffers whose calculated delay time is smaller than an expected value. 前記バッファの決定は、遅延時間の計算値が期待値よりも小さいバッファの中で、計算値が最小のバッファを決定することを特徴とする請求項3記載のLSI設計支援システム。4. The LSI design support system according to claim 3, wherein the determination of the buffer determines a buffer having a minimum calculated value among buffers having a calculated delay time smaller than an expected value. 前記外部情報は、LSIが設置される基板についての基板情報であることを特徴とする請求項1乃至4のいずれかに記載のLSI設計支援システム。5. The LSI design support system according to claim 1, wherein said external information is board information on a board on which an LSI is installed. 前記基板情報は、データリスト又は回路図のうちの少なくとも一方が用いられることを特徴とする請求項5記載のLSI設計支援システム。6. The LSI design support system according to claim 5, wherein at least one of a data list and a circuit diagram is used as the board information. 前記内部情報は、システム記述言語又は回路図のうちの少なくとも一方が用いられることを特徴とする請求項1乃至6のいずれかに記載のLSI設計支援システム。7. The LSI design support system according to claim 1, wherein the internal information uses at least one of a system description language and a circuit diagram. 前記インタフェース部分の設計情報を所定の形式で出力する出力手段を有することを特徴とする請求項1乃至7のいずれかに記載のLSI設計支援システム。8. The LSI design support system according to claim 1, further comprising an output unit that outputs the design information of the interface part in a predetermined format. 前記所定の形式は、システム記述言語又は回路図のうちの少なくとも一方が用いられることを特徴とする請求項8に記載のLSI設計支援システム。9. The LSI design support system according to claim 8, wherein the predetermined format uses at least one of a system description language and a circuit diagram. LSIの外部情報と内部情報とライブラリ情報を記憶する記憶手段からこれらの情報を読み出す読出処理と、
外部情報と内部情報とライブラリ情報とを用いてLSIのインタフェース部分の設計情報を生成する生成処理と、
をコンピュータに実行させることを特徴とするLSI設計支援プログラム。
A reading process for reading out external information, internal information, and library information of the LSI from storage means for storing the information;
A generation process of generating design information of an interface portion of an LSI using external information, internal information, and library information;
An LSI design support program for causing a computer to execute the following.
前記生成処理は、前記外部情報および前記内部情報を用いて外部信号名と内部信号名とを対応させ、前記ライブラリ情報を用いて両信号間に配置するバッファを決定し、両信号名と決定したバッファ名とを対応させて記録することにより前記設計情報を生成することを特徴とする請求項10記載のLSI設計支援プログラム。In the generation processing, the external signal and the internal signal are associated with the external signal name and the internal signal name using the external information and the internal information, and a buffer to be arranged between the two signals is determined using the library information. 11. The LSI design support program according to claim 10, wherein the design information is generated by recording a buffer name in association with the buffer name. 前記バッファの決定は、前記ライブラリ情報に記録されているバッファのうちで遅延時間の計算値が期待値よりも小さいバッファの中から決定することを特徴とする請求項11記載のLSI設計支援プログラム。12. The computer-readable storage medium according to claim 11, wherein the buffer is determined from among buffers recorded in the library information, the buffer having a calculated delay time smaller than an expected value. 前記バッファの決定は、遅延時間の計算値が期待値よりも小さいバッファの中で計算値が最小のバッファを決定することを特徴とする請求項12記載のLSI設計支援プログラム。13. The LSI design support program according to claim 12, wherein the determination of the buffer determines a buffer having a minimum calculated value among buffers having a calculated delay time smaller than an expected value. 前記外部情報は、LSIが設置される基板についての基板情報であることを特徴とする請求項10乃至13のいずれかに記載のLSI設計支援プログラム。14. The LSI design support program according to claim 10, wherein the external information is board information on a board on which an LSI is installed. 前記基板情報は、データリスト又は回路図のうちの少なくとも一方が用いられることを特徴とする請求項14記載のLSI設計支援プログラム。15. The LSI design support program according to claim 14, wherein at least one of a data list and a circuit diagram is used as the board information. 前記内部情報は、システム記述言語又は回路図のうちの少なくとも一方が用いられることを特徴とする請求項10乃至15のいずれかに記載のLSI設計支援プログラム。16. The LSI design support program according to claim 10, wherein the internal information uses at least one of a system description language and a circuit diagram. 前記インタフェース部分の設計情報を所定の形式で出力する出力処理をコンピュータに実行させることを特徴とする請求項10乃至16のいずれかに記載のLSI設計支援プログラム。17. The LSI design support program according to claim 10, wherein the program causes a computer to execute an output process of outputting the design information of the interface portion in a predetermined format. 前記所定の形式は、システム記述言語又は回路図のうちの少なくとも一方が用いられることを特徴とする請求項17に記載のLSI設計支援プログラム。18. The LSI design support program according to claim 17, wherein the predetermined format uses at least one of a system description language and a circuit diagram.
JP2002170612A 2002-06-11 2002-06-11 Lsi design support system and program Pending JP2004013851A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002170612A JP2004013851A (en) 2002-06-11 2002-06-11 Lsi design support system and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002170612A JP2004013851A (en) 2002-06-11 2002-06-11 Lsi design support system and program

Publications (1)

Publication Number Publication Date
JP2004013851A true JP2004013851A (en) 2004-01-15

Family

ID=30436821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002170612A Pending JP2004013851A (en) 2002-06-11 2002-06-11 Lsi design support system and program

Country Status (1)

Country Link
JP (1) JP2004013851A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012014474A (en) * 2010-07-01 2012-01-19 Hitachi Ltd Signal name setting method and system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0753800A (en) * 1993-07-06 1995-02-28 Hpg Internatl Inc Flame-retardant polypropylene composition
JPH07263560A (en) * 1994-03-17 1995-10-13 Fujitsu Ltd Designing method and design assisting apparatus for semiconductor integrated circuit
JPH11306218A (en) * 1998-04-17 1999-11-05 Nec Corp Design method for semiconductor integrated circuit
JP2000123055A (en) * 1998-10-13 2000-04-28 Nec Corp Device and method for supporting circuit design
JP2000181942A (en) * 1998-12-11 2000-06-30 Nec Corp Automatic i/o buffer operation power source check system
JP2001142923A (en) * 1999-11-15 2001-05-25 Matsushita Electric Ind Co Ltd Design method for semiconductor integrated circuit device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0753800A (en) * 1993-07-06 1995-02-28 Hpg Internatl Inc Flame-retardant polypropylene composition
JPH07263560A (en) * 1994-03-17 1995-10-13 Fujitsu Ltd Designing method and design assisting apparatus for semiconductor integrated circuit
JPH11306218A (en) * 1998-04-17 1999-11-05 Nec Corp Design method for semiconductor integrated circuit
JP2000123055A (en) * 1998-10-13 2000-04-28 Nec Corp Device and method for supporting circuit design
JP2000181942A (en) * 1998-12-11 2000-06-30 Nec Corp Automatic i/o buffer operation power source check system
JP2001142923A (en) * 1999-11-15 2001-05-25 Matsushita Electric Ind Co Ltd Design method for semiconductor integrated circuit device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012014474A (en) * 2010-07-01 2012-01-19 Hitachi Ltd Signal name setting method and system

Similar Documents

Publication Publication Date Title
US8117576B2 (en) Method for using an equivalence checker to reduce verification effort in a system having analog blocks
US8196075B1 (en) Generation of input/output models
JPH05143674A (en) Automatic logic-model forming method based on circuit graphic database
JPH05256901A (en) Method for judging logical function of circuit
JP2000076321A (en) Lsi design system by preparation of model for function block and lsi designing method thereof
US10437946B1 (en) Using implemented core sources for simulation
JPH06274568A (en) Expansion method for hierarchical graphic data
JP3304912B2 (en) ASIC design method and ASIC design device
CN107784185B (en) Method and device for extracting pseudo path in gate-level netlist and terminal equipment
JP4962084B2 (en) Circuit design verification system, method, and program
JP2007094506A (en) System, method and program for verifying circuit
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
JPWO2006025412A1 (en) Logic verification method, logic module data, device data, and logic verification apparatus
JP2004013851A (en) Lsi design support system and program
US10997333B1 (en) Methods, systems, and computer program product for characterizing an electronic design with a schematic driven extracted view
JP2752923B2 (en) Logic simulation apparatus and logic circuit information creation method
US7191412B1 (en) Method and apparatus for processing a circuit description for logic simulation
US6701496B1 (en) Synthesis with automated placement information feedback
JPH07129647A (en) Cad system
US6481001B1 (en) Method and system for proactively debugging fitting problems in programmable logic devices
JP3105782B2 (en) Logic generation method for electronic circuits
KR102545302B1 (en) Automation Framework for Digital Circuit Design and Verification
TWI768536B (en) Integrated circuit simulation and design method and system thereof
JP2004280279A (en) Top-down design device and top-down design program
JP2967174B2 (en) Design equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050527

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080701