JP3845041B2 - プロトタイピングシステムおよびプログラマブル・デバイスの内部信号観測方法 - Google Patents
プロトタイピングシステムおよびプログラマブル・デバイスの内部信号観測方法 Download PDFInfo
- Publication number
- JP3845041B2 JP3845041B2 JP2002174247A JP2002174247A JP3845041B2 JP 3845041 B2 JP3845041 B2 JP 3845041B2 JP 2002174247 A JP2002174247 A JP 2002174247A JP 2002174247 A JP2002174247 A JP 2002174247A JP 3845041 B2 JP3845041 B2 JP 3845041B2
- Authority
- JP
- Japan
- Prior art keywords
- programmable device
- output
- emulation
- programmable
- host
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Logic Circuits (AREA)
Description
【発明の属する技術分野】
この発明は、LSI開発段階において用いられる回路の動作検証をハードウェア装置を用いて行うエミュレータおよびプロトタイピングシステムに関し、特に、回路の端子数に限定されずに回路内部の信号観測が行えるプロトタイピングシステムおよびプログラマブル・デバイスの内部信号観測方法に関する。
【0002】
【従来の技術】
従来のLSI開発では、論理設計の段階において、HDL(HardwareDescription Language)言語によるRTL(Register Transfer Level)記述、ソフトウェアシミュレータによりRTLシミュレーションを行い、バグの抽出,修正を行っている。しかし、近年ではLSIの回路規模が大きくなり、ソフトウェアシミュレータによるシミュレーションではこのソフトウェアを実行するワークステーション等コンピュータ装置に対する負荷が重くなるため、十分な検証が出来なくなってきている。
【0003】
このような現状から、プロトタイピングシステム,エミュレータと呼ばれるハードウェア装置による動作検証が行われてきている。これら、プロトタイピングシステムとエミュレータは、ほとんど同様のものであり、明確な切り分けの基準はない。通常、複数のFPGAとFPGA間の配線制御デバイス(または配線手法)およびロジックアナライザモジュール(または市販のロジックアナライザ接続用コネクタ)程度を実装する装置をプロトタイピングシステムと呼び、エミュレータは、これに更にデバッグ機能を充実させたものをいう。以降、エミュレータを含めてプロトタイピングシステムと呼称する。
【0004】
図13は、従来のプロトタイピングシステムを示す構成図である。この構成例のプロトタイピングシステム50は、検証回路である複数のFPGA51(51a〜51c),ユーザークロック/リセット信号ジェネレータ52,ロジックアナライザ53,ホストインターフェース(I/F)54の各モジュールによって構成されている。
【0005】
パーソナルコンピュータ等からなるホスト55には、ソフトウェアツールが組み込まれ、このソフトウェアツールは、検証回路を各FPGA51a〜51c別に分割および合成し、プロトタイピングシステム50にダウンロード可能な回路情報を作成する。
【0006】
この図に示す従来方式においては、各FPGA51a〜51c間の配線には、配線制御デバイスを用いず、プリント配線板上の固定配線を用いて行われており、各FPGA51a〜51c間の接続関係は決められている。従って、プロトタイピングシステム50による回路分割は、この接続関係によって規定された仕様を満たすように行っている。なお、図13においてFPGA51aとFPGA51c間の配線は、説明の簡略化のため省略してある。
【0007】
ホスト55から検証回路であるFPGA51(51a〜51c)への回路情報のダウンロード,ユーザークロック/リセット信号ジェネレータ52に対するユーザークロックの周波数設定、およびロジックアナライザ53からホスト55に対するロジックアナライザデータのアップロードは、ホストI/F54を介して行われる。
【0008】
ロジックアナライザ53は、観測波形を記憶するメモリ56,サンプリングクロックを生成するサンプリングクロックジェネレータ57,ロジックアナライザ制御部58,スイッチング・デバイス59によって構成されている。図示のスイッチング・デバイス59は物理的なスイッチとして記載したが、通常はトランジスタのような電気的なスイッチング・デバイスで構成している。
【0009】
サンプリングクロックジェネレータ57が生成するサンプリングクロックとしては、ユーザークロックより遥かに速いクロックを用いる。プロトタイピングシステム50で動作するユーザークロックは、上限が10MHz程度であるのに対し、サンプリングクロックジェネレータ57が生成するサンプリングクロックには、100MHz〜1GHzが用いられている。この高速クロックによってタイミング解析が可能となっている。
【0010】
ロジックアナライザ53は、FPGA51a〜51cの端子に出ている信号を観測するため、FPGA51a〜51cの未使用端子に観測する信号をアサインし、この未使用端子を介して内部の信号を観測する。図示の例における未使用端子は、FPGA51aでは51A,FPGA51bでは51Bである。
【0011】
図14は、ステート解析を行う場合の検証回路の内部構成図である。ステート解析、即ち、ユーザークロック毎の信号の状態解析のみを行う場合の構成例が示されている。FPGA51内部の各ユーザー回路60a〜60cには、それぞれロジックアナライザ用マクロ回路61a〜61cを予め配置しておく。各ロジックアナライザ用マクロ回路61a〜61cの出力は、ロジックアナライザ制御シリアル変換部62でシリアル変換し、上述した未使用端子,またはJTAGインターフェースから信号を取り出す。この方法によれば、FPGA51内部における観測信号数は未使用端子の数に限定されず、未使用端子の数よりも多くの数の観測信号を取り出すことができる。
【0012】
【発明が解決しようとする課題】
しかしながら、図13に示す構成において、ロジックアナライザ53で観測可能な信号は、FPGA51a〜51cの端子に出ている信号に限定されるため、未使用端子が十分な数でなければ足りない分の内部信号を観測することができず、デバッグ作業が困難となった。
【0013】
また、図14に示す構成では、FPGA内部でロジックアナライザ用マクロ回路61a〜61cを動作させる必要があるために、高速なサンプリングクロックを入力させることが不可能である。即ち、図14に示す構成では、低レートのユーザークロックをサンプリングクロックとするステート解析を行うものであり、タイミング解析を実現できなかった。
【0014】
検証回路として上記のようなFPGA51a〜51cを対象とするプロトタイピングシステム50の場合、実際のFPGA51a〜51c上で回路を動作させる。ここで、FPGA51a〜51cの動作に不具合があるような場合、その不具合の原因としてクロックのレーシング,ハザード等、タイミングに関係するものである可能性が高い。従って、このようなシステムのデバッグでは、ロジックアナライザ53がタイミング解析を実行する必要が生じる。したがって、図14に示すロジックアナライザ53によりステート解析を行う構成では、原因を究明できない場合が生じた。
【0015】
この発明は、上記問題点に鑑みてなされたものであって、プログラマブル・デバイスの内部信号を容易に取り出すことができ、内部信号の観測性を向上できるプロトタイピングシステムおよびプログラマブル・デバイスの内部信号観測方法を提供することを目的とする。
【0016】
【課題を解決するための手段】
上記目的を達成するため、本発明は、FPGA等のプログラマブル・デバイスを複数個実装する実装手段と、プログラマブル・デバイスに対しサンプリングクロックを供給して動作波形を得るロジックアナライザと、プログラマブル・デバイスの動作検証のためにプログラマブル・デバイスの設計回路を分割、合成して回路情報を作成した後、この回路情報をプログラマブル・デバイスにダウンロードしロジックアナライザを実行制御するホストとによって構成される。ホストは、回路情報を作成する際に、設計回路の回路情報を修正することにより本来の出力信号、あるいは、内部信号のいずれかを選択するためのセレクタの回路情報を配置する。実装手段は、複数個のプログラマブル・デバイスの入出力端子を連結あるいは切断するデバイス間スイッチを備え、ロジックアナライザは、デバイス間スイッチの切断時にプログラマブル・デバイスを連結時の状態で動作させるために、デバイス間スイッチを介して各プログラマブル・デバイスの入力端子に対しベクタデータを供給した状態でエミュレーションする制御手段を備える。
【0017】
この発明によれば、FPGA等のプログラマブル・デバイスの出力端子から本来の出力信号と内部信号とを切り替えて出力させ、それぞれ1回目,2回目のエミュレーション結果を得る。内部信号を出力させる際には、複数のFPGAの入出力端子間の接続を切断し、1回目のエミュレーション結果をベクタデータとしてFPGAに供給することにより、内部信号を得るための2回目のエミュレーション結果を連結時同様に正確に得ることができる。1,2回目のエミュレーション結果はホストに表示出力される。ホストは、これらを波形合成して表示するため本来の出力信号と内部信号を同一の画面上で観測できるようになり、解析作業の円滑化が図れるようになる。
【0018】
【発明の実施の形態】
(実施の形態1)
以下に添付図面を参照して、この発明に係るプロトタイピングシステムおよびプログラマブル・デバイスの内部信号観測方法の好適な実施の形態を詳細に説明する。図1は、この発明のプロトタイピングシステムの実施の形態1の構成を示すブロック図である。
【0019】
プロトタイピングシステム1は、観測波形を記憶するメモリ2,サンプリングクロックを生成するサンプリングクロックジェネレータ3,ロジアナ(ロジックアナライザ)/ベクタ送出制御部4,スイッチング・デバイス5の各モジュールからなるロジックアナライザ10と、ユーザークロック/リセット信号ジェネレータ6,ホストインターフェース(I/F)7によって構成されている。プロトタイピングシステム1は、ホストI/F7を介してホスト8に接続されている。ホスト8の機能は前述したホスト55と同様であり、ソフトウェアツールによりプロトタイピングシステム1の動作の開始/停止を含む制御、ネットリストの作成、信号波形の画面表示等を行う。
【0020】
メモリ2は、図示のように機能別の複数個のメモリ2a,2bにより構成したり、単一個のメモリ2内部において記憶領域を2分割して用いる構成としてもよい。スイッチング・デバイス5は、図示の構成例では、4個(5a〜5d)を備えてなる。
【0021】
スイッチング・デバイス5aは、主にメモリ2bに対するデータの格納、あるいはアップロードを切り替えるものであり、共通接点がメモリ2bに接続され、接点1がホストI/F7に接続され、接点2がスイッチング・デバイス5bに接続されている。2側に切り替えた際にはスイッチング・デバイス5bを介して各FPGA51a〜51cの出力信号をメモリ2bに格納させる。1側への切り替えによってメモリ2bに格納されたデータ(各FPGA51a〜51cの出力信号)をホスト8側に出力(アップロード)させる。
【0022】
スイッチング・デバイス5bは、主に各FPGA51a〜51cの出力信号をメモリ2aあるいはメモリ2bに切り替えて出力するものであり、共通接点が各FPGA51a〜51cの入出力端子(入出力端子間のライン)に接続され、接点1がスイッチング・デバイス5aの接点2側に接続され、接点2がスイッチング・デバイス5cの接点2側に接続されている。1側に切り替えた際には、各FPGA51a〜51cの出力信号をスイッチング・デバイス5a(メモリ2b)側に出力する。2側に切り替えた際には、FPGA51a〜51cの出力信号をスイッチング・デバイス5c(メモリ2a)側に出力させる。
【0023】
スイッチング・デバイス5cは、主にメモリ2aに対するデータの格納、あるいはアップロードを切り替えるものであり、共通接点がスイッチング・デバイス5dの接点1に接続され、接点1がホストI/F7に接続され、接点2がスイッチング・デバイス5bの接点2に接続されている。1側に切り替えた際には、スイッチング・デバイス5d(メモリ2a)の出力信号をホスト8側にアップロードさせる。2側に切り替えた際には、スイッチング・デバイス5bを介してFPGA51a〜51cの出力信号をスイッチング・デバイス5d(メモリ2a)側に出力させる。
【0024】
スイッチング・デバイス5dは、主にメモリ2aに格納されたデータをベクタデータとして各FPGA51a〜51cに供給するか否かを切り替えるものであり、共通接点がメモリ2aに接続され、接点1がスイッチング・デバイス5cの共通接点に接続され、接点2がデバイス間スイッチ9a,9bの各接点1に接続されている。このスイッチング・デバイス5dは、デバイス間スイッチ9a,9bに連動する。1側に切り替えた際には、各FPGA51a〜51cの出力信号をメモリ2aに格納する。また、メモリ2aに格納されたデータをホスト8側にアップロードできる。2側に切り替えた際には、各FPGA51a〜51cに対しメモリ2aに格納されたデータ(各FPGA51a〜51cの出力信号)をデバイス間スイッチ9a,9bを介してFPGA51a〜51cに対するベクタデータとして出力可能にする。
【0025】
ロジアナ/ベクタ送出制御部4は、ユーザークロック/リセット信号ジェネレータ6によるユーザークロックの出力を制御し、スイッチング・デバイス5a〜5dを選択的に切り替える。スイッチング・デバイス5a〜5dの切り替えにより、
(1)検証回路の動作検証時にFPGA51a,51b,51cの出力信号をメモリ2a,2bに選択的に格納する。
(2)メモリ2aに格納された出力信号をベクタデータとして再度FPGA51a,51b,51cに入力させる。
(3)メモリ2a,2bに格納された出力信号をホスト8にアップロードさせる。なお、これらの詳細は後述する。
【0026】
FPGA51a,51b,51cの各端子は、出力端子,入力端子が固定的に定められている。そして、これら各FPGA51a,51b,51cの出力端子と入力端子の間には、入出力信号を連結/切断するためのスイッチング・デバイス(デバイス間スイッチ)9a,9bが配置されている。尚、FPGA51bとFPGA51a,FPGA51cからFPGA51a,51bに対する配線は、説明の都合上省略しているが、実際には上記同様のスイッチング・デバイスを介して配線されている。
【0027】
図2は、検証回路としてのFPGAの回路構成例を示す図である。図2には、FPGA51aのある一つの出力端子F1_5を記載したものである。この出力端子F1_5は、複数のFFインスタンス12a,12b、および論理回路12cを介してこのFPGAについて規定された本来の出力信号OUT1を出力する。また、FFインスタンス12bの前段(論理回路12c)の出力を観測するための内部信号NET1がセレクタ12dに入力されるよう接続構成されており、セレクタ12dに対する選択信号SELに基づき、出力信号OUT1、あるいは内部信号NET1を出力端子F1_5から選択的に出力するよう切り替える。
【0028】
ところで、ロジアナ/ベクタ送出制御部4は、FPGA51a〜51c,スイッチング・デバイス5a〜5d,デバイス間スイッチ9a,9bに対し、上記の選択信号SELを出力し、それぞれにおける切り替えを制御している。次に、上記構成によるプロトタイピングシステム1の動作について各工程毎に説明する。
【0029】
(工程1)始めに、ロジアナ/ベクタ送出制御部4は、ホスト8からの指示により、各FPGA51a〜51c間を本来設計した回路動作を実現する接続関係で接続させる。具体的には、図1に示す状態、即ち、スイッチング・デバイス5dを接点1側とし、スイッチング・デバイス5b,5cを接点2側とし、デバイス間スイッチ9a,9bをいずれも接点2側に設定する。この設定により、各FPGA51a〜51cの入出力端子がデバイス間スイッチ9a,9bを介して連結される。
【0030】
(工程2)次に、ロジアナ/ベクタ送出制御部4は、ホスト8からの指示により、ユーザークロック/リセット信号ジェネレータ6をイネーブルにし、FPGA51a〜51cの回路動作を開始させる。この際、各FPGA51a〜51cの出力信号は、図2に示す出力端子F1_5から出力信号OUT1が出力される。この出力信号OUT1は、スイッチング・デバイス5b→5c→5dを経てメモリ2aに格納される。
【0031】
(工程3)次に、ロジアナ/ベクタ送出制御部4は、ホスト8からの指示によりエミュレーションを停止し、スイッチング・デバイス5dを接点2側,デバイス間スイッチ9a,9bをいずれも接点1側,スイッチング・デバイス5bを接点1側に切り替える。これにより各FPGA間の配線は、デバイス間スイッチ9a,9bによって切断される。図3は、各スイッチの切り替え状態(その1)を示す図である。
【0032】
(工程4)次に、ロジアナ/ベクタ送出制御部4は、ホスト8からの指示により、ユーザークロック/リセット信号ジェネレータ6をイネーブルにしてエミュレーションを再度開始させる。この際、選択信号SELは、スイッチング・デバイス5d,デバイス間スイッチ9a,9bに加えて、各FPGA51a〜51cのセレクタ12d(図2参照)に入力され、各FPGA51a〜51cの出力信号としては、内部信号、即ち出力端子F1_5からNET1が出力される。この出力信号は、スイッチング・デバイス5b→5aを経てメモリ2bに格納される。
【0033】
(工程5)同時に、ロジアナ/ベクタ送出制御部4は、メモリ2aに記憶されている前回(上記の工程2)のエミュレーション時のデータを、スイッチング・デバイス5dからデバイス間スイッチ9a,9bを経て各FPGA51a〜51cの入力端子に供給する。FPGAは、3つのFPGA51a〜51c全ての動作によって設計した1つの回路動作を行う。ここで、前回のサンプリング・データを入力ベクタとして使用することにより、この時点で各FPGA51a〜51c間の配線が分断されている状態であっても、見かけ上は1個の回路として動作させることができる。
【0034】
(工程6)ロジアナ/ベクタ送出制御部4は、ホスト8からの指示により、エミュレーション終了後、スイッチング・デバイス5a,5c,5dを接点1側とし、メモリ2a,2bに格納されているデータをホスト8へアップロードする。図4は、各スイッチの切り替え状態(その2)を示す図である。
【0035】
(工程7)ホスト8は、メモリ2a,メモリ2bのサンプリングデータを、同一のエミュレーションでサンプリングしたものとして扱い、表示画面に波形表示する。これにより、操作者は、FPGA51a〜51cの内部信号の状態を、本来の外部出力信号と関連付けて観測することができる。
【0036】
上記説明による工程に基づく処理を順次実行することにより、FPGA51a〜51cに未使用端子が全くない場合であっても内部信号を観測することが可能となる。
【0037】
図5は、ダウンロード用の回路情報を作成する手順を示すフローチャートである。上述したように、本発明では、FPGA内部にセレクタを挿入する構成であり、対応してプロトタイピングシステム1にダウンロード可能な回路情報を作成するネットリストにセレクタを挿入する。即ち、この発明では、セレクタ挿入処理が追加されている点が従来と異なる。
【0038】
ホスト8に組み込まれるソフトウェアツール(ツール)は、始めに、HDL言語によるRTL記述を、FPGAのプログラマブル・デバイス別に分割したRTL20を作成する回路分割処理(ステップS1)を実行する。この後、作成されたRTL20を合成し、各プログラマブル・デバイス別のネットリスト21を得る合成処理(ステップS2)を実行する。この後、設計回路のネットリスト21により、ロジックアナライザデータとして観測したい内部信号を選択し、設計回路の動作実現のために、本来の出力信号(上述したOUT1)と、選択した内部信号(上述したNET1)とを選択的に出力するためのセレクタを挿入するセレクタ挿入処理(ステップS3)を実行する。
【0039】
このセレクタ挿入処理では、本来の出力信号と、内部信号のうち、いずれを出力するかを選択するための選択信号(上述したSEL)をプログラマブル・デバイスの外部から制御するための入力ポートを挿入する、という手法を用いる。これにより、ステップS2で作成されたネットリストを修正してセレクタ挿入後の機能を持つネットリスト23を作成する。この実施の形態1では、FPGA間配線情報22を用い、セレクタ挿入後のネットリスト23に対して配置,配線処理(ステップS4)を実行してネット出力情報24,プロトタイピングシステム1のダウンロード用回路情報25を得る。
【0040】
上記ステップS4の配置,配線処理にて使用するFPGA間配線情報22は、この発明のプロトタイピングシステム1におけるFPGA51a〜51c間の配線が固定されていることに対応して、FPGA51a〜51c間の信号名の対応付けを行うために用いる。このFPGA間配線情報22により、各FPGA51a〜51cの入出力端子のピンアサインを行う。
【0041】
図6は、セレクタ挿入処理(ステップS3)の手順を示すフローチャートである。まず、ネットリスト21を入力処理し(ステップS31)、ネットリスト21の情報に基づき回路図作成を処理し(ステップS32)、作成した回路図をホスト8の表示画面上に表示する(ステップS33)。操作者は、表示された回路図の中から観測したい内部信号のネットを選択する(ステップS34)。ホスト8のツールは、この選択されたネットを記憶する。この後、ホスト8のツールは以下に示す処理を自動的に実行する。
【0042】
観測したい内部信号のネットを選択終了後、ツールは出力ポートと、出力源のインスタンスをサーチする(ステップS35)。図2に示す回路構成例によれば、この段階では、出力端子F1_5がFFインスタンス12bに接続され、出力信号OUT1は存在していない。
【0043】
(1)この後、セレクタ挿入処理(ステップS36)を行う。まず、出力インスタンスをセレクタに変更し、元のインスタンス出力のネットを任意の名前に変更する。図2によれば、セレクタ12dを挿入し、FFインスタンス12b出力のネット名をOUT1に変更し、セレクタ12dの出力を出力端子F1_5とする。
(2)もう一方のセレクタ入力に、選択した内部信号のネットを接続する。図2によれば、セレクタ12dに対し内部信号NET1を接続する。
【0044】
(3)ネットリストの入力ポートにセレクタの選択信号SELを追加し、セレクタインスタンスのセレクト端子に接続する。図2によれば、セレクタ12dに選択信号SELを接続する。
(4)セレクタ挿入後のネットリスト23をファイル出力する。
(5)同時にどの出力端子に、どの内部ネットが接続されているかを記述したネット出力情報24のファイルを出力する。このネット出力情報24は、ロジックアナライザのサンプリングデータを表示する際に使用する。
【0045】
上記セレクタ挿入処理(ステップS36)は、入力されたネットリスト21全てについてステップS31に復帰して繰り替えされ(ステップS37:No)、入力されたネットリスト21全ての処理が終了すると(ステップS37:Yes)、配置,配線処理(図5に示すステップS4)に移行する。
【0046】
ホスト8は、以上の処理により作成されたダウンロード用回路情報25を本発明のプロトタイピングシステム1(プログラマブル・デバイスであるFPGA51a〜51c)にダウンロードする。この際、各FPGA51a〜51cのデータ(出力信号)がメモリ2a側に入力され、且つFPGA51a〜51c間の配線が接続されるようにスイッチング・デバイス5a〜5d,デバイス間スイッチ9a,9bを切り替える。
【0047】
また、ロジアナ/ベクタ送出制御部4(図1参照)は、ユーザークロック/リセット信号ジェネレータ6をイネーブルにし、エミュレーションを開始させる。前述したように、エミュレーションは設定を換えて2回行う(工程2におけるメモリ2aへのデータの格納、および工程4におけるメモリ2bへのデータの格納)。この1回目と2回目のエミュレーションにおいて、サンプリングタイミングとユーザークロックの発生,リセット解除のタイミングを完全に一致させる必要があることから、ユーザークロック/リセット信号ジェネレータ6の制御はロジアナ/ベクタ送出制御部4が統括して行う。
【0048】
図7は、1回目(工程2)のエミュレーション時の波形を示す図である。リセットタイミングは省略してある。ユーザークロック/リセット信号ジェネレータ6がイネーブルになった後の最初のサンプリングクロックの立ち上がりからサンプリングが開始される。図7に示す信号名の括弧内、例えば信号F1_3(F2I1)は、この段階ではFPGA51aの出力端子F1_3と、FPGA51bの入力端子F2I1が接続されているため(図1参照)、同じ信号であるものとして表示される。この時のエミュレーション動作では、ユーザークロックについてもサンプリングデータとしてメモリ2aに入力される。
【0049】
そして、工程3では、エミュレーションを停止し、スイッチング・デバイス5b,5d,デバイス間スイッチ9a,9bが切り替えられる。これにより、図3に示すようにFPGA51a〜51c間の接続が切断され、各FPGA51a〜51cの出力信号はメモリ2bにサンプリングデータとして入力され、メモリ2aのサンプリングデータが各FPGA51a〜51cの入力端子にベクタデータとして供給される。また、この時、SEL信号によって各FPGA51a〜51cの出力端子は、内部信号NET1を出力する。
【0050】
図8は、2回目(工程4)のエミュレーション時の波形を示す図である。図には、便宜上、FPGA51aの出力端子F1_5の出力信号のみをメモリ2bへ入力するサンプリングデータとして示した。この時には、出力端子F1_5は、内部信号NET1を出力している(図2参照)。信号F2I1〜F3_3までの波形は、メモリ2aからFPGA51b,51cにそれぞれ供給されるベクタデータである。
【0051】
サンプリング時とベクタ送出時とでは、メモリ2aのアドレスの発生タイミングが異なる。図7において、信号F1_3(F2I1)が最初に値1としてサンプリングされるのは、メモリアドレス3の時である。サンプリング時に値が「1」となるには、実際の信号はそのサンプリングクロックの立ち上がり以前に値が「1」になっている。したがって、仮にベクタデータ送出時に、同じタイミングのサンプリングクロックで「1」の値を送出したとすると、実際はそのサンプリングクロックの立ち上がり以後に「1」の値を供給することになるため、1回目のエミュレーション時よりも1サンプリングクロック遅れて入力データを供給することになってしまう。従って、ロジアナ/ベクタ送出制御部4は、2回目のエミュレーションでベクタ送出する時には、図8に示すように、サンプリング時よりも1サンプリングクロック前のデータを送出するようにメモリ2aのアドレスを変更して設定する。
【0052】
エミュレーション終了後、メモリ2a,2bのサンプリングデータをホスト8へアップロードする。ホスト8は、ソフトウェアツールの一部であるロジックアナライザ波形表示ツールを用いて表示画面に波形表示する。
【0053】
図9は、ロジックアナライザ波形表示ツールが実行する波形表示処理のフローチャートである。ホスト8は、上記の工程7によりプロトタイピングシステム1のメモリ2a,メモリ2bからデータをアップロードする(ステップS11,S12)。この際、メモリ2aをリードして得たデータについては、FPGA51a〜51cの端子名そのものを、そのまま信号名として画面表示する。
【0054】
一方、メモリ2bをリードして得たデータについては、ネット出力情報24を参照して端子名に割り当てられた内部信号を検索し、得られた内部信号を信号名に変換する(ステップS13)。この信号名を割り付けた状態でメモリ2a,2bから得たデータを合成した信号合成波形ファイル26を作成する。波形表示をする場合には、この信号合成波形ファイル26をリードして(ステップS14)、ホスト8の表示画面に画面表示する(ステップS15)。
【0055】
図10は、波形の表示画面例を示す図である。メモリ2aからアップロードしたデータは、FPGA51aの端子名をそのまま信号名としているため、信号F1_3,F1_4,…,F201,…F203として表示される。図示の例においてメモリ2bからアップロードしたデータは、唯一、FPGA51aの出力端子F1_5から出力されたデータである。しかし、この信号F1_5は、実際には内部信号のNET1を出力した状態の波形であるため、NET1に変換して表示される。
【0056】
画面表示された波形の解析例を説明すると、例えば、図10に示す波形において、信号F1_5は、最初のユーザークロックの立ち上がりで値「1」に変化し、その後、値が「1」の状態のままとなっている。しかし、本来F1_5はユーザークロックが立ち上がるタイミングで値「1」に変化することは異常(誤動作)であるとする。ここで、同一画面に合成表示されている内部信号NET1が、ユーザークロックの立ち上がり付近でハザードが発生していることが確認できる。このように、信号F1_5の誤動作の原因が「内部信号NET1のハザードである」旨をこの信号合成の表示によって容易に確認することができるようになる。
【0057】
動作不具合の原因がタイミングにあるような場合であっても、大抵は何度同じエミュレーションを繰り返しても、同じ不具合の現象が発生する。この時、FPGA内部の動作についても同様の不具合現象が生じる。
【0058】
本発明は、この点に着目して検証回路の単一出力端子から本来の出力信号と内部信号とをそれぞれエミュレーションし、単一の表示画面に信号合成して表示させることにより、信号解析を円滑に行えるようにしたものである。また、FPGA内部にセレクタを挿入して内部信号を切り替え、単一の出力端子から出力する構成であるため、FPGA内部にマクロ回路やシリアル変換部等を設けてステート解析する構成と異なり、より高速なクロックを用いるタイミング解析を実行できデバッグ作業を容易に行えるようになる。
【0059】
また、検証回路であるFPGAの未使用端子を使用せずに内部信号を観測できるようになるため、従来のように内部信号の観測数が未使用端子数に制限されることがなく、FPGAの出力端子数分の内部信号が観測できるようになる。
【0060】
(実施の形態2)
図11は、この発明のプロトタイピングシステムの実施の形態2の構成を示すブロック図である。実施の形態2は、実施の形態1において用いたスイッチング・デバイス5(5a〜5d)の個数を2個に削減した構成である。
【0061】
スイッチ15aは、主に各FPGA51a〜51cの出力信号をメモリ2aあるいはメモリ2bに切り替えて出力するものであり、共通接点が各FPGA51a〜51cの入出力端子(入出力端子間のライン)に接続され、接点1がメモリ2bに接続され、接点2がメモリ2aに接続されている。1側に切り替えた際には、各FPGA51a〜51cの出力信号をメモリ2bに出力する。2側に切り替えた際には、FPGA51a〜51cの出力信号をスイッチ15bを介してメモリ2a側に出力させる。
【0062】
スイッチ15bは、主にメモリ2aに格納されたデータをベクタデータとして各FPGA51a〜51cに供給するか否かを切り替えるものであり、共通接点がメモリ2aに接続され、接点1がスイッチ15aの接点2,およびホストI/F7に接続され、接点2がデバイス間スイッチ9a,9bの各接点1に接続されている。このスイッチ15bは、デバイス間スイッチ9a,9bに連動する。1側に切り替えた際には、各FPGA51a〜51cの出力信号をスイッチ15aを介してメモリ2aに格納する。また、メモリ2aに格納されたデータをホスト8側にアップロードできる。2側に切り替えた際には、各FPGA51a〜51cに対しメモリ2aに格納されたデータ(各FPGA51a〜51cの出力信号)をデバイス間スイッチ9a,9bを介してFPGA51a〜51cに対するベクタデータとして出力可能にする。
【0063】
なお、メモリ2bは、ホストI/F7に直接接続され、メモリ2bに格納されたデータをアップロード可能に構成されている。以下、実施の形態2によるプロトタイピングシステム1の工程を説明する。
【0064】
(工程1)始めに、ロジアナ/ベクタ送出制御部4は、ホスト8からの指示により、各FPGA51a〜51c間を本来設計した回路動作を実現する接続関係で接続させる。具体的には、図11に示す状態、即ち、スイッチ15aを接点2側とし、スイッチ15bを接点1側とし、デバイス間スイッチ9a,9bをいずれも接点2側に設定する。この設定により、各FPGA51a〜51cの入出力端子がデバイス間スイッチ9a,9bを介して連結される。
【0065】
(工程2)次に、ロジアナ/ベクタ送出制御部4は、ホスト8からの指示により、ユーザークロック/リセット信号ジェネレータ6をイネーブルにし、FPGA51a〜51cの回路動作を開始させる。この際、各FPGA51a〜51cの出力信号は、図2に示す出力端子F1_5から出力信号OUT1が出力される。この出力信号OUT1は、スイッチ15a→15bを経てメモリ2aに格納される。
【0066】
(工程3)次に、ロジアナ/ベクタ送出制御部4は、ホスト8からの指示によりエミュレーションを停止し、スイッチ15bを接点2側,デバイス間スイッチ9a,9bをいずれも接点1側,スイッチ15aを接点1側に切り替える。これにより各FPGA間の配線は、デバイス間スイッチ9a,9bによって切断される。図12は、各スイッチの切り替え状態を示す図である。
【0067】
(工程4)次に、ロジアナ/ベクタ送出制御部4は、ホスト8からの指示により、ユーザークロック/リセット信号ジェネレータ6をイネーブルにしてエミュレーションを再度開始させる。この際、選択信号SELは、スイッチ15b,デバイス間スイッチ9a,9bに加えて、各FPGA51a〜51cのセレクタ12d(図2参照)に入力され、各FPGA51a〜51cの出力信号としては、内部信号、即ち出力端子F1_5からNET1が出力される。この出力信号は、スイッチ15aを経てメモリ2bに格納される。
【0068】
(工程5)同時に、ロジアナ/ベクタ送出制御部4は、メモリ2aに記憶されている前回(上記の工程2)のエミュレーション時のデータを、スイッチ15bからデバイス間スイッチ9a,9bを経て各FPGA51a〜51cの入力端子に供給する。FPGAは、3つのFPGA51a〜51c全ての動作によって設計した1つの回路動作を行う。ここで、前回のサンプリング・データを入力ベクタとして使用することにより、この時点で各FPGA51a〜51c間の配線が分断されている状態であっても、見かけ上は1個の回路として動作させることができる。
【0069】
(工程6)ロジアナ/ベクタ送出制御部4は、ホスト8からの指示により、エミュレーション終了後、図11に示すスイッチ状態に復帰させ、スイッチ15aを接点2側にし、スイッチ15bを接点1側に設定し、メモリ2a,2bに格納されているデータをホスト8へアップロードする。
【0070】
なお、エミュレーション中にもサンプリングデータはホストI/F7に入力されるが、エミュレーション中にホスト8がデータを取り込むには、ホスト8はサンプリング速度以上の速度でデータ転送できる能力が要求されるため、現実的には不可能である。従って、エミュレーション終了後にホスト8は十分遅いクロックをサンプリングクロックジェネレータ3に設定し、ホストI/F7を介してデータの読み出し(アップロード)を行う。
【0071】
(工程7)ホスト8は、メモリ2a,メモリ2bのサンプリングデータを、同一のエミュレーションでサンプリングしたものとして扱い、表示画面に波形表示する。これにより、操作者は、FPGA51a〜51cの内部信号の状態を、本来の外部出力信号と関連付けて観測することができる。
【0072】
上記構成によれば、実施の形態1に比してスイッチ15の数を削減させて同等の処理を実行できるようになる。
【0073】
以上説明したプロトタイピングシステムにおいて動作検証のためにホストのソフトウェアツールが実行する各種処理は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、各種記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【0074】
(付記1)プログラマブル・デバイスの動作検証を行うプロトタイピングシステムにおいて、
前記プログラマブル・デバイスは、該プログラマブル・デバイスが有する出力端子から規定された本来の出力信号と、所望する内部回路の内部信号とを選択的に切り替えて出力させるセレクタを備え、
前記セレクタを制御して前記本来の出力信号あるいは前記内部信号のいずれかを出力させた状態におけるエミュレーションを実行するロジックアナライザを備えたことを特徴とするプロトタイピングシステム。
【0075】
(付記2)前記プログラマブル・デバイスを複数個実装する実装手段を備え、
前記ロジックアナライザは、前記セレクタを制御して前記複数個のプログラマブル・デバイスそれぞれが有する本来の出力信号あるいは前記内部信号のいずれかを出力させた状態におけるエミュレーションを実行することを特徴とする付記1に記載のプロトタイピングシステム。
【0076】
(付記3)回路情報がダウンロードされるプログラマブル・デバイスを複数個実装する実装手段と、該プログラマブル・デバイスに対しサンプリングクロックを供給して動作波形を得るロジックアナライザと、該ロジックアナライザを実行制御するホストとによって構成されたプロトタイピングシステムにおいて、
前記プログラマブル・デバイスは、該プログラマブル・デバイスが有する出力端子から規定された本来の出力信号と、所望する内部回路の内部信号とを選択的に切り替えて出力させるセレクタを備え、
前記ホストは、前記回路情報に前記セレクタのセレクタ情報を挿入することによって前記回路情報を修正することを特徴とするプロトタイピングシステム。
【0077】
(付記4)前記ホストは、前記プログラマブル・デバイスの動作検証のために前記プログラマブル・デバイスの設計回路を分割、合成して回路情報を作成し、該作成した回路情報を前記プログラマブル・デバイスにダウンロードすることを特徴とする付記3に記載のプロトタイピングシステム。
【0078】
(付記5)前記実装手段は、複数個の前記プログラマブル・デバイスの入出力端子を連結あるいは切断するデバイス間スイッチを備え、
前記ロジックアナライザは、前記デバイス間スイッチの切断時に前記デバイス間スイッチを介して前記各プログラマブル・デバイスの入力端子に対しベクタデータを供給した状態で前記エミュレーションを実行する制御手段を備えたことを特徴とする付記2〜4のいずれか一つに記載のプロトタイピングシステム。
【0079】
(付記6)前記制御手段は、前記デバイス間スイッチの連結時、および切断時における複数個の前記プログラマブル・デバイスの出力信号をサンプリングクロックに従いサンプリングし、前記連結時と、切断時の前記各出力信号を個別に記憶することを特徴とする付記5に記載のプロトタイピングシステム。
【0080】
(付記7)前記制御手段は、前記デバイス間スイッチの連結時に得られた複数個の前記プログラマブル・デバイスの出力信号を1回目のエミュレーション結果として記憶し、
前記デバイス間スイッチの切断時には、前記1回目のエミュレーション結果を前記ベクタデータとして前記デバイス間スイッチを介して前記各プログラマブル・デバイスの入力端子に供給し、得られた複数個の前記プログラマブル・デバイスの出力信号を2回目のエミュレーション結果として記憶することを特徴とする付記5または6に記載のプロトタイピングシステム。
【0081】
(付記8)前記ロジックアナライザは、前記1回目のエミュレーション結果を記憶する第1の記憶手段と、
前記2回目のエミュレーション結果を記憶する第2の記憶手段を備えたことを特徴とする付記7に記載のプロトタイピングシステム。
【0082】
(付記9)前記制御手段は、前記デバイス間スイッチの接続を切断する前記2回目のエミュレーション時には、前記各プログラマブル・デバイスの前記セレクタを切り替え、該各プログラマブル・デバイスの出力端子から出力される内部信号を該2回目のエミュレーション結果として得ることを特徴とする付記5〜8のいずれか一つに記載のプロトタイピングシステム。
【0083】
(付記10)前記制御手段は、前記2回目のエミュレーション時に前記各プログラマブル・デバイスの入力端子に対しベクタデータのクロックタイミングを変更して供給することを特徴とする付記5〜9のいずれか一つに記載のプロトタイピングシステム。
【0084】
(付記11)前記ロジックアナライザは、複数実行された前記エミュレーション結果をホストにアップロードし、
前記ホストは、該アップロードされた複数のエミュレーション結果を同一の表示画面上に合成表示する波形合成手段を備えたことを特徴とする付記1〜10のいずれか一つに記載のプロトタイピングシステム。
【0085】
(付記12)前記波形合成手段は、前記第1回目のエミュレーション結果による前記プログラマブル・デバイスの出力端子から出力される全ての出力信号を表示し、前記第2回目のエミュレーション結果については前記プログラマブル・デバイスの出力端子から出力される内部信号のみを抽出し前記全ての出力信号とともに合成表示することを特徴とする付記11に記載のプロトタイピングシステム。
【0086】
(付記13)前記プログラマブル・デバイスと、前記デバイス間スイッチと、前記第1,第2の記憶手段との間には、前記プログラマブル・デバイスから各第1,第2の記憶手段に対してエミュレーション結果を分別して記憶させるデータの流れと、前記デバイス間スイッチから前記プログラマブル・デバイスに対して前記ベクタデータを供給させるデータの流れと、前記第1,第2の記憶手段から前記ホストに対してエミュレーション結果をアップロードさせるデータの流れを、いずれかに切り替えるスイッチを備え、前記制御手段によって該スイッチが切り替え制御されることを特徴とする付記8〜12のいずれか一つに記載のプロトタイピングシステム。
【0087】
(付記14)前記ホストは、前記プログラマブル・デバイスの単一の出力端子から出力される前記本来の出力信号と前記内部信号のそれぞれに異なる信号名を割り当てることを特徴とする付記1〜13のいずれか一つに記載のプロトタイピングシステム。
【0088】
(付記15)前記ホストは、前記1回目のエミュレーションにより前記プログラマブル・デバイスの出力端子から出力される出力信号には、前記本来の出力信号の信号名を割り当て、
前記2回目のエミュレーションにより前記プログラマブル・デバイスの同一の前記出力端子の出力端子から出力される出力信号については、前記内部信号の信号名に変更することを特徴とする付記7〜14のいずれか一つに記載のプロトタイピングシステム。
【0089】
(付記16)プログラマブル・デバイスを複数個実装し、動作検証を行うプログラマブル・デバイスの内部信号観測方法であって、
前記プログラマブル・デバイス別の設計回路の回路情報を作成する回路情報作成工程と、
前記プログラマブル・デバイスの内部信号を選択出力するためのセレクタ情報を前記回路情報に挿入する処理を実行して前記回路情報作成工程により作成された回路情報を修正するセレクタ挿入工程と、
前記セレクタ挿入工程で得られたセレクタ挿入後の回路情報を前記プロトタイピングシステムにダウンロードするダウンロード工程と、
を含み、前記プロトタイピングシステムにおいてプログラマブル・デバイスの内部信号を観測可能としたことを特徴とするプログラマブル・デバイスの内部信号観測方法。
【0090】
(付記17)前記セレクタ挿入工程は、前記回路情報に対し、前記プログラマブル・デバイスに設けられた同一の出力端子が出力する本来の出力信号と、内部信号のうちいずれを出力するかを選択する選択信号を前記プログラマブル・デバイスの外部から制御するための入力ポートを配置する処理を実行することを特徴とする付記16に記載のプログラマブル・デバイスの内部信号観測方法。
【0091】
(付記18)出力端子から規定された本来の出力信号と、所望する内部回路の内部信号とを選択的に切り替えて出力させるセレクタを備えたプログラマブル・デバイスを複数個実装し、前記本来の出力信号および内部信号を観測するプログラマブル・デバイスの内部信号観測方法であって、
前記プログラマブル・デバイスのセレクタを前記本体の出力信号出力側に切り替え、かつ複数個の前記プログラマブル・デバイスの入出力端子を連結させた状態で該プログラマブル・デバイスに対しサンプリングクロックを供給し、前記プログラマブル・デバイスの出力信号を得る第1のエミュレーション結果取得工程と、
前記プログラマブル・デバイスのセレクタを内部信号出力側に切り替え、かつ複数個の前記プログラマブル・デバイスの入出力端子を切断した状態で該プログラマブル・デバイスに対し前記第1のエミュレーション結果をベクタデータとして供給し、前記プログラマブル・デバイスの内部信号を得る第2のエミュレーション結果取得工程と、
を含むことを特徴とするプログラマブル・デバイスの内部信号観測方法。
【0092】
(付記19)前記第1,第2のエミュレーション結果をそれぞれ記憶する記憶工程と、
前記第1,第2のエミュレーション結果をそれぞれ表示出力する表示出力工程と、
を含むことを特徴とする付記18に記載のプログラマブル・デバイスの内部信号観測方法。
【0093】
(付記20)前記表示出力工程は、前記第1,第2のエミュレーション結果を同一の表示画面上に合成表示する処理を含むことを特徴とする付記19に記載のプログラマブル・デバイスの内部信号観測方法。
【0094】
(付記21)前記表示出力工程は、前記プログラマブル・デバイスの同一の出力端子から出力される前記本来の出力信号と前記内部信号のそれぞれに異なる信号名を割り当てる処理を含むことを特徴とする付記20に記載のプログラマブル・デバイスの内部信号観測方法。
【0095】
【発明の効果】
本発明によれば、FPGA等の検証回路の出力端子数分の内部信号が観測できるようになり、検証回路にサンプリングクロックを供給した動作状態で出力端子から本来の出力信号、あるいは内部信号を出力できるため、タイミング解析が行えるようになる。また、これら本来の出力信号および内部信号を同一の表示画面に合成表示できるため、検証回路の不具合を容易に観測できるようになる。これらにより、デバッグ効率を格段に向上させることができ、デバッグ期間の短縮化および検証回路を含むLSIの開発期間の短縮化を図ることができるという効果を奏する。
【図面の簡単な説明】
【図1】この発明のプロトタイピングシステムの実施の形態1の構成を示すブロック図である。
【図2】検証回路としてのFPGAの回路構成例を示す図である。
【図3】各スイッチの切り替え状態(その1)を示す図である。
【図4】各スイッチの切り替え状態(その2)を示す図である。
【図5】ダウンロード用の回路情報を作成する手順を示すフローチャートである。
【図6】セレクタ挿入処理の手順を示すフローチャートである。
【図7】1回目のエミュレーション時の波形を示す図である。
【図8】2回目のエミュレーション時の波形を示す図である。
【図9】ロジックアナライザ波形表示ツールが実行する波形表示処理のフローチャートである。
【図10】波形の表示画面例を示す図である。
【図11】この発明のプロトタイピングシステムの実施の形態2の構成を示すブロック図である。
【図12】各スイッチの切り替え状態を示す図である。
【図13】従来のプロトタイピングシステムを示す構成図である。
【図14】ステート解析を行う場合の検証回路の内部構成図である。
【符号の説明】
1 プロトタイピングシステム
2(2a,2b) メモリ
3 サンプリングクロックジェネレータ
4 ロジックアナライザ/ベクタ送出制御部
5(5a〜5d,15a,15b) スイッチング・デバイス
6 ユーザークロック/リセット信号ジェネレータ
7 ホストインターフェース
8 ホスト
9a,9b デバイス間スイッチ
10 ロジックアナライザ
12a,12b FFインスタンス
12c 論理回路
12d セレクタ
20 RTL
21 ネットリスト
22 FPGA間配線情報
23 セレクタ挿入後のネットリスト
24 ネット出力情報
25 ダウンロード用回路情報
26 信号合成波形ファイル
51a〜51d FPGA
Claims (9)
- 回路情報がダウンロードされるプログラマブル・デバイスを複数個実装する実装手段と、該プログラマブル・デバイスに対しサンプリングクロックを供給して動作波形を得るロジックアナライザと、該ロジックアナライザを実行制御するホストとによって構成されたプロトタイピングシステムにおいて、
前記プログラマブル・デバイスは、該プログラマブル・デバイスが有する出力端子から規定された本来の出力信号と、所望する内部回路の内部信号とを選択的に切り替えて出力させるセレクタを備え、
前記ホストは、前記回路情報に前記セレクタのセレクタ情報を挿入することによって前記回路情報を修正し、
前記実装手段は、複数個の前記プログラマブル・デバイスの入出力端子を連結あるいは切断するデバイス間スイッチを備え、
前記ロジックアナライザは、前記デバイス間スイッチの切断時に前記デバイス間スイッチを介して前記各プログラマブル・デバイスの入力端子に対しベクタデータを供給した状態で前記エミュレーションを実行する制御手段を備えたことを特徴とするプロトタイピングシステム。 - 前記制御手段は、前記デバイス間スイッチの連結時、および切断時における複数個の前記プログラマブル・デバイスの出力信号をサンプリングクロックに従いサンプリングし、前記連結時と、切断時の前記各出力信号を個別に記憶することを特徴とする請求項1に記載のプロトタイピングシステム。
- 前記制御手段は、前記デバイス間スイッチの連結時に得られた複数個の前記プログラマブル・デバイスの出力信号を1回目のエミュレーション結果として記憶し、
前記デバイス間スイッチの切断時には、前記1回目のエミュレーション結果を前記ベクタデータとして前記デバイス間スイッチを介して前記各プログラマブル・デバイスの入力端子に供給し、得られた複数個の前記プログラマブル・デバイスの出力信号を2回目のエミュレーション結果として記憶することを特徴とする請求項1または2に記載のプロトタイピングシステム。 - 前記ロジックアナライザは、複数実行された前記エミュレーション結果をホストにアップロードし、
前記ホストは、該アップロードされた複数のエミュレーション結果を同一の表示画面上に合成表示する波形合成手段を備えたことを特徴とする請求項1〜3のいずれか一つに記載のプロトタイピングシステム。 - 前記プログラマブル・デバイスと、前記デバイス間スイッチと、前記第1,第2の記憶手段との間には、前記プログラマブル・デバイスから各第1,第2の記憶手段に対してエミュレーション結果を分別して記憶させるデータの流れと、前記デバイス間スイッチから前記プログラマブル・デバイスに対して前記ベクタデータを供給させるデータの流れと、前記第1,第2の記憶手段から前記ホストに対してエミュレーション結果をアップロードさせるデータの流れを、いずれかに切り替えるスイッチを備え、前記制御手段によって該スイッチが切り替え制御されることを特徴とする請求項4に記載のプロトタイピングシステム。
- プログラマブル・デバイスの動作検証を行うプロトタイピングシステムにおいて、
前記プログラマブル・デバイスは、該プログラマブル・デバイスが有する出力端子から規定された本来の出力信号と、所望する内部回路の内部信号とを選択的に切り替えて出力させるセレクタを備え、
前記セレクタを制御して前記本来の出力信号あるいは前記内部信号のいずれかを出力させた状態におけるエミュレーションを実行するロジックアナライザを備え、
前記ロジックアナライザは、複数実行された前記エミュレーション結果をホストにアップロードし、
前記ホストは、該アップロードされた複数のエミュレーション結果を同一の表示画面上に合成表示する波形合成手段を備え、
前記プログラマブル・デバイスと、前記デバイス間スイッチと、前記第1,第2の記憶手段との間には、前記プログラマブル・デバイスから各第1,第2の記憶手段に対してエミュレーション結果を分別して記憶させるデータの流れと、前記デバイス間スイッチから前記プログラマブル・デバイスに対して前記ベクタデータを供給させるデータの流れと、前記第1,第2の記憶手段から前記ホストに対してエミュレーション結果をアップロードさせるデータの流れを、いずれかに切り替えるスイッチを備え、前記制御手段によって該スイッチが切り替え制御されることを特徴とするプロトタイピングシステム。 - 回路情報がダウンロードされるプログラマブル・デバイスを複数個実装する実装手段と、該プログラマブル・デバイスに対しサンプリングクロックを供給して動作波形を得るロジックアナライザと、該ロジックアナライザを実行制御するホストとによって構成されたプロトタイピングシステムにおいて、
前記プログラマブル・デバイスは、該プログラマブル・デバイスが有する出力端子から規定された本来の出力信号と、所望する内部回路の内部信号とを選択的に切り替えて出力させるセレクタを備え、
前記ホストは、前記回路情報に前記セレクタのセレクタ情報を挿入することによって前記回路情報を修正し、
前記ロジックアナライザは、複数実行された前記エミュレーション結果をホストにアップロードし、
前記ホストは、該アップロードされた複数のエミュレーション結果を同一の表示画面上に合成表示する波形合成手段を備え、
前記プログラマブル・デバイスと、前記デバイス間スイッチと、前記第1,第2の記憶手段との間には、前記プログラマブル・デバイスから各第1,第2の記憶手段に対してエミュレーション結果を分別して記憶させるデータの流れと、前記デバイス間スイッチから前記プログラマブル・デバイスに対して前記ベクタデータを供給させるデータの流れと、前記第1,第2の記憶手段から前記ホストに対してエミュレーション結果をアップロードさせるデータの流れを、いずれかに切り替えるスイッチを備え、前記制御手段によって該スイッチが切り替え制御されることを特徴とするプロトタイピングシステム。 - 出力端子から規定された本来の出力信号と、所望する内部回路の内部信号とを選択的に切り替えて出力させるセレクタを備えたプログラマブル・デバイスを複数個実装し、前記本来の出力信号および内部信号を観測するプログラマブル・デバイスの内部信号観測方法であって、
前記プログラマブル・デバイスのセレクタを前記本体の出力信号出力側に切り替え、かつ複数個の前記プログラマブル・デバイスの入出力端子を連結させた状態で該プログラマブル・デバイスに対しサンプリングクロックを供給し、前記プログラマブル・デバイスの出力信号を得る第1のエミュレーション結果取得工程と、
前記プログラマブル・デバイスのセレクタを内部信号出力側に切り替え、かつ複数個の前記プログラマブル・デバイスの入出力端子を切断した状態で該プログラマブル・デバイスに対し前記第1のエミュレーション結果をベクタデータとして供給し、前記プログラマブル・デバイスの内部信号を得る第2のエミュレーション結果取得工程と、
を含むことを特徴とするプログラマブル・デバイスの内部信号観測方法。 - 前記第1,第2のエミュレーション結果をそれぞれ記憶する記憶工程と、
前記第1,第2のエミュレーション結果をそれぞれ表示出力する表示出力工程と、
を含むことを特徴とする請求項8に記載のプログラマブル・デバイスの内部信号観測方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002174247A JP3845041B2 (ja) | 2002-06-14 | 2002-06-14 | プロトタイピングシステムおよびプログラマブル・デバイスの内部信号観測方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002174247A JP3845041B2 (ja) | 2002-06-14 | 2002-06-14 | プロトタイピングシステムおよびプログラマブル・デバイスの内部信号観測方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004023364A JP2004023364A (ja) | 2004-01-22 |
JP3845041B2 true JP3845041B2 (ja) | 2006-11-15 |
Family
ID=31173266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002174247A Expired - Fee Related JP3845041B2 (ja) | 2002-06-14 | 2002-06-14 | プロトタイピングシステムおよびプログラマブル・デバイスの内部信号観測方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3845041B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4979329B2 (ja) * | 2006-10-06 | 2012-07-18 | アオイ電子株式会社 | 回路構成情報生成装置、制御装置、回路検証システム、回路検証方法、回路構成情報生成プログラム及び制御プログラム |
JP4857453B2 (ja) * | 2009-07-01 | 2012-01-18 | テクトロニクス・インターナショナル・セールス・ゲーエムベーハー | パケットとシリアル・データの対応関係確認方法 |
JP7048776B1 (ja) * | 2021-01-22 | 2022-04-05 | Necプラットフォームズ株式会社 | プログラマブルデバイス、システム、検証支援方法、およびプログラム |
CN115328268B (zh) * | 2022-10-17 | 2023-01-17 | 湖南大学 | 一种基于fpga的高分辨率数字pwm信号调制方法及系统 |
-
2002
- 2002-06-14 JP JP2002174247A patent/JP3845041B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004023364A (ja) | 2004-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6389558B1 (en) | Embedded logic analyzer for a programmable logic device | |
US6571370B2 (en) | Method and system for design verification of electronic circuits | |
US7120571B2 (en) | Resource board for emulation system | |
US6247147B1 (en) | Enhanced embedded logic analyzer | |
US7418681B2 (en) | Simulation system, simulation method and simulation program for verifying logic behavior of a semiconductor integrated circuit | |
CN109783954B (zh) | 一种ies联合fpga硬件仿真加速系统 | |
US7353162B2 (en) | Scalable reconfigurable prototyping system and method | |
JP2001508202A (ja) | ディジタル論理シミュレーション/エミュレーションシステム | |
JP2002535684A (ja) | 集積回路のリアルバージョンテストとシミュレートバージョンテストを行うシステム | |
TW201428521A (zh) | 設計及模擬系統、裝置及方法 | |
CN104407882A (zh) | 一种板卡装置 | |
CN116029242A (zh) | 一种云原生的硬件逻辑仿真fpga加速方法及系统 | |
JP4890086B2 (ja) | 回路検証装置及び回路検証方法 | |
JP3845041B2 (ja) | プロトタイピングシステムおよびプログラマブル・デバイスの内部信号観測方法 | |
US20060247909A1 (en) | System and method for emulating a logic circuit design using programmable logic devices | |
CN116029236B (zh) | 可综合的参数化自测试模型结构及测试方法 | |
Wenban | A software development system for FPGA-based data acquisition systems | |
JP4979329B2 (ja) | 回路構成情報生成装置、制御装置、回路検証システム、回路検証方法、回路構成情報生成プログラム及び制御プログラム | |
JPH0520286A (ja) | 画像処理装置 | |
JP2004157986A (ja) | 論理検証システムとfpgaモジュール | |
JP2015011363A (ja) | 協調検証装置及び協調検証方法 | |
EP1236222A2 (en) | Universal hardware device and method and tools for use therewith | |
JP2887515B2 (ja) | 記録装置のシミュレータ | |
JPH1010196A (ja) | 論理エミュレーション装置 | |
CN117729106A (zh) | 一种针对硬件链路的通用型jtag下载系统以及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041026 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060523 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060721 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060815 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060817 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090825 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100825 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110825 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120825 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120825 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130825 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |