回路構成情報生成装置、制御装置、回路検証システム、回路検証方法、回路構成情報生成プログラム及び制御プログラム
【課題】プログラマブル素子を用いて被検証回路の動作検証を行う場合に、コンパイルを再度行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、プログラマブル素子から出力する被検証回路の内部信号を変更可能な回路検証システム、回路検証方法、回路構成情報生成装置、制御装置、回路構成情報生成プログラム及び制御プログラムを提供する。
【解決手段】被検証回路の回路構成が記載されたRTLソースファイルと、観測信号名及び出力ビット位置が記された観測信号設定ファイルとを取得し、指定された内部信号を被検証回路の最上位階層の回路ブロックから出力し、MUX0〜MUX127及び制御レジスタ110を追加して、複数の観測信号からいくつかを選択して出力する回路構成の検証用RTLソースファイルを生成する。この回路をFPGAに構成し、制御レジスタ110のレジスタ値を更新して、出力する信号を変更する。
【解決手段】被検証回路の回路構成が記載されたRTLソースファイルと、観測信号名及び出力ビット位置が記された観測信号設定ファイルとを取得し、指定された内部信号を被検証回路の最上位階層の回路ブロックから出力し、MUX0〜MUX127及び制御レジスタ110を追加して、複数の観測信号からいくつかを選択して出力する回路構成の検証用RTLソースファイルを生成する。この回路をFPGAに構成し、制御レジスタ110のレジスタ値を更新して、出力する信号を変更する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、FPGA(Field Programmable Gate Array)又はCPLD(Complex Programmable Logic Device)等の論理回路を構成することができるプログラマブル素子を備える回路検証装置を用いて回路動作の検証を行う回路検証システム及び回路検証方法、並びに回路の検証を行う際に回路検証装置と共に用いる回路構成情報生成装置、制御装置、回路構成情報生成プログラム及び制御プログラムに関する。
【背景技術】
【0002】
従来、デジタル回路の設計者は、VHDL又はVerilog−HDL等のHDL(Hardware Description Language、ハードウェア記述言語)を用いてデジタル回路の設計を行っている。設計者がHDLにより記述したデジタル回路はRTL(Register Transfer Level)の回路と呼ばれ、RTLの回路を論理合成ツールを用いて論理合成することによりゲートレベルの回路を生成し、ゲートレベルの回路を基に自動配置配線ツールを用いて回路のレイアウトを作成することができる。このレイアウトを基に半導体ICの製造を行うことができるため、上述の方法により回路の設計から半導体ICの製造までの期間を短縮できるという利点がある。
【0003】
また、設計者はRTLの回路及びゲートレベルの回路を作成した後、これらの回路の動作検証をシミュレータを用いて行う必要がある。しかし、回路規模の増大に伴ってシミュレーション時間が増大し、限られた設計期間の中で十分な回路検証を行うことができないという問題があった。そこで、近年ではFPGA又はCPLD等のプログラマブル素子を備える回路検証装置を用いて回路の動作検証を行うことが必須となっている。この場合、設計者は、設計したRTLの回路をプログラマブル素子に構成して入力信号を与えることにより、回路を動作させて動作検証を行うことができ、プログラマブル素子に構成した回路は実時間で動作させることが可能であるため、動作検証の時間を短縮することができる。また、回路の動作は、プログラマブル素子の出力端子から出力される信号をロジックアナライザなどの観測装置を用いて観測することで確認することができる。
【0004】
しかし、シミュレータを用いて回路の動作検証を行う場合には、回路の内部信号を容易にディスプレイなどに表示して動作を確認することができるが、プログラマブル素子に構成した回路の内部信号を観測することは容易でなく、設計者はプログラマブル素子の出力端子から回路の内部信号を出力するようにRTLの回路の記述を若干変更する必要がある。プログラマブル素子の出力端子の数は限られているため、観測する内部信号を変更する場合にはRTLの回路の記述を再度変更する必要があり、変更後には論理合成及び配置・配線を行ってプログラマブル素子に回路を再構成する必要がある。よって、回路規模の増大に伴って論理合成及び配置・配線に必要な時間が増大するため、回路の動作検証時間が増大するという問題がある。なお、以後の記載においては、論理合成及び配置・配線を行ってプログラマブル素子に構成するための回路情報(ネットリスト)を作成する処理をコンパイルと呼称する。
【0005】
この問題に対し、プログラマブル素子内のメモリを利用して内部信号の値を記憶し、記憶した複数の内部信号の値をプログラマブル素子の出力端子からシリアル出力する内部信号観測ツールがある(非特許文献1参照)。この内部信号観測ツールでは、内部信号の値をシリアル出力するため、プログラマブル素子の出力端子数以上の内部信号を観測することができるという利点がある。なお、この内部信号観測ツールを利用する場合、トリガ条件に応じてメモリに内部信号を記憶させる処理及びメモリに記憶した値をシリアルデータとして出力する処理等を行うための専用回路をプログラマブル素子内に追加する必要がある。また、この内部信号観測ツールでは、プログラマブル素子へ与えるコンパイル後の回路データを直接的に設計者が変更することによって、観測する内部信号を変更することができるようにしてある。これにより、コンパイルを再度行うことなく観測する内部信号を変更することができる。
【非特許文献1】”FPGA内部信号観測ツールを活用する”、デザイン ウエブ マガジン(Design Wave Magazine)、2003 March、p.51-59
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、プログラマブル素子内のメモリの容量には限界があるため、非特許文献1の内部信号観測ツールの場合、メモリに値を記憶することができる内部信号の数にも限度がある。設計者が検証を行う回路の規模が大きいほど内部信号の数も多く、観測する必要がある内部信号の数が増大するため、プログラマブル素子内のメモリのみでこれらの内部信号を全て記憶しておくことは不可能である。このため、いくつかの内部信号を選択的にメモリに記憶させることしかできず、メモリに記憶していない内部信号を観測するためには設定を変更して再度コンパイルを行うか、又はコンパイル後の回路データを設計者が直接的に変更して出力する内部信号を変更する必要がある。コンパイルを再度行う場合、上述のようにコンパイルには回路規模に応じた時間を必要とするため、回路の動作検証に費やす時間が増大する。また、設計者がコンパイル後の回路データを直接的に変更する場合、コンパイルを再度行う時間と比較すると少ない時間であるが、回路データを変更するための時間及び変更した回路データをプログラマブル素子へ与えて回路を構成する時間等の時間が必要となり、また、設計者がコンパイル後の回路データを直接的に変更することは容易な作業ではない。
【0007】
また、非特許文献1の内部信号観測ツールでは、プログラマブル素子の出力端子からシリアル出力された信号をPC(パーソナルコンピュータ)にて取得し、取得したシリアルの信号をパラレルの信号に変換して、PCのディスプレイ上に波形として表示することができるが、表示された各波形に信号名として付されるラベルは、例えばSignal_001、Signal_002…のように、PCが自動的に作成した名称であり、設計者が回路の設計時に付した名称ではない。このため、設計者は表示された波形がどの内部信号に対応するものであるかを判別し難く、検証が行い難いという問題がある。設計者が手動で各波形に付されたラベルを変更することもできるが、観測する信号の数が多い場合には非常に手間のかかる作業である。
【0008】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、設計者が検証を行う被検証回路の構成に関する情報を有する例えばRTLのソースファイルなどの回路構成情報を取得すると共に、外部に出力させて観測を行う内部信号の例えば信号名などの識別子、及びこの内部信号を出力する例えばプログラマブル素子の出力端子番号などの出力位置の対応関係が記された対応情報を取得して、観測を行う複数の内部信号から出力可能な数の信号を選択するマルチプレクサなどの選択回路と、この選択回路の選択を規定する規定情報を記憶するレジスタなどの規定情報記憶部とを被検証回路に自動的に付与し、被検証回路、選択回路及び規定情報記憶部を含む検証用回路の回路構成情報を生成して出力する構成とすることにより、検証用回路の回路構成情報を基にプログラマブル素子に回路を構成して回路検証を行って、規定情報記憶部の規定情報を変更するのみで出力する内部信号を変更でき、コンパイルを再度行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、観測する内部信号を変更することが可能な回路構成情報を生成できる回路構成情報生成装置を提供することにある。
【0009】
また本発明の他の目的とするところは、被検証回路が階層的に複数の回路ブロックが設けられた構造であり、観測を行う内部信号が最上位階層ではない下位階層の回路ブロックの内部信号である場合に、この内部信号を下位階層の回路ブロックから順に上位階層の回路ブロックへ出力し、最上位階層の回路ブロックから出力して選択回路へ入力する構成の検証用回路の回路構成情報を生成する構成とすることにより、下位階層の回路ブロック内の内部信号であっても、確実に外部へ出力して観測を行うことが可能な回路構成情報を生成できる回路構成情報生成装置を提供することにある。
【0010】
また本発明の他の目的とするところは、取得する対応情報に含まれる内部信号の識別子を、最上位階層の回路ブロックからこの内部信号を有する回路ブロックまでの各回路ブロックに付されたインスタンス名などの識別子と、内部信号の信号名などの識別子との組み合わせで構成された識別子とすることにより、設計者が被検証回路を設計した際に各回路ブロック及び内部信号に付した識別子を用いて、観測を行う内部信号を指定することができる回路構成情報生成装置を提供することにある。
【0011】
また本発明の他の目的とするところは、選択回路が選択した内部信号をプログラマブル素子の複数の出力端子からパラレル出力する場合、取得する対応情報に含まれる内部信号の出力位置を、内部信号を出力する出力端子にそれぞれ対応付けられた番号とすることにより、観測する内部信号が出力される出力端子を設計者が容易に指定することができ、パラレル出力される内部信号の観測をより確実に行うことができる回路構成情報生成装置を提供することにある。
【0012】
また本発明の他の目的とするところは、選択回路が選択した内部信号をプログラマブル素子の出力端子からシリアル出力する場合、取得する対応情報に含まれる内部信号の出力位置を、シリアル出力の出力順位に対応付けられた番号とすることにより、観測する内部信号が出力される順位を設計者が容易に指定することができ、シリアル出力される内部信号の観測をより確実に行うことができる回路構成情報生成装置を提供することにある。
【0013】
また本発明の他の目的とするところは、選択回路が選択した信号を記憶する選択信号記憶部を更に含む検証用回路の回路構成情報を生成する構成とすることにより、選択信号記憶部に被検証回路の内部信号の値をまず蓄積し、その後に蓄積した内部信号の値をプログラマブル素子の外部に出力して検証を行うことができる検証用回路の回路構成情報を生成する回路構成情報生成装置を提供することにある。
【0014】
また本発明の他の目的とするところは、上述の回路構成情報生成装置が生成した回路構成情報の回路をプログラマブル素子に構成した回路検証装置の動作を制御する場合に、回路検証装置との間で通信を行う通信手段を設けて、プログラマブル素子の外部に出力する内部信号の選択を受け付け、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を通信手段を介して更新する構成とすることにより、プログラマブル素子内の選択回路の選択を切り替えて、選択された内部信号を出力させることができる制御装置を提供することにある。
【0015】
また本発明の他の目的とするところは、プログラマブル素子から出力された内部信号を通信手段を介して取得する構成とすることにより、取得した内部信号を波形として表示する又はファイルに記録してシミュレーション結果と比較する等の処理を容易に行うことができる制御装置を提供することにある。
【0016】
また本発明の他の目的とするところは、回路構成情報生成装置が取得した対応情報に含まれる被検証回路の内部信号の識別子を表示し、表示した識別子から一又は複数の内部信号の選択を受け付ける構成とすることにより、設計者が多数の内部信号から観測する信号を容易に選択して出力させることができる制御装置を提供することにある。
【0017】
また本発明の他の目的とするところは、プログラマブル素子を有する回路検証装置と、上述の回路構成情報生成装置及び制御装置とを備えて、回路構成情報生成装置が生成した回路構成情報に係る回路をプログラマブル素子に構成し、制御装置を用いて回路検証装置の動作を制御してプログラマブル素子に構成された回路の動作検証を行う構成とすることにより、コンパイルを再度行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、観測する被検証回路の内部信号を設計者が容易に切り替えて動作検証を行うことができる回路検証システムを提供することにある。
【0018】
また本発明の他の目的とするところは、被検証回路の構成に関する情報を有する回路構成情報を取得すると共に、外部に出力させて観測を行う内部信号の識別子及び出力位置の対応関係が記された対応情報を取得して、観測を行う複数の内部信号から出力可能な数の信号を選択する選択回路と、この選択回路の選択を規定する規定情報を記憶するレジスタなどの規定情報記憶部とを被検証回路に自動的に付与した検証用回路の回路構成情報を生成し、生成した回路構成情報に係る回路をプログラマブル素子に構成して被検証回路の動作検証を行うことにより、規定情報記憶部の規定情報を変更するのみで出力する内部信号を変更でき、コンパイルを再度行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、観測する内部信号を変更することができる回路検証方法を提供することにある。
【0019】
また本発明の他の目的とするところは、被検証回路が階層的に複数の回路ブロックが設けられた構造であり、観測を行う内部信号が最上位階層ではない下位階層の回路ブロックの内部信号である場合に、この内部信号を下位階層の回路ブロックから順に上位階層の回路ブロックへ出力し、最上位階層の回路ブロックから出力して選択回路へ入力する構成の検証用回路の回路構成情報を生成することにより、下位階層の回路ブロック内の内部信号であっても、確実に外部へ出力して観測を行うことができる回路検証方法を提供することにある。
【0020】
また本発明の他の目的とするところは、取得した対応情報に含まれる内部信号の識別子から、外部に出力して観測を行う内部信号の選択を受け付け、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を更新して、選択に応じた内部信号を出力させることにより、観測する内部信号を設計者が容易に切り替えて出力させることができる回路検証方法を提供することにある。
【0021】
また本発明の他の目的とするところは、観測を行う内部信号の識別子及び出力位置の対応関係が記された対応情報を取得し、観測を行う複数の内部信号から出力可能な数の信号を選択するマルチプレクサなどの選択回路と、この選択回路の選択を規定する規定情報を記憶するレジスタなどの規定情報記憶部とを、取得した回路構成情報に係る被検証回路に自動的に付与し、被検証回路、選択回路及び規定情報記憶部を含む検証用回路の回路構成情報を生成する構成とすることにより、生成した検証用回路の回路構成情報を基にプログラマブル素子に回路を構成して回路検証を行うことで、規定情報記憶部の規定情報を変更するのみで出力する内部信号を変更でき、コンパイルを再度行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、観測する内部信号を変更することが可能な回路構成情報を生成できる回路構成情報生成プログラムを提供することにある。
【0022】
また本発明の他の目的とするところは、上述の回路構成情報生成プログラムにより生成された回路構成情報の回路をプログラマブル素子に構成した回路検証装置の動作を制御する場合に、プログラマブル素子の外部に出力する内部信号の選択を受け付け、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を通信手段を介して更新する構成とすることにより、プログラマブル素子内の選択回路の選択を切り替えて、選択された内部信号を出力させることができる制御プログラムを提供することにある。
【課題を解決するための手段】
【0023】
第1発明に係る回路構成情報生成装置は、回路動作を検証する被検証回路の回路構成情報を取得する回路構成情報取得手段と、取得した前記被検証回路の回路構成情報を基に、論理回路を構成することが可能なプログラマブル素子に前記被検証回路を構成するための検証用回路の回路構成情報を生成する生成手段とを備え、プログラマブル素子及び該プログラマブル素子に構成された論理回路の内部信号を該プログラマブル素子の外部に出力する出力手段を有する回路検証装置にて、前記被検証回路を前記プログラマブル素子に構成して回路動作の検証を行うための回路構成情報を生成する回路構成情報生成装置において、前記出力手段は、前記プログラマブル素子に構成された前記被検証回路の一又は複数の内部信号を出力することができるようにしてあり、前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の識別子、及び前記出力手段による出力位置が対応付けられた対応情報を取得する対応情報取得手段を備え、前記生成手段は、前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の信号数が、前記出力手段の出力する信号数より多い場合に、前記被検証回路の複数の内部信号から前記出力手段が出力する信号数の信号を選択する選択回路と、該選択回路の選択を規定する規定情報を記憶する規定情報記憶部とを前記被検証回路と共に含む検証用回路の回路構成情報を生成するようにしてあることを特徴とする。
【0024】
本発明においては、回路構成情報生成装置が、まず、検証を行う被検証回路の構成に関する回路構成情報と、外部に出力させて観測を行う内部信号の識別子及び出力位置の対応情報とを取得する。被検証回路の回路構成情報は、例えばHDLにより記述されたRTLの回路のソースファイルを用いることができるが、C言語で記述された回路又は実際の回路図等であってもよく、設計者が設計した開発ターゲットとなる回路の構成に関する情報を有するものである。対応情報は、識別子として例えば被検証回路の内部信号の信号名と、出力位置として例えばプログラマブル素子が32ビットの信号を出力することができる場合に内部信号を出力するビット位置を0〜31の番号で指定したものとを対応付けて、これを設計者が予めテキストファイルなどに記述したものを用いることができる。回路構成情報生成装置はこれらを取得して、指定された複数の内部信号から、プログラマブル素子が出力可能な信号数の内部信号を選択するマルチプレクサなどの選択回路と、選択回路の選択を規定する規定情報を記憶するための規定情報記憶部とを被検証回路に追加し、被検証回路、選択回路及び規定情報記憶部を有する検証用回路の回路構成情報を生成して出力する。生成した回路構成情報を基に、被検証回路、選択回路及び規定情報記憶部をプログラマブル素子に構成することによって、規定情報記憶部に記憶された規定情報を変更するのみの簡単な処理で、被検証回路の内部信号を選択回路で選択して外部に出力し、観測することができる。出力する内部信号を変更する際に、コンパイルを再度行う必要はなく、また、コンパイル後の回路構成情報を直接的に変更する必要もない。
【0025】
また、第2発明に係る回路構成情報生成装置は、前記回路構成情報取得手段が取得した回路構成情報に含まれる被検証回路が、階層的に複数の回路ブロックが設けられた回路構造であり、且つ、前記対応情報に含まれる識別子に係る内部信号が、前記被検証回路の最上位階層でない回路ブロックの内部信号である場合に、前記生成手段は、前記内部信号を最上位階層の回路ブロックから出力して前記選択回路に入力する構成の検証用回路の回路構成情報を生成することを特徴とする。
【0026】
本発明においては、取得した回路構成情報に係る被検証回路が階層的に複数の回路ブロックが設けられた回路構造であり、取得した対応情報により観測する信号として指定された内部信号が最上位階層でない下位階層の回路ブロックの内部信号である場合、この内部信号を下位階層の回路ブロックから上位階層の回路ブロックへ順に出力し、最上位階層の回路ブロックから出力して選択回路へ入力する。回路構成情報生成装置は、この構成の検証用回路に係る回路構成情報を生成して出力する。出力された検証用回路の回路構成情報を基にコンパイルを行ってプログラマブル素子に構成することによって、下位階層の回路ブロック内の内部信号であっても外部へ出力して観測することができる。
【0027】
また、第3発明に係る回路構成情報生成装置は、前記回路構成情報取得手段が取得した回路構成情報に含まれる被検証回路が、階層的に複数の回路ブロックが設けられた回路構造であり、且つ、前記対応情報に含まれる識別子に係る内部信号が、前記被検証回路の最上位階層でない回路ブロックの内部信号である場合に、前記対応情報に含まれる内部信号の識別子は、各回路ブロックを一意的に識別することができ、最上位階層の回路ブロックから前記内部信号を有する回路ブロックまでの各回路ブロックにそれぞれ付された複数の識別子と、前記内部信号を有する回路ブロック内にて前記内部信号を識別する識別子との組み合わせで識別するようにしてあることを特徴とする。
【0028】
本発明においては、回路構成情報生成装置が取得する対応情報に含まれる内部信号の識別子を、最上位階層の回路ブロックからこの内部信号を有する回路ブロックまでの各回路ブロックに付されたインスタンス名など、各回路ブロックを一意に特定することができる識別子と、内部信号の信号名など、回路ブロック内で信号を一意に特定することができる識別子とを組み合わせた構成とする。回路ブロックのインスタンス名などの識別子は設計者が自ら付すものであり、また、回路ブロック内の信号名は設計者が自ら付すものであるため、設計者は容易に観測する信号を指定することができる。
【0029】
また、第4発明に係る回路構成情報生成装置は、前記出力手段が、前記選択回路が選択した複数の内部信号を前記プログラマブル素子に設けられた複数の出力端子からパラレル出力するようにしてあり、前記対応情報に含まれる前記出力位置は、複数の前記出力端子にそれぞれ対応付けられた番号であることを特徴とする。
【0030】
本発明においては、選択回路が選択した内部信号がプログラマブル素子の複数の出力端子からパラレル出力される構成の場合、対応情報に含まれる内部信号の出力位置を、内部信号を出力する出力端子にそれぞれ対応付けられた番号とする。例えばプログラマブル素子が内部信号の出力に利用可能な出力端子を32個有しており、32の内部信号を32ビットのパラレル信号として出力することができる場合、内部信号の出力位置としてパラレル信号のビット位置を0〜31の番号で指定する。これにより、設計者は出力位置を容易に指定することが可能となる。
【0031】
また、第5発明に係る回路構成情報生成装置は、前記出力手段が、前記選択回路が選択した複数の内部信号を前記プログラマブル素子に設けられた出力端子からシリアル出力するようにしてあり、前記対応情報に含まれる前記出力位置は、シリアル出力を行う際の出力順位に対応付けられた番号であることを特徴とする。
【0032】
本発明においては、選択回路が選択した内部信号がプログラマブル素子の出力端子からシリアル出力される構成の場合、対応情報に含まれる内部信号の出力位置を、シリアル出力される出力信号の出力順位に対応付けられた番号とする。例えばプログラマブル素子が1つの出力端子から32ビット幅の出力信号を0ビット目から順に31ビット目まで出力する場合、観測する内部信号を何ビット目に出力させるかを0〜31の番号で指定する。これにより、設計者は出力位置を容易に指定することが可能となる。
【0033】
また、第6発明に係る回路構成情報生成装置は、前記生成手段は、前記選択回路が選択した信号を記憶する選択信号記憶部を更に含む検証用回路の回路構成情報を生成するようにしてあり、前記出力手段は、前記選択信号記憶部に記憶された信号を出力するようにしてあることを特徴とする。
【0034】
本発明においては、選択回路が選択した信号を記憶する選択信号記憶部を更に含む検証用回路の回路構成情報を生成する。これにより、被検証回路の内部信号の値を選択信号記憶部にまず蓄積して、その後に蓄積した内部信号の値をプログラマブル素子の外部に出力することが可能となる。例えば、プログラマブル素子の内部の回路と外部の回路とでは動作速度が異なる場合などであっても、プログラマブル素子の外部の回路が被検証回路の内部信号を確実に取得することができる。
【0035】
また、第7発明に係る制御装置は、上述のいずれか1つの回路構成情報生成装置が生成した回路構成情報の回路が前記プログラマブル素子に構成された回路検証装置の動作を制御する制御装置であって、前記回路検証装置との間で通信を行う通信手段と、前記プログラマブル素子に構成された被検証回路の複数の内部信号から、外部に出力する内部信号の選択を受け付ける受付手段と、該受付手段が受け付けた選択に応じて、前記プログラマブル素子に構成された規定情報記憶部に記憶された規定情報を前記通信手段を介して更新する更新手段とを備えることを特徴とする。
【0036】
本発明においては、上述の回路構成情報生成装置が生成した回路構成情報の回路を、回路検証装置のプログラマブル素子に構成し、回路検証装置との間で通信を行うことができる制御装置を用いて被検証回路の動作検証を行う。制御装置は、プログラマブル素子の外部にいずれの内部信号を出力するかに係る選択を設計者から受け付けて、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を更新する。これにより、プログラマブル素子内の選択回路の選択が切り替わり、出力される内部信号が切り替わる。よって、出力する内部信号を変更するためにコンパイルを再度行う必要はなく、また、コンパイル後の回路構成情報を直接的に変更する必要もない。
【0037】
また、第8発明に係る制御装置は、前記出力手段が出力した内部信号を、前記通信手段を介して取得する内部信号取得手段を備えることを特徴とする。
【0038】
本発明においては、制御装置がプログラマブル素子から出力された内部信号を通信手段を介して取得する。制御装置は、取得した内部信号をシミュレーション結果と比較して誤りを検出したり、又は取得した内部信号を波形として表示したりすることが可能となる。これにより、設計者は回路の動作検証を容易に行うことが可能となる。
【0039】
また、第9発明に係る制御装置は、前記回路構成情報生成装置が取得した前記対応情報に含まれる被検証回路の内部信号の識別子を表示する表示手段を備え、前記受付手段は、前記表示手段により表示された識別子から一又は複数の内部信号の選択を受け付けるようにしてあることを特徴とする。
【0040】
本発明においては、回路構成情報生成装置は設計者から対応情報を取得し、これに応じて選択回路及び規定情報記憶部等を追加する。制御装置は、出力可能な内部信号と選択回路及び規定情報記憶部が記憶する規定情報との対応関係を、回路構成情報生成装置から取得するか、又は回路構成情報生成装置が出力した検証用回路の回路構成情報を解析するかして得ることができ、これにより対応情報にて指定された出力可能な内部信号の識別子を表示することができる。出力可能な内部信号の識別子を表示することによって、設計者はプログラマブル素子から出力させる内部信号を容易に選択することが可能となる。制御装置は、表示した内部信号の識別子から一又は複数の内部信号の選択を設計者から受け付けて、規定情報記憶部に記憶された規定情報を更新する。
【0041】
また、第10発明に係る回路検証システムは、論理回路を構成することが可能なプログラマブル素子、及び該プログラマブル素子に構成された論理回路の内部信号を該プログラマブル素子の外部に出力する出力手段を有する回路検証装置と、上述のいずれか1つの回路構成情報生成装置と、上述のいずれか1つの制御装置とを備え、前記回路構成情報生成装置が生成した回路構成情報に係る回路を、前記回路検証装置の前記プログラマブル素子に構成し、前記制御装置により前記回路検証装置の動作を制御して回路の動作検証を行うようにしてあることを特徴とする。
【0042】
本発明においては、プログラマブル素子を有する回路検証装置と、上述の回路構成情報生成装置及び制御装置とを備えて、回路構成情報生成装置が生成した回路構成情報に係る回路をプログラマブル素子に構成し、制御装置を用いて回路検証装置の動作を制御してプログラマブル素子内の規定情報記憶部に記憶された規定情報を更新することによって、プログラマブル素子から外部へ出力する被検証回路の内部信号の切り替えを行う。これらの3つの装置を用いることによって、コンパイルを繰り返し行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、被検証回路の内部信号を切り替えて出力させて観測し、回路の動作検証を行うことができる。
【0043】
また、第11発明に係る回路検証方法は、論理回路を構成することが可能なプログラマブル素子と、該プログラマブル素子に構成された回路の内部信号を該プログラマブル素子の外部に出力する出力手段とを備える回路検証装置を用いて、被検証回路を前記プログラマブル素子に構成し、該被検証回路の回路動作を検証する回路検証方法において、前記出力手段は、前記プログラマブル素子に構成された前記被検証回路の一又は複数の内部信号を出力することができるようにしてあり、前記被検証回路の回路構成情報を取得し、前記出力手段により前記プログラマブル素子の外部に出力させる前記被検証回路の内部信号の識別子、及び前記出力手段による出力位置が対応付けられた対応情報を取得し、前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の信号数が、前記出力手段の出力する信号数より多い場合に、前記被検証回路の複数の内部信号から前記出力手段が出力する信号数の信号を選択する選択回路と、該選択回路の選択を規定する規定情報を記憶する規定情報記憶部とを前記被検証回路と共に含む検証用回路の回路構成情報を生成し、該検証用回路を前記プログラマブル素子に構成して、前記被検証回路の回路動作を検証することを特徴とする。
【0044】
本発明においては、まず、検証を行う被検証回路の構成に関する情報を有する回路構成情報と、外部に出力させて観測を行う内部信号の識別子及び出力位置の対応情報とを取得する。取得したこれらの情報を基に、複数の内部信号からプログラマブル素子が出力可能な信号数の内部信号を選択する選択回路と、選択回路の選択を規定する規定情報を記憶するための規定情報記憶部とを被検証回路に追加し、被検証回路、選択回路及び規定情報記憶部の回路構成に関する情報を含む検証用回路の回路構成情報を生成して出力する。検証用回路の回路構成情報を基に、被検証回路、選択回路及び規定情報記憶部をプログラマブル素子に構成して回路の動作検証を行うことにより、規定情報記憶部に記憶された規定情報を変更するのみの簡単な処理で、被検証回路の内部信号を選択回路で選択して外部に出力し、観測することができる。出力する内部信号を変更する際に、コンパイルを再度行う必要はなく、また、コンパイル後の回路構成情報を直接的に変更する必要もない。
【0045】
また、第12発明に係る回路検証方法は、前記被検証回路が階層的に複数の回路ブロックが設けられた回路構造であり、且つ、前記対応情報に含まれる識別子に係る内部信号が最上位階層でない回路ブロックの内部信号の場合に、前記内部信号を最上位階層の回路ブロックから出力して前記選択回路に入力する構成の検証用回路の回路構成情報を生成することを特徴とする。
【0046】
本発明においては、取得した回路構成情報に係る被検証回路が階層的に複数の回路ブロックが設けられた回路構造であり、取得した対応情報により観測する信号として指定された内部信号が最上位階層でない下位階層の回路ブロックの内部信号である場合、この内部信号を下位階層の回路ブロックから上位階層の回路ブロックへ順に出力し、最上位階層の回路ブロックから出力して選択回路へ入力した回路構成の検証用回路の回路構成情報を生成する。検証用回路の回路構成情報を基にコンパイルを行ってプログラマブル素子に構成することによって、下位階層の回路ブロック内の内部信号であっても外部へ出力して観測することができる。
【0047】
また、第13発明に係る回路検証方法は、前記対応情報に含まれる内部信号の識別子から、外部に出力する内部信号の選択を受け付け、受け付けた選択に応じて、前記プログラマブル素子に構成された前記規定情報記憶部に記憶された規定情報を更新して、受け付けた選択に応じた内部信号を前記出力手段により出力させることを特徴とする。
【0048】
本発明においては、プログラマブル素子の外部にいずれの内部信号を出力するかに係る選択を設計者から受け付けて、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を更新する。これにより、プログラマブル素子内の選択回路の選択が切り替わり、出力される内部信号を切り替えることができる。よって、出力する内部信号を変更するためにコンパイルを再度行う必要はなく、また、コンパイル後の回路構成情報を直接的に変更する必要もない。
【0049】
また、第14発明に係る回路構成情報生成プログラムは、コンピュータに、回路動作を検証する被検証回路の回路構成情報を基に、論理回路を構成することが可能なプログラマブル素子に前記被検証回路を構成するための検証用回路の回路構成情報を生成させるステップを含み、プログラマブル素子及び該プログラマブル素子に構成された論理回路の内部信号を該プログラマブル素子の外部に出力する出力手段を有する回路検証装置にて、前記被検証回路を前記プログラマブル素子に構成して回路動作の検証を行うための回路構成情報を生成させる回路構成情報生成プログラムにおいて、前記出力手段は、前記プログラマブル素子に構成された前記被検証回路の一又は複数の内部信号を出力することができるようにしてあり、前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の識別子、及び前記出力手段による出力位置が対応付けられた対応情報を取得させるステップを含み、前記検証用回路の回路構成情報を生成させるステップにて、前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の信号数が、前記出力手段の出力する信号数より多い場合に、前記被検証回路の複数の内部信号から前記出力手段が出力する信号数の信号を選択する選択回路と、該選択回路の選択を規定する規定情報を記憶する規定情報記憶部とを前記被検証回路と共に含む検証用回路の回路構成情報を生成させることを特徴とする。
【0050】
本発明においては、プログラマブル素子の外部に出力させて観測を行う内部信号の識別子及び出力位置の対応情報を取得する。対応情報にて指定された複数の内部信号から、プログラマブル素子が出力可能な信号数の内部信号を選択するマルチプレクサなどの選択回路と、選択回路の選択を規定する規定情報を記憶するための規定情報記憶部とを被検証回路に自動的に付与し、この被検証回路、選択回路及び規定情報記憶部を含む検証用回路の回路構成情報を生成する。生成した回路構成情報を基に、被検証回路、選択回路及び規定情報記憶部をプログラマブル素子に構成することによって、規定情報記憶部に記憶された規定情報を変更するのみの簡単な処理で、被検証回路の内部信号を選択回路で選択して外部に出力し、観測することができる。出力する内部信号を変更する際に、コンパイルを再度行う必要はなく、また、コンパイル後の回路構成情報を直接的に変更する必要もない。
【0051】
また、第15発明に係る制御プログラムは、上述の回路構成情報生成プログラムがコンピュータに生成させた回路構成情報の回路を前記プログラマブル素子に構成した回路検証装置の動作を、コンピュータに制御させる制御プログラムであって、コンピュータに、前記プログラマブル素子に構成された被検証回路の複数の内部信号から、外部に出力する内部信号の選択を受け付けさせるステップと、受け付けた選択に応じて、前記プログラマブル素子に構成された規定情報記憶部に記憶された規定情報を更新させるステップとを含むことを特徴とする。
【0052】
本発明においては、上述の回路構成情報生成プログラムにより生成された回路構成情報の回路を、回路検証装置のプログラマブル素子に構成し、制御プログラムにより回路検証装置を制御して被検証回路の動作検証を行う。制御プログラムは、プログラマブル素子の外部にいずれの内部信号を出力するかに係る選択を設計者から受け付けて、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を更新する。これにより、プログラマブル素子内の選択回路の選択が切り替わり、出力される内部信号が切り替わる。よって、出力する内部信号を変更するためにコンパイルを再度行う必要はなく、また、コンパイル後の回路構成情報を直接的に変更する必要もない。
【発明の効果】
【0053】
第1発明による場合は、設計者が検証を行う被検証回路の回路構成情報を取得すると共に、観測を行う内部信号の識別子及び出力位置の対応関係が記された対応情報を取得して、観測を行う複数の内部信号から出力可能な数の信号を選択する選択回路と、この選択回路の選択を規定する規定情報を記憶する規定情報記憶部とを被検証回路に自動的に付与し、被検証回路、選択回路及び規定情報記憶部を含む検証用回路の回路構成情報を生成して出力する構成とすることにより、検証用回路の回路構成情報を基に、被検証回路、選択回路及び規定情報記憶部をプログラマブル素子に構成し、規定情報記憶部に記憶された規定情報を変更するのみの簡単な処理で、被検証回路の内部信号を選択回路で選択して外部に出力し、観測することができる。出力する内部信号を変更する際にコンパイルを再度行う必要がなく、また、コンパイル後の回路構成情報を直接的に変更する必要もないため、被検証回路の検証に費やす期間を短縮することができ、より多くのテストパタンで検証を行うことが可能となる。よって、検証の精度を高めることができると共に、被検証回路の信頼性を高めることができる。
【0054】
また、第2発明による場合は、被検証回路が階層的に複数の回路ブロックが設けられた構造であり、観測を行う内部信号が最上位階層でない下位階層の回路ブロックの内部信号である場合に、この内部信号を下位階層の回路ブロックから順に上位階層の回路ブロックへ出力し、最上位階層の回路ブロックから出力して選択回路へ入力する構成の検証用回路の回路構成情報を生成する構成とすることにより、生成された検証用回路の回路構成情報を基にコンパイルを行ってプログラマブル素子に構成することによって、下位階層の回路ブロック内の内部信号であっても確実に外部へ出力して観測することができる。よって、確実に且つ容易に被検証回路の動作検証を行うことができる。
【0055】
また、第3発明による場合は、回路構成情報生成装置が取得する対応情報に含まれる内部信号の識別子を、最上位階層の回路ブロックからこの内部信号を有する回路ブロックまでの各回路ブロックを一意に特定することができる識別子と、回路ブロック内で信号を一意に特定することができる識別子とを組み合わせた構成とすることにより、設計者が被検証回路を設計した際に各回路ブロック及び内部信号に付した識別子を用いて観測を行う内部信号を指定することができるため、回路構成情報生成装置の利便性を高めることができ、被検証回路の動作検証を容易に行うことができる。
【0056】
また、第4発明による場合は、選択回路が選択した内部信号をプログラマブル素子の複数の出力端子からパラレル出力する場合、取得する対応情報に含まれる内部信号の出力位置を、内部信号を出力する出力端子にそれぞれ対応付けられた番号とすることにより、観測する内部信号の出力位置を設計者が容易に指定することができるため、回路構成情報生成装置の利便性を高めることができ、被検証回路の動作検証を容易に行うことができる。
【0057】
また、第5発明による場合は、選択回路が選択した内部信号をプログラマブル素子の出力端子からシリアル出力する場合、取得する対応情報に含まれる内部信号の出力位置を、シリアル出力の出力順位に対応付けられた番号とすることにより、観測する内部信号の出力位置を設計者が容易に指定することができるため、回路構成情報生成装置の利便性を高めることができ、被検証回路の動作検証を容易に行うことができる。
【0058】
また、第6発明による場合は、選択回路が選択した信号を記憶する選択信号記憶部を更に含む検証用回路の回路構成情報を生成する構成とすることにより、被検証回路の内部信号の値を選択信号記憶部にまず蓄積して、その後に蓄積した内部信号の値をプログラマブル素子の外部に出力することができ、例えば、プログラマブル素子の内部の回路と外部の回路とでは動作速度が異なる場合などであっても、プログラマブル素子の外部の回路が被検証回路の内部信号を確実に取得することができるため、回路検証装置を用いた被検証回路の動作検証を容易に且つ確実に行うことができる。
【0059】
また、第7発明による場合は、上述の回路構成情報生成装置が生成した回路構成情報の回路を回路検証装置のプログラマブル素子に構成し、回路検証装置との間で通信を行うことができる制御装置を用いてプログラマブル素子の外部に出力する内部信号の選択を受け付け、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を更新する構成とすることにより、コンパイルを再度行うことなく、また、コンパイル後の回路構成情報を直接的に変更する必要もないため、観測する被検証回路の内部信号を変更することができるため、被検証回路の検証に費やす期間を短縮することができ、より多くのテストパタンで検証を行うことが可能となる。よって、検証の精度を高めることができると共に、被検証回路の信頼性を高めることができる。
【0060】
また、第8発明による場合は、プログラマブル素子から出力された内部信号を通信手段を介して取得する構成とすることにより、取得した内部信号をシミュレーション結果と比較して誤りを検出する又は取得した内部信号を波形として表示する等の処理を制御装置が行うことができるため、制御装置の利便性を向上することができ、被検証回路の動作検証を容易に行うことができる。
【0061】
また、第9発明による場合は、回路構成情報生成装置が取得した対応情報に含まれる被検証回路の内部信号の識別子を表示し、表示した識別子から一又は複数の内部信号の選択を受け付ける構成とすることにより、設計者がプログラマブル素子から出力させる内部信号を容易に選択することが可能となるため、制御装置の利便性をより向上することができ、被検証回路の動作検証をより容易に行うことができる。
【0062】
また、第10発明による場合は、プログラマブル素子を有する回路検証装置と、上述の回路構成情報生成装置及び制御装置とを備えて、回路構成情報生成装置が生成した回路構成情報に係る回路をプログラマブル素子に構成し、制御装置を用いて回路検証装置の動作を制御してプログラマブル素子に構成された被検証回路の動作検証を行う構成とすることにより、コンパイルを繰り返し行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、被検証回路の内部信号を切り替えて出力させて観測し、回路の動作検証を行うことができるため、被検証回路の検証に費やす期間を短縮することができ、より多くのテストパタンで検証を行うことが可能となる。よって、検証の精度を高めることができると共に、被検証回路の信頼性を高めることができる。
【0063】
また、第11発明による場合は、被検証回路の回路構成情報を取得すると共に、外部に出力させて観測を行う内部信号の識別子及び出力位置の対応関係が記された対応情報を取得して、観測を行う複数の内部信号から出力可能な数の信号を選択する選択回路と、この選択回路の選択を規定する規定情報を記憶するレジスタなどの規定情報記憶部とを被検証回路に自動的に付与した構成の検証用回路の回路構成情報を生成し、生成した回路構成情報に係る回路をプログラマブル素子に構成して被検証回路の動作検証を行うことにより、規定情報記憶部に記憶された規定情報を変更するのみの簡単な処理で、コンパイルを再度行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、被検証回路の内部信号を選択回路で選択して外部に出力して観測することができるため、被検証回路の検証に費やす期間を短縮することができ、より多くのテストパタンで検証を行うことが可能となる。よって、検証の精度を高めることができると共に、被検証回路の信頼性を高めることができる。
【0064】
また、第12発明による場合は、被検証回路が階層的に複数の回路ブロックが設けられた構造であり、観測を行う内部信号が最上位階層でない下位階層の回路ブロックの内部信号である場合に、この内部信号を下位階層の回路ブロックから順に上位階層の回路ブロックへ出力し、最上位階層の回路ブロックから出力して選択回路へ入力する構成の検証用回路の回路構成情報を生成することにより、この回路構成情報を基にコンパイルを行ってプログラマブル素子に構成することによって、下位階層の回路ブロック内の内部信号であっても外部へ出力して観測することができるため、確実に且つ容易に被検証回路の動作検証を行うことができる。
【0065】
また、第13発明による場合は、取得した対応情報に含まれる内部信号の識別子から外部に出力して観測を行う内部信号の選択を受け付けて、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を更新し、選択に応じた内部信号を出力させることにより、コンパイルを再度行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、観測する被検証回路の内部信号を変更することができるため、被検証回路の検証に費やす期間を短縮することができ、より多くのテストパタンで検証を行うことが可能となる。よって、検証の精度を高めることができると共に、被検証回路の信頼性を高めることができる。
【0066】
また、第14発明による場合は、観測を行う内部信号の識別子及び出力位置の対応関係が記された対応情報を取得し、観測を行う複数の内部信号から出力可能な数の信号を選択するマルチプレクサなどの選択回路と、この選択回路の選択を規定する規定情報を記憶するレジスタなどの規定情報記憶部とを、取得した回路構成情報に係る被検証回路に自動的に付与し、被検証回路、選択回路及び規定情報記憶部を含む検証用回路の回路構成情報を生成する構成とすることにより、検証用回路の回路構成情報を基に、被検証回路、選択回路及び規定情報記憶部をプログラマブル素子に構成し、規定情報記憶部に記憶された規定情報を変更するのみの簡単な処理で、被検証回路の内部信号を選択回路で選択して外部に出力し、観測することができる。よって、出力する内部信号を変更する際にコンパイルを再度行う必要はなく、また、コンパイル後の回路構成情報を直接的に変更する必要もないため、被検証回路の検証に費やす期間を短縮することがでる。
【0067】
また、第15発明による場合は、上述の回路構成情報生成プログラムにより生成された回路構成情報の回路をプログラマブル素子に構成した回路検証装置の動作を制御する場合に、プログラマブル素子の外部に出力する内部信号の選択を受け付け、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を通信手段を介して更新する構成とすることにより、コンパイルを再度行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、観測する被検証回路の内部信号を変更することができるため、被検証回路の検証に費やす期間を短縮することができ、より多くのテストパタンで検証を行うことが可能となる。よって、検証の精度を高めることができると共に、被検証回路の信頼性を高めることができる。
【発明を実施するための最良の形態】
【0068】
(実施の形態1)
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。図1は、本発明に係る回路検証システムの構成を示すブロック図である。図において1は、設計者が設計した論理回路(被検証回路)を構成することができるFPGA2が搭載された回路検証装置であり、設計者が操作するPC20に通信ケーブルを介して接続され、設計者の操作によりPC20から与えられる命令に応じてFPGA2内に構成された被検証回路を動作させるものである。回路検証装置1にて動作した被検証回路の動作結果はPC20へ送信するようにしてあり、設計者はPC20にて被検証回路の動作が正しいか否かを検証することができるようにしてある。
【0069】
回路検証装置1は、回路基板上に配設されたFPGA2、メモリ3、メモリ4、CPU5及び通信用デバイス6等を有し、これらはバスを介して相互にデータの授受を行うことができるように接続されている。FPGA2、メモリ3、メモリ4及び通信用デバイス6等は、1つのアドレス空間内の資源としてCPU5又はCPU5にて実行されるプログラムからアクセスすることが可能となるように管理されている。
【0070】
メモリ3は、FPGA2へ入力する入力データを一時的に蓄えるためのバッファとして用いられ、入力データはPC20から通信用デバイス6を介して与えられるようにしてある。メモリ4は、FPGA2から出力された出力データを一時的に蓄えるためのバッファとして用いられ、出力データは通信用デバイス6を介してPC20へ与えるようにしてある。なお、図1においてはメモリ3及びメモリ4の2つのメモリを設けてあるが、メモリ3及びメモリ4を1つのメモリで代用することも可能である。
【0071】
通信用デバイス6は、USBケーブル又はLANケーブル等の通信ケーブルに接続され、通信規約に基づいてPC20との間でデータの送受信を行うものである。PC20から受信したデータはメモリ3へ蓄えるようにしてあり、PC20へデータを送信する場合はメモリ4に蓄えられたデータを読み出して送信するようにしてある。
【0072】
FPGA2は、SRAM技術を利用した記憶素子を備えるプログラマブル素子であり、記憶素子に記憶された回路構成情報を変更することにより、FPGA2の内部に構成される回路を変更することが可能にしてある。SRAM技術を用いているため、回路検証装置1の電源投入直後のFPGA2内には論理回路は構成されておらず、電源投入後にPC20から回路構成情報を回路検証装置1へ送信することによって、FPGA2内に論理回路が構成されるようにしてある。なお、回路構成情報を記憶したROMを回路検証装置1内に配設し、電源投入後にこのROMから回路構成情報を読み出す構成とすることもできる。また、FPGA2は、内部に構成した論理回路の内部信号を出力する出力手段として、一又は複数の出力端子を有しており、この出力端子から出力された内部信号がメモリ4にデータとして蓄えられるようにしてある。
【0073】
PC20は、回路検証装置1を制御する制御装置として動作すると共に、回路検証装置1のFPGA2へ与える回路構成情報を生成する回路構成情報生成装置として動作するものである。PC20は、メモリ21、CPU22、通信I/F(インタフェース)23及びハードディスク24等がバスを介して相互に接続された構成であり、所謂、汎用のコンピュータの構成である。また、図示は省略するが、PC20は液晶ディスプレイ又はCRTディスプレイ等の表示装置と、キーボード及びマウス等の入力装置とを備えている。また、通信I/F23は、USBケーブル又はLANケーブル等の通信ケーブルを接続する接続ポートを有しており、回路検証装置1の通信用デバイス6と通信ケーブルを介して接続し、データの送受信を行うことができるようにしてある。
【0074】
ハードディスク24は、図示しないオペレーティングシステム及びデバイスドライバ等のソフトウェアプログラムが記憶してあると共に、回路検証装置1を用いて被検証回路の検証を行う際に用いる変換ツール25、コンパイルツール26及び検証ツール27のソフトウェアプログラムが記憶してある。変換ツール25及びコンパイルツール26は、回路検証装置1のFPGA2へ与える回路構成情報を生成するためのソフトウェアプログラムであり、これらのソフトウェアプログラムがCPU22にて実行されることによって、PC20は回路構成情報生成装置として動作する。また、検証ツール27は、FPGA2に被検証回路を構成した後、回路検証装置1へ動作命令及び入力データ等を与えると共に、被検証回路の動作結果を回路検証装置1から受信するなど、回路検証装置1の動作を制御するソフトウェアプログラムであり、このソフトウェアプログラムがCPU22にて実行されることによって、PC20は制御装置として動作する。
【0075】
図2は、本発明に係る回路検証システムにおいてFPGA2へ与える回路構成情報を生成する手順を説明するための模式図である。PC20にて動作する変換ツール25は、RTLソースファイル40及び観測信号設定ファイル41の2つの情報を読み込んで取得するようにしてある。RTLソースファイル40は、設計者が設計し、回路検証装置1を用いて検証を行う被検証回路の回路構成情報がHDLにより記述されたファイルである。RTLソースファイル40に回路構成情報が記述された被検証回路は、設計者がシミュレーションにて動作検証を十分に行ったものであることが好ましい。
【0076】
図3は、RTLソースファイル40に回路構成情報が記述された被検証回路の一例を示す模式図である。設計者が設計する被検証回路は、複数の回路ブロックが階層構造をなしている場合が多い。図3に示す例においては、被検証回路が3階層の階層構造を有する場合を図示してある。なお、設計者が回路をHDL(特に、Verilog−HDL)により設計した場合、各回路ブロックにはモジュール名及びインスタンス名が付されている。以降の図において、回路ブロックのモジュール名をM?(?=A、B、C、D…)で示し、回路ブロックのインスタンス名をI?(?=0、1、2、3、4…)で示す。また、モジュール名がM?であり、インスタンス名がI?である回路ブロックを「回路ブロックM?:I?」と表記する。モジュール名は回路ブロックの回路構成に対して付される名称であり、被検証回路内に同じモジュール名の回路ブロックが複数含まれている場合には、同じ構成の回路が複数存在している。これに対してインスタンス名は、回路ブロックの実体に対して付される名称であり、回路ブロックを一意に識別することが可能な名称であるため、同一のインスタンス名を有する回路ブロックが同じ階層の回路ブロック内に存在することはない。
【0077】
図3に例示した被検証回路は、最上位階層の回路ブロックMA:I0が回路ブロックMB:I1及びMC:I2の2つの回路ブロックを有し、更に回路ブロックMB:I1が同一構成の2つの回路ブロックMD:I3及びMD:I4を有する3階層の階層構造を有する回路である。回路ブロックMD:I3及びMD:I4は回路構成は同じであるため、信号名が”x”の内部信号を共に有している。
【0078】
図4は、観測信号設定ファイル41に記載される観測信号名の一例を示す模式図である。なお、以降の図及び説明における回路検証システムは、FPGA2が128本の観測用の信号をパラレル出力することが可能であり、設計者は1024本の内部信号を観測する信号として指定することができる構成とする。また、設計者は、FPGA2が128本の観測用の信号をパラレル出力するために有する128個の出力端子のうち、指定した内部信号をいずれの出力端子から出力させるか、即ち指定した内部信号と出力されるパラレル信号のビット位置との対応を指定することができる。このとき、1つの出力端子に最大で8本の内部信号を割り当てることができるものとする。ただし、本発明に係る回路検証システムの構成がこれらの構成に限られるものではない。
【0079】
設計者は、観測信号設定ファイル41に、被検証回路に含まれる内部信号の信号名を”観測信号名”として記載し、この内部信号を出力する出力ビット位置を”出力ビット位置”として0〜127の番号で指定することによって、変換ツール25に対する設定を行うことができる。”観測信号名”は、被検証回路の最上位階層の回路ブロックのインスタンス名から、観測を行う内部信号が存在する回路ブロックのインスタンス名までを順に”.”などの記号を用いて連結し、最後に信号名を連結したものを用いることができる。インスタンス名は回路ブロックを一意に識別することができる識別子であるため、これにより被検証回路内の信号を一意に識別することが可能である。例えば、図3に示す被検証回路の回路ブロックMD:I3内に存在する内部信号xは、”I0.I1.I3.x”のように指定することができ、回路ブロックMD:I4内に存在する内部信号xと区別することが可能である。なお、図4においては、”観測信号名”及び”出力ビット位置”を表として示してあるが、観測信号設定ファイル41がテキストファイルの場合、例えばテキストファイルの1行に1つの”観測信号名”と”出力ビット位置”とをスペース又は”、”等の記号で隔てて記載するのみなどの簡単な構成でよい。なお、本実施の形態においては、観測を行う被検証回路の内部信号を指定するために、観測信号設定ファイル41に“観測信号名”として内部信号を記載する方法を用いているが、これに限るものではなく、例えば被検証回路の回路図を表示するツールを利用して、観測を行う信号を回路図上で指定するなどの他の方法を用いてもよい。
【0080】
変換ツール25は、上述のようなRTLソースファイル40及び観測信号設定ファイル41を読み取って取得し、観測信号設定ファイル41に設定された内部信号が外部にて観測可能となるように被検証回路の変更及びその他の回路の追加等を行って、検証用RTLソースファイル42を生成し、出力するようにしてある。図5は、検証用RTLソースファイル42に回路構成情報が記述された検証用回路の一例を示す模式図である。
【0081】
変換ツール25は、観測信号設定ファイル41に”観測信号名”として設定された内部信号を、被検証回路の最上位階層の回路ブロックから出力信号として出力するように、被検証回路の変更を行う。図示の例では、回路ブロックMD:I3の内部信号xが観測信号として指定された場合、まず、回路ブロックMD:I3に内部信号xを出力する出力端子101を設けて内部信号xを出力する。次いで、回路ブロックMD:I3を有する回路ブロックMB:I1に出力端子102を設けて、回路ブロックMD:I3の出力端子101から出力された信号を出力端子102から出力する。更に、同様にして回路ブロックMB:I1を有する最上位階層の回路ブロックMA:I0に出力端子103を設けて、回路ブロックMB:I1の出力端子102から出力された信号を出力端子103から出力する。このとき、信号名が重複することがないように、内部信号xの信号名を被検証回路内の他の信号の名称とは異なる名称、例えば”dbg_I0_I1_I3_x”のような名称に変更する。図示は省略するが、変換ツール25は、観測信号設定ファイル41に設定された全ての内部信号に関して同様の処理を行い、被検証回路の最上位階層の回路ブロックMA:I0から設定された全ての内部信号を出力するように、被検証回路を変更する。
【0082】
被検証回路の変更が終了した後、変換ツール25は、FPGA2から観測する信号として出力可能な信号数(本図の例では128)のマルチプレクサ(以下、MUX?(?=0、1…127)と表記する)を追加する。MUX0〜MUX127はそれぞれ8本の入力信号から1本の信号を選択して出力するものであり、MUX0〜MUX127の各出力信号がFPGA2の出力端子から出力される信号となる。変換ツール25は、観測信号設定ファイル41に記載された”出力ビット位置”を基にして、被検証回路から出力した内部信号をMUX0〜MUX127の入力端子に接続するようにしてあり、MUX0〜MUX127の出力信号を検証用回路の出力信号として出力手段をなすFPGA2の対応する出力端子からそれぞれ出力できるように接続する。また、MUX0〜MUX127は3ビットの制御信号(sel)が与えられており、この制御信号に応じて信号の選択を行うようにしてある。
【0083】
このため、変換ツール25は、MUX0〜MUX127の選択を制御する制御信号を出力する制御レジスタ110を回路に追加する。制御レジスタ110は、3ビット幅のレジスタが128個並べられたものであり、128個のレジスタに記憶された3ビットのレジスタ値がMUX0〜MUX127へそれぞれ制御信号として与えられるように、変換ツール25は制御レジスタ110とMUX0〜MUX127とを接続するようにしてある。制御レジスタ110のレジスタ値は回路検証装置1のCPU5が直接的に更新することができるようにしてある。
【0084】
このように、変換ツール25は、被検証回路の変更を行って、MUX0〜MUX127及び制御レジスタ110を追加し、回路検証装置1を用いて検証を行うための検証用RTLソースファイル42を生成して出力する。また、変換ツール25は、追加したMUX0〜MUX127及び制御レジスタ110を制御するための制御情報を有する制御情報ファイル43を出力するようにしてある。図6は、制御情報ファイル43に含まれる制御情報の一例を示す模式図である。
【0085】
制御情報ファイル43の制御情報に含まれる”観測信号名”及び”出力ビット位置”に係る情報は、観測信号設定ファイル41に含まれる”観測信号名”及び”出力ビット位置”と同じものである。更に、制御情報ファイル43は、MUX0〜MUX127による内部信号の選択を規定する”選択規定値”に関する情報を有している。”選択規定値”は、MUX0〜MUX127に制御信号(sel)としてそれぞれ与えられる3ビットの値であり、制御レジスタ110に記憶させる値である。よって、”観測信号名”に対応する”選択規定値”を対応する制御レジスタ110に記憶させることによって、MUX0〜MUX127の選択を切り替え、”観測信号名”に対応する内部信号をFPGA2の外部に出力させて観測することが可能となる。
【0086】
変換ツール25が出力した検証用RTLソースファイル42は、回路検証装置1のFPGA2に回路として構成するため、FPGA2のハードウェア構成に適した回路構成情報に変換する必要がある。よって、設計者はコンパイルツール26を用いてこの変換、即ちコンパイルを行う。コンパイルツール26は、検証用RTLソースファイル42を読み取って取得すると共に、図示しないFPGA2のハードウェア構成に係る情報を取得してコンパイルを行い、FPGA用ネットリスト44を生成して出力するようにしてある。
【0087】
図7は、FPGA用ネットリスト44に回路構成情報が記述された検証用回路の一例を示す模式図である。被検証回路とMUX0〜MUX127及び制御レジスタ110等を含む検証用回路は、コンパイルツール26によりコンパイルされた場合、図示のように階層構造を有しない、即ち1階層の回路構成に変換されて、論理回路を構成するためのFPGA2内の回路要素を配線で接続した回路構成となる。
【0088】
設計者は、コンパイルツール26が生成したFPGA用ネットリスト44をPC20から回路検証装置1へ送信してFPGA2へ与え、FPGA2に図7に示した検証用の回路を構成させる。その後、PC20にて検証ツール27を起動し、検証ツール27を用いてFPGA2に構成された被検証回路への入力信号の入力及び出力信号の取得等を行い、被検証回路の動作が正しいか否かを検証することができるようにしてある。
【0089】
検証ツール27は、例えば、予め設計者が作成した入力信号のテストパタンをPC20から回路検証装置1のメモリ3へ送信し、メモリ3からFPGA2内に構成された被検証回路へテストパタンを入力することができる。また、FPGA2から出力されてメモリ4に記憶された被検証回路の出力信号及び内部信号を通信用デバイス6を介して取得し、PC20にてテキストファイル又はバイナリファイル等に保存して設計者が予め用意した期待値ファイルとの比較を行う、又は取得した内部信号を波形として表示する等の処理を行うことができる。また、設計者は、検証ツール27を用いてFPGA2から出力される被検証回路の内部信号、即ち観測信号の切り替えを行うことができる。
【0090】
図8は、検証ツール27による観測信号の選択画面の一例を示す模式図であり、検証ツール27がPC20のディスプレイ上に表示する選択画面である。設計者は、観測信号を選択して切り替える場合には、検証ツール27に図示のような観測信号選択ウィンドウを表示させ、このウィンドウに一覧表示される観測信号名から所望の信号を選択することにより観測信号を切り替えることができるようにしてある。検証ツール27は、変換ツール25が出力した制御情報ファイル43を読み込んで取得することにより、制御情報ファイル43の”観測信号名”及び”出力ビット位置”を観測信号選択ウィンドウに一覧として表示すると共に、一覧表示した信号毎にトグル的に選択/非選択を行うことができるチェックボックスを”選択フラグ”として表示するようにしてある。
【0091】
設計者はチェックボックスをチェックすることで観測信号を選択できるようにしてあり、検証ツール27は、設計者が一のチェックボックスをチェックして観測信号を選択した場合、選択された信号の“出力ビット位置”の値を調べて、この値と“出力ビット位置”が同じ値の他の信号全てについてチェックボックスのチェックを外して、他の信号を非選択とするようにしてある。
【0092】
設計者はチェックボックスをチェックした後、観測信号選択ウィンドウの更新ボタンを操作することにより選択を確定させることができ、検証ツール27は設計者の選択に応じて、制御情報ファイル43の対応する”選択規定値”を取得し、回路検証装置1のFPGA2内の制御レジスタ110へ”選択規定値”を記憶させることにより、MUX0〜MUX127による信号の選択を切り替え、設計者が選択した被検証回路の内部信号をFPGA2外へ出力させるようにしてある。
【0093】
図9は、検証ツール27による観測信号の切り替え処理の手順を示すフローチャートであり、設計者が観測信号選択ウィンドウを表示させた後からの処理について図示してある。検証ツール27は、観測信号選択ウィンドウに設けられた更新ボタンが操作されたか否かを調べ(ステップS1)、更新ボタンが操作されていない場合には(S1:NO)、更新ボタンが操作されるまで待機する。
【0094】
更新ボタンが操作された場合(S1:YES)、制御情報ファイル43から制御情報を読み出して(ステップS2)、選択された信号に対応する”選択規定値”を調べることにより、制御レジスタ110に記憶させるレジスタ値を決定し(ステップS3)、決定したレジスタ値を回路検証装置1へ送信する(ステップS4)。これにより、回路検証装置1では受信したレジスタ値をFPGA2内の制御レジスタ110に記憶させるため、MUX0〜MUX127による信号の選択がレジスタ値に応じて切り替わり、出力される内部信号が切り替わる。
【0095】
以上の構成の回路検証システムにおいては、設計者が設計した被検証回路に、変換ツール25がMUX0〜MUX127及び制御レジスタ110を自動的に追加して検証用RTLソースファイル42を出力するため、設計者は設計した被検証回路の回路構成情報を有するRTLソースファイル40と、観測する内部信号の信号名を記述した観測信号設定ファイル41とを用意するのみでよいため、回路検証を容易に行うことができる。また、MUX0〜MUX127及び制御レジスタ110を用いることにより、コンパイルを繰り返し行うことなく、外部で観測する信号を切り替えることができるため、検証期間を短縮することができる。また、観測信号設定ファイル41に被検証回路の回路ブロックのインスタンス名及び信号名を連ねた識別子を”観測信号名”として記述することができ、検証ツール27にて同じ”観測信号名”を表示して設計者に信号の選択を行わせることができるため、設計者にとって使い勝手のよい回路検証システムを提供することができる。
【0096】
なお、本実施の形態においては、1つのPC20内に変換ツール25、コンパイルツール26及び検証ツール27等のソフトウェアプログラムが記憶してある構成としたが、これに限るものではなく、それぞれが別のPCにて動作する構成としてもよい。また、変換ツール25及びコンパイルツール26を別のソフトウェアプログラムとしたが、これに限るものではなく、変換ツール25の機能をコンパイルツール26が備える(又はコンパイルツール26の機能を変換ツール25が備える)構成として、1つのソフトウェアプログラムとしてもよい。この場合、検証用RTLソースファイル42を生成する必要はなく、RTLソースファイル40から直接的にFPGA用ネットリスト44を作成してもよい。また、図3に示した被検証回路の構成は一例であって、これに限るものではない。また、被検証回路の内部信号をMUX0〜MUX127にて選択し、FPGA2の出力端子から出力してメモリ4に記憶させる構成としたが、これに限るものではなく、FPGA2内にメモリを設けてMUX0〜MUX127の出力信号を記憶する構成としてもよく、FPGA2の出力端子から出力された信号を通信用デバイス6から直接的にPC20へ送信し、PC20のメモリに記憶する構成としてもよく、その他の構成であってもよい。
【0097】
(実施の形態2)
図10は、本発明の実施の形態2に係る回路検証システムの変換ツール25が生成した検証用RTLソースファイル42に回路構成情報が記述された検証用回路の一例を示す模式図である。実施の形態1の場合、MUX0〜MUX127は8本の信号から1本の信号を選択する同じ構成のマルチプレクサとしたが(図5参照)、実施の形態2はMUX0〜MUX127がそれぞれ異なる構成のマルチプレクサを含む場合である。
【0098】
例えば、図示の例では、MUX127は8本の信号から1本の信号を選択するマルチプレクサであり、MUX126は4本の信号から1本の信号を選択するマルチプレクサであり、MUX125は5本の信号から1本の信号を選択するマルチプレクサであり、MUX124は11本の信号から1本の信号を選択するマルチプレクサであり、MUX0は6本の信号から1本の信号を選択するマルチプレクサである。よって、各MUX0〜MUX127の選択を規定する制御信号のビット幅は、MUX0〜MUX127毎に異なるため、制御レジスタ110のレジスタ長もこれに合わせて可変長とするか、又は最大長のものに合わせて固定長とする。
【0099】
このように、各MUXの大きさを可変とすることにより、設計者は出力ビット位置に割り当てる観測信号の信号数を意識することなく観測信号設定ファイル41の”出力ビット位置”に番号を記述することができるため、回路検証システムの利便性を向上することができると共に、FPGA2内の資源を効率よく利用することができる。
【0100】
なお、実施の形態2に係る回路検証システムのその他の構成は、実施の形態1に係る回路検証システムの構成と同様であるため、対応する箇所には同じ符号を付して詳細な説明を省略する。
【0101】
(実施の形態3)
図11は、本発明の実施の形態3に係る回路検証システムの変換ツール25が生成した検証用RTLソースファイル42に回路構成情報が記述された検証用回路の一例を示す模式図である。実施の形態1及び実施の形態2の場合、MUX0〜MUX127により選択された128本の信号をFPGA2の128個の出力端子から出力する構成としたが、実施の形態3の場合は、MUX0〜MUX127により選択された128本の信号をFPGA2の1個の出力端子からシリアル出力する構成である。
【0102】
変換ツール25は、設計者が予め用意したRTLソースファイル40及び観測信号設定ファイル41を読み込んで取得し、RTLソースファイル40に回路構成情報が記載された被検証回路にMUX0〜MUX127及び制御レジスタ110を追加すると共に、パラレル−シリアル変換回路315を追加するようにしてある。パラレル−シリアル変換回路315は、FPGA2の出力端子と共に被検証回路の内部信号を外部に出力するための本発明の出力手段をなし、MUX0〜MUX127が出力する128本の出力信号をサンプリングして、例えばMUX127の出力信号の値からMUX0の出力信号の値までを順にFPGA2の出力端子から出力するものである。この場合、観測信号設定ファイル41に記載された”出力ビット位置”は、シリアル信号として順に出力される128個の値のうちの何番目に出力される値であるか、即ち出力順位に相当する。
【0103】
このように、MUX0〜MUX127が選択して出力した128本の出力信号をシリアル信号に変換して出力する構成とすることにより、FPGA2の出力端子の数が少ない場合であっても、被検証回路の内部信号をより多く観測することができる。なお、パラレル−シリアル変換回路315が出力するシリアル信号は0〜127の出力信号の値をMSB(Most Significant Bit、最上位ビット)から出力してもよく、LSB(Least Significant Bit、最下位ビット)から出力してもよく、又は設計者が予め定めた順序で出力してもよい。また、パラレル−シリアル変換回路315は128本の出力信号を1本のシリアル信号に変換する構成としたが、これに限るものではなく、2本以上のシリアル信号に変換する構成としてもよい。この場合、設計者が観測信号設定ファイル41の出力ビット位置として何本目のシリアル信号の何番目のビットに出力するかを指定するようにすればよい。
【0104】
なお、実施の形態3係る回路検証システムのその他の構成は、実施の形態1に係る回路検証システムの構成と同様であるため、対応する箇所には同じ符号を付して詳細な説明を省略する。
【0105】
(実施の形態4)
図12は、本発明の実施の形態4に係る回路検証システムの変換ツール25が生成した検証用RTLソースファイル42に回路構成情報が記述された検証用回路の一例を示す模式図である。実施の形態1及び実施の形態2の場合、MUX0〜MUX127により選択された128本の信号を直接的にFPGA2の128個の出力端子から出力する構成としたが、実施の形態4の場合は、MUX0〜127により選択された信号を一時的にメモリ415に記憶する構成である。
【0106】
変換ツール25は、設計者が予め用意したRTLソースファイル40及び観測信号設定ファイル41を読み込んで取得し、RTLソースファイル40に回路構成情報が記載された被検証回路にMUX0〜MUX127及び制御レジスタ110を追加すると共に、メモリ415を追加するようにしてある。メモリ415は、FPGA2の出力端子と共に被検証回路の内部信号を外部に出力するための本発明の出力手段をなし、MUX0〜MUX127が出力する128本の出力信号の値を記憶するようにしてある。メモリ415に記憶された値は、回路検証装置1のCPU5から読み出すことができるようにしてあり、CPU5は読み出した値をメモリ4に記憶するか、又は通信用デバイス6を介してPC20へ送信するようにしてある。
【0107】
なお、CPU5がメモリ415から一度に読み出すデータサイズ、即ちメモリ415がFPGA2から出力する出力信号の数は、MUXの数である128に等しくする必要はなく、これ以上であっても以下であってもよい。また、実施の形態3のようにパラレル−シリアル変換回路315を用いる場合には、メモリ415をMUX0〜MUX127とパラレル−シリアル変換回路315との間、又はパラレル−シリアル変換回路315と出力端子との間に設ければよい。
【0108】
なお、実施の形態4係る回路検証システムのその他の構成は、実施の形態1に係る回路検証システムの構成と同様であるため、対応する箇所には同じ符号を付して詳細な説明を省略する。
【図面の簡単な説明】
【0109】
【図1】本発明に係る回路検証システムの構成を示すブロック図である。
【図2】本発明に係る回路検証システムにおいてFPGAへ与える回路構成情報を生成する手順を説明するための模式図である。
【図3】RTLソースファイルに回路構成情報が記述された被検証回路の一例を示す模式図である。
【図4】観測信号設定ファイルに記載される観測信号名の一例を示す模式図である。
【図5】検証用RTLソースファイルに回路構成情報が記述された検証用回路の一例を示す模式図である。
【図6】制御情報ファイルに含まれる制御情報の一例を示す模式図である。
【図7】FPGA用ネットリストに回路構成情報が記述された検証用回路の一例を示す模式図である。
【図8】検証ツールによる観測信号の選択画面の一例を示す模式図であり
【図9】検証ツールによる観測信号の切り替え処理の手順を示すフローチャートである。
【図10】本発明の実施の形態2に係る回路検証システムの変換ツールが生成した検証用RTLソースファイルに回路構成情報が記述された検証用回路の一例を示す模式図である。
【図11】本発明の実施の形態3に係る回路検証システムの変換ツールが生成した検証用RTLソースファイルに回路構成情報が記述された検証用回路の一例を示す模式図である。
【図12】本発明の実施の形態4に係る回路検証システムの変換ツールが生成した検証用RTLソースファイルに回路構成情報が記述された検証用回路の一例を示す模式図である。
【符号の説明】
【0110】
1 回路検証装置
2 FPGA(プログラマブル素子)
3、4 メモリ
5 CPU
6 通信用デバイス
20 PC(回路構成情報生成装置、回路構成情報取得手段、生成手段、対応情報取得手段、制御装置、受付手段、更新手段、内部信号取得手段、表示手段)
21 メモリ
22 CPU
23 通信I/F(通信手段)
24 ハードディスク
25 変換ツール(回路構成情報生成プログラム)
26 コンパイルツール
27 検証ツール(制御プログラム)
40 RTLソースファイル(被検証回路の回路構成情報)
41 観測信号設定ファイル(対応情報)
42 検証用RTLソースファイル(検証用回路の回路構成情報)
43 制御情報ファイル
44 FPGA用ネットリスト
101、102、103 出力端子
110 制御レジスタ(規定情報記憶部)
315 パラレル−シリアル変換回路
415 メモリ
MUX0〜MUX127 マルチプレクサ(選択回路)
【技術分野】
【0001】
本発明は、FPGA(Field Programmable Gate Array)又はCPLD(Complex Programmable Logic Device)等の論理回路を構成することができるプログラマブル素子を備える回路検証装置を用いて回路動作の検証を行う回路検証システム及び回路検証方法、並びに回路の検証を行う際に回路検証装置と共に用いる回路構成情報生成装置、制御装置、回路構成情報生成プログラム及び制御プログラムに関する。
【背景技術】
【0002】
従来、デジタル回路の設計者は、VHDL又はVerilog−HDL等のHDL(Hardware Description Language、ハードウェア記述言語)を用いてデジタル回路の設計を行っている。設計者がHDLにより記述したデジタル回路はRTL(Register Transfer Level)の回路と呼ばれ、RTLの回路を論理合成ツールを用いて論理合成することによりゲートレベルの回路を生成し、ゲートレベルの回路を基に自動配置配線ツールを用いて回路のレイアウトを作成することができる。このレイアウトを基に半導体ICの製造を行うことができるため、上述の方法により回路の設計から半導体ICの製造までの期間を短縮できるという利点がある。
【0003】
また、設計者はRTLの回路及びゲートレベルの回路を作成した後、これらの回路の動作検証をシミュレータを用いて行う必要がある。しかし、回路規模の増大に伴ってシミュレーション時間が増大し、限られた設計期間の中で十分な回路検証を行うことができないという問題があった。そこで、近年ではFPGA又はCPLD等のプログラマブル素子を備える回路検証装置を用いて回路の動作検証を行うことが必須となっている。この場合、設計者は、設計したRTLの回路をプログラマブル素子に構成して入力信号を与えることにより、回路を動作させて動作検証を行うことができ、プログラマブル素子に構成した回路は実時間で動作させることが可能であるため、動作検証の時間を短縮することができる。また、回路の動作は、プログラマブル素子の出力端子から出力される信号をロジックアナライザなどの観測装置を用いて観測することで確認することができる。
【0004】
しかし、シミュレータを用いて回路の動作検証を行う場合には、回路の内部信号を容易にディスプレイなどに表示して動作を確認することができるが、プログラマブル素子に構成した回路の内部信号を観測することは容易でなく、設計者はプログラマブル素子の出力端子から回路の内部信号を出力するようにRTLの回路の記述を若干変更する必要がある。プログラマブル素子の出力端子の数は限られているため、観測する内部信号を変更する場合にはRTLの回路の記述を再度変更する必要があり、変更後には論理合成及び配置・配線を行ってプログラマブル素子に回路を再構成する必要がある。よって、回路規模の増大に伴って論理合成及び配置・配線に必要な時間が増大するため、回路の動作検証時間が増大するという問題がある。なお、以後の記載においては、論理合成及び配置・配線を行ってプログラマブル素子に構成するための回路情報(ネットリスト)を作成する処理をコンパイルと呼称する。
【0005】
この問題に対し、プログラマブル素子内のメモリを利用して内部信号の値を記憶し、記憶した複数の内部信号の値をプログラマブル素子の出力端子からシリアル出力する内部信号観測ツールがある(非特許文献1参照)。この内部信号観測ツールでは、内部信号の値をシリアル出力するため、プログラマブル素子の出力端子数以上の内部信号を観測することができるという利点がある。なお、この内部信号観測ツールを利用する場合、トリガ条件に応じてメモリに内部信号を記憶させる処理及びメモリに記憶した値をシリアルデータとして出力する処理等を行うための専用回路をプログラマブル素子内に追加する必要がある。また、この内部信号観測ツールでは、プログラマブル素子へ与えるコンパイル後の回路データを直接的に設計者が変更することによって、観測する内部信号を変更することができるようにしてある。これにより、コンパイルを再度行うことなく観測する内部信号を変更することができる。
【非特許文献1】”FPGA内部信号観測ツールを活用する”、デザイン ウエブ マガジン(Design Wave Magazine)、2003 March、p.51-59
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、プログラマブル素子内のメモリの容量には限界があるため、非特許文献1の内部信号観測ツールの場合、メモリに値を記憶することができる内部信号の数にも限度がある。設計者が検証を行う回路の規模が大きいほど内部信号の数も多く、観測する必要がある内部信号の数が増大するため、プログラマブル素子内のメモリのみでこれらの内部信号を全て記憶しておくことは不可能である。このため、いくつかの内部信号を選択的にメモリに記憶させることしかできず、メモリに記憶していない内部信号を観測するためには設定を変更して再度コンパイルを行うか、又はコンパイル後の回路データを設計者が直接的に変更して出力する内部信号を変更する必要がある。コンパイルを再度行う場合、上述のようにコンパイルには回路規模に応じた時間を必要とするため、回路の動作検証に費やす時間が増大する。また、設計者がコンパイル後の回路データを直接的に変更する場合、コンパイルを再度行う時間と比較すると少ない時間であるが、回路データを変更するための時間及び変更した回路データをプログラマブル素子へ与えて回路を構成する時間等の時間が必要となり、また、設計者がコンパイル後の回路データを直接的に変更することは容易な作業ではない。
【0007】
また、非特許文献1の内部信号観測ツールでは、プログラマブル素子の出力端子からシリアル出力された信号をPC(パーソナルコンピュータ)にて取得し、取得したシリアルの信号をパラレルの信号に変換して、PCのディスプレイ上に波形として表示することができるが、表示された各波形に信号名として付されるラベルは、例えばSignal_001、Signal_002…のように、PCが自動的に作成した名称であり、設計者が回路の設計時に付した名称ではない。このため、設計者は表示された波形がどの内部信号に対応するものであるかを判別し難く、検証が行い難いという問題がある。設計者が手動で各波形に付されたラベルを変更することもできるが、観測する信号の数が多い場合には非常に手間のかかる作業である。
【0008】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、設計者が検証を行う被検証回路の構成に関する情報を有する例えばRTLのソースファイルなどの回路構成情報を取得すると共に、外部に出力させて観測を行う内部信号の例えば信号名などの識別子、及びこの内部信号を出力する例えばプログラマブル素子の出力端子番号などの出力位置の対応関係が記された対応情報を取得して、観測を行う複数の内部信号から出力可能な数の信号を選択するマルチプレクサなどの選択回路と、この選択回路の選択を規定する規定情報を記憶するレジスタなどの規定情報記憶部とを被検証回路に自動的に付与し、被検証回路、選択回路及び規定情報記憶部を含む検証用回路の回路構成情報を生成して出力する構成とすることにより、検証用回路の回路構成情報を基にプログラマブル素子に回路を構成して回路検証を行って、規定情報記憶部の規定情報を変更するのみで出力する内部信号を変更でき、コンパイルを再度行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、観測する内部信号を変更することが可能な回路構成情報を生成できる回路構成情報生成装置を提供することにある。
【0009】
また本発明の他の目的とするところは、被検証回路が階層的に複数の回路ブロックが設けられた構造であり、観測を行う内部信号が最上位階層ではない下位階層の回路ブロックの内部信号である場合に、この内部信号を下位階層の回路ブロックから順に上位階層の回路ブロックへ出力し、最上位階層の回路ブロックから出力して選択回路へ入力する構成の検証用回路の回路構成情報を生成する構成とすることにより、下位階層の回路ブロック内の内部信号であっても、確実に外部へ出力して観測を行うことが可能な回路構成情報を生成できる回路構成情報生成装置を提供することにある。
【0010】
また本発明の他の目的とするところは、取得する対応情報に含まれる内部信号の識別子を、最上位階層の回路ブロックからこの内部信号を有する回路ブロックまでの各回路ブロックに付されたインスタンス名などの識別子と、内部信号の信号名などの識別子との組み合わせで構成された識別子とすることにより、設計者が被検証回路を設計した際に各回路ブロック及び内部信号に付した識別子を用いて、観測を行う内部信号を指定することができる回路構成情報生成装置を提供することにある。
【0011】
また本発明の他の目的とするところは、選択回路が選択した内部信号をプログラマブル素子の複数の出力端子からパラレル出力する場合、取得する対応情報に含まれる内部信号の出力位置を、内部信号を出力する出力端子にそれぞれ対応付けられた番号とすることにより、観測する内部信号が出力される出力端子を設計者が容易に指定することができ、パラレル出力される内部信号の観測をより確実に行うことができる回路構成情報生成装置を提供することにある。
【0012】
また本発明の他の目的とするところは、選択回路が選択した内部信号をプログラマブル素子の出力端子からシリアル出力する場合、取得する対応情報に含まれる内部信号の出力位置を、シリアル出力の出力順位に対応付けられた番号とすることにより、観測する内部信号が出力される順位を設計者が容易に指定することができ、シリアル出力される内部信号の観測をより確実に行うことができる回路構成情報生成装置を提供することにある。
【0013】
また本発明の他の目的とするところは、選択回路が選択した信号を記憶する選択信号記憶部を更に含む検証用回路の回路構成情報を生成する構成とすることにより、選択信号記憶部に被検証回路の内部信号の値をまず蓄積し、その後に蓄積した内部信号の値をプログラマブル素子の外部に出力して検証を行うことができる検証用回路の回路構成情報を生成する回路構成情報生成装置を提供することにある。
【0014】
また本発明の他の目的とするところは、上述の回路構成情報生成装置が生成した回路構成情報の回路をプログラマブル素子に構成した回路検証装置の動作を制御する場合に、回路検証装置との間で通信を行う通信手段を設けて、プログラマブル素子の外部に出力する内部信号の選択を受け付け、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を通信手段を介して更新する構成とすることにより、プログラマブル素子内の選択回路の選択を切り替えて、選択された内部信号を出力させることができる制御装置を提供することにある。
【0015】
また本発明の他の目的とするところは、プログラマブル素子から出力された内部信号を通信手段を介して取得する構成とすることにより、取得した内部信号を波形として表示する又はファイルに記録してシミュレーション結果と比較する等の処理を容易に行うことができる制御装置を提供することにある。
【0016】
また本発明の他の目的とするところは、回路構成情報生成装置が取得した対応情報に含まれる被検証回路の内部信号の識別子を表示し、表示した識別子から一又は複数の内部信号の選択を受け付ける構成とすることにより、設計者が多数の内部信号から観測する信号を容易に選択して出力させることができる制御装置を提供することにある。
【0017】
また本発明の他の目的とするところは、プログラマブル素子を有する回路検証装置と、上述の回路構成情報生成装置及び制御装置とを備えて、回路構成情報生成装置が生成した回路構成情報に係る回路をプログラマブル素子に構成し、制御装置を用いて回路検証装置の動作を制御してプログラマブル素子に構成された回路の動作検証を行う構成とすることにより、コンパイルを再度行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、観測する被検証回路の内部信号を設計者が容易に切り替えて動作検証を行うことができる回路検証システムを提供することにある。
【0018】
また本発明の他の目的とするところは、被検証回路の構成に関する情報を有する回路構成情報を取得すると共に、外部に出力させて観測を行う内部信号の識別子及び出力位置の対応関係が記された対応情報を取得して、観測を行う複数の内部信号から出力可能な数の信号を選択する選択回路と、この選択回路の選択を規定する規定情報を記憶するレジスタなどの規定情報記憶部とを被検証回路に自動的に付与した検証用回路の回路構成情報を生成し、生成した回路構成情報に係る回路をプログラマブル素子に構成して被検証回路の動作検証を行うことにより、規定情報記憶部の規定情報を変更するのみで出力する内部信号を変更でき、コンパイルを再度行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、観測する内部信号を変更することができる回路検証方法を提供することにある。
【0019】
また本発明の他の目的とするところは、被検証回路が階層的に複数の回路ブロックが設けられた構造であり、観測を行う内部信号が最上位階層ではない下位階層の回路ブロックの内部信号である場合に、この内部信号を下位階層の回路ブロックから順に上位階層の回路ブロックへ出力し、最上位階層の回路ブロックから出力して選択回路へ入力する構成の検証用回路の回路構成情報を生成することにより、下位階層の回路ブロック内の内部信号であっても、確実に外部へ出力して観測を行うことができる回路検証方法を提供することにある。
【0020】
また本発明の他の目的とするところは、取得した対応情報に含まれる内部信号の識別子から、外部に出力して観測を行う内部信号の選択を受け付け、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を更新して、選択に応じた内部信号を出力させることにより、観測する内部信号を設計者が容易に切り替えて出力させることができる回路検証方法を提供することにある。
【0021】
また本発明の他の目的とするところは、観測を行う内部信号の識別子及び出力位置の対応関係が記された対応情報を取得し、観測を行う複数の内部信号から出力可能な数の信号を選択するマルチプレクサなどの選択回路と、この選択回路の選択を規定する規定情報を記憶するレジスタなどの規定情報記憶部とを、取得した回路構成情報に係る被検証回路に自動的に付与し、被検証回路、選択回路及び規定情報記憶部を含む検証用回路の回路構成情報を生成する構成とすることにより、生成した検証用回路の回路構成情報を基にプログラマブル素子に回路を構成して回路検証を行うことで、規定情報記憶部の規定情報を変更するのみで出力する内部信号を変更でき、コンパイルを再度行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、観測する内部信号を変更することが可能な回路構成情報を生成できる回路構成情報生成プログラムを提供することにある。
【0022】
また本発明の他の目的とするところは、上述の回路構成情報生成プログラムにより生成された回路構成情報の回路をプログラマブル素子に構成した回路検証装置の動作を制御する場合に、プログラマブル素子の外部に出力する内部信号の選択を受け付け、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を通信手段を介して更新する構成とすることにより、プログラマブル素子内の選択回路の選択を切り替えて、選択された内部信号を出力させることができる制御プログラムを提供することにある。
【課題を解決するための手段】
【0023】
第1発明に係る回路構成情報生成装置は、回路動作を検証する被検証回路の回路構成情報を取得する回路構成情報取得手段と、取得した前記被検証回路の回路構成情報を基に、論理回路を構成することが可能なプログラマブル素子に前記被検証回路を構成するための検証用回路の回路構成情報を生成する生成手段とを備え、プログラマブル素子及び該プログラマブル素子に構成された論理回路の内部信号を該プログラマブル素子の外部に出力する出力手段を有する回路検証装置にて、前記被検証回路を前記プログラマブル素子に構成して回路動作の検証を行うための回路構成情報を生成する回路構成情報生成装置において、前記出力手段は、前記プログラマブル素子に構成された前記被検証回路の一又は複数の内部信号を出力することができるようにしてあり、前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の識別子、及び前記出力手段による出力位置が対応付けられた対応情報を取得する対応情報取得手段を備え、前記生成手段は、前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の信号数が、前記出力手段の出力する信号数より多い場合に、前記被検証回路の複数の内部信号から前記出力手段が出力する信号数の信号を選択する選択回路と、該選択回路の選択を規定する規定情報を記憶する規定情報記憶部とを前記被検証回路と共に含む検証用回路の回路構成情報を生成するようにしてあることを特徴とする。
【0024】
本発明においては、回路構成情報生成装置が、まず、検証を行う被検証回路の構成に関する回路構成情報と、外部に出力させて観測を行う内部信号の識別子及び出力位置の対応情報とを取得する。被検証回路の回路構成情報は、例えばHDLにより記述されたRTLの回路のソースファイルを用いることができるが、C言語で記述された回路又は実際の回路図等であってもよく、設計者が設計した開発ターゲットとなる回路の構成に関する情報を有するものである。対応情報は、識別子として例えば被検証回路の内部信号の信号名と、出力位置として例えばプログラマブル素子が32ビットの信号を出力することができる場合に内部信号を出力するビット位置を0〜31の番号で指定したものとを対応付けて、これを設計者が予めテキストファイルなどに記述したものを用いることができる。回路構成情報生成装置はこれらを取得して、指定された複数の内部信号から、プログラマブル素子が出力可能な信号数の内部信号を選択するマルチプレクサなどの選択回路と、選択回路の選択を規定する規定情報を記憶するための規定情報記憶部とを被検証回路に追加し、被検証回路、選択回路及び規定情報記憶部を有する検証用回路の回路構成情報を生成して出力する。生成した回路構成情報を基に、被検証回路、選択回路及び規定情報記憶部をプログラマブル素子に構成することによって、規定情報記憶部に記憶された規定情報を変更するのみの簡単な処理で、被検証回路の内部信号を選択回路で選択して外部に出力し、観測することができる。出力する内部信号を変更する際に、コンパイルを再度行う必要はなく、また、コンパイル後の回路構成情報を直接的に変更する必要もない。
【0025】
また、第2発明に係る回路構成情報生成装置は、前記回路構成情報取得手段が取得した回路構成情報に含まれる被検証回路が、階層的に複数の回路ブロックが設けられた回路構造であり、且つ、前記対応情報に含まれる識別子に係る内部信号が、前記被検証回路の最上位階層でない回路ブロックの内部信号である場合に、前記生成手段は、前記内部信号を最上位階層の回路ブロックから出力して前記選択回路に入力する構成の検証用回路の回路構成情報を生成することを特徴とする。
【0026】
本発明においては、取得した回路構成情報に係る被検証回路が階層的に複数の回路ブロックが設けられた回路構造であり、取得した対応情報により観測する信号として指定された内部信号が最上位階層でない下位階層の回路ブロックの内部信号である場合、この内部信号を下位階層の回路ブロックから上位階層の回路ブロックへ順に出力し、最上位階層の回路ブロックから出力して選択回路へ入力する。回路構成情報生成装置は、この構成の検証用回路に係る回路構成情報を生成して出力する。出力された検証用回路の回路構成情報を基にコンパイルを行ってプログラマブル素子に構成することによって、下位階層の回路ブロック内の内部信号であっても外部へ出力して観測することができる。
【0027】
また、第3発明に係る回路構成情報生成装置は、前記回路構成情報取得手段が取得した回路構成情報に含まれる被検証回路が、階層的に複数の回路ブロックが設けられた回路構造であり、且つ、前記対応情報に含まれる識別子に係る内部信号が、前記被検証回路の最上位階層でない回路ブロックの内部信号である場合に、前記対応情報に含まれる内部信号の識別子は、各回路ブロックを一意的に識別することができ、最上位階層の回路ブロックから前記内部信号を有する回路ブロックまでの各回路ブロックにそれぞれ付された複数の識別子と、前記内部信号を有する回路ブロック内にて前記内部信号を識別する識別子との組み合わせで識別するようにしてあることを特徴とする。
【0028】
本発明においては、回路構成情報生成装置が取得する対応情報に含まれる内部信号の識別子を、最上位階層の回路ブロックからこの内部信号を有する回路ブロックまでの各回路ブロックに付されたインスタンス名など、各回路ブロックを一意に特定することができる識別子と、内部信号の信号名など、回路ブロック内で信号を一意に特定することができる識別子とを組み合わせた構成とする。回路ブロックのインスタンス名などの識別子は設計者が自ら付すものであり、また、回路ブロック内の信号名は設計者が自ら付すものであるため、設計者は容易に観測する信号を指定することができる。
【0029】
また、第4発明に係る回路構成情報生成装置は、前記出力手段が、前記選択回路が選択した複数の内部信号を前記プログラマブル素子に設けられた複数の出力端子からパラレル出力するようにしてあり、前記対応情報に含まれる前記出力位置は、複数の前記出力端子にそれぞれ対応付けられた番号であることを特徴とする。
【0030】
本発明においては、選択回路が選択した内部信号がプログラマブル素子の複数の出力端子からパラレル出力される構成の場合、対応情報に含まれる内部信号の出力位置を、内部信号を出力する出力端子にそれぞれ対応付けられた番号とする。例えばプログラマブル素子が内部信号の出力に利用可能な出力端子を32個有しており、32の内部信号を32ビットのパラレル信号として出力することができる場合、内部信号の出力位置としてパラレル信号のビット位置を0〜31の番号で指定する。これにより、設計者は出力位置を容易に指定することが可能となる。
【0031】
また、第5発明に係る回路構成情報生成装置は、前記出力手段が、前記選択回路が選択した複数の内部信号を前記プログラマブル素子に設けられた出力端子からシリアル出力するようにしてあり、前記対応情報に含まれる前記出力位置は、シリアル出力を行う際の出力順位に対応付けられた番号であることを特徴とする。
【0032】
本発明においては、選択回路が選択した内部信号がプログラマブル素子の出力端子からシリアル出力される構成の場合、対応情報に含まれる内部信号の出力位置を、シリアル出力される出力信号の出力順位に対応付けられた番号とする。例えばプログラマブル素子が1つの出力端子から32ビット幅の出力信号を0ビット目から順に31ビット目まで出力する場合、観測する内部信号を何ビット目に出力させるかを0〜31の番号で指定する。これにより、設計者は出力位置を容易に指定することが可能となる。
【0033】
また、第6発明に係る回路構成情報生成装置は、前記生成手段は、前記選択回路が選択した信号を記憶する選択信号記憶部を更に含む検証用回路の回路構成情報を生成するようにしてあり、前記出力手段は、前記選択信号記憶部に記憶された信号を出力するようにしてあることを特徴とする。
【0034】
本発明においては、選択回路が選択した信号を記憶する選択信号記憶部を更に含む検証用回路の回路構成情報を生成する。これにより、被検証回路の内部信号の値を選択信号記憶部にまず蓄積して、その後に蓄積した内部信号の値をプログラマブル素子の外部に出力することが可能となる。例えば、プログラマブル素子の内部の回路と外部の回路とでは動作速度が異なる場合などであっても、プログラマブル素子の外部の回路が被検証回路の内部信号を確実に取得することができる。
【0035】
また、第7発明に係る制御装置は、上述のいずれか1つの回路構成情報生成装置が生成した回路構成情報の回路が前記プログラマブル素子に構成された回路検証装置の動作を制御する制御装置であって、前記回路検証装置との間で通信を行う通信手段と、前記プログラマブル素子に構成された被検証回路の複数の内部信号から、外部に出力する内部信号の選択を受け付ける受付手段と、該受付手段が受け付けた選択に応じて、前記プログラマブル素子に構成された規定情報記憶部に記憶された規定情報を前記通信手段を介して更新する更新手段とを備えることを特徴とする。
【0036】
本発明においては、上述の回路構成情報生成装置が生成した回路構成情報の回路を、回路検証装置のプログラマブル素子に構成し、回路検証装置との間で通信を行うことができる制御装置を用いて被検証回路の動作検証を行う。制御装置は、プログラマブル素子の外部にいずれの内部信号を出力するかに係る選択を設計者から受け付けて、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を更新する。これにより、プログラマブル素子内の選択回路の選択が切り替わり、出力される内部信号が切り替わる。よって、出力する内部信号を変更するためにコンパイルを再度行う必要はなく、また、コンパイル後の回路構成情報を直接的に変更する必要もない。
【0037】
また、第8発明に係る制御装置は、前記出力手段が出力した内部信号を、前記通信手段を介して取得する内部信号取得手段を備えることを特徴とする。
【0038】
本発明においては、制御装置がプログラマブル素子から出力された内部信号を通信手段を介して取得する。制御装置は、取得した内部信号をシミュレーション結果と比較して誤りを検出したり、又は取得した内部信号を波形として表示したりすることが可能となる。これにより、設計者は回路の動作検証を容易に行うことが可能となる。
【0039】
また、第9発明に係る制御装置は、前記回路構成情報生成装置が取得した前記対応情報に含まれる被検証回路の内部信号の識別子を表示する表示手段を備え、前記受付手段は、前記表示手段により表示された識別子から一又は複数の内部信号の選択を受け付けるようにしてあることを特徴とする。
【0040】
本発明においては、回路構成情報生成装置は設計者から対応情報を取得し、これに応じて選択回路及び規定情報記憶部等を追加する。制御装置は、出力可能な内部信号と選択回路及び規定情報記憶部が記憶する規定情報との対応関係を、回路構成情報生成装置から取得するか、又は回路構成情報生成装置が出力した検証用回路の回路構成情報を解析するかして得ることができ、これにより対応情報にて指定された出力可能な内部信号の識別子を表示することができる。出力可能な内部信号の識別子を表示することによって、設計者はプログラマブル素子から出力させる内部信号を容易に選択することが可能となる。制御装置は、表示した内部信号の識別子から一又は複数の内部信号の選択を設計者から受け付けて、規定情報記憶部に記憶された規定情報を更新する。
【0041】
また、第10発明に係る回路検証システムは、論理回路を構成することが可能なプログラマブル素子、及び該プログラマブル素子に構成された論理回路の内部信号を該プログラマブル素子の外部に出力する出力手段を有する回路検証装置と、上述のいずれか1つの回路構成情報生成装置と、上述のいずれか1つの制御装置とを備え、前記回路構成情報生成装置が生成した回路構成情報に係る回路を、前記回路検証装置の前記プログラマブル素子に構成し、前記制御装置により前記回路検証装置の動作を制御して回路の動作検証を行うようにしてあることを特徴とする。
【0042】
本発明においては、プログラマブル素子を有する回路検証装置と、上述の回路構成情報生成装置及び制御装置とを備えて、回路構成情報生成装置が生成した回路構成情報に係る回路をプログラマブル素子に構成し、制御装置を用いて回路検証装置の動作を制御してプログラマブル素子内の規定情報記憶部に記憶された規定情報を更新することによって、プログラマブル素子から外部へ出力する被検証回路の内部信号の切り替えを行う。これらの3つの装置を用いることによって、コンパイルを繰り返し行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、被検証回路の内部信号を切り替えて出力させて観測し、回路の動作検証を行うことができる。
【0043】
また、第11発明に係る回路検証方法は、論理回路を構成することが可能なプログラマブル素子と、該プログラマブル素子に構成された回路の内部信号を該プログラマブル素子の外部に出力する出力手段とを備える回路検証装置を用いて、被検証回路を前記プログラマブル素子に構成し、該被検証回路の回路動作を検証する回路検証方法において、前記出力手段は、前記プログラマブル素子に構成された前記被検証回路の一又は複数の内部信号を出力することができるようにしてあり、前記被検証回路の回路構成情報を取得し、前記出力手段により前記プログラマブル素子の外部に出力させる前記被検証回路の内部信号の識別子、及び前記出力手段による出力位置が対応付けられた対応情報を取得し、前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の信号数が、前記出力手段の出力する信号数より多い場合に、前記被検証回路の複数の内部信号から前記出力手段が出力する信号数の信号を選択する選択回路と、該選択回路の選択を規定する規定情報を記憶する規定情報記憶部とを前記被検証回路と共に含む検証用回路の回路構成情報を生成し、該検証用回路を前記プログラマブル素子に構成して、前記被検証回路の回路動作を検証することを特徴とする。
【0044】
本発明においては、まず、検証を行う被検証回路の構成に関する情報を有する回路構成情報と、外部に出力させて観測を行う内部信号の識別子及び出力位置の対応情報とを取得する。取得したこれらの情報を基に、複数の内部信号からプログラマブル素子が出力可能な信号数の内部信号を選択する選択回路と、選択回路の選択を規定する規定情報を記憶するための規定情報記憶部とを被検証回路に追加し、被検証回路、選択回路及び規定情報記憶部の回路構成に関する情報を含む検証用回路の回路構成情報を生成して出力する。検証用回路の回路構成情報を基に、被検証回路、選択回路及び規定情報記憶部をプログラマブル素子に構成して回路の動作検証を行うことにより、規定情報記憶部に記憶された規定情報を変更するのみの簡単な処理で、被検証回路の内部信号を選択回路で選択して外部に出力し、観測することができる。出力する内部信号を変更する際に、コンパイルを再度行う必要はなく、また、コンパイル後の回路構成情報を直接的に変更する必要もない。
【0045】
また、第12発明に係る回路検証方法は、前記被検証回路が階層的に複数の回路ブロックが設けられた回路構造であり、且つ、前記対応情報に含まれる識別子に係る内部信号が最上位階層でない回路ブロックの内部信号の場合に、前記内部信号を最上位階層の回路ブロックから出力して前記選択回路に入力する構成の検証用回路の回路構成情報を生成することを特徴とする。
【0046】
本発明においては、取得した回路構成情報に係る被検証回路が階層的に複数の回路ブロックが設けられた回路構造であり、取得した対応情報により観測する信号として指定された内部信号が最上位階層でない下位階層の回路ブロックの内部信号である場合、この内部信号を下位階層の回路ブロックから上位階層の回路ブロックへ順に出力し、最上位階層の回路ブロックから出力して選択回路へ入力した回路構成の検証用回路の回路構成情報を生成する。検証用回路の回路構成情報を基にコンパイルを行ってプログラマブル素子に構成することによって、下位階層の回路ブロック内の内部信号であっても外部へ出力して観測することができる。
【0047】
また、第13発明に係る回路検証方法は、前記対応情報に含まれる内部信号の識別子から、外部に出力する内部信号の選択を受け付け、受け付けた選択に応じて、前記プログラマブル素子に構成された前記規定情報記憶部に記憶された規定情報を更新して、受け付けた選択に応じた内部信号を前記出力手段により出力させることを特徴とする。
【0048】
本発明においては、プログラマブル素子の外部にいずれの内部信号を出力するかに係る選択を設計者から受け付けて、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を更新する。これにより、プログラマブル素子内の選択回路の選択が切り替わり、出力される内部信号を切り替えることができる。よって、出力する内部信号を変更するためにコンパイルを再度行う必要はなく、また、コンパイル後の回路構成情報を直接的に変更する必要もない。
【0049】
また、第14発明に係る回路構成情報生成プログラムは、コンピュータに、回路動作を検証する被検証回路の回路構成情報を基に、論理回路を構成することが可能なプログラマブル素子に前記被検証回路を構成するための検証用回路の回路構成情報を生成させるステップを含み、プログラマブル素子及び該プログラマブル素子に構成された論理回路の内部信号を該プログラマブル素子の外部に出力する出力手段を有する回路検証装置にて、前記被検証回路を前記プログラマブル素子に構成して回路動作の検証を行うための回路構成情報を生成させる回路構成情報生成プログラムにおいて、前記出力手段は、前記プログラマブル素子に構成された前記被検証回路の一又は複数の内部信号を出力することができるようにしてあり、前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の識別子、及び前記出力手段による出力位置が対応付けられた対応情報を取得させるステップを含み、前記検証用回路の回路構成情報を生成させるステップにて、前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の信号数が、前記出力手段の出力する信号数より多い場合に、前記被検証回路の複数の内部信号から前記出力手段が出力する信号数の信号を選択する選択回路と、該選択回路の選択を規定する規定情報を記憶する規定情報記憶部とを前記被検証回路と共に含む検証用回路の回路構成情報を生成させることを特徴とする。
【0050】
本発明においては、プログラマブル素子の外部に出力させて観測を行う内部信号の識別子及び出力位置の対応情報を取得する。対応情報にて指定された複数の内部信号から、プログラマブル素子が出力可能な信号数の内部信号を選択するマルチプレクサなどの選択回路と、選択回路の選択を規定する規定情報を記憶するための規定情報記憶部とを被検証回路に自動的に付与し、この被検証回路、選択回路及び規定情報記憶部を含む検証用回路の回路構成情報を生成する。生成した回路構成情報を基に、被検証回路、選択回路及び規定情報記憶部をプログラマブル素子に構成することによって、規定情報記憶部に記憶された規定情報を変更するのみの簡単な処理で、被検証回路の内部信号を選択回路で選択して外部に出力し、観測することができる。出力する内部信号を変更する際に、コンパイルを再度行う必要はなく、また、コンパイル後の回路構成情報を直接的に変更する必要もない。
【0051】
また、第15発明に係る制御プログラムは、上述の回路構成情報生成プログラムがコンピュータに生成させた回路構成情報の回路を前記プログラマブル素子に構成した回路検証装置の動作を、コンピュータに制御させる制御プログラムであって、コンピュータに、前記プログラマブル素子に構成された被検証回路の複数の内部信号から、外部に出力する内部信号の選択を受け付けさせるステップと、受け付けた選択に応じて、前記プログラマブル素子に構成された規定情報記憶部に記憶された規定情報を更新させるステップとを含むことを特徴とする。
【0052】
本発明においては、上述の回路構成情報生成プログラムにより生成された回路構成情報の回路を、回路検証装置のプログラマブル素子に構成し、制御プログラムにより回路検証装置を制御して被検証回路の動作検証を行う。制御プログラムは、プログラマブル素子の外部にいずれの内部信号を出力するかに係る選択を設計者から受け付けて、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を更新する。これにより、プログラマブル素子内の選択回路の選択が切り替わり、出力される内部信号が切り替わる。よって、出力する内部信号を変更するためにコンパイルを再度行う必要はなく、また、コンパイル後の回路構成情報を直接的に変更する必要もない。
【発明の効果】
【0053】
第1発明による場合は、設計者が検証を行う被検証回路の回路構成情報を取得すると共に、観測を行う内部信号の識別子及び出力位置の対応関係が記された対応情報を取得して、観測を行う複数の内部信号から出力可能な数の信号を選択する選択回路と、この選択回路の選択を規定する規定情報を記憶する規定情報記憶部とを被検証回路に自動的に付与し、被検証回路、選択回路及び規定情報記憶部を含む検証用回路の回路構成情報を生成して出力する構成とすることにより、検証用回路の回路構成情報を基に、被検証回路、選択回路及び規定情報記憶部をプログラマブル素子に構成し、規定情報記憶部に記憶された規定情報を変更するのみの簡単な処理で、被検証回路の内部信号を選択回路で選択して外部に出力し、観測することができる。出力する内部信号を変更する際にコンパイルを再度行う必要がなく、また、コンパイル後の回路構成情報を直接的に変更する必要もないため、被検証回路の検証に費やす期間を短縮することができ、より多くのテストパタンで検証を行うことが可能となる。よって、検証の精度を高めることができると共に、被検証回路の信頼性を高めることができる。
【0054】
また、第2発明による場合は、被検証回路が階層的に複数の回路ブロックが設けられた構造であり、観測を行う内部信号が最上位階層でない下位階層の回路ブロックの内部信号である場合に、この内部信号を下位階層の回路ブロックから順に上位階層の回路ブロックへ出力し、最上位階層の回路ブロックから出力して選択回路へ入力する構成の検証用回路の回路構成情報を生成する構成とすることにより、生成された検証用回路の回路構成情報を基にコンパイルを行ってプログラマブル素子に構成することによって、下位階層の回路ブロック内の内部信号であっても確実に外部へ出力して観測することができる。よって、確実に且つ容易に被検証回路の動作検証を行うことができる。
【0055】
また、第3発明による場合は、回路構成情報生成装置が取得する対応情報に含まれる内部信号の識別子を、最上位階層の回路ブロックからこの内部信号を有する回路ブロックまでの各回路ブロックを一意に特定することができる識別子と、回路ブロック内で信号を一意に特定することができる識別子とを組み合わせた構成とすることにより、設計者が被検証回路を設計した際に各回路ブロック及び内部信号に付した識別子を用いて観測を行う内部信号を指定することができるため、回路構成情報生成装置の利便性を高めることができ、被検証回路の動作検証を容易に行うことができる。
【0056】
また、第4発明による場合は、選択回路が選択した内部信号をプログラマブル素子の複数の出力端子からパラレル出力する場合、取得する対応情報に含まれる内部信号の出力位置を、内部信号を出力する出力端子にそれぞれ対応付けられた番号とすることにより、観測する内部信号の出力位置を設計者が容易に指定することができるため、回路構成情報生成装置の利便性を高めることができ、被検証回路の動作検証を容易に行うことができる。
【0057】
また、第5発明による場合は、選択回路が選択した内部信号をプログラマブル素子の出力端子からシリアル出力する場合、取得する対応情報に含まれる内部信号の出力位置を、シリアル出力の出力順位に対応付けられた番号とすることにより、観測する内部信号の出力位置を設計者が容易に指定することができるため、回路構成情報生成装置の利便性を高めることができ、被検証回路の動作検証を容易に行うことができる。
【0058】
また、第6発明による場合は、選択回路が選択した信号を記憶する選択信号記憶部を更に含む検証用回路の回路構成情報を生成する構成とすることにより、被検証回路の内部信号の値を選択信号記憶部にまず蓄積して、その後に蓄積した内部信号の値をプログラマブル素子の外部に出力することができ、例えば、プログラマブル素子の内部の回路と外部の回路とでは動作速度が異なる場合などであっても、プログラマブル素子の外部の回路が被検証回路の内部信号を確実に取得することができるため、回路検証装置を用いた被検証回路の動作検証を容易に且つ確実に行うことができる。
【0059】
また、第7発明による場合は、上述の回路構成情報生成装置が生成した回路構成情報の回路を回路検証装置のプログラマブル素子に構成し、回路検証装置との間で通信を行うことができる制御装置を用いてプログラマブル素子の外部に出力する内部信号の選択を受け付け、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を更新する構成とすることにより、コンパイルを再度行うことなく、また、コンパイル後の回路構成情報を直接的に変更する必要もないため、観測する被検証回路の内部信号を変更することができるため、被検証回路の検証に費やす期間を短縮することができ、より多くのテストパタンで検証を行うことが可能となる。よって、検証の精度を高めることができると共に、被検証回路の信頼性を高めることができる。
【0060】
また、第8発明による場合は、プログラマブル素子から出力された内部信号を通信手段を介して取得する構成とすることにより、取得した内部信号をシミュレーション結果と比較して誤りを検出する又は取得した内部信号を波形として表示する等の処理を制御装置が行うことができるため、制御装置の利便性を向上することができ、被検証回路の動作検証を容易に行うことができる。
【0061】
また、第9発明による場合は、回路構成情報生成装置が取得した対応情報に含まれる被検証回路の内部信号の識別子を表示し、表示した識別子から一又は複数の内部信号の選択を受け付ける構成とすることにより、設計者がプログラマブル素子から出力させる内部信号を容易に選択することが可能となるため、制御装置の利便性をより向上することができ、被検証回路の動作検証をより容易に行うことができる。
【0062】
また、第10発明による場合は、プログラマブル素子を有する回路検証装置と、上述の回路構成情報生成装置及び制御装置とを備えて、回路構成情報生成装置が生成した回路構成情報に係る回路をプログラマブル素子に構成し、制御装置を用いて回路検証装置の動作を制御してプログラマブル素子に構成された被検証回路の動作検証を行う構成とすることにより、コンパイルを繰り返し行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、被検証回路の内部信号を切り替えて出力させて観測し、回路の動作検証を行うことができるため、被検証回路の検証に費やす期間を短縮することができ、より多くのテストパタンで検証を行うことが可能となる。よって、検証の精度を高めることができると共に、被検証回路の信頼性を高めることができる。
【0063】
また、第11発明による場合は、被検証回路の回路構成情報を取得すると共に、外部に出力させて観測を行う内部信号の識別子及び出力位置の対応関係が記された対応情報を取得して、観測を行う複数の内部信号から出力可能な数の信号を選択する選択回路と、この選択回路の選択を規定する規定情報を記憶するレジスタなどの規定情報記憶部とを被検証回路に自動的に付与した構成の検証用回路の回路構成情報を生成し、生成した回路構成情報に係る回路をプログラマブル素子に構成して被検証回路の動作検証を行うことにより、規定情報記憶部に記憶された規定情報を変更するのみの簡単な処理で、コンパイルを再度行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、被検証回路の内部信号を選択回路で選択して外部に出力して観測することができるため、被検証回路の検証に費やす期間を短縮することができ、より多くのテストパタンで検証を行うことが可能となる。よって、検証の精度を高めることができると共に、被検証回路の信頼性を高めることができる。
【0064】
また、第12発明による場合は、被検証回路が階層的に複数の回路ブロックが設けられた構造であり、観測を行う内部信号が最上位階層でない下位階層の回路ブロックの内部信号である場合に、この内部信号を下位階層の回路ブロックから順に上位階層の回路ブロックへ出力し、最上位階層の回路ブロックから出力して選択回路へ入力する構成の検証用回路の回路構成情報を生成することにより、この回路構成情報を基にコンパイルを行ってプログラマブル素子に構成することによって、下位階層の回路ブロック内の内部信号であっても外部へ出力して観測することができるため、確実に且つ容易に被検証回路の動作検証を行うことができる。
【0065】
また、第13発明による場合は、取得した対応情報に含まれる内部信号の識別子から外部に出力して観測を行う内部信号の選択を受け付けて、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を更新し、選択に応じた内部信号を出力させることにより、コンパイルを再度行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、観測する被検証回路の内部信号を変更することができるため、被検証回路の検証に費やす期間を短縮することができ、より多くのテストパタンで検証を行うことが可能となる。よって、検証の精度を高めることができると共に、被検証回路の信頼性を高めることができる。
【0066】
また、第14発明による場合は、観測を行う内部信号の識別子及び出力位置の対応関係が記された対応情報を取得し、観測を行う複数の内部信号から出力可能な数の信号を選択するマルチプレクサなどの選択回路と、この選択回路の選択を規定する規定情報を記憶するレジスタなどの規定情報記憶部とを、取得した回路構成情報に係る被検証回路に自動的に付与し、被検証回路、選択回路及び規定情報記憶部を含む検証用回路の回路構成情報を生成する構成とすることにより、検証用回路の回路構成情報を基に、被検証回路、選択回路及び規定情報記憶部をプログラマブル素子に構成し、規定情報記憶部に記憶された規定情報を変更するのみの簡単な処理で、被検証回路の内部信号を選択回路で選択して外部に出力し、観測することができる。よって、出力する内部信号を変更する際にコンパイルを再度行う必要はなく、また、コンパイル後の回路構成情報を直接的に変更する必要もないため、被検証回路の検証に費やす期間を短縮することがでる。
【0067】
また、第15発明による場合は、上述の回路構成情報生成プログラムにより生成された回路構成情報の回路をプログラマブル素子に構成した回路検証装置の動作を制御する場合に、プログラマブル素子の外部に出力する内部信号の選択を受け付け、受け付けた選択に応じてプログラマブル素子内の規定情報記憶部に記憶された規定情報を通信手段を介して更新する構成とすることにより、コンパイルを再度行うことなく、また、コンパイル後の回路構成情報を直接的に変更することなく、観測する被検証回路の内部信号を変更することができるため、被検証回路の検証に費やす期間を短縮することができ、より多くのテストパタンで検証を行うことが可能となる。よって、検証の精度を高めることができると共に、被検証回路の信頼性を高めることができる。
【発明を実施するための最良の形態】
【0068】
(実施の形態1)
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。図1は、本発明に係る回路検証システムの構成を示すブロック図である。図において1は、設計者が設計した論理回路(被検証回路)を構成することができるFPGA2が搭載された回路検証装置であり、設計者が操作するPC20に通信ケーブルを介して接続され、設計者の操作によりPC20から与えられる命令に応じてFPGA2内に構成された被検証回路を動作させるものである。回路検証装置1にて動作した被検証回路の動作結果はPC20へ送信するようにしてあり、設計者はPC20にて被検証回路の動作が正しいか否かを検証することができるようにしてある。
【0069】
回路検証装置1は、回路基板上に配設されたFPGA2、メモリ3、メモリ4、CPU5及び通信用デバイス6等を有し、これらはバスを介して相互にデータの授受を行うことができるように接続されている。FPGA2、メモリ3、メモリ4及び通信用デバイス6等は、1つのアドレス空間内の資源としてCPU5又はCPU5にて実行されるプログラムからアクセスすることが可能となるように管理されている。
【0070】
メモリ3は、FPGA2へ入力する入力データを一時的に蓄えるためのバッファとして用いられ、入力データはPC20から通信用デバイス6を介して与えられるようにしてある。メモリ4は、FPGA2から出力された出力データを一時的に蓄えるためのバッファとして用いられ、出力データは通信用デバイス6を介してPC20へ与えるようにしてある。なお、図1においてはメモリ3及びメモリ4の2つのメモリを設けてあるが、メモリ3及びメモリ4を1つのメモリで代用することも可能である。
【0071】
通信用デバイス6は、USBケーブル又はLANケーブル等の通信ケーブルに接続され、通信規約に基づいてPC20との間でデータの送受信を行うものである。PC20から受信したデータはメモリ3へ蓄えるようにしてあり、PC20へデータを送信する場合はメモリ4に蓄えられたデータを読み出して送信するようにしてある。
【0072】
FPGA2は、SRAM技術を利用した記憶素子を備えるプログラマブル素子であり、記憶素子に記憶された回路構成情報を変更することにより、FPGA2の内部に構成される回路を変更することが可能にしてある。SRAM技術を用いているため、回路検証装置1の電源投入直後のFPGA2内には論理回路は構成されておらず、電源投入後にPC20から回路構成情報を回路検証装置1へ送信することによって、FPGA2内に論理回路が構成されるようにしてある。なお、回路構成情報を記憶したROMを回路検証装置1内に配設し、電源投入後にこのROMから回路構成情報を読み出す構成とすることもできる。また、FPGA2は、内部に構成した論理回路の内部信号を出力する出力手段として、一又は複数の出力端子を有しており、この出力端子から出力された内部信号がメモリ4にデータとして蓄えられるようにしてある。
【0073】
PC20は、回路検証装置1を制御する制御装置として動作すると共に、回路検証装置1のFPGA2へ与える回路構成情報を生成する回路構成情報生成装置として動作するものである。PC20は、メモリ21、CPU22、通信I/F(インタフェース)23及びハードディスク24等がバスを介して相互に接続された構成であり、所謂、汎用のコンピュータの構成である。また、図示は省略するが、PC20は液晶ディスプレイ又はCRTディスプレイ等の表示装置と、キーボード及びマウス等の入力装置とを備えている。また、通信I/F23は、USBケーブル又はLANケーブル等の通信ケーブルを接続する接続ポートを有しており、回路検証装置1の通信用デバイス6と通信ケーブルを介して接続し、データの送受信を行うことができるようにしてある。
【0074】
ハードディスク24は、図示しないオペレーティングシステム及びデバイスドライバ等のソフトウェアプログラムが記憶してあると共に、回路検証装置1を用いて被検証回路の検証を行う際に用いる変換ツール25、コンパイルツール26及び検証ツール27のソフトウェアプログラムが記憶してある。変換ツール25及びコンパイルツール26は、回路検証装置1のFPGA2へ与える回路構成情報を生成するためのソフトウェアプログラムであり、これらのソフトウェアプログラムがCPU22にて実行されることによって、PC20は回路構成情報生成装置として動作する。また、検証ツール27は、FPGA2に被検証回路を構成した後、回路検証装置1へ動作命令及び入力データ等を与えると共に、被検証回路の動作結果を回路検証装置1から受信するなど、回路検証装置1の動作を制御するソフトウェアプログラムであり、このソフトウェアプログラムがCPU22にて実行されることによって、PC20は制御装置として動作する。
【0075】
図2は、本発明に係る回路検証システムにおいてFPGA2へ与える回路構成情報を生成する手順を説明するための模式図である。PC20にて動作する変換ツール25は、RTLソースファイル40及び観測信号設定ファイル41の2つの情報を読み込んで取得するようにしてある。RTLソースファイル40は、設計者が設計し、回路検証装置1を用いて検証を行う被検証回路の回路構成情報がHDLにより記述されたファイルである。RTLソースファイル40に回路構成情報が記述された被検証回路は、設計者がシミュレーションにて動作検証を十分に行ったものであることが好ましい。
【0076】
図3は、RTLソースファイル40に回路構成情報が記述された被検証回路の一例を示す模式図である。設計者が設計する被検証回路は、複数の回路ブロックが階層構造をなしている場合が多い。図3に示す例においては、被検証回路が3階層の階層構造を有する場合を図示してある。なお、設計者が回路をHDL(特に、Verilog−HDL)により設計した場合、各回路ブロックにはモジュール名及びインスタンス名が付されている。以降の図において、回路ブロックのモジュール名をM?(?=A、B、C、D…)で示し、回路ブロックのインスタンス名をI?(?=0、1、2、3、4…)で示す。また、モジュール名がM?であり、インスタンス名がI?である回路ブロックを「回路ブロックM?:I?」と表記する。モジュール名は回路ブロックの回路構成に対して付される名称であり、被検証回路内に同じモジュール名の回路ブロックが複数含まれている場合には、同じ構成の回路が複数存在している。これに対してインスタンス名は、回路ブロックの実体に対して付される名称であり、回路ブロックを一意に識別することが可能な名称であるため、同一のインスタンス名を有する回路ブロックが同じ階層の回路ブロック内に存在することはない。
【0077】
図3に例示した被検証回路は、最上位階層の回路ブロックMA:I0が回路ブロックMB:I1及びMC:I2の2つの回路ブロックを有し、更に回路ブロックMB:I1が同一構成の2つの回路ブロックMD:I3及びMD:I4を有する3階層の階層構造を有する回路である。回路ブロックMD:I3及びMD:I4は回路構成は同じであるため、信号名が”x”の内部信号を共に有している。
【0078】
図4は、観測信号設定ファイル41に記載される観測信号名の一例を示す模式図である。なお、以降の図及び説明における回路検証システムは、FPGA2が128本の観測用の信号をパラレル出力することが可能であり、設計者は1024本の内部信号を観測する信号として指定することができる構成とする。また、設計者は、FPGA2が128本の観測用の信号をパラレル出力するために有する128個の出力端子のうち、指定した内部信号をいずれの出力端子から出力させるか、即ち指定した内部信号と出力されるパラレル信号のビット位置との対応を指定することができる。このとき、1つの出力端子に最大で8本の内部信号を割り当てることができるものとする。ただし、本発明に係る回路検証システムの構成がこれらの構成に限られるものではない。
【0079】
設計者は、観測信号設定ファイル41に、被検証回路に含まれる内部信号の信号名を”観測信号名”として記載し、この内部信号を出力する出力ビット位置を”出力ビット位置”として0〜127の番号で指定することによって、変換ツール25に対する設定を行うことができる。”観測信号名”は、被検証回路の最上位階層の回路ブロックのインスタンス名から、観測を行う内部信号が存在する回路ブロックのインスタンス名までを順に”.”などの記号を用いて連結し、最後に信号名を連結したものを用いることができる。インスタンス名は回路ブロックを一意に識別することができる識別子であるため、これにより被検証回路内の信号を一意に識別することが可能である。例えば、図3に示す被検証回路の回路ブロックMD:I3内に存在する内部信号xは、”I0.I1.I3.x”のように指定することができ、回路ブロックMD:I4内に存在する内部信号xと区別することが可能である。なお、図4においては、”観測信号名”及び”出力ビット位置”を表として示してあるが、観測信号設定ファイル41がテキストファイルの場合、例えばテキストファイルの1行に1つの”観測信号名”と”出力ビット位置”とをスペース又は”、”等の記号で隔てて記載するのみなどの簡単な構成でよい。なお、本実施の形態においては、観測を行う被検証回路の内部信号を指定するために、観測信号設定ファイル41に“観測信号名”として内部信号を記載する方法を用いているが、これに限るものではなく、例えば被検証回路の回路図を表示するツールを利用して、観測を行う信号を回路図上で指定するなどの他の方法を用いてもよい。
【0080】
変換ツール25は、上述のようなRTLソースファイル40及び観測信号設定ファイル41を読み取って取得し、観測信号設定ファイル41に設定された内部信号が外部にて観測可能となるように被検証回路の変更及びその他の回路の追加等を行って、検証用RTLソースファイル42を生成し、出力するようにしてある。図5は、検証用RTLソースファイル42に回路構成情報が記述された検証用回路の一例を示す模式図である。
【0081】
変換ツール25は、観測信号設定ファイル41に”観測信号名”として設定された内部信号を、被検証回路の最上位階層の回路ブロックから出力信号として出力するように、被検証回路の変更を行う。図示の例では、回路ブロックMD:I3の内部信号xが観測信号として指定された場合、まず、回路ブロックMD:I3に内部信号xを出力する出力端子101を設けて内部信号xを出力する。次いで、回路ブロックMD:I3を有する回路ブロックMB:I1に出力端子102を設けて、回路ブロックMD:I3の出力端子101から出力された信号を出力端子102から出力する。更に、同様にして回路ブロックMB:I1を有する最上位階層の回路ブロックMA:I0に出力端子103を設けて、回路ブロックMB:I1の出力端子102から出力された信号を出力端子103から出力する。このとき、信号名が重複することがないように、内部信号xの信号名を被検証回路内の他の信号の名称とは異なる名称、例えば”dbg_I0_I1_I3_x”のような名称に変更する。図示は省略するが、変換ツール25は、観測信号設定ファイル41に設定された全ての内部信号に関して同様の処理を行い、被検証回路の最上位階層の回路ブロックMA:I0から設定された全ての内部信号を出力するように、被検証回路を変更する。
【0082】
被検証回路の変更が終了した後、変換ツール25は、FPGA2から観測する信号として出力可能な信号数(本図の例では128)のマルチプレクサ(以下、MUX?(?=0、1…127)と表記する)を追加する。MUX0〜MUX127はそれぞれ8本の入力信号から1本の信号を選択して出力するものであり、MUX0〜MUX127の各出力信号がFPGA2の出力端子から出力される信号となる。変換ツール25は、観測信号設定ファイル41に記載された”出力ビット位置”を基にして、被検証回路から出力した内部信号をMUX0〜MUX127の入力端子に接続するようにしてあり、MUX0〜MUX127の出力信号を検証用回路の出力信号として出力手段をなすFPGA2の対応する出力端子からそれぞれ出力できるように接続する。また、MUX0〜MUX127は3ビットの制御信号(sel)が与えられており、この制御信号に応じて信号の選択を行うようにしてある。
【0083】
このため、変換ツール25は、MUX0〜MUX127の選択を制御する制御信号を出力する制御レジスタ110を回路に追加する。制御レジスタ110は、3ビット幅のレジスタが128個並べられたものであり、128個のレジスタに記憶された3ビットのレジスタ値がMUX0〜MUX127へそれぞれ制御信号として与えられるように、変換ツール25は制御レジスタ110とMUX0〜MUX127とを接続するようにしてある。制御レジスタ110のレジスタ値は回路検証装置1のCPU5が直接的に更新することができるようにしてある。
【0084】
このように、変換ツール25は、被検証回路の変更を行って、MUX0〜MUX127及び制御レジスタ110を追加し、回路検証装置1を用いて検証を行うための検証用RTLソースファイル42を生成して出力する。また、変換ツール25は、追加したMUX0〜MUX127及び制御レジスタ110を制御するための制御情報を有する制御情報ファイル43を出力するようにしてある。図6は、制御情報ファイル43に含まれる制御情報の一例を示す模式図である。
【0085】
制御情報ファイル43の制御情報に含まれる”観測信号名”及び”出力ビット位置”に係る情報は、観測信号設定ファイル41に含まれる”観測信号名”及び”出力ビット位置”と同じものである。更に、制御情報ファイル43は、MUX0〜MUX127による内部信号の選択を規定する”選択規定値”に関する情報を有している。”選択規定値”は、MUX0〜MUX127に制御信号(sel)としてそれぞれ与えられる3ビットの値であり、制御レジスタ110に記憶させる値である。よって、”観測信号名”に対応する”選択規定値”を対応する制御レジスタ110に記憶させることによって、MUX0〜MUX127の選択を切り替え、”観測信号名”に対応する内部信号をFPGA2の外部に出力させて観測することが可能となる。
【0086】
変換ツール25が出力した検証用RTLソースファイル42は、回路検証装置1のFPGA2に回路として構成するため、FPGA2のハードウェア構成に適した回路構成情報に変換する必要がある。よって、設計者はコンパイルツール26を用いてこの変換、即ちコンパイルを行う。コンパイルツール26は、検証用RTLソースファイル42を読み取って取得すると共に、図示しないFPGA2のハードウェア構成に係る情報を取得してコンパイルを行い、FPGA用ネットリスト44を生成して出力するようにしてある。
【0087】
図7は、FPGA用ネットリスト44に回路構成情報が記述された検証用回路の一例を示す模式図である。被検証回路とMUX0〜MUX127及び制御レジスタ110等を含む検証用回路は、コンパイルツール26によりコンパイルされた場合、図示のように階層構造を有しない、即ち1階層の回路構成に変換されて、論理回路を構成するためのFPGA2内の回路要素を配線で接続した回路構成となる。
【0088】
設計者は、コンパイルツール26が生成したFPGA用ネットリスト44をPC20から回路検証装置1へ送信してFPGA2へ与え、FPGA2に図7に示した検証用の回路を構成させる。その後、PC20にて検証ツール27を起動し、検証ツール27を用いてFPGA2に構成された被検証回路への入力信号の入力及び出力信号の取得等を行い、被検証回路の動作が正しいか否かを検証することができるようにしてある。
【0089】
検証ツール27は、例えば、予め設計者が作成した入力信号のテストパタンをPC20から回路検証装置1のメモリ3へ送信し、メモリ3からFPGA2内に構成された被検証回路へテストパタンを入力することができる。また、FPGA2から出力されてメモリ4に記憶された被検証回路の出力信号及び内部信号を通信用デバイス6を介して取得し、PC20にてテキストファイル又はバイナリファイル等に保存して設計者が予め用意した期待値ファイルとの比較を行う、又は取得した内部信号を波形として表示する等の処理を行うことができる。また、設計者は、検証ツール27を用いてFPGA2から出力される被検証回路の内部信号、即ち観測信号の切り替えを行うことができる。
【0090】
図8は、検証ツール27による観測信号の選択画面の一例を示す模式図であり、検証ツール27がPC20のディスプレイ上に表示する選択画面である。設計者は、観測信号を選択して切り替える場合には、検証ツール27に図示のような観測信号選択ウィンドウを表示させ、このウィンドウに一覧表示される観測信号名から所望の信号を選択することにより観測信号を切り替えることができるようにしてある。検証ツール27は、変換ツール25が出力した制御情報ファイル43を読み込んで取得することにより、制御情報ファイル43の”観測信号名”及び”出力ビット位置”を観測信号選択ウィンドウに一覧として表示すると共に、一覧表示した信号毎にトグル的に選択/非選択を行うことができるチェックボックスを”選択フラグ”として表示するようにしてある。
【0091】
設計者はチェックボックスをチェックすることで観測信号を選択できるようにしてあり、検証ツール27は、設計者が一のチェックボックスをチェックして観測信号を選択した場合、選択された信号の“出力ビット位置”の値を調べて、この値と“出力ビット位置”が同じ値の他の信号全てについてチェックボックスのチェックを外して、他の信号を非選択とするようにしてある。
【0092】
設計者はチェックボックスをチェックした後、観測信号選択ウィンドウの更新ボタンを操作することにより選択を確定させることができ、検証ツール27は設計者の選択に応じて、制御情報ファイル43の対応する”選択規定値”を取得し、回路検証装置1のFPGA2内の制御レジスタ110へ”選択規定値”を記憶させることにより、MUX0〜MUX127による信号の選択を切り替え、設計者が選択した被検証回路の内部信号をFPGA2外へ出力させるようにしてある。
【0093】
図9は、検証ツール27による観測信号の切り替え処理の手順を示すフローチャートであり、設計者が観測信号選択ウィンドウを表示させた後からの処理について図示してある。検証ツール27は、観測信号選択ウィンドウに設けられた更新ボタンが操作されたか否かを調べ(ステップS1)、更新ボタンが操作されていない場合には(S1:NO)、更新ボタンが操作されるまで待機する。
【0094】
更新ボタンが操作された場合(S1:YES)、制御情報ファイル43から制御情報を読み出して(ステップS2)、選択された信号に対応する”選択規定値”を調べることにより、制御レジスタ110に記憶させるレジスタ値を決定し(ステップS3)、決定したレジスタ値を回路検証装置1へ送信する(ステップS4)。これにより、回路検証装置1では受信したレジスタ値をFPGA2内の制御レジスタ110に記憶させるため、MUX0〜MUX127による信号の選択がレジスタ値に応じて切り替わり、出力される内部信号が切り替わる。
【0095】
以上の構成の回路検証システムにおいては、設計者が設計した被検証回路に、変換ツール25がMUX0〜MUX127及び制御レジスタ110を自動的に追加して検証用RTLソースファイル42を出力するため、設計者は設計した被検証回路の回路構成情報を有するRTLソースファイル40と、観測する内部信号の信号名を記述した観測信号設定ファイル41とを用意するのみでよいため、回路検証を容易に行うことができる。また、MUX0〜MUX127及び制御レジスタ110を用いることにより、コンパイルを繰り返し行うことなく、外部で観測する信号を切り替えることができるため、検証期間を短縮することができる。また、観測信号設定ファイル41に被検証回路の回路ブロックのインスタンス名及び信号名を連ねた識別子を”観測信号名”として記述することができ、検証ツール27にて同じ”観測信号名”を表示して設計者に信号の選択を行わせることができるため、設計者にとって使い勝手のよい回路検証システムを提供することができる。
【0096】
なお、本実施の形態においては、1つのPC20内に変換ツール25、コンパイルツール26及び検証ツール27等のソフトウェアプログラムが記憶してある構成としたが、これに限るものではなく、それぞれが別のPCにて動作する構成としてもよい。また、変換ツール25及びコンパイルツール26を別のソフトウェアプログラムとしたが、これに限るものではなく、変換ツール25の機能をコンパイルツール26が備える(又はコンパイルツール26の機能を変換ツール25が備える)構成として、1つのソフトウェアプログラムとしてもよい。この場合、検証用RTLソースファイル42を生成する必要はなく、RTLソースファイル40から直接的にFPGA用ネットリスト44を作成してもよい。また、図3に示した被検証回路の構成は一例であって、これに限るものではない。また、被検証回路の内部信号をMUX0〜MUX127にて選択し、FPGA2の出力端子から出力してメモリ4に記憶させる構成としたが、これに限るものではなく、FPGA2内にメモリを設けてMUX0〜MUX127の出力信号を記憶する構成としてもよく、FPGA2の出力端子から出力された信号を通信用デバイス6から直接的にPC20へ送信し、PC20のメモリに記憶する構成としてもよく、その他の構成であってもよい。
【0097】
(実施の形態2)
図10は、本発明の実施の形態2に係る回路検証システムの変換ツール25が生成した検証用RTLソースファイル42に回路構成情報が記述された検証用回路の一例を示す模式図である。実施の形態1の場合、MUX0〜MUX127は8本の信号から1本の信号を選択する同じ構成のマルチプレクサとしたが(図5参照)、実施の形態2はMUX0〜MUX127がそれぞれ異なる構成のマルチプレクサを含む場合である。
【0098】
例えば、図示の例では、MUX127は8本の信号から1本の信号を選択するマルチプレクサであり、MUX126は4本の信号から1本の信号を選択するマルチプレクサであり、MUX125は5本の信号から1本の信号を選択するマルチプレクサであり、MUX124は11本の信号から1本の信号を選択するマルチプレクサであり、MUX0は6本の信号から1本の信号を選択するマルチプレクサである。よって、各MUX0〜MUX127の選択を規定する制御信号のビット幅は、MUX0〜MUX127毎に異なるため、制御レジスタ110のレジスタ長もこれに合わせて可変長とするか、又は最大長のものに合わせて固定長とする。
【0099】
このように、各MUXの大きさを可変とすることにより、設計者は出力ビット位置に割り当てる観測信号の信号数を意識することなく観測信号設定ファイル41の”出力ビット位置”に番号を記述することができるため、回路検証システムの利便性を向上することができると共に、FPGA2内の資源を効率よく利用することができる。
【0100】
なお、実施の形態2に係る回路検証システムのその他の構成は、実施の形態1に係る回路検証システムの構成と同様であるため、対応する箇所には同じ符号を付して詳細な説明を省略する。
【0101】
(実施の形態3)
図11は、本発明の実施の形態3に係る回路検証システムの変換ツール25が生成した検証用RTLソースファイル42に回路構成情報が記述された検証用回路の一例を示す模式図である。実施の形態1及び実施の形態2の場合、MUX0〜MUX127により選択された128本の信号をFPGA2の128個の出力端子から出力する構成としたが、実施の形態3の場合は、MUX0〜MUX127により選択された128本の信号をFPGA2の1個の出力端子からシリアル出力する構成である。
【0102】
変換ツール25は、設計者が予め用意したRTLソースファイル40及び観測信号設定ファイル41を読み込んで取得し、RTLソースファイル40に回路構成情報が記載された被検証回路にMUX0〜MUX127及び制御レジスタ110を追加すると共に、パラレル−シリアル変換回路315を追加するようにしてある。パラレル−シリアル変換回路315は、FPGA2の出力端子と共に被検証回路の内部信号を外部に出力するための本発明の出力手段をなし、MUX0〜MUX127が出力する128本の出力信号をサンプリングして、例えばMUX127の出力信号の値からMUX0の出力信号の値までを順にFPGA2の出力端子から出力するものである。この場合、観測信号設定ファイル41に記載された”出力ビット位置”は、シリアル信号として順に出力される128個の値のうちの何番目に出力される値であるか、即ち出力順位に相当する。
【0103】
このように、MUX0〜MUX127が選択して出力した128本の出力信号をシリアル信号に変換して出力する構成とすることにより、FPGA2の出力端子の数が少ない場合であっても、被検証回路の内部信号をより多く観測することができる。なお、パラレル−シリアル変換回路315が出力するシリアル信号は0〜127の出力信号の値をMSB(Most Significant Bit、最上位ビット)から出力してもよく、LSB(Least Significant Bit、最下位ビット)から出力してもよく、又は設計者が予め定めた順序で出力してもよい。また、パラレル−シリアル変換回路315は128本の出力信号を1本のシリアル信号に変換する構成としたが、これに限るものではなく、2本以上のシリアル信号に変換する構成としてもよい。この場合、設計者が観測信号設定ファイル41の出力ビット位置として何本目のシリアル信号の何番目のビットに出力するかを指定するようにすればよい。
【0104】
なお、実施の形態3係る回路検証システムのその他の構成は、実施の形態1に係る回路検証システムの構成と同様であるため、対応する箇所には同じ符号を付して詳細な説明を省略する。
【0105】
(実施の形態4)
図12は、本発明の実施の形態4に係る回路検証システムの変換ツール25が生成した検証用RTLソースファイル42に回路構成情報が記述された検証用回路の一例を示す模式図である。実施の形態1及び実施の形態2の場合、MUX0〜MUX127により選択された128本の信号を直接的にFPGA2の128個の出力端子から出力する構成としたが、実施の形態4の場合は、MUX0〜127により選択された信号を一時的にメモリ415に記憶する構成である。
【0106】
変換ツール25は、設計者が予め用意したRTLソースファイル40及び観測信号設定ファイル41を読み込んで取得し、RTLソースファイル40に回路構成情報が記載された被検証回路にMUX0〜MUX127及び制御レジスタ110を追加すると共に、メモリ415を追加するようにしてある。メモリ415は、FPGA2の出力端子と共に被検証回路の内部信号を外部に出力するための本発明の出力手段をなし、MUX0〜MUX127が出力する128本の出力信号の値を記憶するようにしてある。メモリ415に記憶された値は、回路検証装置1のCPU5から読み出すことができるようにしてあり、CPU5は読み出した値をメモリ4に記憶するか、又は通信用デバイス6を介してPC20へ送信するようにしてある。
【0107】
なお、CPU5がメモリ415から一度に読み出すデータサイズ、即ちメモリ415がFPGA2から出力する出力信号の数は、MUXの数である128に等しくする必要はなく、これ以上であっても以下であってもよい。また、実施の形態3のようにパラレル−シリアル変換回路315を用いる場合には、メモリ415をMUX0〜MUX127とパラレル−シリアル変換回路315との間、又はパラレル−シリアル変換回路315と出力端子との間に設ければよい。
【0108】
なお、実施の形態4係る回路検証システムのその他の構成は、実施の形態1に係る回路検証システムの構成と同様であるため、対応する箇所には同じ符号を付して詳細な説明を省略する。
【図面の簡単な説明】
【0109】
【図1】本発明に係る回路検証システムの構成を示すブロック図である。
【図2】本発明に係る回路検証システムにおいてFPGAへ与える回路構成情報を生成する手順を説明するための模式図である。
【図3】RTLソースファイルに回路構成情報が記述された被検証回路の一例を示す模式図である。
【図4】観測信号設定ファイルに記載される観測信号名の一例を示す模式図である。
【図5】検証用RTLソースファイルに回路構成情報が記述された検証用回路の一例を示す模式図である。
【図6】制御情報ファイルに含まれる制御情報の一例を示す模式図である。
【図7】FPGA用ネットリストに回路構成情報が記述された検証用回路の一例を示す模式図である。
【図8】検証ツールによる観測信号の選択画面の一例を示す模式図であり
【図9】検証ツールによる観測信号の切り替え処理の手順を示すフローチャートである。
【図10】本発明の実施の形態2に係る回路検証システムの変換ツールが生成した検証用RTLソースファイルに回路構成情報が記述された検証用回路の一例を示す模式図である。
【図11】本発明の実施の形態3に係る回路検証システムの変換ツールが生成した検証用RTLソースファイルに回路構成情報が記述された検証用回路の一例を示す模式図である。
【図12】本発明の実施の形態4に係る回路検証システムの変換ツールが生成した検証用RTLソースファイルに回路構成情報が記述された検証用回路の一例を示す模式図である。
【符号の説明】
【0110】
1 回路検証装置
2 FPGA(プログラマブル素子)
3、4 メモリ
5 CPU
6 通信用デバイス
20 PC(回路構成情報生成装置、回路構成情報取得手段、生成手段、対応情報取得手段、制御装置、受付手段、更新手段、内部信号取得手段、表示手段)
21 メモリ
22 CPU
23 通信I/F(通信手段)
24 ハードディスク
25 変換ツール(回路構成情報生成プログラム)
26 コンパイルツール
27 検証ツール(制御プログラム)
40 RTLソースファイル(被検証回路の回路構成情報)
41 観測信号設定ファイル(対応情報)
42 検証用RTLソースファイル(検証用回路の回路構成情報)
43 制御情報ファイル
44 FPGA用ネットリスト
101、102、103 出力端子
110 制御レジスタ(規定情報記憶部)
315 パラレル−シリアル変換回路
415 メモリ
MUX0〜MUX127 マルチプレクサ(選択回路)
【特許請求の範囲】
【請求項1】
回路動作を検証する被検証回路の回路構成情報を取得する回路構成情報取得手段と、取得した前記被検証回路の回路構成情報を基に、論理回路を構成することが可能なプログラマブル素子に前記被検証回路を構成するための検証用回路の回路構成情報を生成する生成手段とを備え、プログラマブル素子及び該プログラマブル素子に構成された論理回路の内部信号を該プログラマブル素子の外部に出力する出力手段を有する回路検証装置にて、前記被検証回路を前記プログラマブル素子に構成して回路動作の検証を行うための回路構成情報を生成する回路構成情報生成装置において、
前記出力手段は、前記プログラマブル素子に構成された前記被検証回路の一又は複数の内部信号を出力することができるようにしてあり、
前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の識別子、及び前記出力手段による出力位置が対応付けられた対応情報を取得する対応情報取得手段を備え、
前記生成手段は、
前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の信号数が、前記出力手段の出力する信号数より多い場合に、
前記被検証回路の複数の内部信号から前記出力手段が出力する信号数の信号を選択する選択回路と、
該選択回路の選択を規定する規定情報を記憶する規定情報記憶部と
を前記被検証回路と共に含む検証用回路の回路構成情報を生成するようにしてあること
を特徴とする回路構成情報生成装置。
【請求項2】
前記回路構成情報取得手段が取得した回路構成情報に含まれる被検証回路が、階層的に複数の回路ブロックが設けられた回路構造であり、且つ、前記対応情報に含まれる識別子に係る内部信号が、前記被検証回路の最上位階層でない回路ブロックの内部信号である場合に、
前記生成手段は、前記内部信号を最上位階層の回路ブロックから出力して前記選択回路に入力する構成の検証用回路の回路構成情報を生成する請求項1に記載の回路構成情報生成装置。
【請求項3】
前記回路構成情報取得手段が取得した回路構成情報に含まれる被検証回路が、階層的に複数の回路ブロックが設けられた回路構造であり、且つ、前記対応情報に含まれる識別子に係る内部信号が、前記被検証回路の最上位階層でない回路ブロックの内部信号である場合に、
前記対応情報に含まれる内部信号の識別子は、
各回路ブロックを一意的に識別することができ、最上位階層の回路ブロックから前記内部信号を有する回路ブロックまでの各回路ブロックにそれぞれ付された複数の識別子と、
前記内部信号を有する回路ブロック内にて前記内部信号を識別する識別子と
の組み合わせで識別するようにしてある請求項1又は請求項2に記載の回路構成情報生成装置。
【請求項4】
前記出力手段は、前記選択回路が選択した複数の内部信号を前記プログラマブル素子に設けられた複数の出力端子からパラレル出力するようにしてあり、
前記対応情報に含まれる前記出力位置は、複数の前記出力端子にそれぞれ対応付けられた番号である請求項1乃至請求項3のいずれか1つに記載の回路構成情報生成装置。
【請求項5】
前記出力手段は、前記選択回路が選択した複数の内部信号を前記プログラマブル素子に設けられた出力端子からシリアル出力するようにしてあり、
前記対応情報に含まれる前記出力位置は、シリアル出力を行う際の出力順位に対応付けられた番号である請求項1乃至請求項3のいずれか1つに記載の回路構成情報生成装置。
【請求項6】
前記生成手段は、前記選択回路が選択した信号を記憶する選択信号記憶部を更に含む検証用回路の回路構成情報を生成するようにしてあり、
前記出力手段は、前記選択信号記憶部に記憶された信号を出力するようにしてある請求項1乃至請求項5のいずれか1つに記載の回路構成情報生成装置。
【請求項7】
請求項1乃至請求項6のいずれか1つに記載の回路構成情報生成装置が生成した回路構成情報の回路が前記プログラマブル素子に構成された回路検証装置の動作を制御する制御装置であって、
前記回路検証装置との間で通信を行う通信手段と、
前記プログラマブル素子に構成された被検証回路の複数の内部信号から、外部に出力する内部信号の選択を受け付ける受付手段と、
該受付手段が受け付けた選択に応じて、前記プログラマブル素子に構成された規定情報記憶部に記憶された規定情報を前記通信手段を介して更新する更新手段と
を備えることを特徴とする制御装置。
【請求項8】
前記出力手段が出力した内部信号を、前記通信手段を介して取得する内部信号取得手段を備える請求項7に記載の制御装置。
【請求項9】
前記回路構成情報生成装置が取得した前記対応情報に含まれる被検証回路の内部信号の識別子を表示する表示手段を備え、
前記受付手段は、前記表示手段により表示された識別子から一又は複数の内部信号の選択を受け付けるようにしてある請求項7又は請求項8に記載の制御装置。
【請求項10】
論理回路を構成することが可能なプログラマブル素子、及び該プログラマブル素子に構成された論理回路の内部信号を該プログラマブル素子の外部に出力する出力手段を有する回路検証装置と、
請求項1乃至請求項6のいずれか1つに記載の回路構成情報生成装置と、
請求項7乃至請求項9のいずれか1つに記載の制御装置と
を備え、
前記回路構成情報生成装置が生成した回路構成情報に係る回路を、前記回路検証装置の前記プログラマブル素子に構成し、前記制御装置により前記回路検証装置の動作を制御して回路の動作検証を行うようにしてあることを特徴とする回路検証システム。
【請求項11】
論理回路を構成することが可能なプログラマブル素子と、該プログラマブル素子に構成された回路の内部信号を該プログラマブル素子の外部に出力する出力手段とを備える回路検証装置を用いて、被検証回路を前記プログラマブル素子に構成し、該被検証回路の回路動作を検証する回路検証方法において、
前記出力手段は、前記プログラマブル素子に構成された前記被検証回路の一又は複数の内部信号を出力することができるようにしてあり、
前記被検証回路の回路構成情報を取得し、
前記出力手段により前記プログラマブル素子の外部に出力させる前記被検証回路の内部信号の識別子、及び前記出力手段による出力位置が対応付けられた対応情報を取得し、
前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の信号数が、前記出力手段の出力する信号数より多い場合に、
前記被検証回路の複数の内部信号から前記出力手段が出力する信号数の信号を選択する選択回路と、該選択回路の選択を規定する規定情報を記憶する規定情報記憶部とを前記被検証回路と共に含む検証用回路の回路構成情報を生成し、
該検証用回路を前記プログラマブル素子に構成して、前記被検証回路の回路動作を検証すること
を特徴とする回路検証方法。
【請求項12】
前記被検証回路が階層的に複数の回路ブロックが設けられた回路構造であり、且つ、前記対応情報に含まれる識別子に係る内部信号が最上位階層でない回路ブロックの内部信号の場合に、
前記内部信号を最上位階層の回路ブロックから出力して前記選択回路に入力する構成の検証用回路の回路構成情報を生成する請求項11に記載の回路検証方法。
【請求項13】
前記対応情報に含まれる内部信号の識別子から、外部に出力する内部信号の選択を受け付け、
受け付けた選択に応じて、前記プログラマブル素子に構成された前記規定情報記憶部に記憶された規定情報を更新して、
受け付けた選択に応じた内部信号を前記出力手段により出力させる請求項11又は請求項12に記載の回路検証方法。
【請求項14】
コンピュータに、回路動作を検証する被検証回路の回路構成情報を基に、論理回路を構成することが可能なプログラマブル素子に前記被検証回路を構成するための検証用回路の回路構成情報を生成させるステップを含み、プログラマブル素子及び該プログラマブル素子に構成された論理回路の内部信号を該プログラマブル素子の外部に出力する出力手段を有する回路検証装置にて、前記被検証回路を前記プログラマブル素子に構成して回路動作の検証を行うための回路構成情報を生成させる回路構成情報生成プログラムにおいて、
前記出力手段は、前記プログラマブル素子に構成された前記被検証回路の一又は複数の内部信号を出力することができるようにしてあり、
前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の識別子、及び前記出力手段による出力位置が対応付けられた対応情報を取得させるステップを含み、
前記検証用回路の回路構成情報を生成させるステップにて、前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の信号数が、前記出力手段の出力する信号数より多い場合に、前記被検証回路の複数の内部信号から前記出力手段が出力する信号数の信号を選択する選択回路と、該選択回路の選択を規定する規定情報を記憶する規定情報記憶部とを前記被検証回路と共に含む検証用回路の回路構成情報を生成させること
を特徴とする回路構成情報生成プログラム。
【請求項15】
請求項14に記載の回路構成情報生成プログラムがコンピュータに生成させた回路構成情報の回路を前記プログラマブル素子に構成した回路検証装置の動作を、コンピュータに制御させる制御プログラムであって、
コンピュータに、
前記プログラマブル素子に構成された被検証回路の複数の内部信号から、外部に出力する内部信号の選択を受け付けさせるステップと、
受け付けた選択に応じて、前記プログラマブル素子に構成された規定情報記憶部に記憶された規定情報を更新させるステップと
を含むことを特徴とする制御プログラム。
【請求項1】
回路動作を検証する被検証回路の回路構成情報を取得する回路構成情報取得手段と、取得した前記被検証回路の回路構成情報を基に、論理回路を構成することが可能なプログラマブル素子に前記被検証回路を構成するための検証用回路の回路構成情報を生成する生成手段とを備え、プログラマブル素子及び該プログラマブル素子に構成された論理回路の内部信号を該プログラマブル素子の外部に出力する出力手段を有する回路検証装置にて、前記被検証回路を前記プログラマブル素子に構成して回路動作の検証を行うための回路構成情報を生成する回路構成情報生成装置において、
前記出力手段は、前記プログラマブル素子に構成された前記被検証回路の一又は複数の内部信号を出力することができるようにしてあり、
前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の識別子、及び前記出力手段による出力位置が対応付けられた対応情報を取得する対応情報取得手段を備え、
前記生成手段は、
前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の信号数が、前記出力手段の出力する信号数より多い場合に、
前記被検証回路の複数の内部信号から前記出力手段が出力する信号数の信号を選択する選択回路と、
該選択回路の選択を規定する規定情報を記憶する規定情報記憶部と
を前記被検証回路と共に含む検証用回路の回路構成情報を生成するようにしてあること
を特徴とする回路構成情報生成装置。
【請求項2】
前記回路構成情報取得手段が取得した回路構成情報に含まれる被検証回路が、階層的に複数の回路ブロックが設けられた回路構造であり、且つ、前記対応情報に含まれる識別子に係る内部信号が、前記被検証回路の最上位階層でない回路ブロックの内部信号である場合に、
前記生成手段は、前記内部信号を最上位階層の回路ブロックから出力して前記選択回路に入力する構成の検証用回路の回路構成情報を生成する請求項1に記載の回路構成情報生成装置。
【請求項3】
前記回路構成情報取得手段が取得した回路構成情報に含まれる被検証回路が、階層的に複数の回路ブロックが設けられた回路構造であり、且つ、前記対応情報に含まれる識別子に係る内部信号が、前記被検証回路の最上位階層でない回路ブロックの内部信号である場合に、
前記対応情報に含まれる内部信号の識別子は、
各回路ブロックを一意的に識別することができ、最上位階層の回路ブロックから前記内部信号を有する回路ブロックまでの各回路ブロックにそれぞれ付された複数の識別子と、
前記内部信号を有する回路ブロック内にて前記内部信号を識別する識別子と
の組み合わせで識別するようにしてある請求項1又は請求項2に記載の回路構成情報生成装置。
【請求項4】
前記出力手段は、前記選択回路が選択した複数の内部信号を前記プログラマブル素子に設けられた複数の出力端子からパラレル出力するようにしてあり、
前記対応情報に含まれる前記出力位置は、複数の前記出力端子にそれぞれ対応付けられた番号である請求項1乃至請求項3のいずれか1つに記載の回路構成情報生成装置。
【請求項5】
前記出力手段は、前記選択回路が選択した複数の内部信号を前記プログラマブル素子に設けられた出力端子からシリアル出力するようにしてあり、
前記対応情報に含まれる前記出力位置は、シリアル出力を行う際の出力順位に対応付けられた番号である請求項1乃至請求項3のいずれか1つに記載の回路構成情報生成装置。
【請求項6】
前記生成手段は、前記選択回路が選択した信号を記憶する選択信号記憶部を更に含む検証用回路の回路構成情報を生成するようにしてあり、
前記出力手段は、前記選択信号記憶部に記憶された信号を出力するようにしてある請求項1乃至請求項5のいずれか1つに記載の回路構成情報生成装置。
【請求項7】
請求項1乃至請求項6のいずれか1つに記載の回路構成情報生成装置が生成した回路構成情報の回路が前記プログラマブル素子に構成された回路検証装置の動作を制御する制御装置であって、
前記回路検証装置との間で通信を行う通信手段と、
前記プログラマブル素子に構成された被検証回路の複数の内部信号から、外部に出力する内部信号の選択を受け付ける受付手段と、
該受付手段が受け付けた選択に応じて、前記プログラマブル素子に構成された規定情報記憶部に記憶された規定情報を前記通信手段を介して更新する更新手段と
を備えることを特徴とする制御装置。
【請求項8】
前記出力手段が出力した内部信号を、前記通信手段を介して取得する内部信号取得手段を備える請求項7に記載の制御装置。
【請求項9】
前記回路構成情報生成装置が取得した前記対応情報に含まれる被検証回路の内部信号の識別子を表示する表示手段を備え、
前記受付手段は、前記表示手段により表示された識別子から一又は複数の内部信号の選択を受け付けるようにしてある請求項7又は請求項8に記載の制御装置。
【請求項10】
論理回路を構成することが可能なプログラマブル素子、及び該プログラマブル素子に構成された論理回路の内部信号を該プログラマブル素子の外部に出力する出力手段を有する回路検証装置と、
請求項1乃至請求項6のいずれか1つに記載の回路構成情報生成装置と、
請求項7乃至請求項9のいずれか1つに記載の制御装置と
を備え、
前記回路構成情報生成装置が生成した回路構成情報に係る回路を、前記回路検証装置の前記プログラマブル素子に構成し、前記制御装置により前記回路検証装置の動作を制御して回路の動作検証を行うようにしてあることを特徴とする回路検証システム。
【請求項11】
論理回路を構成することが可能なプログラマブル素子と、該プログラマブル素子に構成された回路の内部信号を該プログラマブル素子の外部に出力する出力手段とを備える回路検証装置を用いて、被検証回路を前記プログラマブル素子に構成し、該被検証回路の回路動作を検証する回路検証方法において、
前記出力手段は、前記プログラマブル素子に構成された前記被検証回路の一又は複数の内部信号を出力することができるようにしてあり、
前記被検証回路の回路構成情報を取得し、
前記出力手段により前記プログラマブル素子の外部に出力させる前記被検証回路の内部信号の識別子、及び前記出力手段による出力位置が対応付けられた対応情報を取得し、
前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の信号数が、前記出力手段の出力する信号数より多い場合に、
前記被検証回路の複数の内部信号から前記出力手段が出力する信号数の信号を選択する選択回路と、該選択回路の選択を規定する規定情報を記憶する規定情報記憶部とを前記被検証回路と共に含む検証用回路の回路構成情報を生成し、
該検証用回路を前記プログラマブル素子に構成して、前記被検証回路の回路動作を検証すること
を特徴とする回路検証方法。
【請求項12】
前記被検証回路が階層的に複数の回路ブロックが設けられた回路構造であり、且つ、前記対応情報に含まれる識別子に係る内部信号が最上位階層でない回路ブロックの内部信号の場合に、
前記内部信号を最上位階層の回路ブロックから出力して前記選択回路に入力する構成の検証用回路の回路構成情報を生成する請求項11に記載の回路検証方法。
【請求項13】
前記対応情報に含まれる内部信号の識別子から、外部に出力する内部信号の選択を受け付け、
受け付けた選択に応じて、前記プログラマブル素子に構成された前記規定情報記憶部に記憶された規定情報を更新して、
受け付けた選択に応じた内部信号を前記出力手段により出力させる請求項11又は請求項12に記載の回路検証方法。
【請求項14】
コンピュータに、回路動作を検証する被検証回路の回路構成情報を基に、論理回路を構成することが可能なプログラマブル素子に前記被検証回路を構成するための検証用回路の回路構成情報を生成させるステップを含み、プログラマブル素子及び該プログラマブル素子に構成された論理回路の内部信号を該プログラマブル素子の外部に出力する出力手段を有する回路検証装置にて、前記被検証回路を前記プログラマブル素子に構成して回路動作の検証を行うための回路構成情報を生成させる回路構成情報生成プログラムにおいて、
前記出力手段は、前記プログラマブル素子に構成された前記被検証回路の一又は複数の内部信号を出力することができるようにしてあり、
前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の識別子、及び前記出力手段による出力位置が対応付けられた対応情報を取得させるステップを含み、
前記検証用回路の回路構成情報を生成させるステップにて、前記プログラマブル素子の外部に出力する前記被検証回路の内部信号の信号数が、前記出力手段の出力する信号数より多い場合に、前記被検証回路の複数の内部信号から前記出力手段が出力する信号数の信号を選択する選択回路と、該選択回路の選択を規定する規定情報を記憶する規定情報記憶部とを前記被検証回路と共に含む検証用回路の回路構成情報を生成させること
を特徴とする回路構成情報生成プログラム。
【請求項15】
請求項14に記載の回路構成情報生成プログラムがコンピュータに生成させた回路構成情報の回路を前記プログラマブル素子に構成した回路検証装置の動作を、コンピュータに制御させる制御プログラムであって、
コンピュータに、
前記プログラマブル素子に構成された被検証回路の複数の内部信号から、外部に出力する内部信号の選択を受け付けさせるステップと、
受け付けた選択に応じて、前記プログラマブル素子に構成された規定情報記憶部に記憶された規定情報を更新させるステップと
を含むことを特徴とする制御プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2008−97131(P2008−97131A)
【公開日】平成20年4月24日(2008.4.24)
【国際特許分類】
【出願番号】特願2006−275438(P2006−275438)
【出願日】平成18年10月6日(2006.10.6)
【出願人】(390022471)アオイ電子株式会社 (85)
【Fターム(参考)】
【公開日】平成20年4月24日(2008.4.24)
【国際特許分類】
【出願日】平成18年10月6日(2006.10.6)
【出願人】(390022471)アオイ電子株式会社 (85)
【Fターム(参考)】
[ Back to top ]