JP5056856B2 - 論理回路モデルの検証方法及び装置 - Google Patents

論理回路モデルの検証方法及び装置 Download PDF

Info

Publication number
JP5056856B2
JP5056856B2 JP2009537814A JP2009537814A JP5056856B2 JP 5056856 B2 JP5056856 B2 JP 5056856B2 JP 2009537814 A JP2009537814 A JP 2009537814A JP 2009537814 A JP2009537814 A JP 2009537814A JP 5056856 B2 JP5056856 B2 JP 5056856B2
Authority
JP
Japan
Prior art keywords
value
logical
circuit model
logic circuit
logic
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
JP2009537814A
Other languages
English (en)
Other versions
JPWO2009050805A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2009050805A1 publication Critical patent/JPWO2009050805A1/ja
Application granted granted Critical
Publication of JP5056856B2 publication Critical patent/JP5056856B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318502Test of Combinational circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、半導体装置の設計で用いられる論理回路モデルの検証方法及び動作検証装置に関し、特に論理シミュレータによりゲートレベルの論理回路モデルの動作を検証する論理回路モデルの検証方法及び装置に関する。
従来、コンピュータ支援による大規模集積回路の設計作業にあっては、システム設計、機能設計、論理設計、レイアウト設計といった処理過程を経て最終的にマスクデータを生成するようにしている。
このうち論理設計にあっては、機能設計で生成されたRTL(Register Transfer Level)の論理回路から論理合成ツールを使用してゲートレベル論理回路(ネットリスト)を生成し、論理シミュレータにより動作を確認している。
このような論理シミュレータは、通常、イベントドリブン方式のシミュレーションを行う。イベントドリブン方式のシミュレーションは、信号の変化(イベント)のある論理ゲートなどの素子(プリミティブ)に着目し、イベントの発生した素子の次段の素子のみを真理値表に基づいて演算し、素子の出力が変化している場合に、信号の変化を次段に順次伝え、ターゲットとした素子に設定した期待値が得られるか否か検証している。
従来の論理シミュレータが用いるステートは、通常、0,1,X,Zの4値である。ここで、Xは不定、Zは高インピーダンスである。
これら4値のステートを用いてパスの接続検証や値の伝播確認などを行う場合は、ドライバとなるピンに値を設定して、複数回シミュレーションを行って検証する。

