JP3005583B1 - インサ―キットエミュレ―タおよびエミュレ―ション方法 - Google Patents

インサ―キットエミュレ―タおよびエミュレ―ション方法

Info

Publication number
JP3005583B1
JP3005583B1 JP11073604A JP7360499A JP3005583B1 JP 3005583 B1 JP3005583 B1 JP 3005583B1 JP 11073604 A JP11073604 A JP 11073604A JP 7360499 A JP7360499 A JP 7360499A JP 3005583 B1 JP3005583 B1 JP 3005583B1
Authority
JP
Japan
Prior art keywords
address
interrupt
emulator
circuit
evaluation chip
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
Application number
JP11073604A
Other languages
English (en)
Other versions
JP2000267877A (ja
Inventor
靖 森田
Original Assignee
日本電気アイシーマイコンシステム株式会社
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 日本電気アイシーマイコンシステム株式会社 filed Critical 日本電気アイシーマイコンシステム株式会社
Priority to JP11073604A priority Critical patent/JP3005583B1/ja
Application granted granted Critical
Publication of JP3005583B1 publication Critical patent/JP3005583B1/ja
Publication of JP2000267877A publication Critical patent/JP2000267877A/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

【要約】 【課題】 インサーキットエミュレータおよびエミュレ
ーション方法を提供する。 【解決手段】 拡張ボード16は、CPUを評価するチ
ップであるCPUエバチップ102を内蔵し、エミュレ
ータ本体11に接続されたエミュレータポッド部102
と、エミュレータポッド部102に接続され、エミュレ
ータポッド部102から出力されたアドレスをアドレス
変換手段に格納しておいたアドレスに変換して出力する
アドレス変換回路101と、アドレス変換回路101に
接続され、各種入出力機能が内蔵されたマイコン周辺エ
バチップ104と、エミュレータポッド部102に接続
され、エミュレータポッド部102から出力された割込
みアドレスを割込み変換回路の割込み変換手段に格納し
ておいた割込みアドレスに変換して出力する割込み変換
回路103と、を有し、割込みベクタの領域に未使用空
間をなくし、実際に使用できる連続したプログラム領域
を拡大することが可能となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ソフトウェアの設
計ミスを軽減し、開発効率を向上させ、プログラム領域
の有効利用を可能にし、かつ、多品種少量生産やユーザ
ーへの早期供給を可能にするインサーキットエミュレー
タおよびエミュレーション方法に関する。
【0002】
【従来の技術】カスタムマイクロコンピュータは、タイ
マの本数、シリアル回路の本数、DMA(Direct Memor
y Access)の本数等がユーザの使用目的により異なるこ
とからI/Oの要求数が一定ではない。
【0003】近年、ハードウェアの動作を直接記述可能
なHDL(Hardware DescriptionLanguage)と呼ばれる
言語でLSI回路設計が行われるのが一般的になり、こ
のHDLを用いることにより、単にレジスタの本数が定
義されているヘッダファイルの内容を更新し、再コンパ
イルするだけで、ユーザの使用目的により異なる多種多
様なI/O要求を短期間に設計することが可能になって
きた。
【0004】また、ソフトウェア面に目を転じると、ソ
フトウェアの設計を容易とするために入力アドレスが格
納されたI/Oレジスタが連続に並んでいることがユー
ザから要求され、また、プログラムメモリを効率的に利
用するために、割込みベクタ領域が途中で抜けることな
く連続してきれいにつめられていることがユーザから要
求されてきている。さらに、割込み本数についてもより
多くの本数、例えば、64本以上が要求されてきてい
る。割込み本数に関して、この要求を満たすためCPU
エバチップに64本以上の割込み端子を設けたLSIの
パッケージを考えることは現実的とはいえない。このた
め近年では、IRQ(Interrupt Request)をエンコード
することで7本のIRQで128本、8本のIRQで2
56本の割込みに対応している。
【0005】さらに、カスタムマイクロコンピュータ
は、特定のユーザを対象として製造されたマイクロコン
ピュータであるので、用途が固定されており、そのた
め、一般ユーザを対象とした汎用マイクロコンピュータ
として、他のユーザに販売することができない。それゆ
え、カスタムマイクロコンピュータ用のインサーキット
エミュレータはどうしても多品種少量になる傾向があ
る。従来、マイクロコンピュータはユーザの要求を取り
入れて開発されてきたが、量産効果による製品価格の低
下と開発コストの回収を考え、マイクロコンピュータを
汎用製品とし、他のユーザにも販売できるように工夫さ
れてきた。
【0006】ゆえに従来のインサーキットエミュレータ
では使用上制限があるが、ある程度デバッグに使える暫
定的なインサーキットエミュレータをまずユーザに提供
しておいて、最終的に安価で開発コストの回収が可能
な、フル機能装備のインサーキットエミュレータを再度
供給する方法をとっていた。しかし、少品種大量生産で
なく、多品種少量生産になると開発費の回収ができない
ため、上述のような2段階のインサーキットエミュレー
タの供給方法は次第に難しくなってきているのが現状で
ある。
【0007】また、カスタムマイクロコンピュータの試
作段階では、内蔵ROMに書き込むソフトウェアが必要
となる。かくしてソフトウェアの開発環境を整備する意
味でも、ユーザへのインサーキットエミュレータの早期
供給がカスタムマイクロコンピュータの売り上げの向上
には益々重要になってきている。
【0008】図9は、第1の従来例としてのインサーキ
ットエミュレータ901の内部構成を示すブロック図で
ある。
【0009】本従来例は、書き換え可能(プログラマブ
ル)なロジックデバイスを使ってインサーキットエミュ
レータ901を構成した例である。
【0010】図9に示すように、本従来例のインサーキ
ットエミュレータ901は、I/Oポート902と、タ
イマ/カウンタ903と、CPU904と、SCI(Ser
ialCommunication Interface)905と、RAM906
と、プログラマブルロジック907と、ROM908
と、から構成されている。
【0011】CPU904はアドレスバス、およびデー
タバス(ともに図示せず)を介してRAM906,RO
M908,各種周辺機能デバイス、およびプログラマブ
ルロジックデバイス907にアクセスすることができ、
これらに制御信号を出力するものである。このようにプ
ログラマブルロジック907を使用することで変更のあ
った周辺機能への対応が可能となっている。割込みコン
トローラ(図示せず)をプログラマブルロジック907
に収容すると割込み本数、割込みベクタを自由に変更す
ることが可能になる。
【0012】図10は、第2の従来例として拡張ボード
112の構成を示す図である。
【0013】図10に示す拡張ボード112は、拡張ボ
ード112上にマイコン周辺エバチップ1004、AS
SP(Application Specific Standard Product)エバ
チップ1007、アナログエバチップ1008、ユーザ
論理IC(ゲートアレイ)1009等が外部バス101
2を介してエミュレータポッド部1002のCPUエバ
チップ(図示せず)に接続される構成になっている。ま
た、割込みコントローラ(図示せず)はマイコン周辺エ
バチップ1004に内蔵されており、結線用コネクタ1
006を介してCPUエバチップに接続されている。
【0014】図11は、本従来例のCPUエバチップ2
000の構成を示すブロック図である。
【0015】CPUエバチップ2000は、各種インタ
フェースから成る周辺モジュール2002と、周辺モジ
ュール2002に隣接して配置されているコントロール
回路2001と、を有している。
【0016】まず、図10および図11を参照して、C
PUエバチップ2000が上記各エバチップ1004,
1007,1008へアクセスするときの動作を説明す
る。CPUエバチップ2000が上記各エバチップ10
04,1007,1008をアクセスするとき、CPU
エバチップ2000は外部バス1012からアクセスア
ドレスを出力し、外部バス1012でライトデータを出
力、あるいはリードデータを入力する。
【0017】また、CPUエバチップ2000はリード
およびライトの方向を示す信号であるRD/WRを上記
アドレス出力タイミングで出力することで各エバチップ
1004,1007,1008へのアクセスを行う。各
周辺エバチップ10004,1007,1008のレジ
スタは重複しないアドレスに割り振られているため、C
PUエバチップ2000が誤って2つのレジスタを同時
にアクセスすることはない。これはCPUエバチップ2
000からのアクセスされたとき、各エバチップ100
4,1007,1008はマイコン周辺エバチップ10
04内のレジスタが選択されているかどうかをアドレス
デコードして判断しているからである。
【0018】次に、割込みについて説明する。各エバチ
ップ1004,1007,1008のI/Oは、マイコ
ン周辺エバチップ1004内部の割込みコントローラ1
004を介して、CPUエバチップ2000に割込み要
求を出す。IRQ0−15は16本の割込み要求信号で
ある。CPUエバチップ2000は、この割込み要求に
応じた割込み処理を行う。
【0019】以上のように、複数のエバチップ100
4,1007,1008をCPUエバチップ2000に
接続し、カスタムマイクロコンピュータ用のインサーキ
ットエミュレータを構成することで、インサーキットエ
ミュレータの開発期間の短縮を図っている。
【0020】図12は、FPGA(Field Programmable
Gate Array)のデータ設計フローである。
【0021】図12のように、従来においては、製造す
るFPGAの仕様確定後(ステップS200)、この仕
様に従って回路を設計する(ステップS201)。そし
て、設計した回路を自動的に合成(ステップS202)
してから、正しく論理合成されたかどうか論理シミュレ
ーションを実施する(ステップS203)。論理シミュ
レーションの実施後、設計した回路が要求したタイミン
グ条件を満たしているかどうか検証する(ステップS2
04)。要求したタイミング条件を満たしていることが
検証されれば、次に、回路の構成要素を実際に配置し
て、それらの間を接続する(ステップS205)。回路
の配置配線が済んだなら、完成した回路が所定のタイミ
ング条件を満たしているかどうか最終的にタイミングを
検証する(ステップS206)。そして、所定のタイミ
ング条件を満たしていないことが検証されれば、回路の
書き込み操作に進む(ステップS207)が、所定のタ
イミング条件を満たしていない場合は、ステップS20
4に戻って、ステップS205,S206を繰り返す。
最後に実機デバッグを行って(ステップS208)、F
PGAの設計を終了する。
【0022】以上のように、従来においてはFPGAを
高速動作させるため高速動作が必要な経路のスピードを
制御するファイルを作成して、遅延シミュレーションを
実行していた。
【0023】図13は、従来例の割込み先頭アドレスと
割込み要因を示す図である。
【0024】図13のように、割込み要因ベクタはとこ
ろどころ未使用状態(0020H,0030H)になっ
ている。なお、図13中、NMI(Non Maskable Inte
rrupt) はマスク不能な割込みのことである。
【0025】図14は、従来例としてのCPUエバチッ
プ3000接続例を示す図である。
【0026】図14に示すように、CPUエバチップ3
000は周辺エバチップ3003と割込み変換回路30
02を介して接続されている。CPUエバチップ300
0はデバッグ対象となるマイクロコンピュータが3Vで
も5Vデバッグできる機能が要求されている。これは、
3Vから5Vまで1台のインサーキットエミュレータで
エミュレーションをすることができるからである。従来
のインサーキットエミュレータでは、図14に示すCP
Uエバチップ3000の接続に示すように、マイクロコ
ンピュータが組み込まれたデバック対象のシステム(以
降、ターゲットと記す)が3Vのとき、CPUエバチッ
プ3000、マイコン周辺エバチップ3003、割込み
変換回路3002は回路が壊れないように、すべて3V
で動作させなければいけなかった。
【0027】また、5Vのときは誤動作を防ぐために、
すべて5Vで動作する回路にする必要があった。従来の
CPUエバチップ3000は端子に電圧変換回路が内蔵
されており、端子電圧を3Vから5Vまで可変にするこ
とで5Vから3Vまでの電圧への対応が可能な構成にな
っていた。しかし、動作電圧が5Vのときはバッファは
高速に動作するが、3Vで動作するときは電圧変換の結
果動作が低速になる。しかも、割込み変換回路3002
に3Vで動作するメモリを使うと5Vで動作するメモリ
より2ns程度動作速度が遅くなるという問題点があっ
た。
【0028】
【発明が解決しようとする課題】第1の従来例には、以
下のような問題点があった。近年CPUの動作速度は高
速になり、周辺機能の回路規模も増大してきている。第
1の従来例のインサーキットエミュレータ901のプロ
グラマブルロジック907も確かに高速にはなってきて
いるが、書き込んだ回路を高速動作させようとすると、
配線領域が多く取られ、ゲート占有率が極端に低下す
る。このため、一つの周辺機能ブロックを複数のプログ
ラマブルデバイスに分割して動作させる追加作業が必要
となる。また、プログラマブルデバイスがいくら高速に
なったとはいえ、ゲートアレイと比較するとまだかなり
スピードが遅い。このため、目的とする周波数で動作さ
せることが難しい。
【0029】さらに、図12のFPGAのデータ設計フ
ローに示すように、FPGAを高速動作をさせるため、
高速動作が必要な経路のスピードを制御するファイルの
作成、遅延シミュレーションを実施する必要があり、目
的の周波数で完全に動作する装置を完成させるのには、
1ヶ月から2ヶ月という多くの時間を要する。
【0030】また、第2の従来例には、上述したよう
に、ハードウェアの面では、カスタムマイクロコンピュ
ータはユーザの使用目的によりタイマの本数、シリアル
回路の本数、DMAの本数などI/Oの要求数がバラバ
ラであるという問題点があった。
【0031】さらに、ソフトウェアの面では、ソフトウ
ェアの設計のしやすさから、I/Oレジスタが連続に並
んでいること、およびプログラムメモリの効率的利用の
観点から、割込みベクタの領域が抜けることなく連続し
てきれいにつめられていることがユーザから要求されて
いるが、図13に示すように、割込みベクタはところど
ころ未使用状態(0020H,0030H)になってい
る。
【0032】実チップでは割込みベクタをそろえて、ベ
クタが抜け状態にならないようにしているが、暫定的な
インサーキットエミュレータでは割込みベクタアドレス
がそろえられていないためプログラムデバッグが行われ
る。しかしながら、暫定的なインサーキットエミュレー
タと実チップの仕様が異なるので、実チップが完成した
ときに、プログラムを変更して再度修正箇所の動作確認
が必要、つまり、二度手間になるという問題点があっ
た。
【0033】インサーキットエミュレータだけで発生す
る割込みベクタがそろっていない問題を実チップに反映
させた場合、図13に示す従来例の割込み先頭アドレス
と割込み要因例に示したように、割込みベクタの領域に
未使用空間ができ、歯抜け状態になってしまうので、実
際に使用できる連続したプログラム領域が狭くなるとい
う問題が起きる。特に、プログラム領域が限られた内蔵
ROM製品では未使用空間がないことが望ましい。
【0034】一方、近年のCPUエバチップの割込みイ
ンタフェースは割込みの本数を増やすため、IRQをエ
ンコードしている。しかし、割込みのベクタを連続配置
するため、エンコードしたIRQを、CPUエバチップ
と周辺エバチップ間で、結線用コネクタによって変換を
するとCPUエバチップでデコードできなくなり、目的
の割込み処理ができなってしまうという問題点があっ
た。
【0035】さらに、第3の従来例には、動作電圧が5
Vのときバッファは高速に動作するが、3Vのときは電
圧変換の結果動作が低速になる。このため割込み変換回
路に3Vで動作するメモリを使うと5Vで動作するメモ
リより2ns程度動作速度が遅くなるという問題点があ
った。
【0036】本発明は上述したような従来の技術が有す
る問題点に鑑みなされたものであつて、ソフトウェアの
設計ミスを軽減し、開発効率を向上させ、プログラム領
域の有効利用を可能し、かつ、多品種少量生産やユーザ
への早期供給を可能にするインサーキットエミュレータ
およびエミュレーション方法を提供することを目的とす
る。
【0037】
【課題を解決するための手段】上記の問題点を解決する
ため、本発明によれば、ホストコンピュータと、ホスト
コンピュータに接続されたエミュレータ本体と、エミュ
レータ本体の先に接続された拡張ボードと、拡張ボード
にケーブルを用いて接続されたユーザターゲットシステ
ムと、から成るインサーキットエミュレータシステムで
あって、拡張ボードは、CPUを評価するチップである
CPUエバチップを内蔵し、エミュレータ本体に接続さ
れたエミュレータポッド部と、エミュレータポッド部に
接続され、エミュレータポッド部から出力されたアドレ
スをアドレス変換手段に格納しておいたアドレスに変換
して出力するアドレス変換回路と、アドレス変換回路に
接続され、各種入出力機能が内蔵されたマイコン周辺エ
バチップと、エミュレータポッド部に接続され、エミュ
レータポッド部から出力された割込みアドレスを割込み
変換回路の割込み変換手段に格納しておいた割込みアド
レスに変換して出力する割込み変換回路と、とを有し、
マイコン周辺エバチップは、マイコン周辺エバチップと
割込み変換回路との間に設けられ、CPUへの割込みを
制御する割込みコントローラと、割込みコントローラに
接触して配置され、割込みコントローラからの信号エン
コードするエンコーダと、を有し、CPUエバチップと
マイコン周辺エバチップのインタフェースとしてバスを
具備することを特徴とする。
【0038】また、アドレス変換回路は、エミュレータ
ポッド部から入力されたマイコン周辺エバチップのレジ
スタアドレスをラッチするアドレスラッチと、アドレス
ラッチから出力されるアドレスをデコードするアドレス
デコーダと、周辺エバチップの非連続的なレジスタアド
レスを連続したレジスタアドレスに変換する変換アドレ
スが格納されたアドレス変換手段と、エミュレータポッ
ド部から入力されたアドレスまたはアドレス変換手段か
ら出力されたアドレスのいずれか一方を選択するセレク
タと、を具備し、予約されている本数より多くの入出力
を要求されたとき、アドレスをずらして入力アドレスが
格納されたI/Oレジスタを再配置し、かつ、割込みベ
クタ領域の未使用空間をなくし、実際に使用する連続し
たプログラム領域の拡大していることを特徴とする。
【0039】また、割込み変換回路は、エミュレータポ
ッド部から入力したマイコン周辺エバチップの出力要求
割込みアドレスをラッチするアドレスラッチと、アドレ
スラッチから出力されたアドレスをデコードするアドレ
スデコーダと、周辺エバチップの非連続的な出力割込み
要求を連続したアドレスに変換したアドレスが格納され
た割込み変換手段と、を具備し、割込み変換ベクタ領域
の未使用空間をなくし実際に使用する連続したプログラ
ム領域を拡大していることを特徴とする。
【0040】また、CPUエバチップは、各種インタフ
ェースから成る周辺モジュールと、周辺モジュールに隣
接して配置されているコントロール回路と、を具備し、
5Vが入力に耐える5V耐圧の3V端子バッファを装備
しており、CPUエバチップを3Vで動作させるとき
も、割込み変換回路を5Vで動作させることを特徴とす
る。
【0041】また、CPUエバチップの周辺モジュール
は、複数の入出力端子を有し、そのうちの1つの入出力
端子は外部割込み入力とポート出力とを兼用しているこ
とを特徴とする。
【0042】また、予約されている本数より多くの入出
力を要求されたとき、アドレスをずらしてI/Oレジス
タを再配置し、かつ、割込みベクタ領域の未使用空間を
なくして実際に使用する連続したプログラム領域を拡大
していることを特徴とする。
【0043】上記のように構成される本発明において
は、割込み変換回路を有しているので、割込みベクタの
領域に未使用空間をなくすことができ、実際に使用でき
る連続したプログラム領域を広く持つことが可能とな
る。
【0044】また、外部バスあるいは内部バスを引き出
したバスにアドレス変換回路を持っているので、予約さ
れているよりも多くの本数のI/Oを要求されたとき、
アドレスをずらし、I/Oレジスタを連続配置すること
が可能となる。
【0045】さらに、ターゲットシステムのデバックの
最初から、カスタムマイクロコンピュータとの差がなく
なるばかりでなく、アドレス変換回路データと割込み変
換回路データを変更するだけでインサーキットエミュレ
ータを実現することができる。
【0046】またさらに、以上のことからソフトウェア
の設計ミスが軽減され、開発効率が向上することになる
とともに、使用上の制限もなくなる。その結果、ユーザ
へのインサーキットエミュレータの早期供給が可能とな
った。
【0047】
【発明の実施の形態】次に、本発明の実施の形態を図面
を参照して説明する。
【0048】図1は、本発明の第1の実施例としての拡
張ボードを使ったインサーキットエミュレータの構成を
示す図である。
【0049】本実施例のインサーキットエミュレータシ
ステムは、ホストコンピュータ10と、エミュレータ本
体11と、エミュレータ本体11のエミュレーションプ
ローブ13の先に接続された拡張ボード16、さらに、
その先に接続されたユーザターゲットシステム19と、
から構成されている。本発明は、インサーキットエミュ
レータシステムにおいて拡張ボード16に関する発明で
あるので、以下、拡張ボード16について説明する。
【0050】本実施例の拡張ボード16上には割込み変
換回路22が搭載されているため、割込みベクタ領域に
未使用空間をなくすことができ、実際に使用できる連続
したプログラム領域を拡大することが可能になる。ま
た、外部バスあるいは内部バスを引き出したバスにアド
レス変換回路21を有することで、予約されているより
も多くの本数の入出力を要求されたとき、アドレスをず
らし、I/Oレジスタ(図示せず)を連続配置すること
が可能となる。さらに、割込み変換データとアドレスを
変換するだけでインサーキットエミュレータを開発する
ことができるようにするものである。
【0051】図2は、図1に示す本実施例の拡張ボード
16の構成を示す図である。図2に示すように、拡張ボ
ード16は、アドレスを変換するアドレス変換回路10
1と、割込みアドレスを変換する割込み変換回路103
と、エミュレータ本体11と接続されるCPUエバチッ
プ(図示せず)と、を内蔵したエミュレータポッド部1
02と、CRTC等の各種入出力機能が内蔵されたマイ
コン周辺エバチップ104と、SCI等の各種入出力機
能が内蔵されたASSPエバチップ107と、各種アナ
ログ入出力機能が内蔵されたアナログエバチップ108
と、ユーザが作成するユーザ論理IC(ゲートアレイ)
109と、拡張ボード16とユーザターゲットシステム
19とを接続するユーザケーブル110と、から構成さ
れる。
【0052】ちなみに、図1において、マイコン周辺/
ASSP/アナログエバチップのエバとは、evaluation
(評価)のevaからつけられたものである。
【0053】図3は、図2に示すエミュレータポッド部
102に内蔵されたCPUエバチップ200の内部構成
を示す図である。
【0054】CPUエバチップ200は、各種インタフ
ェースから成る周辺モジュール202と、周辺モジュー
ル202に隣接して配置されたコントロール回路201
と、を含み、周辺モジュール202とコントロール回路
201は内部バス203により接続されている。また、
IRQ(外部割込み入力)入力がポート出力と同じピン
204に割り当てられている。外部割込み入力とポート
兼用ピン204を外部割込み入力として使用するとき
は、そのままIRQを入力する。ポートとして使用する
ときは、No−IO信号(IOイネーブル制御入力)2
05を入力し、AND回路206でIRQ入力をマスク
する。
【0055】ここで、本発明の特徴を明確にするため、
図2に示す本実施例の拡張ボード16と図3に示すCP
Uエバチップ200について、図11および図12に示
した第2の従来例の拡張ボード112とCPUエバチッ
プ200と比較してその構成の違いを説明する。
【0056】本実施例の拡張ボード16にはアドレス変
換回路101と割込み変換回路103が追加され、マイ
コン周辺エバチップ104の中にエンコーダ104Aと
割込みコントローラ(INT)104Bが追加され、マ
イコン周辺エバチップ104とCPUエバチップ200
のインタフェースには、アドレスとデータがマルチプレ
クスされる外部or内部バス113が追加されている。
【0057】また、図3のようにCPUエバチップ20
0はIRQ入力とポート出力が1本のピン204で兼用
されており、ポートとして使用するときは、IOイネー
ブル制御205入力で外部からの割込み要求入力信号を
AND回路206でマスクできるようにしている。これ
はCPUエバチップ200だけで動作するとき、CPU
エバチップ200内部のI/Oを使用して割込み処理を
するため、専用のIRQピンは不要であるからである。
従来例では、図11のようにIRQ入力2006をポー
ト出力2004と別のピンに割り当てていた。ところ
が、このように別のピンを設けるということは多くのピ
ンを必要とすることを意味し、マイクロコンピュータに
不用のピンを設けなければならなくなる。
【0058】図4は、アドレス変換回路101の内部構
成を示すブロック図であり、図5は、割込み変換回路1
03の内部構成を示すブロック図である。
【0059】アドレス変換回路101は、図4に示すよ
うに、エミュレータポッド部102から入力したマイコ
ン周辺エバチップ104のレジスタアドレスをラッチす
るアドレスラッチ307と、アドレスラッチ307から
の出力をデコードするアドレスデコーダ308と、アド
レスデコーダ308の出力を一時的に格納しておくフリ
ップフロップ310と、マイコン周辺エバチップ200
の非連続的なレジスタアドレスを連続したアドレスに変
換するアドレスを格納したマッピングメモリSRAM3
06と、エミュレータポッド部102から入力したアド
レスまたはマッピングメモリSRAM306から出力さ
れたアドレスのいずれか一方を選択するセレクタ301
と、を有する。
【0060】アドレス変換回路101が変換アドレスを
出力するのはCPUエバチップ102から出力されるA
STB信号がHighレベルの期間である。ASTB信
号がLowレベルの期間でライトのときはライトデータ
であるAD(I/O)の値が外部or内部バス113に
出力される。また、リードのときはAD(I/O)の値
がバッファを介して外部or内部バス113に出力され
る。
【0061】なお、アドレス変換回路101は、マイコ
ン周辺エバチップ104の非連続的なレジスタアドレス
を連続したアドレスに変換するアドレス変換手段として
マッピングメモリSRAM306を用いている。
【0062】割込み変換回路103は、図5に示すよう
に、エミュレータポッド部102から入力したマイコン
周辺エバチップ104の出力要求割込みアドレスをラッ
チするアドレスラッチ402と、アドレスラッチ402
から出力されたアドレスをデコードするアドレスデコー
ダ403と、アドレスデコーダ403の出力を一時的に
格納しておくフリップフロップ406と、マイコン周辺
エバチップ104の非連続的な出力要求を連続したアド
レスに変換する変換アドレスを格納したマッピングメモ
リSRAM400と、を有する。
【0063】なお、割込み変換回路103は、マイコン
周辺エバチップ104の非連続的な出力割込み要求を連
続したアドレスに変換するアドレス変換手段としてマッ
ピングメモリSRAM400を用いている。
【0064】図6(a)は、アドレス変換回路101で
実施されるアドレス変換データの割り当てを示す図であ
り、図6(b)は、割込み変換回路103で実施される
割込み変換データの割り当てを示す図である。
【0065】次に、図6(a)のアドレス変換データ例
を用いてCPUエバチップ200がマイコン周辺エバチ
ップ104のレジスタをアクセスするときの動作につい
て説明する。CPUエバチップ200がマイコン周辺エ
バチップ104のレジスタをアクセスするとき、アドレ
ス変換回路101はCPUエバチップ200が出力した
アドレスを、マッピングメモリSRAM306に格納し
ておいた変換アドレス501に変換して、マイコン周辺
エバチップ104に出力する。図6(a)のアドレス変
換データ例に示すように、実際のマイコン周辺エバチッ
プ104のレジスタアドレス500が100H番地であ
ってもCPUエバチップ200は3番地をアクセスする
ことで目的とするレジスタをアクセスすることができ
る。ゆえに、アドレス変換回路101を用いることで物
理的に離れたアドレスのレジスタであっても、見かけ上
連続したアドレスにすることが可能となる。
【0066】さらに、アドレス変換用のマッピングメモ
リSRAM306へのデータの設定方法であるが、ここ
ではアクセス空間の1バイトにフリップフロップ310
を設け、メモリマップドI/Oを形成しアクセスイネー
ブル信号を生成している。もちろん別のバスを用いて設
定しても、ROMを用いてもよい。CPUエバチップ2
00がメモリマップドI/Oに“1”を設定すると、ア
ドレス変換用のマッピングメモリSRAM306へのア
クセスが可能になる。CPUエバチップ200がマッピ
ングメモリSRAM306に変換データを書き込む。ま
た、CPUエバチップ200がマッピングメモリSRA
M306から変換データをリードをすることで変換デー
タの確認も可能である。
【0067】上記において、メモリマップドI/Oと
は、入出力装置のアドレスを主記憶装置のアドレスの一
部に割り当て、CPUと入出力装置とをバスにより結合
した入出力方式のことである。
【0068】続いて、図6(b)に示す割込み変換デー
タ601例を用いて、マイコン周辺エバチップ104が
CPUエバチップ200に割込み要求を出すときの動作
について説明する。各エバチップ104,200から出
力された割込み要求信号は、ある一つのエバチップの割
込みコントローラに入力され優先順位が制御される。図
2に示した本発明の拡張ボード16の構成例ではASS
Pエバチップ107、アナログエバチップ108、ユー
ザ論理ICゲートアレイ109が出力した割込み要求信
号INTRQ(Interrupt Request)をマイコン周辺エバ
チップ104が受け取り、割込み制御回路であるINT
104Bで優先順位付けを行っている。エンコーダ10
4Aは割込みコントローラ104Bが優先順位付けした
割込み要求信号をエンコードして出力する。ここではエ
ンコードした値が0001H,0002Hのとき、図5
に示したマッピングメモリSRAM400は割込み変換
データFFFFHを出力する。なお、FFFFHはここ
では未使用である。
【0069】続く、0003Hのとき、マッピングメモ
リSRAM400は割込み変換データ0001Hを出力
する。このように、0003Hが0001Hの次の割込
みに割り当てられていることがわかる。このマッピング
メモリSRAM400にデータを書き込むときも、図4
に示した上述のアドレス変換用のマッピングメモリSR
AM306と同様、メモリマップドされたイネーブル制
御I/O406に“1”を設定することでアクセス許可
をしている。
【0070】図7は、本実施例の設計フローを示す図で
ある。
【0071】図7のように、本実施例においては、仕様
確定後(ステップS100)、変換データを作成して
(ステップS101)、実機デバッグを行うだけでよく
(ステップS102)、面倒な論理シミュレーションや
タイミング検証の必要もない。
【0072】図8は、本実施例のCPUエバチップ80
0の接続例を示す図である。
【0073】図8に示すように、本実施例のCPUエバ
チップ800は周辺エバチップ803と割込み変換回路
802を介して接続されている。CPUエバチップ80
0はデバッグ対象となるマイクロコンピュータが3Vで
も5Vデバッグできる機能が要求されている。これは、
3Vから5Vまでの電源電圧で動作するマイクロコンピ
ュータのエミュレーションを1台のインサーキットエミ
ュレータで行うことができるからである。本実施例のイ
ンサーキットエミュレータでは、図8の本実施例のCP
Uエバチップ800の接続に示すように、 CPUエバ
チップ800は、5V耐圧の3V端子バッファ801を
装備しているので、CPUエバチップ800を3Vで動
作させるときも、割込み変換回路802を5Vで動作さ
せることができる。このため、5V耐圧バッファ3V端
子801の動作速度が常に高速で一定となり、かつ割込
み変換回路801の動作速度が低下することもない。
【0074】以上のことから、マイクロコンピュータが
組み込まれたデバッグ対象のシステムが3Vで動作する
とき、CPUエバチップ800、マイコン周辺エバチッ
プ803、割込み変換回路802は、すべて3Vで動作
させなくともよい。また、5Vで動作するときは、すべ
て5Vで動作する回路にしなくてもよい。
【0075】以上のように、本実施例によれば、ソフト
ウェアの設計ミスが軽減され、開発効率が上がり、実チ
ップとの差もなくなる結果制限もなくなるので、プログ
ラム領域の有効利用が可能になる。
【0076】また、多品種少量生産やユーザへの早期供
給も可能になる。
【0077】なお、上記の実施例では周辺エバチップの
レジスタアドレスおよび出力割込み要求アドレスを先頭
からつめていくアドレス変換方法をとっているが、本実
施例は、必ずしもこも方法に限定されるものではなく、
例えば、周辺アドレスおよび出力割込み要求を下からつ
めていくアドレス変換方法をとってもよい。
【0078】
【発明の効果】以上説明したように、本発明によれば、
以下のような顕著な効果を奏する。
【0079】(1)割込み変換回路を有しているため、
割込みベクタの領域に未使用空間をなくすことができ、
実際に使用できる連続したプログラム領域を拡大するこ
とが可能となる。
【0080】(2)外部バスあるいは内部バスを引き出
したバスにアドレス変換回路を持つことで、予約されて
いる本数よりも多くの入出力を要求されたとき、アドレ
スをずらし、I/Oレジスタを連続配置することが可能
となる。
【0081】(3)ターゲットシステムのデバックの最
初から、カスタムマイクロコンピュータとの差がなくな
るばかりでなく、アドレス変換回路データと割込み変換
回路データを変更するだけで容易にインサーキットエミ
ュレータを実現することができる。
【0082】(4)ソフトウェアの設計ミスが軽減さ
れ、開発効率が向上するとともに、使用上の制限もなく
なる。その結果、ユーザへのインサーキットエミュレー
タの早期供給が可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施例の拡張ボードを使ったイ
ンサーキットエミュレータの構成を示す図である。
【図2】図1に示す本実施例の拡張ボードの構成を示す
図である。
【図3】図2に示すエミュレータポッド部に内蔵された
CPUエバチップの内部構成を示す図である。
【図4】アドレス変換回路の内部構成を示すブロック図
である。
【図5】割込み変換回路の内部構成を示すブロック図で
ある。
【図6】(a)は、アドレス変換回路で実施されるアド
レス変換データの割り当てを示す図であり、(b)は、
割込み変換回路で実施される割込み変換データの割り当
てを示す図である。
【図7】本実施例の設計フローを示す図である。
【図8】本実施例のCPUエバチップの接続例を示す図
である。
【図9】従来例1のインサーキットエミュレータの内部
構成を示すブロック図である。
【図10】従来例2の拡張ボードの構成を示す図であ
る。
【図11】従来例2のCPUエバチップの構成を示すブ
ロック図である。
【図12】FPGA(Field Programmable Gate Arra
y)のデータ設計フローである。
【図13】従来例の割込み先頭アドレスと割込み要因を
示す図である。
【図14】従来例のCPUエバチップ接続例を示す図で
ある。
【符号の説明】
10,1000 ホストコンピュータ 11,1001 エミュレータ本体 12,1002 ポッドケーブル 13 エミュレーションプローブ 14 マイコン周辺/ASSP(Application Specific
Standard Product)/アナログエバチップ 15,109,1009 ユーザ論理ICゲートアレイ 16,112,1006 拡張ボード 17,1102 結線用コネクタ 19,1009 ユーザターゲットシステム 20,111 エミュレーションプローブ 21,101 アドレス変換回路 22,103,802,3002 割込み変換回路 102,1002 エミュレータポッド部(CPUエバ
チップ内蔵) 104,1004,3003 マイコン周辺エバチップ 104A エンコーダ 104B 割込みコントローラ(INT) 106,1006 結線用コネクタ 107,1007 ASSPエバチップ 108,1008 アナログエバチップ 110,1010 ユーザケーブル 113 外部or内部バス 200,800,3000 CPUエバチップ 201,2001 コントロール回路 202,2002 周辺モジュール 203,2003 内部バス 204 IRQ(Interrupt Request)外部割込み入力と
ポート兼用ピン 205 No−IO(イネーブル制御) 300,301 セレクタ 206,302,305,309,401,405 A
ND回路 303,304,404 3ステートバッファ 306,400 マッピングメモリSRAM 307,402 アドレスラッチ 308,403 アドレスデコーダ 310,406 フリップフロップ 407 インバータ 500 周辺エバチップレジスタアドレス 501 SRAM変換アドレス 600 周辺エバチップ出力割込み要求 601 割込み変換データ 801 5V耐圧の3V端子 803,1004 周辺エバチップ 901 インサーキットエミュレータ 902 I/Oポート 903 タイマ/カウンタ 904 CPU 905 SCI(Serial Communication Interface) 906 RAM 907 プログラマブルロジック 908 ROM 1003 ポッド 1012 外部バス 1101 マイコン周辺エバチップ 2004 ポート 2006 IRQ 3001 5Vバッファ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 11/22 - 11/26

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 ホストコンピュータと、前記ホストコン
    ピュータに接続されたエミュレータ本体と、前記エミュ
    レータ本体の先に接続された拡張ボードと、前記拡張ボ
    ードにケーブルを用いて接続されたユーザターゲットシ
    ステムと、から成るインサーキットエミュレータシステ
    ムであって、 前記拡張ボードは、 CPUを評価するチップであるCPUエバチップを内蔵
    し、前記エミュレータ本体に接続されたエミュレータポ
    ッド部と、 前記エミュレータポッド部に接続され、該エミュレータ
    ポッド部から出力されたアドレスをアドレス変換手段に
    格納しておいたアドレスに変換して出力するアドレス変
    換回路と、 前記アドレス変換回路に接続され、各種入出力機能が内
    蔵されたマイコン周辺エバチップと、 前記エミュレータポッド部に接続され、該エミュレータ
    ポッド部から出力された割込みアドレスを前記割込み変
    換回路の割込み変換手段に格納しておいた割込みアドレ
    スに変換して出力する割込み変換回路と、とを有し、 前記マイコン周辺エバチップは、 該マイコン周辺エバチップと割込み変換回路との間に設
    けられ、CPUへの割込みを制御する割込みコントロー
    ラと、 前記割込みコントローラに接触して配置され、該割込み
    コントローラからの信号エンコードするエンコーダと、
    を有し、 前記CPUエバチップとマイコン周辺エバチップのイン
    タフェースとしてバスを具備することを特徴とするイン
    サーキットエミュレータ。
  2. 【請求項2】 請求項1に記載のインサーキットエミュ
    レータにおいて、 前記アドレス変換回路は、 前記エミュレータポッド部から入力された前記マイコン
    周辺エバチップのレジスタアドレスをラッチするアドレ
    スラッチと、 前記アドレスラッチから出力されるアドレスをデコード
    するアドレスデコーダと、 前記周辺エバチップの非連続的なレジスタアドレスを連
    続したレジスタアドレスに変換する変換アドレスが格納
    されたアドレス変換手段と、 前記エミュレータポッド部から入力されたアドレスまた
    は前記アドレス変換手段から出力されたアドレスのいず
    れか一方を選択するセレクタと、を具備し、 予約されている本数より多くの入出力を要求されたと
    き、アドレスをずらして入力アドレスが格納されたI/
    Oレジスタを再配置し、かつ、割込みベクタ領域の未使
    用空間をなくし、実際に使用する連続したプログラム領
    域の拡大していることを特徴とするインサーキットエミ
    ュレータ。
  3. 【請求項3】 請求項1に記載のインサーキットエミュ
    レータにおいて、 前記割込み変換回路は、 前記エミュレータポッド部から入力した前記マイコン周
    辺エバチップの出力要求割込みアドレスをラッチするア
    ドレスラッチと、 前記アドレスラッチから出力されたアドレスをデコード
    するアドレスデコーダと、 前記周辺エバチップの非連続的な出力割込み要求を連続
    したアドレスに変換したアドレスが格納された割込み変
    換手段と、を具備し、 割込み変換ベクタ領域の未使用空間をなくし実際に使用
    する連続したプログラム領域を拡大していることを特徴
    とするインサーキットエミュレータ。
  4. 【請求項4】 請求項1に記載のインサーキットエミュ
    レータにおいて、 前記CPUエバチップは、 各種インタフェースから成る周辺モジュールと、 周辺モジュールに隣接して配置されているコントロール
    回路と、を具備し、 5Vが入力に耐える5V耐圧の3V端子バッファを装備
    しており、前記CPUエバチップを3Vで動作させると
    きも、前記割込み変換回路を5Vで動作させることを特
    徴とするインサーキットエミュレータ。
  5. 【請求項5】 請求項1に記載のインサーキットエミュ
    レータにおいて、 前記CPUエバチップの周辺モジュールは、複数の入出
    力端子を有し、そのうちの1つの入出力端子は外部割込
    み入力とポート出力とを兼用していることを特徴とする
    インサーキットエミュレータ。
  6. 【請求項6】 請求項1に記載のインサーキットエミュ
    レータのエミュレーション方法であって、 予約されている本数より多くの入出力を要求されたと
    き、アドレスをずらしてI/Oレジスタを再配置し、か
    つ、割込みベクタ領域の未使用空間をなくして実際に使
    用する連続したプログラム領域を拡大していることを特
    徴とするインサーキットエミュレータのエミュレーショ
    ン方法。
JP11073604A 1999-03-18 1999-03-18 インサ―キットエミュレ―タおよびエミュレ―ション方法 Expired - Lifetime JP3005583B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11073604A JP3005583B1 (ja) 1999-03-18 1999-03-18 インサ―キットエミュレ―タおよびエミュレ―ション方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11073604A JP3005583B1 (ja) 1999-03-18 1999-03-18 インサ―キットエミュレ―タおよびエミュレ―ション方法

Publications (2)

Publication Number Publication Date
JP3005583B1 true JP3005583B1 (ja) 2000-01-31
JP2000267877A JP2000267877A (ja) 2000-09-29

Family

ID=13523111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11073604A Expired - Lifetime JP3005583B1 (ja) 1999-03-18 1999-03-18 インサ―キットエミュレ―タおよびエミュレ―ション方法

Country Status (1)

Country Link
JP (1) JP3005583B1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5786619B2 (ja) * 2011-10-03 2015-09-30 富士通株式会社 評価システム

Also Published As

Publication number Publication date
JP2000267877A (ja) 2000-09-29

Similar Documents

Publication Publication Date Title
KR900004006B1 (ko) 마이크로 프로세서 시스템
KR100353348B1 (ko) 마이크로프로세서
US4112490A (en) Data transfer control apparatus and method
Cordan An efficient bus architecture for system-on-chip design
US6505263B1 (en) Bus controller operating code in system memory
US5283889A (en) Hardware based interface for mode switching to access memory above one megabyte
JP2762138B2 (ja) メモリコントロールユニット
JPH0574862B2 (ja)
KR900002438B1 (ko) 프로세서간 결합방식
US6490638B1 (en) General purpose bus with programmable timing
JP2001184226A (ja) メモリブロックを有するデジタルシステムおよびメモリのブロックのエミュレーティング方法
JPH0724029B2 (ja) エミュレーション装置
JP3005583B1 (ja) インサ―キットエミュレ―タおよびエミュレ―ション方法
US5317750A (en) Microcontroller peripheral expansion bus for access to internal special function registers
JP3431025B2 (ja) データ転送システム
CN113448895A (zh) 存储集成芯片及其通信方法、封装结构及封装方法
JP3862031B2 (ja) マイクロプロセッサ
RU212030U1 (ru) Микроконтроллер
Chu Concepts of a microcomputer design language
US11372800B2 (en) System on chip comprising a plurality of central processing units whose mailboxes are set in tightly-coupled memories
JP3323341B2 (ja) エミュレーション用プロセッサおよびそれを搭載したエミュレータ
KR100399674B1 (ko) 데이터처리기및액세스방법
US10180847B2 (en) Circuitry for configuring entities
JPH0895943A (ja) マイクロプロセッサ
JP3006487B2 (ja) エミュレーション装置