JPH0576660B2 - - Google Patents
Info
- Publication number
- JPH0576660B2 JPH0576660B2 JP61179461A JP17946186A JPH0576660B2 JP H0576660 B2 JPH0576660 B2 JP H0576660B2 JP 61179461 A JP61179461 A JP 61179461A JP 17946186 A JP17946186 A JP 17946186A JP H0576660 B2 JPH0576660 B2 JP H0576660B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- circuit
- storage section
- simulated
- control
- 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.)
- Expired - Lifetime
Links
- 238000011156 evaluation Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000013500 data storage Methods 0.000 claims description 8
- 238000004088 simulation Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 10
- 238000000034 method Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 1
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は機能レベルシミユレータに関するもの
である。
である。
(従来の技術)
従来、機能レベルで記述された回路をシミユレ
ートする方法としては回路の機能レベルの記述を
PL/I等の汎用な高級言語に翻訳してシミユレ
ートする方法や回路の機能レベルの記述を演算単
位の低レベル命令の系列(以後中間命令と呼ぶ)
に翻訳した後各中間命令をソフトウエアで解釈、
実行する方法がとられていた。
ートする方法としては回路の機能レベルの記述を
PL/I等の汎用な高級言語に翻訳してシミユレ
ートする方法や回路の機能レベルの記述を演算単
位の低レベル命令の系列(以後中間命令と呼ぶ)
に翻訳した後各中間命令をソフトウエアで解釈、
実行する方法がとられていた。
(発明が解決しようとしている問題点)
以上述べた方法ではa)回路の機能レベルの記
述を高級言語にマツピングした場合には回路の記
述と高級言語の意味レベルの差を吸収するために
結果として得られた高級言語での実現は冗長なも
のとなつている。またb)回路の機能レベルを中
間言語に翻訳した後各中間命令をソフトウエアで
解釈、実行する方法では、各中間命令のフエツ
チ・デコード及び解釈のオーバヘツドが大きかつ
た。
述を高級言語にマツピングした場合には回路の記
述と高級言語の意味レベルの差を吸収するために
結果として得られた高級言語での実現は冗長なも
のとなつている。またb)回路の機能レベルを中
間言語に翻訳した後各中間命令をソフトウエアで
解釈、実行する方法では、各中間命令のフエツ
チ・デコード及び解釈のオーバヘツドが大きかつ
た。
従つていずれの場合でもシミユレートする回路
の規模が大きくなるにつれてシミユレーシヨン時
間が膨大になるという欠点があつた。
の規模が大きくなるにつれてシミユレーシヨン時
間が膨大になるという欠点があつた。
本発明の目的は、このような従来の欠点を除去
せしめて、高速に回路の動作をシミユレートする
機能レベルシミユレータを提供することにある。
せしめて、高速に回路の動作をシミユレートする
機能レベルシミユレータを提供することにある。
(問題点を解決するための手段)
本発明の機能レベルシユミレータでは、回路の
機能レベル記述に則した仮想スタツクマシン形式
の命令を中間命令として扱う。この中間命令は、
機能レベルミユミレータの動作を一まとめて抽出
したものである。中間命令の種類には例えば、次
のものがある。
機能レベル記述に則した仮想スタツクマシン形式
の命令を中間命令として扱う。この中間命令は、
機能レベルミユミレータの動作を一まとめて抽出
したものである。中間命令の種類には例えば、次
のものがある。
[データ読み出しコード]回路の論理値を表す
データを読み出す命令。
データを読み出す命令。
[データ更新コード]演算の結果得られた回路
の論理値を格納し、更に該データが古いデータと
異なる場合は、イベントホイール上にイベントと
して登録する命令。
の論理値を格納し、更に該データが古いデータと
異なる場合は、イベントホイール上にイベントと
して登録する命令。
[算術論理演算コード]回路の動作を表す算術
論理演算を行なう命令。通常の算術論理演算命令
に加えて、0,1,x,zの4種の論理値からな
る4値論理演算の支援、wired−orなどのハード
ウエアに則した演算、4値データを用いた算術演
算などが存在する。
論理演算を行なう命令。通常の算術論理演算命令
に加えて、0,1,x,zの4種の論理値からな
る4値論理演算の支援、wired−orなどのハード
ウエアに則した演算、4値データを用いた算術演
算などが存在する。
[分岐制御命令]機能レベルでのif文やcase文
に対応する分岐命令。
に対応する分岐命令。
これらの中間命令の系列は、設計者が作成した
シミユレーシヨンの対象となる回路の機能レベル
記述から、中間命令コンバイラにより翻訳され、
生成される。
シミユレーシヨンの対象となる回路の機能レベル
記述から、中間命令コンバイラにより翻訳され、
生成される。
本発明では各中間命令に対して、マイクロプロ
グラムのルーテインが用意されている。各中間命
令の中の中間コード部がマイクロルーテインの種
類を規定する。
グラムのルーテインが用意されている。各中間命
令の中の中間コード部がマイクロルーテインの種
類を規定する。
前述の課題を解決するために本発明が提供する
機能レベルシミユレータは、シミユレートすべき
回路の動作を表わす中間命令を命令メモリから読
み出して中間命令に対応するマイクロ命令の先頭
番地を決定する命令フエツチ・ユニツトと、デー
タ格納部からシミユレートすべき回路の状態を読
み出し、中間命令で指定された回路の動作を実現
する演算を行ないその結果を再び前記データ格納
部に保持する評価部と、それらを制御する順序制
御部とをマイクロプログラム制御方式のハードウ
エアで構成し、機能レベルでシミユレーシヨンを
直接マイクロプログラムで実現していることを特
徴としている。
機能レベルシミユレータは、シミユレートすべき
回路の動作を表わす中間命令を命令メモリから読
み出して中間命令に対応するマイクロ命令の先頭
番地を決定する命令フエツチ・ユニツトと、デー
タ格納部からシミユレートすべき回路の状態を読
み出し、中間命令で指定された回路の動作を実現
する演算を行ないその結果を再び前記データ格納
部に保持する評価部と、それらを制御する順序制
御部とをマイクロプログラム制御方式のハードウ
エアで構成し、機能レベルでシミユレーシヨンを
直接マイクロプログラムで実現していることを特
徴としている。
(実施例)
第1図は本発明の一実施例を説明するブロツク
図、第2図は第1図実施例における命令フエツ
チ・ユニツトの詳細ブロツク図、第3図は第1図
実施例におけるシミユレーシヨン評価部の詳細ブ
ロツク図であり、1は命令フエエツチ・ユニツ
ト、2は命令メモリ、3は順序制御部、4は制御
記憶部、5は評価部、6はデータ・メモリ、7は
制御信号、8は特殊レジスタ群、9は命令メモ
リ、10は命令キヤツシユ、11はマイクロ・ル
ーチン・アドレス・レジスタ、12はマイクロ・
ルーチン・エントリ・テーブル、13は順序制御
部へのデータ・パス、14は命令ALU、15は
特殊レジスタ群、16は2ポート・レジスタ・フ
アイル、17はハードウエア・スタツク、18は
データ・メモリ、19は演算ステータス、20は
演算ALUである。
図、第2図は第1図実施例における命令フエツ
チ・ユニツトの詳細ブロツク図、第3図は第1図
実施例におけるシミユレーシヨン評価部の詳細ブ
ロツク図であり、1は命令フエエツチ・ユニツ
ト、2は命令メモリ、3は順序制御部、4は制御
記憶部、5は評価部、6はデータ・メモリ、7は
制御信号、8は特殊レジスタ群、9は命令メモ
リ、10は命令キヤツシユ、11はマイクロ・ル
ーチン・アドレス・レジスタ、12はマイクロ・
ルーチン・エントリ・テーブル、13は順序制御
部へのデータ・パス、14は命令ALU、15は
特殊レジスタ群、16は2ポート・レジスタ・フ
アイル、17はハードウエア・スタツク、18は
データ・メモリ、19は演算ステータス、20は
演算ALUである。
第1図において、本実施例でシミユレートされ
る回路の記述は予め、中間命令の系列に翻訳さ
れ、命令メモリ2上に格納されている。また、回
路間の接続記述などはデータ・メモリ6上に格納
されている。命令フエツチ・ユニツト1は制御記
憶部4の制御7の元に、命令メモリ2から、次に
実行すべき前記中間命令を読みだし、その読みだ
した中間命令に対応する。マイクロプログラムの
エントリ・アドレスを求め、順序制御部3に転送
する。順序制御部3は命令フエツチ・ユニツト1
から転送されたマイクロプログラムのエントリ・
アドレス、評価部5から転送されてくる演算ステ
ータスなどを用いて次実行すべきマイクロ命令の
番地を求め、対応するマイクロ命令を制御記憶部
4から読み出す。評価部5は前記マイクロ命令の
制御7の元に、データ・メモリ6から必要なデー
タを読みだし、演算を行つた上で、その結果をデ
ータ・メモリ6に格納する。
る回路の記述は予め、中間命令の系列に翻訳さ
れ、命令メモリ2上に格納されている。また、回
路間の接続記述などはデータ・メモリ6上に格納
されている。命令フエツチ・ユニツト1は制御記
憶部4の制御7の元に、命令メモリ2から、次に
実行すべき前記中間命令を読みだし、その読みだ
した中間命令に対応する。マイクロプログラムの
エントリ・アドレスを求め、順序制御部3に転送
する。順序制御部3は命令フエツチ・ユニツト1
から転送されたマイクロプログラムのエントリ・
アドレス、評価部5から転送されてくる演算ステ
ータスなどを用いて次実行すべきマイクロ命令の
番地を求め、対応するマイクロ命令を制御記憶部
4から読み出す。評価部5は前記マイクロ命令の
制御7の元に、データ・メモリ6から必要なデー
タを読みだし、演算を行つた上で、その結果をデ
ータ・メモリ6に格納する。
第2図は第1図実施例の命令フエツチ・ユニツ
ト1の詳細を示すブロツク図である。第2図にお
いて命令フエツチ・ユニツトは命令メモリ9に接
続された命令キヤツシユ10から次に実行すべき
中間命令を読みだし、命令ALU14を用いて、
前記中間命令内の中間コード部を抽出し、マイク
ロ・ルーチン・アドレス・レジスタ11に格納す
る。マイクロ・ルーチン・エントリ・テーブル1
2には各中間コードに対応するマイクロ・ルーテ
インの先頭番地が格納されており、前記マイク
ロ・ルーチン・アドレス・レジスタの値を用い
て、前記マイクロ・ルーチン・エントリ・テーブ
ルを索引することにより、前記中間コードに対応
するマイクロ・ルーチンの先頭番地が求まり、順
序制御部へのデータ・パス13を通じて順序制御
部に転送される。
ト1の詳細を示すブロツク図である。第2図にお
いて命令フエツチ・ユニツトは命令メモリ9に接
続された命令キヤツシユ10から次に実行すべき
中間命令を読みだし、命令ALU14を用いて、
前記中間命令内の中間コード部を抽出し、マイク
ロ・ルーチン・アドレス・レジスタ11に格納す
る。マイクロ・ルーチン・エントリ・テーブル1
2には各中間コードに対応するマイクロ・ルーテ
インの先頭番地が格納されており、前記マイク
ロ・ルーチン・アドレス・レジスタの値を用い
て、前記マイクロ・ルーチン・エントリ・テーブ
ルを索引することにより、前記中間コードに対応
するマイクロ・ルーチンの先頭番地が求まり、順
序制御部へのデータ・パス13を通じて順序制御
部に転送される。
前記中間コードが分岐命令に対応する場合、特
殊レジスタ群8に含まれるプログラムカウンタの
値を用いて命令ALU14で新しい実行番地を計
算し、前記プログラム・カウンタに格納するとと
もに、命令キヤツシユ10に新しい命令を命令9
から読みだす様に制御する。
殊レジスタ群8に含まれるプログラムカウンタの
値を用いて命令ALU14で新しい実行番地を計
算し、前記プログラム・カウンタに格納するとと
もに、命令キヤツシユ10に新しい命令を命令9
から読みだす様に制御する。
第3図は第1図実施例の評価部5の精細を示す
ブロツク図である。本発明では2個の演算ALU
20がマイクロプログラムの制御の元に、2ポー
ト・レジスタ・フアイル16及びハードウエア・
スタツク17を共有しながら前記命令フエツチ・
ユニツト1によつて読みだされた中間コードに応
じ和て演算を行う。評価部の動作は、前記中間コ
ードの種類に応じて次の3種類に分類される。
ブロツク図である。本発明では2個の演算ALU
20がマイクロプログラムの制御の元に、2ポー
ト・レジスタ・フアイル16及びハードウエア・
スタツク17を共有しながら前記命令フエツチ・
ユニツト1によつて読みだされた中間コードに応
じ和て演算を行う。評価部の動作は、前記中間コ
ードの種類に応じて次の3種類に分類される。
1 データ読みだしコード
前記中間命令で指定された回路の論理値を表す
データをデータ・メモリ18から読みだし、ハー
ドウエア・スタツク17の先頭に書き込む。
データをデータ・メモリ18から読みだし、ハー
ドウエア・スタツク17の先頭に書き込む。
2 演算コード
ハードウエア・スタツク17上のデータに対し
て前記中間コードで指定された算術論理演算を実
現し、その結果を前記ハードウエア・スタツクの
先頭に書き込むとともに演算ステータス19を順
序制御部に転送する。
て前記中間コードで指定された算術論理演算を実
現し、その結果を前記ハードウエア・スタツクの
先頭に書き込むとともに演算ステータス19を順
序制御部に転送する。
3 データ更新コード
ハードウエア・スタツク17上のデータを前記
中間命令で指定された回路の論理値としてデー
タ・メモリ18に格納するとともに必要な場合
は、データメモリ上のイベント・ホイールへの格
納を行う。
中間命令で指定された回路の論理値としてデー
タ・メモリ18に格納するとともに必要な場合
は、データメモリ上のイベント・ホイールへの格
納を行う。
(発明の効果)
以上説明したように、本発明では、シミユレー
トすべき回路の動作を表わす中間命令メモリから
読み出して中間命令に対応するマイクロ命令の先
頭番地を決定する命令フエツチ・ユニツトと、デ
ータメモリからシミユレートすべき回路の状態を
読み出し、中間命令で指定された回路の動作を実
現する演算を行ないその結果を再び前記データ格
納部に保存する評価部と、それらを制御する順序
制御部とをマイクロプログラム制御方式のハード
ウエアで構成し、機能レベルでのシミユレーシヨ
ンを直接マイクロプログラムで実現していること
により高速に機能レベル・シミユレーシヨンを実
現している。
トすべき回路の動作を表わす中間命令メモリから
読み出して中間命令に対応するマイクロ命令の先
頭番地を決定する命令フエツチ・ユニツトと、デ
ータメモリからシミユレートすべき回路の状態を
読み出し、中間命令で指定された回路の動作を実
現する演算を行ないその結果を再び前記データ格
納部に保存する評価部と、それらを制御する順序
制御部とをマイクロプログラム制御方式のハード
ウエアで構成し、機能レベルでのシミユレーシヨ
ンを直接マイクロプログラムで実現していること
により高速に機能レベル・シミユレーシヨンを実
現している。
第1図は本発明の一実施例を示すブロツク図、
第2図は第1図実施例における命令フエツチ・ユ
ニツトを示す詳細ブロツク図、第3図は第1図実
施例におけるシミユレーシヨン評価部を示す詳細
ブロツク図であり、1は命令フエツチ・ユニツ
ト、2は命令メモリ、3は順序制御部、4は制御
記憶部、5は評価部、6はデータ・メモリ、7は
制御信号、8は特殊レジスタ群、9は命令メモ
リ、10は命令キヤツシユ、11はマイクロ・ル
ーチン・アドレス・レジスタ、12はマイクロ・
ルーチン・エントリ・テーブル、13は順序制御
部へのデータ・パス、14は命令ALU、15は
特殊レジスタ群、16は2ポート・レジスタ・フ
アイル、17はハードウエア・スタツク、18は
データ・メモリ、19は演算ステータス、20は
演算ALUである。
第2図は第1図実施例における命令フエツチ・ユ
ニツトを示す詳細ブロツク図、第3図は第1図実
施例におけるシミユレーシヨン評価部を示す詳細
ブロツク図であり、1は命令フエツチ・ユニツ
ト、2は命令メモリ、3は順序制御部、4は制御
記憶部、5は評価部、6はデータ・メモリ、7は
制御信号、8は特殊レジスタ群、9は命令メモ
リ、10は命令キヤツシユ、11はマイクロ・ル
ーチン・アドレス・レジスタ、12はマイクロ・
ルーチン・エントリ・テーブル、13は順序制御
部へのデータ・パス、14は命令ALU、15は
特殊レジスタ群、16は2ポート・レジスタ・フ
アイル、17はハードウエア・スタツク、18は
データ・メモリ、19は演算ステータス、20は
演算ALUである。
Claims (1)
- 1 シミユレートすべき回路の動作を表わす中間
命令を格納する命令メモリと、前記中間命令を前
記命令メモリから読み出して前記中間命令に対応
するマイクロ命令の先頭番地を決定する命令フエ
ツチ・ユニツトと、ハードウエア全体を制御する
マイクロプログラムを格納する制御記憶部と、前
記命令フエツチ・ユニツトから得られた前記マイ
クロ命令の前記先頭番地より逐次マイクロ命令を
前記制御記憶部から読み出し、次のマイクロ命令
の番地を決定する順序制御部と、シミユレートす
べき回路の状態を保持するデータ格納部と、前記
マイクロ命令の制御のもとに前記データ格納部か
ら前記シミユレートすべき回路の状態を読み出
し、前記中間命令で指定された回路の動作を実現
する演算を行ないその結果を再び前記データ格納
部に保持する評価部とからなり、機能レベルシミ
ユレーシヨンのアルゴリズムを直接マイクロプロ
グラムで実現することを特徴とする機能レベルシ
ミユレータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61179461A JPS6334644A (ja) | 1986-07-29 | 1986-07-29 | 機能レベルシミユレ−タ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61179461A JPS6334644A (ja) | 1986-07-29 | 1986-07-29 | 機能レベルシミユレ−タ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6334644A JPS6334644A (ja) | 1988-02-15 |
JPH0576660B2 true JPH0576660B2 (ja) | 1993-10-25 |
Family
ID=16066254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61179461A Granted JPS6334644A (ja) | 1986-07-29 | 1986-07-29 | 機能レベルシミユレ−タ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6334644A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2852381B2 (ja) * | 1988-06-24 | 1999-02-03 | 富士通株式会社 | Icカード・システム・シミュレータ |
JPH04148424A (ja) * | 1990-10-12 | 1992-05-21 | Nec Corp | 論理シミュレーション演算回路 |
-
1986
- 1986-07-29 JP JP61179461A patent/JPS6334644A/ja active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS6334644A (ja) | 1988-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Eckhouse Jr | A high-level microprogramming language (MPL) | |
US7395199B2 (en) | Emulating the operation of a video graphics adapter | |
JPS5975347A (ja) | 論理回路のシミユレ−シヨン装置 | |
US3698007A (en) | Central processor unit having simulative interpretation capability | |
JPH0810437B2 (ja) | 仮想計算機システムのゲスト実行制御方式 | |
JPH0576660B2 (ja) | ||
JPS61245239A (ja) | 論理回路方式 | |
JPS6349851A (ja) | シミユレ−シヨンシステム | |
Clapp | The application of microprogramming technology | |
Franca et al. | Design and realization of MLM: a multilingual machine | |
Goldberg et al. | The PRIM System: An alternative architecture for emulator development and use | |
JPS6113615B2 (ja) | ||
JPS62120542A (ja) | 情報処理装置 | |
Broadbent | Microprogramming and system architecture | |
Winder | Modelling 8-bit microprocessors for a general-purpose simulator | |
JP2001236247A (ja) | ソフトウェアシミュレータおよびシミュレーション処理方法 | |
Chapman | A Simulator for the Intel 8086 microprocessor | |
JPS61239345A (ja) | I/oシミユレ−タ | |
Boorstin et al. | 1 Project Goals | |
Chalk et al. | Fetching and Executing Instructions | |
Iliffe | DIGITAL SYSTEMS LABORATORY I | |
McClean | Improved techniques for reliable software using microprogrammed diagnostic emulation | |
Mühlemann | Software model of the M6300 microprocessor | |
JPS6338729B2 (ja) | ||
JPH03245270A (ja) | 論理シミュレーション環境設定方式 |