(57)【要約】【課題】論理合成を再度行うことなく、プログラマブル素子内の被検証回路及び補助回路等の動作を変更して様々な回路検証を行うことができる回路検証装置及び回路検証方法を提供する。【解決手段】ターゲット回路２０と、ターゲット回路２０への入力信号を生成するテストパタン生成回路２５と、ＦＰＧＡ２の入力端子からの入力信号又はテストパタン生成回路２５からの入力信号のいずれかを選択してターゲット回路２０へ与えるＭＵＸ４０と、ターゲット回路２０の複数の内部信号のうちのいくつかを選択してメモリ切替部４２へ与えるＭＵＸ４１と、ターゲット回路２０の内部信号及び出力信号の値を記憶する内部メモリ４４と、ＭＵＸ４１からの信号を外部のメモリ５又は内部メモリ４４のいずれかへ与えるメモリ切替部４２と、これらの回路の動作を規定する規定値を記憶する制御レジスタ３０とを、ＦＰＧＡ２に構成する。【選択図】図１
2007292492.tif 000002
【特許請求の範囲】
【請求項１】
論理回路を再構成することが可能なプログラマブル素子を備え、該プログラマブル素子に構成された被検証回路の動作を検証する回路検証装置において、
前記プログラマブル素子に、
前記被検証回路へ入力信号を与える機能及び／又は前記被検証回路からの出力信号を取得する機能を有する補助回路と、
前記被検証回路及び／又は前記補助回路の動作を規定する規定値を記憶する規定値記憶部と
が構成されるようにしてあり、
前記規定値記憶部へ規定値を記憶させ、前記被検証回路及び／又は前記補助回路の動作を制御する制御部を備えること
を特徴とする回路検証装置。
【請求項２】
前記被検証回路は複数の回路ブロックを有し、
該複数の回路ブロックには、被検証回路ブロック及び該被検証回路ブロックに入力信号を与える入力側回路ブロックを含み、
前記規定値記憶部は、前記入力側回路ブロックが与える入力信号に代えて前記被検証回路ブロックへ与える入力値と、該入力値を前記被検証回路へ与えるか否かを定める規定値とを記憶するようにしてあり、
前記補助回路は、前記規定値記憶部が記憶した前記規定値に応じて、前記入力側回路ブロックからの入力信号又は前記規定値記憶部が記憶した入力値を選択して前記被検証回路ブロックへ与える選択回路を有する請求項１に記載の回路検証装置。
【請求項３】
前記被検証回路は複数の回路ブロックを有し、
該複数の回路ブロックには、被検証回路ブロック、該被検証回路ブロックからの出力信号を取得する出力側回路ブロック及び前記被検証回路ブロックに代替可能な代替回路ブロックを含み、
前記規定値記憶部は、前記代替回路ブロックによる前記被検証回路ブロックの代替を行うか否かを定める規定値を記憶するようにしてあり、
前記補助回路は、前記規定値記憶部が記憶した前記規定値に応じて、前記被検証回路ブロックの出力信号又は前記代替回路ブロックの出力信号を選択して前記出力側回路ブロックへ与える選択回路を有する請求項１又は請求項２に記載の回路検証装置。
【請求項４】
前記補助回路は、前記被検証回路へ与える入力信号を生成するテストパタン生成回路と、前記プログラマブル素子に設けられた入力端子から与えられる入力信号又は前記テストパタン生成回路が生成する入力信号を選択して前記被検証回路へ与える選択回路とを有し、
前記規定値記憶部は、前記選択回路の選択を規定する規定値を記憶するようにしてある請求項１乃至請求項３のいずれか１つに記載の回路検証装置。
【請求項５】
前記補助回路は、前記被検証回路の内部信号を選択して出力する選択回路を有し、
前記規定値記憶部は、前記選択回路の選択を規定する規定値を記憶するようにしてある請求項１乃至請求項４のいずれか１つに記載の回路検証装置。
【請求項６】
前記被検証回路へ入力されるクロック信号より高周波の観測用クロック信号を出力する観測用クロック信号出力回路を備え、
前記規定値記憶部は、前記観測用クロック信号に同期して動作することが可能にしてあり、
前記制御部は、前記観測用クロック信号に同期して前記規定値記憶部の規定値を変更し、前記選択回路が出力する内部信号を変更するようにしてある請求項５に記載の回路検証装置。
【請求項７】
前記観測用クロック信号に同期して前記選択回路が出力する内部信号の値を記憶する観測値記憶部を備える請求項６に記載の回路検証装置。
【請求項８】
前記被検証回路へ入力されるクロック信号に応じて動作するカウンタを備え、
前記規定値記憶部は、前記観測値記憶部への内部信号の値の記憶を開始する開始カウンタ値及び記憶を終了する終了カウンタ値を記憶するようにしてあり、
前記観測値記憶部は、前記カウンタの値が前記開始カウンタ値に一致した場合に記憶を開始し、前記カウンタの値が前記終了カウンタ値に一致した場合に記憶を終了するようにしてある請求項７に記載の回路検証装置。
【請求項９】
前記被検証回路の内部信号の期待値を記憶する期待値記憶部と、
前記選択回路が出力する内部信号及び前記期待値記憶部が記憶した期待値を比較する比較手段と、
該比較手段による比較の結果、前記内部信号及び前記期待値が一致しない場合、前記被検証回路の動作を停止させる停止手段と
を備える請求項５乃至請求項８のいずれか１つに記載の回路検証装置。
【請求項１０】
前記被検証回路へ入力されるクロック信号に応じて動作するカウンタと、
前記カウンタの値の所定値毎に、前記被検証回路の動作を停止させる停止手段と
を備え、
前記規定値記憶部は、前記所定値を記憶するようにしてある請求項１乃至請求項９のいずれか１つに記載の回路検証装置。
【請求項１１】
前記停止手段は、前記被検証回路へのクロック信号の供給を停止することにより、前記被検証回路の動作を停止させるようにしてある請求項９又は請求項１０に記載の回路検証装置。
【請求項１２】
前記プログラマブル素子及び前記制御部が設けられた回路基板と、
該回路基板に設けられ、前記制御部及び外部装置の間で通信を行う通信手段と
を備え、
前記制御部は、前記プログラマブル素子の前記規定値記憶部に、アドレス及びデータの指定によりアクセス可能にしてある請求項１乃至請求項１１のいずれか１つに記載の回路検証装置。
【請求項１３】
論理回路を再構成することが可能なプログラマブル素子を備える回路検証装置を用いて、前記プログラマブル素子に被検証回路を構成し、該被検証回路の検証を行う回路検証方法において、
前記プログラマブル素子に、前記被検証回路と、前記被検証回路へ入力信号を与える機能及び／又は前記被検証回路からの出力信号を取得する機能を有する補助回路と、前記被検証回路及び／又は前記補助回路の動作を規定する規定値を記憶する規定値記憶部とを構成し、
前記規定値記憶部へ前記規定値を記憶させ、前記被検証回路及び前記補助回路の動作を制御して検証を行うこと
を特徴とする回路検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）又はＣＰＬＤ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）等の論理回路を再構成することができるプログラマブル素子を備え、このプログラマブル素子に構成された回路の動作検証を行うための回路検証装置及び回路検証方法に関する。
【背景技術】
【０００２】
従来から、デジタル回路の設計を行う場合には、ＶＨＤＬ又はＶｅｒｉｌｏｇ−ＨＤＬ等のＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ、ハードウェア記述言語）が用いられている。設計者は、デジタル回路をＨＤＬにより記述し、シミュレータを用いてＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）の回路の検証を行った後、論理合成を行ってゲートレベルの回路を生成する。その後、生成されたゲートレベルの回路を再度検証し、検証によりエラーが発見されなかった場合には、配置配線ツールを用いて回路のレイアウトを作成し、このレイアウトを基に半導体ＩＣの製造が行われる。
【０００３】
回路の検証を行う場合には、ＲＴＬ又はゲートレベルの回路と回路のテストパタンとをシミュレータに与えてシミュレーションを行うが、近年のデジタル回路は大規模化しており、シミュレーションに膨大な時間を要するという問題がある。例えば、実機での１秒間分のシミュレーションを行う場合に、数十時間〜数日程度のシミュレーション時間が必要な場合がある。よって、シミュレーションを行うことができるテストパタンが限られ、十分な検証を行うことができないという問題があった。
【０００４】
この問題を解決するために、回路の検証にＦＰＧＡ又はＣＰＬＤ等のプログラマブル素子を備える回路検証装置を用いることができる。ＦＰＧＡには、内部に多数の論理ブロックが配置され、論理ブロック間の配線の接続などを行うための記憶素子が備えられている。記憶素子としてはＳＲＡＭ又はフラッシュメモリ等のメモリ技術を利用した素子が用いられ、記憶素子に記憶されたデータを変更することで、設計者は回路の構成を変更することができるようにしてある。プログラマブル素子を用いて検証を行う場合、回路を実時間で動作させることができるため、検証時間を短縮することができ、より多くのテストパタンを入力して回路を動作させることができるため、より確実にエラーを発見することができる。設計者は、回路の検証を行ってエラーが発見された場合には、回路を修正し、プログラマブル素子に修正後の回路を再構成して検証を行うことができる。このような回路検証装置を用いることにより、回路の検証及び修正等の作業、所謂デバッグ作業を高速化でき、回路開発の期間を短縮することができるという利点がある。
【０００５】
特許文献１においては、ＦＰＧＡ内に構成された論理回路の各ノードに論理値を記憶する記憶素子をそれぞれ設けて、外部からのノードアドレスの指定と、外部からの読み出しタイミングの指定とに応じて、指定されたノードアドレスのノードに設けられた記憶素子から、指定された読み出しタイミングで値を読み出して外部へ出力することにより、論理回路中のノードを自由に選択して値を読み出すことができ、論理回路のデバッグ能率を向上させることができるフィールドプログラマブルゲートアレイが提案されている。
【０００６】
特許文献２においては、複数のＦＰＧＡを備えて、各ＦＰＧＡが有する端子のうちの所定数の端子を常にプローブ用の端子として確保し、この端子の数に合わせて論理回路を分割し、分割した論理回路を論理合成して各ＦＰＧＡのためのデータを作成する場合に、分割した論理回路の内部ノードをプローブ用の端子に接続するための複数のデータを予め作成しておき、プローブする内部ノードを変更する際に、これに対応したデータを選択してＦＰＧＡに回路を構成するエミュレーションシステムが提案されている。このエミュレーションシステムにおいては、プローブするノードの変更に伴う論理合成の所要時間を短縮することができ、回路デバッグの作業効率を改善することができる。
【０００７】
特許文献３においては、ＦＰＧＡ内に、ターゲット回路と、外部から制御可能なセレクト信号によりターゲット回路内の内部信号群から一群を選択し、選択した一群の信号を外部に出力するトレースマクロ部とを構成し、出力された信号をＦＰＧＡが搭載されたターゲット基板から子基板部へデータとして送り、高速なレシーバドライバ及びトランスミッタドライバにより子基板部及びＰＣ（パーソナルコンピュータ）に接続されたポッドボックス部の間でデータ転送を行う内部信号モニタ装置が提案されている。この内部信号モニタ装置では、ターゲット基板に搭載されるＦＰＧＡのモニタ用の出力端子が少ない場合であっても、端子数以上の内部信号をＰＣから高速にモニタリングすることができる。
【特許文献１】特開平５−９０９４９号公報
【特許文献２】特開平１０−３１２３０９号公報
【特許文献３】特開２００３−２７１４１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来構成の回路検証装置の場合には、回路中のノードをＦＰＧＡの出力端子に接続して信号を外部に出力し、出力された信号をロジックアナライザ（以下、ロジアナという）又はオシロスコープ等の観測装置を用いて取得することにより、設計者が回路の内部信号を観測して検証を行うことができるようにしてある。しかし、回路中のノード数はＦＰＧＡの出力端子数と比較して多く、全ノードの信号を観測することはできないため、回路中のノードとＦＰＧＡの出力端子との接続を変更する場合には、設計者が記述したＨＤＬの回路の論理合成を再度行う必要があり、回路規模が大きいものほど論理合成に時間がかかり、回路検証の効率を悪化させるという問題がある。
【０００９】
特許文献１乃至特許文献３においては、上述のような論理合成を再度行うことによる回路検証の効率の悪化を改善するための発明が提案されている。しかしながら、特許文献１に記載のフィールドプログラマブルゲートアレイは、ＦＰＧＡ内の論理回路の各ノードに記憶素子を設ける必要があるため、回路規模が大きくなってノード数が増すことにより、必要な記憶素子数が増加するという問題がある。よって、回路規模が大きくなった場合に、容量がより大きなＦＰＧＡが必要となるか、又は複数のＦＰＧＡを用いる必要があり、検証を行うためのコストが増大する。
【００１０】
特許文献２に記載のエミュレーションシステムは、ＦＰＧＡに構成された回路の内部ノードを、ＦＰＧＡのプローブ用の端子に接続できるように、予め複数のパターンの論理合成を行ってデータを作成しておき、信号の観測を行うノードを変更する場合には、所望のノードがプローブ用の端子に接続されたデータを用いてＦＰＧＡを再構成することにより変更を行うようにしてある。このため、内部ノードの数が多く、プローブ用の端子が少ない場合には、多くのデータを予め作成する必要があり、このデータを記憶しておくためのＥＥＰＲＯＭなどがより多く必要となると共に、多くのデータを論理合成するためにより多くの時間を必要とするため、検証効率を悪化させるという問題がある。
【００１１】
特許文献３に記載の内部信号モニタ装置は、マルチプレクサにより内部信号を選択してＦＰＧＡの外部に出力する構成であるため、観測ノードを変更する場合に論理合成を行う必要がないという利点があるが、ＦＰＧＡが搭載されたターゲット基板、ターゲット基板に接続された子基板、及び設計者が操作するＰＣに接続されて子基板との間で高速通信を行うポッドボックス部等の多くのハードウェアが必要であり、コストが高いという問題がある。
【００１２】
また、観測を行う内部信号を変更する場合のみではなく、回路の検証を行う際に、設計者がＨＤＬにて記述したＲＴＬの回路の論理合成を再度行わなければならない場合が存在する。例えば、設計を行う回路が複数の回路ブロックで構成されており、そのうちの１つの回路ブロックとして候補となる回路ブロックが複数種類存在するときに、設計者は各回路ブロックをそれぞれ動作させて検証し、最も設計条件に適した回路ブロックを１つ選択して採用したい場合がある。この場合、候補となる回路ブロックの数だけ論理合成を行う必要が生じる。また、例えば、回路の動作を規定する定数が存在し、この定数の変更を行いたい場合には、論理合成を再度行う必要が生じる。特許文献１乃至特許文献３においては、このような場合については言及されておらず、論理合成を再度行わなければならない。
【００１３】
また、回路の検証を行ってエラーが発生した場合、設計者は全回路からエラーを発生させる回路部分を特定する必要がある。これは回路規模が大きくなるほど困難な作業であり、ＦＰＧＡなどのプログラマブル素子を備える回路検証装置には、全回路からエラーを発生させる回路部分を絞り込むためのより高度な設計者支援機能を備えることが望まれる。
【００１４】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、プログラマブル素子内に被検証回路と、被検証回路へ信号の入出力を行う補助回路と、被検証回路及び補助回路の動作を規定する規定値を記憶するための規定値記憶部とを構成し、制御部が外部装置からの指示を受けて規定値を変更して被検証回路及び補助回路の動作を変更する構成とすることにより、制御部を介して規定値記憶部の規定値を変更するのみで設計者が様々な回路動作を検証することができる回路検証装置を提供することにある。
【００１５】
また本発明の他の目的とするところは、被検証回路が、被検証回路ブロック及び被検証回路ブロックへ入力信号を与える入力側回路ブロック等の複数の回路ブロックを有する場合に、被検証回路ブロックへ入力する入力値及びこの入力値を被検証回路ブロックへ与えるか否かを定める規定値を規定値記憶部に記憶し、入力側回路ブロックの入力信号又は規定値記憶部の入力値のいずれかを規定値に応じて選択して被検証回路ブロックへ与える構成とすることにより、被検証回路の特定の回路ブロックへ設計者が定める任意の入力値を与えて検証を行うことができる回路検証装置を提供することにある。
【００１６】
また本発明の他の目的とするところは、被検証回路が、被検証回路ブロック、被検証回路ブロックからの出力信号を取得する出力側回路ブロック、及び被検証回路ブロックと同じ機能を有して被検証回路ブロックに代替可能な代替回路ブロック等の複数の回路ブロックを有する場合に、被検証回路ブロック又は代替回路ブロックのいずれかの出力信号を、規定値記憶部に記憶された規定値に応じて選択して出力側回路ブロックへ与える構成とすることにより、論理合成を再度行うことなく回路ブロックを入れ替えて検証を行うことができる回路検証装置を提供することにある。
【００１７】
また本発明の他の目的とするところは、プログラマブル素子内のテストパタン生成回路又はプログラマブル素子の入力端子のいずれかからの入力信号を、記憶した規定値に応じて被検証回路へ与える構成とすることにより、テストパタン生成回路を利用して様々なテストパタンを被検証回路へ与えることができると共に、プログラマブル素子外の機器又はデバイス等からの出力信号を被検証回路へ与えて検証を行うことができる回路検証装置を提供することにある。
【００１８】
また本発明の他の目的とするところは、被検証回路の内部信号を規定値記憶部に記憶した規定値に応じて選択して出力する構成とすることにより、論理合成を再度行うことなく観測する内部信号を変更して検証を行うことができる回路検証装置を提供することにある。
【００１９】
また本発明の他の目的とするところは、被検証回路を動作させるクロック信号より高速なクロック信号を用いて規定値記憶部の規定値を変更し、出力する内部信号を変更する構成とすることにより、被検証回路の１クロックの動作中により多くの内部信号の観測を行うことができる回路検証装置を提供することにある。
【００２０】
また本発明の他の目的とするところは、選択されて出力された内部信号の値を記憶する観測値記憶部を設ける構成とすることにより、ロジアナ又はオシロスコープ等の観測装置を用いることなく、テストパタンにより被検証回路を動作させた後に観測値記憶部から値を読み出して内部信号の検証を行うことができる回路検証装置を提供することにある。
【００２１】
また本発明の他の目的とするところは、被検証回路を動作させるクロック信号に応じて動作するカウンタを設け、カウンタの値が規定値記憶部に記憶した開始カウンタ値に一致した場合に観測値記憶部への値の記憶を開始し、終了カウンタ値に一致した場合に記憶を終了する構成とすることにより、検証に必要な期間内の内部信号の値を自動的に記憶することができる回路検証装置を提供することにある。
【００２２】
また本発明の他の目的とするところは、被検証回路の内部信号の期待値を期待値記憶部に記憶しておき、内部信号及び期待値が一致しない場合に、被検証回路の動作を停止させる構成とすることにより、被検証回路のエラーが発生するタイミングを設計者が簡単に把握することができる回路検証装置を提供することにある。
【００２３】
また本発明の他の目的とするところは、被検証回路を動作させるクロック信号に応じて動作するカウンタを設け、カウンタの値の所定値毎に被検証回路の動作を停止させる構成とすることにより、被検証回路を少しずつ動作させて、所謂ステップ実行を行うことができる回路検証装置を提供することにある。
【００２４】
また本発明の他の目的とするところは、被検証回路の動作を停止させる場合には、被検証回路へのクロック信号の供給を停止する構成とすることにより、被検証回路の停止を簡単な構成で行うことができる回路検証装置を提供することにある。
【００２５】
また本発明の他の目的とするところは、プログラマブル素子及び制御部が設けられた回路基板に通信手段を備えて外部装置との通信を行い、制御部がアドレス及びデータの指定により規定値記憶部にアクセスできる構成とすることにより、設計者が外部装置を操作して、規定値記憶部に規定値を簡単に記憶させることができる回路検証装置を提供することにある。
【００２６】
また本発明の他の目的とするところは、論理回路を再構成することが可能なプログラマブル素子を備える回路検証装置を用いて、プログラマブル素子に被検証回路と、被検証回路へ信号の入出力を行う補助回路と、被検証回路及び補助回路の動作を規定する規定値を記憶するための規定値記憶部とを構成し、規定値記憶部へ規定値を記憶させ、被検証回路及び補助回路の動作を制御することにより、設計者が規定値記憶部の規定値を変更するのみで様々な回路動作を簡単に検証することができる回路検証方法を提供することにある。
【課題を解決するための手段】
【００２７】
第１発明に係る回路検証装置は、論理回路を再構成することが可能なプログラマブル素子を備え、該プログラマブル素子に構成された被検証回路の動作を検証する回路検証装置において、前記プログラマブル素子に、前記被検証回路へ入力信号を与える機能及び／又は前記被検証回路からの出力信号を取得する機能を有する補助回路と、前記被検証回路及び／又は前記補助回路の動作を規定する規定値を記憶する規定値記憶部とが構成されるようにしてあり、前記規定値記憶部へ規定値を記憶させ、前記被検証回路及び／又は前記補助回路の動作を制御する制御部を備えることを特徴とする。
【００２８】
本発明においては、プログラマブル素子内に、被検証回路と、被検証回路へ信号の入出力を行う補助回路と、被検証回路及び補助回路の動作を規定する規定値を記憶するための規定値記憶部とを構成する。また、規定値記憶部の規定値を変更する制御部を設ける。設計者は規定値記憶部の規定値を変更するのみで、論理合成を再度行うことなく、被検証回路及び補助回路の動作を変更できる。
【００２９】
また、第２発明に係る回路検証装置は、前記被検証回路が複数の回路ブロックを有し、該複数の回路ブロックには、被検証回路ブロック及び該被検証回路ブロックに入力信号を与える入力側回路ブロックを含み、前記規定値記憶部は、前記入力側回路ブロックが与える入力信号に代えて前記被検証回路ブロックへ与える入力値と、該入力値を前記被検証回路へ与えるか否かを定める規定値とを記憶するようにしてあり、前記補助回路は、前記規定値記憶部が記憶した前記規定値に応じて、前記入力側回路ブロックからの入力信号又は前記規定値記憶部が記憶した入力値を選択して前記被検証回路ブロックへ与える選択回路を有することを特徴とする。
【００３０】
本発明においては、被検証回路が、被検証回路ブロック及び被検証回路ブロックへ入力信号を与える入力側回路ブロック等の複数の回路ブロックを有する場合に、入力側回路ブロックの入力信号に代えて被検証回路ブロックへ与えるための入力値を規定値記憶部に記憶し、入力側回路ブロックの入力信号又は規定値記憶部の入力値のいずれかを選択して被検証回路ブロックへ与える。このときの選択は、規定値記憶部に記憶した規定値に応じて行う。よって、設計者は規定値記憶部に入力値を記憶させ、規定値を変更するのみで、論理合成を再度行うことなく、被検証回路ブロックへ任意の入力値を与えることができる。
【００３１】
また、第３発明に係る回路検証装置は、前記被検証回路が複数の回路ブロックを有し、該複数の回路ブロックには、被検証回路ブロック、該被検証回路ブロックからの出力信号を取得する出力側回路ブロック及び前記被検証回路ブロックに代替可能な代替回路ブロックを含み、前記規定値記憶部は、前記代替回路ブロックによる前記被検証回路ブロックの代替を行うか否かを定める規定値を記憶するようにしてあり、前記補助回路は、前記規定値記憶部が記憶した前記規定値に応じて、前記被検証回路ブロックの出力信号又は前記代替回路ブロックの出力信号を選択して前記出力側回路ブロックへ与える選択回路を有することを特徴とする。
【００３２】
本発明においては、被検証回路が、被検証回路ブロック、被検証回路ブロックからの出力信号を取得する出力側回路ブロック及び被検証回路ブロックと同じ機能を有して被検証回路ブロックに代替可能な代替回路ブロック等の複数の回路ブロックを有する場合に、被検証回路ブロック又は代替回路ブロックのいずれかの出力信号を選択して出力側回路ブロックへ与える。即ち、これは回路ブロックの置き換えを行うことである。いずれの回路ブロックを用いるかの選択は、規定値記憶部に記憶した規定値に応じて行う。このため、設計者は規定値記憶部の規定値を変更するのみで、論理合成を再度行うことなく、回路ブロックの置き換えを行うことができる。
【００３３】
また、第４発明に係る回路検証装置は、前記補助回路が、前記被検証回路へ与える入力信号を生成するテストパタン生成回路と、前記プログラマブル素子に設けられた入力端子から与えられる入力信号又は前記テストパタン生成回路が生成する入力信号を選択して前記被検証回路へ与える選択回路とを有し、前記規定値記憶部は、前記選択回路の選択を規定する規定値を記憶するようにしてあることを特徴とする。
【００３４】
本発明においては、プログラマブル素子内にテストパタン生成回路を設け、テストパタン生成回路からの入力信号又はプログラマブル素子の入力端子からの入力信号のいずれかを選択して、被検証回路へ与える。テストパタン生成回路が生成した入力信号により被検証回路を動作させることができると共に、プログラマブル素子の入力端子に他のデバイスを接続し、他のデバイスが出力する出力信号を被検証回路へ与えて動作させることができる。いずれの入力信号を被検証回路へ与えるかの選択は、規定値記憶部に記憶した規定値に応じて行う。設計者は規定値記憶部の規定値を変更するのみで、論理合成を再度行うことなく、入力信号の供給源を変更することができる。
【００３５】
また、第５発明に係る回路検証装置は、前記補助回路が、前記被検証回路の内部信号を選択して出力する選択回路を有し、前記規定値記憶部は、前記選択回路の選択を規定する規定値を記憶するようにしてあることを特徴とする。
【００３６】
本発明においては、被検証回路の内部信号を規定値記憶部に記憶した規定値に応じて選択して出力する。プログラマブル素子の出力端子の数より観測を行う必要がある被検証回路の内部信号の数が多い場合であっても、論理合成を再度行って接続を変更する必要がなく、規定値記憶部の規定値を変更するのみで出力する内部信号を変更することができる。
【００３７】
また、第６発明に係る回路検証装置は、前記被検証回路へ入力されるクロック信号より高周波の観測用クロック信号を出力する観測用クロック信号出力回路を備え、前記規定値記憶部は、前記観測用クロック信号に同期して動作することが可能にしてあり、前記制御部は、前記観測用クロック信号に同期して前記規定値記憶部の規定値を変更し、前記選択回路が出力する内部信号を変更するようにしてあることを特徴とする。
【００３８】
本発明においては、被検証回路を動作させるクロック信号より高周波の観測用クロック信号に同期して、規定値記憶部に記憶された内部信号の選択のための規定値を変更する。これにより、被検証回路の１クロックの動作中に、規定値記憶部の規定値を複数回変更して、複数の内部信号を出力させることができ、設計者がより多くの内部信号を同時的に観測することができる。
【００３９】
また、第７発明に係る回路検証装置は、前記観測用クロック信号に同期して前記選択回路が出力する内部信号の値を記憶する観測値記憶部を備えることを特徴とする。
【００４０】
本発明においては、選択されて出力された内部信号の値を記憶する観測値記憶部を設ける。設計者は記憶された値を読み出すことによって、内部信号の検証を行うことができる。よって、プログラマブル素子の出力端子にロジアナ又はオシロスコープ等の観測装置を接続することなく、制御部から外部装置へ読み出した値を転送し、外部装置に表示することで検証を行うことができる。
【００４１】
また、第８発明に係る回路検証装置は、前記被検証回路へ入力されるクロック信号に応じて動作するカウンタを備え、前記規定値記憶部は、前記観測値記憶部への内部信号の値の記憶を開始する開始カウンタ値及び記憶を終了する終了カウンタ値を記憶するようにしてあり、前記観測値記憶部は、前記カウンタの値が前記開始カウンタ値に一致した場合に記憶を開始し、前記カウンタの値が前記終了カウンタ値に一致した場合に記憶を終了するようにしてあることを特徴とする。
【００４２】
本発明においては、被検証回路を動作させるクロック信号に応じて動作するカウンタを設ける。また、規定値記憶部に開始カウンタ値及び終了カウンタ値を記憶させ、カウンタの値が開始カウンタ値に一致した場合に観測値記憶部への内部信号の値の記憶を開始し、終了カウンタ値に一致した場合に観測値記憶部への記憶を終了する。予め内部信号の値を記憶する範囲を指定することで、この範囲内のみの値が記憶され、範囲外の値は記憶されないため、観測値記憶部を記憶容量に応じて効率よく使用できる。
【００４３】
また、第９発明に係る回路検証装置は、前記被検証回路の内部信号の期待値を記憶する期待値記憶部と、前記選択回路が出力する内部信号及び前記期待値記憶部が記憶した期待値を比較する比較手段と、該比較手段による比較の結果、前記内部信号及び前記期待値が一致しない場合、前記被検証回路の動作を停止させる停止手段とを備えることを特徴とする。
【００４４】
本発明においては、被検証回路の内部信号の期待値を記憶する期待値記憶部を設ける。また、内部信号と期待値とを比較して一致しない場合には、被検証回路の動作を停止させる。これにより、被検証回路のエラー発生を確実に捕らえることができ、このタイミングでの被検証回路の動作を設計者が詳細に検証できるため、被検証回路の誤りを発見しやすい。
【００４５】
また、第１０発明に係る回路検証装置は、前記被検証回路へ入力されるクロック信号に応じて動作するカウンタと、前記カウンタの値の所定値毎に、前記被検証回路の動作を停止させる停止手段とを備え、前記規定値記憶部は、前記所定値を記憶するようにしてあることを特徴とする。
【００４６】
本発明においては、被検証回路を動作させるクロック信号に応じて動作するカウンタを設ける。また、規定値記憶部に所定値を記憶させ、カウンタの値が所定値をカウントする毎に被検証回路の動作を停止させる。これにより、被検証回路をステップ実行することができ、設計者が被検証回路の動作を所定の期間毎に確実に検証することができる。
【００４７】
また、第１１発明に係る回路検証装置は、前記停止手段が、前記被検証回路へのクロック信号の供給を停止することにより、前記被検証回路の動作を停止させるようにしてあることを特徴とする。
【００４８】
本発明においては、被検証回路の動作を停止させる場合、被検証回路へのクロック信号の供給を停止する。これにより、被検証回路は確実に動作しない。また、簡単な回路構成で実現することが可能である。
【００４９】
また、第１２発明に係る回路検証装置は、前記プログラマブル素子及び前記制御部が設けられた回路基板と、該回路基板に設けられ、前記制御部及び外部装置の間で通信を行う通信手段とを備え、前記制御部は、前記プログラマブル素子の前記規定値記憶部に、アドレス及びデータの指定によりアクセス可能にしてあることを特徴とする。
【００５０】
本発明においては、プログラマブル素子及び制御部が設けられた回路基板に、外部装置との通信を行う手段を設ける。設計者は外部装置を操作してプログラマブル素子内に構成された被検証回路の検証を行う。また、制御部がアドレス及びデータの指定により規定値記憶部にアクセスして規定値の変更を行う。制御部のアドレス空間内に規定値記憶部を収めることによって、制御部から規定値記憶部へのアクセスが簡単に実行できる。
【００５１】
また、第１３発明に係る回路検証方法は、論理回路を再構成することが可能なプログラマブル素子を備える回路検証装置を用いて、前記プログラマブル素子に被検証回路を構成し、該被検証回路の検証を行う回路検証方法において、前記プログラマブル素子に、前記被検証回路と、前記被検証回路へ入力信号を与える機能及び／又は前記被検証回路からの出力信号を取得する機能を有する補助回路と、前記被検証回路及び／又は前記補助回路の動作を規定する規定値を記憶する規定値記憶部とを構成し、前記規定値記憶部へ前記規定値を記憶させ、前記被検証回路及び前記補助回路の動作を制御して検証を行うことを特徴とする。
【００５２】
本発明においては、プログラマブル素子を備える回路検証装置を用いて、プログラマブル素子内に被検証回路と、被検証回路へ信号の入出力を行う補助回路と、被検証回路及び補助回路の動作を規定する規定値を記憶するための規定値記憶部とを構成する。次いで、規定値記憶部へ規定値を記憶させて被検証回路及び補助回路の動作を制御する。規定値記憶部に記憶された規定値を変更することで、被検証回路及び補助回路の動作を変更できる。
【発明の効果】
【００５３】
第１発明による場合は、プログラマブル素子内に被検証回路と、被検証回路へ信号の入出力を行う補助回路と、被検証回路及び補助回路の動作を規定する規定値を記憶するための規定値記憶部とを構成し、制御部が規定値を変更して被検証回路及び補助回路の動作を変更する構成とすることにより、設計者が規定値記憶部の規定値を変更するのみで、被検証回路及び補助回路の動作を変更でき、論理合成を再度行う必要がないため、被検証回路の検証期間を短縮することができると共に、設計者が簡単な操作で高度な回路検証を行うことができる。
【００５４】
また、第２発明による場合は、被検証回路が、被検証回路ブロック及び被検証回路ブロックへ入力信号を与える入力側回路ブロック等の複数の回路ブロックを有する場合に、被検証回路ブロックへ入力する入力値及びこの入力値を被検証回路ブロックへ与えるか否かを定める規定値を規定値記憶部に記憶し、入力側回路ブロックの入力信号又は規定値記憶部の入力値のいずれかを規定値に応じて選択して被検証回路ブロックへ与える構成とすることにより、設計者は規定値記憶部に入力値を記憶させ、規定値を変更するのみで、被検証回路ブロックへ任意の入力値を与えることができ、論理合成を再度行う必要がないため、被検証回路の検証期間を短縮することができる。
【００５５】
また、第３発明による場合は、被検証回路が、被検証回路ブロック、被検証回路ブロックからの出力信号を取得する出力側回路ブロック、及び被検証回路ブロックと同じ機能を有して被検証回路ブロックに代替可能な代替回路ブロック等の複数の回路ブロックを有する場合に、被検証回路ブロック又は代替回路ブロックのいずれかの出力信号を、規定値記憶部に記憶された規定値に応じて選択して出力側回路ブロックへ与える構成とすることにより、設計者は規定値記憶部の規定値を変更するのみで、回路ブロックの置き換えを行うことができ、論理合成を再度行う必要がないため、被検証回路の検証期間を短縮することができる。
【００５６】
また、第４発明による場合は、プログラマブル素子内のテストパタン生成回路又はプログラマブル素子の入力端子のいずれかからの入力信号を、記憶した規定値に応じて被検証回路へ与える構成とすることにより、テストパタン生成回路が生成した入力信号により被検証回路を動作させることができると共に、プログラマブル素子の入力端子に他のデバイスを接続し、他のデバイスが出力する出力信号を被検証回路へ与えて動作させることができるため、様々なテストパタンを被検証回路へ与えて検証を行うことができ、検証の精度を高めることができる。また、設計者は規定値記憶部の規定値を変更するのみで、入力信号の供給源を変更することができ、論理合成を再度行う必要がないため、被検証回路の検証期間を短縮することができる。
【００５７】
また、第５発明による場合は、被検証回路の内部信号を規定値記憶部に記憶した規定値に応じて選択して出力する構成とすることにより、プログラマブル素子の出力端子の数より観測を行う必要がある被検証回路の内部信号の数が多い場合であっても、規定値記憶部の規定値を変更するのみで出力する内部信号を変更することができるため、出力する内部信号を変更するために論理合成を再度行って接続を変更する必要がなく、被検証回路の検証期間を短縮することができる。
【００５８】
また、第６発明による場合は、被検証回路を動作させるクロック信号より高周波の観測用クロック信号に同期して、規定値記憶部に記憶された内部信号の選択のための規定値を変更する構成とすることにより、被検証回路の１クロックの動作中に、規定値記憶部の規定値を複数回変更して、複数の内部信号を出力させることができ、設計者がより多くの内部信号を同時的に観測することができるため、検証の精度を高めることができ、また、回路検証装置の利便性を向上できる。
【００５９】
また、第７発明による場合は、選択されて出力された内部信号の値を記憶する観測値記憶部を設ける構成とすることにより、プログラマブル素子の出力端子にロジアナ又はオシロスコープ等の観測装置を接続することなく、読み出した値を制御部から外部装置へ転送し、外部装置に表示することで検証を行うことができる。よって、被検証回路の検証に必要な測定機器のコストを削減することができ、また、回路検証装置の利便性を向上できる。
【００６０】
また、第８発明による場合は、被検証回路を動作させるクロック信号に応じて動作するカウンタを設け、カウンタの値が規定値記憶部に記憶した開始カウンタ値に一致した場合に観測値記憶部への値の記憶を開始し、終了カウンタ値に一致した場合に記憶を終了する構成とすることにより、予め内部信号の値を記憶する範囲を指定して、検証に必要な内部信号の値を自動的に記憶することができるため、回路検証装置の利便性を向上できる。観測値記憶部を記憶容量に応じて効率よく使用できるため、回路検証装置のコストの増加を抑制できる。
【００６１】
また、第９発明による場合は、被検証回路の内部信号の期待値を期待値記憶部に記憶しておき、内部信号及び期待値が一致しない場合に、被検証回路の動作を停止させる構成とすることにより、被検証回路のエラー発生を確実に捕らえることができ、このタイミングでの被検証回路の動作を設計者が詳細に検証できるため、検証の精度を高めることができ、また、回路検証装置の利便性を向上できる。
【００６２】
また、第１０発明による場合は、被検証回路を動作させるクロック信号に応じて動作するカウンタを設け、カウンタの値の所定値毎に被検証回路の動作を停止させる構成とすることにより、被検証回路をステップ実行することができ、設計者が被検証回路の動作を所定の期間毎に確実に検証することができるため、検証の精度を高めることができ、また、回路検証装置の利便性を向上できる。
【００６３】
また、第１１発明による場合は、被検証回路の動作を停止させる場合には、被検証回路へのクロック信号の供給を停止する構成とすることにより、被検証回路の停止を簡単な回路構成で行うことができるため、この機能を備えることによる回路検証装置のコストの増加を抑制できる。
【００６４】
また、第１２発明による場合は、プログラマブル素子及び制御部が設けられた回路基板に通信手段を備えて外部装置との通信を行い、制御部がアドレス及びデータの指定により規定値記憶部にアクセスできる構成とすることにより、制御部のアドレス空間内に規定値記憶部を収めることができ、制御部から規定値記憶部へ規定値を簡単に記憶させることができるため、設計者又は設計者の操作する外部装置からプログラマブル素子内の規定値記憶部へのアクセスを簡単に行うことができ、回路検証装置の利便性を向上できる。
【００６５】
また、第１３発明による場合は、論理回路を再構成することが可能なプログラマブル素子を備える回路検証装置を用いて、プログラマブル素子に被検証回路と、被検証回路へ信号の入出力を行う補助回路と、被検証回路及び補助回路の動作を規定する規定値を記憶するための規定値記憶部とを構成し、規定値記憶部へ規定値を記憶させて被検証回路及び補助回路の動作を制御することにより、規定値記憶部に記憶された規定値を変更するのみで被検証回路及び補助回路の動作を簡単に変更でき、論理合成を再度行う必要がないため、被検証回路の検証期間を短縮することができる。
【発明を実施するための最良の形態】
【００６６】
（実施の形態１）
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。図１は、本発明の実施の形態１に係る回路検証装置の構成を示すブロック図である。なお、図１においては、データバスを実線の矢印で示し、アドレスバスを破線の矢印で示してある。図において１は、設計者が設計したデジタル回路（ターゲット回路）２０を構成することができるＦＰＧＡ２が搭載された回路検証装置であり、設計者が操作するＰＣ（パーソナルコンピュータ）１０にＵＳＢケーブル又はＬＡＮケーブル等を介して接続され、設計者の操作によりＰＣ１０から与えられる命令に応じてＦＰＧＡ２内に構成されたターゲット回路２０の動作を検証するものである。
【００６７】
回路検証装置１は、回路基板上に配設されたＦＰＧＡ２、ＣＰＵ３、メモリ４、メモリ５及び通信用デバイス６等を有し、これらはバス７を介してそれぞれ接続されている。ＦＰＧＡ２、メモリ４、メモリ５及び通信用デバイス６等は、１つのアドレス空間内の資源としてＣＰＵ３又はＣＰＵ３にて実行されるプログラムからアクセスすることが可能となるように管理されている。
【００６８】
図２は、本発明の実施の形態１に係る回路検証装置１のＣＰＵ３のアドレス空間の一構成例を示す模式図である。なお、本図においてはＣＰＵ３が３２ｂｉｔのアドレス空間を有する場合について図示してある。ＣＰＵ３のアドレス空間には、ＦＰＧＡ２内の資源を指定するためのアドレス空間と、メモリ４の記憶領域を指定するためのアドレス空間と、メモリ５の記憶領域を指定するためのアドレス空間と、通信用デバイス６の資源を指定するためのアドレス空間とが含まれている。更に、ＦＰＧＡ２内の資源を指定するためのアドレス空間には、後述する制御レジスタ３０及び内部メモリ４４の各記憶領域を指定するためのアドレス空間が含まれている。よって、ＣＰＵ３は、アドレスとデータとを指定するのみでデータの書き込みを行うことができ、また、アドレスを指定するのみでデータの読み出しを行うことができるようにしてある。
【００６９】
メモリ４は、ＦＰＧＡ２へ入力する入力データを一時的に蓄えるためのバッファとして用いられ、入力データはＰＣ１０から通信用デバイス６を介して与えられるようにしてある。メモリ５は、ＦＰＧＡ２から出力された出力データを一時的に蓄えるためのバッファとして用いられ、出力データは通信用デバイス６を介してＰＣ１０へ与えるようにしてある。なお、図１においてはメモリ４及びメモリ５の２つのメモリを設けてあるが、メモリ４及びメモリ５を１つのメモリで代用することも可能である。
【００７０】
通信用デバイス６は、ＵＳＢケーブル又はＬＡＮケーブル等に接続され、通信規約に基づいてＰＣ１０との間でデータの送受信を行うものである。ＰＣ１０から受信したデータはメモリ４へ蓄えるようにしてあり、ＰＣ１０へデータを送信する場合はメモリ５に蓄えられたデータを読み出して送信するようにしてある。
【００７１】
ＦＰＧＡ２は、ＳＲＡＭ技術を利用した記憶素子を備えるＦＰＧＡであり、記憶素子に記憶された回路データを変更することにより、ＦＰＧＡ２の内部に構成される回路を変更することが可能にしてある。ＳＲＡＭ技術を用いているため、回路検証装置１の電源投入直後のＦＰＧＡ２内には図示のような各回路ブロックは構成されておらず、電源投入後にＰＣ１０から回路データを回路検証装置１へ送信することによって、ＦＰＧＡ２内に各回路ブロックが構成されるようにしてある。なお、回路データを記憶したＲＯＭを回路検証装置１内に配設し、電源投入後にこのＲＯＭから回路データを読み出す構成とすることもできる。
【００７２】
ＰＣ１０からの回路データによりＦＰＧＡ２内には、設計者が設計した検証対象のターゲット回路２０、ターゲット回路２０へ入力信号を与えるテストパタン生成回路２５、ターゲット回路２０の出力信号又は内部信号の値を記憶するための内部メモリ４４、ＦＰＧＡ２外部のメモリ５又は内部メモリ４４のいずれか一方に記憶先を切り替えるメモリ切替部４２、並びにこれら各部が動作するための設定値又は入力値等を記憶する制御レジスタ３０等の回路ブロックが設けられている。
【００７３】
ターゲット回路２０は、回路検証装置１を用いて検証を行う対象となる回路であり、設計者により設計され、検証の終了後にレイアウトが作成されて半導体のＩＣとして製造されるものである。テストパタン生成回路２５は、ターゲット回路２０の入力信号を生成する検証のための回路であり、ターゲット回路２０毎に設計者がそれぞれ設計する。図１では一例として、メモリ４に記憶された入力データが与えられ、これを所定のタイミングでターゲット回路２０へ与えるテストパタン生成回路２５を図示してある。このとき、ターゲット回路２０への入力信号の数がバス７の信号数より多い場合には、テストパタン生成回路２５がメモリ４から与えられる入力データを一時的に蓄えて出力する構成とすればよいが、この場合にはテストパタン生成回路２５がターゲット回路２０より高速に動作する構成であることが望ましい。なお、テストパタン生成回路２５の仕様はターゲット回路２０の仕様毎に異なるものでよいため、図示のものに限らない。また、テストパタン生成回路２５が必要ない場合には、ＦＰＧＡ２内にこれが含まれていなくてもよい。
【００７４】
テストパタン生成回路２５の出力は、マルチプレクサ（以下、ＭＵＸという）４０を介してターゲット回路２０に入力信号として与えられるようにしてある。ＭＵＸ４０は、制御レジスタ３０に記憶された設定値に応じて、テストパタン生成回路２５からの入力信号か、ＦＰＧＡ２の入力端子から入力される入力信号かのいずれか一方を選択してターゲット回路２０へ与えるようにしてある。ＦＰＧＡ２の入力端子には、例えば既に完成済みの別のＩＣからの出力信号を入力することができ、また、例えばテストパタン生成回路２５が生成できないテストパタンをシグナルジェネレータなどの機器により生成して入力することができる。
【００７５】
ＭＵＸ４０から入力信号が与えられて動作したターゲット回路２０の出力信号は、ＦＰＧＡ２の出力端子から出力されると共に、メモリ切替部４２を介して外部のメモリ５又は内部メモリ４４に記憶されるようにしてある。また、ターゲット回路２０の内部信号はＭＵＸ４１へ与えられている。ＭＵＸ４１は、例えばターゲット回路２０から観測用の信号として与えられた２０４８本の内部信号から、制御レジスタ３０に記憶された設定値に応じて６４本の内部信号を選択して出力し、メモリ切替部４２へ与えるようにしてある。
【００７６】
メモリ切替部４２は、ターゲット回路２０及びＭＵＸ４１から与えられた信号を、制御レジスタ３０に記憶された設定値に応じて、メモリ５又は内部メモリ４４のいずれか一方に与えるようにしてある。更に、通信用デバイス６を介してＰＣ１０に搭載されたメモリにターゲット回路２０からの信号を与えることができる構成であってもよい。内部メモリ４４は、ＦＰＧＡ２内のＳＲＡＭ資源又はレジスタ資源等により構成され、メモリ切替部４２から与えられたターゲット回路２０の出力信号及び内部信号の値を記憶するようにしてあり、記憶した値をメモリ５へ転送するようにしてある。なお、メモリ５は、内部メモリ４４より大容量であることが望ましい。また、内部メモリ４４は、ＣＰＵ３のアドレス空間内にあるため、ＣＰＵ３が直接にアクセスすることが可能であり、メモリ５を介することなく通信用デバイス６からＰＣ１０へ記憶した値を転送することも可能である。
【００７７】
また、ＦＰＧＡ２内に設けられた内部メモリ４４は、図２に示したようにＣＰＵ３のアドレス空間内に存在しているためＣＰＵ３から直接にアクセスすることが可能であり、ＦＰＧＡ２内に構成される論理回路からアクセスすることも可能である。これはＦＰＧＡ２内の論理回路及びＣＰＵ３が、内部メモリ４４を所謂共有する構成である。また、回路検証装置１のメモリ４及びメモリ５についてもこれと同様に、ＦＰＧＡ２内の論理回路及びＣＰＵ３が共有する構成であってもよく、この場合にはＦＰＧＡ２内に構成できない大容量のメモリ４及びメモリ５を、ＦＰＧＡ２内に構成された論理回路が利用できるという利点がある。
【００７８】
制御レジスタ３０は、ＣＰＵ３のアドレス空間内にあるため、ＣＰＵ３が直接にアクセスして値を設定することが可能であり、ＣＰＵ３が制御レジスタ３０の値を変更することによって、ＭＵＸ４０による入力信号の選択、又はＭＵＸ４１による内部信号の選択等を変更することができるようにしてある。図３は、本発明の実施の形態１に係る回路検証装置１の制御レジスタ３０の一構成例を示す模式図である。
【００７９】
制御レジスタ３０には、ＭＵＸ４１によるターゲット回路２０の内部信号の選択に係る設定値を記憶する観測信号選択レジスタと、ターゲット回路２０、テストパタン生成回路２５、ＭＵＸ４０及びメモリ切替部４２へ与えられ、これらの回路の動作に係る設定値を記憶するデバッグ設定レジスタと、ターゲット回路２０へ直接に入力するデータを記憶する入力データレジスタとが含まれている。これらのレジスタを用いた回路の検証方法については後述する。
【００８０】
なお、図１にて図示は省略するが、回路検査装置１は、ＦＰＧＡ２内のターゲット回路２０及びテストパタン生成回路２５を動作させるためのクロック信号を出力するクロック信号生成回路と、クロック信号生成回路が生成したクロック信号を基に、クロック信号の整数倍の周波数の信号を生成して出力する周波数逓倍回路とを備えている。周波数逓倍回路は、入力された信号の高調波成分を利用して整数倍の周波数の信号を生成する回路であり、例えばクロック信号の４倍の周波数の信号（以下、４倍クロック信号という）を出力する。ＦＰＧＡ２内の制御レジスタ３０及び内部メモリ４４は、周波数逓倍回路が出力する４倍クロック信号に同期して動作することができるようにしてある。
【００８１】
図４は、本発明の実施の形態１に係る回路検証装置１を利用したデジタル回路の設計フローの一例を示すフローチャートである。デジタル回路の設計では、まず、ターゲット回路２０のビヘイビアレベル設計を行う（ステップＳ１）。ビヘイビアレベル設計では、ターゲット回路２０の機能、仕様及びアーキテクチャ等を決定する。Ｃ言語などによるシステムレベル記述言語を用いて記述し、検証を行ってもよい。次いで、決定した機能、仕様及びアーキテクチャ等を基に、ターゲット回路２０をＨＤＬにて記述し、ＲＴＬ設計を行う（ステップＳ２）。なお、ビヘイビアレベル設計の段階でシステムレベル記述言語による記述を行った場合には、これを基にＲＴＬの回路を自動生成してもよい。ＲＴＬの回路を作成した後、シミュレータを用いてターゲット回路２０のＲＴＬシミュレーションを行い（ステップＳ３）、ＲＴＬシミュレーションにてエラーが発見されない場合には次のステップへ進む。なお、エラーが発見された場合には、エラーの原因を特定し、ビヘイビアレベル設計又はＲＴＬ設計を再度行う必要がある。
【００８２】
ＲＴＬシミュレーション終了後、ＦＰＧＡ２のための回路作成を行う（ステップＳ４）。この回路は、ステップＳ１〜Ｓ３にて作成したターゲット回路２０を含み、これにテストパタン生成回路２５及びＭＵＸ４０等を追加したものであり、ＨＤＬにて記述されたＲＴＬの回路である。また、ＨＤＬにより記述されたこの回路には、ターゲット回路２０及びテストパタン生成回路２５等と、予め用意された制御レジスタ３０、ＭＵＸ４１、メモリ切替部４２、及び内部メモリ４４等との接続情報が含まれる。なお、この接続情報は、設計者が記述してもよく、専用のツールを用いて自動的に生成してもよい。
【００８３】
次いで、ＦＰＧＡ２用の論理合成ツールを用いて、ステップＳ４にて作成した回路を論理合成し（ステップＳ５）、回路データを作成する。このときに、予め用意された制御レジスタ３０、ＭＵＸ４１、メモリ切替部４２及び内部メモリ４４等の回路の構成が自動的に読み込まれ、ターゲット回路２０、テストパタン生成回路２５及びＭＵＸ４０等に接続され、図１のＦＰＧＡ２内に示す構成の回路データが作成される。
【００８４】
論理合成終了後、作成された回路データをＰＣ１０から回路検証装置１へ与えてＦＰＧＡ２に回路を構成し、回路検証装置１による回路検証を行う（ステップＳ６）。この検証にてエラーが発見されない場合には、半導体ＩＣの製造を行うプロセスに適した条件でターゲット回路２０の論理合成を行い（ステップＳ７）、ゲートレベルの回路を作成する。なお、ステップＳ６の検証にてエラーが発見された場合には、エラーの原因を特定し、ビヘイビアレベル設計又はＲＴＬ設計を再度行う必要がある。ゲートレベルの回路を作成した後、シミュレータを用いてゲートレベルシミュレーションを行う（ステップＳ８）。
【００８５】
ゲートレベルシミュレーションの終了後、配置配線ツールを用いてターゲット回路２０のレイアウトを作成し（ステップＳ９）、作成したレイアウトから遅延情報を抽出してバックアノテーションを行う（ステップＳ１０）。バックアノテーション終了後、ターゲット回路２０のレイアウトを基にマスクを作成し（ステップＳ１１）、作成したマスクを用いてＩＣを製造する（ステップＳ１２）。
【００８６】
以上のフローのステップＳ６にて行う回路検証では、本実施の形態に係る回路検証装置１を用いることによって、ステップＳ５の論理合成を繰り返し行うことなく、制御レジスタ３０を利用して種々の検証を行うことができる。例えば、
（１）観測する内部信号の変更
（２）入力信号の変更
（３）回路ブロック単位での動作検証
（４）固定値の変更
（５）回路ブロックの置き換え
（６）データ入力
等を行うことができる。
【００８７】
（１）観測する内部信号の変更
設計者は、ターゲット回路２０内の各ノードの内部信号をメモリ５又は内部メモリ４４に記憶させ、これを読み出すことにより観測することができる。このとき、設計者は制御レジスタ３０の観測信号選択レジスタの値を変更することによって、メモリ５又は内部メモリ４４に記憶する内部信号を変更することができるようにしてある。図５は、観測する内部信号の変更を行う方法を説明するための模式図であり、一例として、観測可能な２０４８本の内部信号がターゲット回路２０に存在し、このうちの３２本の内部信号を選択して観測する場合を図示してある。また、図６は、クロック信号の供給関係を示すブロック図であり、内部信号の観測に関するブロックのみを抜き出して図示してある。
【００８８】
観測する内部信号の変更は、制御レジスタ３０の観測信号選択レジスタ及びＭＵＸ４１により実現される。ＭＵＸ４１は、６４本の入力信号から１の信号を選択して出力するマルチプレクサを３２個備えている（ｍｕｘ０〜ｍｕｘ３１）。ｍｕｘ０〜ｍｕｘ３１は、それぞれ制御レジスタ３０の観測信号選択レジスタに接続されており、観測信号選択レジスタに記憶された設定値に応じて、６４本の内部信号のうちの１つを観測信号として出力するようにしてある。ＭＵＸ４１から出力された３２本の観測信号０〜３１は、メモリ切替部４２によりメモリ５又は内部メモリ４４へ与えられ、その値が記憶されるようにしてある。よって、観測信号選択レジスタの設定値を変更するのみで観測する内部信号を変更することができる。
【００８９】
また、水晶振動子などを有するクロック信号生成回路４６が出力するクロック信号は、ターゲット回路２０へ与えられると共に、周波数逓倍回路４７へ与えられている。周波数逓倍回路４７を用いて、ターゲット回路２０を動作させるクロック信号の４倍の周波数を有する４倍クロック信号を生成し、４倍クロック信号に同期させて制御レジスタ３０の設定値を変更すると共に、４倍クロック信号に同期させてメモリ５及び内部メモリ４４の動作を行うことにより、ターゲット回路２０の１クロックの動作中にＭＵＸ４１の選択を４回行うことができるため、３２×４＝１２８本の内部信号の値をメモリ５又は内部メモリ４４に記憶して観測することができる。なお、メモリ切替部４２の切替は、制御レジスタ３０のデバッグ設定レジスタに記憶された値に応じて行われるようにしてある。
【００９０】
（２）入力信号の変更
設計者は、ターゲット回路２０へ与える入力信号を、テストパタン生成回路２５が生成する入力信号か、又はＦＰＧＡ２の入力端子から入力される入力信号かのいずれかから選択することができる。このとき、設計者は制御レジスタ３０のデバッグ設定レジスタの値を変更することによって、入力信号の選択を変更することができるようにしてある。図７は、入力信号の変更を行う方法を説明するための模式図であり、一例としてターゲット回路２０に３２本の入力信号を入力する場合を図示してある。
【００９１】
入力信号の変更は、制御レジスタ３０のデバッグ設定レジスタ及びＭＵＸ４０により実現される。ＭＵＸ４０は、２つの入力信号のいずれか１つを選択して出力するマルチプレクサを３２個備えている（ｍｕｘ０〜ｍｕｘ３１）。ｍｕｘ０〜ｍｕｘ３１は、制御レジスタ３０の同じデバッグ設定レジスタに接続されており、デバッグ設定レジスタに記憶された設定値に応じて選択を行い、入力信号としてターゲット回路２０へ与えるようにしてある。よって、デバッグ設定レジスタの値を変更するのみで、テストパタン生成回路２５が生成する入力信号（テストパタン０〜３１）か、ＦＰＧＡ２の入力端子０〜３１から入力される入力信号かのいずれかをターゲット回路２０へ入力信号として与えることができる。
【００９２】
（３）回路ブロック単位での動作検証
大規模のデジタル回路を設計する場合、回路全体を機能別に分割して小さな回路ブロックとして設計し、複数の回路ブロックを接続して回路全体を構成することが多い。よって、ターゲット回路２０が複数の回路ブロックを含み、ターゲット回路２０の検証を行った結果、エラーが発生した場合、エラーの原因となる回路ブロックを特定することが望まれる。本実施の形態に係る回路検証装置１は、特定の回路ブロックへ任意の入力信号を与えることができ、上述のようにＭＵＸ４１を用いて特定の回路ブロックの内部信号を観測することができるため、回路ブロック単位で動作検証を行うことができる。
【００９３】
図８は、回路ブロック単位での動作検証を行う方法を説明するための模式図であり、一例としてターゲット回路２０が４つの回路ブロック（回路ブロック０〜３）を有する場合を図示してある。なお、説明の簡略化のために各回路ブロックは１入力１出力のブロックとして図示してあるが、これに限るものではない。
【００９４】
ターゲット回路２０の回路ブロック０の出力信号がｍｕｘ１（マルチプレクサ）を介して回路ブロック１へ入力され、回路ブロック１の出力信号がｍｕｘ２を介して回路ブロック２へ入力され、回路ブロック２の出力信号がｍｕｘ３を介して回路ブロック３へ入力されるように、ｍｕｘ１〜３が各回路ブロック間に挿入されている。なお、ターゲット回路２０へのｍｕｘ１〜３の挿入は、設計者が行う構成であってもよく、論理合成を行う前に自動的に行う構成であってもよい。
【００９５】
ｍｕｘ１〜３は、２つの入力端子から入力される入力信号のいずれか一方を選択して出力するものであり、入力端子の一方には各回路ブロックの出力信号が入力され、他方には、ＭＵＸ４１の出力が接続されて、テストパタン生成回路２５又はＦＰＧＡ２の入力端子からの信号を入力することができるようにしてある。また、ｍｕｘ１〜３の選択は制御レジスタ３０のデバッグ設定レジスタに記憶された設定値に応じて行われるようにしてある。テストパタン生成回路２５を、ターゲット回路２０の回路ブロック０のみではなく、他の回路ブロックへの入力信号を生成可能な構成としておくことによって、生成した入力信号を回路ブロック１〜３へ与えることができ、また、ＦＰＧＡ２の入力端子から直接入力した入力信号を与えることもできる。
【００９６】
なお、ｍｕｘ１〜３の入力端子の他方に、制御レジスタ３０の入力データレジスタを接続してもよく、この場合には、入力データレジスタに予め記憶したデータを入力することができ、データレジスタの値を変更することで各回路ブロックを動作させることができる。また、ｍｕｘ１〜３を３入力のマルチプレクサとし、回路ブロックの出力信号、ＭＵＸ４０の出力信号又は入力データレジスタの値のいずれかを選択する構成であってもよい。
【００９７】
例えば、回路ブロック１の動作検証を行う場合、デバッグ設定レジスタ１の設定値を変更して、ｍｕｘ１がＭＵＸ４０の出力信号を回路ブロック１へ与えるようにすると共に、制御レジスタ３０の観測信号選択レジスタの設定値を変更して回路ブロック１の出力信号（内部信号１）をＭＵＸ４１により選択する。更に、ＭＵＸ４０がテストパタン生成回路２５の出力信号をターゲット回路２０へ与えるように設定を変更する。これにより、メモリ４に一時的に記憶させた入力データを、テストパタン生成回路２５を介して、回路ブロック１へ与え、このときの動作結果である内部信号１を観測することができる。
【００９８】
この機能を利用することによって、以下のような検証を行うことができる。ターゲット回路２０の出力信号にエラーが発生した場合に、まず、回路ブロック０の出力信号（内部信号０）を観測してエラーの有無を調べる。回路ブロック０の出力信号にエラーが発生していなければ、次に回路ブロック１の出力信号（内部信号１）を観測してエラーの有無を調べる。このように各ブロックを順に調べ、出力信号にエラーが発生している回路ブロックを特定した後に、テストパタン発生回路２５からＭＵＸ４０を介してエラーが発生している回路ブロックへ様々なテストパタンを入力し、エラーの原因を調べることができる。
【００９９】
また、ターゲット回路２０の回路構成が、図８に示すような４つの回路ブロックからなる単純な構成ではなく、複数の階層構造を有する複数の回路ブロックが相互に接続された複雑な構成の場合であっても、各回路ブロックの間にｍｕｘを介在させて信号の授受を行うことで上述の検証を行うことが可能である。また、この機能を利用することにより、１つの回路ブロックをターゲット回路とみなして検証を行うことができ、１つの回路ブロックに対して上述した検証及び後述する検証の全ての検証を行うことができる。
【０１００】
（４）固定値の変更
例えば、ターゲット回路２０がカウンタ回路を有し、このカウンタ回路が特定の値をロードして値が０になるまでカウントダウンする回路である場合、設計者はカウンタの特定の値を固定値として設計するが、検証の段階ではこの固定値を変更して動作させたいことがある。カウンタ回路以外でも、例えば演算回路のオフセット値又は演算テーブル等を固定値として与える場合は同様である。本実施の形態に係る回路検証装置１は、制御レジスタ３０の入力データレジスタを用いることで、論理合成を再度行うことなく、固定値の変更を行うことができる。
【０１０１】
図９は、固定値の変更を行う方法を説明するための模式図であり、一例としてカウンタ回路の固定値を変更する場合を図示してある。カウンタ回路に制御レジスタ３０の入力データレジスタを接続し、カウンタ回路が固定値に代えて入力データレジスタが記憶した設定値をロードする構成とすることにより、設計者が入力データレジスタの設定値を変更するのみで簡単にカウンタ回路の動作を変更することができる。なお、入力データレジスタとカウンタ回路との接続は、設計者が行う構成であってもよく、論理合成を行う前に自動的に行う構成であってもよい。
【０１０２】
（５）回路ブロックの置き換え
ターゲット回路２０が複数の回路ブロックを有し、このうちの１つの回路ブロックが特定の演算を行う回路ブロックであり、演算のアルゴリズムとして複数のアルゴリズムを選択可能である場合、いずれのアルゴリズムが最適であるかを検証するために、回路ブロックを置き換えて動作させたいことがある。また、アルゴリズムが同じであっても、回路規模、演算速度又はエラーの発生頻度等の違いにより回路構成が異なる複数の回路ブロックを置き換えて動作させたい場合もある。このような場合に、本実施の形態に係る回路検証装置１は、制御レジスタ３０のデバッグ設定レジスタを用いることで、論理合成を再度行うことなく、回路ブロックの置き換えを行うことができる。
【０１０３】
図１０は、回路ブロックの置き換えを行う方法を説明するための模式図であり、一例としてターゲット回路２０が３つの回路ブロックにより動作するものであり、このうちの１つの回路ブロック（回路ブロック１ａ又は１ｂ）を置き換える場合を図示してある。なお、説明の簡略化のために各回路ブロックは１入力１出力のブロックとして図示してあるが、これに限るものではない。
【０１０４】
置き換えを行う２つの回路ブロック１ａ及び１ｂは、入力端子及び出力端子の数が同じであり（必ずしも同じでなくてもよい）、回路ブロック０の出力端子が回路ブロック１ａ及び１ｂの入力端子にそれぞれ接続されている。また、回路ブロック１ａ及び１ｂの出力端子がｍｕｘ（マルチプレクサ）に接続され、ｍｕｘによりいずれか一方からの出力信号が選択されて回路ブロック２へ与えられるようにしてある。ｍｕｘは制御レジスタ３０のデバッグ設定レジスタに記憶された設定値に応じて選択を行うようにしてある。
【０１０５】
これにより、設計者はデバッグ設定レジスタの設定値を変更することによって、回路ブロック１ａ又は１ｂのいずれか一方の出力信号を回路ブロック２へ与えることができ、論理合成を再度行うことなく、回路ブロック１ａを用いた場合及び回路ブロック１ｂを用いた場合の２つの場合のターゲット回路２０の動作を検証することができる。なお、回路ブロック１ａ及び１ｂの設計は設計者が行う必要があるが、回路ブロック１ａ及び１ｂ並びに他の回路ブロックの接続と、ｍｕｘの挿入とは、設計者が行う構成であってもよく、論理合成を行う前に自動的に行う構成であってもよい。
【０１０６】
（６）データ入力
本実施の形態に係る回路検証装置１は、一の回路ブロックから他の回路ブロックへ与えられる入力信号に代えて、制御レジスタ３０のデータレジスタに記憶されたデータを他の回路ブロックへ与えることができる。図１１は、回路ブロックへのデータ入力を行う方法を説明するための模式図であり、一例としてターゲット回路が４つの回路ブロックにより動作するものであり、３つの回路ブロック（回路ブロック０〜２）の出力信号が、１つの回路ブロック（回路ブロック３）へ入力信号として与えられる場合を示してある。また、一例として回路ブロック３は、回路ブロック０〜２から与えられるデータの乗算及び加算を行って出力する演算回路を示してある。なお、これらの構成は一例であって、これに限るものではない。
【０１０７】
ターゲット回路２０には３つのｍｕｘ０〜２が設けられている。回路ブロック０の出力及び入力データレジスタ０がｍｕｘ０に接続され、デバッグ設定レジスタ０に記憶された値に応じて、回路ブロック０の出力信号又は入力データレジスタ０に記憶されたデータのいずれか一方が回路ブロック３へ入力されるようにしてある。同様にして、回路ブロック１の出力及び入力データレジスタ１がｍｕｘ１に接続され、デバッグ設定レジスタ１に記憶された値に応じて、回路ブロック１の出力信号又は入力データレジスタ１に記憶されたデータのいずれか一方が回路ブロック３へ入力されるようにしてあり、回路ブロック２の出力及び入力データレジスタ２がｍｕｘ２に接続され、デバッグ設定レジスタ２に記憶された値に応じて、回路ブロック２の出力信号又は入力データレジスタ２に記憶されたデータのいずれか一方が回路ブロック３へ入力されるようにしてある。
【０１０８】
回路ブロック３は、回路ブロック０及び１から与えられた入力信号の乗算と、この乗算結果及び回路ブロック２から与えられた入力信号の加算とを行って出力する回路ブロックである。デバッグ設定レジスタ０〜２に、ｍｕｘ０〜２が入力データレジスタ０〜２に記憶されたデータを出力するように設定値を記憶させることによって、回路ブロック３へ入力データレジスタ０〜２に記憶された任意のデータを入力することができる。このときに、後述のようにターゲット回路２０の動作を一時的に停止させることが可能である場合には、動作を停止させて入力データレジスタの値を変更することで、制御レジスタ３０を擬似的な回路ブロック０〜２として利用することができる。なお、ターゲット回路２０へのｍｕｘ０〜２の挿入は、設計者が行う構成であってもよく、論理合成を行う前に自動で行う構成であってもよい。
【０１０９】
以上の構成の回路検証装置１においては、ＦＰＧＡ２内にＣＰＵ３が直接アクセスすることが可能な制御レジスタ３０を設け、制御レジスタ３０を利用してターゲット回路２０及びその他の回路の動作を変更する構成としたため、上述の（１）〜（６）のような種々の検証を行うことができ、ターゲット回路２０の検証精度を高めることができる。また、このときに論理合成を再度行う必要がないため、検証期間を短縮することができる。
【０１１０】
なお、本実施の形態に係る回路検証装置１は、ＦＰＧＡ２を１つ備える構成としたが、これに限るものではなく、複数のＦＰＧＡを備える構成であってもよい。また、ＦＰＧＡ２及びＣＰＵ３を同じ基板に設ける構成としたが、これに限るものではなく、それぞれを別の基板に設けて基板を電気的に接続する構成としてもよい。また、ＦＰＧＡ２はＳＲＡＭ型のＦＰＧＡとしたが、これに限るものではなく、フラッシュ型又はアンチヒューズ型のＦＰＧＡを用いてもよく、ＦＰＧＡ以外のプログラマブル素子を用いてもよい。また、回路検証装置１がＣＰＵ３を１つ備える構成としたが、これに限るものではなく、２つ以上のＣＰＵを備える構成であってもよい。同様に、通信用デバイス６を複数備える構成であってもよく、この場合には、ＰＣ１０と通信用デバイス６との間でより多くのデータの送受信を行うことができるため、通信を高速化できるという利点があり、また、複数のＰＣ１０を回路検証装置１に接続することができるという利点がある。また、ＣＰＵ３、メモリ４、メモリ５及び通信用デバイス６をそれぞれ別に設けてバス７を介して接続する構成としたが、これに限るものではなく、ＣＰＵ３、メモリ４、メモリ５又は通信用デバイス６のいくつか又は全てをＦＰＧＡ２内に構成することも可能である。
【０１１１】
また、ターゲット回路２０の内部信号のみをＭＵＸ４１により選択してメモリ切替部４２へ与え、ターゲット回路２０の出力信号はメモリ切替部４２へ直接与える構成としたが、これに限るものではなく、ターゲット回路２０の出力信号も内部信号と共にＭＵＸ４１により選択してメモリ切替部４２へ与える構成としてもよい。また、ＦＰＧＡ２の出力端子からＭＵＸ４１の出力信号を出力する構成としてもよい。また、ＦＰＧＡ２の制御レジスタ３０がＣＰＵ３のアドレス空間内にあり、ＣＰＵ３が直接アクセスすることが可能な構成としたが、これに限るものではなく、ＣＰＵ３及び制御レジスタ３０の間に介在するインタフェース回路をＦＰＧＡ２内又はＦＰＧＡ２外に設ける構成であってもよい。
【０１１２】
また、制御レジスタ３０が観測信号選択レジスタ、デバッグ設定レジスタ及び入力データレジスタの３種のレジスタを有する構成としたが、これらのレジスタはハードウェア的な構成は同一であるため、とくに区別する必要はない。また、制御レジスタ３０を利用した回路の検証は上述の（１）〜（６）に限るものではなく、その他にも様々な目的に制御レジスタ３０を用いることが可能である。制御レジスタ３０に設計者が自由に利用できる領域を設けることにより、ターゲット回路２０に適した検証を設計者が独自に行うことができる。
【０１１３】
（変形例１）
図１２は、本発明の実施の形態１の変形例１に係る回路検証装置の構成を示すブロック図である。変形例１に係る回路検証装置８１は、図１に示す回路検証装置１に備えられていた、ターゲット回路２０の出力信号及び内部信号の値を記憶するための内部メモリ４４、メモリ４及びメモリ５等の記憶素子を備えず、ターゲット回路２０の出力信号及び内部信号を通信用デバイス６からＰＣ１０へ直接送信するようにしてある。通信用デバイス６からＰＣ１０へ与えられた信号は、図示は省略するがＰＣ１０に備えられたメモリに記憶するようにしてある。図１に示す回路検証装置１にはＣＰＵ３が備えられて記憶素子の管理を行うようにしていたが、変形例に係る回路検証装置８１はこの必要がないため、ＣＰＵ３より小規模な制御用チップ３ａのみを備えればよい。よって、ＰＣ１０のメモリを利用することにより、回路検証装置を低コスト化することができる。
【０１１４】
（変形例２）
図１３は、本発明の実施の形態１の変形例２に係る回路検証装置の構成を示すブロック図である。変形例２に係る回路検証装置９１は、設計者が設計したデジタル回路を構成することができる４つのＦＰＧＡ２ａ、２ｂ、２ｃ、２ｄを備えている。４つのＦＰＧＡ２ａ、２ｂ、２ｃ、２ｄは、バス７を介してＣＰＵ３、メモリ４、メモリ５及び通信用デバイス６等に接続されており、ＣＰＵ３がメモリ４、メモリ５及び通信用デバイス６と共に、ＦＰＧＡ２ａ、２ｂ、２ｃ、２ｄを１つのアドレス空間内の資源としてアクセスすることができるようにしてある。
【０１１５】
図１４は、本発明の実施の形態１の変形例２に係る回路検証装置９１のＣＰＵ３のアドレス空間の一構成例を示す模式図である。ＣＰＵ３のアドレス空間には、ＦＰＧＡ２ａ、２ｂ、２ｃ、２ｄ内の資源を指定するためのアドレス空間が連続的に設けられ、更にメモリ４の記憶領域を指定するためのアドレス空間と、メモリ５の記憶領域を指定するためのアドレス空間と、通信用デバイス６の資源を指定するためのアドレス空間とが設けられている。
【０１１６】
これにより、ＣＰＵ３は４つのＦＰＧＡ２ａ、２ｂ、２ｃ、２ｄを１つの大きなＦＰＧＡとして扱うことができ、１つのＦＰＧＡ内に収まらない大規模なデジタル回路の検証を行うことができる。なお、変形例２においては、回路検証装置９１が４つのＦＰＧＡ２ａ、２ｂ、２ｃ、２ｄを備える構成としたが、これに限るものではなく、搭載するＦＰＧＡの数は２つであってもよく、３つであってもよく、又は５つ以上であってもよい。また、アドレス空間内に、ＦＰＧＡ２ａ、２ｂ、２ｃ、２ｄ内の資源を指定するためのアドレスを連続的に設ける構成としたが、これに限るものではなく、非連続であってもよい。
【０１１７】
（実施の形態２）
図１５は、本発明の実施の形態２に係る回路検証装置の構成を示すブロック図である。実施の形態２に係る回路検証装置１０１は、ターゲット回路２０の出力信号及び内部信号の期待値を記憶する期待値メモリ１５０がバス７を介して接続され、期待値メモリ１５０はＣＰＵ３のアドレス空間内にあり、ＣＰＵ３が直接アクセスすることが可能にしてある。また、ＦＰＧＡ２内に構成された論理回路とＣＰＵ３が期待値メモリ１５０を共有するようにしてあり、ＦＰＧＡ２内の論理回路が期待値メモリ１５０に直接にアクセスすることが可能にしてある。
【０１１８】
また、ＦＰＧＡ２内には、期待値メモリ１５０に記憶された期待値と、ＭＵＸ４１が出力するターゲット回路２０の内部信号又は出力信号の値とを比較する比較回路１５１が設けられている。比較回路１５１は、ＭＵＸ４１が出力する内部信号又は出力信号の値に対応する期待値を期待値メモリ１５０から読み出して比較し、例えば、全ての値が一致する場合には”１”を出力し、値が一致しないものが存在する場合には”０”を出力するようにしてある。また、比較回路１５１が比較を行うか否かは、制御レジスタ３０のデバッグ設定レジスタに記憶された設定値に応じて決定され、比較を行わない場合には”１”を出力するようにしてある。
【０１１９】
ターゲット回路２０を動作させるためのクロック信号は、ＦＰＧＡ２の入力端子からクロック供給部１５２に入力され、クロック供給部１５２を介してターゲット回路２０へ与えられるようにしてある。クロック供給部１５２は、比較回路１５１の比較結果に応じて、ターゲット回路２０へのクロック信号の供給／非供給を切り替えるものであり、最も簡単な構成では、例えば比較回路１５１が上述のように比較結果を”０”又は”１”で出力する場合、ＡＮＤ素子を１つ用いることで実現可能である。
【０１２０】
以上の構成の回路検証装置１０１では、ターゲット回路２０の内部信号又は出力信号の期待値を予め期待値メモリ１５０に記憶させ、比較回路１５１により比較を行って、比較の結果に応じてターゲット回路２０へのクロック信号の供給をクロック供給部１５２が停止させる構成とすることにより、ターゲット回路２０の動作中にエラーが生じた場合に、ターゲット回路２０の動作を自動的に停止させることができる。なお、比較回路１５１及びクロック供給部１５２等の追加及び期待値メモリ１５０との接続等は、設計者が行う構成であってもよく、論理合成を行う前に自動的に行う構成であってもよい。また、期待値メモリ１５０を、ＦＰＧＡ２内に設ける構成としてもよい。また、ＭＵＸ４１の出力信号の値と期待値メモリ１５０の期待値とを比較する構成としたが、これに限るものではなく、例えば内部メモリ４４に記憶されたターゲット回路２０の内部信号又は出力信号の値と期待値メモリ１５０の期待値とを比較する構成であってもよい。
【０１２１】
なお、実施の形態２に係る回路検証装置１０１のその他の構成は、実施の形態１に係る回路検証装置１の構成と同様であるため、対応する箇所には同じ符号を付して詳細な説明を省略する。
【０１２２】
（実施の形態３）
図１６は、本発明の実施の形態３に係る回路検証装置の構成を示すブロック図である。実施の形態３に係る回路検証装置２０１では、ターゲット回路２０を動作させるクロック信号が、ＦＰＧＡ２の入力端子からＦＰＧＡ２内のクロック供給部２５２へ入力され、クロック供給部２５２を介してターゲット回路２０にクロック信号が与えられるようにしてある。クロック供給部２５２は、クロックコントローラ２５１から与えられるクロック停止信号に応じて、ターゲット回路２０へのクロック信号の供給／非供給を切り替えて行うようにしてある。
【０１２３】
クロックコントローラ２５１は、クロック供給部２５２の出力信号であるクロック信号により動作するものであり、制御レジスタ２３０のデバッグ設定レジスタに記憶されたクロック停止の条件をなす設定値に基づいてクロック停止信号をクロック供給部２５２へ与え、ターゲット回路２０へのクロック信号の供給を停止させるようにしてある。また、ＣＰＵ３から与えられる停止解除命令により、クロック供給部２５２のクロック供給を再開させるようにしてある。よって、設計者は、制御レジスタ２３０のデバッグ設定レジスタの設定値を変更するのみで、ターゲット回路２０の動作を任意のタイミングで停止させることができ、停止させた後に停止解除命令を与えることでターゲット回路２０の動作を再開させることができる。
【０１２４】
図１７は、本発明の実施の形態３に係る回路検証装置２０１の制御レジスタ２３０の構成を示す模式図である。制御レジスタ２３０は、実施の形態１に係る制御レジスタ３０とハードウェア構成は同じであるが、デバッグ設定レジスタに、ステップ実行開始設定を記憶するレジスタと、ステップ実行終了設定を記憶するレジスタと、ステップ数設定を記憶するレジスタとが設けられている。これらには、ターゲット回路２０を動作させるクロック信号のクロック数を設定する。
【０１２５】
実施の形態３に係る回路検証装置２０１は、上述の３つのレジスタに設定値を記憶させることによって、ターゲット回路２０を所謂ステップ実行することができるようにしてある。ターゲット回路２０の動作開始後、クロック信号のクロック数が、ステップ実行開始設定として設定されたクロック数に達した場合に、ターゲット回路２０へのクロック信号の供給を停止することで、ターゲット回路２０の動作を停止させるようにしてある。また、動作の停止後に停止解除命令を与えることでターゲット回路２０の動作を再開させることができ、その後、ステップ数設定として設定されたクロック数毎にターゲット回路２０の動作を停止させるようにしてある。ターゲット回路２０の動作の停止及び再開を繰り返し行って、クロック信号のクロック数がステップ実行終了設定として設定されたクロック数に達した場合、ステップ実行を終了し、ターゲット回路２０へのクロック信号の供給を停止させることなく、通常の動作を行うようにしてある。
【０１２６】
図１８は、本発明の実施の形態３に係る回路検証装置２０１のクロックコントローラ２５１の一構成例を示すブロック図である。クロックコントローラ２５１は、クロック供給部２５２の出力であるクロック信号に応じて値を増加させる第１カウンタ２６１及び第２カウンタ２６２を有している。第１カウンタ２６１は、ターゲット回路２０の動作開始からのクロック信号のクロック数をカウントするためのものであり、第２カウンタ２６２は、ターゲット回路２０の動作を停止させる間隔、所謂ステップ数をカウントするためのものである。なお、第２カウンタ２６２は、後述の判定部２６６によりリセットすることができるようにしてある。
【０１２７】
また、クロックコントローラ２５１は、第１カウンタ２６１の値及び制御レジスタ２３０にステップ実行開始設定として設定されたクロック数を比較する比較回路２６３と、第１カウンタ２６１の値及び制御レジスタ２３０にステップ実行終了設定として設定されたクロック数を比較する比較回路２６４と、第２カウンタ２６２の値及び制御レジスタ２３０にステップ数設定として設定されたクロック数を比較する比較回路２６５とを有しており、比較回路２６３、２６４及び２６５の比較結果は判定部２６６へ与えられる。
【０１２８】
判定部２６６は、比較回路２６３、２６４及び２６５の比較結果に応じて、クロック停止信号をクロック供給部２５２へ与えてターゲット回路２０へのクロック信号の供給を停止させ、ターゲット回路２０の動作を停止させるようにしてある。また、ＣＰＵ３から停止解除命令が与えられた場合には、クロック供給部２５２のクロック信号の供給を再開させて、ターゲット回路２０の動作を再開させるようにしてある。例えばクロック供給部２５２は、クロック停止信号が”１”の場合にターゲット回路２０へのクロック信号の供給を停止し、クロック停止信号が”０”の場合にクロック信号の供給を行うようにしてある。
【０１２９】
図１９は、本発明の実施の形態３に係る回路検証装置２０１のクロックコントローラ２５１の判定部２６６が行うクロック信号の供給停止処理の手順を示すフローチャートである。ターゲット回路２０の動作が開始された後、判定部２６６は、比較回路２６３の比較結果を取得し（ステップＳ３１）、第１カウンタ２６１の値とステップ実行開始設定として記憶されたクロック数とが一致するか否かを調べる（ステップＳ３２）。一致しない場合は（Ｓ３２：ＮＯ）、ステップＳ３１へ戻り、一致するまで待機する。一致する場合は（Ｓ３２：ＹＥＳ）、クロック停止信号として”１”を出力し、クロック供給部２５２によるターゲット回路２０へのクロック信号の供給を停止し（ステップＳ３３）、ターゲット回路２０の動作を停止させる。
【０１３０】
クロック信号の供給を停止した後、ＣＰＵ３から停止解除命令が与えられたか否かを調べ（ステップＳ３４）、停止解除命令が与えられていない場合には（Ｓ３４：ＮＯ）、ステップＳ３３へ戻り、停止解除命令が与えられるまで待機する。停止解除命令が与えられた場合（Ｓ３４：ＹＥＳ）、クロック停止信号として”０”を出力し、クロック供給部２５２によるターゲット回路２０へのクロック信号の供給停止を解除し（ステップＳ３５）、ターゲット回路２０の動作を再開させる。
【０１３１】
次いで、第２カウンタ２６２の値をリセットし（ステップＳ３６）、比較回路２６４の比較結果を取得して（ステップＳ３７）、第１カウンタ２６１の値とステップ実行終了設定として記憶されたクロック数とが一致するか否かを調べる（ステップＳ３８）。一致しない場合（Ｓ３８：ＮＯ）、更に比較回路２６５の比較結果を取得して（ステップＳ３９）、第２カウンタ２６２の値とステップ数設定として記憶されたクロック数とが一致するか否かを調べ（ステップＳ４０）、一致しない場合は（Ｓ４０：ＮＯ）、ステップＳ３７へ戻り、比較回路２６４又は比較回路２６５から一致の比較結果が得られるまで比較結果の取得を継続して行う。ステップＳ４０にて、比較回路２６５による比較が一致した場合（Ｓ４０：ＹＥＳ）、ステップＳ３３へ戻り、クロック信号の供給を停止する。また、ステップＳ３８にて、比較回路２６４による比較が一致した場合（Ｓ３８：ＹＥＳ）、判定部２６６はクロック信号の供給停止処理を終了する。この後、ターゲット回路２０は停止することなく通常の動作を行う。
【０１３２】
以上の構成の実施の形態３に係る回路検証装置２０１においては、制御レジスタ２３０にステップ実行開始設定、ステップ実行終了設定及びステップ数設定の３つの設定値を記憶させるのみで、ターゲット回路２０のステップ実行を行うことができる。
【０１３３】
例えば、ターゲット回路２０の動作を停止させたときには、制御レジスタ２３０に記憶された設定値を変更してＭＵＸ４１による信号の選択を切り替えることにより、設計者がターゲット回路２０の全ての内部信号及び出力信号を観測することが可能となり、更に制御レジスタ２３０のステップ数設定を１に設定することにより、全てのタイミングでの全ての内部信号及び出力信号を観測することが可能となるため、デバッグの精度を高めることができる。
【０１３４】
なお、図１８に示したクロックコントローラ２５１の回路構成は一例であってこれに限るものではない。また、ステップ実行の開始及び終了のタイミングを複数設定できる構成としてもよい。なお、クロックコントローラ２５１及びクロック供給部２５２等の追加及び接続等は、設計者が行う構成であってもよく、論理合成を行う前に自動的に行う構成であってもよい。
【０１３５】
なお、実施の形態３に係る回路検証装置２０１のその他の構成は、実施の形態１に係る回路検証装置１の構成と同様であるため、対応する箇所には同じ符号を付して詳細な説明を省略する。
【０１３６】
（実施の形態４）
図２０は、本発明の実施の形態４に係る回路検証装置の構成を示すブロック図である。実施の形態４に係る回路検証装置３０１は、ＦＰＧＡ２の入力端子からターゲット回路２０へ入力されるクロック信号に同期して動作するカウンタ３５１をＦＰＧＡ２内に有している。カウンタ３５１はターゲット回路２０の動作開始からのクロック信号のクロック数をカウントするためのものであり、カウンタ３５１の出力はＦＰＧＡ２内の観測コントローラ３５２へ与えられている。
【０１３７】
観測コントローラ３５２は、制御レジスタ３３０のデバッグ設定レジスタに記憶された設定値及びカウンタ３５１の値に応じて、ターゲット回路２０の出力信号とＭＵＸ４１を介して内部メモリ４４に与えられるターゲット回路２０の内部信号とを、内部メモリ４４に記憶するか否かを決定し、ターゲット回路２０の出力信号及び内部信号の内部メモリ４４への記憶を制御するようにしてある。
【０１３８】
図２１は、本発明の実施の形態４に係る回路検証装置３０１の制御レジスタ３３０の構成を示す模式図である。制御レジスタ３３０は、実施の形態１に係る制御レジスタ３０とハードウェア構成は同じであるが、デバッグ設定レジスタに、観測開始設定を記憶するレジスタと、観測終了設定を記憶するレジスタとが設けられている。これらには、ターゲット回路２０を動作させるクロック信号のクロック数を設定する。
【０１３９】
観測コントローラ３５２は、ターゲット回路２０の動作開始後、カウンタ３５１の値が制御レジスタ３３０に記憶された観測開始設定の値に一致した場合に、ターゲット回路２０の出力信号及び内部信号の内部メモリ４４への記憶を開始するようにしてある。また、内部メモリ４４への記憶の開始後、カウンタ３５１の値が制御レジスタ３３０に記憶された観測終了設定の値に一致した場合に、ターゲット回路２０の出力信号及び内部信号の内部メモリ４４への記憶を終了するようにしてある。
【０１４０】
以上の構成の回路検証装置３０１は、設計者が予め制御レジスタ３３０に観測開始設定及び観測終了設定を記憶させておくことによって、ターゲット回路２０を動作させた場合に限られた範囲内のみの出力信号及び内部信号の値を自動的に記憶することができる。よって、ＦＰＧＡ２内の内部メモリ４４を有効に活用することができる。なお、本実施の形態においては、観測開始設定及び観測終了設定に関する設定値をそれぞれ１つ制御レジスタ３３０に記憶する構成としたが、これに限るものではなく、複数の設定値を記憶し、複数の範囲内で出力信号及び内部信号の値を記憶する構成としてもよい。
【０１４１】
なお、実施の形態４に係る回路検証装置３０１のその他の構成は、実施の形態１に係る回路検証装置１の構成と同様であるため、対応する箇所には同じ符号を付して詳細な説明を省略する。
【０１４２】
（実施の形態５）
図２２は、本発明の実施の形態５に係る回路検証装置の構成を示すブロック図である。実施の形態５に係る回路検証装置４０１は、ＭＵＸ４１が出力するターゲット回路２０の出力信号及び内部信号の値が、制御レジスタ４３０に予め設定された条件に一致するか否かを判定して、クロック信号をターゲット回路２０へ供給するクロック供給部４５１のクロック信号の供給／非供給を切り替える条件判定部４５０を備えている。
【０１４３】
図示は省略するが、制御レジスタ４３０には、ＭＵＸ４１が出力するターゲット回路２０の出力信号及び内部信号の値の中から任意の４つの信号を選択するための設定値（信号選択設定０〜３）と、選択された４つの信号の値の期待値を設定するための設定値（期待値設定０〜３）と、４つの信号の値及び４つの期待値がそれぞれ一致するか否かの比較結果を取得した場合に、４つの比較結果が全て一致である場合を判定の条件とするか、又は４つの比較結果が少なくとも１つ一致である場合を判定の条件とするかを選択するための設定（条件設定）を記憶するレジスタが設けられている。
【０１４４】
クロック供給部４５１は、条件判定部４５０の判定結果に応じて、ターゲット回路２０へのクロック信号の供給／非供給を切り替えるものであり、最も簡単な構成では、例えばＡＮＤ素子又はＯＲ素子等を１つ用いることで実現可能である。
【０１４５】
図２３は、本発明の実施の形態５に係る回路検証装置４０１の条件判定部４５０の構成を示すブロック図である。条件判定部４５０は、ＭＵＸ４１が出力するターゲット回路２０の内部信号又は出力信号の値から、制御レジスタ４３０に記憶された信号選択設定０〜３の値に応じて、任意の１つの値を選択する４つのマルチプレクサ（ｍｕｘ０〜３）を備えている。ｍｕｘ０〜３により選択された４つの値は、４つの比較器（比較器０〜３）へそれぞれ与えられ、比較器０〜３は、与えられた４つの値と、制御レジスタ４３０に記憶された期待値設定０〜３とをそれぞれ比較し、一致するか否かの比較結果を判定部４５２へそれぞれ与えるようにしてある。
【０１４６】
判定部４５２は、比較器０〜３からの４つの比較結果と、制御レジスタ４３０に記憶された条件設定とが与えられており、与えられた比較結果及び条件設定に基づいてクロック供給部４５１によるクロック信号の供給／非供給の切替を行うようにしてある。例えば、条件設定が“０”のときには、４つの比較結果がすべて一致の場合にクロック信号を非供給とし、また、条件設定が“１”のときには、４つの比較結果の少なくとも１つが一致の場合にクロック信号を非供給とするようにしてある。判定部４５２の最も簡単な構成は、４入力のＡＮＤ素子と、４入力のＯＲ素子と、ＡＮＤ素子又はＯＲ素子の出力のいずれか一方を選択して出力するマルチプレクサとを用いることで実現可能である。
【０１４７】
このように、条件判定部４５０を設けることにより、ターゲット回路２０の内部信号又は出力信号が所定の条件となった場合に、クロック信号の供給を停止し、ターゲット回路２０の動作を停止させることができる。このとき設計者は、制御レジスタ４３０に信号選択設定０〜３、期待値設定０〜３、及び条件設定の各設定値を記憶させるのみでよい。図２４は、本発明の実施の形態５に係る回路検証装置の設定画面の一表示例を示す模式図であり、ＰＣ１０に備えられた図示しないディスプレイ装置に表示されるものである。
【０１４８】
ＰＣ１０のディスプレイに表示される設定画面には、ターゲット回路２０の動作を停止させる条件として、ターゲット回路２０の内部信号又は出力信号の信号名と、この信号に対する期待値とを入力するための入力ボックス４６１が設けられている。入力ボックス４６１には、４つの信号の信号名及び期待値を、停止条件として入力することができるようにしてある。また、入力ボックス４６１の下に、４つの停止条件の全てが成立した場合にターゲット回路２０の動作を停止させることを選択するためのＡＮＤチェックボタン４６２と、４つの停止条件のいずれか１つが成立した場合にターゲット回路２０の動作を停止させることを選択するためのＯＲチェックボタン４６３とが設けられており、ＡＮＤチェックボタン４６２による選択と、ＯＲチェックボタン４６３による選択とは、いずれか一方のみ行うことができるようにしてある。
【０１４９】
入力ボックス４６１、ＡＮＤチェックボタン４６２及びＯＲチェックボタン４６３による設定は、設定画面の下部に設けられた設定ボタン４６４を押下することにより反映されるようにしてある。設定ボタン４６４を押下した場合、入力ボックス４６１に入力された信号名に対応する信号が条件判定部４５０のｍｕｘ０〜３により選択されるように、信号選択設定０〜３として制御レジスタ４３０に記憶されるようにしてあり、信号名とｍｕｘ０〜３の選択設定との対応付けは、ＰＣ１０内の例えばハードディスクに記憶された設定ファイルなどを参照することで行うようにしてある。また、設定ボタン４６４を押下した場合、入力ボックス４６１に入力された４つの期待値が期待値設定０〜３として制御レジスタ４３０に記憶され、更に、ＡＮＤチェックボタン４６２又はＯＲチェックボタン４６３のいずれが選択されているかが、条件設定として制御レジスタ４３０に記憶されるようにしてある。
【０１５０】
以上の構成の実施の形態５に係る回路検証装置４０１においては、ターゲット回路２０の内部信号又は出力信号の値が予め定められた期待値と一致した場合に、ターゲット回路２０の動作を停止させることができるため、設計者がデバッグ作業を行いやすく、回路検証装置の利便性を向上できる。なお、図２４に示した設定画面は一例であってこれに限るものではない。また、ターゲット回路２０の内部信号又は出力信号として４つの信号を指定可能な構成としたが、これに限るものではなく、３つ以下又は５つ以上の信号を指定し、期待値を設定してターゲット回路２０の動作を停止させることができる構成としてもよい。なお、条件判定部４５０及びクロック供給部４５１等の追加及び接続等は、設計者が行う構成であってもよく、論理合成ツールが論理合成を行う前に自動的に行う構成であってもよい。
【０１５１】
なお、実施の形態５に係る回路検証装置４０１のその他の構成は、実施の形態１に係る回路検証装置１の構成と同様であるため、対応する箇所には同じ符号を付して詳細な説明を省略する。
【０１５２】
また、回路検証装置が、実施の形態１乃至実施の形態５の回路検証装置にそれぞれ設けられた機能の全て又はいくつかを兼ね備える構成であってもよい。
【図面の簡単な説明】
【０１５３】
【図１】本発明の実施の形態１に係る回路検証装置の構成を示すブロック図である。
【図２】本発明の実施の形態１に係る回路検証装置のＣＰＵのアドレス空間の一構成例を示す模式図である。
【図３】本発明の実施の形態１に係る回路検証装置の制御レジスタの一構成例を示す模式図である。
【図４】本発明の実施の形態１に係る回路検証装置を利用したデジタル回路の設計フローの一例を示すフローチャートである。
【図５】観測する内部信号の変更を行う方法を説明するための模式図である。
【図６】クロック信号の供給関係を示すブロック図である。
【図７】入力信号の変更を行う方法を説明するための模式図である。
【図８】回路ブロック単位での動作検証を行う方法を説明するための模式図である。
【図９】固定値の変更を行う方法を説明するための模式図である。
【図１０】回路ブロックの置き換えを行う方法を説明するための模式図である。
【図１１】回路ブロックへのデータ入力を行う方法を説明するための模式図である。
【図１２】本発明の実施の形態１の変形例１に係る回路検証装置の構成を示すブロック図である。
【図１３】本発明の実施の形態１の変形例２に係る回路検証装置の構成を示すブロック図である。
【図１４】本発明の実施の形態１の変形例２に係る回路検証装置のＣＰＵのアドレス空間の一構成例を示す模式図である。
【図１５】本発明の実施の形態２に係る回路検証装置の構成を示すブロック図である。
【図１６】本発明の実施の形態３に係る回路検証装置の構成を示すブロック図である。
【図１７】本発明の実施の形態３に係る回路検証装置の制御レジスタの構成を示す模式図である。
【図１８】本発明の実施の形態３に係る回路検証装置のクロックコントローラの一構成例を示すブロック図である。
【図１９】本発明の実施の形態３に係る回路検証装置のクロックコントローラの判定部が行うクロック信号の供給停止処理の手順を示すフローチャートである。
【図２０】本発明の実施の形態４に係る回路検証装置の構成を示すブロック図である。
【図２１】本発明の実施の形態４に係る回路検証装置の制御レジスタの構成を示す模式図である。
【図２２】本発明の実施の形態５に係る回路検証装置の構成を示すブロック図である。
【図２３】本発明の実施の形態５に係る回路検証装置の条件判定部の構成を示すブロック図である。
【図２４】本発明の実施の形態５に係る回路検証装置の設定画面の一表示例を示す模式図である。
【符号の説明】
【０１５４】
１  回路検証装置
２、２ａ、２ｂ、２ｃ、２ｄ  ＦＰＧＡ（プログラマブル素子）
３  ＣＰＵ（制御部）
３ａ  制御用チップ
５  メモリ（観測値記憶部）
６  通信用デバイス（通信手段）
１０  ＰＣ
２０  ターゲット回路（被検証回路）
２５  テストパタン生成回路（補助回路）
３０  制御レジスタ（規定値記憶部）
４０、４１  ＭＵＸ（補助回路、選択回路）
４２  メモリ切替部（補助回路）
４４  内部メモリ（補助回路、観測値記憶部）
４６  クロック信号生成回路
４７  周波数逓倍回路（観測用クロック信号出力回路）
８１、９１  回路検証装置
１０１  回路検証装置
１５０  期待値メモリ（期待値記憶部）
１５１  比較回路（比較手段）
１５２  クロック供給部（停止手段）
２０１  回路検証装置
２３０  制御レジスタ（規定値記憶部）
２５１  クロックコントローラ
２５２  クロック供給部
２６１  第１カウンタ
２６２  第２カウンタ
２６３、２６４、２６５  比較回路
２６６  判定部
３０１  回路検証装置
３３０  制御レジスタ（規定値記憶部）
３５１  カウンタ
３５２  観測コントローラ
４０１  回路検証装置
４３０  制御レジスタ（規定値記憶部）
４５０  条件判定部
４５１  クロック供給部
【図１】
2007292492.tif 000003
【図２】
2007292492.tif 000004
【図３】
2007292492.tif 000005
【図４】
2007292492.tif 000006
【図５】
2007292492.tif 000007
【図６】
2007292492.tif 000008
【図７】
2007292492.tif 000009
【図８】
2007292492.tif 000010
【図９】
2007292492.tif 000011
【図１０】
2007292492.tif 000012
【図１１】
2007292492.tif 000013
【図１２】
2007292492.tif 000014
【図１３】
2007292492.tif 000015
【図１４】
2007292492.tif 000016
【図１５】
2007292492.tif 000017
【図１６】
2007292492.tif 000018
【図１７】
2007292492.tif 000019
【図１８】
2007292492.tif 000020
【図１９】
2007292492.tif 000021
【図２０】
2007292492.tif 000022
【図２１】
2007292492.tif 000023
【図２２】
2007292492.tif 000024
【図２３】
2007292492.tif 000025
【図２４】
2007292492.tif 000026