JP2004030652A - Emulation probe board and debugging system - Google Patents

Emulation probe board and debugging system Download PDF

Info

Publication number
JP2004030652A
JP2004030652A JP2003160559A JP2003160559A JP2004030652A JP 2004030652 A JP2004030652 A JP 2004030652A JP 2003160559 A JP2003160559 A JP 2003160559A JP 2003160559 A JP2003160559 A JP 2003160559A JP 2004030652 A JP2004030652 A JP 2004030652A
Authority
JP
Japan
Prior art keywords
memory
emulation
probe
microcomputer
board
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
JP2003160559A
Other languages
Japanese (ja)
Inventor
Tadayoshi Ono
大野 忠良
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003160559A priority Critical patent/JP2004030652A/en
Publication of JP2004030652A publication Critical patent/JP2004030652A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an on-chip debugging emulation probe board and a debugging system, for eliminating the need to mount an emulation memory on a target system. <P>SOLUTION: An emulation probe board for supporting development of a target system comprises a probe for connecting the emulation probe board to a first mounting means of the target system, a memory mounting means for mounting an emulation memory to emulate a memory used in the target system, and a microcomputer mounting means for mounting a microcomputer to access the emulation memory mounted on the memory mounting means. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、ターゲットシステムの開発支援のためのエミュレーションプローブボード(基板)、これを用いたデバッグシステムに関する。
【0002】
【背景技術及び発明が解決しようとする課題】
近年、家庭用のゲーム装置、カーナビゲーションシステム、プリンタ、携帯情報端末、携帯電話などの電子機器に組み込まれ、高度な情報処理を実現できるマイクロコンピュータに対する需要が高まっている。そして、このような組み込み型のマイクロコンピュータは、通常、ターゲットシステムと呼ばれるユーザボードに実装される。そして、このターゲットシステムの開発を支援するためにICE(In−Circuit Emulator)と呼ばれる開発支援ツールが広く用いられている。
【0003】
さて、このようなICEとしては、従来、図1(A)に示すようなCPU置き換え型と呼ばれるICEが主流を占めていた。
【0004】
このCPU置き換え型ICEでは、評価(デバッグ)時にターゲットシステム300のソケットからマイクロコンピュータ302を取り外す。次に、そのソケットに、ICE本体(デバッグツール)304から伸びるフラットケーブル308の先端に設けられたプローブ306を接続する。そして、このICE本体304に、取り外したマイクロコンピュータ302の動作をエミュレートさせる。また、このICE本体304に、デバッグのために必要な種々の処理を行わせる。
【0005】
しかしながら、このCPU置き換え型ICEには、フラットケーブル308の存在等に起因して、高いクロック周波数でのエミュレーションが難しいという欠点がある(例えば33MHZ程度が限界)。このため、プローブ306をターゲットシステム300に接続してエミュレーションを行う評価時と、マイクロコンピュータ302をターゲットシステム300に搭載して動作させる製品(実動作)時とで、システムの動作環境(信号のタイミング、負荷条件)が変化してしまう。従って、評価時には動作していたターゲットシステム300が、製品時には動作しなくなるという問題が生じる。
【0006】
またこのCPU置き換え型ICEには、マイクロコンピュータ302が異なれば、たとえそれが派生品であっても、新たにICE本体304を設計し直さなければならないという問題点もあった。
【0007】
一方、このようなCPU置き換え型ICEの欠点を解消するものとして、近年、オンチップデバッグ型と呼ばれるICEが脚光を浴びている。
【0008】
このオンチップデバッグ型ICEでは、図1(B)に示すように、マイクロコンピュータ314にオンチップデバッグ回路318を内蔵させる。そして、このオンチップデバッグ回路318を用いて、ICE本体324との間でデバッグ情報(CPUのステータス情報、プログラムカウンタ情報等)を高速にシリアル通信する。
【0009】
このオンチップデバッグ型ICEによれば、マイクロコンピュータ314をターゲットシステム312に搭載した状態で、ターゲットシステム312の評価(デバッグ)作業を行える。従って、評価時と製品時とでターゲットシステム312の動作環境を同一にすることが可能となり、CPU置き換え型ICEの欠点を解消できる。
【0010】
しかしながら、従来のオンチップデバッグ型ICEには、エミュレーションメモリ320に関して、以下のような問題点があることが判明した。
【0011】
エミュレーションメモリ320は、プログラムを適宜ダウンロードできない内部ROM316や外部ROM322の代行メモリとして、ターゲットシステム312の評価(プログラムデバッグ)時に必要になるメモリである。即ち評価時においては、ユーザは、RAM等により構成されるエミュレーションメモリ320に、開発途中のプログラムを随時ダウンロードしながら、プログラム開発を行う。そして、プログラムが完成すると、完成後のプログラムやそれに使用するデータを、マスクROM等で構成される内部ROM316や外部ROM322に記憶させる。このようにして、製品用のターゲットシステム312が完成する。
【0012】
従って、エミュレーションメモリ320は、ターゲットシステム312の評価時には必要になるが、製品時には、内部ROM316や外部ROM322に記憶されるプログラムやデータが使用されるため、エミュレーションメモリ320は不要になる。
【0013】
ところが、図1(B)に示すように従来のオンチップデバッグ型ICEでは、エミュレーションメモリ320は、ICE本体324ではなくターゲットシステム312に搭載される。オンチップデバッグ型ICEでは、ターゲットシステム312とICE本体324との間はシリアル通信となるため、エミュレーションメモリのアドレスやデータを通信することはできず、エミュレーションメモリ320をICE本体324に内蔵できないからである。
【0014】
そして、このようにエミュレーションメモリ320をターゲットシステム312に搭載すると、次のような問題点が生じる。
(1)ターゲットシステムへのエミュレーションメモリの実装や、エミュレーションメモリの制御回路の設計等を、ユーザ自身が行わなければなくなり、ユーザの手間が増える。これはターゲットシステムの開発期間の長期化等の問題を招く。特に、デバッグ方式が変更され、エミュレーションメモリへのアクセス方法等が変更された場合には、ターゲットシステムの配線パターンも変更しなければならなくなり、ユーザの負担が更に増える。
(2)製品用のターゲットシステムに、本来は不要であるはずのエミュレーションメモリを搭載しなければならなくなり、ターゲットシステムの高コスト化を招く。
(3)上記(2)の問題を回避するためには、ユーザは、エミュレーションメモリが搭載されている評価用のターゲットシステムとは別に、エミュレーションメモリが搭載されていない製品用のターゲットシステムを設計する必要がある。しかしながら、これは、ターゲットシステムの開発期間の長期化や製品コストの増加等の問題を招く。また、評価用のターゲットシステムと製品用のターゲットシステムとが別設計になるため、評価用のターゲットシステムは正常に動作していたのにもかかわらず、製品用のターゲットシステムは正常に動作しなくなる等の問題も生じる。
【0015】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、オンチップデバッグ方式を採用しながらも、ターゲットシステムへのエミュレーションメモリの搭載を不要にし、ユーザの利便性を向上できるエミュレーションプローブボード及びこれを用いたデバッグシステムを提供することにある。
【0016】
【課題を解決するための手段】
上記課題を解決するために本発明はオンチップデバッグ回路を有するマイクロコンピュータが組み込まれるターゲットシステムの開発支援のためのエミュレーションプローブボードであって、前記マイクロコンピュータを搭載するための搭載手段である前記ターゲットシステムの第1の搭載手段に接続するためのプローブと、前記マイクロコンピュータを搭載するための第2の搭載手段と、前記第2の搭載手段に搭載される前記マイクロコンピュータと外部との間で、前記オンチップデバッグ回路のためのデバッグ情報をシリアル通信するための第1のインターフェースと、前記ターゲットシステムで使用されるメモリをエミュレーションするためのエミュレーションメモリを搭載するための第3の搭載手段とを含むことを特徴とする。
【0017】
本発明によれば、ターゲットシステム等の評価(デバッグ)時において、ターゲットシステムの第1の搭載手段(例えばソケット)にプローブが接続される。これにより、エミュレーションプローブボードに搭載されるマイクロコンピュータを用いて、ターゲットシステムを動作させることができるようになる。そして、この時、マイクロコンピュータが内蔵するオンチップデバッグ回路に使用されるデバッグ情報が、第1のインターフェースを用いて外部(例えばICE本体、ホストシステム)との間でシリアル通信される。従って、ターゲットシステムにマイクロコンピュータが実質的に搭載されているとみなせる状態で、オンチップデバッグ方式による評価(デバッグ)作業を行うことができるようになる。
【0018】
そして本発明によれば、エミュレーションメモリがエミュレーションプローブボードに搭載され、ターゲットシステムへのエミュレーションメモリの搭載が不要になる。従って、ユーザの負担を軽減できると共に、製品用のターゲットシステムとは別に、評価用のターゲットシステムを用意する必要性をなくせる。この結果、ターゲットシステムの開発期間の短縮化、低コスト化、信頼性の向上等を図れるようになる。
【0019】
また本発明は、前記プローブと、前記マイクロコンピュータを搭載するための前記第2の搭載手段と、第1のコネクタとが少なくとも設けられるプローブ側ボードと、前記エミュレーションメモリを搭載するための前記第3の搭載手段と、前記第1のコネクタに接続される少なくとも1つの第2のコネクタとが少なくとも設けられるメモリ側ボードとに分離されていることを特徴とする。このようにすることで、マイクロコンピュータの機種が変更された場合等にも、プローブ側ボードのみを変更し、メモリ側ボードとして同一のものを使用できるようになる。なお、デバッグ情報を通信するための第1のインターフェースは、高速の通信を実現するために、マイクロコンピュータが搭載されるプローブ側ボードに設けることが望ましい。
【0020】
また本発明は、前記プローブ側ボードの前記プローブの端子の形態がカスタマイズ可能であると共に、前記メモリ側ボードの前記第2のコネクタの端子の形態が標準化されていることを特徴とする。このようにすれば、マイクロコンピュータの機種が変更になり、プローブの端子の形態(端子数、端子配置、各端子へ割り当てられる信号等)が変更されても、メモリ側ボードとして同一のものを使用できる。従って、エミュレーションプローブボードの開発期間の短縮化、低コスト化を図れるようになる。
【0021】
また本発明は、前記プローブ側ボードの前記第1のコネクタにダイレクトに接続するための第3のコネクタと、前記プローブ側ボードの前記第1のコネクタにケーブルを介して接続するための第4のコネクタとが、前記第2のコネクタとして前記メモリ側ボードに設けられていることを特徴とする。このようにすれば、スペースが無い等の理由により、エミュレーションプローブボードとの接続が困難なターゲットシステムに対しても、エミュレーションプローブボードを容易に接続できるようになる。
【0022】
また本発明は、前記エミュレーションメモリが、前記マイクロコンピュータの内部メモリをエミュレーションするための内部メモリ用エミュレーションメモリと、前記マイクロコンピュータの外部メモリをエミュレーションするための外部メモリ用エミュレーションメモリとを含み、前記内部メモリ用エミュレーションメモリを搭載するための第4の搭載手段が、前記プローブ側ボードに設けられていることを特徴とする。このようにすれば、マイクロコンピュータによる内部メモリ用エミュレーションメモリへのアクセスを高速化できるようになる。これにより、例えば内部メモリ用エミュレーションメモリに命令(プログラム)を記憶させた場合に、マイクロコンピュータが、その命令のフェッチ及びデコードを1クロックサイクル内で完了できるようになる。これにより、製品時と同様の高いクロック周波数でマイクロコンピュータを動作させて、ターゲットシステムを評価できるようになる。
【0023】
また本発明は、前記マイクロコンピュータと前記内部メモリ用エミュレーションメモリとを接続し前記内部メモリ用エミュレーションメモリを制御するための制御信号が伝達される第1の接続線と、前記第1の接続線と前記第1のコネクタとを接続し前記制御信号が伝達される第2の接続線と、前記第2の接続線による接続を切断するための第1の切断手段とが設けられていることを特徴とする。このようにすれば、第1の接続線に寄生する寄生容量を軽減でき、マイクロコンピュータによる内部メモリ用エミュレーションメモリへのアクセスを、更に高速化できるようになる。
【0024】
また本発明は、前記内部メモリ用エミュレーションメモリが第1、第2の内部メモリ用エミュレーションメモリを含み、前記第1の内部メモリ用エミュレーションメモリを搭載するための第5の搭載手段が前記プローブ側ボードの第1の面に設けられ、前記第2の内部メモリ用エミュレーションメモリを搭載するための第6の搭載手段が前記プローブ側ボードの第2の面に設けられていることを特徴とする。このようにすれば、マイクロコンピュータ、第1の内部メモリ用エミュレーションメモリ間の配線パターン長と、マイクロコンピュータ、第2の内部メモリ用エミュレーションメモリ間の配線パターン長とを、同一或いはほぼ同一にすることが可能になる。これにより、内部メモリ用エミュレーションメモリへの高速アクセス時にも、内部メモリ用エミュレーションメモリを適正に動作させることが可能になる。
【0025】
また本発明は、前記マイクロコンピュータと前記第1のインターフェースとを接続し前記デバッグ情報が伝達される第3の接続線と、前記第3の接続線と前記プローブとの間を接続する第4の接続線と、前記第4の接続線による接続を切断するための第2の切断手段とが設けられていることを特徴とする。このようにすることで、第3の接続線に寄生する寄生容量を軽減でき、第1のインターフェースを介したデバッグ情報の高速シリアル通信を実現できるようになる。
【0026】
また本発明は、前記マイクロコンピュータからの第1の信号のうち前記エミュレーションメモリの動作に必要な信号を含む第2の信号が、前記マイクロコンピュータ、前記エミュレーションメモリ間で伝達されることを特徴とする。このようにすれば、第2の信号の形態(信号の数、信号の種類等)を標準化できるようになる。なお、エミュレーションプローブボードをプローブ側ボードとメモリ側ボードに分離する場合には、第2の信号は、プローブ側ボードの第1のコネクタ、メモリ側ボードの第2のコネクタを介して、プローブ側ボード(マイクロコンピュータ)、メモリ側ボード(エミュレーションメモリ)間で伝達されることになる。
【0027】
また本発明は、前記第2の信号で動作可能なカスタムチップを搭載するため第7の搭載手段が設けられていることを特徴とする。このようにすれば、第2の信号を用いてマイクロコンピュータの制御下でカスタムチップを動作させることが可能になる。そしてユーザは、カスタムチップの評価終了後に、このカスタムチップの回路とマイクロコンピュータの回路を1チップ化し、ASICマイクロコンピュータを設計できるようになる。
【0028】
また本発明は、前記カスタムチップと外部との間のインターフェースとなる第2のインターフェース、前記カスタムチップと前記ターゲットシステムとの間のインターフェースとなる第3のインターフェースの少なくとも一方が設けられていることを特徴とする。このようにすれば、カスタムチップを構成する回路のデータのダウンロードや、カスタムチップからの入出力信号を用いてターゲットシステムやターゲットシステムに搭載されるデバイスを動作させること等が可能になり、ユーザの利便性を向上できる。
【0029】
また本発明は、前記エミュレーションメモリが、前記マイクロコンピュータの内部メモリをエミュレーションするための内部メモリ用エミュレーションメモリと、前記マイクロコンピュータの外部メモリをエミュレーションするための外部メモリ用エミュレーションメモリとを含み、前記マイクロコンピュータ、前記外部メモリ用エミュレーションメモリ間では所与のバッファを介して前記第2の信号が伝達され、前記マイクロコンピュータ、前記内部メモリ用エミュレーションメモリ間では前記バッファを介さずに前記第2の信号が伝達されることを特徴とする。このようにすることで、マイクロコンピュータによる内部メモリ用エミュレーションメモリへのアクセスを高速化できるようになる。
【0030】
また本発明は、前記エミュレーションメモリが、前記マイクロコンピュータの内部メモリをエミュレーションするための内部メモリ用エミュレーションメモリと、前記マイクロコンピュータの外部メモリをエミュレーションするための外部メモリ用エミュレーションメモリとを含み、前記外部メモリ用エミュレーションメモリを制御するための第1の制御信号とは別系統の第2の制御信号が前記内部メモリ用エミュレーションメモリに与えられることを特徴とする。このようにすれば、外部メモリ用エミュレーションメモリを制御する第1の制御信号とは別系統の第2の制御信号で、内部メモリ用エミュレーションメモリを制御できるようになる。これにより、内部メモリ用エミュレーションメモリへの適正なアクセスを実現できるようになる。
【0031】
また本発明は、前記第2の制御信号が含む第2のメモリリード信号が、前記第1の制御信号が含む第1のメモリリード信号よりも早いタイミングでアクティブになることを特徴とする。このようにすれば、例えば内部メモリ用エミュレーションメモリに記憶される命令をマイクロコンピュータが1クロックサイクルでフェッチしデコードしなければならない等の制約がある場合にも、このような制約に容易に対応できるようになる。
【0032】
また本発明に係るデバッグシステムは、上記のいずれかのエミュレーションプローブボードと、前記エミュレーションプローブボードに搭載される前記マイクロコンピュータと、前記エミュレーションプローブボードに搭載される前記エミュレーションメモリと、前記第1のインターフェースを介してデバッグ情報が通信されるデバッグツールとを含むことを特徴とする。
【0033】
本発明によれば、ユーザの利便性を向上できると共に、ターゲットシステムの開発期間の短縮化、低コスト化を図れるデバッグシステムをユーザに提供できるようになる。
【0034】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
【0035】
1.基本構成
図2に、本実施形態のエミュレーションプローブボード(エミュレーションPOD(Probe Of Device))の基本構成と、このエミュレーションプローブボードを用いたデバッグシステムの全体構成を示す。
【0036】
エミュレーションプローブボード10には、プローブ20、高速のシリアルインターフェース(I/F)24が設けられる共に、マイクロコンピュータ22、エミュレーションメモリ30が搭載可能になっている。即ち、マイクロコンピュータ22、エミュレーションメモリ30の搭載手段(特に限定されないが、ソケット、端子(ピン)穴、或いは端子から引き出される配線等により実現される手段)が設けられている。
【0037】
ここで、プローブ20は、ターゲットシステム50のソケット52に接続するためのものである。なお、ソケット(広義には搭載手段)52は、ターゲットシステム50の製品時にマイクロコンピュータ22を搭載するためのものである。即ち、ターゲットシステム50の評価時においては、エミュレーションプローブボード10のプローブ20がソケット52に接続され、製品時においては、マイクロコンピュータ22がソケット52に搭載されることになる。
【0038】
マイクロコンピュータ22は、CPUやその周辺回路を含むものであり、本実施形態ではマイクロコンピュータ22がオンチップデバッグ回路を内蔵する。これにより、オンチップデバッグ型ICEを実現できるようになる。
【0039】
エミュレーションメモリ30は、ターゲットシステム50で使用される内部ROM(広義には内部メモリ)や外部ROM(広義には外部メモリ)をエミュレーション(代行)するためのものである。このエミュレーションメモリ30としては、高速RAM、通常のRAM、フラッシュメモリなどを用いることができる。
【0040】
シリアルインターフェース(I/F)24は、マイクロコンピュータ22とICE本体54(広義にはデバッグツール)との間で、マイクロコンピュータ22が内蔵するオンチップデバッグ回路のためのデバッグ情報を高速シリアル通信するためのインターフェース(高速シリアル通信インターフェース)である。このようなインターフェースとしては、いわゆるJTAGやBDM(Background Debug Model)規格のインターフェースを採用してもよいし、JTAGやBDMに似た独自のインターフェースを採用してもよい。
【0041】
図2に示すように本実施形態によれば、図1(B)の従来例と異なり、ターゲットシステムへのエミュレーションメモリの搭載が不要になる。従って、ターゲットシステムへのエミュレーションメモリの実装や、エミュレーションメモリの制御回路の設計等の手間を、ユーザが負わなくて済むようになる。またデバッグ方式が変更等されても、ターゲットシステムの設計変更は不要になる。また、製品用のターゲットシステムに対して、本来は不要であるはずのエミュレーションメモリを搭載する必要性がなくなる。また、評価用のターゲットシステムと製品用のターゲットシステムとを別個に設計する必要性も無くすことができる。従って本実施形態によれば、ターゲットシステムの開発期間の短縮化、低コスト化を図れ、ユーザの利便性を向上できるようになる。
【0042】
しかも、本実施形態によれば、マイクロコンピュータ22及びエミュレーションメモリ30は、ICE本体54ではなく、プローブ20が設けられる小面積のエミュレーションプローブボード10上に集約して搭載される。このため、プローブ20、マイクロコンピュータ22間の配線パターン長や、プローブ20、エミュレーションメモリ30間の配線パターン長や、マイクロコンピュータ22、エミュレーションメモリ30間の配線パターン長を十分に短くできる。従って、マイクロコンピュータ22を高いクロック周波数で動作させても、ターゲットシステム50は問題なく正常に動作するようになる。この結果、評価時の動作環境と、製品時(実動作時)の動作環境とを同一にすることができ、デバッグシステム50の信頼性を向上できる。
【0043】
また、エミュレーションメモリ30を内部ROMのエミュレーションのために用いる場合には、マイクロコンピュータ22は1クロックサイクル内でエミュレーションメモリ30からの命令をフェッチしデコードしなければならない。本実施形態によれば、マイクロコンピュータ22、エミュレーションメモリ30間の配線パターン長を十分に短くできるため、マイクロコンピュータ22によるエミュレーションメモリ30への高速アクセスが可能になる。従って、1クロックサイクル内で命令のフェッチ及びデコードを完了できるようになり、内部ROMのエミュレーションを適正に実現できるようになる。
【0044】
また本実施形態によれば、エミュレーションプローブボード10上に、デバッグ情報を通信するためのシリアルインターフェース24が設けられる。従って、マイクロコンピュータ22が内蔵するオンチップデバッグ回路を有効利用して、効率的なデバッグ作業を実現できるようになる。
【0045】
即ち、図1(A)に示すCPU置き換え型ICEでは、ターゲットシステムへのエミュレーションメモリの搭載は不要であるものの、オンチップデバッグ回路を利用した効率的なデバッグ作業を実現できない。
【0046】
一方、図1(B)に示す従来のオンチップデバッグ型ICEでは、オンチップデバッグ回路を利用した効率的なデバッグ作業を実現できるものの、ターゲットシステムへのエミュレーションメモリの搭載が必要になり、ユーザの利便性を阻害する。
【0047】
これに対して、本実施形態によれば、オンチップデバッグ回路を利用した効率的なデバッグ作業を実現できるのにもかかわらず、ターゲットシステムへのエミュレーションメモリの搭載を不要にでき、図1(A)、(B)の組み合わせでは実現できない特有の効果を奏する。
【0048】
2.プローブ側ボードとメモリ側ボードへの分離
図3に示すように、エミュレーションプローブボード10は、プローブ側ボード12とメモリ側ボード14とに分離可能になっていることが望ましい。
【0049】
ここでプローブ側ボード12には、プローブ20、マイクロコンピュータ22、シリアルインターフェース24、コネクタ26が設けられている。一方、メモリ側ボード14には、コネクタ28、エミュレーションメモリ30が設けられている。そして、コネクタ26と28をダイレクトに接続することで、プローブ側ボード12、メモリ側ボード14間で信号が伝達されることになる。
【0050】
なお図3では、エミュレーションメモリ30が、IROMエミュレーションメモリ32(内部メモリ用エミュレーションメモリ)と、EROMエミュレーションメモリ34(外部メモリ用エミュレーションメモリ)を含む。IROMエミュレーションメモリ32は、マイクロコンピュータの内部ROM(広義には内部メモリ)をエミュレーションするためのメモリであり、このようなメモリとしては、高速SRAMなどを用いることができる。またEROMエミュレーションメモリ34は、マイクロコンピュータの外部ROM(広義には外部メモリ)をエミュレーションするためのメモリであり、このようなメモリとしては、標準的な速度のRAM(SRAM、DRAM)、フラッシュメモリなどを用いることができる。
【0051】
図3に示すように、エミュレーションプローブボード10をプローブ側ボード12とメモリ側ボード14に分離することで、以下のような利点を得ることができる。
【0052】
即ち、一般的に、マイクロコンピュータ22の端子(ピン)の形態(端子数、端子配置、各端子へ割り当てられる信号等)は、種々様々である。このため、プローブ20の端子の形態も種々様々になる。従って、ターゲットシステムで使用されるマイクロコンピュータ22の機種が変更されると、それに合わせてエミュレーションプローブボードも違う機種のものを提供しなければならなくなる。
【0053】
この場合に、エミュレーションプローブボード10をプローブ側ボード12とメモリ側ボード14とに分離可能にしておけば、図4に示すように、プローブ側ボード12のプローブ20の端子の形態についてはカスタマイズできるようになると共に、メモリ側ボード14のコネクタ28(コネクタ26)の端子の形態については標準化できるようになる。このため、使用するマイクロコンピュータ22の機種が変更され、プローブ20の端子の形態が変わっても、メモリ側ボード14として同一(或いはほぼ同一)のものを使用できるようになる。従って、マイクロコンピュータ22の機種が変更されても、プローブ側ボード12だけを新たに作り直せばよく、メモリ側ボード14については新たに作り直す必要性がなくなる。この結果、エミュレーションプローブボードの低コスト化、設計作業の効率化等を図れるようになる。
【0054】
3.フラットケーブル用コネクタの併設
本実施形態のエミュレーションプローブボードにはマイクロコンピュータやエミュレーションメモリが搭載されるため、ICEにおける通常のプローブ(プローブボード)よりも、ボード面積が大きくなる。このため、ターゲットシステムの種類によっては、エミュレーションプローブボードの接続が困難になる場合が生じる。
【0055】
そこで、このような問題を解決するために、図5に示すように、メモリ側ボード14上に、ダイレクト接続用のコネクタ28の他に、フラットケーブル27用のコネクタ29を併設することが望ましい。即ち、コネクタ26とフラットケーブル27を介して接続されるコネクタ29をメモリ側ボード14に設けるようにする。
【0056】
このようにすることで、スペースが無い等の理由によりエミュレーションプローブボードを接続するのが困難なターゲットシステムであっても、エミュレーションプローブボードを容易に接続できるようになり、ユーザの利便性を向上できる。
【0057】
また、本実施形態では、コネクタ28を利用して、プローブ側ボード12とメモリ側ボード14とをダイレクトに接続することもできる。従って、フラットケーブル27による信号遅延を望まないユーザの要望にも応えることができる。このように、図5の手法を用いれば、幅広い層のユーザの要望に応えることができるようになる。
【0058】
4.プローブ側ボードへのIROMエミュレーションメモリの搭載
前述のように、エミュレーションメモリとしては、内部ROMを代行するIROMエミュレーションメモリと、外部ROMを代行するEROMエミュレーションメモリとを考えることができる。そして、IROMエミュレーションメモリについては、IROMエミュレーションメモリから読み出された命令のフェッチ及びデコードを1クロックサイクル内で完了しなければならないため、IROMエミュレーションへのアクセスは、より高速であることが望まれる。特に、マイクロコンピュータのクロック周波数が高速である場合には、この要望は更に強いものとなる。
【0059】
そこで、このような要望に応えるべく、図6に示すように、IROMエミュレーションメモリ32についてはプローブ側ボード12に設けるようにしてもよい。即ち、IROMエミュレーションメモリ32の搭載手段をプローブ側ボード12に設けるようにする。
【0060】
このようにすることで、マイクロコンピュータ22、IROMエミュレーションメモリ32間の配線パターン長を短くすることができ、マイクロコンピュータ22によるIROMエミュレーションメモリ32へのアクセスを高速化できるようになる。即ち、IROMエミュレーションメモリ32をメモリ側ボード14に設ける場合に比べて、メモリアクセスを格段に高速化できる。これにより、マイクロコンピュータ22は、命令のフェッチ及びデコードを1クロックサイクル内で容易に完了できるようになる。この結果、評価時においても、製品時の場合と同様の高いクロック周波数でマイクロコンピュータ22を動作させることができるようになり、評価時の動作環境と製品時の動作環境を同一にできるようになる。
【0061】
さて、IROMエミュレーションメモリ32へのアクセスの更なる高速化を図るためには、以下に説明するような2つの手法を採用することが更に望ましい。
【0062】
例えば図7において、接続線60、61は、マイクロコンピュータ22とIROMエミュレーションメモリ32との間の接続線であり、これらの接続線60、61により制御信号CE2、RD2がIROMエミュレーションメモリ32に伝達される。ここでCE2、RD2は、各々、IROMエミュレーションメモリ32用のチップイネーブル信号、メモリリード信号であり、これらは共に、IROMエミュレーションメモリ32を制御するための信号である。
【0063】
また、接続線62、63は、接続線60、61とコネクタ26との間の接続線であり、これらの接続線62、63により制御信号CE2、RD2がコネクタ26を介してメモリ側ボードに伝達される。即ち、本実施形態では図4にて説明したように、コネクタ26、28の端子の形態(端子数、端子配置、各端子へ割り当てられる信号等)が標準化される。従って、IROMエミュレーションメモリ32がプローブ側ボードに搭載され、メモリ側ボードには搭載されない場合であっても、接続線62、63が存在することになる。メモリ側ボードにIROMエミュレーションメモリ32を設けた場合には、そのIROMエミュレーションメモリ32を動作させるために、接続線62、63が必要になるからである。
【0064】
さて、IROMエミュレーションメモリ32への高速アクセスを実現するためには、制御信号CE2、RD2の信号遅延を小さくする必要がある。そして、CE2、RD2の信号遅延は、CE2、RD2を出力するマイクロコンピュータ22内のバッファ68、69の能力と、バッファ68、69の出力端子に寄生する寄生容量により決まる。
【0065】
ところが、接続線60、61と接続線62、63が接続されると、バッファ68、69の出力端子に、接続線60、61の寄生容量のみならず接続線62、63の寄生容量も付加されることになるため、バッファ68、69の出力端子の寄生容量が大きくなってしまう。特に、接続線62、63は、コネクタ26を介して、メモリ側ボードに接続されるため、接続線62、63の寄生容量は非常に大きい。
【0066】
そこで図7では、接続線60、61と接続線62、63との間に、ジャンパ64、65(切断手段)を設けている。そして、IROMエミュレーションメモリ32をプローブ側ボードに設ける場合には、ジャンパ64、65を切断状態にする。一方、IROMエミュレーションメモリ32をメモリ側ボードに設ける場合には、ジャンパ64、65を導通状態にする。
【0067】
このようにすれば、IROMエミュレーションメモリ32がプローブ側ボードに設けられている場合には、接続線60、61と接続線62、63が切断されるため、バッファ68、69の出力端子の寄生容量は、接続線60、61の寄生容量だけになる。従って、制御信号CE2、RD2の信号遅延を最小化でき、IROMエミュレーションメモリ32への高速アクセスを実現できる。
【0068】
一方、IROMエミュレーションメモリ32がメモリ側ボードに設けられている場合には、接続線60、61と接続線62、63は接続され、メモリ側ボードのIROMエミュレーションメモリ32に、制御信号CE2、RD2を適正に伝達できる。これは、IROMエミュレーションメモリ32をプローブ側ボードに設けるかメモリ側ボードに設けるかに依らずに、コネクタ26、28を標準化できることを意味する。
【0069】
なお、ジャンパ64、65が切断状態になった場合には、ジャンパ66、67を導通状態にする。このようにすることで、接続線62、63をHレベルにプルアップすることができ、メモリ側ボードでのメモリの誤動作を防止できる。
【0070】
また図8では、IROMエミュレーションメモリ32が、下位8ビット(D0〜D7)用のIROMエミュレーションメモリ32−1と、上位8ビット(D8〜D15)用のIROMエミュレーションメモリ32−2とに分かれている。高速アクセスを実現するためには、IROMエミュレーションメモリ32として高速SRAMを採用する必要があり、高速SRAMの多くは8ビット製品だからである。
【0071】
そして図8では、IROMエミュレーションメモリ32−1については、プローブ側ボード12の例えば表面に実装し、IROMエミュレーションメモリ32−2については裏面(IROMエミュレーションメモリ32−1が設けられている場所とほぼ同じ場所の裏面)に実装する。即ちIROMエミュレーションメモリ32−1の搭載手段をプローブ側ボード12の表面に設けると共に、IROMエミュレーションメモリ32−2の搭載手段を裏面に設ける。
【0072】
即ち、IROMエミュレーションメモリ32−1、32−2を構成するSRAMは非常に高速であり、そのアクセスタイムは6nsec程度となっている。従って、マイクロコンピュータ22、IROMエミュレーションメモリ32−1間の配線パターン長と、マイクロコンピュータ22、IROMエミュレーションメモリ32−2間の配線パターン長が異なり、これらの配線パターンに寄生する寄生容量が互いに異なると、信号遅延に差が生じてしまい、IROMエミュレーションメモリ32−1、32−2が誤動作するおそれがある。
【0073】
そこで図8では、IROMエミュレーションメモリ32−1、32−2をサンドイッチ構造で両面実装し、マイクロコンピュータ22、IROMエミュレーションメモリ32−1間の配線パターン長と、マイクロコンピュータ22、IROMエミュレーションメモリ32−2間の配線パターン長とが同一(或いはほぼ同一)になるようにしている。これにより、これらの配線パターンに寄生する寄生容量も同一或いはほぼ同一にでき、IROMエミュレーションメモリ32−1、32−2として高速SRAMを用いても、その誤動作を防止できるようになる。
【0074】
5.高速シリアルインターフェース
図9に示すように本実施形態では、シリアルインターフェース24を介してICE本体(ホストシステムでもよい)との間で、DST2、DST1、DST0、DPCO、DSIO、DCLKなどの信号(情報)がシリアル通信されている。
【0075】
ここでDST2〜0は、CPU22の命令実行のステータスを知らせるための3ビットの信号である。また、DPCOは、分岐先のPC(プログラムカウンタ)値を表す信号である。また、DSIOは、デバッグのために実行する各種命令をICE本体からマイクロコンピュータ22に伝えたり、マイクロコンピュータ22の応答をマイクロコンピュータ22からICE本体に伝えるための信号である。また、DCLKはデバッグモード用のクロック信号である。
【0076】
さて、マイクロコンピュータ22がエミュレーションプローブボードに搭載されている場合には、図9に示すように、接続線70〜75及びシリアルインターフェース24を介してマイクロコンピュータ22とICE本体との間でDST2〜DCLKが通信される。
【0077】
また、マイクロコンピュータ22がターゲットシステムに搭載された状態においても、DST2〜DCLKをICE本体との間で通信できることが望まれる。従って、図9に示すように、ターゲットシステム側にも、ICE本体との間でDST2〜DCLKを通信するためのシリアルインターフェース25を設けることが望ましい。従って、この場合には、ターゲットシステム側にも、マイクロコンピュータ22、シリアルインターフェース25間を接続する接続線76〜81が設けられることになる。この結果、エミュレーションプローブボード側の接続線70〜75は、接続線88〜93及びプローブ20を介して、接続線76〜81に接続されることになる。
【0078】
ところで、マイクロコンピュータ22のクロック周波数が高い場合にも適正なデバッグ環境を実現するためには、DST2〜DCLKの通信を、より高速化することが望まれる。このためには、接続線70〜75での信号遅延を最小限に抑える必要がある。そして、この信号遅延は、DST2〜DCLKを出力するバッファ82〜87の能力と、接続線70〜75に寄生する寄生容量で決まる。
【0079】
ところが、図9では接続線70〜75と接続線76〜81が接続される構造となっているため、接続線70〜75の寄生容量に接続線76〜81の寄生容量が付加されることになってしまう。このため、接続線70〜75での信号遅延が大きくなり、DST2〜DCLKの通信の高速化の妨げとなる。
【0080】
そこで図9では、接続線88〜93での接続を切断するためのジャンパ94〜99(切断手段)を設けている。
【0081】
このようにすれば、ジャンパ94〜99を切断状態にすることで、接続線70〜75と接続線76〜81とが接続されないようになる。これにより、接続線70〜75の寄生容量に、接続線76〜81の寄生容量が付加されなくなり、バッファ82〜87の出力端子の寄生容量を大幅に軽減できる。これにより、DST2〜DCLKの通信の高速化を図れ、マイクロコンピュータ22が高いクロック周波数で動作している場合にも、適正なデバッグ環境を提供できるようになる。
【0082】
6.第1の信号からの第2の信号の分離
さて、本実施形態では図10に示すように、マイクロコンピュータ22からの第1の信号のうち、エミュレーションメモリ30の動作に必要な信号を含む第2の信号102が分離され、マイクロコンピュータ22、エミュレーションメモリ30間(プローブ側ボード12、メモリ側ボード14間)で伝達される。
【0083】
即ち、マイクロコンピュータ22から入出力される信号のほとんど全ては、第1の信号100としてプローブ20との間で伝達される。評価時においては図2に示すようにターゲットシステム50のソケット52にプローブ20を接続し、エミュレーションプローブボード10上のマイクロコンピュータ22を用いて、ターゲットシステム50を動作させなければならないからである。
【0084】
しかしながら、マイクロコンピュータ22からの第1の信号100には種々様々な信号が含まれ、第1の信号の形態(信号数、信号の種類)はマイクロコンピュータ22の機種に応じて異なったものになる。例えば第1の信号100には、アドレス、データ、メモリの制御信号などの一般的な信号に加えて、タイマからの信号、入出力ポートからの信号、A/D変換器からの信号などの種々の信号が含まれる。そして、例えばマイクロコンピュータ22がA/D変換器を内蔵しない機種である場合には、第1の信号にはA/D変換器からの信号は含まれなくなる。このように第1の信号100についてその信号の形態を標準化することは難しい。
【0085】
そこで本実施形態では図10に示すように、第1の信号100から、エミュレーションメモリ30の動作に必要な信号を含む第2の信号102を分離して、コネクタ26、28を介してメモリ側ボード14に伝達している。即ち、アドレス、データ、メモリ等の制御のための制御信号など、エミュレーションメモリ30の動作に必要な最低限の信号を第2の信号102に含ませてメモリ側ボード14に伝達している。
【0086】
このようにすれば、第2の信号102の形態(信号数、信号の種類)を、マイクロコンピュータ22の機種に依存しない形態にすることができ、コネクタ26、28の端子の形態を標準化できるようになる。従って、図4にて説明したように、マイクロコンピュータ22の機種が変更されても、メモリ側ボード14として同一(或いはほぼ同一)のものを使用できるようになる。これにより、マイクロコンピュータ22の機種が変更されても、プローブ側ボード12だけを新たに作り直せばよく、エミュレーションプローブボードの低コスト化、設計期間の短縮化等を図れるようになる。
【0087】
7.カスタムチップの搭載
さて、上述したように本実施形態では、エミュレーションメモリ30の動作に必要な信号を含む第2の信号102を第1の信号100から分離して、メモリ側ボード14に伝達している。このような第2の信号102には、アドレス、データ、各種制御信号など、マイクロコンピュータ22が入出力する基本的な信号が含まれることになる。従って、この第2の信号102を用いれば、エミュレーションメモリ30以外にも、マイクロコンピュータ22の制御下で動作可能な各種デバイスを動作させることができる。
【0088】
そこで図11(A)では、第2の信号102で動作可能なカスタムチップ40をメモリ側ボード14に搭載している。即ち、カスタムチップ40の搭載手段をメモリ側ボード14に設けている。
【0089】
即ち、近年、コアとなるマイクロコンピュータとユーザが自身で設計した回路とが組み込まれたASICマイクロコンピュータと呼ばれるものが脚光を浴びている。このようなASICマイクロコンピュータによれば、ユーザの用途に応じた最適なマイクロコンピュータをターゲットシステムに組み込むことが可能となり、ターゲットシステムの商品性の向上、コストの低下等を図れるようになる。
【0090】
そして図11(A)のようにメモリ側ボード14に、ユーザのカスタムチップ40を搭載可能にすれば、ユーザは、自身が設計したカスタムチップ40をマイクロコンピュータ22の制御下で動作させて、その動作が正常か否かを評価できるようになる。そして、正常に動作することを確認したユーザは、図11(B)に示すように、マイクロコンピュータ22の回路105とカスタムチップ40の回路106とから構成されるASICマイクロコンピュータ104をカスタム設計し、ユーザのターゲットシステムに組み込む。
【0091】
図11(A)では、マイクロコンピュータ22とカスタムチップ40とが第2の信号102で接続されるため、マイクロコンピュータ22とカスタムチップ40とを連携させて動作させながら、その動作が正常か否かを評価できる。従って、この評価により正常動作が確認されたカスタムチップ40の回路106を組み込んだASICマイクロコンピュータ104は、ユーザのターゲットシステムにおいても正常に動作することを期待できるようになる。これにより、ユーザは、短い開発期間でASICマイクロコンピュータ104をカスタム設計できるようになり、ターゲットシステムの開発期間の短縮化、コストの低下等を図れるようになる。
【0092】
なおメモリ側ボード14に搭載するカスタムチップ40としては、FPGA(Field Programmable Gate Array)などを採用できる。そして、カスタムチップ40としてFPGAを用いる場合には、FPGA(カスタムチップ)40にダウンロードするロジック回路のデータを記憶するコンフィグROM42についてもメモリ側ボード14に搭載することが望ましい。このようなコンフィグROM42を搭載すれば、電源の立ち上げ時にFPGA40にロジック回路のデータをダウンロードする手間を省くことができる。
【0093】
また図11(A)では、FPGA40とICE本体(或いはホストシステム)との間のインターフェース44と、FPGA40とターゲットシステムとの間のインターフェース46がメモリ側ボード14に設けられている。
【0094】
ここで、インターフェース44は、JTAGなどに準拠した高速のシリアルインターフェースであり、FPGA40にダウンロードするロジック回路のデータ等を通信するためのものである。このようなインターフェース44を設ければ、ユーザは、自身が試したいロジック回路のデータを自由に書き換えることが可能になり、ユーザの利便性を向上できる。
【0095】
また、インターフェース46は、FPGA40の入出力信号をターゲットシステムに伝達するためのものである。例えば、ターゲットシステムにLCDが設けられており、FPGA40の回路がこのLCDの表示制御回路であった場合を考える。この場合には、LCDの表示制御信号がインターフェース46を介してターゲットシステムに伝達されることになる。このようなインターフェース46を設ければ、ASICマイクロコンピュータ104をターゲットシステムに組み込んだ場合のASICマイクロコンピュータ104と周辺のデバイスとの連係動作を、組み込み前に評価、検証できるようになる。これにより、ASICマイクロコンピュータ104の設計の効率化、設計期間の短縮化を図れるようになる。
【0096】
8.IROMエミュレーションメモリへのアクセスの高速化
さて、前述したように、マイクロコンピュータの内部ROMをエミュレーションするIROMエミュレーションメモリからの命令のフェッチ及びデコードは、1クロックサイクル内で完了しなければならない。このため、IROMエミュレーションメモリへのメモリアクセスを高速化する必要があるという課題がある。
【0097】
そこで、このような課題を達成するために図12では、マイクロコンピュータ22、EROMエミュレーションメモリ34間では、バッファ108、109を介してアドレス、データ(第2の信号)を伝達させる一方で、マイクロコンピュータ22、IROMエミュレーションメモリ32間では、バッファを介さずにダイレクトにアドレス、データを伝達させる。
【0098】
このようにすることで、マイクロコンピュータ22、IROMエミュレーションメモリ32間の信号伝達では、バッファ108、109による信号遅延が生じなくなる。このため、IROMエミュレーションメモリ32へのアクセスを高速化できるようになる。
【0099】
なお、マイクロコンピュータ22がIROMエミュレーションメモリ32にアクセスしている時には、制御信号CNTBを用いてバッファ108、109を非導通状態にする。一方、マイクロコンピュータ22がEROMエミュレーションメモリ34にアクセスしている時には、制御信号CNTBを用いてバッファ108、109を導通状態にすると共に、制御信号CNT2を用いてIROMエミュレーションメモリ32の動作を抑止する。
【0100】
なお、図12の手法は、図6に示すようにIROMエミュレーションメモリ32をプローブ側ボード12に搭載した場合にも適用できる。
【0101】
9.マイクロコンピュータの構成
さて、マイクロコンピュータにおいては、通常、図13(A)に示すような量産用の製品チップ700以外にも、図13(B)に示すようなプログラムやシステム開発用の評価チップ710が作成される。そして、この評価チップ710では、外部メモリ706が接続される通常の外部アドレスバス702、外部データバス704以外にも、エミュレーションメモリ716に専用のアドレスバス712、データバス714が設けられる。
【0102】
しかしながら、このようにエミュレーションメモリ716に専用のアドレスバス712、データバス714を設けると、評価チップ710の端子(ピン)数は、製品チップ700の端子数に比べて非常に多くなってしまう。このため、評価チップ710を実装できるパッケージの入手が困難になったり、製品チップ700と評価チップ710との端子の整合性をとるのが煩雑になるという問題が生じる。また、評価チップ710では正常に動作していたプログラムが、製品チップ700では動作しなくなるという問題も生じる。
【0103】
このような問題を解決するために、図14のマイクロコンピュータ22では、以下に説明するような工夫を施している。
【0104】
図14のマイクロコンピュータ22は、CPU(広義にはプロセッサ)112、バス制御部(BCU)114、内部ROM(広義には内部メモリ)116、エミュレーション指示部118、メモリ制御部120を含む。また、マイクロコンピュータ22の外部バス(外部バス端子)128には、EROMエミュレーションメモリ34(製品時においては外部メモリ)や、IROMエミュレーションメモリ32が接続可能になっている。なお、外部バス128に、ゲートアレイなどの他の外部デバイスを接続してもよい。
【0105】
ここで、CPU112は、命令の実行処理を行うものであり、CPU112のCPUバス122はバス制御部114に接続される。またCPU112からのステータス信号STもバス制御部114に出力される。
【0106】
内部ROM116は、プログラムやデータなどの情報を記憶するものであり、内部ROM116の内部ROMバス126はバス制御部114に接続される。なお、評価時等においては、内部ROM116をマイクロコンピュータ22に内蔵させないようにしもよい。
【0107】
エミュレーション指示部118は、エミュレーションモードがオンの時に、エミュレーション指示信号EMをアクティブにし、エミュレーションの指示をバス制御部114に対して行うものである。この場合、エミュレーションモードのオン、オフは、マイクロコンピュータ22にモード選択端子を設け、このモード選択端子を制御することにより切り替えてもよいし、マイクロコンピュータ22にモード選択レジスタを設け、このモード選択レジスタに記憶する情報を制御することにより切り替えてもよい。
【0108】
メモリ制御部120は、EROMエミュレーションメモリ34、IROMエミュレーションメモリ32、内部ROM116を制御するための各種の制御信号(チップイネーブル信号、メモリリード信号等)CNT1、CNT2、CNT3を出力する。特に、図14では、同じ外部バス128に接続されるEROMエミュレーションメモリ34とIROMエミュレーションメモリ32に対して、互いに別系統の制御信号CNT1、CNT2を出力している点に特徴がある。
【0109】
バス制御部114は、CPUバス122、内部ROMバス126、外部バス128などの制御を行うためのものである。バス制御部114は、CPU112からのアドレスやステータス信号STに基づいて、内部ROM116の内部ROMバス126を、CPUバス122に接続したり、EROMエミュレーションメモリ34、IROMエミュレーションメモリ32が接続される外部バス128を、CPUバス122に接続したりする等のバス制御を行う。
【0110】
そして、バス制御部114は、エミュレーション指示部118からの信号EMによりエミュレーションモード(内部ROM116をIROMエミュレーションメモリ32でエミュレーションするモード)がオンであると指示された場合には、CPU112の内部ROM116へのアクセスを、外部バス128を介したIROMエミュレーションメモリ32へのアクセスに切り替える。即ち、CPUバス122を、内部ROMバス126ではなく、外部バス128に接続し、CPUバス122及び内部ROMバス126を介した内部ROM116へのCPU112のアクセスを、CPUバス122及び外部バス128を介したIROMエミュレーションメモリ32へのアクセスに切り替える。
【0111】
このようにすることで、CPU112は、内部ROM116に格納されるプログラム(或いはデータ)ではなく、IROMエミュレーションメモリ32に格納されるプログラムに基づいて動作するようになる。従って、ユーザは、プログラムが完成するまでは開発途中のプログラムをIROMエミュレーションメモリ32に随時ダウンロードしてプログラム開発を行うことができる。そして、開発が終了した後に完成したプログラムを内部ROM116に記憶させて、最終的な製品チップとすることが可能になる。
【0112】
そして、図14のマイクロコンピュータ22では、製品時においては外部メモリへのアクセスに用いられる外部バス128を用いて(図13(A)参照)、IROMエミュレーションメモリ32へアクセスしている。従って、図13(B)に示すようなエミュレーションメモリ716に専用のアドレスバス712、データバス714を設ける必要がない。このため、製品チップと評価チップの端子(ピン)数を同一にできるようになる。従って、製品チップをそのまま評価チップとして使えるようになり、製品の低コスト化を図れるようになる。
【0113】
また図14のマイクロコンピュータ22によれば、評価チップ用の別パッケージを用意したり、製品チップと評価チップの端子の整合性をとる等の手間を省くことができる。
【0114】
また図14のマイクロコンピュータ22によれば、製品チップをそのまま評価チップとして使用できるため、実動作時と同じ環境、信号のタイミングでプログラム開発を行えるようになる。この結果、製品チップの信頼性を向上できると共に、開発期間の短縮化、製品コストの低減化を図れるようになる。
【0115】
なお、CPU112の内部ROM116へのアクセスを、IROMエミュレーションメモリ32へのアクセスに切り替える場合、内部ROM116へのアクセスは、内部ROM116が割り当てられるメモリ空間のエリアへのアクセスであれば十分である。例えば評価時等において内部ROM116をマイクロコンピュータ22に内蔵させない場合を考える。この場合には、内部ROM116は物理的には存在しないため、CPU112が内部ROM116へアクセスしても、そのアクセスは、内部ROM116が割り当てられたメモリ空間のエリアへのアクセスにとどまることになる。
【0116】
さて、図14のように、外部バス128を用いてIROMエミュレーションメモリ32にアクセスするようにすると、次のような問題が生じる。
【0117】
即ち、内部ROM116に格納される命令(プログラム)のフェッチ及びデコードは、1クロックサイクル内で完了する必要がある。従って、エミュレーションモード時には、IROMエミュレーションメモリ32の命令を1クロックサイクル内でフェッチ及びデコードしなければならなくなる。
【0118】
ところが、外部バス128は、図13(B)と異なり、IROMエミュレーションメモリ32に専用のバスではない。従って、外部メモリ(製品時)やEROMエミュレーションメモリ34(評価時)と全く同様にIROMエミュレーションメモリ32を制御しようとすると、1クロックサイクル内での命令のフェッチ及びデコードを実現できなくなる問題が生じる。特に、クロック周波数が高くなると、この問題は更に深刻になる。
【0119】
そこで図14では、EROMエミュレーションメモリ34を制御するための制御信号CNT1とは別系統の制御信号CNT2を用意し、このCNT2を用いてIROMエミュレーションメモリ32からの読み出し動作等を制御するようにしている。より具体的には、CNT1に含まれるメモリリード信号よりも早いタイミングでCNT2に含まれるメモリリード信号がアクティブになるように信号を制御している。このようにすることで、外部バス128を用いてIROMエミュレーションメモリ32にアクセスするようにした場合にも、1クロックサイクル内で命令のフェッチ及びデコードを完了できるようになる。これにより、IROMエミュレーションメモリ32を用いたプログラム開発を、実動作時のクロック周波数で行うことが容易になる。
【0120】
図15に、マイクロコンピュータ22の詳細な構成例を示す。
【0121】
ここではCPU112は、ハーバードアーキテクチャのバス構成を採用している。CPU112の命令用アドレスバス150、データ用アドレスバス152は、マルチプレクサ140に入力される。マルチプレクサ140は、CPU112からの命令/データ切り替え信号DIS(ステータス信号の1つ)に基づいて、命令用アドレスバス150からのアドレスと、データ用アドレスバス152からのアドレスのいずれか選択して、外部アドレスバス154に出力する。
【0122】
CPU112のデータ出力バス158は、入出力パッドセル148を介して外部データバス156に接続される。また、CPU112のデータ入力バス160は、命令/データ切り替え部142、データバス162、入出力パッドセル148を介して、外部データバス156に接続される。
【0123】
CPU112の命令フェッチ用バス164は、内部ROM116に接続されると共に、命令/データ切り替え部142、データバス162、入出力パッドセル148を介して、外部データバス156に接続される。
【0124】
メモリ制御部20は、第1のチップイネーブル信号CE1、第1のメモリリード信号RD1をEROMエミュレーションメモリ34に出力する。また、CE1、RD1とは別系統の第2のチップイネーブル信号CE2、第2のメモリリードRD2をIROMエミュレーションメモリ32に出力する。また第3のチップイネーブル信号CE3、第3のメモリリード信号RD3を内部ROM116に出力する。即ち、メモリ制御部120は、これらのCE1、RD1、CE2、RD2、CE3、RD3を用いて、EROMエミュレーションメモリ34、IROMエミュレーションメモリ32、内部ROM116からのリード動作等を制御することになる。
【0125】
モード選択端子MT、モード選択レジスタ144、OR回路146は、図14のエミュレーション指示部118に相当するものである。即ち端子MTがHレベルになる、或いは、モード選択レジスタ144にHレベルが記憶されると、エミュレーションモード指示信号EMがHレベルになり、エミュレーションモードのためのバス切り替え制御が行われるようになる。
【0126】
次に、図15のマイクロコンピュータ22の命令のフェッチ動作について簡単に説明する。
【0127】
命令フェッチの場合には、命令/データ切り替え信号DISが命令を指示するようになり、マルチプレクサ140が命令用アドレスバス150を選択する。これにより、外部アドレスバス154及び内部ROMアドレスバス155には、命令用のアドレスが出力される。即ち、IROMエミュレーションメモリ32、内部ROM116には共に、命令用アドレスが入力されることになる。
【0128】
この時、モード選択レジスタ144にLレベルが記憶され、且つ端子MTもLレベルに設定されていると、エミュレーションモードがオフになり、信号EMがLレベルになる。また命令フェッチであるため、CPU112からの信号READ(ステータス信号の1つ)もアクティブになる。これにより、メモリ制御部120は、アドレスバス155からのアドレスをデコードし、内部ROMエリアのアドレスであれば、内部ROM116への第3のチップイネーブル信号CE3、第3のメモリリード信号RD3をアクティブにする。これにより、内部ROM116からの命令が、命令フェッチ用バス164を介してCPU112に読み出されるようになる。即ちCPU112は、内部ROM116に記憶されている命令をフェッチして実行することになる。
【0129】
一方、モード選択レジスタ144にHレベルが記憶される、或いは端子MTがHレベルに設定されると、エミュレーションモードがオンになり、信号EMがHレベルになる。すると、メモリ制御部120は、今度は、CE3、RD3ではなく、IROMエミュレーションメモリ32への第2のチップイネーブル信号CE2、第2のメモリリード信号RD2をアクティブにする。また、命令フェッチであるため、信号DISが命令を指示するようになると共に信号READがアクティブになり、命令/データ切り替え部142が、データ入力バス160ではなく、命令フェッチ用バス164を選択するようになる。以上により、IROMエミュレーションメモリ32からの命令が、外部データバス156、入出力パッドセル148、データバス162、命令/データ切り替え部142、命令フェッチ用バス164を介して、CPU112に読み出されるようになる。即ちCPU112は、内部ROM116ではなくIROMエミュレーションメモリ32に記憶されている命令をフェッチして実行するようになる。
【0130】
なお、このようにIROMエミュレーションメモリ32の命令が読み出されている間は、内部ROM116が内蔵するトライステートバッファ117の出力がトライステート状態になる。これにより、命令フェッチ用バス164でのデータの衝突が防止される。
【0131】
以上のように図15のマイクロコンピュータ22では、CPU112の命令フェッチ時にエミュレーションモードがオフ(信号EMがLレベル)の場合には、通常通り、内部ROM116からの命令が命令用フェッチバス164を介してCPU112にフェッチされて実行される。一方、CPU112の命令フェッチ時にエミュレーションモードがオン(信号EMがHレベル)の場合には、内部ROM116ではなくIROMエミュレーションメモリ32からの命令が外部データバス156を介してCPU112にフェッチされて実行されるようになる。
【0132】
従って、プログラムの完成前においてはユーザは、端子MT又はモード選択レジスタ144を用いてエミュレーションモードをオンにし、IROMエミュレーションメモリ32に開発途中のプログラムを随時ダウンロードしながらプログラム開発を行う。そして、プログラムの開発が完了すると、ユーザは、完成後のプログラムを内部ROM116に記憶させる(マスクパターンを作成する)。そして、端子MT又はモード選択レジスタ144を用いてエミュレーションモードをオフにする。これにより、内部ROM116からの命令に基づいてCPU112が動作する製品チップが完成する。
【0133】
そして図15のマイクロコンピュータ22では、IROMエミュレーションメモリ32に専用のアドレスバス、データバスは設けられない。従って、IROMエミュレーションメモリ32からの命令(プログラム)でCPU112が動作する評価チップと、内部ROM116からの命令でCPU112に動作する製品チップとが、端子数、パッドのレイアウト配置、信号線の引き回し等が異ならない同一チップとなる。このため、製品チップそのものを用いてプログラムを開発できるようになる。この結果、評価時と製品時(実動作時)とで動作環境、信号のタイミングが異なることに起因して、評価時には正常に動作していたが製品時には動作しなくなる等の問題を効果的に解決できるようになる。
【0134】
さて、以上のように外部アドレスバス154、外部データバス156を用いてIROMエミュレーションメモリ32にアクセスする手法を採用することで、製品チップと評価チップを同一チップにできる利点を得ることができる。しかしながら、その反面、この手法によると、IROMエミュレーションメモリ32からの命令の読み出しが間に合わなくなるという問題が生じる。
【0135】
即ち、EROMエミュレーションメモリ34(評価時)や外部メモリ(製品時)からの情報の読み出しについては、通常、時間的な余裕が十分にある。これに対して、CPU112による命令のフェッチ及びデコードは1クロックサイクル内で完了する必要があるため、IROMエミュレーションメモリ32からの命令の読み出しについては時間的な余裕がない。
【0136】
そこで図15では、EROMエミュレーションメモリ34用のCE1、RD1とは別系統(或いは外部メモリ用のチップイネーブル信号、メモリリード信号とは別系統)のチップイネーブル信号CE2、メモリリード信号RD2をメモリ制御部120に出力させている。これにより、外部アドレスバス154、外部データバス156をEROMエミュレーションメモリ34とIROMエミュレーションメモリ32で共用しながらも、IROMエミュレーションメモリ32からの命令のフェッチ及びデコードを、1クロックサイクル内で完了できるようになる。以上のことについて図16の信号波形図を用いて詳細に説明する。
【0137】
図16では、CPU112が次のような命令を実行する。
・命令(1) ld  %r2,0x00
・命令(2) ld  %r1,[%r9]
・命令(3) add %r4,%r1
・命令(4) sub %r5,%r1
上記において、命令(1)は、CPU112の汎用レジスタr2にデータ0x00をロードするという命令である。命令(2)は、汎用レジスタr9に格納されているアドレスであるEROMエミュレーションメモリ34のアドレスからのデータを、汎用レジスタr1にロードする命令である。即ちEROMエミュレーションメモリ34からのデータを汎用レジスタr1にロードする命令である。命令(3)は、汎用レジスタr4のデータとr1のデータを加算する命令である。命令(4)は、汎用レジスタr5のデータからr1のデータを減算する命令である。
【0138】
これらの命令(1)、(2)、(3)、(4)は、図16のB1に示すようにパイプライン処理により実行される。なおB1において、Fは命令のフェッチを、Dは命令のデコードを、Rはレジスタのリードを、Aはアドレスの計算を、Eは命令の実行を、Wはレジスタへのライトを表す。
【0139】
図16のB2に示すBCLKは、バスサイクルを決めるバスクロックであり、ここでは、BCLKはCPU112の動作クロックにもなっている。
【0140】
図16ではB3に示すように、まずIROMエミュレーションメモリ32からの命令の読み出しが行われ、次に、EROMエミュレーションメモリ34からのデータの読み出しが行われ、次に、IROMエミュレーションメモリ32からの命令の読み出しが行われる。
【0141】
即ち、図16のB4、B5、B6に示すように、命令(1)、(2)、(3)をIROMエミュレーションメモリ32から読み出すためのアドレスが外部アドレスバス154に出力される。これらのアドレスは、CPU112から命令用アドレスバス150、マルチプレクサ140を介して外部アドレスバス154に出力される。これにより、B7、B8、B9に示すように、各アドレスに対応する命令(命令データ)がIROMエミュレーションメモリ32から読み出され、外部データバス156に出力される。そして、これらの命令は、外部データバス156から入出力パッドセル148、データバス162、命令/データ切り替え部142、命令フェッチ用バス164を介して、CPU112にフェッチされデコードされる。
【0142】
また、図16のB10では、EROMエミュレーションメモリ34への読み出しアドレスが、CPU112からデータ用アドレスバス152、マルチプレクサ140を介して外部アドレスバス154に出力される。このアドレスは、上記命令(2)により指定されるアドレス[%r9]である。これにより、B11に示すように、EROMエミュレーションメモリ34からのデータが外部データバス156に出力され、入出力パッドセル148、データバス162、命令/データ切り替え部142、データ入力バス160を介してCPU112に読み出される。
【0143】
また、図16のB12では、命令(4)をIROMエミュレーションメモリ32から読み出すためのアドレスが外部アドレスバス154に出力される。これによりB13に示すように、このアドレスに対応する命令がIROMエミュレーションメモリ32から外部データバス156に出力される。
【0144】
EROMエミュレーションメモリ34からデータを読み出す場合には、図16のB14、B15に示すように第1のチップイネーブル信号CE1、第1のメモリリード信号RD1をアクティブにする(Lレベルにする)。一方、IROMエミュレーションメモリ32から命令を読み出す場合には、B16〜B21に示すように、第2のチップイネーブル信号CE2、第2のメモリリード信号RD2をアクティブにする。
【0145】
この時、B15に示すように、RD1はBCLKの立ち下がりに同期してアクティブになる。一方、B18〜B21に示すように、RD2は、BCLKの立ち上がりに同期してアクティブになる。より具体的には、BCLKの立ち上がりから所与の遅延時間(遅延素子における遅延時間)TD経過後にアクティブになる。即ち、RD2は、RD1よりも早いタイミングでアクティブになるように制御される。
【0146】
このようにRD2を早いタイミングアクティブにすることで、CPU112による命令のフェッチ(F)及びデコード(D)を、1クロックサイクル内で完了できるようになる。
【0147】
即ち、EROMエミュレーションメモリ34に使用するRD1を用いてIROMエミュレーションメモリ32からの命令の読み出しを行うと、RD1はBCLKの立ち下がりに同期してアクティブになるため、CPU112による命令のフェッチ及びデコードが1クロックサイクル内で完了できなくなる問題が生じる。特に、BCLKのクロック周波数が高くなった場合には、この問題が生じる可能性は更に高まる。
【0148】
この場合、例えば、評価時、即ちIROMエミュレーションメモリ32からの命令の読み出し時においては、BCLKのクロック周波数を低くするようにすれば、上記問題を解消できる。しかしながら、これでは、実動作時のクロック周波数とプログラム開発時のクロック周波数が異なることになってしまい、プログラム開発時には正常に動作していたプログラムが実動作時には正常に動作しなくなるという問題を招く。従って、製品チップと評価チップを同一チップにできるという利点が、実質的に失われてしまう。
【0149】
これに対して、図16では、RD1と別系統のRD2を用意し、B18〜B21に示すようにRD2を早いタイミングでアクティブにしているため、IROMエミュレーションメモリ32からの命令のフェッチ及びデコードを1クロックサイクル内で適正に完了できるようになる。従って、実動作時と同一のクロック周波数でプログラム開発をできるようになり、プログラム開発が終了し完成後のプログラムを内部ROM116に記憶させた場合にも、問題なくプログラムが正常に動作するようになる。従って、外部アドレスバス154、外部データバス156の共用により製品チップと評価チップを同一チップにできるというマイクロコンピュータ22の利点を、より生かせるようになる。
【0150】
なお、図16のB22では、EROMエミュレーションメモリ34からのデータの読み出しにウェイトが挿入されているため、CPU112のパイプライン処理がストールしている。即ち、外部アドレスバス154、外部データバス156には、読み出しや書き込みスピードが異なる種々のEROMエミュレーションメモリ34(RAM、フラッシュメモリ等)が接続される可能性がある。従って、信号CE1、RD1がアクティブになる期間に対してはウェイトの挿入が可能になっており、読み出しや書き込みスピードが異なる種々のEROMエミュレーションメモリ34に対応できるようになっている。
【0151】
一方、信号CE2、RD2が出力されるIROMエミュレーションメモリ32については、上述したように1クロックサイクルで命令を読み出す必要がある。従って、CE2、RD2がアクティブになる期間に対しては、CE1、RD1とは異なり、ウェイトの挿入は行われないことになる。
【0152】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【0153】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0154】
また本発明では、図3に示すようにプローブ側ボードとメモリ側ボードとを分離可能な構成とすることが特に望ましいが、分離可能な構成にしないことも可能である。
【0155】
また、高速のシリアルインターフェースを介してデバッグツールとの間で通信されるデバッグ情報も、本実施形態で説明したものに限定されるものではない。
【0156】
またプローブ側ボードやメモリ側ボードに設けられるコネクタも、図5で説明したものが特に望ましいが、これに限定されるものではない。
【0157】
またプローブ側ボードに内部メモリ用エミュレーションメモリを設ける場合の実装手法や配線接続も本実施形態で説明したものが特に望ましいが、これに限定されるものではない。
【0158】
またメモリ側ボードに搭載されるカスタムチップとしてはFPGAが特に望ましいが、これに限定されるものではない。
【0159】
また、外部メモリ用エミュレーションメモリを制御するための第1の制御信号や、内部メモリ用エミュレーションメモリを制御するための第2の制御信号も、図15、図16で説明したような信号が特に望ましいが、これに限定されるものではない。
【図面の簡単な説明】
【図1】図1(A)、(B)は、CPU置き換え型ICEと、従来のオンチップデバッグ型ICEの問題点について説明するための図である。
【図2】本実施形態の基本構成について説明するための図である。
【図3】エミュレーションプローブボードをプローブ側ボードとメモリ側ボードとに分離可能にする手法について説明するための図である。
【図4】プローブ側ボードのプローブの端子の形態についてはカスタマイズ可能にすると共に、メモリ側ボードのコネクタの端子の形態を標準化する手法について説明するための図である。
【図5】フラットケーブルが接続可能なコネクタをメモリ側ボードに併設する手法について説明するための図である。
【図6】プローブ側ボードにIROMエミュレーションメモリを設ける手法について説明するための図である。
【図7】IROMエミュレーションメモリの制御信号を伝達する接続線にジャンパを設ける手法について説明するための図である。
【図8】2つのIROMエミュレーションメモリをサンドイッチ構造で両面実装する手法について説明するための図である。
【図9】シリアル通信されるデバッグ情報を伝達する接続線にジャンパを設ける手法について説明するための図である。
【図10】マイクロコンピュータからの第1の信号のうち第2の信号を分離してメモリ側ボードに伝達する手法について説明するための図である。
【図11】図11(A)、(B)は、メモリ側ボードにカスタムチップを搭載する手法について説明するための図である。
【図12】アドレス、データをバッファを介さずにIROMエミュレーションメモリに伝達する手法について説明するための図である。
【図13】図13(A)、(B)は、製品チップと評価チップを別チップにする従来の手法について説明するための図である。
【図14】マイクロコンピュータの構成例を示すブロック図である。
【図15】マイクロコンピュータの更に詳細な構成例を示すブロック図である。
【図16】マイクロコンピュータの動作を説明するための信号波形図である。
【符号の説明】
10 エミュレーションプローブボード、12 プローブ側ボード
14 メモリ側ボード、20 プローブ、22 マイクロコンピュータ
24 シリアルインターフェース、26 コネクタ、27 フラットケーブル
28 コネクタ、29 コネクタ、30 エミュレーションメモリ
32、32−1、32−2  IROMエミュレーションメモリ
34 EROMエミュレーションメモリ、40 カスタムチップ(FPGA)
42 コンフィグROM、44 インターフェース、46 インターフェース
50 ターゲットシステム、52 ソケット、54 ICE本体
56 ホストシステム、60〜63 接続線、64〜67 ジャンパ
68、69 バッファ、70〜81 接続線、82〜87 バッファ
88〜93 接続線、94〜99 ジャンパ、100 第1の信号
102 第2の信号、104 ASICマイクロコンピュータ
105 マイクロコンピュータの回路、106 カスタムチップの回路
108、108 バッファ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an emulation probe board (substrate) for supporting development of a target system, and a debugging system using the same.
[0002]
BACKGROUND ART AND PROBLEMS TO BE SOLVED BY THE INVENTION
2. Description of the Related Art In recent years, there has been an increasing demand for microcomputers that are incorporated in electronic devices such as home game machines, car navigation systems, printers, portable information terminals, and mobile phones to realize advanced information processing. Such a built-in microcomputer is usually mounted on a user board called a target system. A development support tool called ICE (In-Circuit Emulator) is widely used to support the development of the target system.
[0003]
Conventionally, as such an ICE, an ICE called a CPU replacement type as shown in FIG.
[0004]
In this CPU replacement type ICE, the microcomputer 302 is removed from the socket of the target system 300 at the time of evaluation (debugging). Next, a probe 306 provided at the tip of a flat cable 308 extending from the ICE body (debug tool) 304 is connected to the socket. Then, the operation of the detached microcomputer 302 is emulated by the ICE main body 304. Also, the ICE main unit 304 performs various processes necessary for debugging.
[0005]
However, the CPU replacement type ICE has a drawback that emulation at a high clock frequency is difficult due to the existence of the flat cable 308 (for example, the limit is about 33 MHZ). For this reason, the system operating environment (signal timing) differs between an evaluation in which the probe 306 is connected to the target system 300 to perform emulation and a product in which the microcomputer 302 is mounted on the target system 300 and operated (actual operation). , Load conditions) will change. Therefore, there arises a problem that the target system 300 that has been operating at the time of evaluation stops operating at the time of production.
[0006]
Further, this CPU replacement type ICE has a problem that if the microcomputer 302 is different, even if it is a derivative, the ICE body 304 must be newly designed.
[0007]
On the other hand, an ICE called an on-chip debug type has been spotlighted in recent years to solve such a disadvantage of the CPU replacement type ICE.
[0008]
In the on-chip debug type ICE, an on-chip debug circuit 318 is built in a microcomputer 314 as shown in FIG. Then, using this on-chip debug circuit 318, debug information (CPU status information, program counter information, etc.) is serially communicated with the ICE body 324 at high speed.
[0009]
According to the on-chip debug type ICE, evaluation (debugging) of the target system 312 can be performed with the microcomputer 314 mounted on the target system 312. Therefore, it is possible to make the operating environment of the target system 312 the same at the time of evaluation and at the time of product, and it is possible to eliminate the drawback of the CPU replacement type ICE.
[0010]
However, it has been found that the conventional on-chip debug ICE has the following problems regarding the emulation memory 320.
[0011]
The emulation memory 320 is a memory required when evaluating the target system 312 (program debugging) as a substitute memory for the internal ROM 316 and the external ROM 322 from which a program cannot be downloaded as appropriate. That is, at the time of evaluation, the user develops a program while downloading the program under development to the emulation memory 320 including a RAM or the like as needed. When the program is completed, the completed program and data used for the program are stored in the internal ROM 316 or the external ROM 322 composed of a mask ROM or the like. Thus, the target system 312 for the product is completed.
[0012]
Therefore, the emulation memory 320 is required when the target system 312 is evaluated. However, the emulation memory 320 is unnecessary when a product is used because programs and data stored in the internal ROM 316 and the external ROM 322 are used.
[0013]
However, in the conventional on-chip debug type ICE, the emulation memory 320 is mounted on the target system 312 instead of the ICE main body 324 as shown in FIG. In the on-chip debug type ICE, since serial communication is performed between the target system 312 and the ICE main body 324, addresses and data of the emulation memory cannot be communicated, and the emulation memory 320 cannot be built in the ICE main body 324. is there.
[0014]
When the emulation memory 320 is mounted on the target system 312 as described above, the following problems occur.
(1) It is necessary for the user to mount the emulation memory in the target system, design a control circuit for the emulation memory, and the like, thereby increasing the user's labor. This causes a problem such as a prolonged development period of the target system. In particular, when the debugging method is changed and the access method to the emulation memory is changed, the wiring pattern of the target system must be changed, further increasing the burden on the user.
(2) An emulation memory, which should be unnecessary, must be mounted on a target system for a product, which leads to an increase in cost of the target system.
(3) In order to avoid the problem (2), the user designs a target system for a product that does not have an emulation memory, separately from an evaluation target system that has an emulation memory. There is a need. However, this causes problems such as a longer development period of the target system and an increase in product cost. In addition, since the target system for evaluation and the target system for product are designed separately, the target system for product does not operate normally even though the target system for evaluation operates normally. And other problems also occur.
[0015]
The present invention has been made in view of the above technical problems, and an object of the present invention is to use an on-chip debugging method and eliminate the need for emulation memory to be mounted on a target system. An object of the present invention is to provide an emulation probe board which can improve the convenience of the above and a debugging system using the same.
[0016]
[Means for Solving the Problems]
In order to solve the above problems, the present invention provides an emulation probe board for supporting development of a target system in which a microcomputer having an on-chip debug circuit is incorporated, wherein the target is a mounting means for mounting the microcomputer. A probe for connecting to a first mounting means of the system, a second mounting means for mounting the microcomputer, and a connection between the microcomputer mounted on the second mounting means and the outside, A first interface for serially communicating debug information for the on-chip debug circuit; and a third mounting means for mounting an emulation memory for emulating a memory used in the target system. It is characterized by the following.
[0017]
According to the present invention, at the time of evaluation (debugging) of the target system or the like, the probe is connected to the first mounting means (for example, a socket) of the target system. Thus, the target system can be operated using the microcomputer mounted on the emulation probe board. At this time, the debug information used for the on-chip debug circuit built in the microcomputer is serially communicated with the outside (for example, the ICE main unit, the host system) using the first interface. Therefore, the evaluation (debugging) work by the on-chip debugging method can be performed in a state where it can be considered that the microcomputer is substantially mounted on the target system.
[0018]
According to the present invention, the emulation memory is mounted on the emulation probe board, and it is not necessary to mount the emulation memory on the target system. Therefore, the burden on the user can be reduced, and the need to prepare a target system for evaluation separately from the target system for products can be eliminated. As a result, the development period of the target system can be shortened, the cost can be reduced, the reliability can be improved, and the like.
[0019]
The present invention also provides a probe-side board provided with at least the probe, the second mounting means for mounting the microcomputer, a first connector, and the third board for mounting the emulation memory. And a memory-side board provided with at least one second connector connected to the first connector. By doing so, even when the model of the microcomputer is changed, only the probe-side board can be changed and the same board can be used as the memory-side board. The first interface for communicating debug information is desirably provided on a probe-side board on which a microcomputer is mounted in order to realize high-speed communication.
[0020]
Further, the present invention is characterized in that the form of the terminals of the probe on the probe-side board can be customized, and the form of the terminals of the second connector on the memory-side board is standardized. In this way, even if the model of the microcomputer is changed and the form of the probe terminals (number of terminals, terminal arrangement, signals assigned to each terminal, etc.) is changed, the same memory-side board is used. it can. Therefore, the development period of the emulation probe board can be shortened and the cost can be reduced.
[0021]
The present invention also provides a third connector for directly connecting to the first connector of the probe-side board, and a fourth connector for connecting to the first connector of the probe-side board via a cable. A connector is provided on the memory-side board as the second connector. In this way, the emulation probe board can be easily connected to a target system that is difficult to connect to the emulation probe board because there is no space.
[0022]
Further, according to the present invention, the emulation memory includes an emulation memory for an internal memory for emulating an internal memory of the microcomputer, and an emulation memory for an external memory for emulating an external memory of the microcomputer. Fourth mounting means for mounting a memory emulation memory is provided on the probe-side board. This makes it possible to speed up access to the internal memory emulation memory by the microcomputer. Thus, for example, when an instruction (program) is stored in the internal memory emulation memory, the microcomputer can complete the fetch and decode of the instruction within one clock cycle. As a result, the microcomputer can be operated at the same high clock frequency as in the product, and the target system can be evaluated.
[0023]
The present invention also provides a first connection line connecting the microcomputer and the emulation memory for the internal memory and transmitting a control signal for controlling the emulation memory for the internal memory; A second connection line for connecting to the first connector and transmitting the control signal is provided, and first disconnection means for disconnecting the connection by the second connection line is provided. And With this configuration, the parasitic capacitance of the first connection line can be reduced, and the speed of access to the internal memory emulation memory by the microcomputer can be further increased.
[0024]
Further, in the present invention, the emulation memory for an internal memory includes first and second emulation memories for an internal memory, and fifth mounting means for mounting the first emulation memory for an internal memory may include a probe board. And a sixth mounting means for mounting the second internal memory emulation memory is provided on the second surface of the probe-side board. With this configuration, the wiring pattern length between the microcomputer and the first internal memory emulation memory and the wiring pattern length between the microcomputer and the second internal memory emulation memory are made the same or almost the same. Becomes possible. This allows the internal memory emulation memory to operate properly even during high-speed access to the internal memory emulation memory.
[0025]
Further, the present invention provides a third connection line connecting the microcomputer and the first interface and transmitting the debug information, and a fourth connection line connecting the third connection line and the probe. A connection line and a second disconnecting unit for disconnecting the connection by the fourth connection line are provided. By doing so, the parasitic capacitance parasitic on the third connection line can be reduced, and high-speed serial communication of debug information via the first interface can be realized.
[0026]
Further, according to the present invention, a second signal including a signal necessary for the operation of the emulation memory among the first signals from the microcomputer is transmitted between the microcomputer and the emulation memory. . This makes it possible to standardize the form of the second signal (the number of signals, the type of signal, etc.). When the emulation probe board is separated into the probe side board and the memory side board, the second signal is transmitted to the probe side board via the first connector of the probe side board and the second connector of the memory side board. (Microcomputer) and the memory side board (emulation memory).
[0027]
Further, the present invention is characterized in that a seventh mounting means is provided for mounting a custom chip operable by the second signal. This makes it possible to operate the custom chip under the control of the microcomputer using the second signal. Then, after the evaluation of the custom chip, the user can design the ASIC microcomputer by integrating the circuit of the custom chip and the circuit of the microcomputer into one chip.
[0028]
Further, in the present invention, at least one of a second interface serving as an interface between the custom chip and the outside and a third interface serving as an interface between the custom chip and the target system are provided. Features. By doing so, it becomes possible to download data of a circuit constituting the custom chip, operate the target system or a device mounted on the target system using input / output signals from the custom chip, and so on. Convenience can be improved.
[0029]
Further, according to the present invention, the emulation memory includes an emulation memory for an internal memory for emulating an internal memory of the microcomputer, and an emulation memory for an external memory for emulating an external memory of the microcomputer. The second signal is transmitted between the computer and the emulation memory for external memory via a given buffer, and the second signal is transmitted between the microcomputer and the emulation memory for internal memory without passing through the buffer. It is characterized by being transmitted. This makes it possible to speed up access to the internal memory emulation memory by the microcomputer.
[0030]
Further, according to the present invention, the emulation memory includes an emulation memory for an internal memory for emulating an internal memory of the microcomputer, and an emulation memory for an external memory for emulating an external memory of the microcomputer. A second control signal of a different system from the first control signal for controlling the memory emulation memory is provided to the internal memory emulation memory. This makes it possible to control the internal memory emulation memory with a second control signal of a different system from the first control signal for controlling the external memory emulation memory. This makes it possible to realize proper access to the emulation memory for the internal memory.
[0031]
Further, the present invention is characterized in that the second memory read signal included in the second control signal becomes active earlier than the first memory read signal included in the first control signal. This makes it possible to easily cope with such a restriction, for example, when there is a restriction that the microcomputer must fetch and decode the instruction stored in the internal memory emulation memory in one clock cycle. Become like
[0032]
Further, the debugging system according to the present invention includes any one of the above-described emulation probe boards, the microcomputer mounted on the emulation probe board, the emulation memory mounted on the emulation probe board, and the first interface. And a debug tool through which debug information is communicated.
[0033]
ADVANTAGE OF THE INVENTION According to this invention, while improving the user's convenience, it becomes possible to provide the user with the debugging system which can shorten the development period of a target system and can reduce cost.
[0034]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings.
[0035]
1. Basic configuration
FIG. 2 shows a basic configuration of an emulation probe board (emulation POD (Probe Of Device)) of the present embodiment, and an overall configuration of a debugging system using the emulation probe board.
[0036]
The emulation probe board 10 is provided with a probe 20, a high-speed serial interface (I / F) 24, and a microcomputer 22 and an emulation memory 30. That is, a means for mounting the microcomputer 22 and the emulation memory 30 (a means realized by, but not limited to, a socket, a terminal (pin) hole, a wiring drawn from the terminal, or the like) is provided.
[0037]
Here, the probe 20 is for connecting to the socket 52 of the target system 50. The socket (mounting means in a broad sense) 52 is for mounting the microcomputer 22 when the target system 50 is manufactured. That is, the probe 20 of the emulation probe board 10 is connected to the socket 52 when the target system 50 is evaluated, and the microcomputer 22 is mounted on the socket 52 when the target system 50 is a product.
[0038]
The microcomputer 22 includes a CPU and its peripheral circuits. In the present embodiment, the microcomputer 22 includes an on-chip debug circuit. Thereby, an on-chip debug type ICE can be realized.
[0039]
The emulation memory 30 emulates (replaces) an internal ROM (an internal memory in a broad sense) or an external ROM (an external memory in a broad sense) used in the target system 50. As the emulation memory 30, a high-speed RAM, a normal RAM, a flash memory, or the like can be used.
[0040]
The serial interface (I / F) 24 is used for high-speed serial communication of debug information for the on-chip debug circuit built in the microcomputer 22 between the microcomputer 22 and the ICE main body 54 (a debugging tool in a broad sense). (High-speed serial communication interface). As such an interface, an interface based on the so-called JTAG or BDM (Background Debug Model) standard may be adopted, or a unique interface similar to JTAG or BDM may be adopted.
[0041]
As shown in FIG. 2, according to the present embodiment, unlike the conventional example of FIG. 1B, it is not necessary to mount an emulation memory in the target system. Therefore, the user does not have to take the trouble of mounting the emulation memory in the target system and designing the control circuit of the emulation memory. Further, even if the debugging method is changed, it is not necessary to change the design of the target system. In addition, there is no need to mount an emulation memory, which should not be necessary, in a target system for a product. Further, it is not necessary to separately design a target system for evaluation and a target system for products. Therefore, according to the present embodiment, the development period of the target system can be reduced, the cost can be reduced, and the convenience for the user can be improved.
[0042]
Moreover, according to the present embodiment, the microcomputer 22 and the emulation memory 30 are collectively mounted not on the ICE main body 54 but on the small-area emulation probe board 10 on which the probe 20 is provided. Therefore, the wiring pattern length between the probe 20 and the microcomputer 22, the wiring pattern length between the probe 20 and the emulation memory 30, and the wiring pattern length between the microcomputer 22 and the emulation memory 30 can be sufficiently reduced. Therefore, even if the microcomputer 22 is operated at a high clock frequency, the target system 50 operates normally without any problem. As a result, the operating environment at the time of evaluation and the operating environment at the time of a product (at the time of actual operation) can be made the same, and the reliability of the debug system 50 can be improved.
[0043]
When the emulation memory 30 is used for emulating the internal ROM, the microcomputer 22 must fetch and decode an instruction from the emulation memory 30 within one clock cycle. According to the present embodiment, since the wiring pattern length between the microcomputer 22 and the emulation memory 30 can be sufficiently reduced, the microcomputer 22 can access the emulation memory 30 at high speed. Therefore, the instruction fetch and decode can be completed within one clock cycle, and emulation of the internal ROM can be properly realized.
[0044]
Further, according to the present embodiment, the serial interface 24 for communicating debug information is provided on the emulation probe board 10. Therefore, an efficient debugging operation can be realized by effectively using the on-chip debug circuit built in the microcomputer 22.
[0045]
That is, in the CPU replacement type ICE shown in FIG. 1A, although emulation memory is not required to be mounted on the target system, efficient debugging using an on-chip debug circuit cannot be realized.
[0046]
On the other hand, in the conventional on-chip debug type ICE shown in FIG. 1B, although an efficient debugging operation using an on-chip debug circuit can be realized, emulation memory needs to be mounted on a target system, and the user needs to carry out emulation memory. Impairs convenience.
[0047]
On the other hand, according to the present embodiment, it is not necessary to mount an emulation memory in the target system, although efficient debugging using an on-chip debug circuit can be realized. ) And (B) have unique effects that cannot be realized.
[0048]
2. Separation into probe side board and memory side board
As shown in FIG. 3, it is desirable that the emulation probe board 10 be separable into a probe board 12 and a memory board 14.
[0049]
Here, a probe 20, a microcomputer 22, a serial interface 24, and a connector 26 are provided on the probe side board 12. On the other hand, a connector 28 and an emulation memory 30 are provided on the memory-side board 14. Then, by directly connecting the connectors 26 and 28, a signal is transmitted between the probe-side board 12 and the memory-side board 14.
[0050]
In FIG. 3, the emulation memory 30 includes an IROM emulation memory 32 (an internal memory emulation memory) and an EROM emulation memory 34 (an external memory emulation memory). The IROM emulation memory 32 is a memory for emulating an internal ROM (in a broad sense, an internal memory) of the microcomputer. As such a memory, a high-speed SRAM or the like can be used. The EROM emulation memory 34 is a memory for emulating an external ROM (external memory in a broad sense) of the microcomputer. Examples of such a memory include a standard-speed RAM (SRAM, DRAM), a flash memory, and the like. Can be used.
[0051]
As shown in FIG. 3, the following advantages can be obtained by separating the emulation probe board 10 into the probe-side board 12 and the memory-side board 14.
[0052]
That is, in general, the form of the terminals (pins) of the microcomputer 22 (the number of terminals, the arrangement of the terminals, the signals assigned to each terminal, etc.) is various and various. For this reason, the form of the terminal of the probe 20 also becomes various. Therefore, when the model of the microcomputer 22 used in the target system is changed, a different model of the emulation probe board must be provided accordingly.
[0053]
In this case, if the emulation probe board 10 can be separated into the probe-side board 12 and the memory-side board 14, as shown in FIG. 4, the form of the terminal of the probe 20 of the probe-side board 12 can be customized. At the same time, the terminal form of the connector 28 (connector 26) of the memory-side board 14 can be standardized. Therefore, even if the type of the microcomputer 22 to be used is changed and the form of the terminal of the probe 20 is changed, the same (or almost the same) memory board 14 can be used. Therefore, even if the type of the microcomputer 22 is changed, only the probe-side board 12 needs to be newly created, and the memory-side board 14 does not need to be newly created. As a result, the cost of the emulation probe board can be reduced, and the design work can be made more efficient.
[0054]
3. Attached flat cable connector
Since the microcomputer and the emulation memory are mounted on the emulation probe board of the present embodiment, the board area is larger than that of a normal probe (probe board) in ICE. Therefore, depending on the type of the target system, it may be difficult to connect the emulation probe board.
[0055]
Therefore, in order to solve such a problem, it is desirable to provide a connector 29 for the flat cable 27 on the memory-side board 14 in addition to the connector 28 for the direct connection, as shown in FIG. That is, the connector 29 connected to the connector 26 via the flat cable 27 is provided on the memory-side board 14.
[0056]
By doing so, the emulation probe board can be easily connected even to a target system in which it is difficult to connect the emulation probe board due to lack of space or the like, and user convenience can be improved. .
[0057]
In the present embodiment, the probe-side board 12 and the memory-side board 14 can be directly connected by using the connector 28. Therefore, it is possible to meet the demand of the user who does not want the signal delay by the flat cable 27. As described above, by using the method of FIG. 5, it is possible to meet the demands of a wide range of users.
[0058]
4. Equipped with IROM emulation memory on probe side board
As described above, as the emulation memory, an IROM emulation memory that substitutes for an internal ROM and an EROM emulation memory that substitutes for an external ROM can be considered. Since the IROM emulation memory must complete the fetch and decode of the instruction read from the IROM emulation memory within one clock cycle, it is desired that access to the IROM emulation be faster. In particular, if the clock frequency of the microcomputer is high, this demand becomes even stronger.
[0059]
In order to meet such a demand, the IROM emulation memory 32 may be provided on the probe side board 12 as shown in FIG. That is, means for mounting the IROM emulation memory 32 is provided on the probe-side board 12.
[0060]
By doing so, the wiring pattern length between the microcomputer 22 and the IROM emulation memory 32 can be shortened, and the speed of access to the IROM emulation memory 32 by the microcomputer 22 can be increased. That is, memory access can be remarkably speeded up as compared with the case where the IROM emulation memory 32 is provided on the memory side board 14. Thus, the microcomputer 22 can easily complete the instruction fetch and decode within one clock cycle. As a result, even at the time of evaluation, the microcomputer 22 can be operated at the same high clock frequency as that at the time of the product, and the operating environment at the time of evaluation and the operating environment at the time of product can be made the same. .
[0061]
By the way, in order to further speed up access to the IROM emulation memory 32, it is more desirable to employ the following two methods.
[0062]
For example, in FIG. 7, connection lines 60 and 61 are connection lines between the microcomputer 22 and the IROM emulation memory 32, and control signals CE2 and RD2 are transmitted to the IROM emulation memory 32 by these connection lines 60 and 61. You. Here, CE2 and RD2 are a chip enable signal and a memory read signal for the IROM emulation memory 32, respectively, and these are both signals for controlling the IROM emulation memory 32.
[0063]
The connection lines 62 and 63 are connection lines between the connection lines 60 and 61 and the connector 26, and control signals CE2 and RD2 are transmitted to the memory-side board through the connector 26 by these connection lines 62 and 63. Is done. That is, in the present embodiment, as described with reference to FIG. 4, the form of the terminals of the connectors 26 and 28 (number of terminals, terminal arrangement, signals assigned to each terminal, etc.) is standardized. Therefore, even when the IROM emulation memory 32 is mounted on the probe-side board and not mounted on the memory-side board, the connection lines 62 and 63 exist. This is because, when the IROM emulation memory 32 is provided on the memory side board, the connection lines 62 and 63 are required to operate the IROM emulation memory 32.
[0064]
Now, in order to realize high-speed access to the IROM emulation memory 32, it is necessary to reduce the signal delay of the control signals CE2 and RD2. The signal delay of CE2 and RD2 is determined by the capabilities of buffers 68 and 69 in microcomputer 22 that output CE2 and RD2, and the parasitic capacitance of the output terminals of buffers 68 and 69.
[0065]
However, when the connection lines 60 and 61 are connected to the connection lines 62 and 63, not only the parasitic capacitance of the connection lines 60 and 61 but also the parasitic capacitance of the connection lines 62 and 63 are added to the output terminals of the buffers 68 and 69. Therefore, the parasitic capacitance of the output terminals of the buffers 68 and 69 increases. In particular, since the connection lines 62 and 63 are connected to the memory-side board via the connector 26, the parasitic capacitance of the connection lines 62 and 63 is very large.
[0066]
Accordingly, in FIG. 7, jumpers 64 and 65 (cutting means) are provided between the connection lines 60 and 61 and the connection lines 62 and 63. When the IROM emulation memory 32 is provided on the probe-side board, the jumpers 64 and 65 are turned off. On the other hand, when the IROM emulation memory 32 is provided on the memory-side board, the jumpers 64 and 65 are made conductive.
[0067]
In this way, when the IROM emulation memory 32 is provided on the probe-side board, the connection lines 60 and 61 and the connection lines 62 and 63 are disconnected, so that the parasitic capacitance of the output terminals of the buffers 68 and 69 is reduced. Is only the parasitic capacitance of the connection lines 60 and 61. Therefore, the signal delay of the control signals CE2 and RD2 can be minimized, and high-speed access to the IROM emulation memory 32 can be realized.
[0068]
On the other hand, when the IROM emulation memory 32 is provided on the memory-side board, the connection lines 60 and 61 are connected to the connection lines 62 and 63, and the control signals CE2 and RD2 are transmitted to the IROM emulation memory 32 of the memory-side board. Can be transmitted properly. This means that the connectors 26 and 28 can be standardized regardless of whether the IROM emulation memory 32 is provided on the probe side board or the memory side board.
[0069]
When the jumpers 64 and 65 are cut off, the jumpers 66 and 67 are turned on. By doing so, the connection lines 62 and 63 can be pulled up to the H level, and malfunction of the memory on the memory-side board can be prevented.
[0070]
In FIG. 8, the IROM emulation memory 32 is divided into an IROM emulation memory 32-1 for lower 8 bits (D0 to D7) and an IROM emulation memory 32-2 for upper 8 bits (D8 to D15). . In order to realize high-speed access, it is necessary to employ a high-speed SRAM as the IROM emulation memory 32, since most of the high-speed SRAM are 8-bit products.
[0071]
In FIG. 8, the IROM emulation memory 32-1 is mounted on, for example, the front surface of the probe-side board 12, and the IROM emulation memory 32-2 is on the back surface (substantially the same as the place where the IROM emulation memory 32-1 is provided). On the back of the place). That is, mounting means for the IROM emulation memory 32-1 is provided on the front surface of the probe-side board 12, and mounting means for the IROM emulation memory 32-2 is provided on the back surface.
[0072]
That is, the SRAMs constituting the IROM emulation memories 32-1 and 32-2 are very fast, and their access time is about 6 nsec. Accordingly, if the wiring pattern length between the microcomputer 22 and the IROM emulation memory 32-1 is different from the wiring pattern length between the microcomputer 22 and the IROM emulation memory 32-2, and the parasitic capacitances parasitic on these wiring patterns are different from each other. Therefore, a difference may occur in signal delay, and the IROM emulation memories 32-1 and 32-2 may malfunction.
[0073]
In FIG. 8, the IROM emulation memories 32-1 and 32-2 are mounted on both sides in a sandwich structure, and the wiring pattern length between the microcomputer 22 and the IROM emulation memory 32-1 and the microcomputer 22, the IROM emulation memory 32-2 The length of the wiring pattern between them is the same (or almost the same). As a result, the parasitic capacitances of these wiring patterns can be made the same or almost the same, and even if high-speed SRAMs are used as the IROM emulation memories 32-1 and 32-2, malfunctions can be prevented.
[0074]
5. High-speed serial interface
As shown in FIG. 9, in the present embodiment, signals (information) such as DST2, DST1, DST0, DPCO, DSIO, and DCLK are serially communicated with the ICE body (or a host system) via the serial interface 24. Have been.
[0075]
Here, DST2 to DST0 are 3-bit signals for notifying the status of the instruction execution of the CPU 22. The DPCO is a signal indicating a PC (program counter) value at a branch destination. The DSIO is a signal for transmitting various instructions to be executed for debugging from the ICE main unit to the microcomputer 22 and transmitting a response of the microcomputer 22 from the microcomputer 22 to the ICE main unit. DCLK is a clock signal for a debug mode.
[0076]
Now, when the microcomputer 22 is mounted on the emulation probe board, as shown in FIG. 9, DST2 to DCLK between the microcomputer 22 and the ICE main body via the connection lines 70 to 75 and the serial interface 24. Is communicated.
[0077]
Also, it is desired that DST2 to DCLK can be communicated with the ICE main unit even when the microcomputer 22 is mounted on the target system. Therefore, as shown in FIG. 9, it is desirable to provide a serial interface 25 for communicating DST2 to DCLK with the ICE main body also on the target system side. Therefore, in this case, the connection lines 76 to 81 for connecting the microcomputer 22 and the serial interface 25 are provided also on the target system side. As a result, the connection lines 70 to 75 on the emulation probe board side are connected to the connection lines 76 to 81 via the connection lines 88 to 93 and the probe 20.
[0078]
By the way, in order to realize an appropriate debug environment even when the clock frequency of the microcomputer 22 is high, it is desired to further speed up communication of DST2 to DCLK. For this purpose, it is necessary to minimize the signal delay on the connection lines 70 to 75. The signal delay is determined by the capacity of the buffers 82 to 87 for outputting DST2 to DCLK and the parasitic capacitance of the connection lines 70 to 75.
[0079]
However, in FIG. 9, since the connection lines 70 to 75 and the connection lines 76 to 81 are connected, the parasitic capacitance of the connection lines 76 to 81 is added to the parasitic capacitance of the connection lines 70 to 75. turn into. For this reason, the signal delay on the connection lines 70 to 75 increases, which hinders speeding up the communication of DST2 to DCLK.
[0080]
Therefore, in FIG. 9, jumpers 94 to 99 (cutting means) for cutting the connection at the connection lines 88 to 93 are provided.
[0081]
By doing so, the connection lines 70 to 75 and the connection lines 76 to 81 are prevented from being connected by setting the jumpers 94 to 99 to the disconnected state. As a result, the parasitic capacitance of the connection lines 76 to 81 is not added to the parasitic capacitance of the connection lines 70 to 75, and the parasitic capacitance of the output terminals of the buffers 82 to 87 can be greatly reduced. As a result, the communication speed of DST2 to DCLK can be increased, and an appropriate debugging environment can be provided even when the microcomputer 22 operates at a high clock frequency.
[0082]
6. Separation of a second signal from a first signal
In the present embodiment, as shown in FIG. 10, a second signal 102 including a signal necessary for the operation of the emulation memory 30 is separated from the first signal from the microcomputer 22, and the microcomputer 22, the emulation It is transmitted between the memories 30 (between the probe-side board 12 and the memory-side board 14).
[0083]
That is, almost all of the signals input and output from the microcomputer 22 are transmitted as the first signal 100 to and from the probe 20. This is because, at the time of evaluation, the probe 20 must be connected to the socket 52 of the target system 50 as shown in FIG. 2, and the target system 50 must be operated using the microcomputer 22 on the emulation probe board 10.
[0084]
However, the first signal 100 from the microcomputer 22 includes various signals, and the form (the number of signals and the type of signal) of the first signal differs depending on the model of the microcomputer 22. . For example, the first signal 100 includes various signals such as a signal from a timer, a signal from an input / output port, a signal from an A / D converter, and the like in addition to general signals such as an address, data, and memory control signal. Is included. If the microcomputer 22 does not have an A / D converter, for example, the first signal does not include the signal from the A / D converter. Thus, it is difficult to standardize the form of the first signal 100.
[0085]
Therefore, in the present embodiment, as shown in FIG. 10, a second signal 102 including a signal necessary for the operation of the emulation memory 30 is separated from the first signal 100, and the memory side board is connected via the connectors 26 and 28. 14. That is, the minimum signal necessary for the operation of the emulation memory 30, such as a control signal for controlling the address, data, and memory, is included in the second signal 102 and transmitted to the memory-side board 14.
[0086]
With this configuration, the form (the number of signals and the type of signal) of the second signal 102 can be made independent of the model of the microcomputer 22 and the form of the terminals of the connectors 26 and 28 can be standardized. become. Accordingly, as described with reference to FIG. 4, even if the model of the microcomputer 22 is changed, the same (or almost the same) memory board 14 can be used. As a result, even if the type of the microcomputer 22 is changed, only the probe-side board 12 needs to be newly created, and the cost of the emulation probe board can be reduced, and the design period can be shortened.
[0087]
7. Mounting custom chips
As described above, in the present embodiment, the second signal 102 including the signal necessary for the operation of the emulation memory 30 is separated from the first signal 100 and transmitted to the memory-side board 14. Such a second signal 102 includes basic signals input and output by the microcomputer 22, such as an address, data, and various control signals. Therefore, by using the second signal 102, various devices operable under the control of the microcomputer 22 can be operated in addition to the emulation memory 30.
[0088]
Therefore, in FIG. 11A, the custom chip 40 operable by the second signal 102 is mounted on the memory-side board 14. That is, means for mounting the custom chip 40 is provided on the memory-side board 14.
[0089]
That is, in recent years, what is called an ASIC microcomputer in which a microcomputer serving as a core and a circuit designed by a user himself are incorporated has been spotlighted. According to such an ASIC microcomputer, it is possible to incorporate an optimum microcomputer according to the user's application into the target system, thereby improving the commerciality of the target system, reducing the cost, and the like.
[0090]
If the user's custom chip 40 can be mounted on the memory side board 14 as shown in FIG. 11A, the user operates the custom chip 40 designed by himself under the control of the microcomputer 22 and It is possible to evaluate whether the operation is normal. Then, as shown in FIG. 11B, the user who has confirmed that the normal operation is performed custom-designs the ASIC microcomputer 104 including the circuit 105 of the microcomputer 22 and the circuit 106 of the custom chip 40, Incorporate into the user's target system.
[0091]
In FIG. 11A, since the microcomputer 22 and the custom chip 40 are connected by the second signal 102, while the microcomputer 22 and the custom chip 40 are operated in cooperation with each other, whether the operation is normal or not is determined. Can be evaluated. Therefore, the ASIC microcomputer 104 incorporating the circuit 106 of the custom chip 40 whose normal operation has been confirmed by this evaluation can be expected to operate normally even in the user's target system. As a result, the user can custom design the ASIC microcomputer 104 in a short development period, so that the development period of the target system can be shortened, the cost can be reduced, and the like.
[0092]
In addition, as the custom chip 40 mounted on the memory-side board 14, an FPGA (Field Programmable Gate Array) or the like can be adopted. When an FPGA is used as the custom chip 40, it is desirable that the configuration ROM 42 that stores data of a logic circuit to be downloaded to the FPGA (custom chip) 40 be mounted on the memory-side board 14. If such a configuration ROM 42 is mounted, the trouble of downloading the data of the logic circuit to the FPGA 40 when the power is turned on can be omitted.
[0093]
In FIG. 11A, an interface 44 between the FPGA 40 and the ICE main unit (or host system) and an interface 46 between the FPGA 40 and the target system are provided on the memory-side board 14.
[0094]
Here, the interface 44 is a high-speed serial interface conforming to JTAG or the like, and is for communicating data of a logic circuit to be downloaded to the FPGA 40. By providing such an interface 44, the user can freely rewrite the data of the logic circuit that he / she wants to test, and the user's convenience can be improved.
[0095]
The interface 46 is for transmitting input / output signals of the FPGA 40 to the target system. For example, consider a case where an LCD is provided in the target system, and the circuit of the FPGA 40 is a display control circuit of the LCD. In this case, the display control signal of the LCD is transmitted to the target system via the interface 46. By providing such an interface 46, it becomes possible to evaluate and verify the cooperation operation between the ASIC microcomputer 104 and peripheral devices when the ASIC microcomputer 104 is incorporated in the target system before the integration. Thus, the design of the ASIC microcomputer 104 can be made more efficient and the design period can be shortened.
[0096]
8. Speed up access to IROM emulation memory
As described above, the fetch and decode of the instruction from the IROM emulation memory for emulating the internal ROM of the microcomputer must be completed within one clock cycle. Therefore, there is a problem that it is necessary to speed up memory access to the IROM emulation memory.
[0097]
Therefore, in order to achieve such a problem, in FIG. 12, the address and data (second signal) are transmitted between the microcomputer 22 and the EROM emulation memory 34 via the buffers 108 and 109 while the microcomputer 22, between the IROM emulation memory 32, the address and data are transmitted directly without passing through a buffer.
[0098]
By doing so, in the signal transmission between the microcomputer 22 and the IROM emulation memory 32, the signal delay by the buffers 108 and 109 does not occur. Therefore, access to the IROM emulation memory 32 can be speeded up.
[0099]
When the microcomputer 22 is accessing the IROM emulation memory 32, the buffers 108 and 109 are turned off using the control signal CNTB. On the other hand, when the microcomputer 22 is accessing the EROM emulation memory 34, the buffers 108 and 109 are turned on using the control signal CNTB, and the operation of the IROM emulation memory 32 is suppressed using the control signal CNT2.
[0100]
The method shown in FIG. 12 can be applied to a case where the IROM emulation memory 32 is mounted on the probe-side board 12 as shown in FIG.
[0101]
9. Microcomputer configuration
In a microcomputer, usually, an evaluation chip 710 for program and system development as shown in FIG. 13B is created in addition to the product chip 700 for mass production as shown in FIG. . In the evaluation chip 710, a dedicated address bus 712 and a data bus 714 are provided in the emulation memory 716 in addition to the normal external address bus 702 and the external data bus 704 to which the external memory 706 is connected.
[0102]
However, when the dedicated address bus 712 and the data bus 714 are provided in the emulation memory 716 in this way, the number of terminals (pins) of the evaluation chip 710 becomes much larger than the number of terminals of the product chip 700. For this reason, it becomes difficult to obtain a package on which the evaluation chip 710 can be mounted, and it becomes complicated to ensure the matching of the terminals of the product chip 700 and the evaluation chip 710. In addition, there is a problem that a program that normally operates on the evaluation chip 710 does not operate on the product chip 700.
[0103]
In order to solve such a problem, the microcomputer 22 shown in FIG. 14 is devised as described below.
[0104]
14 includes a CPU (processor in a broad sense) 112, a bus control unit (BCU) 114, an internal ROM (internal memory in a broad sense) 116, an emulation instruction unit 118, and a memory control unit 120. An external bus (external bus terminal) 128 of the microcomputer 22 can be connected to an EROM emulation memory 34 (external memory in the case of a product) and an IROM emulation memory 32. Note that another external device such as a gate array may be connected to the external bus 128.
[0105]
Here, the CPU 112 performs an instruction execution process, and the CPU bus 122 of the CPU 112 is connected to the bus control unit 114. The status signal ST from the CPU 112 is also output to the bus control unit 114.
[0106]
The internal ROM 116 stores information such as programs and data, and the internal ROM bus 126 of the internal ROM 116 is connected to the bus control unit 114. At the time of evaluation, the internal ROM 116 may not be built in the microcomputer 22.
[0107]
The emulation instructing unit 118 activates the emulation instructing signal EM when the emulation mode is on, and issues an emulation instruction to the bus control unit 114. In this case, the on / off of the emulation mode may be switched by providing a mode selection terminal in the microcomputer 22 and controlling the mode selection terminal, or by providing a mode selection register in the microcomputer 22. May be switched by controlling the information stored in the.
[0108]
The memory control unit 120 outputs various control signals (chip enable signal, memory read signal, etc.) CNT1, CNT2, and CNT3 for controlling the EROM emulation memory 34, the IROM emulation memory 32, and the internal ROM 116. In particular, FIG. 14 is characterized in that control signals CNT1 and CNT2 of different systems are output to the EROM emulation memory 34 and the IROM emulation memory 32 connected to the same external bus 128.
[0109]
The bus control unit 114 controls the CPU bus 122, the internal ROM bus 126, the external bus 128, and the like. The bus control unit 114 connects the internal ROM bus 126 of the internal ROM 116 to the CPU bus 122 based on the address and the status signal ST from the CPU 112, and connects the external ROM to which the EROM emulation memory 34 and the IROM emulation memory 32 are connected. A bus control such as connecting the CPU 128 to the CPU bus 122 is performed.
[0110]
When the emulation mode (mode in which the internal ROM 116 is emulated by the IROM emulation memory 32) is instructed by the signal EM from the emulation instructing unit 118, the bus control unit 114 transmits the signal to the internal ROM 116 of the CPU 112. The access is switched to the access to the IROM emulation memory 32 via the external bus 128. That is, the CPU bus 122 is connected to the external bus 128 instead of the internal ROM bus 126, and the CPU 112 accesses the internal ROM 116 via the CPU bus 122 and the internal ROM bus 126 via the CPU bus 122 and the external bus 128. The access is switched to the access to the IROM emulation memory 32.
[0111]
By doing so, the CPU 112 operates based on the program stored in the IROM emulation memory 32 instead of the program (or data) stored in the internal ROM 116. Therefore, the user can download the program under development to the IROM emulation memory 32 at any time until the program is completed to develop the program. Then, after the development is completed, the completed program is stored in the internal ROM 116, so that a final product chip can be obtained.
[0112]
In the microcomputer 22 shown in FIG. 14, the IROM emulation memory 32 is accessed by using an external bus 128 used for accessing an external memory (see FIG. 13A) at the time of a product. Therefore, there is no need to provide a dedicated address bus 712 and data bus 714 in the emulation memory 716 as shown in FIG. Therefore, the number of terminals (pins) of the product chip and the evaluation chip can be made equal. Therefore, the product chip can be used as it is as the evaluation chip, and the cost of the product can be reduced.
[0113]
Further, according to the microcomputer 22 of FIG. 14, it is possible to save trouble such as preparing a separate package for the evaluation chip and maintaining the consistency between the product chip and the terminals of the evaluation chip.
[0114]
Further, according to the microcomputer 22 of FIG. 14, since the product chip can be used as it is as the evaluation chip, the program can be developed in the same environment and signal timing as in the actual operation. As a result, the reliability of the product chip can be improved, the development period can be shortened, and the product cost can be reduced.
[0115]
When the access to the internal ROM 116 of the CPU 112 is switched to the access to the IROM emulation memory 32, the access to the internal ROM 116 is sufficient if the access to the area of the memory space to which the internal ROM 116 is allocated. For example, consider a case where the internal ROM 116 is not built in the microcomputer 22 at the time of evaluation or the like. In this case, since the internal ROM 116 does not physically exist, even if the CPU 112 accesses the internal ROM 116, the access is limited to an access to the area of the memory space to which the internal ROM 116 is allocated.
[0116]
When the IROM emulation memory 32 is accessed using the external bus 128 as shown in FIG. 14, the following problem occurs.
[0117]
That is, the fetch and decode of the instruction (program) stored in the internal ROM 116 must be completed within one clock cycle. Therefore, in the emulation mode, the instructions in the IROM emulation memory 32 must be fetched and decoded within one clock cycle.
[0118]
However, unlike FIG. 13B, the external bus 128 is not a bus dedicated to the IROM emulation memory 32. Therefore, if it is attempted to control the IROM emulation memory 32 in exactly the same way as the external memory (at the time of production) or the EROM emulation memory 34 (at the time of evaluation), there arises a problem that fetching and decoding of instructions within one clock cycle cannot be realized. In particular, this problem becomes more serious as the clock frequency increases.
[0119]
Therefore, in FIG. 14, a control signal CNT2 of a different system from the control signal CNT1 for controlling the EROM emulation memory 34 is prepared, and the reading operation from the IROM emulation memory 32 is controlled using the CNT2. . More specifically, the signal is controlled so that the memory read signal included in CNT2 becomes active at a timing earlier than the memory read signal included in CNT1. In this way, even when the IROM emulation memory 32 is accessed using the external bus 128, the fetch and decode of the instruction can be completed within one clock cycle. This facilitates program development using the IROM emulation memory 32 at the clock frequency during actual operation.
[0120]
FIG. 15 shows a detailed configuration example of the microcomputer 22.
[0121]
Here, the CPU 112 employs a Harvard architecture bus configuration. The instruction address bus 150 and the data address bus 152 of the CPU 112 are input to the multiplexer 140. The multiplexer 140 selects one of an address from the instruction address bus 150 and an address from the data address bus 152 based on an instruction / data switching signal DIS (one of status signals) from the CPU 112, and Output to the address bus 154.
[0122]
The data output bus 158 of the CPU 112 is connected to the external data bus 156 via the input / output pad cell 148. The data input bus 160 of the CPU 112 is connected to the external data bus 156 via the command / data switching unit 142, the data bus 162, and the input / output pad cell 148.
[0123]
The instruction fetch bus 164 of the CPU 112 is connected to the internal ROM 116 and to the external data bus 156 via the instruction / data switching unit 142, the data bus 162, and the input / output pad cell 148.
[0124]
The memory control unit 20 outputs a first chip enable signal CE1 and a first memory read signal RD1 to the EROM emulation memory 34. The second chip enable signal CE2 and the second memory read RD2 of a different system from the CE1 and RD1 are output to the IROM emulation memory 32. Further, it outputs the third chip enable signal CE3 and the third memory read signal RD3 to the internal ROM 116. That is, the memory control unit 120 controls the read operation from the EROM emulation memory 34, the IROM emulation memory 32, and the internal ROM 116 by using these CE1, RD1, CE2, RD2, CE3, and RD3.
[0125]
The mode selection terminal MT, the mode selection register 144, and the OR circuit 146 correspond to the emulation instruction unit 118 in FIG. That is, when the terminal MT becomes H level or the H level is stored in the mode selection register 144, the emulation mode instruction signal EM becomes H level, and the bus switching control for the emulation mode is performed.
[0126]
Next, an instruction fetch operation of the microcomputer 22 in FIG. 15 will be briefly described.
[0127]
In the case of an instruction fetch, the instruction / data switching signal DIS indicates an instruction, and the multiplexer 140 selects the instruction address bus 150. Thus, an instruction address is output to the external address bus 154 and the internal ROM address bus 155. That is, an instruction address is input to both the IROM emulation memory 32 and the internal ROM 116.
[0128]
At this time, if the L level is stored in the mode selection register 144 and the terminal MT is also set to the L level, the emulation mode is turned off and the signal EM goes to the L level. Since the instruction is an instruction fetch, the signal READ (one of the status signals) from the CPU 112 also becomes active. Thereby, the memory control unit 120 decodes the address from the address bus 155, and if the address is in the internal ROM area, activates the third chip enable signal CE3 and the third memory read signal RD3 to the internal ROM 116. I do. Thus, the instruction from the internal ROM 116 is read out to the CPU 112 via the instruction fetch bus 164. That is, the CPU 112 fetches and executes the instruction stored in the internal ROM 116.
[0129]
On the other hand, when the H level is stored in the mode selection register 144 or the terminal MT is set to the H level, the emulation mode is turned on and the signal EM goes to the H level. Then, the memory control unit 120 activates the second chip enable signal CE2 and the second memory read signal RD2 to the IROM emulation memory 32 instead of the CE3 and RD3. In addition, since the instruction is an instruction fetch, the signal DIS indicates the instruction and the signal READ becomes active, and the instruction / data switching unit 142 selects the instruction fetch bus 164 instead of the data input bus 160. become. As described above, the instruction from the IROM emulation memory 32 is read out to the CPU 112 via the external data bus 156, the input / output pad cell 148, the data bus 162, the instruction / data switching unit 142, and the instruction fetch bus 164. That is, the CPU 112 fetches and executes instructions stored in the IROM emulation memory 32 instead of the internal ROM 116.
[0130]
While the instruction of the IROM emulation memory 32 is being read, the output of the tri-state buffer 117 incorporated in the internal ROM 116 is in the tri-state state. This prevents data collision on the instruction fetch bus 164.
[0131]
As described above, in the microcomputer 22 shown in FIG. 15, when the emulation mode is off (the signal EM is at the L level) when the CPU 112 fetches an instruction, the instruction from the internal ROM 116 is transmitted via the instruction fetch bus 164 as usual. Fetched and executed by the CPU 112. On the other hand, when the emulation mode is ON (the signal EM is at the H level) when the CPU 112 fetches an instruction, an instruction from the IROM emulation memory 32 instead of the internal ROM 116 is fetched by the CPU 112 via the external data bus 156 and executed. Become like
[0132]
Therefore, before completion of the program, the user turns on the emulation mode using the terminal MT or the mode selection register 144, and develops the program while downloading the program under development to the IROM emulation memory 32 as needed. When the development of the program is completed, the user stores the completed program in the internal ROM 116 (creates a mask pattern). Then, the emulation mode is turned off using the terminal MT or the mode selection register 144. Thus, a product chip in which the CPU 112 operates based on the instruction from the internal ROM 116 is completed.
[0133]
In the microcomputer 22 shown in FIG. 15, the IROM emulation memory 32 is not provided with a dedicated address bus and data bus. Therefore, the evaluation chip in which the CPU 112 operates according to the instruction (program) from the IROM emulation memory 32 and the product chip operating in the CPU 112 according to the instruction from the internal ROM 116 have different numbers of terminals, pad layouts, signal lines, and the like. The same chip is not different. For this reason, a program can be developed using the product chip itself. As a result, due to the difference in the operating environment and signal timing between the time of evaluation and the time of product (actual operation), it is possible to effectively solve the problem that the device normally operates at the time of evaluation but does not operate at the time of product. Be able to solve.
[0134]
By employing the method of accessing the IROM emulation memory 32 using the external address bus 154 and the external data bus 156 as described above, an advantage that the product chip and the evaluation chip can be the same chip can be obtained. However, on the other hand, according to this method, there is a problem that reading of instructions from the IROM emulation memory 32 cannot be made in time.
[0135]
That is, there is usually enough time to read information from the EROM emulation memory 34 (for evaluation) or the external memory (for product). On the other hand, since the fetch and decode of the instruction by the CPU 112 must be completed within one clock cycle, there is not enough time for reading the instruction from the IROM emulation memory 32.
[0136]
Therefore, in FIG. 15, the chip enable signal CE2 and the memory read signal RD2 of a different system from the CE1 and RD1 for the EROM emulation memory 34 (or a system different from the chip enable signal for the external memory and the memory read signal) are transmitted to the memory controller. 120. Thus, while the external address bus 154 and the external data bus 156 are shared by the EROM emulation memory 34 and the IROM emulation memory 32, the fetch and decode of the instructions from the IROM emulation memory 32 can be completed within one clock cycle. Become. The above is described in detail with reference to the signal waveform diagram of FIG.
[0137]
In FIG. 16, the CPU 112 executes the following command.
-Instruction (1) ld% r2, 0x00
-Instruction (2) ld% r1, [% r9]
-Instruction (3) add% r4,% r1
-Instruction (4) sub% r5,% r1
In the above, the instruction (1) is an instruction to load data 0x00 into the general-purpose register r2 of the CPU 112. The instruction (2) is an instruction to load data from the address of the EROM emulation memory 34, which is the address stored in the general-purpose register r9, into the general-purpose register r1. That is, the instruction is to load data from the EROM emulation memory 34 into the general-purpose register r1. The instruction (3) is an instruction for adding the data of the general-purpose register r4 and the data of r1. The instruction (4) is an instruction for subtracting the data of r1 from the data of the general-purpose register r5.
[0138]
These instructions (1), (2), (3), and (4) are executed by pipeline processing as indicated by B1 in FIG. In B1, F indicates instruction fetch, D indicates instruction decode, R indicates register read, A indicates address calculation, E indicates instruction execution, and W indicates write to register.
[0139]
BCLK indicated by B2 in FIG. 16 is a bus clock that determines a bus cycle. Here, BCLK is also an operation clock of the CPU 112.
[0140]
In FIG. 16, as indicated by B3, an instruction is first read from the IROM emulation memory 32, then data is read from the EROM emulation memory 34, and then an instruction is read from the IROM emulation memory 32. Reading is performed.
[0141]
That is, as shown by B4, B5, and B6 in FIG. 16, an address for reading the instructions (1), (2), and (3) from the IROM emulation memory 32 is output to the external address bus 154. These addresses are output from the CPU 112 to the external address bus 154 via the instruction address bus 150 and the multiplexer 140. As a result, as shown in B7, B8, and B9, an instruction (instruction data) corresponding to each address is read from the IROM emulation memory 32 and output to the external data bus 156. These instructions are fetched and decoded by the CPU 112 from the external data bus 156 via the input / output pad cell 148, the data bus 162, the instruction / data switching unit 142, and the instruction fetch bus 164.
[0142]
In B10 in FIG. 16, the read address to the EROM emulation memory 34 is output from the CPU 112 to the external address bus 154 via the data address bus 152 and the multiplexer 140. This address is the address [% r9] specified by the instruction (2). As a result, as shown in B11, the data from the EROM emulation memory 34 is output to the external data bus 156 and sent to the CPU 112 via the input / output pad cell 148, the data bus 162, the command / data switching unit 142, and the data input bus 160. Is read.
[0143]
At B12 in FIG. 16, an address for reading the instruction (4) from the IROM emulation memory 32 is output to the external address bus 154. As a result, the instruction corresponding to this address is output from the IROM emulation memory 32 to the external data bus 156, as indicated by B13.
[0144]
When reading data from the EROM emulation memory 34, the first chip enable signal CE1 and the first memory read signal RD1 are activated (set to L level) as shown by B14 and B15 in FIG. On the other hand, when reading an instruction from the IROM emulation memory 32, the second chip enable signal CE2 and the second memory read signal RD2 are activated as indicated by B16 to B21.
[0145]
At this time, as shown in B15, RD1 becomes active in synchronization with the fall of BCLK. On the other hand, as shown in B18 to B21, RD2 becomes active in synchronization with the rise of BCLK. More specifically, it becomes active after a lapse of a given delay time (delay time in the delay element) TD from the rise of BCLK. That is, RD2 is controlled to become active earlier than RD1.
[0146]
By making RD2 active earlier in this way, the fetch (F) and decode (D) of the instruction by the CPU 112 can be completed within one clock cycle.
[0147]
That is, when an instruction is read from the IROM emulation memory 32 using the RD1 used for the EROM emulation memory 34, the RD1 becomes active in synchronization with the falling edge of BCLK. A problem arises in that it cannot be completed within a clock cycle. In particular, when the clock frequency of BCLK increases, the possibility that this problem will occur further increases.
[0148]
In this case, for example, at the time of evaluation, that is, at the time of reading an instruction from the IROM emulation memory 32, the above problem can be solved by lowering the clock frequency of BCLK. However, this causes a difference between the clock frequency at the time of actual operation and the clock frequency at the time of program development, and causes a problem that a program that normally operates at the time of program development does not operate normally at the time of actual operation. Therefore, the advantage that the product chip and the evaluation chip can be the same chip is substantially lost.
[0149]
On the other hand, in FIG. 16, since RD2 of a different system from RD1 is prepared and RD2 is activated at an early timing as shown in B18 to B21, fetching and decoding of an instruction from the IROM emulation memory 32 is performed by one. It can be completed properly within a clock cycle. Therefore, the program can be developed at the same clock frequency as that in the actual operation. Even when the program development is completed and the completed program is stored in the internal ROM 116, the program can operate normally without any problem. . Therefore, the advantage of the microcomputer 22 that the product chip and the evaluation chip can be made the same chip by sharing the external address bus 154 and the external data bus 156 can be further utilized.
[0150]
At B22 in FIG. 16, since a wait is inserted in reading data from the EROM emulation memory 34, the pipeline processing of the CPU 112 is stalled. That is, the external address bus 154 and the external data bus 156 may be connected to various EROM emulation memories 34 (RAM, flash memory, etc.) having different reading and writing speeds. Therefore, it is possible to insert a wait into the period in which the signals CE1 and RD1 are active, and it is possible to cope with various EROM emulation memories 34 having different reading and writing speeds.
[0151]
On the other hand, for the IROM emulation memory 32 to which the signals CE2 and RD2 are output, it is necessary to read the instruction in one clock cycle as described above. Therefore, unlike CE1 and RD1, no wait is inserted during the period when CE2 and RD2 are active.
[0152]
The present invention is not limited to the present embodiment, and various modifications can be made within the scope of the present invention.
[0153]
For example, in the invention according to the dependent claims, a part of the constituent elements of the dependent claim may be omitted. In addition, a main part of the invention according to one independent claim of the present invention can be made dependent on another independent claim.
[0154]
In the present invention, it is particularly preferable that the probe-side board and the memory-side board are configured to be separable as shown in FIG. 3, but it is also possible that the probe-side board and the memory-side board are not separable.
[0155]
Further, the debug information communicated with the debug tool via the high-speed serial interface is not limited to the information described in the present embodiment.
[0156]
Also, the connectors provided on the probe-side board and the memory-side board are particularly preferably those described with reference to FIG. 5, but are not limited thereto.
[0157]
The mounting method and wiring connection in the case where the emulation memory for the internal memory is provided on the probe side board are particularly desirable as described in the present embodiment, but are not limited thereto.
[0158]
As a custom chip mounted on the memory-side board, an FPGA is particularly desirable, but is not limited to this.
[0159]
Also, as the first control signal for controlling the emulation memory for the external memory and the second control signal for controlling the emulation memory for the internal memory, the signals described with reference to FIGS. 15 and 16 are particularly desirable. However, the present invention is not limited to this.
[Brief description of the drawings]
FIGS. 1A and 1B are diagrams for explaining problems of a CPU replacement type ICE and a conventional on-chip debug type ICE.
FIG. 2 is a diagram for describing a basic configuration of the present embodiment.
FIG. 3 is a diagram for describing a method of enabling an emulation probe board to be separated into a probe-side board and a memory-side board.
FIG. 4 is a diagram for explaining a method of standardizing the form of a terminal of a connector of a memory-side board while enabling customization of a form of a terminal of a probe on a probe-side board.
FIG. 5 is a diagram for explaining a method of attaching a connector connectable to a flat cable to a memory-side board;
FIG. 6 is a diagram for explaining a method of providing an IROM emulation memory on a probe-side board.
FIG. 7 is a diagram for explaining a method of providing a jumper on a connection line for transmitting a control signal of an IROM emulation memory.
FIG. 8 is a diagram for explaining a method of mounting two IROM emulation memories on both sides in a sandwich structure.
FIG. 9 is a diagram for explaining a method of providing a jumper on a connection line transmitting debug information serially communicated.
FIG. 10 is a diagram for explaining a technique of separating a second signal from among the first signals from the microcomputer and transmitting the separated second signal to the memory-side board;
FIGS. 11A and 11B are diagrams for explaining a method of mounting a custom chip on a memory-side board.
FIG. 12 is a diagram for describing a method of transmitting addresses and data to an IROM emulation memory without passing through a buffer.
FIGS. 13A and 13B are diagrams for explaining a conventional method in which a product chip and an evaluation chip are separated from each other.
FIG. 14 is a block diagram illustrating a configuration example of a microcomputer.
FIG. 15 is a block diagram illustrating a more detailed configuration example of a microcomputer.
FIG. 16 is a signal waveform diagram for explaining the operation of the microcomputer.
[Explanation of symbols]
10 emulation probe board, 12 probe side board
14 Memory side board, 20 probes, 22 microcomputer
24 serial interface, 26 connector, 27 flat cable
28 connectors, 29 connectors, 30 emulation memory
32, 32-1, 32-2 IROM emulation memory
34 EROM emulation memory, 40 custom chips (FPGA)
42 config ROM, 44 interface, 46 interface
50 target system, 52 socket, 54 ICE body
56 Host system, 60-63 connection line, 64-67 jumper
68, 69 buffers, 70-81 connection lines, 82-87 buffers
88-93 connection line, 94-99 jumper, 100 first signal
102 second signal, 104 ASIC microcomputer
105 microcomputer circuit, 106 custom chip circuit
108, 108 buffers