特開平6−314185号公報
しかしながら、このような従来の論理シミュレータにあっては、例えばパスの1対N活性化チェックを行う場合、ドライバであるピンに0又は1をスケジュールし、レシーバであるチェック対象のピンに期待している値が到達しているかをチェックするため、あるパスの活性化試験を行うには、期待値0,1と2つ用意し、2度シミュレーションが行う必要がある。また通常の4値ステートでは、本当に伝播元の値が伝播先に到達しているかを検証するのが非常に困難である。
またパスの貫通確認検証(貫通チェック)を行う場合には、ドライバであるピンに0又は1をスケジュールしても、他パスからの論理から伝播ステートがXになってしまったり、また回路が複雑になればなるほど本当にドライバのピンから値が到達しているかを判断することが非常に難しく、検証に手間と時間がかかるという問題がある。
本発明は、ゲートレベルの論理回路モデルにおける論理シミュレーションの効率化と検証結果を容易に確認可能とする論理回路モデルの検証方法及び装置を提供することを目的とする。
本発明は論理回路モデルの検証方法を提供する。本発明は、論理回路モデルの入力に所定の論理値の組み合わせによるテストパターンを与え、論理回路モデルの出力と前記テストパターンに対する期待値とを比較して論理回路モデルの動作を検証する論理回路モデルの検証方法において、
論理回路モデルに、0又は1を表す第1の論理値Aと、第1の論理値Aのそれぞれに対応する反転値として1又は0を表す第2の論理値Bとの組み合わせによるテストパターンを与えるステップと、
論理回路モデルを用いて論理演算を行い、論理回路モデルの出力を算出するステップと、
論理回路モデルの出力とテストパターンに対する期待値とを比較するステップと、
論理回路モデルの出力と期待値とが等しい場合には、論理回路モデルの動作が正しいと判断するステップとを有することを特徴とする。
ここで、論理回路モデルの出力を算出するステップは、第1の論理値Aが0を表す場合には第2の論理値Bは1を表し、第1の論理値Aが1を表す場合には第2の論理値Bは0を表すものとして、論理回路モデルの論理演算を行う。
所定の論理値組み合わせは、0、1、第1の不定値X又は高インピーダンスZのいずれかの組み合わせである。
本発明の検証方法はさらに、
第1の不定値Xとは異なる第2の不定値を表す第3の論理値Kを有し、
第3の論理値Kは、
論理積演算回路(ANDゲート)における一の入力の論理値が0である場合に、論理積演算回路の他の入力の論理値として第3の論理値Kが入力されたとき、論理積演算回路が0を出力し、
論理積演算回路における一の入力の論理値が1、第1の不定値X又は高インピーダンスZのいずれかである場合に、論理積演算回路の他の入力の論理値として第3の論理値Kが入力されたとき、論理積演算回路が第3の論理値Kを出力する。
本発明の検証方法はさらに、
第1の不定値Xとは異なる第2の不定値を表す第3の論理値Kを有し、
第3の論理値Kは、
論理和演算回路(ORゲート)における一の入力の論理値が1である場合に、論理和演算回路の他の入力の論理値として第3の論理値Kが入力されたとき、論理和演算回路が1を出力し、
論理和演算回路における一の入力の論理値が0、第1の不定値X又は高インピーダンスZのいずれかである場合に、論理和演算回路の他の入力の論理値として第3の論理値Kが入力されたとき、論理和演算回路が第3の論理値Kを出力する。
本発明の検証方法はさらに、
第1の不定値Xとは異なる第2の不定値を表す第3の論理値Kを有し、
第3の論理値Kは、
排他的論理和演算回路(EORゲート)における一の入力の論理値が0、1、第1の不定値X又は高インピーダンスZのいずれかである場合に、排他的論理和演算回路の他の入力の論理値として第3の論理値Kが入力されたとき、排他的論理和演算回路が第3の論理値Kを出力する。
本発明の検証方法はさらに、
第1の不定値Xとは異なる第2の不定値を表す第3の論理値Kを有し、
第3の論理値Kは、
2つの出力を結合した場合における出力の論理値を演算するドット演算において、
一の出力が0、1、第1の不定値X又は高インピーダンスZのいずれかである場合に、第3の論理値Kを他の出力の論理値としたときに第3の論理値Kが出力される。
(装置)
本発明は論理回路モデルの検証装置を提供する。本発明は、論理回路モデルの入力に所定の論理値の組み合わせによるテストパターンを与え、論理回路モデルの出力とテストパターンに対する期待値とを比較して論理回路モデルの動作を検証する論理回路モデルの動作検証装置において、
論理回路モデルに、0又は1を表す第1の論理値Aと、第1の論理値のそれぞれに対応する反転値として1又は0を表す第2の論理値Bとの組み合わせによるテストパターンを与えるスケジュール部と、
論理回路モデルを用いて論理演算を行い、論理回路モデルの出力を算出する出力算出部と、
論理回路モデルの出力とテストパターンに対する期待値とを比較する比較部と、
論理回路モデルの出力と期待値とが等しい場合には、論理回路モデルの動作が正しいと判断する判断部とを有することを特徴とする。
本発明によれば、0、1、第1の不定値X又は高インピーダンスZの4値に加え、特殊ステートとして、0又は1を表す第1の論理値Aと、第1の論理値Aのそれぞれに対応する反転値として1又は0を表す第2の論理値Bとの組み合わせによるテストパターンを論理回路モデルに与えて出力を算出することにより、単独パスの活性化検証で0,1のテストパターンで必要とした2回のシミュレーションを1回で済ますことができ、また1対Nの複数パスの活性化検証で0,1のテストパターンで必要としたN回のシミュレーションを1回で済ますことができる。
また、第1の不定値Xとは異なる第2の不定値を表す特殊ステートとして第3の論理値Kを設けてソースからターゲットまでのパスの貫通確認検証を行うことで、0,1,X,Zの4値のステートでは、ソースに設定した値が途中で変化してしまったり、ターゲットの値が同じであってもソースから正しく伝播してきたのかを確認することが非常に困難であったが、特殊ステートである第3の論理値Kを伝播させることで、0,1,X,Zの4値のステートと明確に区別でき、ターゲットの入力ピンに第3の論理値Kが到達していることで、容易に貫通確認検証ができる。
このように0,1,X,Zの4値のステートに対し本発明によるA,B,Kの値の特殊ステートを追加した真理値表を使用して論理回路モデルの動作を確認することにより、シミュレーション回数の削減、接続や伝播チェックの容易化、論理検証の効率化、デザインルールチェック(DRC)確認の容易化が実現できる。
本願発明者は、従来の4値ステートの真理値表と本発明による特殊ステートの3値を加えた7値ステートの真理値表とを用いたシミュレーション結果を比較したところ、検証時間は約1/3に短縮でき、制御言語記述量として定義される制御性は約20パーセント削減できることが確認されている。
また、本発明による特殊ステートの追加によって、論理シミュレーションの検証効率化、接続チェックなどのDRCが容易に確認可能になるため、論理検証(TAT)の短縮化が可能となる。
更に、本発明による特殊ステートの追加をDFT(Design For Test)の分野に適用することも可能であり、これにより通常論理だけでなく、テスト回路の品質向上も可能となる。
本実施形態が適用される回路設計CADシステムを示した説明図 図1に設けたイベントドリブン方式の論理シミュレータを使用する本実施形態の動作検証部の詳細を示した説明図 本実施形態における追加特殊ステートの定義を示した説明図 図2のシミュレーション実行部のプログラム構造を示した説明図 本実施形態のプログラムが実行されるコンピュータのハードウェア環境を示したブロック図 本実施形態におけるバッファの真理値表を示した説明図 本実施形態におけるインバータの真理値表を示した説明図 本実施形態における論理積演算回路(ANDゲート)の真理値表を示した説明図 本実施形態における論理和演算回路(ORゲート)の真理値表を示した説明図 本実施形態における排他的論理和演算回路(EORゲート)の真理値表を示した説明図 本実施形態におけるドット演算回路の真理値表を示した説明図 活性化検証を行う単独パスの一例を示した回路図 通常の4値のステートを用いた単独パスに対する従来の活性化検証を示した回路図 本実施形態の特殊ステートを用いた単独パスに対する活性化検証を示した回路図 本実施形態の特殊ステートを用いた複数パスに対する活性化検証を示した回路図 本実施形態の特殊ステートを用いたパスの貫通確認検証を示した回路図 本実施形態の論理シミュレータで用いるシミュレーションテーブルを示した説明図 2入力1出力のANDゲートのシミュレーションテーブルを示した説明図 本実施形態の論理シミュレータにおけるスケジュール機能を示した説明図 本実施形態の論理シミュレータにおけるシミュレーション実行機能を示した説明図 図20に続くシミュレーション実行機能を示した説明図 図21に続くシミュレーション実行機能を示した説明図 本実施形態の論理シミュレータにおけるシミュレーション実行処理を示したフローチャート
図1は本実施形態による論理回路モデルの検証方法が適用される回路設計CADシステムを示した説明図である。図1において、回路設計CADシステムは、システム設計部10、機能設計部12、論理設計部14、レイアウト設計部16、レイアウト設計検証部18及びマスクデータ作成部20で構成される。
システム設計部10は、設計対象とするLSI全体をどのような機能のブロックに分けてどのように動作させるかを決定し、方式シミュレータと呼ばれるシミュレータが使用される。
機能設計部12は、レジスタトランスファーレベル(RTL)でLSIの機能ブロック内部の構造と動作を決定する設計を行うもので、設計結果の検証には機能シミュレータが使用される。
論理設計部14はネットリストとして知られたゲートレベル論理回路の設計を行い、動作確認に本実施形態にあってはイベントドリブン方式の論理シミュレータを使用している。
レイアウト設計部16は、回路図を物理的な形状と寸法を持つ素子の配置配線に変換する処理であり、自動設計に対応した配置配線プログラムなどが使用される。
レイアウト設計検証部18は、設計されたレイアウトに設計誤りがないかを調べる検証であり、設計寸法の規則違反を調べるデザインルールチェック(DRC)、結線誤りを調べる結線チェック、トランジスタなどの回路素子の電気的ルールチェックなどを行う。
マスクデータ作成部20は、レイアウト設計検証の済んだデータからマスクデータ作成プログラムによりマスクデータを作成する。
本実施形態の論理設計部14は、詳細には、RTL記述論理回路データベース22、マイクロセルライブラリ24、論理機能検証部26、論理回路合成部28、ゲートレベル論理回路データベース30、論理機能等価検証部32及び動作検証部34を備えている。
RTL記述論理回路データベース22には、機能設計部12で設計されたRTL記述論理回路が格納されており、これを対象に論理機能検証部26で論理シミュレータを使用して論理機能を検証する。続いて、論理合成ツールとして得られた論理回路合成部28により、RTL記述論理回路をゲートレベル論理回路(ネットリスト)に変換し、ゲートレベル論理回路データベース30に格納する。
ゲートレベル論理回路データベース30のゲートレベル論理回路に対しては論理機能等価検証部32により検証が行われ、もし誤りがあれば、この誤り結果はRTL記述論理回路データベース22に反映される。
本実施形態の対象となる動作検証部34は、ゲートレベル論理回路データベース30に格納されたゲートレベル論理回路(論理回路モデル)を対象にテストパターンを使用して動作を確認するための検証を行い、本実施形態にあってはイベントドリブン方式の論理シミュレータを使用している。
なお論理機能検証部26及び動作検証部34に対しては、マイクロセルライブラリ24よりインバータ、バッファ、ORゲート、ANDゲート、EORゲート、ドットゲートなどの回路素子の最小単位であるプリミティブに関する情報が与えられる。
図2は図1の論理設計部14に設けた本実施形態のイベントドリブン方式の論理シミュレータを使用した動作検証部34の詳細を示した説明図である。
図2の動作検証部34は、ゲートレベル論理回路データベース30、シミュレーションモデル生成部38、シミュレーションモデルデータベース40、シミュレータ用真理値定義ファイル42、シミュレーション制御言語ファイル44、シミュレーション実行部46及び結果表示部48を備えている。
シミュレーションモデル生成部38は、ゲートレベル論理回路データベース30からシミュレーションに必要な論理情報を取り出し、シミュレーション実行部46で実行可能なプリミティブレベル(基本ゲート)のシミュレーションモデルに変換し、シミュレーションモデルデータベース40に格納する。
続いて、シミュレーション実行部46がシミュレーション制御言語ファイル44に格納されているシミュレーションモデルデータベース40の対象シミュレーション回路に入力するテストパターンの記述、シミュレーション処理手順、及びチェックなどを記述したシミュレーション制御言語と、シミュレータ用真理値定義ファイル42に格納している本実施形態により拡張したシミュレータ用定義ファイルを用いてシミュレーションを実行する。シミュレーション実行部46の実行結果は結果表示部48に出力表示され、実行結果を確認可能とする。
シミュレータ用真理値定義ファイル42には、通常の4値のステート即ち0,1、Z(高インピーダンス)及びX(不定値)に加え、本実施形態で新たに追加した特殊ステートとして、第1の論理値A、第2の論理値B及び第3の論理値Kを含む7値のステートを用いたプリミティブとなる基本ゲートの真理値表、即ちバッファ、インバータ、ANDゲート、ORゲート、EORゲート及びドットゲートの真理値表を格納している。
図3は本実施形態における追加特殊ステートの定義を示した説明図である。図3において、本実施形態の追加特殊ステート定義ファイル90は、特殊ステートとして第1の論理値A、第2の論理値B及び第3の論理値Kを設定している。
第1の論理値Aは0または1を表す論理値であり、これに対し第2の論理値Bは第1の論理値Aのそれぞれに対応する反転値として1または0を表している。
更に第3の論理値Kは、通常の不定値Xより強い不定値Xと定義される。なお、以下の説明において第1の論理値A、第2の論理値B及び第3の論理値Kを、特殊ステートA,B,Kと記載する。
再び図2を参照するに、シミュレーション実行部46は、シミュレータ用真理値定義ファイル42に定義されている通常の4値のステート0,1,Z,Xに、図3のように追加した本実施形態の特殊ステートA,B,Kを加えた7値のステートを用いたプリミティブ(基本ゲート)の真理値表を用いて、シミュレーションモデルデータベース40の論理回路モデルを対象に動作を検証する。
このため、シミュレーション実行部46に設けたスケジュール部50は、検証対象とする論理回路モデルに、0または1を表す特殊ステートAと、特殊ステートAのそれぞれに対応する反転値として1または0を表す特殊ステートBを含むテストパターンによるシミュレーションの実行をスケジュールする。
出力算出部52は、シミュレーションモデルデータベース40から得られた論理回路モデルに対し、テストパターンに基づく論理演算を行い、論理回路モデルの出力を算出する。比較部54は、論理回路モデルとテストパターンに対する期待値とを比較する。更に、判断部56は、論理回路モデルの出力と期待値とが等しい場合に、対象としている論理回路モデルの動作が正しいと判断し、判断結果を結果表示部48に出力表示させる。
図4は図2の動作検証部34に設けたシミュレーション実行部46のプログラム構造を示した説明図である。
図4のイベントドリブン方式のシミュレーション実行プログラムにあっては、外部関数58により呼び出されるプログラムとして、シミュレーション環境初期化制御モジュール60、時刻管理待ち行列イベントクリア制御モジュール62、スケジュール制御モジュール64、シミュレーション実行制御モジュール66及びシミュレーション環境終了化制御モジュール68を備えている。
このようなプログラムモジュールの構成を持つシミュレーション実行プログラムはイベントドリブン型として知られており、イベントドリブン型のシミュレーション実行プログラムにあっては、信号の変化となるイベントのある論理ゲートなどの基本ゲート(プリミティブ)に着目し、イベントの発生した素子の次段の素子のみを真理値表に基づいて演算し、素子の出力が変化している場合に信号の変化を次段に順次伝え、ターゲットとした素子に設定した期待値が得られるか否かを検証している。
図5は本実施形態のプログラムが実行されるコンピュータのハードウェア環境を示したブロック図である。図5において、CPU70のバス72に対しては、RAM74、ROM76、ハードディスクドライブ78、キーボード82,マウス84,ディスプレイ86を接続するデバイスインタフェース80、及びネットワークアダプタ88が接続されている。
ハードディスクドライブ78には本実施形態のプログラムが格納されている。
コンピュータを起動すると、図示しないBIOSシステムのブート処理により、ハードディスクドライブ78のOSがRAM74にロードされてCPU70により実行され、OSが起動すると、ハードディスクドライブ78から本実施形態のプログラムがRAM74に読み出され、CPU70により実行されることになる。
図6は図2のシミュレータ用真理値定義ファイル42に格納される本実施形態におけるバッファ真理値表を示した説明図である。図6において、バッファ真理値表92は、入力値として通常の4値のステート0,Z,X,1に加え、本実施形態で追加した特殊ステートA,B,Kを加えた7値のステートであり、出力もそれぞれのステートに1対1に対応した出力となっている。
図7は本実施形態におけるインバータ真理値表を示した説明図である。図7のインバータ真理値表94において、入力は通常の4値のステート0,Z,X,1に、本実施形態の追加した特殊ステートA,B,Kを加えており、出力は入力を反転した値となる。
このうち入力の特殊ステートAは出力が反転により特殊ステートBとなっており、また入力の特殊ステートBは反転により出力の特殊ステートAとなっており、更に特殊ステートKは出力も同じ特殊ステートKとなっている。
図8は本実施形態におけるANDゲート真理値表を示した説明図である。図8において、ANDゲート真理値表96は2入力1出力のANDゲートを例にとっており、第1入力及び第2入力に対しては、通常の4値のステート0,Z,X,1に、本実施形態の特殊ステートA,B,Kを加えた7値のステートとしている。
ここで第1入力を特殊ステートAまたはBとし、第2入力を通常の4値のステート0,Z,X又は1とした場合の出力は、例えば第1入力を特殊ステートAとした場合には、第2入力のステート0,Z,X,1に対し出力がステート0,X,X,Aとなっており、これは通常の4値のステートの第1入力と第2入力の組合せの出力と基本的に同じである。
これに対し特殊ステートKについては、第1入力と第2入力のいずれか一方が特殊ステートKで他方がステート0の場合に出力がステート0となっている。即ち
(0,K)=(K,0)=0
となっている。それ以外の特殊ステートKとの組合せの入力については、すべて出力が特殊ステートKとなっている。
図9は本実施形態におけるORゲート真理値表を示した説明図である。図9において、ORゲート真理値表98は2入力1出力のORゲートを例にとっている。
ORゲート真理値表98にあっては、第1入力と第2入力の一方が通常の4値ステート0,Z,X,1で他方が特殊ステートAの場合、出力ステートはA,X,X,1となっており、これは通常の4値のステート0,Z,X,1の場合と同じである。この点は特殊ステートBについても同じである。
これに対し特殊ステートKについては、第1入力と第2入力のいずれか一方が特殊ステートKで他方がステート1の場合にのみ、出力がステート1となる。即ち
(1,K)=(K,1)=1
となっている。それ以外の特殊ステートKと通常のステート0,Z,X,1の入力の組合せについては、出力はすべて特殊ステートKとなっている。
図10は本実施形態におけるEORゲート(排他的論理和演算回路)真理値表を示した説明図である。図10において、EORゲートの真理値表100は2入力1出力のEORゲートを例にとっている。
EORゲート真理値表100において、第1入力と第2入力の組合せとして、いずれか一方が通常の4値のステート0,Z,X,1で他方が特殊ステートAの場合、出力のステートはA,X,X,Bとなり、これは通常の4値における一方の入力ステートを0、他方の入力ステートを0,Z,X,1のいずれかとした場合と基本的に同じである。この点は特殊ステートBについても同様である。
これに対し特殊ステートKについては、第1入力と第2入力のいずれか一方が特殊ステートKで他方が通常の4値のステート0,Z,X,1及び特殊ステートA,Bのいずれであっても、出力のステートは全て特殊ステートKとなっている。
図11は本実施形態におけるドット演算回路の真理値表を示した説明図である。図11のドットゲート真理値表102にあっては、2入力1出力のドットゲートを例にとっている。
ドットゲート真理値表102において、特殊ステートA,Bについては、第1入力と第2入力のいずれか一方が特殊ステートA,Bで、他方が通常の4値のステート0,Z,X,1及び特殊ステートA,Bのいずれかであった場合、その出力のステートはX,A,X,X,A,Xとなり、これは一方の入力をステート0または1、他方の入力をステート0,Z,X,1,A,Bとした場合と基本的に同じである。この点は特殊ステートBについても同様である。
これに対し特殊ステートKについては、第1入力と第2入力のいずれか一方を特殊ステートKとし、他方を通常の4値のステート0,Z,X,1及び特殊ステートA,B,Kとした場合のすべてについて、出力は特殊ステートKとなっている。
次に図6乃至図11に示した真理値表を用いた本実施形態の論理回路モデルの動作検証として、パスの活性化試験の確認検証の具体例を説明する。
図12は活性化検証を行う単独パスの一例を示した回路図である。この単独パスにあっては、ソース104のピン114に続いてANDゲート106を接続し、ANDゲート106に続いて、インバータ108を介してORゲート110を接続し、ORゲート110の出力をターゲット112のピン116に接続している。
図13は通常の4値のステートを用いた図12の単独パスに対する従来の活性化検証を示した回路図である。図12の単独パスに対し、活性化検証項目として
「ソース104の出力ピン114からターゲット112の入力ピン116に逆極性で活性化しているか?」
が設定されていたとする。
このような単独パスの活性化検証項目に対し、従来の4値のステート0,Z,X,1を用いた活性化検証にあっては、まず図13(A)のように、ドライバとなるソース104の出力ピン114にステート0を設定し、4値のステート0,Z,X,1を持つ真理値表を用いてシミュレーションを実行する。この場合には、レシーバとなるターゲット112の入力ピン116にステート1が伝播しており、活性化検証項目を満たしている。
続いて図13(B)に示すように、ソース104の出力ピン114にステート1を設定してシミュレーションを実行する。この場合には、レシーバとなるターゲット112の入力ピン116にステート0が伝播しており、活性化検証項目を満足している。
このように従来の4値のステート0,Z,X,1を用いた単独パスの活性化検証にあっては、ドライバとなるソースの出力ピンにステート0と1をそれぞれ設定してシミュレーションを実行する必要があることから、2回のシミュレーションが必要となる。
なお図13の例にあっては、ソース104とターゲット112の間の論理が簡単な場合であるが、論理が複雑な場合には、ソース104の出力ピン114に設定した値が、レシーバとなるターゲット112の入力ピン116に本当に伝播しているか否かを確認するのは、非常に困難な作業となる。
図14は本実施形態で追加した特殊ステートA,Bを用いた単独パスに対する活性化検証を示した回路図である。図14にあっては、ドライバとなるソース104の出力ピン114に例えば特殊ステートAを設定してシミュレーションを実行し、ターゲット112の入力ピン116に特殊ステートAの反転値である特殊ステートBが到達していることで、活性化確認が可能となる。
具体的には、ソース104の出力ピン114に特殊ステートAを設定すると、次のANDゲート106の入力は(A,1)となり、この場合の出力ステートは、図8のANDゲート真理値表からステートAとなる。続いてインバータ108により、その出力がステートBに反転する。次のORゲート110にあっては、入力が(B,0)であり、図9のORゲート真理値表98から、その出力のステートは特殊ステートBとなっている。
したがって、レシーバとなるターゲット112の入力ピン116に、ドライバとなるソース104との出力ピン114の特殊ステートAの反転値となる特殊ステートBが到達して検証項目を満足していることが確認できる。
このように図14の本実施形態の特殊ステートAまたはBを用いた単独パスの活性化検証にあっては、1回のシミュレーションで検証項目を確認することができ、更にソース104の出力ピン114に設定した特殊ステートがターゲット112の入力ピン116に伝播しているかを確認することは、特殊ステートAの反転値である特殊ステートBが伝播していることを確認すればよいことから、簡単且つ容易に確認できる。
図15は本実施形態の特殊ステートA,Bを用いた複数パスに対する活性化検証を示した回路図である。図15の複数パスにあっては、ドライバとなるソース132の出力ピン138から適宜の論理回路部134を経由して、N個のターゲット136−1〜136−Nの入力ピン140−1〜140−Nに対する1対Nの複数パスが存在している。
ここで図15の1対Nの複数パスに対する活性化検証項目を
「ソース132の出力ピン138からターゲット136−1〜136−Nのすべての入力ピン140−1〜140−Nに逆極性で活性化しているか?」
を設定したとする。
このような複数パスの活性化検証項目に対し、本実施形態にあっては、ドライバとなるソース132の出力ピン138に特殊ステートAを設定してシミュレーションを実行すると、この場合にはターゲット136−1〜136−Nのすべての入力ピン140−1〜140−Nに特殊ステートAの反転値となる特殊ステートBが到達しており、1対N複数パスの活性化検証項目を満たしていることを容易に確認することができる。
なお、図15の1対Nの複数パスに対する活性化検証については、ドライバとなるソース132の出力ピン138に特殊ステートBを設定してシミュレーションを実行し、ターゲット136−1〜136−Nのすべての入力ピン140−1〜140−Nに特殊ステートの反転値となる特殊ステートAが到達することを確認しても良い。
図16は本実施形態の特殊ステートKを用いたパス貫通確認検証を示した回路図である。図16(A)は貫通確認検証の対象となるパスの例であり、ソース118の出力ピン128からANDゲート120に入力し、途中省略している論理回路を介して、インバータ122からORゲート124に入力し、ORゲート124からレシーバとなるターゲット126の入力ピン130に接続している。
このようなパスを対象に、貫通確認検証項目として
「ターゲット126の入力ピン130は、ソース118の出力ピン128をドライバとしているか?」
が設定されたとする。
このようなパスの貫通確認検証項目に対し、通常の4値ステート0,Z,X,1では、ソース118の出力ピン128に設定した値が途中で変化してしまったり、またターゲット126の入力ピン130にソース118の出力ピン128に設定した値が到達したとしても、本当にソース118の出力ピン128から伝播してきた値かを確認することが非常に困難である。
図16(B)は本実施形態の特殊ステートKを用いた貫通確認検証を示す。この場合には、ソース118の出力ピン128に特殊ステートKを設定して、図6乃至図11に示した通常の4値のステートに3値の特殊ステートを加えた真理値表に基づくシミュレーションを実行する。
具体的には、ソース118の出力ピン128に特殊ステートKを設定すると、ANDゲート120の入力は(K,X)となり、その出力は図8のANDゲート真理値表96から特殊ステートKとなる。
更に、途中の省略した論理回路部を経由して特殊ステートKが伝播し、インバータ122の入力がKとなり、出力にもKが伝播し、最後にORゲート124の入力が(K,0)となり、その出力は図9のORゲート真理値表から特殊ステートKとなり、ターゲット126の入力ピン130に特殊ステートKが伝播している。
このように本実施形態における特殊ステートKをソース118の出力ピン128に設定して、通常の4値のステートに本実施形態で追加した3つの特殊ステートA,B,Kを加えた7値のステートによる真理値表に基づくシミュレーションを実行することで、ターゲット126の入力ピン130に特殊ステートKが到達することを確認することで、簡単且つ容易にパスの貫通確認検証を行うことができる。
次に図2に示した動作検証部34の具体的な実施形態であるイベントドリブン型の論理シミュレータの処理動作を説明する。本実施形態の動作検証部34として機能するイベントドリブン型の論理シミュレータにあっては、検証対象とするシミュレーションモデルのデータに関して、図17に示すようなデータ構造を持つシミュレーションテーブルを作成する。
図17において、具体的にはシミュレーションモデルとして、ゲート自身のステーションテーブル142と、ゲートの入出力ピンのそれぞれに対するステーションテーブル144を作成する。
ゲート自身のステーションテーブル142は、ステーションテーブル番号(以下「ST番号」という)、ゲート入力または出力の種別、ファンクション番号及びゲートディレイを登録している。ゲートの入出力ピンに関するステーションテーブル144は、ST番号、ゲート入力または出力の種別、状態値、及び同一電位ネットST番号を登録している。
図18は2入力1出力のANDゲートのシミュレーションテーブルを示した説明図である。図18において、ANDゲート146は第1入力ピンI0、第2入力ピンI1及び出力Oを持ち、それぞれST番号をST=10,11,13としている。またゲート自身のST番号はST=12としている。
ANDゲート146の右側に、ゲート自身及び入出力ピンのそれぞれに対するステーションテーブル148を示している。ステーションテーブル148において、1行目と2行目はST=10,11の第1入力ピンI0と第2入力ピンI1の内容であり、3行目がANDゲート146自身のST12に関する内容であり、更に4行目が出力OのST=13の内容である。
本実施形態のイベントドリブン型の論理シミュレータにあっては、
(1)シミュレーション値のスケジュール、
(2)シミュレーションの実行、
の2段階に分けた処理を行う。
図19はイベントドリブン型の論理シミュレータにおける制御の概略を示している。
図19(A)はスケジュール対象150の一例であり、出力ピン152にST番号としてST=100が設定されている。このようなスケジュール対象につき、図19(B)のステップS1でスケジュールファンクション関数を実行し、続いてステップS2でシミュレーション実行ファンクション関数を実行する。
ステップS1のスケジュールファンクション関数はイベント登録関数であり、例えばスケジュールファンクション関数として
「ST=100に0をスケジュール:Schd(100,0)」
であったとすると、実行段数を管理する時刻管理テーブル156の現時刻をイベントテーブル158に登録する。
イベントテーブル158に登録する内容は、スケジュールファンクション関数で与えられたST番号、ST=100とスケジュール値0の2つである。
このステップS1でスケジュールを行った時点では、スケジュール値0はステーションテーブル160−1におけるST=100のステート値には反映されず、ステート値は以前のステートXのままである。
続いてステップS2のシミュレーション実行ファンクション関数を処理する。このシミュレーション実行ファンクション関数の処理は、ステップS1のスケジュールファンクション関数の処理で与えられた1段の時刻管理テーブル156を対象に、イベントテーブル158に登録されているイベントを処理する。
即ち、ステップS2のシミュレーション実行ファンクション関数は
「登録イベントを1段実行:Exec(1)」
の処理となり、この登録イベントの1段の実行により、ステーションテーブル160−2に示すように、ST=100のステート値にスケジュールされた値「0」が反映される。
このようなステップS1のスケジュールファンクション関数の処理と、これに続くステップS2のシミュレーション実行ファンクション関数の処理を、指定された時刻管理テーブル156の段数に達するか、あるいは処理するイベントがなくなった場合に、処理を終了する。
次に図20乃至図21を参照して、本実施形態のイベントドリブン型の論理シミュレーションによる処理動作を具体的に説明する。
図20のステップS1にあっては、その下に示すバッファ164,168、インバータ166及びANDゲート170,172を含む論理回路モデルを対象に、伝播元に値をスケジュールする。
具体的には、ステップS1−1に示すように、伝播元であるバッファ164としてのBLK1の出力ピンに値0を設定し、またバッファ168であるBLK3の出力ピンに値1を設定する。
このスケジュール処理に伴い、実行段数が10段の時刻管理テーブル156の現在時刻にイベントテーブル158を登録し、イベントテーブル158の登録内容はST番号とスケジュール値の組合せでなる「11(0),31(1)」である。
続いてステップS2で時刻管理テーブル156についてシミュレーションを10段分実行し、対象ステーションテーブルにスケジュール値を反映する。この場合、対象ステーションテーブルはバッファ164の出力ピンのST=11とバッファ168の出力ピンのST=31の2つであり、それぞれS1−1で設定したスケジュール値0をST=11に反映し、スケジュール値1をST=31に反映する。
次に図21のステップS3で処理対象とするステーションテーブルのゲート番号をスタック174にプッシュする。具体的には、ステップS3−1に示すように、図20のステップS2でスケジュールしたステーションテーブルの同一ネットST番号を参照し、処理STゲートとして、図20におけるインバータ166のST=20、ANDゲート170のST=40、及びANDゲート172のST=50を取得し、それぞれスタック174に示すように、ST番号=20,40,50をプッシュして登録する。
続いてステップS4で、スタック174からポップしたステーションテーブルのゲートのプリミティブを真理値表を基にシミュレーションを動作する。
即ち、ステック174のST20からインバータ166を特定し、図7のインバータ真理値表94を基に動作する。またスタック174のST=40からANDゲート170を特定し、またST=50からANDゲート172を特定し、それぞれ図8に示したANDゲート真理値表96を基に動作する。
続いて図22のステップS5に進み、図21のステップS4で動作したプリミティブの出力でイベントの変化のあったものを、イベントテーブル158に登録する。
この場合にはステップS5−1、ステップS5−2及びステップS5−3に示すように、インバータ166、ANDゲート170,172につき動作結果が得られ、ステップS5−1,5−2のインバータ166とAND170については、動作前と動作後で値が変化していることでイベントの変化が判別され、出力ゲートのディレイを条件に、イベントテーブル158にANDゲート170についてはST=31のST番号と動作後の値1が登録され、イベントテーブル158の3行目にはANDゲート170のST番号=41と動作後の値1が登録される。
続いてステップS6でシミュレーションイベント処理終了判定を行う。この処理判定はステップS6−1に示すように、判定終了条件として
(1)指定された時刻(実行段数)のシミュレーションを実施、
(2)イベントテーブルが空、
のどちらにも当てはまらない場合は、図20のステップS2に戻り、処理を繰り返し、両方に当てはまった場合はシミュレーション処理を終了する。
図23は図20〜図22のイベントドリブン型のシミュレーション処理の処理手順をまとめて示したフローチャートである。図23において、シミュレーション処理にあっては、ステップS1で伝播元に値をスケジュールした後、ステップS2でシミュレーションを実行し、対象シミュレーションテーブルに値を反映する。
続いてステップS3で処理シミュレーションテーブルのゲート番号をスタックにプッシュした後、ステップS4でスタックからポップしたシミュレーションテーブルのゲートプリミティブの真理値表を基に動作する。続いてステップS5で、動作させたプリミティブの出力でイベントが変化したものをイベントテーブルに登録する。
続いてステップS6でシミュレーションイベント終了条件、即ち指定された実行段数の時刻シミュレーションの実施及びイベントテーブルが空となる条件を満たさない限り、ステップS2に戻り、同様な処理を繰り返し、ステップS6で処理終了条件が判定されると一連の処理を終了する。
また本発明は図5に示したコンピュータのハードウェア環境で実行されるプログラムを提供するものであり、このプログラムは図20〜図23に示したフローチャートの処理内容を備えている。また図20〜図23に示したフローチャートは同時に本実施形態における論理回路モデルの検証方法の手順を示している。
ここで本実施形態の通常の4値のステート0,Z,X,1に3値の特殊ステートA,B,Kを加えた7値のステートによるプリミティブの真理値表を用いたイベントドリブン型の論理シミュレーションによるシミュレーション結果として、次のような結果が得られている。
対象LSI:
UNIX(R)用サーバプロセッサ(SPARC64−V)
検証内容:
LSIスキャン回路設計規則(JTAG仕様に準拠したスキャン制御検証)
シミュレーション結果:
検証時間は従来比の2.5倍短縮(従来比の65%に短縮)、検証効率は制御性(制御言語記述量)を従来に対し18%削減
なお上記の実施形態にあっては、論理回路モデルの論理シミュレーションとしてイベントドリブン型を例にとるものであったが、本発明はこれに限定されず、通常の4値のステート0,Z,X,1に加え、特殊ステートであるA,B,Kの3つを加えた7値のステートによるプリミティブの真理値表を用いた論理シミュレーションであれば、適宜の論理シミュレーションを用いてもよいことはもちろんである。
また上記の実施形態にあっては、特殊ステートA,B、更に特殊ステートKの3つを加えた7値のステートによるプリミティブの真理値表を使用しているが、特殊ステートA,Bを通常の4値のステート0,Z,X,1に加えた6値の真理値表を用いてパスの活性化検証のみを行うようにしても良いし、通常の4値のステート0,Z,X,1に本実施形態の特殊ステートKを追加した5値のステートによる真理値表を用いたパスの貫通確認検証のみを行うようにしても良い。
また本発明はその目的と利点を損なうことのない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。

