JPH06259496A - シミュレーション装置 - Google Patents

シミュレーション装置

Info

Publication number
JPH06259496A
JPH06259496A JP4377993A JP4377993A JPH06259496A JP H06259496 A JPH06259496 A JP H06259496A JP 4377993 A JP4377993 A JP 4377993A JP 4377993 A JP4377993 A JP 4377993A JP H06259496 A JPH06259496 A JP H06259496A
Authority
JP
Japan
Prior art keywords
data
program
executed
simulation
graphic
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.)
Pending
Application number
JP4377993A
Other languages
English (en)
Inventor
Kazunobu Sugaya
和伸 菅谷
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP4377993A priority Critical patent/JPH06259496A/ja
Publication of JPH06259496A publication Critical patent/JPH06259496A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【目的】 状態遷移図などの処理内容を示す図形とハー
ドウエアを制御するための制御内容をHDLを用いての
入力に基づいてシミュレーションし、実行されなかった
処理内容を表示することができるシミュレーション装置
を提供する。 【構成】 図形の形式で入力された複数の制御フローの
制御内容を示す図形情報と所定のHDLの形式で入力さ
れた各ステートで実行される処理内容と実行されるべき
各処理内容を示すカバレッジデータを解析して表示画面
上で表示するための図形データと所定のHDLの形式で
入力された各ステートで実行される処理内容を解析した
後シミュレーションし、互いに関係するステートと処理
内容とプログラムとの関係を示す表示リンクデータを生
成し、シミュレーション結果のデータに含まれる実行さ
れた処理内容と表示リンクデータとに基づいて実行され
なかった処理内容を検索して表示画面の図形上で各制御
フロー毎に表示する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えばVerilog
などのハードウエア記述言語プログラムを用いて、例え
ばLSIなどのハードウエアのシミュレーションを行う
シミュレーション装置に関する。以下、ハードウエア記
述言語をHDLという。
【0002】
【従来の技術】従来、ASICなどのLSIを設計する
ときに、LSIのハードウエアの制御内容を含む処理内
容を入力するためのエントリツール装置が用いられてい
る。このエントリツール装置は、状態遷移図などの制御
内容を示す図形(グラフィックな画像情報)を入力する
第1の入力装置と、LSI内のハードウエアを制御する
ための処理内容を当該エントリツール装置固有の言語で
入力する第2の入力装置とを備えている。
【0003】上記エントリツール装置を用いて入力され
たプログラムやデータを従来のHDLシミュレータを用
いてシミュレーションして実行された処理内容であるカ
バレッジ情報を得るためには、上記第1と第2の入力装
置を用いて入力されたプログラムとデータを、当該HD
Lシミュレータの仕様に合致するHDLを用いて変換
し、変換して得られたプログラム中にカバレッジ情報を
得るために必要なプログラムを手動で入力した後、当該
得られたプログラムとデータを上記HDLシミュレータ
に入力することにより、当該シミュレーションの結果と
実行された処理内容を示すカバレッジ情報を、プリント
アウトされたソースリストの形式で得ることができる。
【0004】
【発明が解決しようとする課題】しかしながら、上述し
た従来の装置では、上記エントリツール装置を用いて入
力されたプログラムとデータを所定のHDLを用いて変
換し、さらにカバレッジ情報を得るために必要なプログ
ラムを手動で入力する必要があることから、当該処理が
複雑となるという問題点があった。また、従来のHDL
シミュレータによって得られるシミュレータの結果に含
まれるカバレッジ情報は、プリントアウトされたソース
リストの形式でしか得ることができない。
【0005】従って、カバレッジ情報をディスプレイ上
の表示形式で表示できないため、例えばディスプレイ上
で表示されたシミュレーション結果と、当該シミュレー
ションにおいて実行されなかった処理内容との関係を把
握することができないという問題点があった。
【0006】本発明の目的は以上の問題点を解決し、例
えばASICなどのLSIを設計するときに用いられ設
計したLSIなどのハードウエアの動作をシミュレーシ
ョンすることができるシミュレーション装置であって、
状態遷移図などの制御内容を示す図形を入力するととも
に当該ハードウエアを制御するための処理内容をHDL
を用いて入力することによって当該ハードウエアの動作
をシミュレーションすることができ、しかもシミュレー
ションにおいて実行されなかった処理内容を表示するこ
とができるシミュレーション装置を提供することにあ
る。
【0007】
【課題を解決するための手段】本発明に係るシミュレー
ション装置は、それぞれ複数のステートを有する複数の
制御フローを含むハードウエアの制御動作をシミュレー
タを用いてシミュレーションし、上記シミュレーション
結果を表示画面上に表示するシミュレーション装置にお
いて、図形の形式で入力された上記複数の制御フローの
制御内容を示す図形情報を解析して上記表示画面上で表
示するための図形データを生成する第1の解析手段と、
所定のハードウエア記述言語の形式で入力された上記各
ステートで実行される処理内容を解析して、複数のプロ
グラムからなる上記ハードウエア記述言語のプログラム
データを生成する第2の解析手段と、上記第1の解析手
段によって生成された図形データと、上記第2の解析手
段によって生成されたプログラムデータとに基づいて、
実行されるべき各処理内容を示す複数のカバレッジデー
タであるカバレッジ解析データを生成する第3の解析手
段と、上記第1の解析手段によって生成された図形デー
タと上記第2の解析手段によって生成されたプログラム
データと上記第3の解析手段によって生成されたカバレ
ッジ解析データとを、上記シミュレータにおいてシミュ
レーションを行うための所定の形式の生成プログラムに
変換する変換手段と、上記変換手段によって変換された
生成プログラムの行番号と上記第2の解析手段によって
生成されたプログラムデータの各ステート毎の先頭位置
との連結関係、並びに上記変換手段によって変換された
生成プログラムの行番号と上記第3の解析手段によって
生成されたカバレッジデータの先頭位置との連結関係と
を示すリンクデータを生成する第1の生成手段と、上記
変換手段によって変換された生成プログラムと上記第1
の生成手段によって生成されたリンクデータとに基づい
て、互いに関係するステートと処理内容と上記プログラ
ムデータのプログラムとの関係を示す表示リンクデータ
を生成する第2の生成手段と、上記変換手段によって変
換されたプログラムデータを上記シミュレータに出力し
てシミュレーションを実行するようにシミュレータを制
御し、実行後の計算結果と実行された各処理内容に対応
する複数のカバレッジデータとを含むシミュレーション
結果のデータを出力させる制御手段と、上記シミュレー
タから出力されるシミュレーション結果のデータに含ま
れる上記複数のカバレッジデータと、上記第2の生成手
段によって生成された表示リンクデータとに基づいて、
上記第1の解析手段によって生成された図形データと上
記第1の生成手段によって生成されたリンクデータとを
参照しながら、上記シミュレーションにおいて実行され
なかった各処理内容を検索して、上記表示画面の上記図
形上で、上記各制御フロー毎に表示するように制御する
表示制御手段とを備えたことを特徴とする。
【0008】
【作用】以上のように構成されたシミュレーション装置
において、上記第1の解析手段は、図形の形式で入力さ
れた上記複数の制御フローの制御内容を示す図形情報を
解析して上記表示画面上で表示するための図形データを
生成し、次いで、上記第2の解析手段は、所定のハード
ウエア記述言語の形式で入力された上記各ステートで実
行される処理内容を解析して、複数のプログラムからな
る上記ハードウエア記述言語のプログラムデータを生成
し、さらに、上記第3の解析手段は、上記第1の解析手
段によって生成された図形データと、上記第2の解析手
段によって生成されたプログラムデータとに基づいて、
実行されるべき各処理内容を示す複数のカバレッジデー
タであるカバレッジ解析データを生成する。次いで、上
記変換手段は、上記第1の解析手段によって生成された
図形データと上記第2の解析手段によって生成されたプ
ログラムデータと上記第3の解析手段によって生成され
たカバレッジ解析データとを、上記シミュレータにおい
てシミュレーションを行うための所定の形式の生成プロ
グラムに変換し、上記第1の生成手段は、上記変換手段
によって変換された生成プログラムの行番号と上記第2
の解析手段によって生成されたプログラムデータの各ス
テート毎の先頭位置との連結関係、並びに上記変換手段
によって変換された生成プログラムの行番号と上記第3
の解析手段によって生成されたカバレッジデータの先頭
位置との連結関係とを示すリンクデータを生成し、上記
第2の生成手段は、上記変換手段によって変換された生
成プログラムと上記第1の生成手段によって生成された
リンクデータとに基づいて、互いに関係するステートと
処理内容と上記プログラムデータのプログラムとの関係
を示す表示リンクデータを生成する。さらに、上記制御
手段は、上記変換手段によって変換されたプログラムデ
ータを上記シミュレータに出力してシミュレーションを
実行するようにシミュレータを制御し、実行後の計算結
果と実行された各処理内容に対応する複数のカバレッジ
データとを含むシミュレーション結果のデータを出力さ
せ、上記表示制御手段は、上記シミュレータから出力さ
れるシミュレーション結果のデータに含まれる上記複数
のカバレッジデータと、上記第2の生成手段によって生
成された表示リンクデータとに基づいて、上記第1の解
析手段によって生成された図形データと上記第1の生成
手段によって生成されたリンクデータとを参照しなが
ら、上記シミュレーションにおいて実行されなかった各
処理内容を検索して、上記表示画面の上記図形上で、上
記各制御フロー毎に表示するように制御する。
【0009】従って、状態遷移図などの制御内容を示す
図形を入力するとともに当該ハードウエアを制御するた
めの処理内容をHDLを用いて入力することによって当
該ハードウエアの動作をシミュレーションすることがで
き、しかも上記シミュレーションにおいて実行されなか
った処理内容を表示することができる。
【0010】
【実施例】以下、図面を参照して本発明に係る一実施例
であるLSIの動作をシミュレーションするシミュレー
ション装置について説明する。
【0011】図1に示すように、本実施例のシミュレー
ション装置は、(a)当該装置のシステムの制御プログ
ラムとその制御プログラムを実行するCPUと、これら
のプログラムを実行するために必要なデータとを格納す
るROMと、ワークエリアとして用いられるRAMとを
含む制御回路のMPU1と、(b)状態遷移図の形式で
入力されたLSIの制御内容を示す図形情報(以下、図
形情報という。)と、当該状態遷移図の各ステートで実
行する処理内容をVerilogなるHDLを用いて入
力したプログラムデータとを、表示するとともに、当該
制御プログラムの実行途中の経過及び実行結果を、シミ
ュレーションにおいて実行されなかった処理内容を含め
て表示するためのCRTディスプレイ2と、(c)それ
ぞれHDLプログラム、データ及び実行制御の指示を入
力するためのキーボード2とマウス4と、(d)生成さ
れたHDLプログラムとデータを入力することによって
シミュレーション結果を出力するHDLシミュレータ5
とを備え、これらの各装置1乃至5がバス10を介して
接続される。さらに、当該バス10は次のそれぞれを格
納するハードディスクからなる記憶装置に接続される。
以下、各記憶装置を下記の名称で呼ぶことにする。
【0012】(a)グラフィックデータファイル21:
キーボード2とマウス4を用いて入力された状態遷移図
の形式で入力されたLSIの制御内容を示す図形情報の
ファイルであり、その一例を表1に示す。 (b)HDLデータファイル22:キーボード2とマウ
ス4を用いて入力された、当該状態遷移図の各ステート
で実行する処理内容をVerilogなるHDLを用い
て入力したプログラムデータであり、その一例を表2に
示す。 (c)生成HDLプログラムファイル23:後述するH
DLプログラム生成処理(ステップS12)において生
成されたHDLプログラムファイルであって、その一例
を表3に示す。 (d)リンクデータファイル24:後述するリンクデー
タ生成処理(ステップS13)において生成され、生成
HDLプログラムの行番号とHDLデータの各ステート
毎の先頭位置との関係、並びに生成HDLプログラムの
行番号と後述するカバレッジデータん先頭位置との関係
とを示すリンクデータファイルであって、その一例を表
4に示す。 (e)表示出力データファイル25:グラフィックデー
タファイル21に格納されたグラフィックデータと、H
DLデータファイル22に格納されたHDLデータと、
後述するファイル出力処理(ステップS14)において
生成された表示リンクデータを含む表示出力データファ
イルであって、後者の表示リンクデータの一例を表5に
示す。 (f)カバレッジ解析データファイル26:当該シミュ
レーションにおいて実行すべき各処理内容を個別に示す
複数のカバレッジデータを含むカバレッジ解析データで
あって、その一例を表6に示す。 (g)カバレッジデータファイル27:当該シミュレー
ション後に得られるシミュレーション結果に含まれる、
当該シミュレーションにおいて実行された処理内容を示
すカバレッジデータを含むデータファイルであって、そ
の一例を表7に示す。 なお、表1乃至表7において、説明の便宜上、各行の最
左位置に参照番号を付している。
【0013】<グラフィックデータファイル21に格納
されたグラフィックデータ>
【表1】 1001 AUTOMATON1 { 1002 State SO { 1003 StartState 1004 position (20,30) 1005 Transition T1 to S1 { poslist (20,25)(20,30) } 1006 } 1007 State S1 { 1008 position (20,50) 1009 Transition T2 to S0 { poslist (20,50)(10,40)(20,30)} 1010 Action A1 { position (25,45) } 1011 } 1012 } 1013 AUTOMATON2 { 1014 State S2 { 1015 StartState 1016 position (80,20) 1017 Transition T3 to S3 { poslist (80,20)(80,40) } 1018 Action A2 { position (85,15) } 1019 } 1020 State S3 { 1021 position (80,40) 1022 Transition T4 to S4 { poslist (80,40)(80,60) } 1023 } 1024 State S4 { 1025 position (80,60) 1026 Transition T5 to S5 { poslist (80,60)(80,80) } 1027 Action A3 { position (85,55) } 1028 } 1029 State S5 { 1030 position (80,80) 1031 Transition T6 to S2 { poslist (80,80)(70,50)(80,20) } 1032 } 1033 }
【0014】<HDLデータファイル22において格納
されたHDLデータ>
【表2】 2001 HDL1 “if( Read==1)\n begin\n DATA1=HIGH_DATA;\n DATA2=LOW_DAT A; end\n 2002 if(Write==1)\n DATA_OUT=DATA1+DATA2;" 2003 HDL2 “Read = 1;\nWrite = 0;" 2004 HDL3 “if(DATA1==0)\n Write=0;\n else \n Write=1;\n"
【0015】<生成HDLプログラムファイル23にお
いて格納されたHDLプログラム>
【表3】 3001 module TEST (CLK,HIGH_DATA,LOW_DATA,DATA_OUT); 3002 input CLK ; 3003 input [3:0] HIGH_DATA; 3004 input [3:0] LOW_DATA; 3005 output [7:0] DATA_OUT; 3006 reg [7:0] DATA_OUT; 3007 3008 reg Read; 3009 reg Write; 3010 reg [3:0] DATA1; 3011 reg [3:0] DATA2; 3012 3013 reg CURRENT_STATE1; 3014 reg NEXT_STATE1; 3015 3016 reg [1:0] CURRENT_STATE2; 3017 reg [1:0] NEXT_STATE2; 3018 3019 parameter S0=1'b0, S1=1'b1; 3020 parameter S2=2'b00, S3=2'b01, S4=2'b10, S5=2'b11; 3021 3022 initial begin 3023 NEXT_STATE1 = S0; 3024 NEXT_STATE2 = S2; 3025 end 3026 3027 always @ ( posedge CLK ) 3028 begin : process_1 3029 3030 CURRET_STATE1 = NEXT_STATE1; 3031 CURRET_STATE2 = NEXT_STATE2; 3032 end 3033 3034 always @ ( CURRET_STATE1 ) 3035 begin : automaton_1 3036 3037 case ( CURRET_STATE1 ) 3038 3039 SO: begin 3040 $fwrite(“C1"); 3041 NEXT STATE1=S1; 3042 end 3043 3044 S1: begin 3045 $fwrite(“C2"); 3046 if(Read==1) 3047 begin 3048 $fwrite(“C3"); 3049 DATA1=HIGH DATA; 3050 DATA2=LOW DATA; 3051 end 3052 if(Write==1) 3053 begin 3054 $fwrite(“C4"); 3055 DATA OUT=DATA1+DATA2; 3056 end 3057 3058 NEXT STATE1=SO; 3059 end 3060 endcase 3061 end 3062 3063 always@(CURRENT STATE2) 3064 begin: automaton 2 3065 3066 case(CURRENT STATE2) 3067 3068 S2: begin 3069 $fwrite(“C5"); 3070 3071 $fwrite(“C6"); 3072 Read=1; 3073 Write=0; 3074 3075 NEXT STATE2=S3; 3076 end 3077 3078 S3:begin 3079 $fwrite(“C7"); 3080 NEXT STATE2=S4; 3081 end 3082 3083 S4:begin 3084 $fwrite(“C8"); 3085 if(DATA==0) 3086 begin 3087 $fwrite(“C9"); 3088 Write=1; 3089 end 3090 else 3091 begin 3092 $fwrite(“C10"); 3093 Write=0; 3094 end 3095 NEXT STATE2=S5; 3096 end 3097 3098 S5: begin 3099 $fwrite(“C11"); 3100 NEXT STATE2=S2; 3101 end 3102 3103 endcase 3104 end 3105 endmodule
【0016】<リンクデータファイル24において格納
されたリンクデータ>
【表4】 4001 A1 HDL1 46 4002 A2 HDL2 70 4003 A3 HDL3 83 4004 C1 40 4005 C2 45 4006 C3 48 4007 C4 54 4008 C5 69 4009 C6 71 4010 C7 79 4011 C8 84 4012 C9 87 4013 C10 92 4014 C11 100
【0017】<表示出力データファイル25において格
納された表示出力データ>当該表示出力データは、表1
のグラフィックデータと表2のHDLデータと以下の表
示リンクデータを含む。
【表5】 5001 AUTOMATON1: 5002 S0{C1,} 5003 S1{C2,A1} 5004 AUTOMATON2: 5005 S2{C5,A2}; 5006 S3{C7,}; 5007 S4{C8,A3}; 5008 S5{C11,}; 5009 ACTION: 5010 A1{C3,C4}; 5011 A2{C6}; 5012 A3{C9,C10};
【0018】<カバレッジ解析データファイル26にお
いて格納されたカバレッジ解析データ>
【表6】 6001 C1 AUTOMATON1.S0 6002 C2 AUTOMATON1.S1 6003 C3 HDL1.3 6004 C4 HDL1.7 6005 C5 AUTOMATON2.S2 6006 C6 HDL2 6007 C7 AUTOMATON2.S3 6008 C8 AUTOMATON2.S4 6009 C9 HDL3.2 6010 C10 HDL3.4 6011 C11 AUTOMATON2.S5
【0019】<カバレッジデータファイル27において
格納されたカバレッジデータ>
【表7】 7001 C1 7002 C5 7003 C6 7004 C2 7005 C4 7006 C7 7007 C1 7008 C8 7009 C9 7010 C2 7011 C4 7012 C11 7013 C1 7014 C5 7015 C6
【0020】図2は、図1のシミュレーション装置によ
って実行されるシミュレーションのメインフローを示す
フローチャートである。
【0021】当該シミュレーションのメインフローを起
動すると、図2に示すように、まず、ステップS1にお
いてグラフィックデータ入力解析処理が実行される。当
該処理では、操作者によって状態遷移図の形式で入力さ
れたLSIの制御内容を示す図形情報がキーボード3と
マウス4とを用いてCRTディスプレイ2上で編集しな
がら入力され、入力された図形情報を公知の方法で解析
して、表1に示すグラフィックデータを生成して、グラ
フィックデータファイル21に格納される。表1におい
て、1002において「State S0」はS0とラ
ベル付けされたステートを示し、1003は当該ステー
トが開始ステートであることを示し、1004はその開
始ステートの画面上の座標を示す。1005において、
「Transition T1」はT1とラベル付けさ
れた遷移である。また、S1は次に続くステートを示
し、それ以降のデータは、当該開始ステートに付く遷移
を示し、次のステートへの遷移の図形を座標のリストで
示す。この例では、画面の座標位置(20,25)から
座標位置(20,30)への遷移を示す。さらに、10
10において、「Action A1」はA1とラベル
付けされた処理(アクション)である。例えば、101
8は、ステートS2における処理A2を示す。
【0022】次いで、ステップS2においてHDL入力
解析処理が実行される。当該処理では、操作者によって
上記状態遷移図の各ステートで実行する処理内容がVe
rilogなるHDLの形式でキーボード3とマウス4
とを用いてCRTディスプレイ2上で編集しながら入力
され、入力されたプログラムデータを公知の方法で解析
して、表2に示すHDLデータを生成して、HDLデー
タファイル22に格納される。当該処理においては、表
2に示すように、プログラムデータの各行のHDL毎に
「HDL1」,「HDL2」,「HDL3」のように行
番号を付す。
【0023】上記ステップS1とS2で実行された入力
処理でのCRTディスプレイ2上の入力表示画面を図5
を示す。入力表示画面と後述する出力表示画面(図6参
照)は、コンカレント実行位置を表示するために、当該
実施例では、1つの画面が左右2つの表示画面に分割さ
れている。左側の画面が「AUTOMATON1」とラ
ベル付けされ、右側の画面が「AUTOMATON2」
とラベル付けされている。「AUTOMATON1」に
おいては2個のステートS0,S1とが存在し、ステー
トS0からS1への遷移がT1とラベル付けされ、ステ
ートS1からS0への遷移がT2とラベル付けされる。
また、ステートS1における処理がA1とラベル付けさ
れる。一方、「AUTOMATON2」においては4個
のステートS2乃至S5とが存在し、同様に処理A2,
A3と遷移T3乃至T6のラベル付けがなされる。図5
において、A1乃至A3とT1乃至T6はCRTディス
プレイ2上では表示されないラベルである。
【0024】次いで、ステップS3において、カバレッ
ジ解析データ入力解析処理が実行される。当該処理で
は、上記ステップS1において生成されてグラフィック
データファイル21に格納されたグラフィックデータ
と、上記ステップS2において生成されてHDLデータ
ファイル22において格納されたHDLデータのプログ
ラムデータとに基づいて、実行されるべき各処理内容を
示す複数のカバレッジデータから構成され表6に示され
たカバレッジ解析データが生成され、カバレッジ解析デ
ータファイル26に格納される。表6に示すように、例
えば、カバレッジデータC1は「AUTOMATON
1」の状態がステート「S0」の時に実行されることを
示し、カバレッジデータC10は「HDL3」の4行目
の実行時に実行されることを示している。なお、カバレ
ッジデータC1乃至C11に対応する処理内容をさら
に、図5において参照符号C1乃至C11を用いて図示
している。
【0025】次いで、ステップS4において後述するリ
ンク処理を実行した後、ステップS5において後述する
シミュレーション処理を実行する。
【0026】図3は、図2のサブルーチンであるリンク
処理を示すフローチャートである。図3に示すように、
まず、ステップS11においてラベル付け処理が実行さ
れ、当該処理では、HDLデータファイル22に格納さ
れたHDLプログラムデータに対して各ステートのラベ
ルを割り当てる。次いで、ステップS12において、グ
ラフィックデータファイル21に格納された図形情報デ
ータと、HDLデータファイル22に格納されたHDL
プログラムデータと、カバレッジ解析データファイル2
6に格納されたカバレッジ解析データとに基づいて、H
DLシミュレータ5のHDLに適合するHDLで記述し
た生成HDLプログラムとそれに用いるHDLデータを
生成する。ここで、HDLデータは、表3に示すよう
に、当該シミュレーションにおいて実行された処理内容
を把握してカバレッジデータファイル27を形成するた
めに、ファイル出力用のコマンドが追加される。
【0027】表3は生成されたHDLプログラムの一例
であり、3046乃至3055は処理A1の処理内容を
示すプログラムでありこの処理A1の先頭位置は当該H
DLプログラム中の46行目に位置する。また、307
2と3073は処理A2の処理内容を示すプログラムで
あり、この処理A2の先頭位置は当該HDLプログラム
中の72行目に位置する。さらに、3085と3093
は処理A3の処理内容を示すプログラムであり、この処
理A3の先頭位置は当該HDLプログラム中の85行目
に位置する。またさらに、3039から3102までが
カバレッジ解析用のHDLデータであって、例えば30
40における$fwrite(“C1”);はシミュレ
ーション実行時に当該カバレッジデータC1に対応する
処理内容が実行されると“C1”を出力することを意味
している。
【0028】次いで、ステップS13において、リンク
データ生成処理が実行され、生成されたHDLプログラ
ムの行番号とHDLデータの各ステート毎の先頭位置と
の連結関係、並びに生成されたHDLプログラムの行番
号とカバレッジデータの先頭位置との連結関係を示すリ
ンクデータを生成する。表4に当該リンクデータの一例
を示す。表4に示すように、例えば4001では、処理
名「A1」と、HDL名「HDL1」と、当該HDL1
が生成されたHDLプログラム中の何行目に位置するか
を示す行番号「46」から構成される。また、例えば4
004では、カバレッジデータ「C1」はHDLプログ
ラム中の行番号「40」に位置していることを示してい
る。
【0029】さらに、ステップS14において、ファイ
ル出力処理が実行される。当該処理では、まず、生成H
DLプログラムと上記生成されたリンクデータとに基づ
いて表5に示す表示リンクデータが生成される。当該表
示リンクデータデータは、ステート名とカバレッジデー
タと処理(Action)名とをリンクした形式で記述
される。例えば5003においては、ステートS1にお
いては、カバレッジデータC2に対応する処理A1が実
行されることを実行されることを示しており、また、5
010においては、処理A1でカバレッジデータC3,
C4が存在することを示している。次いで、グラフィッ
クデータファイル21に格納されたグラフィックデータ
と、HDLデータファイル22に格納されたHDLデー
タと、上記生成された表示リンクデータとを含むデータ
が、表示出力データとして表示出力データファイル25
に出力して格納される。
【0030】図4は、図2のサブルーチンであるシミュ
レーション処理を示すフローチャートである。
【0031】図4において、まず、ステップS21にお
いて、生成HDLプログラムファイル23に格納された
生成HDLプログラムをHDLシミュレータ5に出力し
て当該シミュレータ5を起動する。次いで、当該シミュ
レータ5は公知の通り、当該生成HDLプログラムに基
づいてシミュレーションを実行し、ステップ22におい
てMPU1はシミュレーション結果のデータをHDLシ
ミュレータ5からゲットして入力する。このシミュレー
ション結果のデータは、処理後の計算結果と、当該シミ
ュレーションにおいて実行された処理内容を示すカバレ
ッジデータを含む。
【0032】次いで、ステップS23において、上記シ
ミュレーション結果のデータに含まれる現在実行してい
る生成HDLプログラム上の実行位置のデータと、上記
表示出力データファイル25に格納された表示出力デー
タとに基づいて、グラフィックデータファイル21に格
納されたグラフィックデータとリンクデータファイル2
4に格納されたリンクデータを参照しながら、CRTデ
ィスプレイ2の画面上の上記シミュレーションにおいて
実行されなかった各処理内容に対応するカバレッジデー
タを検索して、当該検索結果に基づき、検索されたカバ
レッジデータに対応する未実行の処理内容の位置を、表
6の出力表示画面に示すように、各制御フロー毎にCR
Tディスプレイ2の状態遷移図上で示される。ここで、
実行されなかった処理内容を含むステートについては、
100,101に示すように別の色又は別の特別な図形
で示し、実行されなかった処理内容の式については、各
処理内で200,201,202で示すように矢印で示
す。
【0033】以上説明したように、本実施例によれば、
例えばASICなどのLSIを設計するときに用いられ
設計したLSIなどのハードウエアの動作をシミュレー
ションすることができるシミュレーション装置を提供す
ることができるとともに、状態遷移図などの制御内容を
示す図形を入力するとともに当該ハードウエアを制御す
るための処理内容をHDLを用いて入力することによっ
て当該ハードウエアの動作をシミュレーションすること
ができ、しかもシミュレーションにおいて実行されなか
った処理内容を表示することができるという特有の利点
を有する。
【0034】以上の実施例において、状態遷移図の形式
で制御内容を入力しているが、本発明はこれに限らず、
フローチャートなどの図形の形式で、LSIなどのハー
ドウエアの制御内容を入力するようにしてもよい。
【0035】
【発明の効果】以上詳述したように本発明によれば、そ
れぞれ複数のステートを有する複数の制御フローを含む
ハードウエアの制御動作をシミュレータを用いてシミュ
レーションし、上記シミュレーション結果を表示画面上
に表示するシミュレーション装置において、図形の形式
で入力された上記複数の制御フローの制御内容を示す図
形情報を解析して上記表示画面上で表示するための図形
データを生成する第1の解析手段と、所定のハードウエ
ア記述言語の形式で入力された上記各ステートで実行さ
れる処理内容を解析して、複数のプログラムからなる上
記ハードウエア記述言語のプログラムデータを生成する
第2の解析手段と、上記第1の解析手段によって生成さ
れた図形データと、上記第2の解析手段によって生成さ
れたプログラムデータとに基づいて、実行されるべき各
処理内容を示す複数のカバレッジデータであるカバレッ
ジ解析データを生成する第3の解析手段と、上記第1の
解析手段によって生成された図形データと上記第2の解
析手段によって生成されたプログラムデータと上記第3
の解析手段によって生成されたカバレッジ解析データと
を、上記シミュレータにおいてシミュレーションを行う
ための所定の形式の生成プログラムに変換する変換手段
と、上記変換手段によって変換された生成プログラムの
行番号と上記第2の解析手段によって生成されたプログ
ラムデータの各ステート毎の先頭位置との連結関係、並
びに上記変換手段によって変換された生成プログラムの
行番号と上記第3の解析手段によって生成されたカバレ
ッジデータの先頭位置との連結関係とを示すリンクデー
タを生成する第1の生成手段と、上記変換手段によって
変換された生成プログラムと上記第1の生成手段によっ
て生成されたリンクデータとに基づいて、互いに関係す
るステートと処理内容と上記プログラムデータのプログ
ラムとの関係を示す表示リンクデータを生成する第2の
生成手段と、上記変換手段によって変換されたプログラ
ムデータを上記シミュレータに出力してシミュレーショ
ンを実行するようにシミュレータを制御し、実行後の計
算結果と実行された各処理内容に対応する複数のカバレ
ッジデータとを含むシミュレーション結果のデータを出
力させる制御手段と、上記シミュレータから出力される
シミュレーション結果のデータに含まれる上記複数のカ
バレッジデータと、上記第2の生成手段によって生成さ
れた表示リンクデータとに基づいて、上記第1の解析手
段によって生成された図形データと上記第1の生成手段
によって生成されたリンクデータとを参照しながら、上
記シミュレーションにおいて実行されなかった各処理内
容を検索して、上記表示画面の上記図形上で、上記各制
御フロー毎に表示するように制御する表示制御手段とを
備える。
【0036】従って、例えばASICなどのLSIを設
計するときに用いられ設計したLSIなどのハードウエ
アの動作をシミュレーションすることができるシミュレ
ーション装置を提供することができるとともに、状態遷
移図などの制御内容を示す図形を入力するとともに当該
ハードウエアを制御するための処理内容をHDLを用い
て入力することによって当該ハードウエアの動作をシミ
ュレーションすることができ、しかも上記シミュレーシ
ョンにおいて実行されなかった処理内容を制御フロー上
で表示することができ、当該実行されなかった処理内容
とシミュレーション結果との関係を容易に把握すること
ができるという特有の利点を有する。
【図面の簡単な説明】
【図1】 本発明に係る一実施例であるハードウエアの
シミュレーション装置の構成を示すブロック図である。
【図2】 図1のシミュレーション装置によって実行さ
れるシミュレーションのメインフローを示すフローチャ
ートである。
【図3】 図2のサブルーチンであるリンク処理を示す
フローチャートである。
【図4】 図2のサブルーチンであるシミュレーション
処理を示すフローチャートである。
【図5】 図1のシミュレーション装置のディスプレイ
において表示される入力表示画面の一例を示す正面図で
ある。
【図6】 図1のシミュレーション装置のディスプレイ
において表示されるシミュレーション出力表示画面の一
例を示す正面図である。
【符号の説明】
1…MPU、 2…ディスプレイ、 3…キーボード、 4…マウス、 5…HDLシミュレータ、 21…グラフィックデータファイル、 22…HDLデータファイル、 23…生成HDLプログラムファイル、 24…リンクデータファイル、 25…表示データ出力データファイル 26…カバレッジ解析データファイル、 27…カバレッジデータファイル、 100,101…実行されなかった処理内容を含むステ
ート、 200,201,202…実行されなかった処理内容を
示す矢印。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 それぞれ複数のステートを有する複数の
    制御フローを含むハードウエアの制御動作をシミュレー
    タを用いてシミュレーションし、上記シミュレーション
    結果を表示画面上に表示するシミュレーション装置にお
    いて、 図形の形式で入力された上記複数の制御フローの制御内
    容を示す図形情報を解析して上記表示画面上で表示する
    ための図形データを生成する第1の解析手段と、 所定のハードウエア記述言語の形式で入力された上記各
    ステートで実行される処理内容を解析して、複数のプロ
    グラムからなる上記ハードウエア記述言語のプログラム
    データを生成する第2の解析手段と、 上記第1の解析手段によって生成された図形データと、
    上記第2の解析手段によって生成されたプログラムデー
    タとに基づいて、実行されるべき各処理内容を示す複数
    のカバレッジデータであるカバレッジ解析データを生成
    する第3の解析手段と、 上記第1の解析手段によって生成された図形データと上
    記第2の解析手段によって生成されたプログラムデータ
    と上記第3の解析手段によって生成されたカバレッジ解
    析データとを、上記シミュレータにおいてシミュレーシ
    ョンを行うための所定の形式の生成プログラムに変換す
    る変換手段と、 上記変換手段によって変換された生成プログラムの行番
    号と上記第2の解析手段によって生成されたプログラム
    データの各ステート毎の先頭位置との連結関係、並びに
    上記変換手段によって変換された生成プログラムの行番
    号と上記第3の解析手段によって生成されたカバレッジ
    データの先頭位置との連結関係とを示すリンクデータを
    生成する第1の生成手段と、 上記変換手段によって変換された生成プログラムと上記
    第1の生成手段によって生成されたリンクデータとに基
    づいて、互いに関係するステートと処理内容と上記プロ
    グラムデータのプログラムとの関係を示す表示リンクデ
    ータを生成する第2の生成手段と、 上記変換手段によって変換されたプログラムデータを上
    記シミュレータに出力してシミュレーションを実行する
    ようにシミュレータを制御し、実行後の計算結果と実行
    された各処理内容に対応する複数のカバレッジデータと
    を含むシミュレーション結果のデータを出力させる制御
    手段と、 上記シミュレータから出力されるシミュレーション結果
    のデータに含まれる上記複数のカバレッジデータと、上
    記第2の生成手段によって生成された表示リンクデータ
    とに基づいて、上記第1の解析手段によって生成された
    図形データと上記第1の生成手段によって生成されたリ
    ンクデータとを参照しながら、上記シミュレーションに
    おいて実行されなかった各処理内容を検索して、上記表
    示画面の上記図形上で、上記各制御フロー毎に表示する
    ように制御する表示制御手段とを備えたことを特徴とす
    るシミュレーション装置。
JP4377993A 1993-03-04 1993-03-04 シミュレーション装置 Pending JPH06259496A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4377993A JPH06259496A (ja) 1993-03-04 1993-03-04 シミュレーション装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4377993A JPH06259496A (ja) 1993-03-04 1993-03-04 シミュレーション装置

Publications (1)

Publication Number Publication Date
JPH06259496A true JPH06259496A (ja) 1994-09-16

Family

ID=12673249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4377993A Pending JPH06259496A (ja) 1993-03-04 1993-03-04 シミュレーション装置

Country Status (1)

Country Link
JP (1) JPH06259496A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7506279B2 (en) 2003-08-22 2009-03-17 Ricoh Company, Ltd Design supporting apparatus capable of checking functional description of large-scale integrated circuit to detect fault in said circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7506279B2 (en) 2003-08-22 2009-03-17 Ricoh Company, Ltd Design supporting apparatus capable of checking functional description of large-scale integrated circuit to detect fault in said circuit

Similar Documents

Publication Publication Date Title
US5557774A (en) Method for making test environmental programs
US5371683A (en) LSI design support system
JP2007172377A (ja) Webページにおける状態遷移解析手法
JP2000132416A (ja) 半導体集積回路設計検証装置
JP3388190B2 (ja) 半導体試験装置用テストプログラム生成システム及びテストプログラム生成方法
JP2003173270A (ja) ソフトウェアデバッグ装置
JP4791660B2 (ja) データフロー自動生成装置とデータフロー自動生成方法およびコンピュータ読み取り可能な記録媒体
JPH06259496A (ja) シミュレーション装置
JP3195088B2 (ja) シミュレーション装置
JP2007200082A (ja) 組立性評価方法、そのシステム及びプログラム
JP2002014845A (ja) テスト・スクリプト部品の自動生成方法および装置
JPH08235024A (ja) ソフトウェアテスト自動化装置
JPH07168864A (ja) シミュレーション装置及びシミュレーション方法
JP2000057204A (ja) 画像処理システム、画像処理方法ならびにデ―タおよびプログラムを記録した記録媒体
JPH08202741A (ja) 機能設計支援装置及び機能設計支援方法
JP2762934B2 (ja) テスト項目設計支援システム
JP2619487B2 (ja) フアイル操作方式
JPH10161891A (ja) タスク余裕度解析装置、タスク余裕度解析方法及びタスク余裕度解析プログラムを格納した記録媒体
JP2982418B2 (ja) 機能シミュレーション装置
JPH11118889A (ja) テストプログラム生成システム
JPH04290168A (ja) シミュレーション装置とそのシミュレーション結果表示方法
JPH0546372A (ja) 機能設計支援装置
JPH086779A (ja) プログラム自動生成装置
JPH0916652A (ja) 回路シミュレ−ション結果解析方法および装置
JPH05224994A (ja) 入出力シミュレーションシステム