Claims (9)

ターゲットシステムの開発支援のためのエミュレーションプローブボードであって、
エミュレーションプローブボードを前記ターゲットシステムの第1の搭載手段に接続するためのプローブと、
前記ターゲットシステムで使用されるメモリをエミュレーションするためのエミュレーションメモリを搭載するためのメモリ搭載手段と、
前記メモリ搭載手段に搭載されるエミュレーションメモリにアクセスするマイクロコンピュータを搭載するためのマイクロコンピュータ搭載手段と、
を含むことを特徴とするエミュレーションプローブボード。
An emulation probe board for supporting the development of a target system,
A probe for connecting an emulation probe board to first mounting means of the target system,
Memory mounting means for mounting an emulation memory for emulating a memory used in the target system,
Microcomputer mounting means for mounting a microcomputer for accessing an emulation memory mounted on the memory mounting means,
An emulation probe board comprising:
請求項1において、
前記プローブと、前記マイクロコンピュータ搭載手段と、第1のコネクタとが少なくとも設けられるプローブ側ボードと、
前記メモリ搭載手段と、前記第1のコネクタに接続される少なくとも1つの第2のコネクタとが少なくとも設けられるメモリ側ボードとに分離されていることを特徴とするエミュレーションプローブボード。
In claim 1,
A probe-side board provided with at least the probe, the microcomputer mounting means, and a first connector;
An emulation probe board, wherein the memory mounting means is separated from a memory-side board provided with at least one second connector connected to the first connector.
請求項2において、
前記プローブ側ボードの前記プローブの端子の形態がカスタマイズ可能であると共に、前記メモリ側ボードの前記第2のコネクタの端子の形態が標準化されていることを特徴とするエミュレーションプローブボード。
In claim 2,
An emulation probe board, wherein a form of a terminal of the probe of the probe-side board is customizable, and a form of a terminal of the second connector of the memory-side board is standardized.
請求項2又は3において、
前記プローブ側ボードの前記第1のコネクタにダイレクトに接続するための第3のコネクタと、前記プローブ側ボードの前記第1のコネクタにケーブルを介して接続するための第4のコネクタとが、前記第2のコネクタとして前記メモリ側ボードに設けられていることを特徴とするエミュレーションプローブボード。
In claim 2 or 3,
A third connector for directly connecting to the first connector of the probe-side board, and a fourth connector for connecting to the first connector of the probe-side board via a cable, An emulation probe board provided as a second connector on the memory-side board.
請求項2乃至4のいずれかにおいて、
前記エミュレーションメモリが、前記ターゲットシステムに組み込まれるマイクロコンピュータの内部メモリをエミュレーションするための内部メモリ用エミュレーションメモリと、前記ターゲットシステムに組み込まれるマイクロコンピュータの外部メモリをエミュレーションするための外部メモリ用エミュレーションメモリとを含み、
前記内部メモリ用エミュレーションメモリを搭載するための手段が、前記プローブ側ボードに設けられていることを特徴とするエミュレーションプローブボード。
In any one of claims 2 to 4,
The emulation memory includes an emulation memory for an internal memory for emulating an internal memory of a microcomputer incorporated in the target system, and an emulation memory for an external memory for emulating an external memory of the microcomputer incorporated in the target system. Including
An emulation probe board, wherein means for mounting the internal memory emulation memory is provided on the probe-side board.
請求項5において、
前記マイクロコンピュータ搭載手段に搭載されたマイクロコンピュータと前記内部メモリ用エミュレーションメモリとを接続し前記内部メモリ用エミュレーションメモリを制御するための制御信号が伝達される第1の接続線と、前記第1の接続線と前記第1のコネクタとを接続し前記制御信号が伝達される第2の接続線と、前記第2の接続線による接続を切断するための第1の切断手段とが設けられていることを特徴とするエミュレーションプローブボード。
In claim 5,
A first connection line for connecting a microcomputer mounted on the microcomputer mounting means to the emulation memory for the internal memory and transmitting a control signal for controlling the emulation memory for the internal memory; A second connection line for connecting the connection line to the first connector and transmitting the control signal is provided, and a first disconnection unit for disconnecting the connection by the second connection line is provided. An emulation probe board characterized in that:
請求項5又は6において、
前記内部メモリ用エミュレーションメモリが第1、第2の内部メモリ用エミュレーションメモリを含み、
前記第1の内部メモリ用エミュレーションメモリを搭載するための手段が前記プローブ側ボードの第1の面に設けられ、前記第2の内部メモリ用エミュレーションメモリを搭載するための手段が前記プローブ側ボードの第2の面に設けられていることを特徴とするエミュレーションプローブボード。
In claim 5 or 6,
The internal memory emulation memory includes first and second internal memory emulation memories;
Means for mounting the first internal memory emulation memory is provided on a first surface of the probe-side board, and means for mounting the second internal memory emulation memory is provided on the probe-side board. An emulation probe board provided on a second surface.
請求項1乃至7のいずれかにおいて、
前記マイクロコンピュータ搭載手段に搭載されたマイクロコンピュータによりアクセスされた前記エミュレーションメモリに基づく前記ターゲットシステムをデバッグするためのデバッグ情報を、デバッグツールとの間で通信するための手段を含むことを特徴とするエミュレーションプローブボード。
In any one of claims 1 to 7,
And a means for communicating with a debug tool debug information for debugging the target system based on the emulation memory accessed by the microcomputer mounted on the microcomputer mounted means. Emulation probe board.
請求項8記載のエミュレーションプローブボードと、
前記エミュレーションプローブボードに搭載される前記マイクロコンピュータと、
前記エミュレーションプローブボードに搭載される前記エミュレーションメモリと、
前記エミュレーションボードとの間でデバッグ情報が通信されるデバッグツールとを含むことを特徴とするデバッグシステム。
An emulation probe board according to claim 8,
The microcomputer mounted on the emulation probe board,
The emulation memory mounted on the emulation probe board,
A debug tool for communicating debug information with the emulation board.
JP2003160559A 2003-06-05 2003-06-05 Emulation probe board and debugging system Pending JP2004030652A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003160559A JP2004030652A (en) 2003-06-05 2003-06-05 Emulation probe board and debugging system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003160559A JP2004030652A (en) 2003-06-05 2003-06-05 Emulation probe board and debugging system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP12682499A Division JP3913931B2 (en) 1999-05-07 1999-05-07 Emulation probe board and debug system

Publications (1)

Publication Number Publication Date
JP2004030652A true JP2004030652A (en) 2004-01-29

Family

ID=31185396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003160559A Pending JP2004030652A (en) 2003-06-05 2003-06-05 Emulation probe board and debugging system

Country Status (1)

Country Link
JP (1) JP2004030652A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009031737A1 (en) * 2007-09-09 2009-03-12 Geon Kim Universal high-speed real-time monitoring device for embedded systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009031737A1 (en) * 2007-09-09 2009-03-12 Geon Kim Universal high-speed real-time monitoring device for embedded systems

Similar Documents

Publication Publication Date Title
JP4335999B2 (en) Semiconductor integrated circuit device with built-in processor
KR101046876B1 (en) Data Processing System and Data Processor
US8347158B2 (en) System-on-chip with master/slave debug interface
CN109669729B (en) Starting guide method of processor
JPH07507412A (en) Reconfigurable interface between computer and peripherals
KR100506031B1 (en) Microcomputer, electronic equipment and emulation method
JP2001184226A (en) Digital system having memory block and emulating method of block of memory
JPH0773101A (en) Interface and method for memory bus of recursive size decision
JP3913931B2 (en) Emulation probe board and debug system
JP3724944B2 (en) Evaluation module, evaluation microcomputer chip, and debugging system
US8082417B2 (en) Method for reducing pin counts and microprocessor using the same
JP2004030652A (en) Emulation probe board and debugging system
JP2001184212A (en) Trace control circuit
JP2003263339A (en) Debug function-incorporated microcomputer
CN102446132B (en) Method and device for performing board-level management by simulating local bus
US7689864B2 (en) Processor comprising an integrated debugging interface controlled by the processing unit of the processor
JP2004038464A (en) Microcomputer with built-in debugging function
JP3074978B2 (en) Emulation device
JP2010231818A (en) Debugging system
JP2009193604A (en) Semiconductor information processing device
JP3071044B2 (en) Test method for semiconductor integrated circuit with microcomputer
JP2007034881A (en) Semiconductor integrated circuit
JP2002110925A (en) System lsi
JP2006039759A (en) Information processing apparatus and method
JPH05181695A (en) Emulator

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040123

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040525