JP3080037B2 - 論理シミュレーション用モデルの作成方法 - Google Patents

論理シミュレーション用モデルの作成方法

Info

Publication number
JP3080037B2
JP3080037B2 JP09165341A JP16534197A JP3080037B2 JP 3080037 B2 JP3080037 B2 JP 3080037B2 JP 09165341 A JP09165341 A JP 09165341A JP 16534197 A JP16534197 A JP 16534197A JP 3080037 B2 JP3080037 B2 JP 3080037B2
Authority
JP
Japan
Prior art keywords
logic
circuit
operation order
simulation
order
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP09165341A
Other languages
English (en)
Other versions
JPH10340291A (ja
Inventor
裕之 池上
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP09165341A priority Critical patent/JP3080037B2/ja
Publication of JPH10340291A publication Critical patent/JPH10340291A/ja
Application granted granted Critical
Publication of JP3080037B2 publication Critical patent/JP3080037B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、論理シミュレーシ
ョン用モデルの作成方法に関し、特に大規模同期設計に
おける論理シミュレーション用モデルの作成方法に関す
る。
【0002】
【従来の技術】従来、ソフトウェア論理シミュレーショ
ンモデルが用いられる目的は、ボードレベル、システム
レベルの論理シミュレーションにおいて、過去に論理設
計をおこない検証済みの部分マクロを代替し、論理シミ
ュレーション全体を高速化することにあった。
【0003】従来のソフトウェア論理シミュレーション
モデルの作成方法として、例えば特開平8−26353
0号公報(特願平7−40168号)には、検証済み論
理回路から、論理情報と遅延情報を抽出し、最適化した
論理表現を持ちもとの論理回路と論理シミュレーション
上等価でかつシミュレーション速度が高速なモデルの作
成を可能とする論理シミュレーション用モデルの作成方
法が提案されている。
【0004】このソフトウェア論理シミュレーションモ
デルの作成フローを図16に示す。図16に示したシミ
ュレーションモデルの作成方法は、論理回路1601と
論理設計規則データベース1602とを入力とし、論理
回路1601から組み合わせ部分回路の論理機能を抽出
し論理最適化を行なう論理合成手段(1603、160
4、1605)と、論理回路から外部端子間の遅延情報
を抽出し遅延データベース1607を作成する遅延情報
作成手段1606と、から構成されている。
【0005】この方法により作成されたソフトウェア論
理シミュレーションモデルは、最適化された組み合わせ
論理と、簡略化されたタイミング情報により、元の回路
と論理的と等価性を保ったまま、より高速にシミュレー
ション可能であるという利点を持つ。
【0006】また、遅延値データベースに格納されてい
る遅延情報を外部端子間に設定することにより、元の回
路の外部端子間の遅延値を再現する遅延機能を実現して
いる。
【0007】図16に示す手順でソフトウェア論理シミ
ュレーションモデルを作成する例を図17から図21に
示す。
【0008】図17に回路図で示したものが、モデル化
を行なう論理回路である。図17に示す回路を、図18
に示すように、それぞれの部分回路(1801、180
2)、及び順序素子1803に分割する。
【0009】図18に示した回路1801、回路180
2の機能を論理式で表現すると、それぞれ、図でも示し
たように、式1804、式1806となるが、論理合成
手段により最適化した結果は、それぞれ、式1805、
式1807になる。
【0010】 Y=ABC+A ̄BC+AB ̄C+ABC ̄…(1804) Y=A(B+C)+BC …(1805) Z=D ̄E …(1806) Z=D ̄E …(1807)
【0011】回路1801を式1805、回路1802
を式1807のように、最適化された論理式を用いて、
組み合わせ部分回路の機能を表現することにより、論理
表現が作成される(図19参照)。図19は、図18に
示した回路1801、1802を最適化した論理表現を
示す図である。
【0012】これらの論理式、順序素子の間でイベント
ドリブン方式のシミュレーションを行なう機能をシミュ
レーションモデルに実装する。
【0013】次に、外部端子間の遅延値を計算する。図
20は、従来技術による、回路の遅延情報を示す図であ
る。
【0014】図20(a)を参照すると、この回路は、
外部入力端子Dから外部出力端子X、外部入力端子Eか
ら外部出力端子Xへ達する信号伝播経路が存在するた
め、図20(b)に示すように、端子D−端子X間と、
端子E−端子X間にそれぞれ遅延情報が設定される。
【0015】最後に、式1805、式1807と、順序
素子1803を、元の回路の通りに接続し、端子D−端
子X間と端子E−端子X間にそれぞれ遅延情報を設定
し、図21に示すようなモデルを得る。
【0016】
【発明が解決しようとする課題】上記した従来の論理シ
ミュレーション用モデル作成方法の問題点は、回路マク
ロをソフトウェア論理シミュレーションモデルに変換し
ても元の回路に比べて、1から2倍程度しか、シミュレ
ーションが高速にならない、ということである。
【0017】その理由は、シミュレーションモデル内で
イベント伝播シミュレーション方式を用いているため、
組み合わせ論理を表すブロックや順序素子を表すブロッ
クの演算順序は、シミュレーション時に決定される。
【0018】このため、回路の接続構造や外部入力信号
パタンによっては、論理的に冗長な演算を行なってしま
う場合がある。
【0019】また、回路が大規模になると、シミュレー
ション処理時間全体の中で論理演算処理に要する時間よ
りもイベント伝播の管理のために要する時間の割合が大
きくなる。これらの原因によりシミュレーション速度が
低下する。
【0020】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、論理合成手段を
用いて検証済みの論理回路から回路の実現している論理
を抽出し、最適化した論理表現に置き換える高速ソフト
ウェア論理シミュレーションモデルの作成方法におい
て、シミュレーション速度を大幅に高速化する、論理シ
ミュレーションモデルの作成方法を提供することにあ
る。
【0021】
【課題を解決するための手段】前記目的を達成するた
め、本発明の論理シミュレーション用モデルの作成方法
は、検証済みの論理回路情報に基づいて論理ブロックを
抽出し、前記論理ブロックが表現する論理を論理合成手
段を用いて最適化して前記論理回路に等価な論理表現に
することにより作成される前記論理回路をレベルソート
方を用いてシミュレーションを行う論理シミュレーショ
ン用モデルにおいて、イベントドブリン方式のシミュレ
ーションに代り、モデル作成時に、モデル内の構成要素
の外部端子から部分回路までの段数に基づき、1段階目
は組み合わせ部分回路を無視してフリップフロップ、外
部端子の演算順位を決定する工程と、帰還閉路を検出し
てこれを切断する工程と、前記演算順位を決定する工程
に続く2段階目は各組み合わせ部分回路のみに注目し組
合せ論理表現における組み合わせ段数により演算順位を
決定する工程と、を含み、前記構成要素の演算順序を静
的に決定する。
【0022】[作用]本発明の作用について説明する
と、フリップフロップ(FF)、外部端子の演算順位を
決定する手段と、組合せ論理表現の演算順位を決定する
手段と、により、モデル作成時にコンポーネントの演算
順序が決定される。コンポーネントの演算順序はモデル
中のコンポーネントテーブルに格納され、シミュレーシ
ョンモデルメイン関数により参照されながら、コンポー
ネント関数が処理される。
【0023】
【発明の実施の形態】次に本発明の実施の形態について
図面を参照して詳細に説明する。図1は、本発明の実施
の形態の論理シミュレーションモデル作成方法の手順を
示すブロック図である。
【0024】図1を参照すると、本発明の実施の形態に
おいて、論理回路101と、論理回路101の設計検証
に用いられる回路設計データベースファイル102と、
を入力とし、論理シミュレーションモデル114を作成
するためのブロック論理取り出しステップ103と、回
路展開ステップ104と、論理段数変更ステップ105
と、組み合わせ論理最適化ステップ106には、例えば
上記特開平8−263530号公報記載の方法を用いる
ことができる。
【0025】このブロック論理の取り出しステップ10
3では、論理回路101に用いられている各ブロックの
論理を回路設計データベース102から取り出し、以下
の各ステップ104、105、106を経ることによ
り、ブロック論理の取り出しステップ103で取り出し
たブロックの論理のうち、組み合わせ回路部分に対し、
論理の最適化を行ない、論理式、真理値表、2分決定木
等の高速な演算が可能な論理表現に変換する。
【0026】これにより、最適化された組み合わせ部分
と順序回路部分とからなる最適化論理ネットワーク10
7が生成される。この段階での部分回路を、以下では
「コンポーネント」と呼ぶ。
【0027】そして、続く2段階の解析処理で、外部端
子からそのコンポーネントまでの最大段数(外部入力端
子からそのコンポーネントにいたる複数の経路のうち途
中のコンポーネント数が最大である経路上のコンポーネ
ント数)を求め、組み合わせ論理表現、フリップフロッ
プ(FF)、外部端子のシミュレーション時の処理順序
を決定する。
【0028】この2段階の解析処理のうち、1段階目の
FF段数解析ステップ108では、組み合わせコンホー
ネントを無視して、外部端子とFFの接続関係のグラフ
を構成する。このグラフ上で、外部入力端子からの最大
段数で、FFもしくは外部端子の演算順位を決定する。
【0029】接続関係の中に閉路がある場合は、順位の
決定が不可能になるため、後述する通り、この閉路を切
断する。
【0030】FF段数解析ステップ108によって全て
のFFと外部端子の演算順位を決定し、帰還経路を特定
する。
【0031】2段階目の、組み合わせ段数解析ステップ
109では、各組み合わせコンポーネントにのみ注目
し、その演算順位(「補助演算順位」と呼ぶ)を決定す
る。FF、外部端子間にある組合せ論理表現のグループ
毎に行なう。
【0032】組合せ段数解析ステップ109には、例え
ば、レベライズドコンパイルドコードの手法(Laun
g−Terng、Nathan E.Hoover、
“SSIM:A SOFTWARE LEVELIZE
D COMPILED−CODE SIMULATO
R”、DAC87、pp2、1987)(「文献1」と
いう)に記載されている、組合せ回路に対するレベライ
ズアルゴリズムを利用することができる。
【0033】次の処理順序決定ステップ110では、F
F段数解析ステップ108で決定した演算順位と組合せ
段数解析ステップで決定した補助演算順位とを組み合わ
せ、順位の低いものからシミュレーション時のコンポー
ネントの演算順序を決定する。
【0034】独立したコンポーネントの間では演算順位
を持つ場合もあるが、論理に依存関係は無いので問題は
生じない。これらの間では演算順序は任意に決定する。
決定された演算順序に従い、各コンポーネントの論理を
表現すると、関数とそれらを順次処理する関数をコード
化し、これをシミュレーションモデル114とする。
【0035】このようにモデル作成時に、演算順序を決
定することで、イベント伝播方式によるシミュレーショ
ンで見られる冗長な演算を消去することが可能となる。
【0036】上記ステップ108、109、110の各
ステップにより、最適化論理ネットワーク107に含ま
れる全ブロックの演算順序を決定し、論理シミュレーシ
ョンモデルが作成される。
【0037】上述したモデルは、論理情報のみを持ち、
論理回路が持つ遅延の情報を有していない。
【0038】そこで、本発明の実施の形態は正確な論理
シミュレーションモデルを作成するために、さらに論理
回路101から遅延情報を作成する遅延情報作成手段1
13を有する。
【0039】まず、この実施の形態では、論理回路10
1に対して、全外部端子間の出力遅延を求める。この遅
延値計算には、例えば上記特開平8−263530号公
報に記載されるように、テストパタンを用いずに各ゲー
ト、信号線の遅延値から外部端子間の遅延値を求めるス
タティックタイミング解析方法、あるいは特開平3−3
3980号公報に記載されるように、論理接続情報と共
にチップレイアウトの情報からシミュレーションを行な
って遅延値を算出する方法を用いても良い。
【0040】この遅延情報作成手段113で得られた全
遅延値をデータベースとして遅延データベース116に
出力する。
【0041】また、この遅延データベース116を高速
に検索するために入力、出力端子の名称と値をキーとし
たハッシュ表115を作成してもよい。
【0042】論理シミュレーションモデル114に、ハ
ッシュ表115を用いて遅延データベース116を高速
に検索し、外部端子間の遅延値を求める機構を付加する
ことで、論理機能、遅延機能を合わせ持ったシミュレー
ションモデルが作成できる。
【0043】なお、図1に示した上記各ステップ103
〜106、108〜110、11、112は、好ましく
は計算機上で実行されるプログラムにより実現される。
【0044】本発明の実施の形態の処理手順に従いモデ
ル化を行なった実施例について、図4乃至図15を参照
して以下に説明する。
【0045】図4に示した回路は、順序素子(FF)と
組合せ素子から構成される論理回路の一例である。この
回路の中で、組合せ素子をファンアウト数が2つ以上あ
る点を分割点としてグループ分けした例が、グループ4
01、402、403、404、405、406、40
7、408、409である。これらの各グループについ
て論理合成手段による組合せ論理最適化を行ない、各々
がコンポーネントとなる。
【0046】図5は、コンポーネント表現された最適化
論理ネットワーク107の一例を示す。図5において、
コンポーネント501はグループ401に対応し、コン
ポーネント502はグループ402に対応し、以下、5
03は403に、504は404に、505は405
に、506は406に、507は407に、508は4
08に、509は409にそれぞれ対応する。
【0047】次にFF段数解析ステップ108に移る。
【0048】FF段数解析ステップ108の処理手順の
一例を図2に示す。
【0049】まず、FF、外部端子を接点とし、それら
の間の組み合わせ論理を無視したグラフ構造を作成する
(手順201)。
【0050】図6に示したのは、図5に対応するFFと
外部端子のグラフ構造の例である。このグラフにおい
て、FF、外部端子に演算順位付けを行なう。
【0051】このグラフは、信号変化のイベント伝播経
路を表現する。ただし、この時、FFのデータ入力端子
(例えばDFFのD端子、JKFFのJ、K端子)への
接続関係はグラフから除外する。これはFFのデータ端
子の値の変化はそのFFの出力を直接変化させないため
である。
【0052】再び図2を参照して、次に、全外部入力端
子についてその演算順位を0とし、外部入力端子を起点
とする全ての枝に同じく順位0を割り当てる(手順20
2)。
【0053】図7は、この手順202の一例を示したも
のであり、外部入力端子(701〜705)に順位0
(L0)を割り当て、それらの出力枝(706〜71
1)にも同じく順位0を割り振っている。
【0054】図2を参照して、続いて、全てのFF、外
部出力端子について、各々全ての入力枝に演算順位がつ
いていたら、それらのうちの最大順位+1を、当該F
F、もしくは外部出力端子の演算順位とし、全ての出力
枝に、その演算順位を割り当てる。この演算順位の伝播
を可能な限り繰り返す(手順203)。
【0055】図7に示す例では、DFF1(712)、
DFF2(713)、DFF3(714)、DFF5
(722)、DFF7(729)については、全ての入
力枝が順位0を持っているので、これらのFFの演算順
位を1とし、その出力枝(716〜718、725、7
33)に、順位1(L1)を割り振る。
【0056】同様にして、O3(736)、O4(73
7)について順位2(L2)を割り当てる。
【0057】全てのFF、外部端子に演算順位がついて
いたらFF段数解析ステップを終了する(手順204)
が、図7を参照すると、DFF4(721)、TFF1
(715)、TFF2(723)、TFF3(73
0)、DFF7(728)、O1(734)、O2(7
35)には、演算順位が付いていないため、手順204
の条件判断の結果は「偽」となり、手順205へ進む。
【0058】手順205では、一部の入力枝にのみ演算
順位がついているFFを閉路切断点の入力側候補として
登録する。図7の例では、TFF1(715)を入力側
閉路切断点の候補として登録する。
【0059】次に出力側から入力側に向かって閉路切断
点の出力側候補を探索する。まず、手順206により、
全外部出力端子に出力追跡フラグを立て、その外部出力
端子の全入力枝にも出力追跡フラグを立てる。
【0060】続いて手順207により、全てのFFにつ
いて、各々全出力枝に出力追跡フラグが立っていたらそ
のFFとFFの全入力枝にもフラグを立てる。この探索
を、出力側から入力側に向かって可能な限り繰り返す。
【0061】図8に示した例を用いて具体的に手順20
6、207について説明する。
【0062】まず順位が付いていないO1(801)、
O2(805)に、出力追跡フラグを立てる。そして、
それぞれの入力枝にも、出力追跡フラグ(802、80
6、810)を立てる。
【0063】DFF6(803)については唯一の出力
枝にフラグ802が立っているので、DFF6(80
3)にも、出力追跡フラグを立てるとともに、その入力
枝にもフラグ804を立てる。
【0064】DFF4(807)についても同様にその
唯一の出力枝にフラグ806が立っているため、807
自身とその入力枝にフラグ808を立てる。
【0065】TFF1(809)では、2本の出力枝の
うち1本にしかフラグがたっていないため、フラグ伝播
を停止する。同様に、TFF2(813)、TFF3
(811)においても、フラグの伝播を停止する。
【0066】次に、図2の手順208では、一部の出力
枝にのみ出力追跡フラグが立っているFFについて閉路
切断点の出力側候補として登録する。
【0067】図8の例では、TFF1(809)、TF
F2(813)、TFF2(811)について、2本あ
る出力枝のうち1本のみフラグが立っているため、閉路
切断点の出力側候補として登録する。
【0068】最後に、手順209では、閉路切断点の入
力側と出力側の全ての組合せに対して、それらの2つの
FFを含む閉路が存在することを確認しつつ、入力側に
戻る直前の枝を切断し、帰還経路として登録する。切断
可能な点が同一閉路上に複数存在する場合には、切断に
よって入力枝を持たないFFが発生しないように切断点
を決定する。
【0069】図8の例では、閉路切断点の入力側候補
は、TFF1(809)、出力側候補はTFF1(80
9)、TFF2(813)、TFF3(811)となっ
ている。
【0070】これらの3つの2点の組み合せのうち、全
てに閉路が存在するが、入力枝を持たない接点が発生し
ない切断点は、811と809を繋ぐ枝となる。従っ
て、手順209により、切断点812で閉路を切断し、
812が存在する枝を帰還経路として登録する。
【0071】次に手順203に戻り、再度入力から出力
方向へ演算順位付けを再開する(図9参照)。
【0072】上記手順209での閉路の切断により、T
FF1(901)の入力枝は、順位0を持つもののみと
なったので、901の演算順位は1(L1)となる。
【0073】ここから手順203を進めることにより、
902、903、904、905、906に全て演算順
位をつけることができる。
【0074】以上で、全てのFF、外部端子の演算順位
がついたため、手順204によりFF段数解析ステップ
108が終了する。
【0075】決定されたFF、外部端子の演算順位、帰
還経路を、図10に示す。
【0076】再び、図2を参照して、入力側、出力側全
ての組合せの確認後、手順203に戻る(手順20
9)。帰還経路は、回路の非同期フィードバックを表現
している。
【0077】図3に、組合せ段数解析ステップ109の
処理フローの一例を示す。
【0078】図3を参照すると、手順301では、上述
のFFの演算順位と、FF間の接続技の演算順位にした
がい、グラフを作成する。その時、接続技は、対応する
組み合わせコンポーネントに置換する。手順301にし
たがって作成したグラフをの一例を図11に示す。
【0079】各外部入力端子、FFにおいて、FF段数
解析ステップ108で決定した演算順位を、FF順位と
し、組み合わせコンポーネントの順位を、補助順位とす
る。
【0080】補助順位とは、FFもしくは外部入力端子
を入力とし、FFもしくは外部出力端子を出力とする組
み合わせ部分回路において、FF段数解析ステップ10
8でのFF順位と同様に、組み合わせコンポーネントの
演算順位、すなわち入力からその組み合わせコンポーネ
ントへいたる複数の経路のうち途中のコンポーネント数
が最大である経路上に存在する組み合わせコンポーネン
トの数を示す。
【0081】以下、FF順位を上位とし、補助順位を下
位として、Ln−mと表す。この時nがFF順位、mが
補助順位を示す。
【0082】演算順位の比較をする場合には、まずFF
順位で比較し、同じFF順位を持つものの間では、補助
順位で比較するものとする。
【0083】まず、図3の手順302にしたがい、F
F、外部入力端子の出力枝の補助順位を0とする。
【0084】図11に示すグラフにおいて、組合せ論理
表現1103に注目すると、2本ある入力枝のどちらも
L1−0を持っているため、組合せ論理表現1103の
順位は、入力枝の最大順位に補助順位を1加えて、L1
−1となる。
【0085】1104については入力枝の演算順位が、
それぞれL0−0、L1−1、L1−0なので、演算順
位はL1−2となる。
【0086】1108については入力枝の演算順位がそ
れぞれL1−0、L1−0、L3−0なので、演算順位
はL3−1となる。同様にして、1101、1102、
1105、1106、1107、1109についても演
算順位を決定する(図3の手順303)。
【0087】本発明は、論理合成が可能な回路を対象と
するため、組合せ論理のみで構成される閉路は存在しな
い。これにより、FF段数解析ステップ108で必要だ
った閉路の切断処理は、組合せ段数解析ステップ109
では必要無い。
【0088】FF段数解析ステップ108、組合せ段数
解析ステップ109が終了し、全ての外部端子、FF、
組合せ論理に演算順位付けが終わった状態を、図12に
示す。
【0089】処理順序決定ステップ110では、図12
に示された演算順位が低いものから順にシミュレーショ
ン時の演算順序を決定する。同一順位を持つものの間で
は順序は任意に決定する。図12の回路に対する演算順
序の一例を、図13(a)に示す。
【0090】図13(a)のコンポーネントの演算順序
は、図13(b)に示されるコンポーネントテーブル1
301として、論理シミュレーションモデルに組み込ま
れる。
【0091】コンポーネントテーブル1301の各要素
は、コンポーネント関数1305へのポインタ130
2、通常イベントフラグ1303、帰還イベントフラグ
1304から構成される。
【0092】通常イベントフラグ1303がONのと
き、そのコンポーネントが演算されるべきであることを
表す。通常イベントフラグ1303は、そのコンポーネ
ントよりも演算順位が低いコンポーネントから信号変化
のイベントが伝わることによりONとなる。帰還イベン
トフラグがONのときにも、そのコンポーネントが演算
されるべきであることを表すが、イベントはそのコンポ
ーネントよりも演算順位が高いコンポーネントから伝わ
る。
【0093】帰還イベントフラグ1304がONになる
と、演算順位にしたがったコンポーネントの処理が再度
行なわれる。
【0094】コンポーネント関数1305の例を図14
に示す。
【0095】関数DFF5(1401)は、DFF(D
型フリップフロップ)の例である。DFF5は、D、C
を入力とし、Q出力は、組合せ論理表現C7に接続され
ている。従って、C“0”から“1”に変化した時に、
Dの値をQに伝え、コンポーネントテーブルのC7の通
常イベントフラグをONにする。
【0096】関数TFF3(1402)はTFF(T型
フリップフロップ)の例である。基本的構造はDFFの
場合と同様であるが、TFF3はC8への通常イベント
の設定の他に、手順209で登録された帰還経路をファ
ンアウトとするため、TFF1へは帰還イベントを伝え
る。
【0097】また、関数I1(1403)、関数C3
(1404)はそれぞれ外部端子と組合せ論理表現の関
数例である。
【0098】これらのコンポーネント関数を制御するシ
ミュレーションモデルメイン関数の例を、図15(a)
に示す。
【0099】シミュレータが最初の入力パタンを読み込
む以前の初期シミュレーション時にはクランプ(論理値
0、もしくは論理値1を定常的に出力する素子)の出力
値を伝播する(1502)。
【0100】それ以外の場合には、値が変化した外部入
力端子から値を取り込むために外部入力端子関数を呼び
出す(1503)。
【0101】続いてコンポーネント関数群の演算を制御
するコンポーネント演算関数を呼び出し(1504)、
変化した出力端子について、その値をシミュレータ側に
返して終了する(1505)。
【0102】図15(b)には、コンポーネント演算関
数の例を示す。この関数ではまず、ループ数を初期化す
る(1507)。このループ数は回路中に帰還閉路が存
在しなければ初期値よりも大きくはならないが、帰還イ
ベントを処理するために、演算順序にしたがってコンポ
ーネントを再演算する度に1ずつ増える。
【0103】続いて、全てのコンポーネントについて通
常イベントもしくは帰還イベントが伝播して来ているか
どうかをチェックし、イベントが伝播しているコンポー
ネントについてコンポーネント関数を呼び出す(150
9)。
【0104】この後に、コンポーネント関数処理の中で
帰還イベントが発生した場合にループ数を1増やし、ル
ープ数が一定以上になったら回路が発振状態に陥ってい
ると判断してコンポーネント演算関数を終了する条件文
1510を加えても良い。
【0105】上記1508から1510までの処理を帰
還イベントが存在する限り繰り返す(1510)。
【0106】
【発明の効果】以上説明したように、本発明によれば、
論理シミュレーションモデルのシミュレーション速度を
高めることができる、という効果を奏する。
【0107】その理由は、本発明においては、組合せ論
理の最適化に加え、モデル内の構成要素の演算順序をモ
デル作成時に静的に決定し、イベント処理を高速化して
いるためである。
【図面の簡単な説明】
【図1】本発明の一実施例の論理シミュレーション用モ
デルの作成方法のフローチャートである。
【図2】本発明の一実施例におけるFF段数解析ステッ
プのフローチャートである。
【図3】発明の一実施例における組合せ段数解析ステッ
プのフローチャートである。
【図4】本発明の一実施例に適用される回路を示す図で
ある。
【図5】本発明の一実施例における、最適化論理ネット
ワークを示す図である。
【図6】本発明の一実施例における、FF、外部端子に
よるイベント伝播グラフ構造を示す図である。
【図7】本発明の一実施例における、イベント伝播グラ
フ構造における演算順位付け方法を表す図である。
【図8】本発明の一実施例を説明するための図であり、
イベント伝播グラフ構造における帰還閉路切断方法を説
明するための図である。
【図9】本発明の一実施例を説明するための図であり、
イベント伝播グラフ構造における演算順位付け方法を説
明するための図である。
【図10】本発明の一実施例を説明するための図であ
り、演算順位付けされたイベント伝播グラフ構造を表す
図である。
【図11】本発明の一実施例における、組合せ論理表現
によるグラフ構造と演算順位付け方法を説明するための
図である。
【図12】本発明の一実施例における、全ての演算順位
付けが終わった状態を示す図である。
【図13】本発明の一実施例における、コンポーネント
の演算順位とコンポーネントテーブルを示す図である。
【図14】本発明の一実施例における、コンポーネント
関数を示す図である。
【図15】本発明の一実施例における、シミュレーショ
ンモデルメイン関数とコンポーネント演算関数を示す図
である。
【図16】従来の論理シミュレーションモデルの作成フ
ローチャートである。
【図17】従来の技術の説明に用いられる回路図であ
る。
【図18】図17の回路から抽出される論理ブロックの
図である。
【図19】従来の技術における最適化された論理表現を
示す図である。
【図20】従来の技術の遅延情報を示す図である。
【図21】従来の技術によるシミュレーションモデルを
示す図である。
【符号の説明】
101 論理回路 102 回路設計規則データベース 103 ゲート論理の取り出しステップ 104 回路展開ステップ 105 論理段数変更ステップ 106 組合せ論理最適化ステップ 107 最適化論理ネットワーク 108 FF段数解析ステップ 109 組合せ段数解析ステップ 110 処理順序決定ステップ 111 基本ゲート、基本ブロックの遅延時間抽出ステ
ップ 112 入出力端子間遅延計算ステップ 113 遅延情報作成手段 114 シミュレーションモデル 115 遅延データベース検索用ハッシュ表 116 遅延データベース 201 FF、外部端子間グラフ作成ステップ 202 外部入力端子順位設定ステップ 203 演算順位伝播ステップ 204 終了判断ステップ 205 入力側閉路切断点候補決定ステップ 206 外部出力端子出力追跡フラグ設定ステップ 207 出力追跡フラグ伝播ステップ 208 出力側閉路切断点候補決定ステップ 209 閉路切断、帰還経路登録ステップ 301 組合せ論理表現グラフ作成ステップ 302 入力端子補助順位設定ステップ 303 補助演算順位伝播ステップ 401〜409 組合せ素子のグループ 501〜509 最適化された組合せ論理表現 701、702、703、704、705、736、7
37 順位付けされた外部端子 712、713、714、722、729 順位付けさ
れたFF 706、707、708、709、710、711、7
16、717、718、715、733 順位付けされ
た経路 734、735 順位付けされていない外部端子 715、721、723、728、730 順位付けさ
れていないFF 719、720、724、726、727、731、7
32、738 順位付けされていない経路 801、805 順位付けされていない外部端子 802、804、806、808、810 出力追跡フ
ラグ 803、807 追跡フラグが立ったFF 809、813、811 追跡フラグの伝播が止まった
FF 812 帰還閉路切断点 901〜907 新たに順位付けされた外部端子、FF 1101〜1109 順位付けされた組合せ論理表現 1301 コンポーネントテーブル 1302 コンポーネント関数へのポインタ 1303 通常イベントフラグ 1304 帰還イベントフラグ 1305 コンポーネント関数 1401〜1404 コンポーネント関数 1501〜1505 シミュレーションモデルメイン関
数 1506〜1510 コンポーネント演算関数 1601 論理回路 1602 回路設計規則データベース 1603 論理ゲート 1604 論理抽出 1605 組合せ論理最適化 1606 遅延情報作成手段 1607 遅延データベース 1608 ハッシュ表 1609 論理シミュレーションモデル 1701〜1703、1801〜1803、1901〜
1905 回路構成図 1804〜1809 論理式
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 G06F 11/25 G01R 31/28 H01L 21/82

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】検査済みの論理回路情報に基づいて論理ブ
    ロックを抽出し、前記論理ブロックが表現する論理を論
    理合成手段を用いて最適化して前記論理回路に等価な論
    理表現にすることにより作成される前記論理回路をレベ
    ルソート法を用いてシミュレーションを行う論理シミュ
    レーション用モデルにおいて、 イベントドブリン方式のシミュレーションに代り、モデ
    ル作成時に、モデル内の構成要素の外部端子から部分回
    路までの段数に基づき、1段階目は組み合わせ部分回路
    を無視してフリップフロップ、外部端子の演算順位を決
    定する工程と、 帰還閉路を検出してこれを切断する工程と、 前記演算順位を決定する工程に続く2段階目は各組み合
    わせ部分回路のみに注目し組合せ論理表現における組み
    合わせ段数により演算順位を決定する工程と、を含み、
    前記構成要素の演算順序を静的に決定する、ことを特徴
    とする、論理シミュレーションモデルの作成方法。
  2. 【請求項2】(a)論理回路に用いられている各ブロッ
    クの論理を回路設計データベースから取り出し、取り出
    したブロックの論理のうち、組み合わせ回路部分に対し
    て論理の最適化を行ない、論理式、真理値表、2分決定
    木等の高速な演算が可能な所定の論理表現に変換し、最
    適化された組み合わせ部分と順序回路部分とからなる最
    適化論理ネットワークを生成し、 (b)最適化論理ネットワークにおいて外部端子から部
    分回路(「コンポーネント」という)までの最大段数、
    すなわち前記外部入力端子から該コンポーネントにいた
    る複数の経路のうち途中のコンポーネント数が最大であ
    る経路上のコンポーネント数を求め、組み合わせ論理表
    現、順序素子であるフリップフロップ、及び、外部端子
    のシミュレーション時の処理順序を決定する2段階の解
    析処理を行ない、 (b−1)このうち1段階目のFF段数解析処理では、
    組み合わせコンポーネントを無視して、外部端子と順序
    素子の接続関係のグラフを構成し、 前記グラフ上で、外部入力端子からの最大段数で、順序
    素子もしくは外部端子の演算順位を決定し、 接続関係の中に閉路がある場合はこの閉路を切断し、 前記論理回路中の全ての順序素子と外部端子の演算順位
    を決定し、帰還経路を特定し、 (b−2)2段階目の組み合わせ段数解析処理では、各
    組み合わせコンポーネントにのみ注目し、その演算順位
    (「補助演算順位」という)を決定し、順序素子、外部
    端子間にある組合せ論理表現のグループ毎に行ない、 (c)処理順序決定処理では、前記FF段数解析処理で
    決定した演算順位と、組合せ段数解析ステップで決定し
    た補助演算順位とを組み合わせ、順位の低いものからシ
    ミュレーション時のコンポーネントの演算順序を決定
    し、 決定された演算順序に従い、各コンポーネントの論理を
    表現し、関数とそれらを順次処理する関数をコード化
    し、これを論理シミュレーションも出るとし、 モデル作成時に、演算順序を決定することで、イベント
    伝播方式によるシミュレーションで見られる冗長な演算
    を消去することを可能とした、ことを特徴とする、論理
    シミュレーション用モデルの作成方法。
  3. 【請求項3】前記組み合わせ段数解析処理において、レ
    ベライズドコンパイルドコード方式を用いたことを特徴
    とする請求項記載の論理シミュレーション用モデルの
    作成方法。
  4. 【請求項4】前記論理回路から遅延情報を作成する遅延
    情報作成手段を備え、前記遅延情報作成手段で得られた
    遅延値を遅延データベースに格納しておき、 前記論理シミュレーションモデルに、遅延データベース
    を検索して、外部端子間の遅延値を求める機能を付加す
    る、ようにして論理機能、遅延機能を合わせ持ったシミ
    ュレーションモデルを作成する、ようにしたことを特徴
    とする、請求項2記載の論理シミュレーション用モデル
    の作成方法。
  5. 【請求項5】検査済みの論理回路情報に基づいて論理ブ
    ロックを抽出し、前記論理ブロックが表現する論理を論
    理合成手段を用いて最適化して前記論理回路に等価な論
    理表現にすることにより作成される前記論理回路をレベ
    ルソート法を用いてシミュレーションを行う論理シミュ
    レーション用モデル作成のための手段として、 モデル内の構成要素の外部端子から部分回路までの段数
    に基づき、前記構成要素の演算順序を静的に決定するた
    めに、1段階目は組み合わせ部分回路を無視してフリッ
    プフロップ、外部端子の演算順位を決定する手段、 帰還閉路を検出してこれを切断する手段、及び、 前記演算順位を決定する手段に続く2段階目は各組み合
    わせ部分回路のみに注目し組合せ論理表現における組み
    合わせ段数により演算順位を決定する手段、の上記各手
    段をコンピュータで機能させるためのプログラムを記録
    した記録媒体。
JP09165341A 1997-06-06 1997-06-06 論理シミュレーション用モデルの作成方法 Expired - Fee Related JP3080037B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09165341A JP3080037B2 (ja) 1997-06-06 1997-06-06 論理シミュレーション用モデルの作成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09165341A JP3080037B2 (ja) 1997-06-06 1997-06-06 論理シミュレーション用モデルの作成方法

Publications (2)

Publication Number Publication Date
JPH10340291A JPH10340291A (ja) 1998-12-22
JP3080037B2 true JP3080037B2 (ja) 2000-08-21

Family

ID=15810509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09165341A Expired - Fee Related JP3080037B2 (ja) 1997-06-06 1997-06-06 論理シミュレーション用モデルの作成方法

Country Status (1)

Country Link
JP (1) JP3080037B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2924882B1 (ja) 1998-01-27 1999-07-26 日本電気株式会社 論理シミュレーションモデルの作成方法および装置ならびに記録媒体
JP4530883B2 (ja) * 2004-09-30 2010-08-25 富士通セミコンダクター株式会社 シミュレーションモデル生成方法
JP4998150B2 (ja) 2007-08-29 2012-08-15 日本電気株式会社 半導体集積回路のフロアプラン編集装置

Also Published As

Publication number Publication date
JPH10340291A (ja) 1998-12-22

Similar Documents

Publication Publication Date Title
JP3119646B2 (ja) 再コンフュギュレーション可能なハードウェアシステムの評価装置及び演算処理方法
JP2609799B2 (ja) 順序回路の再設計方法
CN101317179A (zh) 并入soc分层设计的定时约束
US6557150B1 (en) Method of extracting timing characteristics of transistor circuits, storage medium storing timing characteristic library, LSI designing method, and gate extraction method
JP4099974B2 (ja) 動作レベル記述とレジスタ転送レベル記述間の等価性検証方法及び装置並びにプログラム
JP2004013720A (ja) 論理回路のタイミング制約モデル生成方法、論理回路のタイミング制約モデル生成プログラム、およびタイミング制約モデルを用いるタイミングドリブンレイアウト方法
US6834379B2 (en) Timing path detailer
JPH10283394A (ja) 故障シミュレーション方法
JP3080037B2 (ja) 論理シミュレーション用モデルの作成方法
JPH08212246A (ja) 論理生成方法
Chen et al. A new framework for static timing analysis, incremental timing refinement, and timing simulation
US7120829B2 (en) Failure propagation path estimate system
JP2845154B2 (ja) 論理シミュレーション用モデルの作成方法
JP2853649B2 (ja) 論理シミュレーション用モデルの作成方法
Oh et al. Efficient logic-level timing analysis using constraint-guided critical path search
JP2924882B1 (ja) 論理シミュレーションモデルの作成方法および装置ならびに記録媒体
US6877140B1 (en) Method and system for generating a schematic representing bus structures
JP2872216B1 (ja) マクロの設計方法
JP2008090865A (ja) 動作レベル記述とレジスタ転送レベル記述間の等価性検証方法及び装置並びにプログラム
Long et al. IBAW: An implication-tree based alternative-wiring logic transformation algorithm
Karlsen et al. A timing verifier and timing profiler for asynchronous circuits
JP2812257B2 (ja) 論理シミュレーションモデル作成方法
Aarna et al. Parallel fault simulation of digital circuits
JP2004038383A (ja) ディジタル回路のタイミング調整方法
Barbhaya et al. An Open-Source Static Timing Analysis EDA Tool for Digital System Design

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees