JP3654941B2 - 論理シミュレーション方法及び論理シミュレータ - Google Patents
論理シミュレーション方法及び論理シミュレータ Download PDFInfo
- Publication number
- JP3654941B2 JP3654941B2 JP01470995A JP1470995A JP3654941B2 JP 3654941 B2 JP3654941 B2 JP 3654941B2 JP 01470995 A JP01470995 A JP 01470995A JP 1470995 A JP1470995 A JP 1470995A JP 3654941 B2 JP3654941 B2 JP 3654941B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- logic
- logic circuit
- timing verification
- macro
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Description
【産業上の利用分野】
本発明は、半導体集積回路、特に大規模集積回路(LSI)の設計における論理シミュレーション方法及び論理シミュレータに関する。
【0002】
一般に、LSIの設計はCAD(computer aided design) システムを用いて行われる。更に、設計した回路が正常に動作するかどうかを検証するために、CADシステムに組み込まれた論理シミュレータを用いて、論理シミュレーションが行われる。このシミュレーションにおいて、フリップフロップ回路のような順序回路ではセットアップタイム及びホールドタイムのタイミング検証(timing simulation) も重要である。このタイミング検証にも論理シミュレータが使用される。
【0003】
特に、近年のLSIの更なる大規模化、微細化、及び動作速度の高速化に伴い、タイミング検証は欠くことのできないシミュレーション項目となっている。そのため、論理シミュレータはタイミング検証を正確に実行できることが要求されている。
【0004】
【従来の技術】
半導体集積回路の設計は、図16に示すCADシステム内のライブラリファイル73に記録されているデータを使用して行われる。ライブラリファイル73は、種々の論理セルのデータを記憶している。ライブラリファイル73を作成するために、まず、ライブラリの設計者はテキスト形式からなるセル定義情報71を作成する。このセル定義情報71は、セル論理定義と、タイミング検証定義とを含む。セル論理定義は、論理セルを構成する素子及びネットに関するデータからなっている。タイミング検証定義は、論理セルを構成する素子のうち、タイミング検証を必要とする素子に付加されるべきダミー素子に関するデータである。
【0005】
セル定義情報71のテキストデータは、ライブラリ作成用のアプリケーションプログラム72によって論理シミュレータが取り扱える形式のデータに変換され、その変換されたデータはライブラリファイル73に登録される。図17はライブラリファイル73における一例のフリップフロップセル74のデータの概念図を示し、フリップフロップセル74はプリミティブフリップフロップ回路75と、そのタイミング検証を行うためのダミー素子76とを含む。プリミティブフリップフロップ回路75はクロックピンCK及びデータピンDの入力信号のタイミング検証を必要とする素子であるから、ピンCK,Dに対してダミー素子76が並列的に接続される。プリミティブフリップフロップ回路75及びダミー素子76は分離することができない。
【0006】
従って、ライブラリファイル73内のデータを使用してユーザ(回路設計者)が論理回路を設計する場合、一つのセル内のタイミングを検証すべき箇所にダミー素子が挿入される。図18は、設計されたセル80の一例を示す。セル80はAND回路81、インバータ82,84及びフリップフロップ回路83を含む。この場合、フリップフロップ回路83はクロックピンCK及びデータピンDの入力信号のタイミング検証を必要とする素子であるから、ピンCK,Dに対してダミー素子85が並列的に接続される。ただし、この設計されたセル80をディスプレイ画面上に表示しても、ダミー素子85は通常、表示されない。
【0007】
従来のタイミング検証によれば、論理シミュレータがダミー素子を含んだ回路のデータに基づいてシミュレーションをする。論理シミュレータ内には、ダミー素子の入力ピンにおける又は入力ピン間における信号のタイミングを検証するための条件が登録されている。タイミング検証の結果が、定義された条件を満たさない場合、論理シミュレータはタイミングエラーと判定する。
【0008】
【発明が解決しようとする課題】
従来のタイミング検証方法によれば、設計当初からセルの設計データはダミー素子に関するデータを内蔵しなければならない。そのため、設計の初期段階において提案された論理回路が所望の動作をするか否かを確認する論理シミュレーションの際でも、常にタイミング検証が行われる。このことは、シミュレーション速度を低下させる。一般に、ダミー素子は、回路内のクロック素子のような比較的頻繁に駆動する回路素子に接続されることが多い。このことは、論理シミュレータの負荷を大きなものとする。
【0009】
また、個々のダミー素子はそれ独自の動作を行うから、ダミー素子の種類の数だけ素子の動作がある。従って、ある素子において検査すべき項目が追加された場合、別のタイプのダミー素子がその素子に追加される必要がある。このことは、シミュレーション速度の改善を妨げる。
【0010】
また、従来の方法は個々のセルに対して適用され得るのみなので、セル間のタイミング検証を行うことは原理的に不可能である。近年、半導体集積回路の大規模化の進展によるシミュレーション速度の低下が懸念されている。それ故、回路設計の初期段階において、タイミング検証を行うことなくシミュレーションを素早く実行できることが要求されている。
【0011】
更に、シミュレーションの対象となる回路のデータ規模を小さくするために、セルを真理値表化することが試みられている。この場合には、セルを構成する個々の素子にダミー素子を付加することが不可能であるため、図19に示すように、真理値表化されたセル86の外部ピン86a,86b,86cに対してダミー素子87が接続されなければならない。このことは、真理値表化されたセル86に対して従来のダミー素子を使用することができないことを示し、結果として、新規なダミー素子の開発が必要になる。このように、ケースバイケースで新しいダミー素子を準備していくと、ダミー素子の種類が増大する。このことは、ダミー素子の管理を困難にする。
【0012】
あるダミー素子について論理シミュレータがエラーを検出した場合、ダミー素子の出力信号を‘X’信号として回路の外部端子まで伝播させることにより、エラーの発生を観測する方法も提案されている。しかし、この場合でも、エラーの発生の仕方は個々のセルの構造に依存するため、目的に応じたダミー素子が個々に必要となり、結局はダミー素子の種類を増大させる。
【0013】
本発明は上記問題点を解決するためになされたものであって、その目的は、タイミング検証に関する検証定義を、CADシステムを用いて論理回路を設計する設計者が取り扱い可能とすることによって、ダミー素子の種類の増加を抑制することにある。
【0014】
本発明の別の目的は、タイミング検証が求められていない場合において論理シミュレーションの対象となる回路データの数を最小化し、論理シミュレーション速度の改善を図ることにある。
【0015】
【課題を解決するための手段】
上記目的を達成するため、請求項1の発明は、論理回路における論理セルのうちタイミング検証を必要とする論理セルに付加されるセル用タイミング検証定義データが論理回路の論理回路データとは分離された状態でデータベースに記憶されている。設計された論理回路の論理シミュレーションの開始時に、その設計された論理回路における所定のマクロのタイミング検証を実行するための検証指示信号が入力されたとき、その検証指示信号に基づいて、データベースから指示されたマクロに含まれる各論理セルに対応するセル用タイミング検証定義データを取り込み、その取り込んだセル用タイミング検証定義データに基づいてセル用ダミー素子データを生成してその生成したセル用ダミー素子データを論理回路データに付加する。そして、論理シミュレーション中にセル用ダミー素子データを用いてタイミング検証を行うようにした。
【0016】
請求項2の発明は、論理回路におけるマクロのうちタイミング検証を必要とするマクロに付加されるマクロ用タイミング検証定義データが論理回路のデータとは分離された状態でデータベースに記憶されている。設計された論理回路の論理シミュレーションの開始時に、その設計された論理回路における所定のマクロのタイミング検証を実行するための検証指示信号が入力されたとき、その検証指示信号に基づいて、データベースから指示されたマクロに対応するマクロ用タイミング検証定義データを取り込み、その取り込んだマクロ用タイミング検証定義データに含まれている開始条件データ及び継続条件データ及び終了条件データに基づいてマクロ用ダミー素子データを生成してその生成したマクロ用ダミー素子データを論理回路データに付加する。そして、論理シミュレーション中にマクロ用ダミー素子データを用いてタイミング検証を行うようにした。
【0017】
請求項3の発明は、論理回路における論理セルのうちタイミング検証を必要とする論理セルに付加されるセル用タイミング検証定義データ及び論理回路におけるマクロのうちタイミング検証を必要とするマクロに付加されるマクロ用タイミング検証定義データが論理回路のデータとは分離された状態でデータベースに記憶されている。設計された論理回路の論理シミュレーションの開始時に、その設計された論理回路における所定のマクロのタイミング検証を実行するための検証指示信号が入力されたとき、その検証指示信号に基づいて、データベースから指示されたマクロに含まれる各論理セルに対応するセル用タイミング検証定義データを取り込み、その取り込んだセル用タイミング検証定義データに基づいてセル用ダミー素子データを生成してその生成したセル用ダミー素子データを論理回路データに付加し、同じくデータベースから指示されたマクロに対応するマクロ用タイミング検証定義データを取り込み、その取り込んだマクロ用タイミング検証定義データに基づいてマクロ用ダミー素子データを生成してその生成したマクロ用ダミー素子データを論理回路データに付加する。そして、論理シミュレーション中にセル用ダミー素子データ及びマクロ用ダミー素子データを用いてタイミング検証を行うようにした。
【0018】
請求項4の発明は、論理セル及びマクロを含む論理回路の論理回路データを記憶する回路データ記憶手段と、論理回路における論理セルのうち、タイミング検証が必要な論理セルについてのセル用のタイミング検証定義を記憶するライブラリファイルと、回路データ記憶手段及びライブラリファイルに接続され、設計された論理回路のタイミング検証を実行するためのプロセッシングユニットと、設計された論理回路の論理シミュレーションの開始時に、その設計された論理回路における所定のマクロのタイミング検証の実行が指示されたとき、その検証指示に基づいて、ライブラリファイルから指示されたマクロに含まれる各論理セルに対応するセル用のタイミング検証定義を取り込み、その取り込んだセル用のタイミング検証定義に基づいてセル用ダミー素子データを生成してその生成したセル用ダミー素子データを論理回路データに付加するためのダミー素子生成部とを設けた。
【0019】
請求項5の発明は、論理セル及びマクロを含む論理回路の論理回路データと、論理回路におけるマクロのうち、タイミング検証が必要なマクロについての、タイミング検証を開始する条件に関する開始条件データ及びタイミング検証を継続する条件に関する継続条件データ及びタイミング検証を終了する条件に関する終了条件データが含まれているマクロ用のタイミング検証定義とを記憶する回路データ記憶手段と、回路データ記憶手段に接続され、設計された論理回路のタイミング検証を実行するためのプロセッシングユニットと、設計された論理回路の論理シミュレーションの開始時に、その設計された論理回路における所定のマクロのタイミング検証の実行が指示されたとき、その検証指示に基づいて、回路データ記憶手段から指示されたマクロに対応するマクロ用のタイミング検証定義を取り込み、その取り込んだマクロ用のタイミング検証定義に含まれる開始条件データ及び継続条件データ及び終了条件データに基づいてマクロ用ダミー素子データを生成してその生成したマクロ用ダミー素子データを論理回路データに付加するためのダミー素子生成部とを設けた。
【0020】
請求項6の発明は、論理セル及びマクロを含む論理回路の論理回路データと、論理回路におけるマクロのうち、タイミング検証が必要なマクロについてのマクロ用のタイミング検証定義とを記憶する回路データ記憶手段と、論理回路における論理セルのうち、タイミング検証が必要な論理セルについてのセル用のタイミング検証定義を記憶するライブラリファイルと、回路データ記憶手段及びライブラリファイルに接続され、設計された論理回路のタイミング検証を実行するためのプロセッシングユニットと、設計された論理回路の論理シミュレーションの開始時に、その設計された論理回路における所定のマクロのタイミング検証の実行が指示されたとき、その検証指示に基づいて、ライブラリファイルから指示されたマクロに含まれる各論理セルに対応するセル用のタイミング検証定義を取り込み、その取り込んだセル用のタイミング検証定義に基づいてセル用ダミー素子データを生成してその生成したセル用ダミー素子データを論理回路データに付加し、同じくデータベースから指示されたマクロに対応するマクロ用のタイミング検証定義を取り込み、その取り込んだマクロ用のタイミング検証定義に基づいてマクロ用ダミー素子データを生成してその生成したマクロ用ダミー素子データを論理回路データに付加するためのダミー素子生成部とを設けた。
【0021】
【作用】
請求項1の発明では、論理セルのタイミングを検証するためのセル用のタイミング検証定義が論理セルのデータとは分離されているため、タイミング検証定義が指定されなければダミー素子のデータは生成されず、タイミング検証が行われることはなく論理シミュレーションが高速化される。
【0022】
請求項2の発明では、論理回路を構成するセル間及びマクロ間のタイミングを検証するためのマクロ用のタイミング検証定義を回路設計者に解放することによって、論理セルの設計者が管理すべきダミー素子の種類の増加が抑制され、ダミー素子の管理の複雑化が抑制される。また、同じくマクロ用のタイミング検証定義を回路設計者に解放することによって、マクロ用のタイミング検証定義に基づいて回路設計者が所望するマクロのタイミング検証を行うためのダミー素子が生成される。
【0023】
請求項3の発明では、請求項1の発明の作用に加えて、請求項2の発明の作用がある。
請求項4の発明では、請求項1の発明と同様の作用がある。
【0024】
請求項5の発明では、請求項2の発明と同様の作用がある。
請求項6の発明では、請求項4の発明の作用に加えて、請求項5の発明の作用がある。
【0025】
【実施例】
本発明に従う第1実施例を図1〜図15に従って説明する。
図1は半導体集積回路の設計用のCADシステムに組み込まれた論理シミュレータ1を示す。図1に示すように、論理シミュレータ1は、データベースとしての回路ファイル2、信号データファイル3及びライブラリファイル4を備えている。また、論理シミュレータ1は更に、コンピュータ及びコンピュータ上で動作する各プログラムで構成されるプロセッシングユニット15を備えている。このプロセッシングユニット15は、信号入力部5、入力時刻記憶部6、内部時刻記憶部7及び時刻更新部8、イベント処理・登録部9、イベントカウンタ10、ダミー素子生成部11、半導体メモリ12及び信号出力部13を含んでいる。
【0026】
ライブラリファイル4は、基本的な論理セルのデータを内蔵するとともに、論理回路における論理セルのうち、タイミング検証が必要な論理セルについてのセル用のタイミング検証定義を内蔵している。ライブラリファイル4におけるこれらのデータは、ライブラリの設計者によって予め準備されている。ライブラリファイル4を作成するために、まず、ライブラリの設計者はテキスト形式からなるセル論理定義60と、同じくテキスト形式からなるタイミング検証定義61とを別々に作成する。
【0027】
セル論理定義60は、論理セルを構成する素子及びネットに関するデータからなっている。タイミング検証定義61は、論理セルを構成する素子のうち、タイミング検証を必要とする素子及び素子間に付加されるべきダミー素子に関するデータであり、タイミング検証を開始するための開始条件、タイミング検証を継続するための継続条件及びタイミング検証を終了するための終了条件を含む。開始条件、継続条件及び終了条件は、タイミング検証を必要とする素子の端子名及びその端子の信号のレベルにて定義される。タイミング検証定義61は論理セル毎に定義される。このタイミング検証定義61は、タイミング検証の結果が正しいかどうかを判定するための規格値、タイミングエラーを生じる動作を定めたエラー動作定義及びそのエラーに対応するメッセージの定義を含む。
【0028】
セル論理定義60及びタイミング検証定義61のテキストデータは、ライブラリ作成用のアプリケーションプログラム62によってそれぞれ論理シミュレータが取り扱える形式のデータに変換され、その変換されたデータはライブラリファイル4に登録される。図6はライブラリファイル4における一例のフリップフロップセル66のデータと、同セル66用のダミー素子に関するタイミング検証定義67のデータの概念図を示す。フリップフロップセル66のデータとタイミング検証定義67とは別々であるが、フリップフロップセル66のデータに基づいて同セル66に対応するタイミング検証定義67を検索することができる。
【0029】
回路ファイル2は回路データ記憶手段を構成し、回路ファイル2は複数の論理素子データ、マクロのデータ及びネットデータを含むLSI用の論理回路データ(ネットリスト)を記憶するとともに、論理回路におけるマクロのうち、タイミング検証が必要なマクロについてのマクロ用のタイミング検証定義を記憶する。図9は、回路ファイル2に登録された回路データに対応する論理回路50の一例を示す。論理回路50はその下位階層に論理セル51を備え、論理セル51は素子52,53及びネットN1〜N5で形成されている。
【0030】
回路ファイル2のデータは図7に示す手順で作成される。まず、ユーザ(回路設計者)は、テキスト形式からなるユーザ論理定義63及びタイミング検証定義64を作成する。ユーザ論理定義63は、ライブラリファイル4中にある所望の機能(例えば、判定、NAND)に関するデータを指定することにより作成される。
【0031】
LSIの設計データは、階層構造を持つ。タイミング検証定義64はLSIの各階層におけるマクロ毎に定義される。このタイミング検証定義64は、タイミング検証を開始するための開始条件、タイミング検証を継続するための継続条件及びタイミング検証を終了するための終了条件を含む。開始条件、継続条件及び終了条件は、タイミング検証を必要とするマクロの端子名及びその端子の信号のレベルにて定義される。例えば、図8に示すチップCPは、下位の階層にマクロA02を備えている。マクロA02は入力端子Inと論理セルA01とを備えている。このマクロA02についてタイミング検証が必要とされる場合には、マクロA02の入力端子Inが、例えば、「A02♯In」として定義され、これが開始条件における端子名として指定される。また、タイミング検証定義64は、タイミング検証の結果が正しいかどうかを判定するための規格値、タイミングエラーを生じる動作を定めたエラー動作定義及びそのエラーに対応するメッセージの定義を含む。
【0032】
図7に示すように、図示しない回路データ作成装置は、回路データ作成プログラム65に基づいて、ユーザ論理定義63に指定されているデータをライブラリファイル4から読み出し、その読み出されたデータを論理回路データとして回路ファイル2に記憶する。タイミング検証定義64は、回路データ作成プログラム65によって論理シミュレータ1が取り扱える形式のデータに変換され、回路ファイル2に記憶される。
【0033】
信号データファイル3は信号データ記憶手段を構成し、LSIの動作を調べるべくLSIに入力される外部信号のデータ及びストローブ信号のデータを記憶する。
【0034】
論理シミュレータ1は、回路ファイル2から読み出した論理回路データと、信号ファイル3から読み出した外部信号データとに基づいて、LSIの論理シミュレーションを実行する。
【0035】
この論理シミュレーションでは、論理シミュレータ1にとっての内部時刻における外部信号の変化及び/又はLSI内部での信号変化がイベントとして定義され、かつ、登録される。データとしてのイベントは、信号の立ち上がりエッジ又は立ち下がりエッジのいずれであるかを示すデータと、そのイベントが回路のどの箇所に到達したかを示す着信箇所に関するデータと、その着信箇所への着信の時刻(内部時刻)に関するデータとを内包している。
【0036】
特定の内部時刻における各イベントに基づいて、その特定時刻以後に発生するLSI内部での信号変化が計算され、その内部信号変化が新たなイベントとして登録される。その特定の内部時刻におけるすべてのイベントについての計算処理が終了すると、内部時刻が更新される。そして、更新された次の内部時刻に登録されているイベントについて、前記と同様の計算処理が行われる。
【0037】
また、本実施例によれば、この論理シミュレーションの間において、指示された論理セルについてのタイミング検証も実行される。
次に、論理シミュレータ1の各構成部について説明する。
【0038】
内部時刻記憶部7は、論理シミュレーションにおけるある特定の内部時刻(以下、現在時刻という)に関するデータを記憶する。内部時刻記憶部7は、現在時刻に関するデータを信号入力部5及びイベント処理・登録部9に提供する。
【0039】
入力時刻記憶部6は、信号入力部5を介してプロセッシングユニット15に入力される外部信号データにおける各信号変化(即ち、信号の立ち上がり又は立ち下がり)の時刻に関するデータを順次記憶する。入力時刻記憶部6は、そこに保持する信号の変化時刻のデータを信号入力部5及び時刻更新部8に出力する。
【0040】
信号入力部5は、内部時刻記憶部7の現在時刻データと入力時刻記憶部6の信号変化時刻データとを入力する。現在時刻データと変化時刻データとが一致したときに、信号入力部5は外部信号データの信号変化(立ち上がり又は立ち下がりエッジ)のデータを入力し、これをイベント処理・登録部9に提供する。
【0041】
ダミー素子生成部11は、回路ファイル2及びライブラリファイル4と接続されるとともに、生成部11には論理回路のタイミング検証を行うか否かを指示する検証指示信号が図示しないキーボード等の入力回路から入力される。この検証指示は論理回路の各階層におけるマクロについて行われる。
【0042】
論理シミュレーションの開始時において、検証指示信号が入力されておらず、いずれの階層のマクロのタイミング検証も指示されていない場合に、ダミー素子生成部11は回路ファイル2から論理回路データを読み出し、その読み出した論理回路データをメモリ12に格納する。また、いずれの階層のタイミング検証も指示されていないため、ダミー素子生成部11は回路ファイル2から前記タイミング検証定義64に基づくデータは読み出さない。
【0043】
また、論理シミュレーションの開始時において、検証指示信号が入力されて論理回路データの最上位階層(チップ)を含むいずれかの階層のマクロのタイミング検証が指示されているとする。この場合、ダミー素子生成部11は回路ファイル2から論理回路データを読み出し、読み出された論理回路データをメモリ12に格納する。また、ダミー素子生成部11は、タイミング検証が指示された階層のマクロに含まれるすべての論理セルを検索し、その検索した各セルに対応するタイミング検証定義のデータをライブラリファイル4から読み出す。ダミー素子生成部11はライブラリファイル4から読み出したタイミング検証定義のデータの開始条件、継続条件及び終了条件に定義された各端子に接続される端子を備えたダミー素子を生成し、そのダミー素子を論理回路データに付加してメモリ12に格納する。例えば、図9に示すマクロとしての論理回路50のタイミング検証が指示された場合、論理セル53がタイミング検証すべき論理セルとして検索されると、ダミー素子生成部11はその論理セル53に対応するタイミング検証定義をライブラリファイル4から読み出す。そして、ダミー素子生成部11はその検証定義に基づいてダミー素子54を生成し、そのダミー素子54を論理セル53の入力ピン53a,53b及び53cに対して接続することによりダミー素子54を論理セル53に付加する。
【0044】
さらに、ダミー素子生成部11は、回路ファイル2に記憶された前記タイミング検証定義64に基づくデータのうち、タイミング検証が指示された階層のマクロに対応するデータを読み出す。ダミー素子生成部11はそのデータの開始条件、継続条件及び終了条件に定義された各端子に接続される端子を備えたダミー素子を生成し、そのダミー素子を前記マクロのデータに付加してメモリ12に格納する。
【0045】
イベント処理・登録部9は、メモリ12から論理回路データを入力するとともに、信号入力部5から信号変化に関するデータを入力し、さらに、内部時刻記憶部7から現在時刻データを入力する。処理・登録部9は、現在時刻における外部信号の変化及び/又はLSI内部での信号変化をそれぞれイベントとしてイベントテーブル(図示せず)に設定する。更に、処理・登録部9は、現在時刻における各イベントに基づいて現在時刻以降に発生するLSIの内部信号変化を計算するとともに、その新たに発生した内部信号変化を新たなイベントとして登録する。
【0046】
処理・登録部9に備えられたイベントカウンタ10は、イベントの数を管理しており、論理シミュレーションの開始以降に新たにイベントが発生するたびにイベントのカウント数を増加させ、処理・登録部9によってイベントが処理されるたびにカウント数を減少させる。そして、カウンタ10は、時刻更新部8にそのときどきのイベント数に関するデータを出力する。
【0047】
処理・登録部9が現在時刻において処理すべき全てのイベントの処理を終了すると、信号出力部13は、処理・登録部9による処理結果と、その処理に関し期待される結果とを比較するストローブ処理を実行する。また、信号出力部13は、信号変化の検出を外部装置へ通知するためのトレース処理を実行し、そのトレース処理に基づいて図示しないプリンタにトレースリスト14を出力させる。
【0048】
信号出力部13による現在時刻における処理が終了した時点におけるイベントカウンタ10のカウント値に応じて、時刻更新部8が時刻更新動作を行う。即ち、そのカウント値が零のとき、時刻更新部8は、内部時刻記憶部7の現在時刻を入力時刻記憶部6に記憶された次の時刻に更新する。カウント値が零以外の値のとき、時刻更新部8は、内部時刻記憶部7の現在時刻をその現在時刻に一定時間だけ加算した時刻に更新する。
【0049】
次に、本実施例に従う論理シミュレータ1が、ある時刻において実施する処理を図2に示すメインルーチンに従って説明する。ステップ21でイベント処理が処理・登録部9によって実行される。ステップ22で前述のストローブ処理が信号出力部13によって実行される。ステップ23で信号変化の検出を外部装置へ通知するトレース処理が信号出力部13によって実行される。
【0050】
その後、ステップ24で時刻更新部8は、イベントカウンタ10のカウント値が零か否かを判定する。そして、このカウント値が零であるときには、ステップ25にて現在の内部時刻が次の外部信号の変化時刻に更新される。カウント値が零以外の値であるときには、ステップ26にて現在時刻がその現在時刻に一定時間だけ加算した時刻に更新される。
【0051】
ステップ27で処理・登録部9は、内部時刻が終了時刻に達したか否かを判定する。終了時刻でない場合、ステップ21〜27の処理が繰り返される。ステップ27で終了時刻に達したと判定されると、図2に示す処理が終了する。
【0052】
図3は、図2のステップ21において処理・登録部9が実行するイベント処理の詳細を示す。この処理は、イベント法(event driven simulation method)に基づいている。ステップ31で処理・登録部9は、そこへの信号入力があるか否か、即ち、外部信号データの信号変化があるか否かを判定する。ステップ31の判定がイエスの場合、その入力信号がイベントとしてイベントテーブル(図示せず)に登録される(ステップ32)。その後、イベントカウンタ10のカウント値が「1」だけ増加される(ステップ33)。ステップ31〜33の処理は信号入力の数だけ繰り返し実行される。
【0053】
ステップ34で処理・登録部9は、現在時刻において処理すべきイベントがあるか、即ち、入力信号又はLSI内部での信号変化があるか否かを判定する。そして、処理すべきイベントがある場合、ステップ35でイベントカウンタ10のカウント値が「1」だけ減少される。ステップ36にてそのイベントに基づく信号変化演算が行われ、現在時刻以降に発生するLSIの内部信号変化が計算される。メモリ12内のデータとしての論理回路にタイミング検証を行うべきダミー素子が付加されている場合、ステップ36において図4に示すタイミング検証処理が実行される。
ステップ37で処理・登録部9は、LSIでの信号変化が発生し、その結果、新たにイベントが発生したか否かを判定する。新たにイベントが発生した場合、その発生したイベントが登録され(ステップ38)、イベントカウンタ10のカウント値が「1」だけ増加する(ステップ39)。ステップ34〜39の処理が、現在時刻において処理すべきイベントの数だけ繰り返し実行される。
【0054】
次に、処理・登録部9が実行するタイミング検証処理を図4に従って説明する。この検証処理は、前記メモリ12内に蓄えられたデータとしての各ダミー素子について行われる。まず、ステップ41でイベントが継続条件を満たしているか否かが判定される。継続条件が満たされていない場合、タイミング検証は初期状態(即ち、検証の待機状態)に移行する(ステップ49)。ステップ41で継続条件を満たしていると判定されると、ステップ42においてイベントが開始条件を満たしているか否かが判定される。開始条件を満たしている場合、ステップ43でそのイベントの時刻が測定開始時刻として登録され、処理・登録部9は測定モードに移行する。
【0055】
ステップ43での処理の後、又は、ステップ42で開始条件を満たしていないと判定された場合、ステップ44で、イベントが終了条件を満たしているか否かが判定される。終了条件を満たしていない場合、そのときの状態(測定モード又はタイミング検証の待機状態)が維持される。終了条件を満たしている場合、ステップ45で、タイミングを測定中か否かが判定される。タイミングを測定中でない場合、そのときの状態(測定モード又はタイミング検証の待機状態)が維持される。
【0056】
タイミングを測定中である場合、ステップ46で、その測定結果が規格値と比較され、タイミングエラーが生じたか否かが判定される。タイミングエラーであると判定されると、ステップ47でエラーメッセージを図示しないディスプレイに出力し、後述するようなエラー動作を実行する。ステップ47での処理の後、又は、ステップ46でタイミングエラーなしと判定されると、タイミング検証は初期状態(即ち、検証の待機状態)に移行する(ステップ48)。
【0057】
次に、本実施例においてタイミング検証がどのようにして行われるかを、例を用いて説明する。図10は、タイミング検証が必要なクリア端子CLR、クロック端子CLK、データ端子DATを持つフリップフロップ回路(以下、FFという)56の一例を示す。このようなFF56ではセットアップタイム及びホールドタイムのタイミング検証が必要となるため、FF56に対してダミー素子が並列的に接続される。
【0058】
図11(a)にはFF56のセットアップタイムの検証が示されている。検証の開始条件はデータ端子DATの信号が変化すること、継続条件はクリア端子CLRの信号がHレベルであること、さらに、終了条件はクロック端子CLKの信号がLレベルからHレベルに立ち上がることである。セットアップタイムの測定値が規格値よりも小さい場合、エラー動作としてFF56の出力端子Qに‘X’信号の設定が行われる。また、エラー動作時には、セットアップタイム違反を警告するメッセージがディスプレイに出力される。
【0059】
時刻t1でクリア端子CLRの信号がHレベルとなると、継続条件が満たされる。このとき、データ端子DATの信号は変化しないので、開始条件は満たされず、現在の状態(タイミングの測定モード又はタイミング検証の待機状態)が保持される。
【0060】
時刻t2でデータ端子DATの信号が変化する。このとき、クリア端子CLRの信号がHレベルであるので、継続条件が満たされる。データ端子DATの信号が変化しているので、開始条件が満たされる。そのため、この時刻t2が計測開始時刻として登録され、測定モードが開始する。また、時刻t2において、クロック端子CLKの信号がHレベルであるため、終了条件が満たされず、タイミングの測定モードが保持される。
【0061】
時刻t3でクロック端子CLKの信号がLレベルからHレベルに変化する。このとき、クリア端子CLRの信号がHレベルであるので、継続条件が満たされる。データ端子DATの信号が変化していないので、開始条件は満たされない。クロック端子CLKの信号の立ち上がりのために、終了条件が満たされる。従って、測定モードが終了し、タイミング検証は待機状態となる。時刻t2から時刻t3までの時間がセットアップタイムとして求められる。時間(t3−t2)が規格時間未満であるとき、タイミングエラーと判定され、セットアップタイム違反のメッセージが出力されるとともに、出力端子Qに‘X’信号を設定するエラー動作が実行される。
【0062】
図11(b)にはFF56のホールドタイムの検証が示されている。検証の開始条件はクロック端子CLKの信号がLレベルからHレベルに立ち上がること、継続条件はクリア端子CLRの信号がHレベルであること、さらに、終了条件はデータ端子DATの信号が変化することである。ホールドタイムの測定値が規格値よりも小さい場合、エラー動作としてFF56の出力端子Qに‘X’信号の設定が行われる。また、エラー動作時には、ホールドタイム違反を警告するメッセージがディスプレイに出力される。
【0063】
時刻t3でクロック端子CLKの信号がLレベルからHレベルに変化する。このとき、クリア端子CLRの信号がHレベルであるので、継続条件が満たされる。クロック端子CLKの信号の立ち上がりのために開始条件が満たされる。そのため、この時刻t3が計測開始時刻として登録され、測定モードが始まる。また、時刻t3において、データ端子DATの信号は変化しないため、終了条件は満たされず、測定モードが保持される。
【0064】
時刻t4でデータ端子DATの信号が変化する。このとき、クリア端子CLRの信号がHレベルであるので、継続条件が満たされる。クロック端子CLKの信号はHレベルを維持するため、開始条件が満たされない。データ端子DATの信号の変化のために終了条件が満たされ、測定モードが終了し、タイミング検証は待機状態となる。時刻t3から時刻t4までの時間がホールドタイムとして求められる。時間(t4−t3)が規格時間未満である場合、エラーと判定され、ホールドタイム違反のメッセージが出力されるとともに、出力端子Qへの‘X’信号の設定がエラー動作として実行される。
【0065】
図12は、2つの入力端子I,Iバーを持つ差動入力の論理セル57の一例を示す。このような論理セル57では、第1の端子Iに入力される信号のレベルと、第2の端子Iバーに入力される信号のレベルとが等しくかつオーバーラップする期間に関するタイミング検証が必要であり、そのために論理セル57に対してダミー素子が付加される。
【0066】
このオーバーラップ期間の検証の開始条件は、入力端子I,Iバーの信号のレベルが同一レベルであることであり、終了条件は、第1端子Iへの入力信号の反転信号のレベルと、第2端子Iバーの信号のレベルとが同一であること、即ち、第1及び第2端子I,Iバーの入力信号が互いに異なるレベルとなることである。この検証において、継続条件は存在しない。また、オーバーラップ期間の測定値が規格値よりも大きい場合、エラー動作として論理セル57の一出力端子Oへの‘X’信号の設定が行われる。エラー動作時には、位相違反を警告するメッセージがディスプレイに出力される。
【0067】
図13には、論理セル57の第1及び第2端子I,Iバーに入力される信号のオーバーラップ期間の検証が示されている。時刻t7で第1入力端子Iの信号がHレベルに変化し、第2入力端子Iバーの信号はHレベルである。そのため、時刻t7で開始条件が満たされ、この時刻t7が計測開始時刻として登録され、測定モードが開始する。また、時刻t7では、入力端子I,Iバーの信号レベルは同一であるから、終了条件は満たされず、測定モードが保持される。
【0068】
時刻t8で第2入力端子Iバーの信号がHレベルからLレベルに変化するため、終了条件が満たされる。それによって、測定モードが終了し、タイミング検証の待機状態となる。時刻t7から時刻t8までの時間がオーバーラップ期間として求められる。時間(t8−t7)が規格時間以上であると、エラーと判定され、位相違反のメッセージが出力されるとともに、出力端子Oに‘X’信号を設定するエラー動作が実行される。
【0069】
時刻t9,t10間、及び時刻t11,t12間の各オーバーラップ期間についても、同様にしてタイミング検証が実行される。
さらに、図14は、入力端子I及び出力端子Oを有するクロックバッファ58の一例を示す。このようなバッファ58では、入力端子Iに供給されるクロック信号のH及びLレベルの各パルスの幅に関するタイミング検証が必要であり、バッファ58に対してダミー素子が付加される。
【0070】
Lレベルのパルス幅の検証の開始条件は、入力端子Iの信号がLレベルであることであり、終了条件は入力端子Iの信号がHレベルとなることである。この検証において、継続条件は存在しない。また、パルス幅の測定値が規格幅未満であると、エラー動作として出力端子Oに対する‘X’信号の設定が行われる。エラー動作時には、Lパルス幅違反を警告するメッセージがディスプレイに出力される。
【0071】
Hレベルパルスの幅の検証の開始条件は、入力端子Iの信号がHレベルであることであり、終了条件は入力端子Iの信号がLレベルとなることである。この検証にも継続条件は存在しない。パルス幅の測定値が規格幅未満であると、エラー動作として出力端子Oに対する‘X’信号の設定が行われる。エラー動作時には、Hパルス幅違反を警告するメッセージがディスプレイに出力される。
【0072】
図15には、このパルス幅の検証が示されている。時刻t13で入力端子Iの信号がHレベルであるので、Hレベルのパルス幅検証の開始条件が満たされる。この時刻t13が計測開始時刻として登録され、測定モードが始まる。このとき、入力端子IがHレベルであるため、終了条件は満たされず、測定モードが保持される。
【0073】
時刻t14で入力端子Iの信号がLレベルに変化するため、終了条件が満たされ、測定モードが終了する。時刻t13から時刻t14までの時間がパルス幅として求められる。パルス幅(t14−t13)が規格幅未満である場合、エラーと判定され、Hパルス幅違反のメッセージが出力されるとともに、出力端子Oに‘X’信号を設定するエラー動作が実行される。
【0074】
時刻t14で入力端子Iの信号がLレベルであるので、Lレベルのパルス幅の検証の開始条件が満たされる。この時刻t14が計測開始時刻として登録され、測定モードが始まる。また、入力端子IがLレベルであるため、終了条件が満たされず、測定モードが保持される。
【0075】
時刻t15で入力端子Iの信号がHレベルに変化する。従って、終了条件が満たされ、測定モードが終了する。時刻t14から時刻t15までの時間がパルス幅として求められる。パルス幅(t15−t14)が規格幅未満であると、エラーと判定され、Lパルス幅違反のメッセージが出力されるとともに、出力端子Oに‘X’信号を設定するエラー動作が実行される。
【0076】
このように本実施例では、図5,6に示すように、論理セルを構成する素子及びネットに関するデータからなるセル論理定義60と、論理セルを構成しかつタイミング検証を必要とする素子に付加されるべきダミー素子に関するデータであるタイミング検証定義61とが分離して準備される。そのため、従って、ユーザは、タイミング検証が必要な階層のマクロのみを検証指示信号にて指定することができ、結果として、論理シミュレーションの際に、論理シミュレータ1の内部で、タイミング検証が指定された階層のマクロのみに含まれる各論理セルに対応してダミー素子が生成される。そのため、論理シミュレーションの対象となる論理回路データの数が最小化される。このことは、論理シミュレーションを高速で行うことを可能とし、LSIの論理設計期間を短縮することができる。
【0077】
また、本実施例では、図7に示すように、マクロ用のタイミング検証定義64をユーザ(回路設計者)に解放することによって、回路のユーザ論理定義63と、ユーザが取り扱うことができるマクロ用のタイミング検証定義64とが分離して準備される。従って、ユーザは、LSIを構成する各階層のマクロ毎にタイミング検証定義64を指定することによって各マクロに1つのダミー素子データを付加でき、そのマクロ用ダミー素子データに基づいてマクロのタイミング検証を行うことができる。また、複数のマクロについてタイミング検証定義64が作成されたとしても、論理シミュレーションの際に、検証指示信号にて指定されたマクロについてのみダミー素子生成部11によってダミー素子が生成される。このことによっても、論理シミュレーションの対象となる論理回路データの数の増加を抑制でき、論理シミュレーションを高速で行うことを可能とし、LSIの論理設計期間を短縮することができる。
【0078】
また、マクロ用のタイミング検証定義64をユーザに解放することによって、セル(ライブラリファイル)の設計者が管理すべきダミー素子の種類の増加を抑制することができ、ダミー素子の管理が容易になる。
【0079】
さらに、本実施例では、論理シミュレータの内部にイベントがない場合、イベント処理の実行が阻止される。このことは、論理シミュレーションに要する時間を短縮化することができる。
【0080】
なお、上記実施例では、回路ファイル2には論理回路データ(ネットリスト)及びマクロ用のタイミング検証定義を記憶したが、回路ファイル2には論理回路データのみを記憶するようにしてもよい。
【0081】
上記の実施例から把握できる請求項以外の技術的思想について、以下に記載する。
(イ)前記セル用タイミング検証定義は、タイミング検証を開始する条件、タイミング検証を継続する条件、及び、タイミング検証を終了する条件を含む請求項1又は3に記載の論理シミュレーション方法。この構成によれば、セル用タイミング検証定義を容易に作成できる。
【0082】
(ロ)前記セル用タイミング検証定義は、タイミング検証の結果が正しいかどうかを判定するための規格値、タイミングにエラーがある場合の処理手順、及び、エラーメッセージに関する情報を含む請求項1又は3に記載の論理シミュレーション方法。
【0083】
(ハ)前記マクロ用タイミング検証定義は、タイミング検証を開始する条件、タイミング検証を継続する条件、及び、タイミング検証を終了する条件を含む論理シミュレーション方法。この構成によれば、マクロ用タイミング検証定義を容易に作成できる。
【0084】
(ニ)前記マクロ用タイミング検証定義は、タイミング検証の結果が正しいかどうかを判定するための規格値、タイミングにエラーがある場合の処理手順、及び、エラーメッセージに関する情報を含む請求項2又は3に記載の論理シミュレーション方法。
【0085】
(ホ)前記セル用タイミング検証定義は、タイミング検証を開始する条件、タイミング検証を継続する条件、及び、タイミング検証を終了する条件を含む請求項4,6,7のいずれか一項に記載の論理シミュレータ。この構成によれば、セル用タイミング検証定義を容易に作成できる。
【0086】
(ヘ)前記セル用タイミング検証定義は、タイミング検証の結果が正しいかどうかを判定するための規格値、タイミングにエラーがある場合の処理手順、及び、エラーメッセージに関する情報を含む請求項4,6,7のいずれか一項に記載の論理シミュレータ。
【0087】
(ト)前記マクロ用タイミング検証定義は、タイミング検証を開始する条件、タイミング検証を継続する条件、及び、タイミング検証を終了する条件を含む論理シミュレータ。この構成によれば、マクロ用タイミング検証定義を容易に作成できる。
【0088】
(チ)前記マクロ用タイミング検証定義は、タイミング検証の結果が正しいかどうかを判定するための規格値、タイミングにエラーがある場合の処理手順、及び、エラーメッセージに関する情報を含む請求項5〜7のいずれか一項に記載の論理シミュレータ。
【0089】
【発明の効果】
以上詳述したように請求項1の発明は、セル用のタイミング検証定義を論理セルと分離することにより、タイミング検証の実行が指示されない場合、論理シミュレーションの対象となる回路データの増加を抑制でき、論理シミュレーションの高速化を図ることができる。
【0090】
請求項2の発明は、マクロ用のタイミング検証定義を回路設計者に解放することによって、セル設計者が管理すべきダミー素子の種類の増加を抑制することができる。また、同じくマクロ用のタイミング検証定義を回路設計者に解放することによって、回路設計者が所望するマクロのタイミング検証を行うためのダミー素子を生成できる。
【0091】
請求項3の発明は、請求項1の発明の効果に加えて、請求項2の発明の効果がある。
請求項4の発明は、請求項1の発明と同様の効果がある。
【0092】
請求項5の発明は、請求項2の発明と同様の効果がある。
請求項6の発明は、請求項4の発明の効果に加えて、請求項5の発明の効果がある。
【図面の簡単な説明】
【図1】一実施例の論理シミュレータを示すブロック図
【図2】図1の論理シミュレータによる一時刻の処理を示すフローチャート
【図3】図1のイベント処理・登録部による処理を示すフローチャート
【図4】イベント処理・登録部のタイミング検証処理を示すフローチャート
【図5】図1のライブラリファイルの作成手順を示す説明図
【図6】図1のライブラリファイルに格納されたデータの構成を示す概念図
【図7】図1の回路ファイルの作成手順を示す説明図
【図8】LSIの階層を示すレイアウト図
【図9】論理回路の一例を示すレイアウト図
【図10】クリア端子付きのフリップフロップ回路の説明図
【図11】(a)は図10のフリップフロップ回路のセットアップタイムの検証を示すタイムチャート、(b)は図10のフリップフロップ回路のホールドタイムの検証を示すタイムチャート
【図12】差動入力用の論理セルを示す説明図
【図13】論理セルの同相信号の継続期間の検証を示すタイムチャート
【図14】クロックバッファを示す説明図
【図15】クロックバッファのパルス幅の検証を示すタイムチャート
【図16】従来のライブラリファイルの作成手順を示す説明図
【図17】図16のライブラリファイルに格納されたデータの構成を示す概念図
【図18】従来の方法で設計されたセルの一例を示すレイアウト図
【図19】従来の方法に従い真理値表化されたセルの一例のレイアウト図
【符号の説明】
2 データベース及び回路データ記憶手段を構成する回路ファイル
3 信号データ記憶手段としての信号データファイル
4 データベースを構成するライブラリファイル
6 入力時刻記憶部
7 内部時刻記憶部
8 時刻更新部
9 イベント処理・登録部
11 ダミー素子生成部
15 プロセッシングユニット
Claims (7)
- メモリを有するプロセッシングユニットと、論理回路における論理セルのうちタイミング検証を必要とする論理セルに付加されるセル用タイミング検証定義データが前記論理回路の論理回路データとは分離された状態で記憶されているデータベースとを備えた論理シミュレータを用い、論理セル及びマクロを含みかつ階層構造をなす論理回路についてのデータと、その論理回路に入力されるべき信号のデータとに基づいて、イベント法に従い、設計された論理回路の論理シミュレーションを行う方法であって、
前記プロセッシングユニットは、
設計された論理回路の論理シミュレーションの開始時に、その設計された論理回路における所定のマクロのタイミング検証を実行するための検証指示信号が入力されたとき、その検証指示信号に基づいて、前記指示されたマクロに含まれる各論理セルに対応する前記セル用タイミング検証定義データを前記データベースから読み出して取り込み、その取り込んだセル用タイミング検証定義データに基づいてセル用ダミー素子データを生成してその生成したセル用ダミー素子データを前記論理回路データに付加して前記メモリに格納する処理と、
論理シミュレーション中に前記セル用ダミー素子データを用いてタイミング検証を行う処理と
を実行する論理シミュレーション方法。 - メモリを有するプロセッシングユニットと、論理回路におけるマクロのうちタイミング検証を必要とするマクロに付加されるマクロ用タイミング検証定義データが前記論理回路の論理回路データとは分離された状態で記憶されているデータベースとを備えた論理シミュレータを用い、論理セル及びマクロを含みかつ階層構造をなす論理回路についてのデータと、その論理回路に入力されるべき信号のデータとに基づいて、イベント法に従い、設計された論理回路の論理シミュレーションを行う方法であって、
前記マクロ用タイミング検証定義データにはタイミング検証を開始する条件に関する開始条件データ及びタイミング検証を継続する条件に関する継続条件データ及びタイミング検証を終了する条件に関する終了条件データが含まれており、
前記プロセッシングユニットは、
設計された論理回路の論理シミュレーションの開始時に、その設計された論理回路における所定のマクロのタイミング検証を実行するための検証指示信号が入力されたとき、その検証指示信号に基づいて、前記指示されたマクロに対応する前記マクロ用タイミング検証定義データを前記データベースから読み出して取り込み、その取り込んだマクロ用タイミング検証定義データに含まれている前記開始条件データ及び継続条件データ及び終了条件データに基づいてマクロ用ダミー素子データを生成してその生成したマクロ用ダミー素子データを前記論理回路データに付加して前記メモリに格納する処理と、
論理シミュレーション中に前記マクロ用ダミー素子データを用いてタイミング検証を行う処理と
を実行する論理シミュレーション方法。 - メモリを有するプロセッシングユニットと、論理回路における論理セルのうちタイミング検証を必要とする論理セルに付加されるセル用タイミング検証定義データ及び前記論理回路におけるマクロのうちタイミング検証を必要とするマクロに付加されるマクロ用タイミング検証定義データが前記論理回路の論理回路データとは分離された状態で記憶されているデータベースとを備えた論理シミュレータを用い、論理セル及びマクロを含みかつ階層構造をなす論理回路についてのデータと、その論理回路に入力されるべき信号のデータとに基づいて、イベント法に従い、設計された論理回路の論理シミュレーションを行う方法であって、
前記プロセッシングユニットは、
設計された論理回路の論理シミュレーションの開始時に、その設計された論理回路における所定のマクロのタイミング検証を実行するための検証指示信号が入力されたとき、その検証指示信号に基づいて、前記指示されたマクロに含まれる各論理セルに対応する前記セル用タイミング検証定義データを前記データベースから読み出して取り込み、その取り込んだセル用タイミング検証定義データに基づいてセル用ダミー素子データを生成してその生成したセル用ダミー素子データを前記論理回路データに付加して前記メモリに格納し、同じく前記指示されたマクロに対応する前記マクロ用タイミング検証定義データを前記データベースから読み出して取り込み、その取り込んだマクロ用タイミング検証定義データに基づいてマクロ用ダミー素子データを生成してその生成したマクロ用ダミー素子データを前記論理回路データに付加して前記メモリに格納する処理と、
論理シミュレーション中に前記セル用ダミー素子データ及びマクロ用ダミー素子データを用いてタイミング検証を行う処理と
を実行する論理シミュレーション方法。 - 論理セル及びマクロを含む論理回路の論理回路データと、その論理回路に入力されるべき信号のデータとに基づいて、設計された論理回路の論理シミュレーションを行うための論理シミュレータであって、
論理セル及びマクロを含む論理回路の論理回路データを記憶する回路データ記憶手段と、
前記論理回路における論理セルのうち、タイミング検証が必要な論理セルについてのセル用のタイミング検証定義を記憶するライブラリファイルと、
前記回路データ記憶手段及び前記ライブラリファイルに接続され、設計された論理回路のタイミング検証を実行するためのプロセッシングユニットと、
設計された論理回路の論理シミュレーションの開始時に、その設計された論理回路における所定のマクロのタイミング検証の実行が指示されたとき、その検証指示に基づいて、前記ライブラリファイルから前記指示されたマクロに含まれる各論理セルに対応するセル用のタイミング検証定義を取り込み、その取り込んだセル用のタイミング検証定義に基づいてセル用ダミー素子データを生成してその生成したセル用ダミー素子データを前記論理回路データに付加するためのダミー素子生成部と
を備える論理シミュレータ。 - 論理セル及びマクロを含む論理回路の論理回路データと、その論理回路に入力されるべき信号のデータとに基づいて、設計された論理回路の論理シミュレーションを行うための論理シミュレータであって、
論理セル及びマクロを含む論理回路の論理回路データと、論理回路におけるマクロのうち、タイミング検証が必要なマクロについての、タイミング検証を開始する条件に関する開始条件データ及びタイミング検証を継続する条件に関する継続条件データ及びタイミング検証を終了する条件に関する終了条件データが含まれているマクロ用のタイミング検証定義とを記憶する回路データ記憶手段と、
前記回路データ記憶手段に接続され、設計された論理回路のタイミング検証を実行するためのプロセッシングユニットと、
設計された論理回路の論理シミュレーションの開始時に、その設計された論理回路における所定のマクロのタイミング検証の実行が指示されたとき、その検証指示に基づいて、前記回路データ記憶手段から前記指示されたマクロに対応するマクロ用のタイミング検証定義を取り込み、その取り込んだマクロ用のタイミング検証定義に含まれる前記開始条件データ及び継続条件データ及び終了条件データに基づいてマクロ用ダミー素子データを生成してその生成したマクロ用ダミー素子データを前記論理回路データに付加するためのダミー素子生成部と
を備える論理シミュレータ。 - 論理セル及びマクロを含む論理回路の論理回路データと、その論理回路に入力されるべき信号のデータとに基づいて、設計された論理回路の論理シミュレーションを行うための論理シミュレータであって、
論理セル及びマクロを含む論理回路の論理回路データと、論理回路におけるマクロのうち、タイミング検証が必要なマクロについてのマクロ用のタイミング検証定義とを記憶する回路データ記憶手段と、
前記論理回路における論理セルのうち、タイミング検証が必要な論理セルについてのセル用のタイミング検証定義を記憶するライブラリファイルと、
前記回路データ記憶手段及び前記ライブラリファイルに接続され、設計された論理回路のタイミング検証を実行するためのプロセッシングユニットと、
設計された論理回路の論理シミュレーションの開始時に、その設計された論理回路における所定のマクロのタイミング検証の実行が指示されたとき、その検証指示に基づいて、前記ライブラリファイルから前記指示されたマクロに含まれる各論理セルに対応するセル用のタイミング検証定義を取り込み、その取り込んだセル用のタイミング検証定義に基づいてセル用ダミー素子データを生成してその生成したセル用ダミー素子データを前記論理回路データに付加し、同じく前記データベースから前記指示されたマクロに対応するマクロ用のタイミング検証定義を取り込み、その取り込んだマクロ用のタイミング検証定義に基づいてマクロ用ダミー素子データを生成してその生成したマクロ用ダミー素子データを前記論理回路データに付加するためのダミー素子生成部と
を備える論理シミュレータ。 - 前記プロセッシングユニットは、
論理シミュレーションのために論理回路に入力されるべき外部信号のデータを信号データファイルから当該プロセッシングユニットに導入するための信号入力部と、
論理シミュレーションにおける内部時刻を提供するための内部時刻記憶部と、
前記内部時刻記憶部によって提供された内部時刻及び前記ダミー素子生成部を経由して前記回路データ記憶手段から読み込んだ前記論理回路データ及び前記信号入力部から提供される外部信号データに基づいてイベント法に従って作動するとともに、特定の内部時刻におけるイベントとしての外部信号の変化及び論理回路内部における信号の変化の少なくとも何れか一方に基づいてその内部時刻以降に論理回路内部において発生する信号の変化を計算してその新たに発生した内部信号変化をイベントとして新たに登録するイベント処理・登録部と、
前記イベント処理・登録部が前記特定の内部時刻において処理すべき全てのイベントの処理を完了したときに、前記内部時刻記憶部に内部時刻の更新を命じる時刻更新部と、
前記信号入力部によって当該プロセッシングユニットに導入された外部信号データにおける各信号の変化時刻を記憶しておく入力時刻記憶部と
を含んで構成されており、前記信号入力部は、前記内部時刻記憶部が示す内部時刻と前記入力時刻記憶部が示す外部信号の変化時刻とが一致したときに前記外部信号データの信号変化に関するデータを前記イベント処理・登録部に供給することを特徴とする請求項4〜6のいずれか一項に記載の論理シミュレータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01470995A JP3654941B2 (ja) | 1994-01-31 | 1995-01-31 | 論理シミュレーション方法及び論理シミュレータ |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1011994 | 1994-01-31 | ||
JP6-10119 | 1994-01-31 | ||
JP01470995A JP3654941B2 (ja) | 1994-01-31 | 1995-01-31 | 論理シミュレーション方法及び論理シミュレータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07254005A JPH07254005A (ja) | 1995-10-03 |
JP3654941B2 true JP3654941B2 (ja) | 2005-06-02 |
Family
ID=26345321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01470995A Expired - Lifetime JP3654941B2 (ja) | 1994-01-31 | 1995-01-31 | 論理シミュレーション方法及び論理シミュレータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3654941B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100504117B1 (ko) * | 2003-07-31 | 2005-07-27 | 삼성전자주식회사 | 네거티브 셋업/홀드 타임을 가지는 하드 매크로 코어를고려한 에이치디엘 시뮬레이션 방법 |
-
1995
- 1995-01-31 JP JP01470995A patent/JP3654941B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH07254005A (ja) | 1995-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8719742B2 (en) | Conversion of circuit description to an abstract model of the circuit | |
US6922665B1 (en) | Method and system for device-level simulation of a circuit design for a programmable logic device | |
JPH04211871A (ja) | 論理設計の検証支援システム | |
CN112069763B (zh) | 修正电路的方法 | |
JP3851357B2 (ja) | トランジスタ回路のタイミング特性抽出方法、タイミング特性ライブラリを記憶した記憶媒体、lsiの設計方法、及びゲート抽出方法 | |
US5650947A (en) | Logic simulation method and logic simulator | |
JPH06274568A (ja) | 階層図形データの展開方法 | |
JP3654941B2 (ja) | 論理シミュレーション方法及び論理シミュレータ | |
US20220327269A1 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
US10635766B2 (en) | Simulation employing level-dependent multitype events | |
CN117907812B (zh) | 电路检测方法及装置、电子设备、存储介质、程序产品 | |
JP3561661B2 (ja) | 半導体集積回路及び半導体集積回路の設計方法 | |
JP2001318959A (ja) | 論理回路検証装置 | |
JP3660097B2 (ja) | 論理回路の形式検証装置及び検証方法 | |
Liu et al. | An efficient functional coverage test for HDL descriptions at RTL | |
JP2010257003A (ja) | 論理等価性検証システム、論理等価性検証方法、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体 | |
JP2002259487A (ja) | 多電源回路シミュレーション方法及び装置 | |
JP2996153B2 (ja) | Asic検証方法 | |
JPH09198417A (ja) | 論理シミュレータ | |
JP2012160145A (ja) | 論理シミュレーション方法および論理シミュレーション装置 | |
JP2924222B2 (ja) | 論理シミュレータ | |
JP2000113019A (ja) | 回路設計方法および設計支援装置 | |
JP2001101248A (ja) | 半導体集積回路、半導体集積回路の設計方法および記録媒体 | |
JPH113361A (ja) | 論理回路検証装置、論理回路検証方法及び論理回路検証プログラムを格納したコンピュータ読み取り可能な記録媒体 | |
JP2000348076A (ja) | シミュレーション方法、シミュレーション装置および記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041005 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041012 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041213 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050301 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050302 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080311 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090311 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090311 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090311 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100311 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100311 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110311 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110311 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110311 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110311 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120311 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130311 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140311 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |