JP2004023364A - Internal signal observation method for prototyping system and programmable device - Google Patents

Internal signal observation method for prototyping system and programmable device Download PDF

Info

Publication number
JP2004023364A
JP2004023364A JP2002174247A JP2002174247A JP2004023364A JP 2004023364 A JP2004023364 A JP 2004023364A JP 2002174247 A JP2002174247 A JP 2002174247A JP 2002174247 A JP2002174247 A JP 2002174247A JP 2004023364 A JP2004023364 A JP 2004023364A
Authority
JP
Japan
Prior art keywords
output
signal
emulation
programmable device
programmable
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.)
Granted
Application number
JP2002174247A
Other languages
Japanese (ja)
Other versions
JP3845041B2 (en
Inventor
Kazuhide Tamaki
田巻 和秀
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002174247A priority Critical patent/JP3845041B2/en
Publication of JP2004023364A publication Critical patent/JP2004023364A/en
Application granted granted Critical
Publication of JP3845041B2 publication Critical patent/JP3845041B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Logic Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an internal signal observation method for a prototyping system and a programmable device, which can take out easily an internal signal of the programmable device and improve the quality of the internal signal observation. <P>SOLUTION: Switches between devices 9a and 9b are arranged between input/output terminals of FPGAs 51a-51c. A logic analyzer/vector sending control unit 4 supplies a sampling clock during concatenation of the switches between devices 9a and 9b, and a first emulation is conducted to store an output signal in a memory 2a. Thereafter, the switches between devices 9a and 9b are disconnected under the condition that the FPGAs 51a-51c output an internal signal, the data stored in memory 2a is supplied to the FPGAs 51a-51c as vector data, and a second emulation is conducted to store an output signal in a memory 2b. The original output signal and internal signal stored in the memories 2a and 2b are displayed in a composite fashion on a display screen of a host 8, and the quality of the observation is improved. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
この発明は、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
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an emulator and a prototyping system for verifying the operation of a circuit used in an LSI development stage using a hardware device, and more particularly to a prototyping system capable of observing a signal inside a circuit without being limited to the number of terminals of the circuit. And a method for observing an internal signal of a programmable device.
[0002]
[Prior art]
In the conventional LSI development, at the stage of logic design, RTL (Register Transfer Level) description in HDL (Hardware Description Language) language, RTL simulation by software simulator, and bug extraction and correction are performed. However, in recent years, the circuit scale of the LSI has become large, and simulation using a software simulator has a heavy load on a computer device such as a workstation that executes this software, so that sufficient verification cannot be performed.
[0003]
Under such circumstances, operation verification has been performed by hardware devices called prototyping systems and emulators. These prototyping systems and emulators are very similar, with no clear separation criteria. Usually, a device that mounts a wiring control device (or wiring method) between a plurality of FPGAs and a logic analyzer module (or a connector for connecting a commercially available logic analyzer) is called a prototyping system, and the emulator further debugs the device. The one with enhanced functions. Hereinafter, a prototyping system including the emulator will be referred to.
[0004]
FIG. 13 is a configuration diagram showing a conventional prototyping system. The prototyping system 50 of this configuration example is configured by a plurality of modules of a plurality of FPGAs 51 (51a to 51c) as verification circuits, a user clock / reset signal generator 52, a logic analyzer 53, and a host interface (I / F) 54. I have.
[0005]
A software tool is incorporated in the host 55 composed of a personal computer or the like. This software tool divides and synthesizes the verification circuit for each of the FPGAs 51a to 51c, and creates circuit information that can be downloaded to the prototyping system 50.
[0006]
In the conventional method shown in this figure, the wiring between the FPGAs 51a to 51c is performed using fixed wiring on a printed wiring board without using a wiring control device, and the connection relationship between the FPGAs 51a to 51c is It is decided. Therefore, the circuit division by the prototyping system 50 is performed so as to satisfy the specifications defined by this connection relationship. In FIG. 13, wiring between the FPGA 51a and the FPGA 51c is omitted for simplification of description.
[0007]
The download of circuit information from the host 55 to the FPGAs 51 (51a to 51c), which are verification circuits, the setting of the frequency of the user clock for the user clock / reset signal generator 52, and the upload of logic analyzer data from the logic analyzer 53 to the host 55 are performed by the host. This is performed via the I / F 54.
[0008]
The logic analyzer 53 includes a memory 56 for storing observation waveforms, a sampling clock generator 57 for generating a sampling clock, a logic analyzer control unit 58, and a switching device 59. Although the illustrated switching device 59 is described as a physical switch, the switching device 59 is generally formed of an electrical switching device such as a transistor.
[0009]
As the sampling clock generated by the sampling clock generator 57, a clock much faster than the user clock is used. The upper limit of the user clock operating in the prototyping system 50 is about 10 MHz, whereas the sampling clock generated by the sampling clock generator 57 uses 100 MHz to 1 GHz. This high-speed clock enables timing analysis.
[0010]
The logic analyzer 53 assigns a signal to be observed to an unused terminal of each of the FPGAs 51a to 51c in order to observe a signal output to a terminal of the FPGA 51a to 51c, and observes an internal signal through the unused terminal. The unused terminals in the illustrated example are 51A in the FPGA 51a and 51B in the FPGA 51b.
[0011]
FIG. 14 is an internal configuration diagram of the verification circuit when performing the state analysis. A configuration example in which only state analysis, that is, state analysis of a signal for each user clock is performed is shown. Logic analyzer macro circuits 61a to 61c are arranged in advance in the user circuits 60a to 60c inside the FPGA 51, respectively. The output of each of the logic analyzer macro circuits 61a to 61c is converted into a serial signal by the logic analyzer control serial converter 62, and a signal is extracted from the unused terminal or the JTAG interface. According to this method, the number of observation signals inside the FPGA 51 is not limited to the number of unused terminals, and a larger number of observation signals than the number of unused terminals can be extracted.
[0012]
[Problems to be solved by the invention]
However, in the configuration shown in FIG. 13, the signals that can be observed by the logic analyzer 53 are limited to the signals output to the terminals of the FPGAs 51a to 51c. The signal could not be observed, making debugging difficult.
[0013]
Further, in the configuration shown in FIG. 14, since it is necessary to operate the logic analyzer macro circuits 61a to 61c inside the FPGA, it is impossible to input a high-speed sampling clock. That is, in the configuration shown in FIG. 14, state analysis is performed using a low-rate user clock as a sampling clock, and timing analysis cannot be realized.
[0014]
In the case of the prototyping system 50 that targets the FPGAs 51a to 51c as the verification circuit, the circuits are operated on the actual FPGAs 51a to 51c. Here, when there is a malfunction in the operation of the FPGAs 51a to 51c, it is highly likely that the malfunction is related to timing, such as clock racing or hazard. Therefore, in debugging such a system, the logic analyzer 53 needs to execute timing analysis. Therefore, with the configuration in which the state analysis is performed by the logic analyzer 53 shown in FIG. 14, the cause may not be able to be determined.
[0015]
SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and has a prototyping system capable of easily extracting an internal signal of a programmable device and improving observability of the internal signal, and an internal signal observation of the programmable device. The aim is to provide a method.
[0016]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides mounting means for mounting a plurality of programmable devices such as an FPGA, a logic analyzer which supplies a sampling clock to the programmable device to obtain an operation waveform, and an operation of the programmable device. After the circuit information is created by dividing and synthesizing the design circuit of the programmable device for verification, the circuit information is downloaded to the programmable device, and the host is configured to execute and control the logic analyzer. When creating the circuit information, the host arranges the circuit information of the selector for selecting either the original output signal or the internal signal by correcting the circuit information of the design circuit. The mounting means includes an inter-device switch for connecting or disconnecting input / output terminals of a plurality of programmable devices, and the logic analyzer operates the device in the connected state when the inter-device switch is disconnected. Control means for emulating while supplying vector data to an input terminal of each programmable device via an inter-switch.
[0017]
According to the present invention, an original output signal and an internal signal are switched and output from an output terminal of a programmable device such as an FPGA, and the first and second emulation results are obtained. When outputting the internal signal, the connection between the input / output terminals of the plurality of FPGAs is disconnected, and the first emulation result is supplied to the FPGA as vector data, so that the second emulation result for obtaining the internal signal is obtained. Can be obtained exactly as in the connection. The first and second emulation results are displayed and output to the host. Since the host synthesizes and displays these waveforms, the host can observe the original output signal and the internal signal on the same screen, thereby facilitating the analysis work.
[0018]
BEST MODE FOR CARRYING OUT THE INVENTION
(Embodiment 1)
Preferred embodiments of a prototyping system and a method for observing an internal signal of a programmable device according to the present invention will be described in detail below with reference to the accompanying drawings. FIG. 1 is a block diagram showing a configuration of a first embodiment of the prototyping system of the present invention.
[0019]
The prototyping system 1 includes a memory 2 for storing observation waveforms, a sampling clock generator 3 for generating a sampling clock, a logic analyzer (logic analyzer) / vector transmission control unit 4, and a logic analyzer 10 including modules of a switching device 5, It comprises a user clock / reset signal generator 6 and a host interface (I / F) 7. The prototyping system 1 is connected to a host 8 via a host I / F7. The functions of the host 8 are the same as those of the host 55 described above, and control including start / stop of the operation of the prototyping system 1, creation of a netlist, display of a signal waveform on a screen, and the like are performed by a software tool.
[0020]
The memory 2 may be constituted by a plurality of memories 2a and 2b for respective functions as shown in the drawing, or may be constituted so that a storage area is divided into two and used within a single memory 2. The switching device 5 includes four (5a to 5d) in the illustrated configuration example.
[0021]
The switching device 5a mainly switches storage or upload of data in the memory 2b. The common contact is connected to the memory 2b, the contact 1 is connected to the host I / F 7, and the contact 2 is connected to the switching device 5b. It is connected to the. When switching to the second side, the output signals of the FPGAs 51a to 51c are stored in the memory 2b via the switching device 5b. By switching to the first side, the data (output signals of the FPGAs 51a to 51c) stored in the memory 2b is output (uploaded) to the host 8 side.
[0022]
The switching device 5b is mainly for switching the output signal of each of the FPGAs 51a to 51c to the memory 2a or the memory 2b and outputting the same, and has a common contact at an input / output terminal (line between the input / output terminal) of each of the FPGAs 51a to 51c. The contact 1 is connected to the contact 2 of the switching device 5a, and the contact 2 is connected to the contact 2 of the switching device 5c. When switching to the 1 side, the output signals of the respective FPGAs 51a to 51c are output to the switching device 5a (memory 2b) side. When switching to the second side, the output signals of the FPGAs 51a to 51c are output to the switching device 5c (memory 2a) side.
[0023]
The switching device 5c is mainly for switching data storage or upload to the memory 2a. The common contact is connected to the contact 1 of the switching device 5d, the contact 1 is connected to the host I / F 7, and the contact 2 Are connected to the contact 2 of the switching device 5b. When switching to the 1 side, the output signal of the switching device 5d (memory 2a) is uploaded to the host 8 side. When switching to the second side, the output signals of the FPGAs 51a to 51c are output to the switching device 5d (memory 2a) via the switching device 5b.
[0024]
The switching device 5d switches whether to supply data stored in the memory 2a as vector data to each of the FPGAs 51a to 51c, and a common contact is connected to the memory 2a, and a contact 1 is connected to the switching device. The contact 2 is connected to the common contact 5c, and the contact 2 is connected to each contact 1 of the inter-device switches 9a and 9b. This switching device 5d works in conjunction with the inter-device switches 9a and 9b. When switching to the 1 side, the output signals of the FPGAs 51a to 51c are stored in the memory 2a. Further, data stored in the memory 2a can be uploaded to the host 8. When switching to the second side, data stored in the memory 2a (output signals of the FPGAs 51a to 51c) can be output to the FPGAs 51a to 51c as vector data to the FPGAs 51a to 51c via the inter-device switches 9a and 9b. To
[0025]
The logic analyzer / vector transmission control unit 4 controls the output of the user clock by the user clock / reset signal generator 6, and selectively switches the switching devices 5a to 5d. By switching the switching devices 5a to 5d,
(1) The output signals of the FPGAs 51a, 51b, 51c are selectively stored in the memories 2a, 2b when the operation of the verification circuit is verified.
(2) The output signals stored in the memory 2a are input as vector data to the FPGAs 51a, 51b, and 51c again.
(3) The output signals stored in the memories 2a and 2b are uploaded to the host 8. These details will be described later.
[0026]
Output terminals and input terminals of the respective terminals of the FPGAs 51a, 51b, and 51c are fixedly determined. Switching devices (switches between devices) 9a, 9b for connecting / disconnecting input / output signals are arranged between output terminals and input terminals of the FPGAs 51a, 51b, 51c. The wiring from the FPGA 51b and the FPGAs 51a and 51c to the FPGAs 51a and 51b is omitted for convenience of explanation, but is actually wired via the same switching device as described above.
[0027]
FIG. 2 is a diagram illustrating a circuit configuration example of an FPGA as a verification circuit. FIG. 2 illustrates one output terminal F1_5 of the FPGA 51a. The output terminal F1_5 outputs an original output signal OUT1 defined for the FPGA via the plurality of FF instances 12a and 12b and the logic circuit 12c. The internal signal NET1 for observing the output of the preceding stage (the logic circuit 12c) of the FF instance 12b is connected to the selector 12d, and the output signal OUT1 or the output signal OUT1 based on the selection signal SEL for the selector 12d. Switching is performed such that the internal signal NET1 is selectively output from the output terminal F1_5.
[0028]
By the way, the logic analyzer / vector transmission control unit 4 outputs the above selection signal SEL to the FPGAs 51a to 51c, the switching devices 5a to 5d, and the switches 9a and 9b, and controls the switching in each of them. Next, the operation of the prototyping system 1 having the above configuration will be described for each process.
[0029]
(Step 1) First, the logic analyzer / vector transmission control unit 4 connects the FPGAs 51a to 51c in a connection relationship realizing the originally designed circuit operation according to an instruction from the host 8. Specifically, the state shown in FIG. 1 is set, that is, the switching device 5d is set to the contact 1 side, the switching devices 5b and 5c are set to the contact 2 side, and the inter-device switches 9a and 9b are set to the contact 2 side. . With this setting, the input / output terminals of the FPGAs 51a to 51c are connected via the inter-device switches 9a and 9b.
[0030]
(Step 2) Next, the logic analyzer / vector transmission control unit 4 enables the user clock / reset signal generator 6 according to an instruction from the host 8, and starts the circuit operation of the FPGAs 51a to 51c. At this time, the output signal OUT1 is output from the output terminal F1_5 shown in FIG. 2 as the output signal of each of the FPGAs 51a to 51c. This output signal OUT1 is stored in the memory 2a via the switching devices 5b → 5c → 5d.
[0031]
(Step 3) Next, the logic analyzer / vector transmission control unit 4 stops emulation according to an instruction from the host 8, sets the switching device 5d to the contact 2 side, switches the inter-device switches 9a and 9b to the contact 1 side, and switches -Switch the device 5b to the contact 1 side. As a result, the wiring between the FPGAs is disconnected by the inter-device switches 9a and 9b. FIG. 3 is a diagram illustrating a switching state (part 1) of each switch.
[0032]
(Step 4) Next, the logic analyzer / vector transmission controller 4 enables the user clock / reset signal generator 6 according to an instruction from the host 8 and restarts emulation. At this time, the selection signal SEL is input to the selector 12d (see FIG. 2) of each of the FPGAs 51a to 51c in addition to the switching device 5d and the inter-device switches 9a and 9b, and the output signals of the FPGAs 51a to 51c are internally The signal, that is, NET1 is output from the output terminal F1_5. This output signal is stored in the memory 2b via the switching device 5b → 5a.
[0033]
(Step 5) At the same time, the logic analyzer / vector transmission control unit 4 transmits the data at the time of the previous emulation stored in the memory 2a (the above step 2) from the switching device 5d to the inter-device switches 9a and 9b. This is supplied to the input terminals of the FPGAs 51a to 51c. The FPGA performs one circuit operation designed by the operation of all three FPGAs 51a to 51c. Here, by using the previous sampling data as an input vector, even if the wiring between the FPGAs 51a to 51c is disconnected at this time, it can be apparently operated as one circuit. it can.
[0034]
(Step 6) According to the instruction from the host 8, the logic analyzer / vector transmission control unit 4 sets the switching devices 5a, 5c, and 5d to the contact 1 side after the emulation is completed, and stores the data stored in the memories 2a and 2b into the host. Upload to 8. FIG. 4 is a diagram illustrating a switching state (part 2) of each switch.
[0035]
(Step 7) The host 8 treats the sampling data in the memories 2a and 2b as data sampled by the same emulation, and displays a waveform on a display screen. This allows the operator to observe the state of the internal signals of the FPGAs 51a to 51c in association with the original external output signals.
[0036]
By sequentially executing the processes based on the steps described above, it is possible to observe the internal signal even when there are no unused terminals in the FPGAs 51a to 51c.
[0037]
FIG. 5 is a flowchart showing a procedure for creating circuit information for download. As described above, according to the present invention, the selector is inserted into the FPGA, and the selector is inserted into a netlist that creates circuit information downloadable to the prototyping system 1. That is, the present invention is different from the conventional one in that a selector insertion process is added.
[0038]
First, the software tool (tool) incorporated in the host 8 executes a circuit dividing process (step S1) for creating an RTL 20 in which the RTL description in the HDL language is divided for each programmable device of the FPGA. Thereafter, the generated RTL 20 is synthesized, and a synthesis process (step S2) for obtaining a netlist 21 for each programmable device is executed. Thereafter, an internal signal to be observed as logic analyzer data is selected from the netlist 21 of the design circuit, and an original output signal (OUT1 described above) and a selected internal signal (OUT1 described above) are selected to realize the operation of the design circuit. NET1) is inserted (step S3).
[0039]
In this selector insertion processing, an input port for controlling a selection signal (SEL described above) for selecting which of an original output signal and an internal signal to output from the outside of the programmable device is inserted. Is used. As a result, the netlist created in step S2 is modified to create a netlist 23 having a function after the selector is inserted. In the first embodiment, by using the inter-FPGA wiring information 22, the placement and wiring processing (step S 4) is performed on the net list 23 after the selector insertion, and the net output information 24 and the download circuit of the prototyping system 1 are executed. Information 25 is obtained.
[0040]
The inter-FPGA wiring information 22 used in the arrangement and wiring processing in step S4 is a signal between the FPGAs 51a to 51c corresponding to the fact that the wiring between the FPGAs 51a to 51c in the prototyping system 1 of the present invention is fixed. Used to associate names. The pin assignment of the input / output terminals of each of the FPGAs 51a to 51c is performed based on the inter-FPGA wiring information 22.
[0041]
FIG. 6 is a flowchart showing the procedure of the selector insertion process (step S3). First, the input processing of the netlist 21 is performed (step S31), the circuit diagram is created based on the information of the netlist 21 (step S32), and the created circuit diagram is displayed on the display screen of the host 8 (step S33). . The operator selects a net of the internal signal to be observed from the displayed circuit diagram (Step S34). The tool of the host 8 stores the selected net. Thereafter, the tool of the host 8 automatically executes the following processing.
[0042]
After selecting the net of the internal signal to be observed, the tool searches the output port and the instance of the output source (step S35). According to the circuit configuration example shown in FIG. 2, at this stage, the output terminal F1_5 is connected to the FF instance 12b, and the output signal OUT1 does not exist.
[0043]
(1) Thereafter, a selector insertion process (step S36) is performed. First, the output instance is changed to a selector, and the net of the original instance output is changed to an arbitrary name. According to FIG. 2, the selector 12d is inserted, the net name of the output of the FF instance 12b is changed to OUT1, and the output of the selector 12d is set to the output terminal F1_5.
(2) Connect the net of the selected internal signal to the other selector input. According to FIG. 2, the internal signal NET1 is connected to the selector 12d.
[0044]
(3) The selector selection signal SEL is added to the input port of the netlist and connected to the selector terminal of the selector instance. According to FIG. 2, the selection signal SEL is connected to the selector 12d.
(4) The netlist 23 after the selector insertion is output as a file.
(5) At the same time, a file of net output information 24 describing which internal terminal is connected to which output terminal is output. The net output information 24 is used when displaying the sampling data of the logic analyzer.
[0045]
The selector insertion processing (step S36) returns to step S31 for all the input netlists 21 and is repeated (step S37: No), and when the processing of all the input netlists 21 is completed (step S37: Yes) ), And proceeds to the placement and wiring processing (step S4 shown in FIG. 5).
[0046]
The host 8 downloads the download circuit information 25 created by the above processing to the prototyping system 1 (FPGAs 51a to 51c that are programmable devices) of the present invention. At this time, the switching devices 5a to 5d and the switches 9a and 9b are switched so that the data (output signals) of the FPGAs 51a to 51c are input to the memory 2a and the wiring between the FPGAs 51a to 51c is connected.
[0047]
In addition, the logic analyzer / vector transmission controller 4 (see FIG. 1) enables the user clock / reset signal generator 6 to start emulation. As described above, the emulation is performed twice by changing the setting (storage of data in the memory 2a in step 2 and storage of data in the memory 2b in step 4). In the first and second emulations, it is necessary to completely match the sampling timing with the timing of the generation and reset release of the user clock, so that the user clock / reset signal generator 6 is controlled by the logic analyzer / vector transmission controller 4. Is to take over.
[0048]
FIG. 7 is a diagram showing waveforms during the first (step 2) emulation. The reset timing is omitted. Sampling is started from the rising edge of the first sampling clock after the user clock / reset signal generator 6 is enabled. In the parentheses of the signal names shown in FIG. 7, for example, the signal F1_3 (F2I1) is the same signal because the output terminal F1_3 of the FPGA 51a and the input terminal F2I1 of the FPGA 51b are connected at this stage (see FIG. 1). Will be displayed as In the emulation operation at this time, the user clock is also input to the memory 2a as sampling data.
[0049]
Then, in step 3, the emulation is stopped, and the switching devices 5b and 5d and the switches 9a and 9b are switched. As a result, the connection between the FPGAs 51a to 51c is disconnected as shown in FIG. 3, the output signals of the FPGAs 51a to 51c are input to the memory 2b as sampling data, and the sampling data of the memory 2a is input to the input terminals of the FPGAs 51a to 51c. It is supplied as vector data. At this time, the output terminals of the FPGAs 51a to 51c output the internal signal NET1 by the SEL signal.
[0050]
FIG. 8 is a diagram showing a waveform at the time of the second (step 4) emulation. In the drawing, only the output signal of the output terminal F1_5 of the FPGA 51a is shown as sampling data to be input to the memory 2b for convenience. At this time, the output terminal F1_5 outputs the internal signal NET1 (see FIG. 2). The waveforms of the signals F2I1 to F3_3 are vector data supplied from the memory 2a to the FPGAs 51b and 51c, respectively.
[0051]
The timing of generation of addresses in the memory 2a differs between the time of sampling and the time of vector transmission. In FIG. 7, the signal F1_3 (F2I1) is first sampled as the value 1 at the memory address 3. In order for the value to be "1" at the time of sampling, the value of the actual signal is "1" before the rise of the sampling clock. Therefore, if the value of "1" is transmitted at the same timing of the sampling clock at the time of transmitting the vector data, the value of "1" is actually supplied after the rise of the sampling clock. Input data will be supplied one sampling clock later than time. Therefore, when transmitting the vector in the second emulation, the logic analyzer / vector transmission control unit 4 changes the address of the memory 2a so as to transmit the data one sampling clock before the sampling, as shown in FIG. To set.
[0052]
After the emulation is completed, the sampling data in the memories 2a and 2b is uploaded to the host 8. The host 8 displays a waveform on a display screen using a logic analyzer waveform display tool which is a part of a software tool.
[0053]
FIG. 9 is a flowchart of a waveform display process executed by the logic analyzer waveform display tool. The host 8 uploads data from the memories 2a and 2b of the prototyping system 1 in the above-described step 7 (steps S11 and S12). At this time, for the data obtained by reading the memory 2a, the terminal names of the FPGAs 51a to 51c are displayed on the screen as signal names as they are.
[0054]
On the other hand, with respect to the data obtained by reading the memory 2b, the internal signal assigned to the terminal name is searched with reference to the net output information 24, and the obtained internal signal is converted into a signal name (step S13). A signal composite waveform file 26 is generated by combining the data obtained from the memories 2a and 2b with the signal names assigned. When displaying a waveform, the signal composite waveform file 26 is read (step S14) and displayed on the display screen of the host 8 (step S15).
[0055]
FIG. 10 is a diagram showing an example of a waveform display screen. The data uploaded from the memory 2a is displayed as signals F1_3, F1_4,..., F201,. In the illustrated example, the data uploaded from the memory 2b is the only data output from the output terminal F1_5 of the FPGA 51a. However, since the signal F1_5 is actually a waveform in which the internal signal NET1 is output, it is converted to NET1 and displayed.
[0056]
An example of the analysis of the waveform displayed on the screen will be described. For example, in the waveform shown in FIG. 10, the signal F1_5 changes to the value “1” at the first rising edge of the user clock, and then the signal F1_5 changes to the state of “1”. Has remained. However, it is assumed that it is abnormal (malfunction) that F1_5 originally changes to the value “1” at the timing when the user clock rises. Here, it can be confirmed that the internal signal NET1 synthesized and displayed on the same screen has a hazard near the rising edge of the user clock. Thus, it is possible to easily confirm that the cause of the malfunction of the signal F1_5 is "hazard of the internal signal NET1" by displaying the signal combination.
[0057]
Even if the cause of the operation failure is due to the timing, the same failure phenomenon generally occurs even if the same emulation is repeated many times. At this time, a similar problem occurs in the operation inside the FPGA.
[0058]
Focusing on this point, the present invention emulates the original output signal and the internal signal from the single output terminal of the verification circuit, respectively, and synthesizes and displays the signals on a single display screen, thereby facilitating signal analysis. It is something that can be done. In addition, since the selector is inserted inside the FPGA to switch the internal signal and output from a single output terminal, unlike a configuration in which a macro circuit or a serial conversion unit is provided inside the FPGA and state analysis is performed, a higher speed is achieved. Timing analysis using a simple clock can be performed, and debugging can be easily performed.
[0059]
In addition, since the internal signal can be observed without using the unused terminal of the FPGA which is a verification circuit, the number of observation of the internal signal is not limited to the number of unused terminals as in the related art. Internal signals for the number of output terminals can be observed.
[0060]
(Embodiment 2)
FIG. 11 is a block diagram showing the configuration of the second embodiment of the prototyping system according to the present invention. The second embodiment has a configuration in which the number of switching devices 5 (5a to 5d) used in the first embodiment is reduced to two.
[0061]
The switch 15a mainly switches the output signal of each of the FPGAs 51a to 51c to the memory 2a or the memory 2b and outputs the same. , Contact 1 is connected to the memory 2b, and contact 2 is connected to the memory 2a. When switching to the first side, the output signals of the FPGAs 51a to 51c are output to the memory 2b. When switching to the second side, the output signals of the FPGAs 51a to 51c are output to the memory 2a via the switch 15b.
[0062]
The switch 15b switches whether to supply data stored in the memory 2a as vector data to each of the FPGAs 51a to 51c or not. The common contact is connected to the memory 2a, and the contact 1 is connected to the contact 2 of the switch 15a. , And the host I / F 7, and the contact 2 is connected to each contact 1 of the inter-device switches 9a and 9b. This switch 15b is interlocked with the switches 9a and 9b between the devices. When switching to the 1 side, the output signals of the FPGAs 51a to 51c are stored in the memory 2a via the switch 15a. Further, data stored in the memory 2a can be uploaded to the host 8. When switching to the second side, data stored in the memory 2a (output signals of the FPGAs 51a to 51c) can be output to the FPGAs 51a to 51c as vector data to the FPGAs 51a to 51c via the inter-device switches 9a and 9b. To
[0063]
Note that the memory 2b is directly connected to the host I / F 7, and is configured to be able to upload data stored in the memory 2b. Hereinafter, steps of the prototyping system 1 according to the second embodiment will be described.
[0064]
(Step 1) First, the logic analyzer / vector transmission control unit 4 connects the FPGAs 51a to 51c in a connection relationship realizing the originally designed circuit operation according to an instruction from the host 8. Specifically, the state shown in FIG. 11 is set, that is, the switch 15a is set to the contact 2 side, the switch 15b is set to the contact 1 side, and the inter-device switches 9a and 9b are set to the contact 2 side. With this setting, the input / output terminals of the FPGAs 51a to 51c are connected via the inter-device switches 9a and 9b.
[0065]
(Step 2) Next, the logic analyzer / vector transmission control unit 4 enables the user clock / reset signal generator 6 according to an instruction from the host 8, and starts the circuit operation of the FPGAs 51a to 51c. At this time, the output signal OUT1 is output from the output terminal F1_5 shown in FIG. 2 as the output signal of each of the FPGAs 51a to 51c. This output signal OUT1 is stored in the memory 2a via the switches 15a → 15b.
[0066]
(Step 3) Next, the logic analyzer / vector transmission control unit 4 stops emulation according to an instruction from the host 8, sets the switch 15b to the contact 2 side, sets the switches 9a and 9b between the devices to the contact 1 side, and sets the switch 15a to Switch to contact 1 side. As a result, the wiring between the FPGAs is disconnected by the inter-device switches 9a and 9b. FIG. 12 is a diagram illustrating a switching state of each switch.
[0067]
(Step 4) Next, the logic analyzer / vector transmission controller 4 enables the user clock / reset signal generator 6 according to an instruction from the host 8 and restarts emulation. At this time, the selection signal SEL is input to the selector 12d (see FIG. 2) of each of the FPGAs 51a to 51c in addition to the switch 15b and the switches 9a and 9b between the devices. That is, NET1 is output from the output terminal F1_5. This output signal is stored in the memory 2b via the switch 15a.
[0068]
(Step 5) At the same time, the logic analyzer / vector transmission control unit 4 transmits the data at the time of the previous emulation stored in the memory 2a (the above-described step 2) from the switch 15b to the FPGAs 51a to It supplies to the input terminal of 51c. The FPGA performs one circuit operation designed by the operation of all three FPGAs 51a to 51c. Here, by using the previous sampling data as an input vector, even if the wiring between the FPGAs 51a to 51c is disconnected at this time, it can be apparently operated as one circuit. it can.
[0069]
(Step 6) In response to an instruction from the host 8, the logic analyzer / vector transmission control unit 4 returns to the switch state shown in FIG. 11 after emulation is completed, sets the switch 15a to the contact 2 side, and sets the switch 15b to the contact 1 side. Then, the data stored in the memories 2a and 2b is uploaded to the host 8.
[0070]
The sampling data is also input to the host I / F 7 during the emulation. However, in order for the host 8 to take in the data during the emulation, the host 8 needs to be capable of transferring data at a speed higher than the sampling speed. Realistically impossible. Therefore, after emulation is completed, the host 8 sets a sufficiently slow clock to the sampling clock generator 3 and reads (uploads) data via the host I / F 7.
[0071]
(Step 7) The host 8 treats the sampling data in the memories 2a and 2b as data sampled by the same emulation, and displays a waveform on a display screen. This allows the operator to observe the state of the internal signals of the FPGAs 51a to 51c in association with the original external output signals.
[0072]
According to the above configuration, the same processing can be executed by reducing the number of switches 15 compared to the first embodiment.
[0073]
Various processes executed by the software tool of the host for operation verification in the prototyping system described above can be realized by executing a prepared program on a computer such as a personal computer or a workstation. This program is recorded on various recording media, and is executed by being read from the recording medium by a computer. The program may be a transmission medium that can be distributed via a network such as the Internet.
[0074]
(Appendix 1) In a prototyping system that verifies the operation of a programmable device,
The programmable device comprises a selector for selectively switching and outputting an original output signal defined from an output terminal of the programmable device and an internal signal of a desired internal circuit,
A prototyping system comprising a logic analyzer that controls the selector to perform emulation in a state where either the original output signal or the internal signal is output.
[0075]
(Supplementary Note 2) A mounting means for mounting a plurality of the programmable devices,
The logic analyzer according to claim 1, wherein the logic analyzer controls the selector to execute emulation in a state where either the original output signal or the internal signal of each of the plurality of programmable devices is output. Prototyping system as described.
[0076]
(Supplementary Note 3) Mounting means for mounting a plurality of programmable devices from which circuit information is downloaded, a logic analyzer that supplies a sampling clock to the programmable devices to obtain an operation waveform, and a host that controls execution of the logic analyzer In the prototyping system configured by
The programmable device comprises a selector for selectively switching and outputting an original output signal defined from an output terminal of the programmable device and an internal signal of a desired internal circuit,
The prototyping system, wherein the host corrects the circuit information by inserting selector information of the selector into the circuit information.
[0077]
(Supplementary Note 4) The host divides and synthesizes a design circuit of the programmable device to create circuit information for verifying operation of the programmable device, and downloads the created circuit information to the programmable device. The prototyping system according to claim 3, wherein:
[0078]
(Supplementary Note 5) The mounting means includes an inter-device switch for connecting or disconnecting input / output terminals of the plurality of programmable devices,
The logic analyzer further comprises control means for executing the emulation in a state where vector data is supplied to the input terminal of each of the programmable devices via the inter-device switch when the inter-device switch is disconnected. The prototyping system according to any one of Supplementary Notes 2 to 4.
[0079]
(Supplementary Note 6) The control means samples output signals of the plurality of programmable devices according to a sampling clock when the inter-device switch is connected and disconnected, and outputs each of the output signals at the time of connection and disconnection. The prototyping system according to Supplementary Note 5, wherein the prototyping system is stored separately.
[0080]
(Supplementary Note 7) The control means stores, as a first emulation result, output signals of the plurality of programmable devices obtained when the inter-device switch is connected,
When the inter-device switch is disconnected, the first emulation result is supplied as the vector data to the input terminal of each of the programmable devices through the inter-device switch, and the obtained outputs of the plurality of programmable devices are output. 7. The prototyping system according to claim 5, wherein the signal is stored as a result of the second emulation.
[0081]
(Supplementary Note 8) The logic analyzer includes a first storage unit that stores a result of the first emulation;
8. The prototyping system according to claim 7, further comprising a second storage unit that stores a result of the second emulation.
[0082]
(Supplementary Note 9) The control unit switches the selector of each of the programmable devices at the time of the second emulation for disconnecting the switch between the devices, and outputs an internal signal output from an output terminal of each of the programmable devices. Is obtained as the result of the second emulation.
[0083]
(Supplementary note 10) Any one of Supplementary notes 5 to 9, wherein the control unit changes the clock timing of the vector data to the input terminal of each of the programmable devices and supplies the same to the input terminal of the second emulation. A prototyping system as described in.
[0084]
(Supplementary Note 11) The logic analyzer uploads a plurality of executed emulation results to a host,
11. The prototyping system according to claim 1, wherein the host includes a waveform synthesizing unit that synthesizes and displays the plurality of uploaded emulation results on the same display screen.
[0085]
(Supplementary Note 12) The waveform synthesizing unit displays all output signals output from the output terminals of the programmable device based on the first emulation result, and displays the programmable device for the second emulation result. 12. The prototyping system according to claim 11, wherein only the internal signal output from the output terminal is extracted and synthesized and displayed together with all the output signals.
[0086]
(Supplementary Note 13) An emulation result from the programmable device to each of the first and second storage units is provided between the programmable device, the inter-device switch, and the first and second storage units. Flow, data flow for storing the vector data from the inter-device switch to the programmable device, and emulation results from the first and second storage means to the host. 13. The prototyping system according to any one of appendices 8 to 12, further comprising: a switch for switching a data flow for uploading the data to any one of the plurality of data streams, wherein the switch is controlled by the control unit.
[0087]
(Supplementary note 14) The host according to any of Supplementary notes 1 to 13, wherein the host assigns different signal names to the original output signal and the internal signal output from a single output terminal of the programmable device. A prototyping system according to any one of the preceding claims.
[0088]
(Supplementary Note 15) The host assigns a signal name of the original output signal to an output signal output from an output terminal of the programmable device by the first emulation,
The output signal output from the output terminal of the same output terminal of the programmable device by the second emulation is changed to the signal name of the internal signal. Prototyping system according to any one of the above.
[0089]
(Supplementary Note 16) A method of observing an internal signal of a programmable device in which a plurality of programmable devices are mounted and operation verification is performed,
A circuit information creating step of creating circuit information of the design circuit for each programmable device,
A selector insertion step of executing a process of inserting selector information for selectively outputting an internal signal of the programmable device into the circuit information to correct the circuit information created by the circuit information creation step;
A download step of downloading the selector-inserted circuit information obtained in the selector insertion step to the prototyping system,
Wherein the internal signal of the programmable device can be observed in the prototyping system.
[0090]
(Supplementary Note 17) In the selector inserting step, a selection is made to select which of an original output signal output from the same output terminal provided in the programmable device and an internal signal is output for the circuit information. 18. The method of observing an internal signal of a programmable device according to claim 16, wherein a process of arranging an input port for controlling a signal from outside the programmable device is performed.
[0091]
(Supplementary Note 18) A plurality of programmable devices having a selector for selectively switching and outputting an original output signal defined from an output terminal and an internal signal of a desired internal circuit are mounted, and the original output signal is provided. And a method for observing an internal signal of a programmable device for observing an internal signal,
Switching a selector of the programmable device to an output signal output side of the main body and supplying a sampling clock to the programmable device in a state where input / output terminals of the plurality of programmable devices are connected; A first emulation result obtaining step of obtaining an output signal of the device;
Switching the selector of the programmable device to an internal signal output side, and supplying the first emulation result as vector data to the programmable device in a state where input / output terminals of the plurality of programmable devices are disconnected; A second emulation result obtaining step of obtaining an internal signal of the programmable device;
A method for observing an internal signal of a programmable device, comprising:
[0092]
(Supplementary Note 19) A storing step of storing the first and second emulation results, respectively.
A display output step of displaying and outputting the first and second emulation results, respectively;
19. The method for observing an internal signal of a programmable device according to supplementary note 18, comprising:
[0093]
(Supplementary note 20) The method of observing an internal signal of a programmable device according to supplementary note 19, wherein the display output step includes a process of combining and displaying the first and second emulation results on the same display screen. .
[0094]
(Supplementary note 21) The display output step includes a process of assigning different signal names to the original output signal and the internal signal output from the same output terminal of the programmable device. 3. The method for observing an internal signal of a programmable device according to claim 1.
[0095]
【The invention's effect】
According to the present invention, internal signals for the number of output terminals of a verification circuit such as an FPGA can be observed, and an original output signal or an internal signal is output from an output terminal in an operation state in which a sampling clock is supplied to the verification circuit. As a result, timing analysis can be performed. Further, since the original output signal and the internal signal can be synthesized and displayed on the same display screen, it is possible to easily observe a defect of the verification circuit. As a result, there is an effect that the debugging efficiency can be remarkably improved, the debugging period can be shortened, and the development period of an LSI including a verification circuit can be shortened.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a first embodiment of a prototyping system according to the present invention.
FIG. 2 is a diagram illustrating a circuit configuration example of an FPGA as a verification circuit.
FIG. 3 is a diagram illustrating a switching state (part 1) of each switch.
FIG. 4 is a diagram illustrating a switching state (part 2) of each switch.
FIG. 5 is a flowchart showing a procedure for creating circuit information for download.
FIG. 6 is a flowchart illustrating a procedure of a selector insertion process.
FIG. 7 is a diagram showing a waveform at the time of a first emulation.
FIG. 8 is a diagram showing a waveform at the time of the second emulation.
FIG. 9 is a flowchart of a waveform display process executed by a logic analyzer waveform display tool.
FIG. 10 is a diagram showing an example of a waveform display screen.
FIG. 11 is a block diagram illustrating a configuration of a prototyping system according to a second embodiment of the present invention.
FIG. 12 is a diagram illustrating a switching state of each switch.
FIG. 13 is a configuration diagram showing a conventional prototyping system.
FIG. 14 is an internal configuration diagram of a verification circuit when performing state analysis.
[Explanation of symbols]
1 Prototyping system
2 (2a, 2b) memory
3 Sampling clock generator
4 Logic analyzer / vector transmission control unit
5 (5a-5d, 15a, 15b) switching device
6 User clock / reset signal generator
7 Host interface
8 Host
9a, 9b Switch between devices
10 Logic analyzer
12a, 12b FF instance
12c logic circuit
12d selector
20 RTL
21 Netlist
22 Wiring information between FPGA
23 Netlist after selector insertion
24 Net output information
25 Download circuit information
26 Signal synthesis waveform file
51a-51d FPGA

Claims (10)

プログラマブル・デバイスの動作検証を行うプロトタイピングシステムにおいて、
前記プログラマブル・デバイスは、該プログラマブル・デバイスが有する出力端子から規定された本来の出力信号と、所望する内部回路の内部信号とを選択的に切り替えて出力させるセレクタを備え、
前記セレクタを制御して前記本来の出力信号あるいは前記内部信号のいずれかを出力させた状態におけるエミュレーションを実行するロジックアナライザを備えたことを特徴とするプロトタイピングシステム。
In a prototyping system that verifies the operation of programmable devices,
The programmable device comprises a selector for selectively switching and outputting an original output signal defined from an output terminal of the programmable device and an internal signal of a desired internal circuit,
A prototyping system comprising a logic analyzer that controls the selector to perform emulation in a state where either the original output signal or the internal signal is output.
回路情報がダウンロードされるプログラマブル・デバイスを複数個実装する実装手段と、該プログラマブル・デバイスに対しサンプリングクロックを供給して動作波形を得るロジックアナライザと、該ロジックアナライザを実行制御するホストとによって構成されたプロトタイピングシステムにおいて、
前記プログラマブル・デバイスは、該プログラマブル・デバイスが有する出力端子から規定された本来の出力信号と、所望する内部回路の内部信号とを選択的に切り替えて出力させるセレクタを備え、
前記ホストは、前記回路情報に前記セレクタのセレクタ情報を挿入することによって前記回路情報を修正することを特徴とするプロトタイピングシステム。
It is constituted by mounting means for mounting a plurality of programmable devices from which circuit information is downloaded, a logic analyzer for supplying an operation waveform by supplying a sampling clock to the programmable device, and a host for controlling the execution of the logic analyzer. In a prototyping system,
The programmable device comprises a selector for selectively switching and outputting an original output signal defined from an output terminal of the programmable device and an internal signal of a desired internal circuit,
The prototyping system, wherein the host corrects the circuit information by inserting selector information of the selector into the circuit information.
前記実装手段は、複数個の前記プログラマブル・デバイスの入出力端子を連結あるいは切断するデバイス間スイッチを備え、
前記ロジックアナライザは、前記デバイス間スイッチの切断時に前記デバイス間スイッチを介して前記各プログラマブル・デバイスの入力端子に対しベクタデータを供給した状態で前記エミュレーションを実行する制御手段を備えたことを特徴とする請求項2に記載のプロトタイピングシステム。
The mounting means includes an inter-device switch for connecting or disconnecting input / output terminals of the plurality of programmable devices,
The logic analyzer further comprises control means for executing the emulation while supplying vector data to the input terminals of the programmable devices via the inter-device switch when the inter-device switch is disconnected. The prototyping system according to claim 2.
前記制御手段は、前記デバイス間スイッチの連結時、および切断時における複数個の前記プログラマブル・デバイスの出力信号をサンプリングクロックに従いサンプリングし、前記連結時と、切断時の前記各出力信号を個別に記憶することを特徴とする請求項3に記載のプロトタイピングシステム。The control means samples output signals of the plurality of programmable devices at the time of connection and disconnection of the inter-device switch according to a sampling clock, and individually stores the output signals at the time of connection and at the time of disconnection. The prototyping system according to claim 3, wherein 前記制御手段は、前記デバイス間スイッチの連結時に得られた複数個の前記プログラマブル・デバイスの出力信号を1回目のエミュレーション結果として記憶し、
前記デバイス間スイッチの切断時には、前記1回目のエミュレーション結果を前記ベクタデータとして前記デバイス間スイッチを介して前記各プログラマブル・デバイスの入力端子に供給し、得られた複数個の前記プログラマブル・デバイスの出力信号を2回目のエミュレーション結果として記憶することを特徴とする請求項3または4に記載のプロトタイピングシステム。
The control means stores, as a first emulation result, output signals of the plurality of programmable devices obtained when the inter-device switch is connected,
When the inter-device switch is disconnected, the first emulation result is supplied as the vector data to the input terminals of the programmable devices through the inter-device switch, and the obtained outputs of the plurality of programmable devices are obtained. The prototyping system according to claim 3, wherein the signal is stored as a result of the second emulation.
前記ロジックアナライザは、複数実行された前記エミュレーション結果をホストにアップロードし、
前記ホストは、該アップロードされた複数のエミュレーション結果を同一の表示画面上に合成表示する波形合成手段を備えたことを特徴とする請求項1〜5のいずれか一つに記載のプロトタイピングシステム。
The logic analyzer uploads the plurality of executed emulation results to a host,
The prototyping system according to any one of claims 1 to 5, wherein the host includes a waveform synthesizing unit that synthesizes and displays the plurality of uploaded emulation results on the same display screen.
前記プログラマブル・デバイスと、前記デバイス間スイッチと、前記第1,第2の記憶手段との間には、前記プログラマブル・デバイスから各第1,第2の記憶手段に対してエミュレーション結果を分別して記憶させるデータの流れと、前記デバイス間スイッチから前記プログラマブル・デバイスに対して前記ベクタデータを供給させるデータの流れと、前記第1,第2の記憶手段から前記ホストに対してエミュレーション結果をアップロードさせるデータの流れを、いずれかに切り替えるスイッチを備え、前記制御手段によって該スイッチが切り替え制御されることを特徴とする請求項6に記載のプロトタイピングシステム。Between the programmable device, the inter-device switch, and the first and second storage units, emulation results are separately stored in the first and second storage units from the programmable device. A data flow for causing the vector data to be supplied from the inter-device switch to the programmable device; and a data flow for uploading an emulation result from the first and second storage means to the host. 7. The prototyping system according to claim 6, further comprising a switch for switching the flow of the prototyping to any one, and wherein the switch is controlled by the control unit. プログラマブル・デバイスを複数個実装し、動作検証を行うプログラマブル・デバイスの内部信号観測方法であって、
前記プログラマブル・デバイス別の設計回路の回路情報を作成する回路情報作成工程と、
前記プログラマブル・デバイスの内部信号を選択出力するためのセレクタ情報を前記回路情報に挿入する処理を実行して前記回路情報作成工程により作成された回路情報を修正するセレクタ挿入工程と、
前記セレクタ挿入工程で得られたセレクタ挿入後の回路情報を前記プロトタイピングシステムにダウンロードするダウンロード工程と、
を含み、前記プロトタイピングシステムにおいてプログラマブル・デバイスの内部信号を観測可能としたことを特徴とするプログラマブル・デバイスの内部信号観測方法。
A method for observing an internal signal of a programmable device in which a plurality of programmable devices are mounted and operation verification is performed,
A circuit information creating step of creating circuit information of the design circuit for each programmable device,
A selector insertion step of executing a process of inserting selector information for selectively outputting an internal signal of the programmable device into the circuit information to correct the circuit information created by the circuit information creation step;
A download step of downloading the selector-inserted circuit information obtained in the selector insertion step to the prototyping system,
Wherein the internal signal of the programmable device can be observed in the prototyping system.
出力端子から規定された本来の出力信号と、所望する内部回路の内部信号とを選択的に切り替えて出力させるセレクタを備えたプログラマブル・デバイスを複数個実装し、前記本来の出力信号および内部信号を観測するプログラマブル・デバイスの内部信号観測方法であって、
前記プログラマブル・デバイスのセレクタを前記本体の出力信号出力側に切り替え、かつ複数個の前記プログラマブル・デバイスの入出力端子を連結させた状態で該プログラマブル・デバイスに対しサンプリングクロックを供給し、前記プログラマブル・デバイスの出力信号を得る第1のエミュレーション結果取得工程と、
前記プログラマブル・デバイスのセレクタを内部信号出力側に切り替え、かつ複数個の前記プログラマブル・デバイスの入出力端子を切断した状態で該プログラマブル・デバイスに対し前記第1のエミュレーション結果をベクタデータとして供給し、前記プログラマブル・デバイスの内部信号を得る第2のエミュレーション結果取得工程と、
を含むことを特徴とするプログラマブル・デバイスの内部信号観測方法。
A plurality of programmable devices having a selector for selectively switching and outputting an original output signal defined from an output terminal and an internal signal of a desired internal circuit are mounted, and the original output signal and the internal signal are output. A method for observing an internal signal of a programmable device for observing,
Switching a selector of the programmable device to an output signal output side of the main body and supplying a sampling clock to the programmable device in a state where input / output terminals of the plurality of programmable devices are connected; A first emulation result obtaining step of obtaining an output signal of the device;
Switching the selector of the programmable device to an internal signal output side, and supplying the first emulation result as vector data to the programmable device in a state where input / output terminals of the plurality of programmable devices are disconnected; A second emulation result obtaining step of obtaining an internal signal of the programmable device;
A method for observing an internal signal of a programmable device, comprising:
前記第1,第2のエミュレーション結果をそれぞれ記憶する記憶工程と、
前記第1,第2のエミュレーション結果をそれぞれ表示出力する表示出力工程と、
を含むことを特徴とする請求項9に記載のプログラマブル・デバイスの内部信号観測方法。
A storage step of storing the first and second emulation results, respectively;
A display output step of displaying and outputting the first and second emulation results, respectively;
The method for observing an internal signal of a programmable device according to claim 9, comprising:
JP2002174247A 2002-06-14 2002-06-14 Prototyping system and method for observing internal signal of programmable device Expired - Fee Related JP3845041B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002174247A JP3845041B2 (en) 2002-06-14 2002-06-14 Prototyping system and method for observing internal signal of programmable device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002174247A JP3845041B2 (en) 2002-06-14 2002-06-14 Prototyping system and method for observing internal signal of programmable device

Publications (2)

Publication Number Publication Date
JP2004023364A true JP2004023364A (en) 2004-01-22
JP3845041B2 JP3845041B2 (en) 2006-11-15

Family

ID=31173266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002174247A Expired - Fee Related JP3845041B2 (en) 2002-06-14 2002-06-14 Prototyping system and method for observing internal signal of programmable device

Country Status (1)

Country Link
JP (1) JP3845041B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097131A (en) * 2006-10-06 2008-04-24 Aoi Electronics Co Ltd Circuit configuration information generation apparatus, control apparatus, circuit verification system, circuit verification method, circuit configuration information generation program and control program
JP2011015144A (en) * 2009-07-01 2011-01-20 Tektronix Internatl Sales Gmbh Method for confirming relationship between packet and serial data
JP7048776B1 (en) * 2021-01-22 2022-04-05 Necプラットフォームズ株式会社 Programmable devices, systems, verification support methods, and programs
CN115328268A (en) * 2022-10-17 2022-11-11 湖南大学 High-resolution digital PWM signal modulation method and system based on FPGA

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097131A (en) * 2006-10-06 2008-04-24 Aoi Electronics Co Ltd Circuit configuration information generation apparatus, control apparatus, circuit verification system, circuit verification method, circuit configuration information generation program and control program
JP2011015144A (en) * 2009-07-01 2011-01-20 Tektronix Internatl Sales Gmbh Method for confirming relationship between packet and serial data
JP7048776B1 (en) * 2021-01-22 2022-04-05 Necプラットフォームズ株式会社 Programmable devices, systems, verification support methods, and programs
CN115328268A (en) * 2022-10-17 2022-11-11 湖南大学 High-resolution digital PWM signal modulation method and system based on FPGA

Also Published As

Publication number Publication date
JP3845041B2 (en) 2006-11-15

Similar Documents

Publication Publication Date Title
CN113312879B (en) Chip circuit function verification system, method, device and storage medium
US8041553B1 (en) Generic software simulation interface for integrated circuits
US7418681B2 (en) Simulation system, simulation method and simulation program for verifying logic behavior of a semiconductor integrated circuit
US6571370B2 (en) Method and system for design verification of electronic circuits
US6389558B1 (en) Embedded logic analyzer for a programmable logic device
CN107562038B (en) Automatic test system for vehicle-mounted controller
CN108304150B (en) Virtual reality equipment and configuration method thereof
US20040254906A1 (en) Resource board for emulation system
CN111859834B (en) UVM-based verification platform development method, system, terminal and storage medium
CN104407882A (en) Board card device
JP4890086B2 (en) Circuit verification apparatus and circuit verification method
CN116029242A (en) Cloud native hardware logic simulation FPGA acceleration method and system
US7310795B2 (en) Method and apparatus for simulating logic circuits that include a circuit block to which power is not supplied
JP3845041B2 (en) Prototyping system and method for observing internal signal of programmable device
US20060247909A1 (en) System and method for emulating a logic circuit design using programmable logic devices
CN116029236B (en) Comprehensive parameterized self-test model structure and test method
JP2002366602A (en) Simulation method, system and program for software and hardware
CN116629171A (en) FPGA chip debugging method and device based on synthesized netlist
JP2009223661A (en) Verification support program, recording medium with the program recorded therein, verification support apparatus, and verification support method
JP2009009318A (en) Asynchronous circuit-verifying program data generation method, asynchronous circuit verification method and asynchronous circuit verification device
CN116340150A (en) Reusable register performance interactive verification system based on UVM and application thereof
CN115268862A (en) Method for realizing SVF file for verifying chip debugging function based on python
JP2010250365A (en) Cooperative simulation system, hardware emulator, and cooperative simulation method
JP2015011363A (en) Cooperation verification device and cooperation verification method
JP2000215226A (en) Logic verifying device

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