JP2003036283A - 論理シミュレーション装置およびその方法 - Google Patents

論理シミュレーション装置およびその方法

Info

Publication number
JP2003036283A
JP2003036283A JP2001224132A JP2001224132A JP2003036283A JP 2003036283 A JP2003036283 A JP 2003036283A JP 2001224132 A JP2001224132 A JP 2001224132A JP 2001224132 A JP2001224132 A JP 2001224132A JP 2003036283 A JP2003036283 A JP 2003036283A
Authority
JP
Japan
Prior art keywords
circuit
sequential circuit
logic
simulation
clock
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
JP2001224132A
Other languages
English (en)
Inventor
Shinichi Tomioka
進一 冨岡
Kazuki Ninomiya
和貴 二宮
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2001224132A priority Critical patent/JP2003036283A/ja
Publication of JP2003036283A publication Critical patent/JP2003036283A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

(57)【要約】 【課題】 論理シミュレーションにおいて順序回路の出
力信号がクロックである順序回路のシミュレーション実
行順序を考慮することによる高精度論理シミュレーショ
ン装置の提供と検証期間削減を実現する。 【解決手段】 本発明の論理シミュレーション装置は、
順序回路のうち順序回路の出力がクロックである順序回
路を選別する選別手段2と、選別手段2より選別された
順序回路の論理シミュレーションを先行する先行手段3
と、他の順序回路構成の論理シミュレーションを行う続
行手段4とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は論理シミュレーショ
ン装置およびその方法に関するものである。
【0002】
【従来の技術】近年、半導体集積回路(以降LSIとい
う)の大規模化に伴い設計手法は順序回路等の論理回路
を組合せて設計図を作成する視覚的設計手法から論理回
路の機能と論理回路間の接続情報等の回路情報をハード
ウェア記述言語(HDL言語)を用いる設計スタイルに
移り変わり、論理回路の検証は論理シミュレーションに
より行っている。LSIを構成する論理回路や配線には
信号の伝達を遅延させる要素が含まれている。しかし、
大規模LSIにおいて、論理回路に含まれる遅延時間を
含む論理シミュレーションを行うと論理シミュレーショ
ンの時間が増大する。そこで、まず遅延時間を含む論理
シミュレーションに先立って、論理シミュレーションの
時間を短縮するため、論理回路に含まれる遅延時間をゼ
ロとして論理シミュレーションを行うという手法が採用
されている。こうした論理シミュレーションについては
たとえば特開平5―143667号公報に示されてい
る。
【0003】
【発明が解決しようとする課題】遅延時間を含む論理シ
ミュレーションを行う場合、LSI内部の論理回路の論
理シミュレーションを行う順序は遅延時間により決めら
れるが、論理回路の遅延時間をゼロとして論理シミュレ
ーションを行う場合、LSI内部の論理回路の論理シミ
ュレーションを行う順序を制御することができなかっ
た。たとえば、LSIに入力するクロック入力を順序回
路により分周して分周クロックをつくり、LSI内部の
順序回路のクロックとして使用する場合には、分周クロ
ックを出力する順序回路の論理シミュレーションをクロ
ックを出力しない他の順序回路より先行することができ
ないため、分周クロックをクロック入力とする順序回路
に入力された信号が同時に出力するラッチ抜けが発生
し、論理シミュレーション結果がLSIの実動作と異な
るという問題が生じる。その結果、論理回路の遅延時間
を含む論理シミュレーションではラッチ抜けが発生しな
いが、遅延時間をゼロとしたシミュレーションではラッ
チ抜けが発生し、両者のシミュレーション結果に不一致
が発生し、設計者はこの不一致の原因を検証するために
多くの時間を費やしていた。
【0004】本発明は上記従来の問題点を解決するもの
で、論理シミュレーション装置による論理回路の遅延時
間をゼロとした論理シミュレーションにおいてラッチ抜
けが発生しないように、論理シミュレーションにおける
論理回路の処理順序を工夫することによりLSIの動作
を忠実に再現し高精度な論理シミュレーション装置およ
びその方法を提供することを目的とする。
【0005】
【課題を解決するための手段】本発明は上記課題を解決
するために、請求項1記載の論理シミュレーション装置
は、LSIの動作を模擬する論理シミュレーション装置
において、前記LSIの機能がハードウエア記述言語で
記述された回路情報ファイルと、前記回路情報ファイル
より読み出された順序回路の中から順序回路の出力信号
が次段の順序回路のクロックに接続されている順序回路
を選別する選別部と前記選別部により選別された前記順
序回路を先行順序回路として記憶する記憶部を有する選
別手段と、前記選別手段により記憶された前記順序回路
および前記順序回路に接続する論理回路の論理シミュレ
ーションを他の順序回路に先行する先行手段と、前記先
行手段において論理シミュレーションを行っていない前
記他の順序回路および前記他の順序回路に接続する論理
回路の論理シミュレーションを続いて実行する続行手段
を備え、前記LSIのクロック端子に入力するクロック
の変化に基づき発生するイベントにより論理シミュレー
ションを前記先行手段と前記続行手段において実行し、
前記クロック端子に入力するクロックが設定された時刻
に達するまで論理シミュレーションを前記先行手段と前
記続行手段において繰り返し実行することを特徴とす
る。
【0006】上記記載の構成によれば、順序回路の出力
がクロックである順序回路の論理シミュレーションが他
の順序回路より先行することができるので、分周クロッ
クをクロックとする順序回路の論理シミュレーションに
おいて、期待値との不一致や遅延情報を含む論理シミュ
レーションとの不一致が発生しなくなり、検証時間のロ
スを排除することができ、検証時間の短縮が図られる。
【0007】請求項2記載の論理シミュレーション装置
は、請求項1記載の論理シミュレーション装置の選別手
段において、回路情報ファイルからクロック名と入力信
号および出力信号名を含む順序回路を抽出する抽出部
と、抽出部により抽出されたクロック名と順序回路を記
憶する記憶部と、記憶部に記憶されたクロック名と順序
回路の出力信号名を比較し、クロック名と順序回路の出
力信号名が一致する順序回路を選別する選別部と、選別
部により選別された先行順序回路を記憶する先行順序回
路記憶部とを備えたことを特徴とする。
【0008】上記構成は、請求項1記載の選別手段の具
体的手段を示すもので、請求項1と同じ効果が得られ
る。
【0009】請求項3記載の論理シミュレーション装置
は、請求項1記載の論理シミュレーション装置の回路情
報ファイルにおいて、論理シミュレーションを実行する
順序を決めるための表記を複数種類有するハードウエア
記述言語により、順序回路の信号伝達を記述する代入文
が記述されていることを特徴とする。
【0010】上記構成は、順序回路の信号伝達を記述す
る代入文を本発明の代入文の表記によるHDL記述回路
情報ファイルを使用することにより、遅延時間ゼロの論
理シミュレーションにおいて、順序回路の論理シミュレ
ーションの順序を決定することができるようになり、実
動作を忠実に模擬することができる。
【0011】請求項4記載の論理シミュレーション装置
は、LSIの動作を模擬する論理シミュレーション装置
において、LSIの機能がハードウエア記述言語で記述
された回路情報ファイルと、回路情報ファイルを読み出
しクロック名と入力信号および出力信号名を含む順序回
路を抽出する抽出部と、抽出部により抽出されたクロッ
ク名と順序回路を記憶する記憶部と、記憶部に記憶され
たクロック名と順序回路の出力信号名を比較し、クロッ
ク名と順序回路の出力信号名が不一致となる不一致順序
回路を選別する選別部と、選別部により選別された不一
致順序回路を記憶する不一致順序回路記憶部とを有する
選別手段と、不一致順序回路記憶部に記憶された不一致
順序回路に遅延情報を付加する遅延付加手段とを備える
ことを特徴とする。
【0012】上記構成により、順序回路の出力信号がク
ロックとなる順序回路の論理シミュレーションを他の順
序回路より先行することができることにより、ラッチ抜
けによる実動作と異なる論理シミュレーションを防止で
きる。
【0013】請求項5記載の論理シミュレーション方法
は、LSIの機能がハードウェア記述言語で記述された
回路情報ファイルを読み出し、回路情報ファイルの中か
らクロック名と入力信号および出力信号名を含む順序回
路を抽出する抽出ステップと、抽出ステップにより抽出
されたクロック名と順序回路を記憶する記憶ステップ
と、記憶ステップにより記憶されたクロック名と順序回
路の出力信号名を比較し、クロック名と順序回路の出力
信号名が一致する順序回路を選別する選別ステップと、
選別ステップにより選別されたクロック名と順序回路の
出力信号名が一致する順序回路を先行して論理シミュレ
ーションを実行する先行順序回路として記憶する先行順
序回路記憶ステップと、先行順序回路記憶ステップにお
いて記憶された先行順序回路および先行順序回路に接続
する論理回路の論理シミュレーションを他の順序回路に
先行する先行シミュレーションステップと、先行シミュ
レーションステップにおいて論理シミュレーションを行
っていない他の順序回路および論理回路の論理シミュレ
ーションを続いて実行する続行シミュレーションステッ
プとを有し、LSIに入力されるクロックの変化により
発生するイベントに基づく論理シミュレーションを、先
行シミュレーションステップと続行シミュレーションス
テップにおいて実行し、クロックの入力が設定した時刻
に到達するまで論理シミュレーションを先行シミュレー
ションステップと続行シミュレーションステップにおい
て繰り返し実行することを特徴とする。
【0014】上記方法によって、順序回路の出力がクロ
ックである順序回路の論理シミュレーションが他の順序
回路より先行することができることにより、ラッチ抜け
による期待値照合の不一致や遅延情報を含む論理シミュ
レーションとの不一致による検証時間のロスを無くすこ
とができ、検証時間の短縮が図られる。
【0015】請求項6記載の論理シミュレーション方法
は、論理シミュレーションを実行する順序を決めるため
の表記を複数種類有するハードウェア記述言語により順
序回路の信号伝達を記述する代入文が記述されたLSI
の回路情報ファイルから、論理シミュレーションを先行
する順序回路を選別する選別ステップと、選別ステップ
により選別された順序回路を先行して論理シミュレーシ
ョンを実行する先行順序回路として記憶する記憶ステッ
プと、記憶ステップにおいて記憶された先行順序回路お
よび先行順序回路に接続する論理回路の論理シミュレー
ションを先行する先行シミュレーションステップと、先
行シミュレーションステップにおいて論理シミュレーシ
ョンを行っていない他の順序回路および論理回路の論理
シミュレーションを続いて実行する続行シミュレーショ
ンステップとを有し、LSIに入力されるクロックの変
化により発生するイベントに基づく論理シミュレーショ
ンを、先行シミュレーションステップと続行シミュレー
ションステップにおいて実行し、クロックの入力が設定
した時刻に到達するまで論理シミュレーションを先行シ
ミュレーションステップと続行シミュレーションステッ
プにおいて繰り返し実行することを特徴とする。
【0016】上記構成の方法は、HDL記述の順序回路
の信号伝達を記述する代入文を本発明の代入文の表記に
より、論理シミュレーションにおいて正確に論理回路の
実動作を模擬することができ、論理検証時間の短縮が図
れる。
【0017】
【発明の実施の形態】(第1の実施の形態)図1は本実
施の形態における論理シミュレーション装置である。論
理シミュレーションの対象となるLSIのHDL記述回
路情報ファイル1はHDL言語で記述された論理回路の
機能と論理回路間の接続情報を含む。選別手段2は、H
DL記述回路情報ファイル1からクロック名と入力信号
および出力信号名を含む順序回路を抽出する抽出部11
および、抽出されたクロック名と順序回路を記憶する記
憶部13および、順序回路の出力信号がクロックとなる
順序回路を選別するために、記憶部13に記憶されたク
ロック名と順序回路の出力信号名とを比較し、クロック
名と順序回路の出力信号名が一致する順序回路を選別す
る選別部15および、選別部15により選別された順序
回路を記憶する先行順序回路記憶部16を有する。
【0018】なお、具体例は後述するが、ここに記述し
たクロック名は順序回路のクロック端子に入力する信号
であり、入力信号は順序回路の入力端子に入力する信号
であり、出力信号は順序回路の出力端子より出力する信
号であり、順序回路はクロックにより信号を順次伝達す
る回路でありフリップフロップなどがある。
【0019】先行手段3は、論理シミュレーションの入
力信号を一時記憶する入力信号一時記憶部17および、
選別手段2により選別された順序回路およびその順序回
路に接続された論理回路を順序回路の出力信号がクロッ
クでない他の順序回路に先行して論理シミュレーション
を実行する先行論理シミュレーション部18を有する。
【0020】続行手段4は、先行手段3において論理シ
ミュレーションを実行していない他の順序回路およびそ
の順序回路に接続された論理回路の論理シミュレーショ
ンを続いて実行する続行論理シミュレーション部19を
有する。格納手段5はシミュレーション結果を格納する
シミュレーション結果格納部20を有する。
【0021】まず、選別手段2の動作を図2のフローチ
ャートを使って説明する。図中、選別手段2は、HDL
記述回路情報ファイル1に記述されている信号名の中か
らクロック名と論理回路のうち入力信号および出力信号
名を含む順序回路を抽出する抽出ステップ22、抽出さ
れたクロック名と順序回路を記憶する記憶ステップ23
においてクロック名および順序回路の抽出と記憶を行
う。次に記憶ステップ23で記憶されたクロック名と順
序回路の出力信号名を比較する比較ステップ26におい
て、順序回路の出力信号名とクロック名が一致しないNo
の場合はつぎの順序回路の検索を行う更新ステップ27
を実行する。一致するYesの場合は、記憶ステップ28
において順序回路の出力信号名がクロックである順序回
路は論理シミュレーションを他の順序回路に先行する先
行順序回路として記憶する。順序回路のリストが終了し
たかどうかを判定する判定ステップ29によって、No
(未終了)の場合はつぎの順序回路の検索を行う更新ス
テップ27を実行する。Yes(終了)の場合はクロック
名リストが終了かを判定する判定ステップ210を実行
する。判定ステップ210の判定がNo(未終了)の場合
はつぎのクロック名を検索する更新ステップ211を実
行し、比較ステップ26へ戻る。Yes(終了)の場合は
つぎに説明する論理シミュレーションを実行する。
【0022】つぎに、図3に示すフローチャートを使っ
て、図1の先行手段3および続行手段4の論理シミュレ
ーションの動作を説明する。
【0023】本発明の論理シミュレーションの対象とな
るLSIに入力するクロック入力がハイレベル“H”に
遷移したかどうかを判定する検出ステップ31におい
て、クロックの遷移がないNoの場合、クロックの遷移以
外の他の信号変化に基づき順序回路以外の論理回路の論
理シミュレーションを実行ステップ32で実行する。検
出ステップ31においてYesの場合、クロックの遷移に
基づき発生するイベントによりHDL記述回路情報ファ
イル1より読み出された順序回路の論理シミュレーショ
ンを開始する。ここでクロックの遷移に基づき発生する
イベントによる順序回路の入力信号は記憶ステップ33
で一時記憶される。判定ステップ34においてYesの場
合、すなわち順序回路が先行順序回路記憶28に記憶さ
れている先行順序回路の場合、記憶ステップ33で一時
記憶された入力信号を出力し先行順序回路およびその順
序回路に接続されている論理回路の論理シミュレーショ
ンを先行シミュレーションステップ35で実行する。検
出ステップ36によって論理シミュレーションの処理に
基づき発生するイベントがYesの場合、実行ステップ3
5を実行し、イベントがなくなるまで実行する。検出ス
テップ36においてイベントがなくなるNoの場合、先行
順序回路以外の他の順序回路および論理回路をHDL記
述回路情報ファイル1より読み出し、また記憶ステップ
33で一時記憶された入力信号を出力し続行シミュレー
ションステップ37を実行する。検出ステップ38にお
いて、論理シミュレーションに基づき発生するイベント
がYesの場合、続行シミュレーション37を実行し、No
の場合、設定されたシミュレーションのクロック終了時
刻に到達したかどうかを判定する終了ステップ39を実
行する。終了ステップ39においてNo(未終了)の場合
つぎのクロックに更新する更新ステップ40を実行し検
出ステップ31へジャンプし、クロックの終了まで先行
シミュレーション35と続行シミュレーション37を終
了ステップ39がYes(終了)になるまで繰り返し実行
する。
【0024】つまり本発明におけるアルゴリズムによる
と順序回路の出力信号がクロックである順序回路の論理
シミュレーションが順序回路の出力信号がクロックでな
い他の順序回路の論理シミュレーションに対して先行し
ていることがわかる。
【0025】図4は本発明の論理シミュレーションの対
象となるLSIの具体的な回路例である。図において、
FF1、FF2、およびFF3はフリップフロップである。Dinと
CLKはそれぞれ入力信号とクロック入力であり、Q3は
出力信号である。フリップフロップFF2はクロックCLKの
周波数を分周した信号CLK2を出力し、信号CLK2はフリッ
プフロップFF3のクロックに接続されている。
【0026】論理シミュレーションの過程を図5、6を
用いて説明する。図5はフリップフロップFF1、FF2、お
よびFF3の順に論理シミュレーションを実行した場合の
タイミングチャートを示す。ここで、入力Dinには
“0”、“1”、“2”と名付けた信号が順次入力し、
クロックはハイレベル“H”とローレベル“L”を交互に
繰り返す信号である。
【0027】クロックCLKの立ち上がりエッジ51のと
き、フリップフロップFF1の入力Dinの入力信号“1”は
出力Q2に“1”を伝達する。フリップフロップFF2は
クロックCLKの立ち上がりエッジ51のときに入力信号
のINの“H”を出力に伝達し、フリップフロップFF2
の出力信号CLK2を反転し “L”から“H”に移行する。
インバータINVは入力信号CLK2を反転し“L”を信号I
Nに出力し、フリップフロップFF2の入力に信号INを
伝達する。フリップフロップFF3はクロックCLK2の立ち
上がりエッジ52のとき入力信号Q2の“1”を出力Q
3に“1”を伝達する。すなわち、フリップフロップFF
1の出力信号Q2がそのままフリップフロップFF3の出力
信号Q3となり、フリップフロップFF3がラッチの働き
(データを保持する働き)をしていない状態すなわち、
ラッチ抜けと呼ばれる状態が発生する。
【0028】このラッチ抜けの状態の発生を防止するた
めに、本実施の形態では、図2に示す順序回路の選別方
法によりHDL記述回路情報ファイル1から読み出した
順序回路の中から順序回路の出力信号がクロックとなっ
ている順序回路を選別し、論理シミュレーションを先行
する先行順序回路のリストを作成し記憶する。
【0029】まず、図4の回路について、先行順序回路
の選別方法を述べる。この回路の中からクロック名と順
序回路を抽出する。クロック名はCLKとCLK2であり、順
序回路はフリップフロップFF1、FF2、およびFF3であ
る。その出力信号名はそれぞれQ2、CLK2、およびQ3であ
る。クロック名と順序回路であるフリップフロップの出
力信号名とを比較する。この中で、順序回路の出力信号
とクロック名とが同じである順序回路はフリップフロッ
プFF2である。先行順序回路のリストにフリップフロッ
プFF2が記憶される。
【0030】したがって、フリップフロップFF2の論理
シミュレーションは他のフリップフロップに先行し、つ
ぎにフリップフロップFF2に接続されているインバータI
NVとフリップフロップFF3の論理シミュレーションを実
行し、イベントがなくなるまで続行する。イベントがな
くなると、つぎに、フリップフロップFF1の論理シミュ
レーションを続行する。
【0031】図6は本発明の実施の形態のフリップフロ
ップFF2、FF3、およびFF1の順に論理シミュレーション
を実行するタイミングチャートを示す。フリップフロッ
プFF2はクロックCLKの立ち上がりエッジ51のときにフ
リップフロップFF2の入力信号INの“H”が出力信号CL
K2に伝達され、出力信号CLK2は反転し “ L”から
“H”になる。インバータINVは入力信号CLK2の“H”を
反転し、出力に信号INの“L”を出力し、フリップフロ
ップFF2の入力へ伝達する。
【0032】つぎに、フリップフロップFF2の出力信号C
LK 2が接続されているフリップフロップFF3の論理シミ
ュレーションを実行する。ここで、フリップフロップFF
2の出力信号CLK 2はフリップフロップFF3のクロックと
なっている。フリップフロップFF3はクロックCLK2の立
ち上がりエッジ52のときに入力信号Q2の“0”を出
力Q3に“0”を伝達する。
【0033】ここで先行順序回路の論理シミュレーショ
ンにおけるイベントはすべて終了したので、順序回路の
出力信号がクロックでない他の順序回路の論理シミュレ
ーションを続行する。ここでは、フリップフロップの出
力がクロックでないフリップフロップはフリップフロッ
プFF1であるので、つづいてフリップフロップFF1の論理
シミュレーションを実行する。フリップフロップFF1の
入力Dinの信号“1”はクロックCLKの立ち上がりエッジ
51のときに出力Q2に“1”を伝達する。これで、フ
リップフロップFF1のイベントはすべて終了し、シミュ
レーションは終了する。
【0034】図6に示した本発明の論理シミュレーショ
ンによると、フリップフロップFF1の出力Q2の信号
“1”とフリップフロップFF3の出力Q3の信号“0”
とが異なっており、ラッチ抜けが発生していないことを
示している。
【0035】また本実施の形態では上記方法により論理
シミュレーション処理の順序を決定したが順序回路の出
力信号がクロックである順序回路を他の順序回路より先
に論理シミュレーションを実行する手段であれば他の方
法であってもよい。
【0036】(第2の実施の形態)図7は図4の回路を
Verilog HDLにより記述した一例である。本実施の形態
では順序回路の信号伝達を記述する代入文の中に便宜上
「<=」と「<<=」の2つの表記を用いている。代入
文の表記が「<<=」である代入文は、順序回路の出力
信号がクロックである順序回路すなわち論理シミュレー
ションを先行する順序回路の代入文に使用し、論理シミ
ュレーションを続行する他の順序回路の代入文の表記に
は「<=」を使用することにより、順序回路の出力信号
がクロックである代入文の選別を容易にすることができ
る。
【0037】図7に示した順序回路の定義71は順序回
路の出力信号がクロックである順序回路を定義しており
代入文の表記には「<<=」を使用している。順序回路
の定義72は順序回路の出力信号がクロックでない他の
順序回路を定義しており、代入文の表記には「<=」を
使用している。回路情報73は順序回路および論理回路
を含む回路全体の接続情報と論理回路の機能情報と入出
力信号を定義している。
【0038】図8は本実施の形態における順序回路の出
力信号がクロックである代入文を選別する手段の動作を
示すフローチャートである。
【0039】HDL記述回路情報ファイル1から代入文
を読み出し、判定ステップ81において先行して論理シ
ミュレーションを実行する代入文の表記「<<=」の真
偽を判定し、Noの場合には次の代入文の読み出しに移
り、判定がYesの場合には、記憶ステップ83において
表記「<<=」の代入文を抽出し、先行代入文記憶に記
憶する。これらステップを代入文記述が終了するまで続
行する。
【0040】図9は順序回路の代入文の表記が複数種類
ある論理シミュレーションの実行手段の動作を示すフロ
ーチャートである。図9において、図3の論理シミュレ
ーションと同じ動作は同じ番号で示し、説明は省略す
る。図9の判定ステップ91において、図8の先行代入
文記憶83に記憶されている代入文の表記「<<=」の
真偽を判定し、Yesの場合、記憶ステップ33で一時記
憶された入力信号を出力し、実行ステップ35において
先行代入文およびその代入文に接続されている論理回路
の代入文の論理シミュレーションを他の代入文に先行す
る。
【0041】このように、順序回路の出力信号がクロッ
クに接続されている順序回路を他の順序回路に先行して
論理シミュレーションを実行することができる。このこ
とにより、ラッチ抜けの発生しない論理シミュレーショ
ンを実行することができる。したがって、設計者はラッ
チ抜けによる期待値照合の不一致や論理回路の遅延時間
を含むシミュレーション結果と不一致の検証に時間を費
やす必要がなくなり、検証期間を大幅に短縮できると同
時に高精度な論理シミュレーション装置を提供する。
【0042】また、また本実施の形態ではVerilog HDL
を例に述べたが遅延時間をゼロとしたハードウェアの動
作を模擬する記述であれば他の言語であってもよい。ま
た、本実施の形態では表記「<<=」を用いたが論理シ
ミュレーションの順序を決定する表記であれば他の表記
であってもよい。また本実施の形態では先行シミュレー
ションの表記として「<<=」を用いたが論理シミュレ
ーションの順序を決定する表記を複数種類持っていても
よい。
【0043】(第3の実施の形態)図10は第3の実施
の形態の論理シミュレーション装置を示す。HDL記述
回路情報ファイル1は、HDL言語で記述された論理回
路の機能と論理回路間の接続情報を含む。選別手段10
2は、HDL記述回路情報ファイル1からクロック名と
入力信号および出力信号名を含む順序回路を抽出する抽
出部11とおよび、抽出されたクロック名と順序回路を
記憶する記憶部13および、クロック名と順序回路の出
力信号名とを比較し、クロック名と順序回路の出力信号
名が不一致となる順序回路を選別する選別部115およ
び、選別部115により選別された順序回路を記憶する
不一致順序回路記憶部116を有する。付加手段103
は、遅延時間情報を記憶している遅延時間記憶部117
および、選別手段102により選別された順序回路に遅
延時間情報を付加する遅延時間情報付加部118を有す
る。実行手段104は、論理シミュレーションを実行す
る論理シミュレーション部119を有する。格納手段1
05は、シミュレーション結果を格納するシミュレーシ
ョン結果格納部120を有する。
【0044】図11は図10の選別手段102と付加手
段103の動作を示すフローチャートである。HDL記
述回路情報ファイル1からクロック名と入力信号および
出力信号名を含む順序回路を抽出する抽出ステップ2
2、抽出されたクロック名と順序回路を記憶する記憶ス
テップ23においてクロック名および順序回路が抽出、
記憶される。次に比較ステップ110において記憶され
た順序回路の出力信号名とクロック名が比較され、一致
したYesの場合にはつぎの順序回路の比較を行うため更
新ステップ27を実行する。比較ステップ110におい
て、一致しなかったNoの場合、不一致となった順序回路
の出力に遅延時間情報を付加し、HDL記述回路情報ファ
イルに格納する付加ステップ111を実行する。次に、
順序回路のリストが終了したかどうかを判定し、No(未
終了)の場合は、つぎの順序回路の比較を行うため更新
ステップ27を実行し、順序回路の更新を判定がYesに
なるまでくり返す。判定ステップ29においてYesの場
合、クロック名リストが終了したかどうかを判定する判
定ステップ210を実行し、No(未終了)の場合、次の
クロック名に更新する更新ステップ211を実行し、Ye
s(終了)の場合は順序回路の選別と遅延時間情報の付
加の動作を終了する。
【0045】以上の手順で順序回路の出力信号がクロッ
クでない順序回路に対して遅延時間情報が付加されたHD
L記述回路情報ファイルが作成され、このHDL記述回路情
報ファイルを使って、通常の論理シミュレーションを実
行することにより、順序回路の出力信号がクロックであ
る順序回路の論理シミュレーションを順序回路の出力信
号がクロックでない他の順序回路に先行し論理シミュレ
ーションを行うことができる。
【0046】したがって、設計者はラッチ抜けによる期
待値照合の不一致や遅延情報を含むシミュレーション結
果と不一致などに時間を費やす必要がなくなり、検証期
間を大幅に短縮できると同時に高精度な論理シミュレー
ション装置を提供する。
【0047】なお、本発明の実施の形態では、LSIの
論理シミュレーションについて述べたが、ボードに組み
込まれた論理回路等の論理シミュレーションについても
適応できる。
【0048】
【発明の効果】本発明の論理シミュレーション装置およ
び方法は、HDL言語で記述された回路情報ファイル
と、前記HDL記述回路情報ファイルから読み出された順
序回路の中から、順序回路の出力信号が次段の順序回路
のクロックとなっている順序回路と順序回路の出力信号
が次段の順序回路のクロックでない他の順序回路とを選
別する選別手段と、前記選別手段により選別された順序
回路の出力信号がクロックとなっている順序回路および
前記順序回路に接続する前記論理回路の論理シミュレー
ションを前記他の順序回路に先行し、前記論理シミュレ
ーションの実行により発生したイベントに基づく前記順
序回路及び前記論理回路の論理シミュレーションを実行
し、イベントが発生しなくなるまで繰り返し実行する先
行手段と、前記先行手段によりイベントが発生しなくな
った後に前記他の順序回路および論理回路の論理シミュ
レーションを実行し、前記論理シミュレーションにより
発生したイベントに基づき前記他の順序回路および論理
回路の論理シミュレーションを続いて実行する続行手段
を備えることを特徴とする論理シミュレーションであ
る。この構造により、従来の論理シミュレーション装置
において発生した順序回路のデータの入力と同時にデー
タを出力してしまうラッチ抜けのような実動作とは異な
る動作を模擬することを防ぎ、実動作を忠実に模擬する
ことを可能とする。したがって、設計者はラッチ抜けに
よる期待値照合の不一致や遅延時間情報を含むシミュレ
ーション結果と不一致などによる検証に時間を費やす必
要がなくなり、検証期間を大幅に短縮できると同時に高
精度な論理シミュレーション装置を提供する。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態における論理シミュ
レーション装置を示す図
【図2】図1の選別手段の動作を示すフローチャート
【図3】図1の先行手段および続行手段の論理シミュレ
ーションの動作を示すフローチャート
【図4】LSIの具体的な回路例を示す図
【図5】論理シミュレーションのタイミングチャート
【図6】本発明による論理シミュレーションのタイミン
グチャート
【図7】図4の回路のVerilogHDL記述例を示す図
【図8】代入文選別手段の動作を示すフローチャート
【図9】論理シミュレーションの実行手段の動作を示す
フローチャート
【図10】第3の実施の形態における論理シミュレーシ
ョン装置を示す図
【図11】図10の選別手段と付加手段の動作を示すフ
ローチャート
【符号の説明】
1 HDL記述回路情報ファイル 2 選別手段 3 先行手段 4 続行手段 5 格納手段 11 抽出部 13 記憶部 15 選別部 16 先行順序回路記憶部 17 入力信号一時記憶部 18 先行論理シミュレーション部 19 続行論理シミュレーション部 20,120 シミュレーション結果格納部 22,24 抽出ステップ 26,110 比較ステップ 27,211,40,82 更新ステップ 23,25,28,33,83 記憶ステップ 29,210,34,81,84,91 判定ステップ 31,36,38 検出ステップ 32,35,37 実行ステップ 39 終了ステップ 51,52 立ち上がりエッジ 71,72 順序回路の定義 73 回路情報 102 選別手段 103 付加手段 104 実行手段 105 格納手段 111 付加ステップ 115 選別部 116 不一致順序回路記憶部 117 遅延時間記憶部 118 遅延時間情報付加部 119 論理シミュレーション部

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 論理回路の動作を模擬する論理シミュレ
    ーション装置において、前記論理回路の機能がハードウ
    エア記述言語で記述された回路情報ファイルと、前記回
    路情報ファイルより読み出された順序回路の中から順序
    回路の出力信号が次段の順序回路のクロックに接続され
    ている順序回路を選別する選別部と前記選別部により選
    別された前記順序回路を先行順序回路として記憶する記
    憶部を有する選別手段と、 前記選別手段により記憶された前記順序回路および前記
    順序回路に接続する論理回路の論理シミュレーションを
    他の順序回路に先行する先行手段と、 前記先行手段において論理シミュレーションを行ってい
    ない前記他の順序回路および前記他の順序回路に接続す
    る論理回路の論理シミュレーションを実行する続行手段
    を備え、 前記論理回路のクロック端子に入力するクロックの変化
    に基づき発生するイベントにより論理シミュレーション
    を前記先行手段と前記続行手段において実行し、前記ク
    ロック端子に入力するクロックが設定された時刻に達す
    るまで論理シミュレーションを前記先行手段と前記続行
    手段において繰り返し実行することを特徴とする論理シ
    ミュレーション装置。
  2. 【請求項2】 前記選別手段は、前記回路情報ファイル
    からクロック名と入力信号および出力信号名を含む順序
    回路を抽出する抽出部と、 前記抽出部により抽出された前記クロック名と前記順序
    回路を記憶する記憶部と、 前記記憶部に記憶された前記クロック名と前記順序回路
    の出力信号名を比較し、前記クロック名と前記順序回路
    の出力信号名が一致する順序回路を選別する選別部と、 前記選別部により選別された前記先行順序回路を記憶す
    る先行順序回路記憶部とを備えたことを特徴とする請求
    項1記載の論理シミュレーション装置。
  3. 【請求項3】 前記回路情報ファイルは、論理シミュレ
    ーションを実行する順序を決めるための表記を複数種類
    有するハードウエア記述言語により、順序回路の信号伝
    達を記述する代入文が記述されていることを特徴とする
    請求項1記載の論理シミュレーション装置。
  4. 【請求項4】 論理回路の動作を模擬する論理シミュレ
    ーション装置において、論理回路の機能がハードウエア
    記述言語で記述された回路情報ファイルと、 前記回路情報ファイルを読み出しクロック名と入力信号
    および出力信号名を含む順序回路を抽出する抽出部と、
    前記抽出部により抽出された前記クロック名と前記順序
    回路を記憶する記憶部と、前記記憶部に記憶された前記
    クロック名と前記順序回路の出力信号名を比較し、前記
    クロック名と前記順序回路の出力信号名が不一致となる
    不一致順序回路を選別する選別部と、前記選別部により
    選別された前記不一致順序回路を記憶する不一致順序回
    路記憶部とを有する選別手段と、 前記不一致順序回路記憶部に記憶された前記不一致順序
    回路に遅延情報を付加する遅延付加手段とを備えること
    を特徴とする論理シミュレーション装置。
  5. 【請求項5】 論理回路の機能がハードウェア記述言語
    で記述された回路情報ファイルを読み出し、前記回路情
    報ファイルの中からクロック名と入力信号および出力信
    号名を含む順序回路を抽出する抽出ステップと、 前記抽出ステップにより抽出された前記クロック名と前
    記順序回路を記憶する記憶ステップと、 前記記憶ステップにより記憶された前記クロック名と前
    記順序回路の出力信号名を比較し、前記クロック名と前
    記順序回路の出力信号名が一致する順序回路を選別する
    選別ステップと、 前記選別ステップにより選別された前記クロック名と前
    記順序回路の出力信号名が一致する順序回路を先行して
    論理シミュレーションをする先行順序回路として記憶す
    る先行順序回路記憶ステップと、 前記先行順序回路記憶ステップにおいて記憶された前記
    先行順序回路および前記先行順序回路に接続する論理回
    路の論理シミュレーションを他の順序回路に先行する先
    行シミュレーションステップと、 前記先行シミュレーションステップにおいて論理シミュ
    レーションを行っていない前記他の順序回路および論理
    回路の論理シミュレーションを続いて実行する続行シミ
    ュレーションステップとを有し、 前記論理回路に入力されるクロックの変化により発生す
    るイベントに基づく論理シミュレーションを、前記先行
    シミュレーションステップと前記続行シミュレーション
    ステップにおいて実行し、 前記クロックの入力が設定した時刻に到達するまで論理
    シミュレーションを前記先行シミュレーションステップ
    と前記続行シミュレーションステップにおいて繰り返し
    実行することを特徴とする論理シミュレーション方法。
  6. 【請求項6】 論理シミュレーションを実行する順序を
    決めるための表記を複数種類有するハードウェア記述言
    語により順序回路の信号伝達を記述する代入文が記述さ
    れた論理回路の回路情報ファイルから、論理シミュレー
    ションを先行する順序回路を選別する選別ステップと、 前記選別ステップにより選別された前記順序回路の論理
    シミュレーションを先行する先行順序回路として記憶す
    る記憶ステップと、 前記記憶ステップにおいて記憶された前記先行順序回路
    および前記先行順序回路に接続する論理回路の論理シミ
    ュレーションを先行する先行シミュレーションステップ
    と、 前記先行シミュレーションステップにおいて論理シミュ
    レーションを行っていない他の順序回路および論理回路
    の論理シミュレーションを続いて実行する続行シミュレ
    ーションステップとを有し、 前記論理回路に入力されるクロックの変化により発生す
    るイベントに基づく論理シミュレーションを、前記先行
    シミュレーションステップと前記続行シミュレーション
    ステップにおいて実行し、 前記クロックの入力が設定した時刻に到達するまで論理
    シミュレーションを前記先行シミュレーションステップ
    と前記続行シミュレーションステップにおいて繰り返し
    実行することを特徴とする論理シミュレーション方法。
JP2001224132A 2001-07-25 2001-07-25 論理シミュレーション装置およびその方法 Pending JP2003036283A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001224132A JP2003036283A (ja) 2001-07-25 2001-07-25 論理シミュレーション装置およびその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001224132A JP2003036283A (ja) 2001-07-25 2001-07-25 論理シミュレーション装置およびその方法

Publications (1)

Publication Number Publication Date
JP2003036283A true JP2003036283A (ja) 2003-02-07

Family

ID=19057352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001224132A Pending JP2003036283A (ja) 2001-07-25 2001-07-25 論理シミュレーション装置およびその方法

Country Status (1)

Country Link
JP (1) JP2003036283A (ja)

Similar Documents

Publication Publication Date Title
KR20060005286A (ko) 검증결과 재활용 기법을 채용한 고성능 설계검증 장치 및이를 활용한 신속한 설계검증 방법
JPH1185810A (ja) 半導体集積回路の論理回路検証装置および論理回路検証装置における論理回路検証方法
JP2000268080A (ja) 静的・動的タイミング検証方法及び記憶媒体
US6557150B1 (en) Method of extracting timing characteristics of transistor circuits, storage medium storing timing characteristic library, LSI designing method, and gate extraction method
CN115293084A (zh) 一种门级网表跨时钟域自动化分析方法及系统
JP2921502B2 (ja) 順序回路の故障箇所推定方法
US20080126066A1 (en) Method for Modeling an HDL Design Using Symbolic Simulation
US8943457B2 (en) Simulating scan tests with reduced resources
JP2003036283A (ja) 論理シミュレーション装置およびその方法
Plassan et al. Conclusively verifying clock-domain crossings in very large hardware designs
JP2002259488A (ja) クロックスキュー検証方法
US20050222832A1 (en) Asynchronous clock domain crossing jitter randomiser
JP3265384B2 (ja) 論理シミュレーション方法及びこれに用いる論理シミュレーション装置
JP5145167B2 (ja) クロックドメインチェック方法及びクロックドメインチェック用プログラム並びに記録媒体
JP2010257003A (ja) 論理等価性検証システム、論理等価性検証方法、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体
JP2845154B2 (ja) 論理シミュレーション用モデルの作成方法
JP3171236B2 (ja) 入力端子競合パターン検出システム
US7213222B2 (en) Method of HDL simulation considering hard macro core with negative setup/hold time
JP2996153B2 (ja) Asic検証方法
JP3652220B2 (ja) 論理回路検証装置及び論理回路検証方法及び論理回路検証プログラムを格納した記録媒体
JP2785708B2 (ja) 論理シミュレーション方法
JP2990813B2 (ja) 故障シミュレーション方法
JP2830579B2 (ja) 論理シミュレーション装置
Zimmer Getting DDRs “write”–the 1x output circuit revisited
JPH056409A (ja) 論理回路生成装置及び論理回路生成方法