Claims (8)

  1. 論理回路モデルの入力に所定の論理値の組み合わせによるテストパターンを与え、前記論理回路モデルの出力と前記テストパターンに対する期待値とを比較して前記論理回路モデルの動作を検証する論理回路モデルの検証方法において、
    理回路モデルに、又は1を表す第1の論理値と、前記第1の論理値のそれぞれに対応する反転値として1又は0を表す第2の論理値と、通常の不定値である第1の不定値より強い第2の不定値を表す第3の論理値の組み合わせによるテストパターンをコンピュータによって構成したスケジュール部により与えるステップと、
    前記論理回路モデルを用いて論理演算を行い、前記論理回路モデルの出力をコンピュータによって構成した出力算出部により算出するステップと、
    前記論理回路モデルの出力と前記テストパターンに対する期待値とをコンピュータによって構成した比較部により比較するステップと、
    前記論理回路モデルの出力と前記期待値とが等しい場合には、前記論理回路モデルの動作が正しいとコンピュータによって構成した判断部によって判断するステップとを有し、
    前記第3の論理値は、
    論理積演算回路における一の入力の論理値が0である場合に、前記論理積演算回路の他の入力の論理値として前記第3の論理値が入力されたとき、前記論理積演算回路が0を出力し、
    前記論理積演算回路における一の入力の論理値が1、第1の不定値又は高インピーダンスのいずれかである場合に、前記論理積演算回路の他の入力の論理値として前記第3の論理値が入力されたとき、前記論理積演算回路が前記第3の論理値を出力することを特徴とする検証方法。
  2. 論理回路モデルの入力に所定の論理値の組み合わせによるテストパターンを与え、前記論理回路モデルの出力と前記テストパターンに対する期待値とを比較して前記論理回路モデルの動作を検証する論理回路モデルの検証方法において、
    理回路モデルに、又は1を表す第1の論理値と、前記第1の論理値のそれぞれに対応する反転値として1又は0を表す第2の論理値と、通常の不定値である第1の不定値より強い第2の不定値を表す第3の論理値の組み合わせによるテストパターンをコンピュータによって構成したスケジュール部により与えるステップと、
    前記論理回路モデルを用いて論理演算を行い、前記論理回路モデルの出力をコンピュータによって構成した出力算出部により算出するステップと、
    前記論理回路モデルの出力と前記テストパターンに対する期待値とをコンピュータによって構成した比較部により比較するステップと、
    前記論理回路モデルの出力と前記期待値とが等しい場合には、前記論理回路モデルの動作が正しいとコンピュータによって構成した判断部によって判断するステップとを有し、
    前記第3の論理値は、
    論理和演算回路における一の入力の論理値が1である場合に、前記論理和演算回路の他の入力の論理値として前記第3の論理値が入力されたとき、前記論理和演算回路が1を出力し、
    前記論理和演算回路における一の入力の論理値が0、第1の不定値又は高インピーダンスのいずれかである場合に、前記論理和演算回路の他の入力の論理値として前記第3の論理値が入力されたとき、前記論理和演算回路が前記第3の論理値を出力することを特徴とする検証方法。
  3. 論理回路モデルの入力に所定の論理値の組み合わせによるテストパターンを与え、前記論理回路モデルの出力と前記テストパターンに対する期待値とを比較して前記論理回路モデルの動作を検証する論理回路モデルの検証方法において、
    理回路モデルに、又は1を表す第1の論理値と、前記第1の論理値のそれぞれに対応する反転値として1又は0を表す第2の論理値と、通常の不定値である第1の不定値より強い第2の不定値を表す第3の論理値の組み合わせによるテストパターンをコンピュータによって構成したスケジュール部により与えるステップと、
    前記論理回路モデルを用いて論理演算を行い、前記論理回路モデルの出力をコンピュータによって構成した出力算出部により算出するステップと、
    前記論理回路モデルの出力と前記テストパターンに対する期待値とをコンピュータによって構成した比較部により比較するステップと、
    前記論理回路モデルの出力と前記期待値とが等しい場合には、前記論理回路モデルの動作が正しいとコンピュータによって構成した判断部によって判断するステップとを有し、
    前記第3の論理値は、
    前記排他的論理和演算回路における一の入力の論理値が0、1、第1の不定値又は高インピーダンスのいずれかである場合に、前記排他的論理和演算回路の他の入力の論理値として前記第3の論理値が入力されたとき、前記排他的論理和演算回路が前記第3の論理値を出力することを特徴とする検証方法。
  4. 論理回路モデルの入力に所定の論理値の組み合わせによるテストパターンを与え、前記論理回路モデルの出力と前記テストパターンに対する期待値とを比較して前記論理回路モデルの動作を検証する論理回路モデルの検証方法において、
    理回路モデルに、又は1を表す第1の論理値と、前記第1の論理値のそれぞれに対応する反転値として1又は0を表す第2の論理値と、通常の不定値である第1の不定値より強い第2の不定値を表す第3の論理値の組み合わせによるテストパターンをコンピュータによって構成したスケジュール部により与えるステップと、
    前記論理回路モデルを用いて論理演算を行い、前記論理回路モデルの出力をコンピュータによって構成した出力算出部により算出するステップと、
    前記論理回路モデルの出力と前記テストパターンに対する期待値とをコンピュータによって構成した比較部により比較するステップと、
    前記論理回路モデルの出力と前記期待値とが等しい場合には、前記論理回路モデルの動作が正しいとコンピュータによって構成した判断部によって判断するステップとを有し、
    前記第3の論理値は、
    2つの出力を結合した場合における前記出力の論理値を演算するドット演算において、
    一の出力が0、1、第1の不定値又は高インピーダンスのいずれかである場合に、前記第3の論理値を他の出力の論理値としたときに前記第3の論理値が出力されることを特徴とする検証方法。
  5. 論理回路モデルの入力に所定の論理値の組み合わせによるテストパターンを与え、前記論理回路モデルの出力と前記テストパターンに対する期待値とを比較して前記論理回路モデルの動作を検証する論理回路モデルの動作検証装置において、
    論理回路モデルに、0又は1を表す第1の論理値と、前記第1の論理値のそれぞれに対応する反転値として1又は0を表す第2の論理値と、通常の不定値である第1の不定値より強い第2の不定値を表す第3の論理値の組み合わせによるテストパターンを与えるスケジュール部と、
    前記論理回路モデルを用いて論理演算を行い、前記論理回路モデルの出力を算出する出力算出部と、
    前記論理回路モデルの出力と前記テストパターンに対する期待値とを比較する比較部と、
    前記論理回路モデルの出力と前記期待値とが等しい場合には、前記論理回路モデルの動作が正しいと判断する判断部とを有し、
    前記第3の論理値は、
    論理積演算回路における一の入力の論理値が0である場合に、前記論理積演算回路の他の入力の論理値として前記第3の論理値が入力されたとき、前記論理積演算回路が0を出力し、
    前記論理積演算回路における一の入力の論理値が1、第1の不定値又は高インピーダンスのいずれかである場合に、前記論理積演算回路の他の入力の論理値として前記第3の論理値が入力されたとき、前記論理積演算回路が前記第3の論理値を出力することを特徴とする動作検証装置。
  6. 論理回路モデルの入力に所定の論理値の組み合わせによるテストパターンを与え、前記論理回路モデルの出力と前記テストパターンに対する期待値とを比較して前記論理回路モデルの動作を検証する論理回路モデルの動作検証装置において、
    論理回路モデルに、0又は1を表す第1の論理値と、前記第1の論理値のそれぞれに対応する反転値として1又は0を表す第2の論理値と、通常の不定値である第1の不定値より強い第2の不定値を表す第3の論理値の組み合わせによるテストパターンをコンピュータによって構成したスケジュール部により与えるステップと、
    前記論理回路モデルを用いて論理演算を行い、前記論理回路モデルの出力を算出する出力算出部と、
    前記論理回路モデルの出力と前記テストパターンに対する期待値とを比較する比較部と、
    前記論理回路モデルの出力と前記期待値とが等しい場合には、前記論理回路モデルの動作が正しいと判断する判断部とを有し、
    前記第3の論理値は、
    論理和演算回路における一の入力の論理値が1である場合に、前記論理和演算回路の他の入力の論理値として前記第3の論理値が入力されたとき、前記論理和演算回路が1を出力し、
    前記論理和演算回路における一の入力の論理値が0、第1の不定値又は高インピーダンスのいずれかである場合に、前記論理和演算回路の他の入力の論理値として前記第3の論理値が入力されたとき、前記論理和演算回路が前記第3の論理値を出力することを特徴とする検証装置。
  7. 論理回路モデルの入力に所定の論理値の組み合わせによるテストパターンを与え、前記論理回路モデルの出力と前記テストパターンに対する期待値とを比較して前記論理回路モデルの動作を検証する論理回路モデルの動作検証装置において、
    論理回路モデルに、0又は1を表す第1の論理値と、前記第1の論理値のそれぞれに対応する反転値として1又は0を表す第2の論理値と、通常の不定値である第1の不定値より強い第2の不定値を表す第3の論理値の組み合わせによるテストパターンを与えるスケジュール部と、
    前記論理回路モデルを用いて論理演算を行い、前記論理回路モデルの出力を算出する出力算出部と、
    前記論理回路モデルの出力と前記テストパターンに対する期待値とを比較する比較部と、
    前記論理回路モデルの出力と前記期待値とが等しい場合には、前記論理回路モデルの動作が正しいと判断する判断部とを有し、
    前記第3の論理値は、
    前記排他的論理和演算回路における一の入力の論理値が0、1、第1の不定値又は高インピーダンスのいずれかである場合に、前記排他的論理和演算回路の他の入力の論理値として前記第3の論理値が入力されたとき、前記排他的論理和演算回路が前記第3の論理値を出力することを特徴とする動作検証装置
  8. 論理回路モデルの入力に所定の論理値の組み合わせによるテストパターンを与え、前記論理回路モデルの出力と前記テストパターンに対する期待値とを比較して前記論理回路モデルの動作を検証する論理回路モデルの動作検証装置において、
    理回路モデルに、又は1を表す第1の論理値と、前記第1の論理値のそれぞれに対応する反転値として1又は0を表す第2の論理値と、通常の不定値である第1の不定値より強い第2の不定値を表す第3の論理値の組み合わせによるテストパターンを与えるスケジュール部と、
    前記論理回路モデルを用いて論理演算を行い、前記論理回路モデルの出力を算出する出力算出部と、
    前記論理回路モデルの出力と前記テストパターンに対する期待値とを比較する比較部と 、
    前記論理回路モデルの出力と前記期待値とが等しい場合には、前記論理回路モデルの動作が正しいと判断する判断部とを有し
    前記第3の論理値は、
    2つの出力を結合した場合における前記出力の論理値を演算するドット演算において、
    一の出力が0、1、第1の不定値又は高インピーダンスのいずれかである場合に、前記第3の論理値を他の出力の論理値としたときに前記第3の論理値が出力されることを特徴とする動作検証装置。
