JPH04364581A - 並列演算機構による論理演算方法 - Google Patents

並列演算機構による論理演算方法

Info

Publication number
JPH04364581A
JPH04364581A JP3140296A JP14029691A JPH04364581A JP H04364581 A JPH04364581 A JP H04364581A JP 3140296 A JP3140296 A JP 3140296A JP 14029691 A JP14029691 A JP 14029691A JP H04364581 A JPH04364581 A JP H04364581A
Authority
JP
Japan
Prior art keywords
pattern
logical
parallel
value
output
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.)
Granted
Application number
JP3140296A
Other languages
English (en)
Other versions
JP2781081B2 (ja
Inventor
Hiroo Watai
渡井 啓夫
Takao Nishida
隆夫 西田
Takaharu Nagumo
南雲 宇晴
Masahiko Nagai
正彦 永井
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3140296A priority Critical patent/JP2781081B2/ja
Priority to US07/895,802 priority patent/US5467292A/en
Publication of JPH04364581A publication Critical patent/JPH04364581A/ja
Application granted granted Critical
Publication of JP2781081B2 publication Critical patent/JP2781081B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • G01R31/318357Simulation
    • 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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318307Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
    • 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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318392Generation of test inputs, e.g. test vectors, patterns or sequences for sequential circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、論理回路の論理検証お
よびテストデ−タ作成方法に係り、特に記憶素子を含ん
だ同期的順序回路を対象にベクトル計算機・並列プロセ
ッサ等の演算機構を利用して論理シミュレーションおよ
び故障シミュレ−ションを高速に実行する技術に関する
【0002】
【従来の技術】従来、ベクトル計算機等の並列演算機構
を利用して論理回路の論理シミュレーションおよび故障
シミュレーションを高速に実行する方法については、例
えば情報処理学会論文誌第29巻第5号522頁から5
28頁に記載されるように、パラレル方式を拡張した、
組合せ回路に対する動的2次元並列法による故障シミュ
レ−ション方法が知られている。
【0003】
【発明が解決しようとする課題】並列演算機構では、複
数の処理を1度に並列に実行して計算の高速化を実現す
る。従って独立の事象をできるだけ多く集めて並列処理
できるようなデータ構造と処理過程が不可欠であり、論
理シミュレーションや故障シミュレーションでは複数の
入力パタンに対して並列処理する方法が有効である。前
記の動的2次元並列法では、パラレル方式を基本として
複数パタンについて処理の並列化を実現しているが、こ
の方式はベクトルレジスタに格納された一連の複数のパ
タンの論理値に対し、各パタンで独立に素子の論理演算
を行うものである。
【0004】このため、フリップフロップなどの記憶素
子の論理計算を行う場合、前パタンの論理値を保持する
パタンに対しては論理値を確定することができない。例
えば図9の真理値表902に従って動作するRSフリッ
プフロップ901に一連の論理値パタン903が入力さ
れた場合、実際の動作は第1パタン目で出力値‘1’が
セットされ、第2パタン目は前パタンの値を保持するた
め出力値は‘1’であるはずであるが、前記の動的2次
元並列法ではパタン毎に独立に論理演算を行うため第2
パタン目では前パタンでの論理値情報が得られず出力値
が確定できない。従って、この方法で記憶素子を含む同
期的順序回路を取扱うことは出来ない。
【0005】本発明の目的は、記憶素子に対する複数の
パタンに対して並列に論理演算を実行し、同期的順序回
路に対してベクトル計算機などの並列演算機構を利用し
た論理シミュレーションおよび故障シミュレーションを
可能にする、並列演算機構による論理演算方法を提供す
ることにある。
【0006】
【課題を解決するための手段】上記目的を達成するため
に、本発明による並列演算機構による並列演算方法は、
出力値が入力値の順序性に依存する記憶素子に対して複
数の入力パタンを順次与えたときに得られる出力データ
列を並列演算機構により求める論理演算方法であって、
時系列の複数パタンの各パタン毎に、当該パタンに対す
る前記記憶素子の出力値が前のパタンに依存する「保持
パタン」であるか否かを判定し、各パタンが保持パタン
であるか否かのフラグからなる第1のデータ列と、保持
パタンについては予め定めた論理値および非保持パタン
については当該パタンに対する前記記憶素子の出力論理
値からなる第2のデータ列とを求め、前記第1および第
2のデータ列に対して前記並列演算機構を用いて並列に
演算(例えば、イテレーション演算)を行なうことによ
り、前記記憶素子の出力データ列を並列に得るようにし
たものである。
【0007】本発明は、さらに、この演算方法を利用し
た論理シミュレーション方法および故障シミュレーショ
ン方法を提供する。
【0008】本発明による並列処理装置は、出力値が入
力値の順序性に依存する記憶素子について、複数の入力
パタンに対する当該記憶素子の出力値列を並列に計算す
る並列処理装置であって、少なくともn個(n≧2)の
入力パタンを格納するベクトルレジスタと、時系列のn
個の入力パタンの各パタン毎に、当該パタンに対する前
記記憶素子の出力値が前のパタンに依存する保持パタン
であるか否かを示すn個の論理値からなる第1のデータ
列を格納する第1のデータレジスタと、前記保持パタン
については予め定めた論理値および非保持パタンについ
ては当該パタンに対する前記記憶素子の出力論理値を含
む計n個の論理値からなる第2のデータ列とを格納する
第2のデータレジスタと、前記第1および第2のデータ
レジスタの内容に対してイテレーション演算を行なう並
列演算機構とを備えたものである。
【0009】
【作用】記憶素子の論理値は、(1)前パタンの出力値
が論理演算に必要な場合(以下「保持パタン」とよぶ)
(2)そのパタンだけで論理値が確定する場合(以下「
非保持パタン」とよぶ)の2通りに分けられる。このこ
とに着目し、図9のフリップフロップに対する論理演算
は、図1の101に示すようなフローで計算可能である
【0010】まず、第1段階で、ベクトルレジスタAに
当該パタンが保持パタンであるか否かの判定フラグ(保
持パタンの場合は‘1’、非保持パタンの場合は‘0’
)をセットし、ベクトルレジスタBに保持パタンの場合
は‘0’、非保持パタンの場合は素子のその時の出力値
をパタンに並列に計算する(保持パタンであるか否か、
および非保持パタンの出力値は、たとえばベクトル計算
機上ではベクトルレジスタを用いてパタンごとに個別に
判定・計算できる)。RSフリップフロップの場合、R
=0かつS=0のとき保持パタンであり、そうでないと
きは非保持パタンであるため、レジスタA,Bの内容は
各パタンに対してそれぞれ図1の102、103のよう
になる。これらの処理はRSフリップフロップ以外の記
憶素子の場合でも,その素子ごとに真理値表テーブルを
準備し、論理演算実行時にこれを参照すれば、同様に実
行できる。
【0011】次に、第2段階としてこうして求めたA,
Bに対しイテレ−ションという演算を行う。これは並列
に並んだ演算要素間相互の演算の一種で、ベクトル計算
機上の標準的な命令である。イテレ−ションの動作は、
例えばベクトル計算機の場合、「A」,「B」を参照す
るベクトルレジスタ、「Q」を設定するベクトルレジス
タ、「Ai」,「Bi」,「Qi」をそれぞれベクトル
レジスタA,B,Qのi番目のベクトル要素の値とすれ
ば次の式で与えられる動作を行う。 Qi = Qi−1*Ai + Bi この命令は例えば図10に示す構成で実行できる。この
命令を、上で求めたレジスタA,Bの値に適用すれば、
保持パタン(Ai=1,Bi=0の場合)に対してはQ
iには前パタンでの論理値が複写され、非保持パタン(
Ai=0の場合)に対してはBiの値と同じ論理値がQ
iにセットされる。このようにして、図1の104で示
すようにRSフリップフロップの出力論理値が複数パタ
ンについて並列に計算できる。
【0012】この並列演算方法は、論理シミュレーショ
ンおよび故障シミュレーションに有効に利用することが
できる。
【0013】
【実施例】以下、本発明の実施例について詳細に説明す
る。第1の実施例として、本発明をベクトル計算機を用
いて論理シミュレーションに適用する場合を図を用いて
説明する。図2は本発明による論理シミュレーションの
処理の流れを示したものである。同図中、201で示す
記憶素子の論理演算処理が、従来技術にない新しい処理
である。
【0014】一般に、論理シミュレーションは信号変化
をイベントとして表現し、イベントの受理、論理演算、
イベントの登録を繰り返すことにより、回路内の信号変
化を計算する。対象とする回路は同期的順序回路なので
、信号遅延などを考慮する必要がない。従って、回路の
出力値及び回路内部の論理値は各パタンの印加時に確定
することを前提にしている。なお、本実施例におけるイ
ベントとは、n個のパタン(以下、これらの集合をパタ
ンセットと呼ぶ)を同時に(すなわち並列に)処理する
ため、あるパタンでの信号値とそのパタンのnパタン前
の信号値を比較したときの信号変化のことと定義する。
【0015】図2に示すように、論理シミュレーション
では、まず、パタンセットの入力論理値をセットする(
200)。すなわち、入力論理値を受ける素子について
、論理値表301の該当位置に1パタンセット分の複数
パタンを設定する。続くイベント受理(203)では、
イベントがある素子で発生した場合、シンク側につなが
る素子を取り出し、その素子への入力信号値を求める。 なお、最初のパタンセットの設定時は、前回のパタンセ
ットが存在しないために、無条件に各入力論理値が変化
したとみなす。次の素子論理演算(204)では、その
登録された素子の論理値を計算する。イベント登録(2
05)では素子の論理値が前の状態に比べて変化した場
合のみイベントとして登録する。残りイベントがあれば
(208)、イベント受理203へ戻る。残りイベント
がなくなれば、次のパタンセットがなくなるまで(20
9)、パタンセットの入力論理値セット(200)へ戻
る。なお、論理演算(204)では、受理素子が記憶素
子か否かを判定し(206)、記憶素子ならば記憶素子
の論理演算を行ない(201)、記憶素子でなければ組
合せ素子の論理演算を行なう(207)。
【0016】これらの処理を実現するために、図3に示
した各テーブルを使用する。論理値表301は、1パタ
ンセット内のパタン番号302と、対象となる回路内の
全素子の素子番号303で指される2次元のテーブルで
あり、ある素子のあるパタンでの論理値304を格納す
る。イベントスタック311は、イベントを受理した素
子の素子番号312とパタン番号313との対を格納す
る。論理テーブル321は、回路内の各素子に対し素子
の機能323と、入力ピン対応にソース側の素子番号3
24を、出力ピン対応にシンク側の素子番号325を格
納して、論理の接続関係を表す。
【0017】次に、これらのテ−ブルがどのように使用
されるかを図2の処理の流れに従って説明する。まず、
1パタンセット分の論理値を論理値表301の入力ピン
に対応する箇所にセットする。そして論理テーブル32
1から入力ピンのシンク先の素子番号を検索してイベン
トスタック311に素子番号とそのパタン番号を登録す
る(200)。なお、最初のパタンセットの設定時は、
前回のパタンセットが存在しないために、無条件に各入
力論理値が変化したとみなして、入力論理値を受ける素
子およびその論理値をイベントスタック311に登録す
る。次に、イベント受理(203)では、イベントスタ
ック311に登録された素子番号をキーにして、当該素
子をシンクにもつソース素子の論理値を集める。論理演
算(204)では、パタンセット内でイベントスタック
311に登録された素子を集め、それらに対して論理演
算を行うが、ここで記憶素子および組み合わせ素子がイ
ベントスタック311に登録されている場合、記憶素子
の論理演算と記憶素子以外の組合せ素子の論理演算を別
の方法で行う。この論理演算処理については後に詳述す
る。論理演算の結果、当該素子のそのパタンでの論理値
が論理値表301の対応する部分に登録された論理値と
比較して変化している場合、イベントとしてイベントス
タックに登録する(205)。処理されていないイベン
トがなくなるまでイベント受理・論理演算・イベント登
録を繰り返す(208)。これらの一連の処理(202
)が1つのパタンセットに対して終了すれば(209)
、新たに次のパタンセットの論理値を論理値表の入力ピ
ンに対応する箇所にセットする(200)。この時、前
回のパタンセット処理時と論理値の異なる場合だけイベ
ントとしてシンク側に伝える。以下、再び処理202を
繰り返す。これをすべてのパタンが終了するまで繰り返
す(209)。
【0018】以上、図2の流れに従って論理シミュレー
ションの手順を説明した。
【0019】次に、RSフリップフロップを含む図4の
回路例を用いて、論理演算の方法を詳しく説明する。図
4は、3個の入力点401,402,403(I1,I
2,I3)と、これらの出力を受けるANDゲート40
4,405(K,L)と、RSフリップフロップ406
と、出力点407(O)を有する。
【0020】図5に、図4の回路の入力点I1,I2,
I3に印加されるパタン番号1〜6の一連のパタン(す
なわちパタンセット)501を示す。ここでは、パタン
セットのパタン数を‘6’とする。入力点I1,I2,
I3に印加される入力論理値により、ANDゲートK,
Lの入力ピンK1,K2,L1,L2には、図5の50
2で示す値が伝播する。ここで、ANDゲートK,Lは
ともに組合せ素子のため、パタン毎に個別の論理演算が
実行でき、結果として図5の503で示す値が出力値と
なる。次に、ANDゲートK,Lの出力値がそのままR
Sフリップフロップ406の入力R,Sにそれぞれ伝播
するが、RSフリップフロップ406は記憶素子である
ため、あるパタンでイベントが伝わらなくても前パタン
の影響でそれ以降のパタンの出力値が全て変化してしま
う可能性がある。従って論理演算は全てのパタンに対し
て実行する必要がある。
【0021】ここで、図1のフロー101に従って記憶
素子用の論理演算(図2の201に相当)の手順を説明
する。まず、図5の504に示すように、第1段階で当
該パタンが保持パタンであるとき(R=0かつS=0の
とき)‘1’を、それ以外の場合‘0’を、ベクトルレ
ジスタAの各ベクトル要素にセットする。次に、図5の
505に示すように、当該パタンが保持パタンであると
き‘0’を、それ以外のときそのパタンでの出力値(図
7の真理値表で定まるQ値)をベクトルレジスタBの各
ベクトル要素にセットする。第2段階で、ベクトルレジ
スタA,Bに前述したイテレ−ション命令を適用すれば
、図5の506に示すように、保持パタンに対しては前
パタンでの論理値が複写され、非保持パタンではベクト
ルBの論理値がそのままセットされる。結果として、出
力点Oで観測される論理値Q(O)が複数パタンに並列
に算出できたことになる。
【0022】図10にイテレーション命令を実行する回
路例を示す。すなわち、レジスタAの要素1001,1
004,…,1007と、レジスタBの要素1002,
1005,…1008と、ビット加算器1013,10
14,…,1015と、ビット乗算器1011,…,1
012と、レジスタQの要素1003,1006,…,
1009とからなる。Ai,Bi,Qiはそれぞれベク
トルレジスタA,B,Qのi番目の要素を示す。ビット
加算器はビット毎の論理和を、ビット乗算器はビット毎
の論理積を行なうユニットである。Q1の値としてはB
1の値がそのままセットされ、Q2には、Q1とA2と
の論理積とB2との論理和の値がセットされ、という様
に全体として上記イテレーション命令の演算式が実現さ
れる。なお、Qiの値は、iの値が小さい順に順次シリ
アルに決まるが、ビット加算器、ビット乗算器ともにフ
リップフロップを含まずに、クロックを介さない動作が
行なえるため、通常、クロックで制御される論理値の設
定は、シリアルにQ1,Q2,…,Qnに値をセットす
る場合にnサイクル必要であるところ、図10の回路例
ではnサイクルより充分短いサイクルで上記動作が実現
できる。
【0023】以上のようにして、記憶素子を含んだ回路
でも複数パタンについて並列に論理シミュレーションが
実行できる。
【0024】第2の実施例として、本発明をベクトル計
算機を用いて診断データ作成に適用する場合を図を用い
て説明する。
【0025】図6は本発明による診断データ作成処理の
流れを示したものである。故障シミュレーション(60
2)では、故障が存在しない場合と、回路内のいずれか
の部分に故障が存在した場合の信号値の変化をイベント
として扱い、このイベントを処理することによってその
パタンでの検出故障を同定する。このため、図7に示す
ように先の実施例での論理値表に故障時の論理値を追加
した論理値表701を使用する。すなわち、1パタンセ
ットがnパタンで構成されるとしたとき、1からnまで
のパタン番号702と、対象となる回路内の全素子の素
子番号703で指定される2次元のテーブルに、故障が
存在しない場合の正常論理値704と故障を仮定した場
合の故障論理値705とを格納する。そして、この正常
論理値と故障論理値との差がイベントとして取り扱われ
る。論理テーブル、イベントスタックの構成は第1の実
施例と同様である。
【0026】図6の流れに従って診断データ作成の処理
方式を説明する。先ず、パタンセットごとに故障を仮定
しない状態で正常シミュレーションを行い、回路内部の
論理値を計算して論理値表701の正常論理値704に
セットする(601)。これは第1の実施例の論理シミ
ュレーションのパタンセット単位の処理とまったく同様
である。次に、回路内に故障値を挿入し(603)、正
常時との信号値の相違を算出する。この処理は、図7に
示す故障管理テーブル711をもとに論理値表の故障仮
定点に対応する位置(1パタンセット分すべて)に故障
論理値を登録し、その論理値が正常論理値と異なる場合
にイベントとしてイベントスタックに登録する処理であ
る。以下、第1の実施例と同様にイベントがなくなるま
でイベント受理(604)・論理演算(605,606
,607)・イベント登録(608)を繰返し、イベン
トが回路の出力まで伝播した場合に、挿入した故障がイ
ベントスタックに格納されたパタンで検出されたと判定
する(602)。以上の処理を回路内に存在するすべて
の故障に対して繰り返す(610)。さらに、これらの
一連の処理手続きを全てのパタンが終了するまで繰り返
す(611)。
【0027】図4の回路例で、入力ピンI1(401)
の「1−縮退故障」に対する故障シミュレーション処理
を説明する。入力パタン及び並列パタン数は第1の実施
例のパタンと同様とする。
【0028】図8の801に、この故障が存在する場合
のI1,I2,I3の論理値を示す。この例では、入力
ピンI1が“1”に固定されたレジを示す。図5の50
1と比較すれば、太枠で囲んだ第2パタン・第4パタン
・第5パタンでイベントが発生している。これらのイベ
ントはそれぞれシンク側の素子すなわちANDゲートK
,Lに伝わる。ANDゲートK,Lは組合せ素子のため
、パタン別に論理演算を行う。またイベントの発生した
パタンについて、イベントの伝わる後段素子の入力に対
しては故障論理値を、それ以外の入力に対しては正常論
理値を図8の802に示すようにそれぞれイベント表8
01から取り出して論理演算する。演算の結果、AND
ゲートK,Lの出力値は図8の803のようになり、図
5の503と比較すれば第2パタンでのLの出力値‘1
’と第4パタンでのKの出力値‘1’がイベントとして
シンク側のRSフリップフロップ406に伝わる。 第1の実施例同様、論理演算は全てのパタンに対して実
行する必要がある。論理演算は、故障イベントとして伝
わるものに対しては故障論理値を、それ以外のものは正
常論理値をイベント表から取り出す。そして、第1の実
施例同様に図1のフロー101に従い第1段階で当該パ
タンが保持パタンであるとき(R=0かつS=0のとき
)‘1’を、それ以外の論理値のとき‘0’をベクトル
レジスタAの各ベクトル要素にセットする(804)。 次に当該パタンが保持パタンであるとき‘0’を、非保
持パタンであるときその出力値をベクトルレジスタBの
各ベクトル要素にセットする(805)。次にベクトル
レジスタA,Bにイテレーション命令を適用すれば、図
8の806に示すようにRSフリップフロップ406の
出力論理値が得られ、正常シミュレーションの結果と比
較すれば第2〜第5パタンでの論理値‘1’がイベント
として出力点Oに伝わる。すなわち、この故障が第2〜
第5パタンで検出されると判定される。
【0029】以上のようにして、記憶素子を含む回路に
ベクトル計算機を用いた診断データ作成が実行できる。
【0030】
【発明の効果】本発明により、従来では全く行われてい
なかった同期的順序回路に対してもベクトル計算機など
の並列演算機構を利用した高速論理/故障シミュレーシ
ョンが実現できる。このため、論理検証やテストデータ
作成時の大幅な工数及び処理時間の低減が可能となる。
【図面の簡単な説明】
【図1】本発明による論理演算処理例の説明図。
【図2】本発明の一実施例である論理シミュレーション
の処理の流れを示すフローチャート。
【図3】本発明の論理シミュレーションに用いるテーブ
ルの説明図。
【図4】RSフリップフロップを含んだ回路例を示す回
路図。
【図5】図4の回路例における論理シミュレーション実
行時の各種テーブルおよびレジスタの論理値の説明図。
【図6】本発明の一実施例である診断データ作成処理の
流れを示す説明図。
【図7】本発明の故障シミュレーションに用いるテーブ
ルの説明図。
【図8】図4の回路例における故障シミュレーション実
行時の各種テーブルおよびレジスタの論理値の説明図。
【図9】個別に論理演算を行った場合のRSフリップフ
ロップの論理値の説明図。
【図10】イテレ−ション命令を実現するハ−ドウエア
構成を示すブロック図。
【符号の説明】
101…記憶素子の論理演算フロー、102,103…
論理演算第1段階でセットされる論理値、104…論理
演算第2段階でセットされる論理値、301…論理シミ
ュレーション時の論理値表、311…イベントスタック
、321…論理テーブル、401〜403…入力ピン、
404、405…ANDゲ−ト、406…RSフリップ
フロップ、407…出力ピン、701…診断データ作成
時の論理値表、711…故障管理テーブル、901…R
Sフリップフロップ、902…RSフリップフロップの
真理値表、1001〜1009…ベクトルレジスタ、1
011,1012…ビット乗算器、1013〜1015
…ビット加算器。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】出力値が入力値の順序性に依存する記憶素
    子に対して複数の入力パタンを順次与えたときに得られ
    る出力データ列を並列演算機構により求める論理演算方
    法であって、時系列の複数パタンの各パタン毎に、当該
    パタンに対する前記記憶素子の出力値が前のパタンに依
    存する「保持パタン」であるか否かを判定し、各パタン
    が保持パタンであるか否かのフラグからなる第1のデー
    タ列と、保持パタンについては予め定めた論理値および
    非保持パタンについては当該パタンに対する前記記憶素
    子の出力論理値からなる第2のデータ列とを求め、前記
    第1および第2のデータ列に対して前記並列演算機構を
    用いて並列に演算を行なうことにより、前記記憶素子の
    出力データ列を並列に得ることを特徴とする並列演算機
    構による論理演算方法。
  2. 【請求項2】前記並列演算機構による演算は、イテレー
    ション演算であることを特徴とする請求項1記載の論理
    演算方法。
  3. 【請求項3】出力値と内部状態の変化がクロックによっ
    て制御される順序回路の論理シミュレーションを行なう
    方法であって、出力値が入力値の順序性に依存する記憶
    素子に対する論理演算に請求項1の論理演算方法を利用
    することにより、複数個の入力パタンに対して並列に論
    理演算を実行しながら、当該複数の入力パタンに対する
    前記順序回路の出力値列を並列に求めることを特徴とす
    る論理シミュレーション方法。
  4. 【請求項4】出力値と内部状態の変化がクロックによっ
    て制御される順序回路の故障シミュレーションを行なう
    方法であって、(a)出力値が入力値の順序性に依存す
    る記憶素子に対する論理演算に請求項1の論理演算方法
    を利用することにより、複数の入力パタンに対して並列
    に論理演算を実行しながら、当該複数の入力パタンに対
    する前記順序回路の出力値列を並列に求め、(b)次に
    、前記複数の入力パタンに対して前記順序回路内の任意
    の箇所の論理値を故障論理値に固定して、ステップ(a
    )を実行し、(c)ステップ(a),(b)の結果、得
    られた出力値が異なる入力パタンを前記任意の箇所の故
    障検出用の入力パタンとして選定することを特徴とする
    故障シミュレーション方法。
  5. 【請求項5】出力値が入力値の順序性に依存する記憶素
    子について、複数の入力パタンに対する当該記憶素子の
    出力値列を並列に計算する並列処理装置であって、少な
    くともn個(n≧2)の入力パタンを格納するベクトル
    レジスタと、時系列のn個の入力パタンの各パタン毎に
    、当該パタンに対する前記記憶素子の出力値が前のパタ
    ンに依存する保持パタンであるか否かを示すn個の論理
    値からなる第1のデータ列を格納する第1のデータレジ
    スタと、前記保持パタンについては予め定めた論理値お
    よび非保持パタンについては当該パタンに対する前記記
    憶素子の出力論理値を含む計n個の論理値からなる第2
    のデータ列とを格納する第2のデータレジスタと、前記
    第1および第2のデータレジスタの内容に対してイテレ
    ーション演算を行なう並列演算機構と、を備えたことを
    特徴とする並列処理装置。
  6. 【請求項6】前記記憶素子の真理値表を格納する真理値
    表テーブルと、前記順序回路を構成する素子番号対応に
    、n個の入力パタン番号に対する当該素子の論理値を格
    納する論理値テーブルと、n個の入力パタンからなるパ
    タンセット毎に前記論理値の変化した素子の素子番号お
    よびパタン番号を格納するイベントスタックと、各素子
    の接続関係を表す情報を格納した接続関係テーブルとを
    更に備えたことを特徴とする請求項5記載の並列処理装
    置。
  7. 【請求項7】前記論理値テーブルは、前記論理値と1対
    1に故障論理値を格納しうることを特徴とする請求項6
    記載の並列処理装置。
  8. 【請求項8】前記順序回路内の故障論理値を設定する素
    子の素子番号および素子のピン番号からなる故障管理テ
    ーブルを更に有することを特徴とする請求項7記載の並
    列処理装置。
JP3140296A 1991-06-12 1991-06-12 並列演算機構による論理演算方法 Expired - Lifetime JP2781081B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3140296A JP2781081B2 (ja) 1991-06-12 1991-06-12 並列演算機構による論理演算方法
US07/895,802 US5467292A (en) 1991-06-12 1992-06-09 Logical operation method employing parallel arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3140296A JP2781081B2 (ja) 1991-06-12 1991-06-12 並列演算機構による論理演算方法

Publications (2)

Publication Number Publication Date
JPH04364581A true JPH04364581A (ja) 1992-12-16
JP2781081B2 JP2781081B2 (ja) 1998-07-30

Family

ID=15265488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3140296A Expired - Lifetime JP2781081B2 (ja) 1991-06-12 1991-06-12 並列演算機構による論理演算方法

Country Status (2)

Country Link
US (1) US5467292A (ja)
JP (1) JP2781081B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106020800A (zh) * 2016-05-10 2016-10-12 中国人民解放军海军航空工程学院 一种基于数据库的模拟训练设备操作逻辑建模与驱动方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0743733B2 (ja) * 1985-12-11 1995-05-15 株式会社日立製作所 論理シミュレーション方法
US4769817A (en) * 1986-01-31 1988-09-06 Zycad Corporation Concurrent fault simulation for logic designs
JPS6381567A (ja) * 1986-09-26 1988-04-12 Hitachi Ltd 論理シミユレ−シヨン処理装置
JPH03118488A (ja) * 1989-10-02 1991-05-21 Hitachi Ltd 故障シミュレーション方式

Also Published As

Publication number Publication date
JP2781081B2 (ja) 1998-07-30
US5467292A (en) 1995-11-14

Similar Documents

Publication Publication Date Title
US4306286A (en) Logic simulation machine
US4656580A (en) Logic simulation machine
Alur et al. Model-checking of correctness conditions for concurrent objects
US6023568A (en) Extracting accurate and efficient timing models of latch-based designs
Sridhar et al. A functional approach to testing bit-sliced microprocessors
Clarke et al. Word level model checking—avoiding the Pentium FDIV error
US7222317B1 (en) Circuit comparison by information loss matching
US20070011633A1 (en) Method and system for performing functional verification of logic circuits
US5491639A (en) Procedure for verifying data-processing systems
JPH02150921A (ja) 剰余検査装置
Filkorn A method for symbolic verification of synchronous circuits
US5859962A (en) Automated verification of digital design
US20080172551A1 (en) Operation verification method for verifying operations of a processor
US7673288B1 (en) Bypassing execution of a software test using a file cache
Yalcin et al. An approximate timing analysis method for datapath circuits
Kam et al. Correct-by-construction microarchitectural pipelining
Carter et al. Restricted symbolic evaluation is fast and useful
US6760894B1 (en) Method and mechanism for performing improved timing analysis on virtual component blocks
Chen et al. A new framework for static timing analysis, incremental timing refinement, and timing simulation
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
JPH04364581A (ja) 並列演算機構による論理演算方法
Pan et al. A Semi-Tensor Product based Circuit Simulation for SAT-sweeping
US10852354B1 (en) System and method for accelerating real X detection in gate-level logic simulation
Hahanov et al. " Quantum" diagnosis and simulation of SoC
US7565636B2 (en) System for performing verification of logic circuits