JP2004070529A - 論理回路シミュレーション方法及び装置 - Google Patents

論理回路シミュレーション方法及び装置 Download PDF

Info

Publication number
JP2004070529A
JP2004070529A JP2002226672A JP2002226672A JP2004070529A JP 2004070529 A JP2004070529 A JP 2004070529A JP 2002226672 A JP2002226672 A JP 2002226672A JP 2002226672 A JP2002226672 A JP 2002226672A JP 2004070529 A JP2004070529 A JP 2004070529A
Authority
JP
Japan
Prior art keywords
logic circuit
time point
instruction
execution
storage unit
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
Application number
JP2002226672A
Other languages
English (en)
Inventor
Yasuki Nakamura
中村 泰基
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
Priority to JP2002226672A priority Critical patent/JP2004070529A/ja
Publication of JP2004070529A publication Critical patent/JP2004070529A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】パイプライン処理を行なうプロセッサの論理回路の動作をシミュレーションして検証を行なう場合に正常動作結果が期待値と一致するようにして検証を容易に行う。
【解決手段】命令レベルシミュレータ16によりテストプログラム12を実行してその複数ステップの各命令コードの実行結果を取得し、該実行結果と、該実行結果が得られる第1時点に対応した論理回路シミュレータ18による論理回路の動作の第2時点での動作結果とを比較して、該論理回路の検証を行うコンピュータ10を備えた論理回路シミュレーション装置において、該第1時点における、該命令コードの実行により書き替えられる記憶部の内容と、該第2時点における、該書き替えられる記憶部に対応した該論理回路の記憶部の内容との比較のみ行う。
【選択図】     図1

Description

【0001】
【発明の属する技術分野】
本発明は、論理回路シミュレーション方法及び装置に係り、特に、命令レベルシミュレータによりテストプログラムを実行してその複数ステップの各命令コードの実行結果を期待値として取得し、これを論理回路シミュレータによる論理回路の動作結果とを比較して論理回路の検証を行う論理回路シミュレーション方法及び装置に関する。
【0002】
【従来の技術】
論理回路レベルで設計されたプロセッサの動作をシミュレータで検証する場合、命令レベルシミュレータでテストプログラムを実行してその各ステップの命令コード実行結果を期待値として取得し、これを論理回路の動作結果と比較することが行なわれている。このような従来の論理回路シミュレーション方法では、各命令コード実行完了時点での全レジスタの内容が期待値として用いられていた(特開平7−36732号公報)。
【0003】
ステップ1で例えばレジスタR1の内容とレジスタR2の内容の乗算を実行してその結果をレジスタR3に代入する命令
MUL R1,R2,R3
を実行し、次にステップ2でレジスタR4の内容とレジスタR5の内容とを加算してその結果をレジスタR6に代入する加算命令
ADD R4,R5,R6
を実行する場合、全レジスタがR1〜R6であるとすると、この乗算命令の実行完了時点でのレジスタR1〜R6の内容をステップ1での期待値とし、次に加算命令実行完了時点でのレジスタR1〜R6の内容をステップ2の期待値としていた。
【0004】
【発明が解決しようとする課題】
しかしながら、設計対象のプロセッサがパイプライン処理を行なう場合、論理回路シミュレータによる論理回路の動作においては上記乗算結果が得られる前に上記加算結果が得られるのに対し、命令レベルシミュレータではパイプライン処理が考慮されないので、論理回路の動作が正常であってもその結果が期待値と一致しない。このため、テストプログラムの内容及びパイプライン処理の動作に応じて、正常動作の場合に両者が一致するように動作結果を解析しなければならないので、論理回路の検証を容易に行なうことができないという問題があった。
【0005】
本発明の目的は、このような問題点に鑑み、パイプライン処理を行なうプロセッサの論理回路の動作をシミュレーションして検証を行なう場合に正常動作結果が期待値と一致するようにして検証を容易に行うことが可能な論理回路シミュレーション方法及び装置を提供することにある。
【0006】
【課題を解決するための手段及びその作用効果】
本発明の一態様では、命令レベルシミュレータによりテストプログラムを実行してその複数ステップの各命令コードの実行結果を取得し、該実行結果と、該実行結果が得られる第1時点に対応した論理回路シミュレータによる論理回路の動作の第2時点での動作結果とを比較して、該論理回路の検証を行うコンピュータを備えた論理回路シミュレーション装置において、
該第1時点における、該命令コードの実行により書き替えられる記憶部の内容と、該第2時点における、該書き替えられる記憶部に対応した該論理回路の記憶部の内容との比較のみ行う。
【0007】
従来のように該命令コード以外の命令コードの実行により書き替えられない記憶部の内容も比較の対象にすると、該論理回路がパイプライン処理する場合、該論理回路が正常動作する場合であっても比較結果に不一致が生ずる可能性がある。
【0008】
これに対し上記一態様によれば、該命令コードの実行により書き替えられる記憶部の内容のみが比較対象となるので、このような不一致は生ぜず、論理回路の動作の検証を従来よりも容易に行なうことができる。
【0009】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【0010】
【発明の実施の形態】
以下、図面を参照して本発明の一実施例を説明する。
【0011】
図1は、本発明の一実施例の論理回路シミュレーション装置の概略機能ブロック図である。
【0012】
この装置は、設計されたプロセッサの論理回路レベルの動作を検証するためのものであり、コンピュータ本体10に入出力装置が接続されたコンピュータシステムで構成されている。
【0013】
該入出力装置としての外部記憶装置には、被検証論理回路11及びテストプログラム12が格納され、シミュレーション実行中に実行結果の所定データを格納するための領域13及び14が確保されている。
【0014】
設計された被検証論理回路11は、パイプライン処理を行うプロセッサであり、図2(B)はこの回路のイメージを示す。テストプログラム12は、被検証論理回路11が正常に動作するかどうかを試験するためのものであり、図2(A)はテストプログラム12の一部を示す。このプログラムは、アセンブリ言語で記述され、各ステップ識別コードSTPの命令コードは、被検証プロセッサの命令セットレベルである。動作結果格納領域13は、被検証論理回路11の動作結果を格納するためのものであり、実行結果格納領域14はテストプログラム12の実行結果を格納するためのものである。出力装置としての表示装置15は、検証結果を表示させるためのものである。
【0015】
次に、コンピュータ本体10の機能ブロック16〜21について説明する。
【0016】
図3は、図1中の命令レベルシミュレータ16及び出力部17の動作を示す概略フローチャートである。
【0017】
(S1)命令レベルシミュレータ16は、テストプログラム12から、次の命令ステップの命令コード読み込む。最初の命令ステップは、テストプログラム12中のサブテスト範囲(テストプログラム12の一部又は全部)の実行開始ステップである。サブテスト範囲の実行開始及び終了ステップ(図2(A)中のSTART及びSTOPの位置のステップ)は、不図示の入力装置を操作して決定される。
【0018】
(S2)命令レベルシミュレータ16は、命令ステップがSTOP位置の次のステップであれば処理を停止し、そうでなければステップS3へ進む。
【0019】
(S3)命令レベルシミュレータ16は、ステップS1で読み込んだ命令コードを実行する。
【0020】
(S4)出力部17は、実行された命令コードのステップ識別コードSTPと、命令コードで書き換えられるレジスタの識別コードRiと、書き換えられたレジスタの内容(Ri)とを対応させたレコードを実行結果として領域14に格納する。ステップ識別コードSTPは、命令コードの実行完了時点に対応している。
【0021】
例えば図2(A)に示すSTP=126の命令コード
MUL R1,R2,R3
を実行した場合には、上述のようにレジスタRi=R3の内容がレジスタR1とR2の内容の積で書き換えられるので、126,R3及び(R3)が実行結果格納領域14に格納される。同様に、図2(A)に示すSTP=127の命令コード
ADD R4,R5,R6
を実行した場合には、上述のようにレジスタRi=R6の内容がレジスタR4とR5の内容の和で書き換えられるので、127,R6及び(R6)が実行結果格納領域14に格納される。
【0022】
次にステップS1へ戻る。
【0023】
図1に戻って、論理回路シミュレータ18は、テストプログラム12を実行するように被検証論理回路11を動作させる。
【0024】
レジスタ読み出しタイミング生成部19は、ステップ識別コードSTPと書き込みレジスタRiの組のデータを保持する。レジスタ読み出しタイミング生成部19は、論理回路シミュレータ18から、終了した命令のステップ識別コードSTPを示す信号を受け取り、これに応答して、このステップ識別コードSTPとこれに対応した書き込みレジスタRiとを示すデータ信号とともにレジスタ読み出し要求を、出力部20に供給する。
【0025】
図4は、図2(A)のプログラムを実行する論理回路の動作の概略を示すタイムチャートである。
【0026】
出力部20は、レジスタ読み出しタイミング生成部19からの該レジスタ読み出し要求に応答して、論理回路シミュレータ18の動作結果である、該当レジスタRiの内容(Ri)を読み出し、これと、レジスタ読み出しタイミング生成部19からのステップ識別コードSTPとを含む1レコードを、動作結果格納領域13に格納する。
【0027】
命令レベルシミュレータ16と論理回路シミュレータ18とは、並列処理を行なっても、一方の処理が終了した後に他方の処理を行なってもよい。
【0028】
比較部21は、実行結果格納領域14からステップ識別コードSTP、レジスタ識別コードRi及びレジスタの内容(Ri)を読み出し、このステップ識別コードSTPをキーとして動作結果格納領域13から、ステップ識別コードSTPに対応したレジスタRiの内容(Ri)を読み出し、両内容(Ri)が不一致の場合、誤設計解析のために所定ステップ数前から現ステップまでの全レジスタの内容(R1)〜(Rn)を動作結果格納領域13から読み出して表示装置15に表示させる。該所定ステップ数は上記不図示の入力装置を操作して予め設定されている。
【0029】
被検証論理回路11がパイプライン処理を行なっていることと、乗算や除算などの命令実行時間が加算や減算などの命令実行時間よりも長いことから、図4に示すようにSTP=126の乗算命令実行中にSTP=127の加算命令及びSTP=128の論理和命令の実行結果が得られる。これに対し、命令レベルシミュレータ16は機能レベルのシミュレータでありパイプライン処理を考慮していないので、STP=126の乗算実行結果が得られた後にSTP=127の加算実行結果が得られる。
【0030】
したがって、従来のように例えばSTP=126の命令レベルシミュレータ16による実行結果(R1)〜(Rn)と、これに対応した論理回路シミュレータ18の動作結果(R1)〜(Rn)をそれぞれ比較すると、動作が正常であっても不一致が生ずる。図4ではレジスタR6及びR1の内容の不一致が生ずる。
【0031】
しかし、本実施例によれば、命令実行により書き換えられた内容のみが比較部21で比較されるので、このような不一致は生ぜず、論理回路の動作の検証を従来よりも容易に行なうことができる。
【0032】
なお、本発明には外にも種々の変形例が含まれる。
【0033】
例えば、上記実施例では命令コードにより書き替えられる記憶部がレジスタである場合を説明したが、該記憶部はメモリであってもよい。
【0034】
また、テストプログラム12は、高級言語、例えばC言語で記述されたものを、コンパイラでアセンブリ言語に変換したものであってもよい。
【図面の簡単な説明】
【図1】本発明の一実施例の論理回路シミュレーション装置の概略機能ブロック図である。
【図2】(A)及び(B)はそれぞれ図1中のテストプログラム12及び被検証論理回路11のイメージを示す説明図である。
【図3】図1中の命令レベルシミュレータ16及び出力部17の動作を示す概略フローチャートである。
【図4】図2(A)のプログラムを実行する論理回路の動作の概略を示すタイムチャートである。
【符号の説明】
10 コンピュータ本体
11 被検証論理回路
12 テストプログラム
13 動作結果格納領域
14 実行結果格納領域
15 表示装置
16 命令レベルシミュレータ
17、20 出力部
18 論理回路シミュレータ
19 レジスタ読み出しタイミング生成部
21 比較部
STP ステップ識別コード
CLK クロック

Claims (4)

  1. 命令レベルシミュレータによりテストプログラムを実行してその複数ステップの各命令コードの実行結果を取得し、該実行結果と、該実行結果が得られる第1時点に対応した論理回路シミュレータによる論理回路の動作の第2時点での動作結果とを比較して、該論理回路の検証を行うコンピュータを備えた論理回路シミュレーション装置において、
    該第1時点における、該命令コードの実行により書き替えられる記憶部の内容と、該第2時点における、該書き替えられる記憶部に対応した該論理回路の記憶部の内容との比較のみ行うことを特徴とする論理回路シミュレーション装置。
  2. 該第1時点は、該命令コードのステップ識別コードにより区別され、
    該実行結果は、該ステップ識別コードで識別される該命令コードで書き替えられる該記憶部の識別コードと該記憶部の内容とを対応させたデータである、
    ことを特徴とする請求項1記載の論理回路シミュレーション装置。
  3. 命令レベルシミュレータによりテストプログラムを実行してその複数ステップの各命令コードの実行結果を取得し、該実行結果と、該実行結果が得られる第1時点に対応した論理回路シミュレータによる論理回路の動作の第2時点での動作結果とを比較して、該論理回路の検証を行う論理回路シミュレーション方法において、
    該第1時点における、該命令コードの実行により書き替えられる記憶部の内容と、該第2時点における、該書き替えられる記憶部に対応した該論理回路の記憶部の内容との比較のみ行うことを特徴とする論理回路シミュレーション方法。
  4. 該第1時点は、該命令コードのステップ識別コードにより区別され、
    該実行結果は、該ステップ識別コードで識別される該命令コードで書き替えられる該記憶部の識別コードと該記憶部の内容とを対応させたデータである、
    ことを特徴とする請求項3記載の論理回路シミュレーション方法。
JP2002226672A 2002-08-02 2002-08-02 論理回路シミュレーション方法及び装置 Withdrawn JP2004070529A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002226672A JP2004070529A (ja) 2002-08-02 2002-08-02 論理回路シミュレーション方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002226672A JP2004070529A (ja) 2002-08-02 2002-08-02 論理回路シミュレーション方法及び装置

Publications (1)

Publication Number Publication Date
JP2004070529A true JP2004070529A (ja) 2004-03-04

Family

ID=32013950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002226672A Withdrawn JP2004070529A (ja) 2002-08-02 2002-08-02 論理回路シミュレーション方法及び装置

Country Status (1)

Country Link
JP (1) JP2004070529A (ja)

Similar Documents

Publication Publication Date Title
US6286132B1 (en) Debugging support apparatus, a parallel execution information generation device, a computer-readable recording medium storing a debugging support program, and a computer-readable recording medium storing a parallel execution information generation program
US7139936B2 (en) Method and apparatus for verifying the correctness of a processor behavioral model
JPH07230484A (ja) 有限状態マシン遷移アナライザ
JP2004038617A (ja) 論理検証システム及び方法、論理コーン抽出装置及び方法、論理検証及び論理コーン抽出プログラム
US6968520B2 (en) System verifying apparatus and method which compares simulation result based on a random test program and a function simulation
US6532573B1 (en) LSI verification method, LSI verification apparatus, and recording medium
US8863054B1 (en) Innovative verification methodology for deeply embedded computational element
US10816600B1 (en) Protocol analysis and visualization during simulation
JPH06309193A (ja) 機械語プログラムの動作検証方法および装置
US20050108596A1 (en) Method of verifying circuitry used for testing a new logic component prior to the first release of the component
US11023357B1 (en) Method and system for sequential equivalence checking
JP2004070529A (ja) 論理回路シミュレーション方法及び装置
JP2828590B2 (ja) マイクロプログラム検証方法
JP5120103B2 (ja) デバッグ方法およびデバッグプログラム
JP2013003633A (ja) 故障再現装置、故障再現方法
JP3152205B2 (ja) 論理シミュレーション装置及びその方法並びにその制御プログラムを記録した記録媒体
JP4194959B2 (ja) シミュレーション解析システム、アクセラレータ装置及びエミュレータ装置
JP3745968B2 (ja) 試験システム及び試験方法及び試験プログラム及び試験プログラムを記録した計算機で読み取り可能な記録媒体
CN112580282B (zh) 用于集成电路设计验证的方法、装置、设备以及存储介质
JP2009217720A (ja) プログラム生成装置およびプログラム生成方法
JP5034867B2 (ja) ソフトウェア検証支援プログラム、該プログラムを記録した記録媒体、ソフトウェア検証支援装置、およびソフトウェア検証支援方法
JP2004145670A (ja) テストベンチ生成方法、テストベンチ生成装置、及びコンピュータプログラム
JPH11149489A (ja) シミュレーション装置
Piziali Verification planning to functional closure of processor-based SoCs
JPH10326188A (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: 20051004