JP2009537814A 2007-10-18 2007-10-18 論理回路モデルの検証方法及び装置 Expired - Fee Related JP5056856B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/070326 WO2009050805A1 (ja) 2007-10-18 2007-10-18 論理回路モデルの検証方法及び装置

Publications (2)

Publication Number Publication Date
JPWO2009050805A1 JPWO2009050805A1 (ja) 2011-02-24
JP5056856B2 true JP5056856B2 (ja) 2012-10-24

Family

ID=40567097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009537814A Expired - Fee Related JP5056856B2 (ja) 2007-10-18 2007-10-18 論理回路モデルの検証方法及び装置

Country Status (3)

Country Link
US (1) US20100175036A1 (ja)
JP (1) JP5056856B2 (ja)
WO (1) WO2009050805A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5432069B2 (ja) * 2010-06-14 2014-03-05 ルネサスエレクトロニクス株式会社 静的検証プログラム、静的検証装置及び静的検証方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05266117A (ja) * 1992-03-17 1993-10-15 Hitachi Ltd 双方向スイッチング素子の等価回路構成方法
JP2000338191A (ja) * 1999-05-28 2000-12-08 Nec Corp 半導体装置およびそのテスト方法
JP2005141624A (ja) * 2003-11-10 2005-06-02 Fujitsu Ltd 検証装置、検証方法およびプログラム
JP2005172549A (ja) * 2003-12-10 2005-06-30 Matsushita Electric Ind Co Ltd 半導体集積回路の検証方法及びテストパターンの作成方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3715573A (en) * 1971-04-14 1973-02-06 Ibm Failure activity determination technique in fault simulation
US3961250A (en) * 1974-05-08 1976-06-01 International Business Machines Corporation Logic network test system with simulator oriented fault test generator
JPH0218673A (ja) * 1988-07-07 1990-01-22 Toshiba Corp テスト容易化設計ルール検証装置
JP2763985B2 (ja) * 1992-04-27 1998-06-11 三菱電機株式会社 論理シミュレーション装置
US5751592A (en) * 1993-05-06 1998-05-12 Matsushita Electric Industrial Co., Ltd. Apparatus and method of supporting functional design of logic circuit and apparatus and method of verifying functional design of logic circuit
US6327686B1 (en) * 1999-04-22 2001-12-04 Compaq Computer Corporation Method for analyzing manufacturing test pattern coverage of critical delay circuit paths
US6662323B1 (en) * 1999-07-07 2003-12-09 Nec Corporation Fast error diagnosis for combinational verification
JP4365274B2 (ja) * 2004-06-18 2009-11-18 富士通株式会社 集積回路設計システム、方法及びプログラム
WO2006025412A1 (ja) * 2004-09-01 2006-03-09 Advantest Corporation 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置
JP4217220B2 (ja) * 2005-01-07 2009-01-28 富士通株式会社 検証支援プログラムおよび検証支援装置
US8365110B2 (en) * 2007-05-25 2013-01-29 The Regents Of The University Of Michigan Automatic error diagnosis and correction for RTL designs
JP2009122009A (ja) * 2007-11-16 2009-06-04 Nec Electronics Corp テスト回路
US8195995B2 (en) * 2008-07-02 2012-06-05 Infineon Technologies Ag Integrated circuit and method of protecting a circuit part of an integrated circuit
JP2010257216A (ja) * 2009-04-24 2010-11-11 Panasonic Corp 半導体集積回路のレイアウト検証方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05266117A (ja) * 1992-03-17 1993-10-15 Hitachi Ltd 双方向スイッチング素子の等価回路構成方法
JP2000338191A (ja) * 1999-05-28 2000-12-08 Nec Corp 半導体装置およびそのテスト方法
JP2005141624A (ja) * 2003-11-10 2005-06-02 Fujitsu Ltd 検証装置、検証方法およびプログラム
JP2005172549A (ja) * 2003-12-10 2005-06-30 Matsushita Electric Ind Co Ltd 半導体集積回路の検証方法及びテストパターンの作成方法

Also Published As

Publication number Publication date
JPWO2009050805A1 (ja) 2011-02-24
WO2009050805A1 (ja) 2009-04-23
US20100175036A1 (en) 2010-07-08

Similar Documents

Publication Publication Date Title
US9117044B2 (en) Hierarchical verification of clock domain crossings
US7552409B2 (en) Engineering change order process optimization
US10031986B1 (en) System and method for creating a spice deck for path-based analysis of an electronic circuit design using a stage-based technique
Su et al. Performance optimization using variable-latency design style
US8000950B2 (en) Random initialization of latches in an integrated circuit design for simulation
JP6995451B2 (ja) 回路適正化装置及び回路適正化方法
US9727668B2 (en) Delta retiming in logic simulation
TWI533154B (zh) 數位電路設計方法及相關的電腦程式產品
US9298872B2 (en) Apportioning synthesis effort for better timing closure
US7203915B2 (en) Method for retiming in the presence of verification constraints
US6718523B2 (en) Reduced pessimism clock gating tests for a timing analysis tool
US6618841B1 (en) Non-assignable signal support during formal verification of circuit designs
US9633151B1 (en) Methods, systems, and computer program product for verifying electronic designs with clock domain crossing paths
JP5056856B2 (ja) 論理回路モデルの検証方法及び装置
US8418116B2 (en) Zone-based optimization framework for performing timing and design rule optimization
US10657209B2 (en) Computing system and method of performing verification of circuit design in the computing system
US8555228B2 (en) Tool for glitch removal
TWI488063B (zh) 最佳化並驗證第一電路的設備,方法及電腦可讀取儲存媒體
Tseng et al. False coupling exploration in timing analysis
Grandhi et al. Reliability analysis of logic circuits using probabilistic techniques
US7735035B1 (en) Method and system for creating a boolean model of multi-path and multi-strength signals for verification
US7047173B1 (en) Analog signal verification using digital signatures
US8122408B2 (en) Circuit verification method for verifying circuit with timing information and logic information in library cell
US20150026652A1 (en) System, method, and computer program product for correlating transactions within a simulation of a hardware platform for post-simulation debugging
US7072819B2 (en) Method for locating functional mistakes in digital circuit designs

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120123

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120611

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120618

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: 20120703

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120716

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees