JPH0581367A - 論理シミユレータ - Google Patents
論理シミユレータInfo
- Publication number
- JPH0581367A JPH0581367A JP3242981A JP24298191A JPH0581367A JP H0581367 A JPH0581367 A JP H0581367A JP 3242981 A JP3242981 A JP 3242981A JP 24298191 A JP24298191 A JP 24298191A JP H0581367 A JPH0581367 A JP H0581367A
- Authority
- JP
- Japan
- Prior art keywords
- logic
- simulation
- gate
- stored
- unit delay
- 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.)
- Withdrawn
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
(57)【要約】
【目的】 論理シミュレータに関し、(1)シミュレー
ションの対象となる論理回路の発振を検出し、(2)テ
ストカバレージに関する情報を収集することができる論
理シミュレータを提供することを目的とする。 【構成】 (1)論理ゲートについてNおよびN+Mユ
ニットディレイ期間シミュレーションを実行した後のそ
れぞれの論理値を比較し、比較結果が異なる場合はその
論理ゲートは発振しているものと判断するように構成さ
れる。また、論理シミュレーションの入力データによ
り、検出可能な仮定故障と全仮定故障とを求め、両者を
比較することによってテストカバレージについての情報
を得るように構成される。
ションの対象となる論理回路の発振を検出し、(2)テ
ストカバレージに関する情報を収集することができる論
理シミュレータを提供することを目的とする。 【構成】 (1)論理ゲートについてNおよびN+Mユ
ニットディレイ期間シミュレーションを実行した後のそ
れぞれの論理値を比較し、比較結果が異なる場合はその
論理ゲートは発振しているものと判断するように構成さ
れる。また、論理シミュレーションの入力データによ
り、検出可能な仮定故障と全仮定故障とを求め、両者を
比較することによってテストカバレージについての情報
を得るように構成される。
Description
【0001】
【産業上の利用分野】本発明は各種の論理回路の設計品
質を向上するために使用される論理シミュレータに関
し、特に、シミュレーションの対象となる論理ゲートの
論理値が安定しない場合の検出方式および、論理シミュ
レーションのテストカバレージに関する情報の収集方式
に関する。
質を向上するために使用される論理シミュレータに関
し、特に、シミュレーションの対象となる論理ゲートの
論理値が安定しない場合の検出方式および、論理シミュ
レーションのテストカバレージに関する情報の収集方式
に関する。
【0002】論理シミュレーションは、論理回路の各ゲ
ートの入力および出力データを所定時間経過毎に収集す
ることにより、各時点での入力と出力の静的関係および
時間軸上における入出力関係の動的変化の両方に関する
情報を取得し、それによって論理回路の設計の正しさを
検証すると共に、不具合な点を抽出するものである。
ートの入力および出力データを所定時間経過毎に収集す
ることにより、各時点での入力と出力の静的関係および
時間軸上における入出力関係の動的変化の両方に関する
情報を取得し、それによって論理回路の設計の正しさを
検証すると共に、不具合な点を抽出するものである。
【0003】論理シミュレータによるシミュレーション
は、シミュレーションの対象となる論理回路を論理的に
等価に記述したシミュレーションモデルを用いて行われ
る。シミュレーションはシミュレーションモデルに外部
入力等の初期条件を与えることによって開始し、所定の
シミュレーション環境の下で所定の時間毎の各論理ゲー
トの入出力の論理値を論理シミュレータから出力(表
示、印刷等)させることによって行われる。
は、シミュレーションの対象となる論理回路を論理的に
等価に記述したシミュレーションモデルを用いて行われ
る。シミュレーションはシミュレーションモデルに外部
入力等の初期条件を与えることによって開始し、所定の
シミュレーション環境の下で所定の時間毎の各論理ゲー
トの入出力の論理値を論理シミュレータから出力(表
示、印刷等)させることによって行われる。
【0004】各時刻毎の論理シミュレータからの出力情
報によって設計ミスが検出された場合にはその時点で論
理シミュレーションは停止される。
報によって設計ミスが検出された場合にはその時点で論
理シミュレーションは停止される。
【0005】近年その使用目的によって少しずつ機能が
違う論理シミュレータが開発されてきている。例えば各
論理ゲートにユニットディレイを均一に与えて論理シミ
ュレーションを実行する論理シミュレータ等がある。こ
のような論理シミュレータはシミュレーションの実行中
論理値が安定しないゲートがあっても一定時間経った時
点(クロック周期の時間)の論理値によって設計ミスが
検出されなければ論理シミュレーションを続行する。
違う論理シミュレータが開発されてきている。例えば各
論理ゲートにユニットディレイを均一に与えて論理シミ
ュレーションを実行する論理シミュレータ等がある。こ
のような論理シミュレータはシミュレーションの実行中
論理値が安定しないゲートがあっても一定時間経った時
点(クロック周期の時間)の論理値によって設計ミスが
検出されなければ論理シミュレーションを続行する。
【0006】このような論理シミュレータはシミュレー
ション対象となる論理ゲートがユニットディレイで表現
できる場合には問題はないが、各論理ゲートがユニット
ディレイで表わせないような論理回路をシミュレーショ
ンするような場合は論理値が安定しないまま論理シミュ
レーションを続行しても、実際の回路とはかなり違った
動作となってしまうので、それ以降のシミュレーション
結果は全く意味のないものになってしまう。
ション対象となる論理ゲートがユニットディレイで表現
できる場合には問題はないが、各論理ゲートがユニット
ディレイで表わせないような論理回路をシミュレーショ
ンするような場合は論理値が安定しないまま論理シミュ
レーションを続行しても、実際の回路とはかなり違った
動作となってしまうので、それ以降のシミュレーション
結果は全く意味のないものになってしまう。
【0007】また、近年の半導体技術の進歩により、1
チップのICに数万−数十万ゲートもの回路が集積され
るようになり、その中に含まれる回路も複雑になってき
た。そのため、論理回路の全ての素子のあらゆる時点に
おける動作をシミュレーションすることは困難となり、
そのため、シミュレーション項目を限定してシミュレー
ションを行わざる得なくなってきた。
チップのICに数万−数十万ゲートもの回路が集積され
るようになり、その中に含まれる回路も複雑になってき
た。そのため、論理回路の全ての素子のあらゆる時点に
おける動作をシミュレーションすることは困難となり、
そのため、シミュレーション項目を限定してシミュレー
ションを行わざる得なくなってきた。
【0008】その際シミュレーションによって把握可能
な範囲、即ちテストカバレージを知る必要があるが、論
理シミュレーション項目も以前とは比較にならない程多
くなり、設計者がそのシミュレーション項目の全てを管
理できなくなり、従ってテストカバレージの正確な把握
も難しくなって来ている。
な範囲、即ちテストカバレージを知る必要があるが、論
理シミュレーション項目も以前とは比較にならない程多
くなり、設計者がそのシミュレーション項目の全てを管
理できなくなり、従ってテストカバレージの正確な把握
も難しくなって来ている。
【0009】
【従来の技術】論理値が安定しない論理ゲートの検出に
関して、従来は、上記のような、各論理ゲートにユニッ
トディレイを均一に与える論理シミュレータを使用して
シミュレーションする場合と特別に論理シミュレータを
開発あるいは購入して使用する場合とがあった。
関して、従来は、上記のような、各論理ゲートにユニッ
トディレイを均一に与える論理シミュレータを使用して
シミュレーションする場合と特別に論理シミュレータを
開発あるいは購入して使用する場合とがあった。
【0010】上記のような論理シミュレータを使用して
シミュレーションを実行した場合、論理回路が発振する
と、論理値が安定しない。従来はこの安定していない論
理値を次のシミュレーションの入力データとして使用
し、シミュレーションを続行していたので、シミュレー
ションの結果が論理回路の誤りを検出していても、その
原因が発振であることまで追及することは大変困難であ
り、最悪の場合は、発振しているにもかかわらず、論理
回路の誤りを検出できないという問題があった。
シミュレーションを実行した場合、論理回路が発振する
と、論理値が安定しない。従来はこの安定していない論
理値を次のシミュレーションの入力データとして使用
し、シミュレーションを続行していたので、シミュレー
ションの結果が論理回路の誤りを検出していても、その
原因が発振であることまで追及することは大変困難であ
り、最悪の場合は、発振しているにもかかわらず、論理
回路の誤りを検出できないという問題があった。
【0011】一方、シミュレーションの対象となる回路
毎にシミュレータを購入あるいは開発していたのでは費
用が増加し、シミュレーションによる効果が少なくなっ
てしまう。従って、特殊な機能を持つ論理シミュレータ
であっても、汎用性のある論理シミュレータとしての機
能も要求されている。
毎にシミュレータを購入あるいは開発していたのでは費
用が増加し、シミュレーションによる効果が少なくなっ
てしまう。従って、特殊な機能を持つ論理シミュレータ
であっても、汎用性のある論理シミュレータとしての機
能も要求されている。
【0012】テストカバレージについては、従来、論理
シミュレーションを行う場合、設計者が必要な論理シミ
ュレーション項目を挙げ、それに従って論理シミュレー
ションが行われていた。論理シミュレーションのテスト
カバレージに関する情報は特に収集せず、論理シミュレ
ーションの項目からテストカバレージを推測、判断して
いた。従って、論理シミュレーションを行ったつもりで
も、実際は行われていなかったり、論理シミュレーショ
ンの項目が抜けていたりして、設計品質が向上しないと
いう問題を有していた。
シミュレーションを行う場合、設計者が必要な論理シミ
ュレーション項目を挙げ、それに従って論理シミュレー
ションが行われていた。論理シミュレーションのテスト
カバレージに関する情報は特に収集せず、論理シミュレ
ーションの項目からテストカバレージを推測、判断して
いた。従って、論理シミュレーションを行ったつもりで
も、実際は行われていなかったり、論理シミュレーショ
ンの項目が抜けていたりして、設計品質が向上しないと
いう問題を有していた。
【0013】
【発明が解決しようとする課題】第1に、従来の、論理
回路の各ゲートに均一にユニットディレイを与えてシミ
ュレーションを行う論理シミュレータにおいて、各シミ
ュレーション実行時点での各ゲートの論理値のみによっ
て判断が行われていたので、発振している論理回路を検
出することが困難であった。
回路の各ゲートに均一にユニットディレイを与えてシミ
ュレーションを行う論理シミュレータにおいて、各シミ
ュレーション実行時点での各ゲートの論理値のみによっ
て判断が行われていたので、発振している論理回路を検
出することが困難であった。
【0014】第2に、従来の論理シミュレーションにお
いては、論理シミュレーションのテストカバレージに関
する情報を収集せずテストカバレージを推測して論理シ
ミュレーションを行っていたため、論理シミュレーショ
ン項目に抜けが起こる等設計品質を低下させる一因とな
っていた。
いては、論理シミュレーションのテストカバレージに関
する情報を収集せずテストカバレージを推測して論理シ
ミュレーションを行っていたため、論理シミュレーショ
ン項目に抜けが起こる等設計品質を低下させる一因とな
っていた。
【0015】本発明は、上記従来の技術の欠点を除去
し、発振する論理回路を容易に検出することができると
共に、容易にテストカバレージを把握することができる
論理シミュレータを提供することを目的とする。
し、発振する論理回路を容易に検出することができると
共に、容易にテストカバレージを把握することができる
論理シミュレータを提供することを目的とする。
【0016】
【課題を解決するための手段】本発明による論理シミュ
レータは、シミュレーション対象となる論理ゲートに均
一なユニットディレイを与え、シミュレーションの実行
によってクロック信号の入力とクロック信号の入力によ
って起こる論理ゲートの論理値の更新を所定数のユニッ
トディレイの期間だけ行うような論理シミュレータであ
って、N(Nは自然数)ユニットディレイの期間シミュ
レーションを実行した後、各論理ゲートの論理値を記憶
する第一のメモリ手段と、N+M(Mは自然数)ユニッ
トディレイの期間シミュレーションを実行した後、各論
理ゲートの論理値を記憶する第二のメモリ手段と、第一
および第二のメモリ手段によって記憶された各論理ゲー
トの論理値を比較する手段と、Nユニットディレイの期
間シミュレーションを実行し、その結果を第一のメモリ
手段に格納し、つぎにN+Mユニットディレイの期間シ
ミュレーションを実行し、その結果を第二のメモリ手段
に格納し、第一および第二のメモリ手段に格納された各
論理ゲートの論理値を比較手段によって比較し、その結
果、少なくとも1カ所以上の論理ゲートにおいて論理値
の不一致を検出したならば、論理シミュレータの実行を
停止するように制御する手段を備えて構成される。
レータは、シミュレーション対象となる論理ゲートに均
一なユニットディレイを与え、シミュレーションの実行
によってクロック信号の入力とクロック信号の入力によ
って起こる論理ゲートの論理値の更新を所定数のユニッ
トディレイの期間だけ行うような論理シミュレータであ
って、N(Nは自然数)ユニットディレイの期間シミュ
レーションを実行した後、各論理ゲートの論理値を記憶
する第一のメモリ手段と、N+M(Mは自然数)ユニッ
トディレイの期間シミュレーションを実行した後、各論
理ゲートの論理値を記憶する第二のメモリ手段と、第一
および第二のメモリ手段によって記憶された各論理ゲー
トの論理値を比較する手段と、Nユニットディレイの期
間シミュレーションを実行し、その結果を第一のメモリ
手段に格納し、つぎにN+Mユニットディレイの期間シ
ミュレーションを実行し、その結果を第二のメモリ手段
に格納し、第一および第二のメモリ手段に格納された各
論理ゲートの論理値を比較手段によって比較し、その結
果、少なくとも1カ所以上の論理ゲートにおいて論理値
の不一致を検出したならば、論理シミュレータの実行を
停止するように制御する手段を備えて構成される。
【0017】更に、本発明による論理シミュレータは、
入力データに従って論理回路の故障シミュレーションを
実行し論理回路の仮定故障を検出する第一の手段と、前
記論理回路の全ての仮定故障を検出し、蓄積する第二の
手段と、第一の手段により検出された仮定故障を蓄積す
る第三の手段と、第二および第三の手段によって蓄積さ
れた情報を比較する手段と、第二の手段に蓄積された全
ての仮定故障と、論理回路を第一の手段によって入力デ
ータに基づき論理シミュレーションした結果検出された
仮定故障とを比較手段によって比較した結果により、論
理シミュレーションのテストカバレージに関する情報を
収集する手段とを備えて構成される。
入力データに従って論理回路の故障シミュレーションを
実行し論理回路の仮定故障を検出する第一の手段と、前
記論理回路の全ての仮定故障を検出し、蓄積する第二の
手段と、第一の手段により検出された仮定故障を蓄積す
る第三の手段と、第二および第三の手段によって蓄積さ
れた情報を比較する手段と、第二の手段に蓄積された全
ての仮定故障と、論理回路を第一の手段によって入力デ
ータに基づき論理シミュレーションした結果検出された
仮定故障とを比較手段によって比較した結果により、論
理シミュレーションのテストカバレージに関する情報を
収集する手段とを備えて構成される。
【0018】
【作用】上記構成による論理シミュレータは、シミュレ
ーションの対象となる論理ゲートに均一なユニットディ
レイを与え、クロックを入力して、所定数のユニットデ
ィレイの期間シミュレーションを実行した後各論理ゲー
トの論理値を調べる。
ーションの対象となる論理ゲートに均一なユニットディ
レイを与え、クロックを入力して、所定数のユニットデ
ィレイの期間シミュレーションを実行した後各論理ゲー
トの論理値を調べる。
【0019】まずNユニットディレイの期間シミュレー
ションを実行した後における各論理ゲートの論理値を第
一のメモリ手段に格納する。つぎにN+Mユニットディ
レイの期間シミュレーションを実行した後における各論
理ゲートの論理値を第二のメモリ手段に格納する。
ションを実行した後における各論理ゲートの論理値を第
一のメモリ手段に格納する。つぎにN+Mユニットディ
レイの期間シミュレーションを実行した後における各論
理ゲートの論理値を第二のメモリ手段に格納する。
【0020】第一および第二のメモリ手段に格納された
各内容を比較手段で比較することにより、各論理ゲート
毎にNおよびN+Mユニットディレイの期間シミュレー
ション実行後の各論理値の一致不一致を調べる。
各内容を比較手段で比較することにより、各論理ゲート
毎にNおよびN+Mユニットディレイの期間シミュレー
ション実行後の各論理値の一致不一致を調べる。
【0021】その結果、NおよびN+Mユニットディレ
イ期間後の二つの論理値が異なる論理ゲートがあれば、
その論理ゲートは発振していると見なされ、それ以上シ
ミュレーションを続行しても無駄であるのでシミュレー
ションを停止する。
イ期間後の二つの論理値が異なる論理ゲートがあれば、
その論理ゲートは発振していると見なされ、それ以上シ
ミュレーションを続行しても無駄であるのでシミュレー
ションを停止する。
【0022】また、上記構成による論理シミュレータ
は、第一の手段により入力データに基づき論理回路の故
障シミュレーションを実行して仮定故障を検出し、第三
の手段に格納する。一方、第二の手段によって、全仮定
故障を検出してそれを格納する。
は、第一の手段により入力データに基づき論理回路の故
障シミュレーションを実行して仮定故障を検出し、第三
の手段に格納する。一方、第二の手段によって、全仮定
故障を検出してそれを格納する。
【0023】第三の手段に格納された実際に得られた仮
定故障と、第二の手段に格納された全仮定故障とを比較
することにより、論理シミュレーションによって検出さ
れる故障の範囲が得られる。この範囲とはすなわち論理
シミュレーションのテストカバレージである。
定故障と、第二の手段に格納された全仮定故障とを比較
することにより、論理シミュレーションによって検出さ
れる故障の範囲が得られる。この範囲とはすなわち論理
シミュレーションのテストカバレージである。
【0024】
【実施例】本発明の実施例について詳細に説明する。図
1は本発明による論理シミュレータの一実施例の動作を
示すフローチャート、図2はこの論理シミュレータのメ
モリ50のメモリマップである。
1は本発明による論理シミュレータの一実施例の動作を
示すフローチャート、図2はこの論理シミュレータのメ
モリ50のメモリマップである。
【0025】論理シミュレーションの実行順序を図1の
フローチャートに沿って説明する。 (1)シミュレーションモデルをメモリ領域(以後#で
示す)1に格納する。 (2)各論理ゲートに対応したシミュレーションモデル
の論理値を記憶する#2,#3,#4を確保する。
フローチャートに沿って説明する。 (1)シミュレーションモデルをメモリ領域(以後#で
示す)1に格納する。 (2)各論理ゲートに対応したシミュレーションモデル
の論理値を記憶する#2,#3,#4を確保する。
【0026】(3)シミュレーション実行時の環境を#
0に格納する、ここでいうシミュレーション環境とはク
ロック信号の波形やシミュレーション実行時間、シミュ
レーション最大クロック数等である、ここでは図4の
(a)および(b)のようなクロック信号を入力する。
またシミュレーション実行時間はユニットディレイ単位
で示す。 (4)シミュレーション実行に先立ち、外部入力、内部
メモリ等に、論理値を設定する。これらの設定は#2の
中の対応する外部入力、内部メモリ等の各メモリ位置に
論理値を書き込むことによって行われる。
0に格納する、ここでいうシミュレーション環境とはク
ロック信号の波形やシミュレーション実行時間、シミュ
レーション最大クロック数等である、ここでは図4の
(a)および(b)のようなクロック信号を入力する。
またシミュレーション実行時間はユニットディレイ単位
で示す。 (4)シミュレーション実行に先立ち、外部入力、内部
メモリ等に、論理値を設定する。これらの設定は#2の
中の対応する外部入力、内部メモリ等の各メモリ位置に
論理値を書き込むことによって行われる。
【0027】(5)#2の論理値と#1のシミュレーシ
ョンモデルと#0のクロック信号とによってシミュレー
ションを実行する。クロック信号の入力とともにNユニ
ットディレイまで各論理ゲートの論理値を更新する。 (6)Nユニットディレイだけ各論理ゲートの論理値を
更新したならば、その時の論理値を#3に格納する。
ョンモデルと#0のクロック信号とによってシミュレー
ションを実行する。クロック信号の入力とともにNユニ
ットディレイまで各論理ゲートの論理値を更新する。 (6)Nユニットディレイだけ各論理ゲートの論理値を
更新したならば、その時の論理値を#3に格納する。
【0028】(7)#2の論理値と#1のシミュレーシ
ョンモデルと#0のクロック信号からシミュレーション
の実行を行う。クロック信号の入力とともにN+Mユニ
ットディレイまで各論理ゲートの論理値を更新する。 (8)N+Mユニットディレイだけ各論理ゲートの論理
値を更新したならば、その時の論理値を#4に格納す
る。
ョンモデルと#0のクロック信号からシミュレーション
の実行を行う。クロック信号の入力とともにN+Mユニ
ットディレイまで各論理ゲートの論理値を更新する。 (8)N+Mユニットディレイだけ各論理ゲートの論理
値を更新したならば、その時の論理値を#4に格納す
る。
【0029】(9)各論理ゲートの論理値をメモリ#
3,#4から読み出して、それぞれの値を比較する。 (10)比較した結果、一つでも論理値の違う論理ゲー
トが存在したら、その論理ゲートが安定していないと判
断し、シミュレーションの実行を停止する。
3,#4から読み出して、それぞれの値を比較する。 (10)比較した結果、一つでも論理値の違う論理ゲー
トが存在したら、その論理ゲートが安定していないと判
断し、シミュレーションの実行を停止する。
【0030】(11)すべての論理ゲートにおいて論理
値が一致したならば、論理ゲートが安定していると判断
し、#3の論理値を#2へ移動し、再びシミュレーショ
ンの実行を行う。 (12)最大クロック数まで上記(5)〜(11)を繰
返す。
値が一致したならば、論理ゲートが安定していると判断
し、#3の論理値を#2へ移動し、再びシミュレーショ
ンの実行を行う。 (12)最大クロック数まで上記(5)〜(11)を繰
返す。
【0031】図3はシミュレーションの対象となる論理
回路の一例を示す。図3において、51,52、および
53はインバータである。インバータ51,52,53
は縦続接続されており、インバータ51の入力端子とイ
ンバータ53の出力端子とは接続されている。
回路の一例を示す。図3において、51,52、および
53はインバータである。インバータ51,52,53
は縦続接続されており、インバータ51の入力端子とイ
ンバータ53の出力端子とは接続されている。
【0032】図4は#0に格納されるクロック信号波形
を示す。点線は各論理ゲートの論理値を更新する時点を
示す。隣接する時点間は1ユニットディレイである。
を示す。点線は各論理ゲートの論理値を更新する時点を
示す。隣接する時点間は1ユニットディレイである。
【0033】図5は図3の回路に対して値の変化がない
信号Xを入力し、各インバータ51,52,53にそれ
ぞれ1ユニットディレイの遅れを与えた場合のインバー
タ51,52および53の各出力信号波形P,Qおよび
Rを示す。
信号Xを入力し、各インバータ51,52,53にそれ
ぞれ1ユニットディレイの遅れを与えた場合のインバー
タ51,52および53の各出力信号波形P,Qおよび
Rを示す。
【0034】図4の回路に関する論理シミュレーション
について、前述のフローチャートに沿って説明する。 (1)#1に格納するシミュレーションモデルは図3の
論理回路の各点における信号X,P,Q,R,およびY
の論理表現であり、例えば、PはXの反転、QはPの反
転、RはQの反転、YはRの反転であってかつXと同一
である。等を記載したものである。
について、前述のフローチャートに沿って説明する。 (1)#1に格納するシミュレーションモデルは図3の
論理回路の各点における信号X,P,Q,R,およびY
の論理表現であり、例えば、PはXの反転、QはPの反
転、RはQの反転、YはRの反転であってかつXと同一
である。等を記載したものである。
【0035】(2)信号値X,P,Q,R,Yのそれぞ
れの、現在、Nユニットディレイ経過後、およびN+M
ユニットディレイ経過後の論理値を格納するためのメモ
リスペースを#2,#3および#4に定義する。
れの、現在、Nユニットディレイ経過後、およびN+M
ユニットディレイ経過後の論理値を格納するためのメモ
リスペースを#2,#3および#4に定義する。
【0036】(3)シミュレーション環境を#0に定義
する。クロック信号として図4の信号(a)および
(b)のような波形を、シミュレーション実行時間とし
て45および46ユニットディレイ(N=45、M=
1)を設定する。
する。クロック信号として図4の信号(a)および
(b)のような波形を、シミュレーション実行時間とし
て45および46ユニットディレイ(N=45、M=
1)を設定する。
【0037】(4)外部入力X=1を#2のX欄に記載
する。 (5)上記シミュレーションモデルと、クロック信号
と、外部入力Xとによってシミュレーションを実行し、
P,Q,R,Yの論理値を45ユニットディレイまで更
新する。 (6)45ユニットディレイまで各論理値を更新した
ら、その時点での各論理値を#3に格納する。
する。 (5)上記シミュレーションモデルと、クロック信号
と、外部入力Xとによってシミュレーションを実行し、
P,Q,R,Yの論理値を45ユニットディレイまで更
新する。 (6)45ユニットディレイまで各論理値を更新した
ら、その時点での各論理値を#3に格納する。
【0038】(7)上記シミュレーションモデルと、ク
ロック信号と、外部入力Xとによってシミュレーション
を実行し、P,Q,Rの論理値を46ユニットディレイ
まで更新する。 (8)46ユニットディレイまで各論理値を更新した
ら、その時点での各論理値を#4に格納する。
ロック信号と、外部入力Xとによってシミュレーション
を実行し、P,Q,Rの論理値を46ユニットディレイ
まで更新する。 (8)46ユニットディレイまで各論理値を更新した
ら、その時点での各論理値を#4に格納する。
【0039】(9)#3および#4に格納されたP,
Q,Rの各論理値を読み出し、各論理値について45ユ
ニットディレイ経過時と46ユニットディレイ経過時の
値を比較する。 (10)図5に示す信号P,Q,Rの波形のようにいず
れも発振しており、かつ、1ユニットディレイづつ遅れ
ている場合には45ユニットディレイ経過時および46
ユニットディレイ経過時の各論理値に違いが生じてく
る。
Q,Rの各論理値を読み出し、各論理値について45ユ
ニットディレイ経過時と46ユニットディレイ経過時の
値を比較する。 (10)図5に示す信号P,Q,Rの波形のようにいず
れも発振しており、かつ、1ユニットディレイづつ遅れ
ている場合には45ユニットディレイ経過時および46
ユニットディレイ経過時の各論理値に違いが生じてく
る。
【0040】図5において、AおよびBをそれぞれ45
および46ユニットディレイ経過時点とすれば、信号
P,Q,RのAおよびB点での論理値は1,1,0およ
び1,0,0であり、両時点での論理値が異なるゲート
を含んでいる。従って、この場合は、シミュレーション
を終了する。
および46ユニットディレイ経過時点とすれば、信号
P,Q,RのAおよびB点での論理値は1,1,0およ
び1,0,0であり、両時点での論理値が異なるゲート
を含んでいる。従って、この場合は、シミュレーション
を終了する。
【0041】図3のような簡単な論理回路を例に取って
説明したが、同様にして膨大な数の論理ゲートからなる
論理回路の論理シミュレーションにおいても発振して論
理値の定まらない論理回路を容易に検出することができ
る。
説明したが、同様にして膨大な数の論理ゲートからなる
論理回路の論理シミュレーションにおいても発振して論
理値の定まらない論理回路を容易に検出することができ
る。
【0042】図6は、本発明による論理シミュレータの
テストカバレージ情報を検出する方式の構成を示すフロ
ーチャートである。テストカバレージ検出の処理手順を
図6に沿って説明する。
テストカバレージ情報を検出する方式の構成を示すフロ
ーチャートである。テストカバレージ検出の処理手順を
図6に沿って説明する。
【0043】(1)シミュレーション入力データをファ
イル21に格納する。 (2)回路情報をファイル22に格納する。 (3)ファイル21のシミュレーション入力データとフ
ァイル22の回路情報に基づき論理シミュレーション2
3を実行する。論理シミュレーションの結果の確認24
を行う。 (4)ファイル22の回路情報から仮定故障の検出25
を行う。
イル21に格納する。 (2)回路情報をファイル22に格納する。 (3)ファイル21のシミュレーション入力データとフ
ァイル22の回路情報に基づき論理シミュレーション2
3を実行する。論理シミュレーションの結果の確認24
を行う。 (4)ファイル22の回路情報から仮定故障の検出25
を行う。
【0044】(5)検出された仮定故障をすべて全故障
ファイル26へ蓄積する。 (6)論理シミュレーション23が終了したら、ファイ
ル21のシミュレーション入力データとファイル22の
回路情報を用いて故障シミュレーション27を実行す
る。 (7)故障シミュレーション27を実行した結果、検出
可能な故障箇所の抽出28を行う。 (8)故障シミュレーションを実行して検出できた故障
を故障検出ファイル29に蓄積する。
ファイル26へ蓄積する。 (6)論理シミュレーション23が終了したら、ファイ
ル21のシミュレーション入力データとファイル22の
回路情報を用いて故障シミュレーション27を実行す
る。 (7)故障シミュレーション27を実行した結果、検出
可能な故障箇所の抽出28を行う。 (8)故障シミュレーションを実行して検出できた故障
を故障検出ファイル29に蓄積する。
【0045】(9)すべてのシミュレーション入力デー
タについて故障シミュレーションが完了したら、全故障
ファイル26と故障検出ファイル29に蓄積されている
各故障箇所の比較30を行う。 (10)比較することによって未検出の故障の抽出31
を行う。
タについて故障シミュレーションが完了したら、全故障
ファイル26と故障検出ファイル29に蓄積されている
各故障箇所の比較30を行う。 (10)比較することによって未検出の故障の抽出31
を行う。
【0046】図7は、本発明の論理シミュレータによる
テストカバレージ検出の実施例における対象論理回路を
示す。図7の論理回路の入力端子はA,BおよびC、出
力端子はXである。入力端子AおよびBはORゲート4
0に接続され、入力端子Cはインバータ41に接続され
る。
テストカバレージ検出の実施例における対象論理回路を
示す。図7の論理回路の入力端子はA,BおよびC、出
力端子はXである。入力端子AおよびBはORゲート4
0に接続され、入力端子Cはインバータ41に接続され
る。
【0047】インバータ41の出力端子はフリップフロ
ップ(FFという)42のD端子と接続される。FF4
2のQ端子及びORゲート40の出力端子はANDゲー
ト43に接続される。ANDゲート43の出力端子はF
F44のD端子に接続され、FF44のQ端子は論理回
路の出力端子Xに接続される。
ップ(FFという)42のD端子と接続される。FF4
2のQ端子及びORゲート40の出力端子はANDゲー
ト43に接続される。ANDゲート43の出力端子はF
F44のD端子に接続され、FF44のQ端子は論理回
路の出力端子Xに接続される。
【0048】図8は、図7の論理回路の入力端子A,B
およびCからの各入力信号、FF42の出力信号Z,F
F44の出力信号Y、ならびに、出力端子Xにおける信
号(Yと同じ)の一例を示す。以下、図7についての論
理シミュレーションについて、上記フローチャートに従
って説明する。
およびCからの各入力信号、FF42の出力信号Z,F
F44の出力信号Y、ならびに、出力端子Xにおける信
号(Yと同じ)の一例を示す。以下、図7についての論
理シミュレーションについて、上記フローチャートに従
って説明する。
【0049】(1)図8に示す入力データA,B,Cを
ファイル21に格納する。 (2)論理回路に関する上述したような回路情報をファ
イル22に格納する。 (3)ファイル21および22に格納されているデータ
に基づいて論理シミュレーションを実行し、その結果を
確認する。
ファイル21に格納する。 (2)論理回路に関する上述したような回路情報をファ
イル22に格納する。 (3)ファイル21および22に格納されているデータ
に基づいて論理シミュレーションを実行し、その結果を
確認する。
【0050】(4)ファイル22の回路情報に基づき故
障シミュレータにより全仮定故障を検出しファイル26
に格納する。全仮定故障は、論理回路に含まれる全ての
ゲートの入力および出力に起こり得る全ての故障を列挙
したものである。表1はファイル26に格納される全仮
定故障表を示す。
障シミュレータにより全仮定故障を検出しファイル26
に格納する。全仮定故障は、論理回路に含まれる全ての
ゲートの入力および出力に起こり得る全ての故障を列挙
したものである。表1はファイル26に格納される全仮
定故障表を示す。
【表1】
【0051】表1において、0スタック故障および1ス
タック故障とは、それぞれ、信号が論理0および論理1
に膠着状態になることをいう。すなわち、各入力および
出力はいずれも0スタック故障と1スタック故障の2つ
の故障状態を有する。
タック故障とは、それぞれ、信号が論理0および論理1
に膠着状態になることをいう。すなわち、各入力および
出力はいずれも0スタック故障と1スタック故障の2つ
の故障状態を有する。
【0052】(5)論理シミュレーションが終了した
ら、故障シミュレーションを実行する。 (6)表2、表3、表4はそれぞれ図8に示す時点t
2,t3,t6において検出可能なスタック故障を列挙
したものであり、これがファイル29に格納される。
ら、故障シミュレーションを実行する。 (6)表2、表3、表4はそれぞれ図8に示す時点t
2,t3,t6において検出可能なスタック故障を列挙
したものであり、これがファイル29に格納される。
【表2】
【表3】
【表4】
【0053】(7)ファイル26の内容(表1)とファ
イル29の内容(表2、3、4)とを比較し故障シミュ
レーションデータ検出できなかったスタック故障を抽出
する。 以上述べたように、未検出のスタック故障の全仮定故障
に対する割合によって論理シミュレータのテストカバレ
ージが量的に把握できる。
イル29の内容(表2、3、4)とを比較し故障シミュ
レーションデータ検出できなかったスタック故障を抽出
する。 以上述べたように、未検出のスタック故障の全仮定故障
に対する割合によって論理シミュレータのテストカバレ
ージが量的に把握できる。
【0054】
【発明の効果】本発明によれば、論理ゲートにユニット
ディレイを適用する論理シミュレータを使って、各論理
ゲートがユニットディレイで表わせない論理回路をシミ
ュレーションしても、論理回路が発振したことを確実に
検出できる。従って発振が原因による論理回路の誤りは
すぐに検出できる。また論理シミュレーションだけを実
行するシミュレータを開発或いは購入しなくてもよいの
で、開発コストを削減できる。
ディレイを適用する論理シミュレータを使って、各論理
ゲートがユニットディレイで表わせない論理回路をシミ
ュレーションしても、論理回路が発振したことを確実に
検出できる。従って発振が原因による論理回路の誤りは
すぐに検出できる。また論理シミュレーションだけを実
行するシミュレータを開発或いは購入しなくてもよいの
で、開発コストを削減できる。
【0055】また、本発明によるテストカバレージ情報
の収集は実際に行われた論理シミュレーションのデータ
をもとにしてテストカバレージを割り出すので、論理シ
ミュレーションを行ったつもりでも実際行っていなかっ
たとか項目抜けがあった等のミスを確実に防止すること
ができる。またテストカバレージを自動的に割り出すの
で、設計者によるシミュレーション項目の管理のための
労力および費用を低減することができる。
の収集は実際に行われた論理シミュレーションのデータ
をもとにしてテストカバレージを割り出すので、論理シ
ミュレーションを行ったつもりでも実際行っていなかっ
たとか項目抜けがあった等のミスを確実に防止すること
ができる。またテストカバレージを自動的に割り出すの
で、設計者によるシミュレーション項目の管理のための
労力および費用を低減することができる。
【図面の簡単な説明】
【図1】本発明による論理シミュレータの発振回路検出
方式を示すフローチャートである。
方式を示すフローチャートである。
【図2】メモリ領域を示す図である。
【図3】発振論理回路の検出の実施例を示す図(その
1)である。
1)である。
【図4】発振論理回路の検出の実施例を示す図(その
2)である。
2)である。
【図5】発振論理回路の検出の実施例を示す図(その
3)である。
3)である。
【図6】テストカバレージ情報収集方式を示すフローチ
ャートである。
ャートである。
【図7】テストカバレージ情報収集の実施例を示す図
(その1)である。
(その1)である。
【図8】テストカバレージ情報収集の実施例を示す図
(その2)である。
(その2)である。
1〜12 フローチャートの処理ステップ 21〜31 フローチャートの処理ステップ 40 ORゲート 41 インバータ 42,44 フリップフロップ 43 ANDゲート 50 メモリ 51,52,53 インバータ
Claims (2)
- 【請求項1】 シミュレーション対象となる論理ゲート
に均一なユニットディレイを与え、シミュレーションの
実行によってクロック信号の入力とクロック信号の入力
によって起こる論理ゲートの論理値の更新を所定数のユ
ニットディレイの期間だけ行うような論理シミュレータ
であって、 N(Nは自然数)ユニットディレイの期間シミュレーシ
ョンを実行した後、各論理ゲートの論理値を記憶する第
一のメモリ手段と、 N+M(Mは自然数)ユニットディレイの期間シミュレ
ーションを実行した後、各論理ゲートの論理値を記憶す
る第二のメモリ手段と、 第一および第二のメモリ手段によって記憶された各論理
ゲートの論理値を比較する手段と、 Nユニットディレイの期間シミュレーションを実行し、
その結果を第一のメモリ手段に格納し、つぎにN+Mユ
ニットディレイの期間シミュレーションを実行し、その
結果を第二のメモリ手段に格納し、第一および第二のメ
モリ手段に格納された各論理ゲートの論理値を比較手段
によって比較し、その結果、少なくとも1カ所以上の論
理ゲートにおいて論理値の不一致を検出したならば、論
理シミュレータの実行を停止するように制御する手段と
を備えることを特徴とする論理シミュレータ。 - 【請求項2】 入力データに従って論理回路の故障シミ
ュレーションを実行し論理回路の仮定故障を検出する第
一の手段と、 前記論理回路の全ての仮定故障を検出し、蓄積する第二
の手段と、 第一の手段により検出された仮定故障を蓄積する第三の
手段と、 第二および第三の手段によって蓄積された情報を比較す
る手段と、 第二の手段に蓄積された全ての仮定故障と、前記論理回
路を第一の手段によって入力データに基づき論理シミュ
レーションした結果検出された仮定故障とを前記比較手
段によって比較した結果により、論理シミュレーション
のテストカバレージに関する情報を収集する手段とを備
えることを特徴とする論理シミュレータ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3242981A JPH0581367A (ja) | 1991-09-24 | 1991-09-24 | 論理シミユレータ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3242981A JPH0581367A (ja) | 1991-09-24 | 1991-09-24 | 論理シミユレータ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0581367A true JPH0581367A (ja) | 1993-04-02 |
Family
ID=17097123
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3242981A Withdrawn JPH0581367A (ja) | 1991-09-24 | 1991-09-24 | 論理シミユレータ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0581367A (ja) |
-
1991
- 1991-09-24 JP JP3242981A patent/JPH0581367A/ja not_active Withdrawn
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2522541B2 (ja) | シミュレ―ション装置及びシミュレ―ション方法 | |
| KR100337696B1 (ko) | 모델 검사를 위한 동작 환경을 자동적으로 생성하는 방법 | |
| JP2002514822A (ja) | 有限状態機械を識別して回路設計を検査するシステムおよび方法 | |
| US6457161B1 (en) | Method and program product for modeling circuits with latch based design | |
| Wang et al. | Delay-fault diagnosis using timing information | |
| JPH11149491A (ja) | 故障検出率評価方法 | |
| US6941497B2 (en) | N-squared algorithm for optimizing correlated events | |
| KR100506769B1 (ko) | 고속 테스트 패턴 평가 장치 | |
| US6851098B2 (en) | Static timing analysis and performance diagnostic display tool | |
| US11443092B2 (en) | Defect weight formulas for analog defect simulation | |
| JP2755237B2 (ja) | シミュレーション装置およびその方法 | |
| US7673288B1 (en) | Bypassing execution of a software test using a file cache | |
| JPH03120485A (ja) | 半導体集積回路の故障個所推定方式 | |
| US20050024074A1 (en) | Method and apparatus for characterizing an electronic circuit | |
| JP4921751B2 (ja) | 故障検出シミュレーションシステム、故障検出シミュレーション方法及びプログラム | |
| JPH1139181A (ja) | 計算機の試験方法 | |
| CN112765928B (zh) | 测试图样产生方法以及失效模型产生方法 | |
| JP2001255357A (ja) | テストパターン妥当性検証方法及びその装置 | |
| JP2990813B2 (ja) | 故障シミュレーション方法 | |
| JPH1183945A (ja) | 論理回路の故障診断方式 | |
| JP2624135B2 (ja) | タイミング解析方法 | |
| JPH0676016A (ja) | 論理シミュレーション方法 | |
| JP2001076024A (ja) | 論理回路シミュレーション方法 | |
| JPH07174825A (ja) | 等価故障抽出方法及び装置 | |
| JPH06215062A (ja) | シミュレーションデータのアライメント装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19981203 |