JPH08287134A - 論理回路の検証方法 - Google Patents

論理回路の検証方法

Info

Publication number
JPH08287134A
JPH08287134A JP7094651A JP9465195A JPH08287134A JP H08287134 A JPH08287134 A JP H08287134A JP 7094651 A JP7094651 A JP 7094651A JP 9465195 A JP9465195 A JP 9465195A JP H08287134 A JPH08287134 A JP H08287134A
Authority
JP
Japan
Prior art keywords
logic circuit
simulation
architecture
logic
signal
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
JP7094651A
Other languages
English (en)
Other versions
JP3144617B2 (ja
Inventor
Yoshito Mizogami
良人 溝上
Yoshiaki Kinoshita
佳明 木下
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 JP09465195A priority Critical patent/JP3144617B2/ja
Publication of JPH08287134A publication Critical patent/JPH08287134A/ja
Application granted granted Critical
Publication of JP3144617B2 publication Critical patent/JP3144617B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 論理回路の検証を効率良く行うことが可能な
技術を提供する。 【構成】 論理回路の動作をシミュレートする論理回路
シミュレーションと前記論理回路上で実行されるソフト
ウェアの処理をシミュレートするアーキテクチャシミュ
レーションを行って前記論理回路がその設計仕様を満た
しているかどうかを検証する論理回路の検証方法であっ
て、前記アーキテクチャシミュレーションの実行条件を
定義した論理定義を作成し、前記論理回路に前記論理回
路シミュレーションを実行し、前記論理回路シミュレー
ションの結果が前記制御定義中の前記実行条件を満たす
ときに前記アーキテクチャシミュレーションを実行し、
前記論理回路シミュレーション及び前記アーキテクチャ
シミュレーションの結果と前記論理回路の設計仕様を比
較して前記論理回路全体の検証を行うものである。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、論理回路の検証方法に
関し、特に、論理回路シミュレーションとアーキテクチ
ャシミュレーションによって論理回路を検証する論理回
路の検証方法に適用して有効な技術に関するものであ
る。
【0002】
【従来の技術】従来の計算機に用いられているマイクロ
プロセッサ等の機能は、論理回路から成るハードウェア
と前記論理回路上で実行されるソフトウェアによって実
現されている。
【0003】前記論理回路を設計する場合には、CAD
(Computer AidedDesign)システ
ムが用いられ、前記論理回路の設計仕様に基づいて前記
論理回路の動作を記述した論理回路データを前記CAD
システムに入力し、前記論理回路データを使用して前記
論理回路を検証した後、前記論理回路データに基づいて
前記論理回路の製造を行っている。
【0004】前記論理回路の検証では、前記論理回路デ
ータに対して論理回路シミュレーションを行っており、
前記論理回路シミュレーションは、入力されたCADシ
ステム内の論理回路データを構成する論理素子の動作を
シミュレートし、ある論理回路の入力端子に「0」或い
は「1」のデジタル信号を入力したときに、当該論理回
路の出力端子に出力される信号値を計算し、前記の計算
された出力信号値が当該設計仕様を満たすものであるか
を検証するものである。
【0005】前記マイクロプロセッサの機能は、前記論
理回路であるハードウェアだけでなく、前記論理回路上
で実行されるソフトウェアと共に実現されており、前記
ソフトウェアで実現される機能に相当する論理回路デー
タは存在しないので、前記論理回路全体の機能について
は、論理回路シミュレーションだけでは検証することが
できない。
【0006】また、前記マイクロプロセッサのある機能
が論理回路であるハードウェアによって実現される場合
であっても、当該論理回路の設計が完了していないとき
には当該論理回路の論理回路データが入力されていない
ので、当該論理回路の論理回路シミュレーションを実行
することができない。
【0007】そこで、前記のソフトウェアで実現される
機能及び設計の完了していない論理回路の機能について
はアーキテクチャシミュレーションを行い、設計の完了
した論理回路については論理回路シミュレーションを行
って、前記論理回路全体の検証を行っている。
【0008】前記アーキテクチャシミュレーションは、
前記のソフトウェアで実現される機能や設計の完了して
いない論理回路の機能を、C言語等のプログラム言語で
記述し、前記のプログラムを実行することによって当該
機能のシミュレーションを行うものであり、前記論理回
路シミュレーションを実行中に必要に応じて実行されて
いる。
【0009】前記論理回路シミュレーションとアーキテ
クチャシミュレーションを併用する論理シミュレーショ
ン装置については、特開平2−268341号に記載さ
れている。
【0010】その概要は、CADシステムに入力された
論理回路の機能について論理回路シミュレーションを行
うと同時に、ソフトウェアで実現される機能をプログラ
ム言語で記述したアーキテクチャシミュレーションを実
行して、論理回路全体の機能のシミュレーションを行う
ものである。
【0011】例えば、初期設定部、試験部、結果判定部
から成るある機能のうち、初期設定部と結果判定部がソ
フトウェアによって実現され、試験部が論理回路によっ
て実現される場合、初期設定部と結果判定部の機能をプ
ログラム言語で記述して初期設定部にアーキテクチャシ
ミュレーションを行い、前記アーキテクチャシミュレー
ションの結果を試験部の論理回路シミュレーションの入
力として前記論理回路シミュレーションを行い、前記論
理回路シミュレーションの結果を結果判定部のアーキテ
クチャシミュレーションの入力として前記アーキテクチ
ャシミュレーションを行うことで前記機能全体の検証を
行う。
【0012】前記論理シミュレーション装置では、前記
論理回路から論理回路シミュレーション結果を取り出し
て、入力データとしてアーキテクチャシミュレータに渡
す為の回路である検証用回路を前記論理回路データに付
加している。
【0013】前記検証用回路が付加された論理回路デー
タは、設計仕様を記述した論理回路データとは異なる論
理回路データになるので、アーキテクチャシミュレーシ
ョンを行う場合には、論理回路シミュレーション用の論
理回路データとは別にアーキテクチャシミュレーション
用の論理回路データを作成している。
【0014】前記CADシステムに入力された論理回路
データを使用し、前記の様な論理回路の検証を行った後
に、前記論理回路データに基づいて論理回路の作成が行
われ、前記の作成された論理回路が前記設計仕様を満た
すものであるかどうかの検証が行われる。
【0015】前記の作成された論理回路の検証は、前記
論理回路データに基づいて作成された論理回路の各部の
電気信号を測定し、前記論理回路の設計仕様から定まる
前記論理回路の各部の電気信号の設計値である診断デー
タと、前記論理回路の各部の電気信号の測定値を比較し
て、前記の作成された論理回路がその設計仕様を満たす
ものであるかどうかを検証している。
【0016】
【本発明が解決しようとする課題】本発明者は、前記従
来技術を検討した結果、以下の問題点を見い出した。
【0017】すなわち、従来の論理回路シミュレーショ
ンとアーキテクチャシミュレーションを併用した論理回
路の検証方法では、論理回路データを二重に作成してい
た為、前記の二重の論理回路データから成る設計ファイ
ルの管理や、不良解析及び不良対策に伴う前記の二重の
論理回路データの修正等の作業に要する負担が多大なも
のとなるという問題があった。
【0018】また、複雑な論理回路では論理の組み合わ
せの数が膨大なものとなる為、診断データの作成に多く
の時間がかかるという問題があった。
【0019】本発明の目的は、論理回路の検証を効率良
く行うことが可能な技術を提供することにある。
【0020】本発明の他の目的は、論理回路を記述した
論理回路データを二重化することなく論理回路の検証を
行うことが可能な技術を提供することにある。
【0021】本発明の他の目的は、論理回路の診断デー
タを高速に作成することが可能な技術を提供することに
ある。
【0022】本発明の前記並びにその他の目的と新規な
特徴は、本明細書の記述及び添付図面によって明かにな
るであろう。
【0023】
【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
下記のとおりである。
【0024】すなわち、論理回路の動作をシミュレート
する論理回路シミュレーションと前記論理回路上で実行
されるソフトウェアの処理をシミュレートするアーキテ
クチャシミュレーションを行って前記論理回路がその設
計仕様を満たしているかどうかを検証する論理回路の検
証方法であって、前記アーキテクチャシミュレーション
の実行条件を定義した論理定義を作成し、前記論理回路
のある論理回路部分について前記論理回路部分を構成す
る論理素子の動作をシミュレートして前記論理回路シミ
ュレーションを実行し、前記論理回路シミュレーション
の結果が前記制御定義中の前記実行条件を満たすときに
前記アーキテクチャシミュレーションを実行し、前記論
理回路シミュレーション及び前記アーキテクチャシミュ
レーションの結果と前記論理回路の設計仕様を比較して
前記論理回路全体の検証を行うものである。
【0025】また、論理回路の動作をシミュレートする
論理回路シミュレーションと前記論理回路上で実行され
るソフトウェアの処理をシミュレートするアーキテクチ
ャシミュレーションを行って前記論理回路がその設計仕
様を満たしているかどうかを検証する論理回路の検証方
法であって、前記アーキテクチャシミュレーションの実
行条件を定義した論理定義を前記論理回路の記述を変更
することなく作成し、前記論理回路のある論理回路部分
について前記論理回路部分を構成する論理素子の動作を
シミュレートして前記論理回路シミュレーションを実行
し、前記論理回路シミュレーションの結果が前記制御定
義中の前記実行条件を満たすときに前記アーキテクチャ
シミュレーションを実行し、前記論理回路シミュレーシ
ョン及び前記アーキテクチャシミュレーションの結果と
前記論理回路の設計仕様を比較して前記論理回路全体の
検証を行うものである。
【0026】また、論理回路上の電気信号を測定して前
記論理回路がその設計仕様を満たしているかどうかを検
証する論理回路の検証方法において、前記論理回路の動
作をシミュレートする論理回路シミュレーションと前記
論理回路上で実行されるソフトウェアの処理をシミュレ
ートするアーキテクチャシミュレーションを実行し、前
記論理回路シミュレーション及び前記アーキテクチャシ
ミュレーションの結果から前記論理回路の診断データを
作成し、前記診断データと前記論理回路上の電気信号の
測定値を比較して前記論理回路の検証を行うものであ
る。
【0027】
【作用】上述した手段によれば、本発明の論理回路の検
証方法では、まず、前記アーキテクチャシミュレーショ
ンの実行条件を定義した制御定義を作成する。
【0028】前記制御定義は、当該論理回路を記述した
論理回路データを使用した論理回路シミュレーションに
よって決定される前記論理回路データの信号値の値に応
じて前記アーキテクチャシミュレーションを実行するこ
とを定義したものである。
【0029】次に、前記論理回路データの入力部分を構
成する論理素子に入力信号値を設定し、前記論理素子の
動作をシミュレートして前記論理回路データの出力信号
値を計算することにより、前記論理回路シミュレーショ
ンを実行する。
【0030】前記論理回路シミュレーションを行った後
に、前記制御定義を参照し、前記論理回路シミュレーシ
ョンによって決定された前記論理回路データの出力信号
値が前記アーキテクチャシミュレーションの実行条件を
満たすときに、前記出力信号値をアーキテクチャシミュ
レーションの入力信号値として入力し、前記アーキテク
チャシミュレーションを実行する。
【0031】前記論理回路シミュレーション及び前記ア
ーキテクチャシミュレーションを前記論理回路データ全
てに行って、その結果が当該論理回路の設計仕様を満た
すものであるかを検証する。
【0032】以上の様に、本発明の論理回路の検証方法
では、前記論理定義を参照することにより、前記論理回
路シミュレーション中に前記アーキテクチャシミュレー
ションを実行するので、論理回路の検証を効率良く行う
ことが可能である。
【0033】また、本発明の論理回路の検証方法では、
前記アーキテクチャシミュレーションの実行条件を定義
した制御定義を、前記論理回路を記述した論理回路デー
タ中に作成するのではなく、前記論理回路データとは別
に作成する。
【0034】前記制御定義は、前記論理回路を記述した
論理回路データを使用した論理回路シミュレーションに
よって決定される前記論理回路データの信号値の値に応
じて前記アーキテクチャシミュレーションを実行するこ
とを定義したものであり、また、前記実行条件を判定す
る際に必要となる当該論理回路データの信号値が格納さ
れている場所を格納している。
【0035】次に、前記論理回路データの入力部分を構
成する論理素子に入力信号値を設定し、前記論理素子の
動作をシミュレートして当該論理回路の出力信号値を計
算することにより、前記論理回路シミュレーションを実
行する。
【0036】前記論理回路シミュレーションを行った後
に、前記制御定義を参照し、前記実行条件の判定に必要
な前記論理回路データの信号値を調べて、前記論理回路
シミュレーションによって決定された当該論理回路の出
力信号値が前記アーキテクチャシミュレーションの実行
条件を満たすときに、前記出力信号値をアーキテクチャ
シミュレーションの入力信号値として入力し、前記アー
キテクチャシミュレーションを実行する。
【0037】前記論理回路シミュレーション及び前記ア
ーキテクチャシミュレーションを前記論理回路データ全
てに行って、その結果が当該論理回路の設計仕様を満た
すものであるかを検証する。
【0038】以上の様に、本発明の論理回路の検証方法
では、論理回路データにアーキテクチャシミュレーショ
ンを実行する為の検証用回路を付加することなく、アー
キテクチャシミュレーションを実行するので、論理回路
データを二重化することなく論理回路の検証を行うこと
が可能である。
【0039】また、本発明の論理回路の検証方法では、
前記論理回路シミュレーションと前記アーキテクチャシ
ミュレーションの結果によって得られる論理回路各部の
信号値から、前記論理回路データに基づいて作成された
論理回路の診断データを作成する。
【0040】前記論理回路シミュレーション及び前記ア
ーキテクチャシミュレーションの結果に物理的な階層分
割を行って、前記の作成された論理回路上の電気信号を
測定する際に測定箇所となる信号線の前記シミュレーシ
ョン結果を抽出し、当該測定箇所の診断データを作成す
る。
【0041】前記論理回路データに基づいて作成された
論理回路を実際に動作させ、前記論理回路上の電気信号
を測定し、前記電気信号の測定値と前記診断データを比
較して前記論理回路の検証を行う。
【0042】以上の様に、本発明の論理回路の検証方法
では、論理回路シミュレーションとアーキテクチャシミ
ュレーションの結果によって当該論理回路の診断データ
を作成するので、論理回路の診断データを高速に作成す
ることが可能である。
【0043】
【実施例】以下、本発明について、一実施例とともに図
面を参照して詳細に説明する。
【0044】図1は、本発明の論理回路の検証方法を実
施する論理回路シミュレータとアーキテクチャシミュレ
ータの概略構成を示す図である。図1において、101
は論理回路シミュレータ、102は論理回路、103と
104は信号線、105と106はデータの流れを示す
矢印、107は制御定義、108は定義部、109はト
リガ定義部、110はアーキテクチャシミュレータの呼
び出しを示す矢印、111はアーキテクチャシミュレー
タからの戻りを示す矢印、112はアーキテクチャシミ
ュレータに信号値が渡されることを示す矢印、113は
アーキテクチャシミュレータから信号値が戻されること
を示す矢印、114はアーキテクチャシミュレータ、1
15は信号値を入力する入力関数、116は信号値を出
力する出力関数である。
【0045】図1に示す様に、本実施例の論理回路の検
証方法では、論理回路シミュレータ101が、論理回路
102の信号値と制御定義107に定義された起動条件
により、アーキテクチャシミュレータ114を起動す
る。
【0046】例えば、論理回路102には、制御定義1
07の宣言部108に記述した信号名称SIGAの信号
線103と信号名称SIGBの信号線104が存在し、
論理回路シミュレータ101を実行することにより、信
号線103と信号線104の信号値が変化する。
【0047】前記の信号線103と信号線104の信号
値の変化は、直ちにデータの流れ105、106に従っ
て制御定義107の宣言部108を介してトリガ定義部
109に伝えられる。
【0048】トリガ定義部109は、信号線103また
は信号線104の値が代入された変数SIGの値を調
べ、SIGを値が「0」よりも大きいときに、アーキテ
クチャシミュレータ114を起動する。
【0049】起動されたアーキテクチャシミュレータ1
14では、宣言部108に定義された各信号線の信号値
を入力関数115により取り込み、設計仕様に応じた内
部処理を行った後に、出力関数116により宣言部10
8に定義された各信号線に出力信号値を設定する。
【0050】アーキテクチャシミュレータ114の実行
を終了すると、制御定義107に戻り、制御定義107
の処理を全て終了した後、論理回路102の論理回路シ
ミュレーションを続行する。
【0051】前記の処理を繰り返すことによって、論理
回路シミュレータ101と、アーキテクチャシミュレー
タ114の連動による論理回路全体の検証が行われる。
【0052】図2は、本実施例の論理回路の検証方法に
よって検証の対象となる論理回路の一例を示す図であ
る。図2において、201は論理回路、202はAND
論理素子、203はフリップフロップ論理素子、211
は入力端子である。
【0053】図2に示す様に、本実施例の論理回路の検
証方法で検証の対象となる論理回路は、ハードウェアを
作成する為の部品接続情報を回路記述で表現している。
それぞれの論理素子は、前記論理素子を接続する信号線
にユニークな名称を持ち、各論理素子間の接続に矛盾を
起こさない構成で回路記述が行われている。
【0054】たとえば、論理回路201の入力端子21
1は、AND論理素子202の入力端子に信号名称DA
TAによって接続され、AND論理素子202の出力端
子は、信号名称DATA1によってフリップフロップ論
理素子203のD入力端子に接続されている。
【0055】論理回路201が動作すると、各信号線の
信号値が変化することにより、各論理素子に前記信号値
が伝播され、前記の伝播された信号値に従って接続され
た論理素子がハードウェア設計で定められた論理機能の
演算を行った後、前記演算結果である信号値を素子の出
力端子に出力する。
【0056】図3は、本実施例の論理回路の検証方法の
制御定義の一例を示す図である。図3において、301
は制御定義、302は宣言部、303はパラメタ、30
4は信号線、310はトリガ定義部、401はアーキテ
クチャシミュレータである。
【0057】図3に示す様に、本実施例の論理回路の検
証方法において、制御定義301の宣言部302では、
アーキテクチャシミュレータ401の起動及び信号値を
渡す為の引数として用いるパラメタ303とともに、論
理回路201の信号名称を信号線304として定義し、
論理回路201とアーキテクチャシミュレータ401を
対応させている。
【0058】信号線304として定義された論理回路2
01の信号線が変化したとき、その信号線304が定義
されたパラメタ303を使用しているトリガ定義部31
0を起動し、定義された条件判定を行った後、条件が成
立すればその記述内に定義されたアーキテクチャシミュ
レータ401を起動する。
【0059】パラメタ303のTRGに定義されている
信号名称DATA1の信号線304(1)及び信号名称
CTRLの信号線304(2)の信号値の変化が発生し
たとき、トリガ定義部310の条件判定を行い、信号名
称DATA1の信号線304(1)の信号値がハイ、信
号名称CTRLの信号線304(2)の信号値がローの
とき、すなわちパラメタ303のTRGが2(2進数で
10)のときトリガ定義部310の条件が成立し、引数
として宣言部302で定義されているARG1(信号名
称ADR1、ADR2)、ARG2(信号名称OUT
1)を用いてアーキテクチャシミュレータ401を起動
する。起動されたアーキテクチャシミュレータ401
は、引数ARG1及びARG2を用いて各種の内部処理
を行う。
【0060】図4は、本実施例の論理回路の検証方法の
アーキテクチャシミュレータの一例を示す図である。図
4において、401はアーキテクチャシミュレータであ
る。
【0061】図4に示す様に、本実施例の論理回路の検
証方法では、アーキテクチャシミュレータ401の内部
記憶であるMEMのARG1の示すアドレスに存在する
内容をARG2に出力する。すなわち、アーキテクチャ
シミュレータ401の内部メモリMEMから信号名称A
DR1、ADR2が示すアドレスに存在する値を信号名
称OUT1に出力する。
【0062】アーキテクチャシミュレータ401の動作
を終了すると、呼び出し元である制御定義301に制御
を戻し、また制御定義301の動作を終了すると、論理
回路のシミュレーションへと制御を戻す。
【0063】図5は、本実施例の論理回路の検証方法の
論理表現テーブルを示す図である。図5において、50
1は論理表現テーブル、502は素子機能、503は入
力数、504は出力数、505は素子ディレイ、506
は入力信号値1、507は入力信号値2、508は出力
信号値、509は入力1接続先、510は入力2接続
先、511は出力1接続先、512は信号名テーブルポ
インタ、513は制御定義テーブルポインタである。
【0064】図5に示す様に、本実施例の論理回路の検
証方法において、論理表現テーブル501は、論理回路
上の論理素子をシミュレーション実行可能な形式に変換
したテーブルであり、論理回路上の各論理素子毎に1個
の論理表現テーブル501が作成されている。
【0065】論理表現テーブル501の素子機能502
は、AND、OR等の論理素子を設定し、それぞれの論
理表現テーブル501の動作を表現している。また、入
力数503及び出力数504は、当該論理素子の入力端
子及び出力端子へ接続されている信号線の数を表し、素
子機能502での出力信号値の演算を行うとき、必要と
なる入力信号線の入力信号値506の個数と、前記信号
値を伝播すべき論理表現テーブルを示す出力接続先51
1の個数を示す。
【0066】素子ディレイ505は、当該論理素子の信
号値の出力に要する遅延時刻を設定し、入力信号値50
6及び507に信号変化が発生したとき、論理演算結果
の出力信号値508を出力接続先511が示す論理表現
テーブル501に伝播するときの遅延時刻として使用す
る。すなわち、当該論理素子の素子ディレイが2nsで
あれば、当該論理素子の出力信号値508が変化したと
き、2ns後に出力接続先511で示される論理素子に
変化後の出力信号値508を伝播する。
【0067】信号名テーブルポインタ512は、当該論
理素子の出力端子の信号名称を持つ信号名テーブルが格
納されているアドレスを持ち、当該論理素子の出力信号
の名称を参照することが可能である。
【0068】制御定義テーブルポインタ513は、論理
表現テーブル501の出力信号の名称が、制御定義30
1の宣言部302で定義されているとき、前記出力信号
の名称と使用しているトリガ定義部310から作成され
る制御定義テーブルの格納アドレスを示すものである。
【0069】図6は、本実施例の論理回路の検証方法で
検証の対象となる論理回路の信号名を格納した信号名テ
ーブルを示す図である。図6において、520は信号名
テーブル、521は信号名、522は論理表現テーブル
ポインタ、523は信号名テーブル520の階層情報で
ある。
【0070】図6に示す様に、本実施例の論理回路の検
証方法において、信号名テーブル520は、シミュレー
ション対象の論理回路上の全ての信号名称を信号名52
1に持ち、当該信号名称を持つ論理表現テーブル501
が格納されたアドレスを論理表現テーブルポインタ52
2に持っている。この信号名テーブル520により、制
御定義301の宣言部302で定義された信号名称と論
理表現テーブル501を関連づけすることが可能であ
る。
【0071】図7は、本実施例の論理回路の検証方法の
制御定義の内容を格納した制御定義テーブルを示す図で
ある。図7において、530は制御定義テーブル、53
1は使用パラメタ数、532は条件判定式、533はパ
ラメタ1の定義信号数、534は定義信号の信号名テー
ブルポインタ、535はパラメタ2の定義信号数、53
6は定義信号の信号名テーブルポインタ、537はアー
キテクチャシミュレータアドレス、538は定義引数の
個数、539は引数1の信号名数、540は引数1の信
号名テーブルポインタ、541は引数2の信号名数、5
42は引数2の信号名テーブルポインタである。
【0072】図7に示す様に、本実施例の論理回路の検
証方法の制御定義テーブル530は、制御定義301で
定義されている内容をシミュレーションで取り扱い易い
構造に変換したものであり、各トリガ定義部310毎に
制御定義テーブル530が作成されている。
【0073】トリガ定義部310で判定条件として使用
されるパラメタ303は、複数使用することが可能であ
り、この使用個数を使用パラメタ数531に設定し、各
パラメタごとに、その定義信号数をパラメタの定義信号
数533、535に設定し、信号線304の信号名テー
ブル520の格納アドレスを信号名テーブルポインタ5
34、536に設定する。
【0074】トリガ定義部310の条件判定文は、条件
判定式532に設定し、論理回路シミュレータ101は
こ前記の条件判定を行う為に、各パラメタで定義された
信号線304の信号名テーブルポインタが指す信号名テ
ーブル520から論理表現テーブルポインタ522を抽
出し、論理表現テーブル501の出力信号値508を取
り出して前記パラメタの値として用いる。
【0075】前記条件判定が成立すると、制御定義テー
ブル530に登録してあるアーキテクチャシミュレータ
アドレス537に示すアドレスへ制御を移し、当該アー
キテクチャシミュレータを実行する。このとき、制御定
義テーブル530の定義引数の個数538が格納された
アドレスを前記アーキテクチャシミュレータへの引数と
して渡す。
【0076】前記アーキテクチャシミュレータは、引数
として与えられた定義引数の個数538のアドレスによ
り、信号値の入力関数及び信号値の出力関数を用いて、
制御定義テーブル530に登録されている当該引数の信
号数539、541と、その個数分の定義信号の信号名
テーブルポインタ540、542を参照する。
【0077】次に、前記アーキテクチャシミュレータ
は、信号名テーブルポインタ540、542から信号名
テーブル520を参照し、信号名テーブル520の論理
表現テーブルポインタ522から論理表現テーブル50
1を参照して、各信号線の信号値を論理表現テーブル5
01の出力信号値508から得る。
【0078】また、各信号線の信号値を設定する場合に
も前記と同様にして、信号名テーブルポインタ540か
ら信号名テーブル520を参照し、信号名テーブル52
0の論理表現テーブルポインタ522から論理表現テー
ブル501にアクセスして、各信号線の論理表現テーブ
ル501の出力信号値508に当該信号値を設定する。
【0079】以下に、本実施例の論理回路の検証方法に
おいて、ある事象の発生により処理を実行するイベント
ドリブンによって論理回路の検証を行う手順について説
明する。
【0080】図8は、本実施例の論理回路の検証方法の
処理手順を示すフローチャートである。
【0081】図9は、本実施例の論理回路の検証方法を
実行する際の時間の経過を示すタイムホイールとイベン
トテーブルを示す図である。図9において、700はタ
イムホイール、710はイベントテーブル、711はイ
ベント、712はフラグである。
【0082】図9に示す様に、本実施例の論理回路の検
証方法において、イベントドリブンによって論理回路の
検証を行うときには、まず、タイムホイール700にイ
ベントテーブル710中の処理しようとするイベント7
11を設定し、シミュレーション時刻を示すタイムホイ
ール700の矢印を移動させて、前記矢印が指すイベン
トを実行する。また、イベントテーブル710に示され
たイベント711は、当該イベントの種類を示すフラグ
712を持っている。
【0083】本実施例の論理回路の検証方法では、図8
に示す様に、まず、ステップ601において、論理回路
情報を、シミュレーション実行可能な形式に変換する為
の論理回路情報展開を行い、各論理素子の接続状態を論
理表現テーブルに変換する。
【0084】このとき、各論理素子の入力端子数及び出
力端子数を、それぞれ論理表現テーブル501の入力数
503、出力数504に設定し、各端子の数の入力信号
値506、507及び出力信号値508を格納する記憶
領域を確保する。
【0085】これらの端子に接続される信号線の接続先
は、ネットリストなどから、その接続先を抽出し、入力
接続先509、510と出力接続先511に接続先の論
理表現テーブルの先頭アドレスを設定する。
【0086】また、各入出力端子に接続される信号線
は、信号名テーブル520にその信号名称を信号名52
1として登録し、前記信号線が出力端子に接続するとき
は論理表現テーブル501の先頭アドレスを信号名テー
ブル520の論理表現テーブルポインタ522に登録す
るとともに、論理表現テーブル501の信号名テーブル
ポインタ512に、前記信号名を登録した信号名テーブ
ルのアドレスを設定する。また、ネットリストに存在す
るインスタンス名等の階層情報は、信号名テーブル52
0の階層情報523として登録する。
【0087】検証の対象である論理回路全ての論理表現
テーブル501と信号名テーブル520を作成したの
ち、ステップ602において、予め入力情報としてカー
ド等の記憶媒体に作成した制御定義301及び、プログ
ラム言語によって作成された後に実行形式に変換された
アーキテクチャシミュレータ401を読み込み、制御定
義テーブル530を作成する。
【0088】制御定義テーブル530の使用パラメタ数
531は、制御定義301のトリガ定義部310の判定
条件に使用されたパラメタ303の数を設定し、それぞ
れのパラメタに対する条件判定式532は、AND、O
R、比較演算子等の論理式で登録する。
【0089】また、判定条件に用いたパラメタ303の
定義内容については、まず各パラメタの定義信号数53
3、535を設定し、前記設定した定義信号数に応じて
定義信号の信号名テーブルポインタ534、536を設
定する。
【0090】前記判定条件に用いたパラメタ内容を設定
し、また、シミュレーション時刻を「0」に設定した
後、パラメタの個数を定義引数の個数538に登録し、
信号名の個数を引数の信号名数539に、当該信号名テ
ーブルポインタを引数の信号名テーブルポインタ540
に設定する。
【0091】引数の信号名数539で示される個数分
の、信号名テーブルポインタ540を設定したのち、次
の引数に対する信号名数541及びその構成要素である
信号名の信号名テーブルポインタ542を順次設定す
る。
【0092】ステップ603では、呼び出されるアーキ
テクチャシミュレータをダイナミックにメモリ上に配置
し、その論理的なアドレスをアーキテクチャシミュレー
タアドレス537に設定する。
【0093】同一判定条件で複数個のアーキテクチャシ
ミュレータを実行する制御定義がある場合には、前記の
の設定を繰り返して制御定義テーブル530を完成す
る。
【0094】ステップ604では、異なる判定条件が存
在すると、その判定条件に対して、ステップ602から
ステップ603を繰り返し、全ての判定条件に対する制
御定義テーブル530を作成する。
【0095】次のステップ605においては、予め記憶
媒体に作成して準備した入力テストパターンを読み込
み、前記入力テストパターンに対応する信号線の入力信
号値を信号線の接続先である論理表現テーブル501に
設定し、論理表現テーブル501のアドレスを、タイム
ホイール700の時刻「0」に接続するイベントテーブ
ル710のイベント711に、論理回路シミュレーショ
ンを開始するイベントとして登録する。
【0096】入力された初期値を全て論理表現テーブル
501に設定し、その信号値によるイベント711を登
録完了したのち、ステップ606からシミュレーション
時刻に従った論理回路シミュレーションを実行する。
【0097】すなわち、ステップ606においては、シ
ミュレーション時刻を示すタイムホイール700の対応
する時刻に接続されるイベントテーブル710に存在す
るイベント711を順次取り込み、フラグ712が
「0」のときステップ608、1のときステップ609
を実行する(ステップ607)。
【0098】ステップ608では、イベント711が示
す論理表現テーブル501の入力信号値506、507
を基に、素子機能502に基づいた出力信号値を算出
し、出力信号値508にその信号値を設定する。
【0099】また、当該論理素子の論理表現テーブル5
01が持つ素子ディレイ505を加えた時刻のタイムホ
イール700に接続されるイベントテーブル710上
に、当該論理素子の出力信号線の接続先である出力接続
先511の値(アドレス)をイベント711として登録
する。
【0100】このとき論理表現テーブル501上の制御
定義テーブルポインタ513がゼロ以外(すなわち、制
御定義テーブルがこの論理表現テーブル501に接続さ
れている状態)のとき、接続先の制御定義テーブルポイ
ンタ513もイベントテーブル710上にイベント71
1として登録し、フラグ712を「1」に設定する。こ
のイベント711のフラグ712が「1」のときは制御
定義テーブル530へのイベントであることを示す。
【0101】ステップ609では、イベント711が示
す制御定義テーブル530の処理を実行する。まず、制
御定義テーブル530の使用パラメタ数531で示され
るパラメタ数の信号名テーブルポインタ534から信号
名テーブル520を取り出し、その中に定義された論理
表現テーブルポインタ522が示す論理表現テーブル5
01の中の出力信号値508から各パラメタの入力信号
値を求め、条件判定式532を実行したのち、前記の条
件が成立したら制御定義テーブル530の各引数の信号
名数538、541のアドレスを引数としてアーキテク
チャシミュレータアドレス533に示されるアドレスに
制御を移す。
【0102】すなわち、この時点でアーキテクチャシミ
ュレータが呼び出される。呼び出されたアーキテクチャ
シミュレータでは、渡された引数により信号値を読む入
力関数が、制御定義テーブル530の当該引数の信号名
テーブルポインタ540、542から信号名テーブル5
20を介し、論理表現テーブル501に設定されている
出力信号値508を読み込むことにより入力信号値を得
ることができる。
【0103】また、出力信号値を設定する信号値の出力
関数では、同様にして論理表現テーブル501の出力信
号値508に目的とする値を設定し、出力接続先511
の内容を素子ディレイ505後のイベントテーブル71
0上にイベント711として登録する。
【0104】実行中のシミュレーション時刻と同じ時刻
のイベントテーブル710上のイベント711がなくな
るまで、ステップ605から繰り返し(ステップ61
0)、次のシミュレーション時刻に進め(ステップ61
1)、シミュレーション終了時刻までこれらの処理を繰
り返す(ステップ612)。
【0105】以上の様に、本実施例の論理回路の検証方
法によれば、アーキテクチャシミュレーションの実行条
件を定義した論理定義を参照することにより、論理回路
シミュレーション中にアーキテクチャシミュレーション
を実行するので、論理回路の検証を効率良く行うことが
可能である。
【0106】また、本実施例の論理回路の検証方法によ
れば、論理回路データにアーキテクチャシミュレーショ
ンを実行する為の検証用回路を付加することなく、アー
キテクチャシミュレーションを実行するので、前記論理
回路データを二重化することなく論理回路の検証を行う
ことが可能である。
【0107】以下に、本発明の論理回路の検証方法にお
いて、論理回路の診断データを作成する手順について説
明する。
【0108】本実施例の論理回路の検証方法では、論理
回路を記述した論理回路データを使用して論理回路シミ
ュレーション及びアーキテクチャシミュレーションを実
行し、前記論理回路の各部の動作や前記論理回路上で実
行されるソフトウェアのシミュレーションを行って、前
記論理回路の各部の信号値を計算し、前記信号値を記憶
装置に格納する。
【0109】次に、前記論理回路データに基づいて作成
された論理回路上の電気信号を測定する際に、測定箇所
となる信号線の前記シミュレーション結果を抽出して、
前記測定箇所の診断データを作成する。
【0110】つまり、信号名テーブル520の階層情報
523に記載された物理的な階層記述を示すインスタン
ス名を抽出し、同一インスタンス名を持つ信号名52
1、すなわち当該階層の信号線の信号値を、前記記憶装
置に格納した信号値から抽出して前記論理回路の診断デ
ータを作成する。
【0111】次に、前記論理回路データに基づいて作成
された論理回路を実際に動作させて、前記論理回路上の
各部の電気信号を測定し、前記の測定値と前記診断デー
タを比較することによって前記論理回路の検証を行う。
【0112】以上の様に、本実施例の論理回路の検証方
法では、論理回路シミュレーション及びアーキテクチャ
シミュレーションの結果によって当該論理回路の診断デ
ータを作成するので、論理回路の診断データを高速に作
成することが可能である。
【0113】以上、本発明を、前記実施例に基づき具体
的に説明したが、本発明は、前記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲において種々変
更可能であることは勿論である。
【0114】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば、下
記のとおりである。
【0115】すなわち、アーキテクチャシミュレーショ
ンの実行条件を定義した論理定義を参照することによ
り、論理回路シミュレーション中にアーキテクチャシミ
ュレーションを実行するので、論理回路の検証を効率良
く行うことが可能である。
【0116】また、論理回路を記述した論理回路データ
にアーキテクチャシミュレーションを実行する為の検証
用回路を付加することなく、アーキテクチャシミュレー
ションを実行するので、前記論理回路データを二重化す
ることなく論理回路の検証を行うことが可能である。
【0117】また、本発明の論理回路の検証方法では、
論理回路シミュレーション及びアーキテクチャシミュレ
ーションの結果によって論理回路の診断データを作成す
るので、論理回路の診断データを高速に作成することが
可能である。
【図面の簡単な説明】
【図1】本発明の論理回路の検証方法を実施する論理回
路シミュレータとアーキテクチャシミュレータの概略構
成を示す図である。
【図2】本実施例の論理回路の検証方法の検証の対象と
なる論理回路の一例を示す図である。
【図3】本実施例の論理回路の検証方法の制御定義の一
例を示す図である。
【図4】本実施例の論理回路の検証方法のアーキテクチ
ャシミュレータの一例を示す図である。
【図5】本実施例の論理回路の検証方法の論理表現テー
ブルを示す図である。
【図6】本実施例の論理回路の検証方法の信号名テーブ
ルを示す図である。
【図7】本実施例の論理回路の検証方法の制御定義テー
ブルを示す図である。
【図8】本実施例の論理回路の検証方法の処理手順を示
すフローチャートである。
【図9】本実施例の論理回路の検証方法の処理を実行す
る際の時間の経過を示すタイムホイールとイベントテー
ブルを示す図である。
【符号の説明】
101…論理回路シミュレータ、102…論理回路、1
03…信号線、104…信号線、108…宣言部、10
9…トリガ定義部、110…アーキテクチャシミュレー
タ呼び出し、111…アーキテクチャシミュレータから
の戻り、114…アーキテクチャシミュレータ、201
…論理回路、301…制御定義、302…宣言部、30
3…パラメタ、304(1)、304(2)…信号線、
310…トリガ定義部、401…アーキテクチャシミュ
レータ、501…論理表現テーブル、520…信号名テ
ーブル、530…制御定義テーブル、700…タイムホ
イール、710…イベントテーブル、711…イベン
ト、712…フラグ。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 論理回路の動作をシミュレートする論理
    回路シミュレーションと前記論理回路上で実行されるソ
    フトウェアの処理をシミュレートするアーキテクチャシ
    ミュレーションを行って前記論理回路がその設計仕様を
    満たしているかどうかを検証する論理回路の検証方法で
    あって、 前記アーキテクチャシミュレーションの実行条件を定義
    した論理定義を作成し、前記論理回路のある論理回路部
    分について前記論理回路部分を構成する論理素子の動作
    をシミュレートして前記論理回路シミュレーションを実
    行し、前記論理回路シミュレーションの結果が前記制御
    定義中の前記実行条件を満たすときに前記アーキテクチ
    ャシミュレーションを実行し、前記論理回路シミュレー
    ション及び前記アーキテクチャシミュレーションの結果
    と前記論理回路の設計仕様を比較して前記論理回路全体
    の検証を行うことを特徴とする論理回路の検証方法。
  2. 【請求項2】 論理回路の動作をシミュレートする論理
    回路シミュレーションと前記論理回路上で実行されるソ
    フトウェアの処理をシミュレートするアーキテクチャシ
    ミュレーションを行って前記論理回路がその設計仕様を
    満たしているかどうかを検証する論理回路の検証方法で
    あって、 前記アーキテクチャシミュレーションの実行条件を定義
    した論理定義を前記論理回路の記述を変更することなく
    作成し、前記論理回路のある論理回路部分について前記
    論理回路部分を構成する論理素子の動作をシミュレート
    して前記論理回路シミュレーションを実行し、前記論理
    回路シミュレーションの結果が前記制御定義中の前記実
    行条件を満たすときに前記アーキテクチャシミュレーシ
    ョンを実行し、前記論理回路シミュレーション及び前記
    アーキテクチャシミュレーションの結果と前記論理回路
    の設計仕様を比較して前記論理回路全体の検証を行うこ
    とを特徴とする論理回路の検証方法。
  3. 【請求項3】 論理回路上の電気信号を測定して前記論
    理回路がその設計仕様を満たしているかどうかを検証す
    る論理回路の検証方法において、 前記論理回路の動作をシミュレートする論理回路シミュ
    レーションと前記論理回路上で実行されるソフトウェア
    の処理をシミュレートするアーキテクチャシミュレーシ
    ョンを実行し、前記論理回路シミュレーション及び前記
    アーキテクチャシミュレーションの結果から前記論理回
    路の診断データを作成し、前記診断データと前記論理回
    路上の電気信号の測定値を比較して前記論理回路の検証
    を行うことを特徴とする論理回路の検証方法。
JP09465195A 1995-04-20 1995-04-20 論理回路の検証方法 Expired - Fee Related JP3144617B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09465195A JP3144617B2 (ja) 1995-04-20 1995-04-20 論理回路の検証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09465195A JP3144617B2 (ja) 1995-04-20 1995-04-20 論理回路の検証方法

Publications (2)

Publication Number Publication Date
JPH08287134A true JPH08287134A (ja) 1996-11-01
JP3144617B2 JP3144617B2 (ja) 2001-03-12

Family

ID=14116167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09465195A Expired - Fee Related JP3144617B2 (ja) 1995-04-20 1995-04-20 論理回路の検証方法

Country Status (1)

Country Link
JP (1) JP3144617B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532573B1 (en) 1999-08-20 2003-03-11 Nec Corporation LSI verification method, LSI verification apparatus, and recording medium
US6782354B1 (en) 1999-10-12 2004-08-24 Nec Electronics Corporation Method for producing simulation models and simulation system using simulation models

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532573B1 (en) 1999-08-20 2003-03-11 Nec Corporation LSI verification method, LSI verification apparatus, and recording medium
US6782354B1 (en) 1999-10-12 2004-08-24 Nec Electronics Corporation Method for producing simulation models and simulation system using simulation models

Also Published As

Publication number Publication date
JP3144617B2 (ja) 2001-03-12

Similar Documents

Publication Publication Date Title
JP3248753B2 (ja) 組み合わせ論理回路の遷移表決定方法及び装置
JPH05143674A (ja) 回路図形データベースからの自動論理モデル作成方法
JP2000082094A (ja) 半導体集積回路設計検証システム
JP2000132416A (ja) 半導体集積回路設計検証装置
JPS63145549A (ja) 論理回路シミユレ−シヨン方法
US20020072889A1 (en) Efficient array tracing in a logic simulator machine
CN111624475B (zh) 大规模集成电路的测试方法及系统
JP3144617B2 (ja) 論理回路の検証方法
US7086017B1 (en) Method of post-implementation simulation of a HDL design
US7051301B2 (en) System and method for building a test case including a summary of instructions
JP2001318959A (ja) 論理回路検証装置
US6898562B2 (en) Method and system for efficiently overriding net values in a logic simulator machine
JP2891004B2 (ja) 論理icのタイミングチェック方式
JPS59117660A (ja) シミユレ−シヨン状態復元処理方式
JP3586587B2 (ja) Lsiの回路ブロック間接続検証システム及びその方法
JP4183035B2 (ja) 設計支援装置、およびソースコードカバレッジ方法、並びにそのプログラム
JPH09259170A (ja) 集積回路用セルの波形情報ライブラリ作成装置
JPH05303605A (ja) 論理シミュレーション機能検証装置及び論理シミュレーション遅延検証装置
JP2003076739A (ja) 論理検証装置及び方法並びにプログラム
JP3696302B2 (ja) テストベクトル生成方法及び生成装置
Miyoshi et al. An extensive logic simulation method of very large scale computer design
JP2001101254A (ja) 故障シミュレーション装置及び方法並びに故障シミュレーションプログラムを記録した記憶媒体
JPH09198417A (ja) 論理シミュレータ
JPH0512370A (ja) 論理回路模擬試験装置
JPH09231255A (ja) ハードウエア/ソフトウエア協調検証方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080105

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080105

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090105

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100105

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110105

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120105

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees