(57)【要約】【課題】論理回路を検証するシステムを構築するに際し、データインタフェースを簡易かつ確実に採ることができるようにする。【解決手段】各検証内容に応じた個々の検証設定データを入力ファイル生成装置２００に取り込んで１つの入力ファイルＤＦ２０を再構成し、データ入出力用ＰＣ８６とＰＣＩバスなどの標準インタフェースを介してエミュレータ装置５に入力する。エミュレータ装置５の外部ＩＦ回路２２０は、入力ファイルＤＦ２０をエミュレータ本体１０にて取込み可能なデータ形式に変換してからエミュレータ本体１０に入力する。【選択図】        図２
2004171436.tif 000002
【特許請求の範囲】
【請求項１】
ターゲット回路の論理動作を検証する論理検証システムにおける検証データを伝達するデータインタフェース方法であって、
前記検証データの一例である検証内容に応じた検証設定データを取り込んで入力ファイルを生成し、この生成した入力ファイルに基づいて検証システム本体にて取込み可能なデータ形式に変換して前記検証設定データを前記検証システム本体に入力することを特徴とするデータインタフェース方法。
【請求項２】
ターゲット回路の論理動作を検証する論理検証システムにおいて使用されるデータインタフェース装置であって、
検証データの一例である検証内容に応じた検証設定データを取り込んで入力ファイルを生成する入力ファイル生成部と、
前記入力ファイル生成部にて生成された前記入力ファイルに基づいて、検証システム本体にて取込み可能なデータ形式に変換して前記検証設定データを前記検証システム本体に入力するデータインタフェース部と
を備えたことを特徴とするデータインタフェース装置。
【請求項３】
前記検証設定データは、少なくとも、前記検証内容ごとの、検証に必要となる実データと当該実データの設定タイミングを規定するタイミング情報とを含み、
前記入力ファイル生成部は、前記入力ファイルとして、複数の前記検証内容について、当該検証内容ごとに前記タイミング情報と前記実データとを対にして順に前記データインタフェース部に送出可能なデータフォーマットを有するデータファイルを生成する
ことを特徴とする請求項２に記載のデータインタフェース装置。
【請求項４】
前記入力ファイル生成部は、前記データファイルを生成するためのアプリケーションプログラムが組み込まれている
ことを特徴とする請求項３に記載のデータインタフェース装置。
【請求項５】
前記入力ファイル生成部は、データバスのバス幅内で、前記検証設定データの一部をなす前記実データ以外のデータと前記実データとを多重化したデータフォーマットを有するデータファイルを生成する
ことを特徴とする請求項３に記載のデータインタフェース装置。
【請求項６】
前記入力ファイル生成部は、複数の前記検証内容のそれぞれについて、前記タイミング情報に基づき前記実データの前記データインタフェース部への送出タイミングを設定する
ことを特徴とする請求項３に記載のデータインタフェース装置。
【請求項７】
前記入力ファイル生成部と前記データインタフェース部との間は、ある一定の規格を満足する標準インタフェースにて前記入力ファイルの伝達が採られる
ことを特徴とする請求項２に記載のデータインタフェース装置。
【請求項８】
前記標準インタフェースは、ＩＳＡバスおよびＰＣＩバスのうちの少なくとも一方である
ことを特徴とする請求項７に記載のデータインタフェース装置。
【請求項９】
前記標準インタフェースは、ＵＳＢインタフェースおよびＩＥＥＥ１３９４インタフェースのうちの少なくとも一方である
ことを特徴とする請求項７に記載のデータインタフェース装置。
【請求項１０】
前記データインタフェース部は、
前記標準インタフェースにて前記入力ファイル生成部と接続される標準インタフェース部と、
前記検証システム本体に固有のインタフェースにて当該検証システム本体と接続される固有インタフェース部と
を備えることを特徴とする請求項７に記載のデータインタフェース装置。
【請求項１１】
前記標準インタフェース部は、前記入力ファイル生成部から受け取った前記入力ファイルのデータフォーマットに依存した処理を行なう
ことを特徴とする請求項１０に記載のデータインタフェース装置。
【請求項１２】
前記標準インタフェース部は、前記入力ファイルのデータフォーマットに依存した処理として、前記入力ファイル生成部から受け取った前記入力ファイルを展開し、前記入力ファイルに記述されている前記タイミング情報に従って前記実データを前記固有インタフェース部に送出する
ことを特徴とする請求項１１に記載のデータインタフェース装置。
【請求項１３】
前記固有インタフェース部は、検証結果を示す結果データを前記検証システム本体から受け取り前記標準インタフェース部に渡し、
前記標準インタフェース部は、前記固有インタフェース部から受け取った前記結果データを前記検証システム本体の外部に設けられた装置に送出する
ことを特徴とする請求項１０に記載のデータインタフェース装置。
【請求項１４】
ターゲット回路の論理動作を検証する論理検証システムにおける、検証システム本体から入出力される入出力信号に対応する個々の接続ボードに送受信するためのデータインタフェース方法であって、
前記個々の接続ボードのそれぞれについて、前記検証システム本体から入出力された複数の前記接続ボードについての前記入出力信号の中から、各入出力信号の送受信先である対応ボード用の個々の入出力信号を選択する選択制御部を前記接続ボード以外の部分に設け、
前記選択制御部に対して、前記個々の入出力信号を選択するための条件を示す選択条件情報を送出し、この選択条件情報に基づいて前記個々の入出力信号を選択させる
ことを特徴とするデータインタフェース方法。
【請求項１５】
ターゲット回路の論理動作を検証する論理検証システムにおける、検証システム本体から入出力される入出力信号に対応する個々の接続ボードに送受信するためのデータインタフェース装置であって、
前記個々の接続ボード以外の部分に設けられた、前記個々の接続ボードのそれぞれについて、前記検証システム本体から入出力された複数の前記接続ボードについての前記入出力信号の中から、各入出力信号の送受信先である対応ボード用の個々の入出力信号を選択する選択制御部を備え、
当該選択制御部は、前記個々の入出力信号を選択するための条件を示す選択条件情報を受け取り、この受け取った前記選択条件情報に基づいて前記個々の入出力信号を選択する
ことを特徴とするデータインタフェース装置。
【請求項１６】
前記検証システム本体から入出力される入出力信号は、前記検証システム本体と接続される前記個々の接続ボードの動作を規定するための動作設定情報であって、
前記選択制御部は、前記受け取った選択条件情報に基づいて前記個々の接続ボード用の前記動作設定情報を選択し、前記個々の接続ボードの動作状態を制御する
ことを特徴とする請求項１５に記載のデータインタフェース装置。
【請求項１７】
前記検証システム本体から入出力される入出力信号は、前記検証システム本体と接続される前記個々の接続ボードに入力されるクロック信号であって、
前記選択制御部は、前記受け取った選択条件情報に基づいて前記個々の接続ボード用の前記クロック信号を選択して対応する前記接続ボードに入力することで、前記個々の接続ボードの動作状態を制御する
ことを特徴とする請求項１５に記載のデータインタフェース装置。
【請求項１８】
前記検証システム本体から入出力される入出力信号は、検証結果を示す前記検証システム本体から出力される結果データであって、
前記選択制御部は、前記結果データの観測点を検証内容に応じてグループ分けし、前記受け取った選択条件情報に基づいてグループごとに前記結果データを選択して対応する前記接続ボードに入力する
ことを特徴とする請求項１５に記載のデータインタフェース装置。
【請求項１９】
前記選択制御部は、前記検証システム本体を構成する書換可能な論理デバイスに組み込まれている
ことを特徴とする請求項１５に記載のデータインタフェース装置。
【請求項２０】
前記選択条件情報を記憶した記憶部と、
前記記憶部に記憶されている前記選択条件情報を前記選択制御部に送出する選択条件情報送出部と
を備えたことを特徴とする請求項１５に記載のデータインタフェース装置。
【請求項２１】
前記選択条件情報送出部と前記選択制御部との間は、ある一定の規格を満足する標準インタフェースにて前記選択条件情報の伝達が採られる
ことを特徴とする請求項１５に記載のデータインタフェース装置。
【請求項２２】
前記標準インタフェースは、ＩＳＡバスおよびＰＣＩバスのうちの少なくとも一方である
ことを特徴とする請求項２１に記載のデータインタフェース装置。
【請求項２３】
前記標準インタフェースは、ＵＳＢインタフェースおよびＩＥＥＥ１３９４インタフェースのうちの少なくとも一方である
ことを特徴とする請求項２１に記載のデータインタフェース装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体装置の論理検証を行なうための検証システム（エミュレータシステム）に使用されるデータインタフェース方法および装置に関する。
【０００２】
【従来の技術】
半導体技術の進歩により、論理ＩＣの集積度は益々向上し、大規模システムを１チップに集積することが可能となり、また１チップまたは複数のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：大規模集積回路）で電子機器などのシステムを構築することが可能になりつつある。
【０００３】
１チップＬＳＩやＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  ＩＣ  ：特定用途向け集積回路）などの半導体装置を開発する場合、一般的には、半導体装置（ターゲット回路）の内部の論理回路の論理動作を検証（デバッグ）した後に、実際のデバイス（チップ）を製造することが行なわれている。
【０００４】
この論理検証の手法としては、たとえば、論理シミュレーション（ソフトウェアシミュレーション）がある。これは、論理検証の対象となる論理回路の動作を電子計算機（たとえばワークステーションなどのコンピュータ）で実現し、所定の入力パターンに対する出力を予想して解析する（ソフトウェア的に波形解析をする）の仕組みのものである。
【０００５】
しかし、この論理シミュレーションでは、実際の論理回路に比べて動作速度が遅く、論理回路の規模が大きくなるとステップ数が非常に膨大となり論理検証時間が長時間に亘るという問題や、回路部材のソフトウェアモデリングが困難で、必ずしも実回路の動作と等価にはならず、システム全体を忠実にシミュレーションすることは難しいという問題がある。このため、論理シミュレーションのみでシステム全体の論理回路検証を行なうことは事実上不可能である。
【０００６】
また、論理検証の他の手法として、ターゲット回路に対応するハードウェア要素としての試作ＬＳＩや基板による試作品を用いて検証を行なう手法もある。この手法では、たとえば試作ＬＳＩのパターンニングや動作確認に時間を要し、試作品を得るためには数週間を要するので、繰り返して試作品を作り検証を行なうことは難しい。
【０００７】
上記の検証手法の問題を解消するものとして、今日では、論理エミュレーション（ハードウェアエミュレーション／ロジックエミュレーション）による論理検証が注目されている（たとえば、特許文献１，２参照）。
【０００８】
【特許文献１】
特開２００２−２２９８１３号公報
【特許文献２】
特開２００２−２４３７８５号公報
【０００９】
この論理エミュレーションは、ターゲット回路についての論理動作を、ターゲット回路とは別種のハードウェア要素を使用して論理検証するもので、たとえば、ＬＳＩや電子計算機などの論理回路と等価な動作をプリント基板上に搭載した複数の電子部品（ターゲット回路に対応する別種のハードウェア要素）で実現し、実際の論理回路に近い動作速度で回路を動作させて論理回路を検証するものである。
【００１０】
たとえば、ＬＳＩ設計データを読込みＬＳＩと等価な動作を行なうプログラマブルに構成可能な半導体集積回路（ＦＰＧＡ；Ｆｉｌｅｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｌｌｅｙ：フィールドプログラマブルゲートアレイ）などで構成されたエミュレータによって実現され、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ  ；中央演算処理装置）やメモリなどの汎用部品を外部のプリント基板に実装し、エミュレータとプリント基板を接続し、実際の論理回路に近い動作速度で回路を動作させ論理回路を検証する。
【００１１】
この論理エミュレーションの手法によれば、数１００万ゲート規模のシステムを構成することができ、システム全体として実速度での検証が可能であり、コンピュータを用いたソフトウェアシミュレーションよりも数千分の１程度の時間で検証結果が得られる。また、ＦＰＧＡは回路構成が可変であるので、検証中にＦＰＧＡの回路構成を変更して機能確認を行ない最終の回路を決定した後、システム全体の論理回路検証（評価）を実回路に近い動作速度で行なうこともできる。このとき、ＦＰＧＡを用いて回路構成を変更しながら論理回路検証することによって、新規に設計する特定機能の論理回路やユーザ個別の論理回路を確定することもできる。これによって、特定用途向け集積回路ＡＳＩＣを比較的短期間に提供することも可能となる。
【００１２】
【発明が解決しようとする課題】
一方、近年の半導体装置は、回路が複雑化し、プロセッサやメモリを内蔵することが可能となり、またシステムも大規模になっており、ＣＰＵ、論理回路、記憶装置などの機能をそれぞれ単体で有するだけではなく、それらを１つのチップ上に搭載して所望のシステムを実現するＳＯＣ（Ｓｙｓｔｅｍ  Ｏｎ  ａ  Ｃｈｉｐ：システムオンチップ）化が進んでいる。
【００１３】
このため、ＳＯＣを検証対象とした場合、検証項目も急激に増加している。この場合、当然、ソフトウェアシミュレーションでは検証時間が長期に亘るため検証できない項目も出てくる。よって、試作チップなどを搭載する試作基板を用いてシステム検証を行なうことや、さらに好ましくは、論理エミュレーションを用いてシステム検証を行なう実機ベースのシステム検証が必要となる。
【００１４】
なお、試作基板や論理エミュレーションを用いた実機ベースのシステム検証では、試作基板や検証システム本体を構成するＦＰＧＡなどの書換可能なデバイスやメモリにプロセッサやメモリ回路を実装することで機能を実現するが、最新プロセッサや高機能メモリあるいは大規模メモリは、検証システム本体内に収容することが難しく、本体とは別に接続する個別の接続ボード（外部ボード）を用いて専用プロセッサチップや外部メモリなど（これらよりなる回路を外部回路という）を搭載することで具現化することもある。こうすることで、設計した論理回路をＦＰＧＡなどの書換可能なデバイスや専用プロセッサチップに実装して実際のチップと機能的に等価な動作をエミュレーションして確認することができる。
【００１５】
ここで、システム検証用の環境構築には、検証データ（テストデータや結果データ）のインタフェースをどのようにして採るか（第１の問題という）や、検証システム本体外に設けられる外部回路や計測装置との間のインタフェースをどのようにして採るか（第２の問題という）、つまり検証システム本体との間で送受信される種々のデータのインタフェースをどのように採るかが問題となる。
【００１６】
たとえば、第１の問題について言えば、外部から検証データを送受信（テストデータの入力や結果データの出力）するデータインタフェースの開発が必要である。すなわち、エミュレーション時には複数のデータを検証内容に応じて規定されたタイミングで送信しなくてはならないため、このデータインタフェースには、複数のインタフェースに対応でき、タイミングの可変動作やデータ間の相関関係も考慮した処理が要求される。
【００１７】
しかしながら、システムオンチップなどの規模の大きなターゲット回路では、その制御方法は複雑になり、インタフェースのためのハードウェアの修正や変更を余儀なくされることが多く、開発期間を長期化させる要因となっている。また、チップの外部動作とデータの送受信インタフェース動作の整合性を兼ね備えた仕様にしなくてはならないことと、入出力タイミングを検証内容によって可変にしなくてはならないことが、制御方法を困難にしている原因にもなっている。
【００１８】
さらに、双方の条件を満たすインタフェース回路は、それぞれシステムオンチップに固有のものになってしまい、再利用することが困難であるという問題もある。このため、システム検証では、種類の異なるファイルアクセスの数だけデータインタフェースを新規開発しなくてはならない状況にある。
【００１９】
また、第２の問題について言えば、チップのシステム検証をするためには、試作基板やロジックエミュレータ上にプロセッサやメモリを検証システム本体を構成するＦＰＧＡなどの書換可能なデバイスやメモリに実装することで機能を実現するが、最新プロセッサや高機能メモリあるいは大規模メモリは、検証システム本体内に収容することが難しく、本体とは別に接続する個別の接続ボード（外部ボード）を用いて具現化する必要がある。この場合、接続ボードと本体との間の信号インタフェース、特に個々の接続ボードの動作を制御する信号やクロック信号の伝達をどのように採るかということが問題となる。
【００２０】
たとえば、図２０は、システム検証装置と接続ボードを用いた従来の検証環境を示した例である。接続ボードの一例である外部ボード１１は、再利用を可能とするため、同一機構のボードを採用していることが多い。外部ボード接続用Ｉ／Ｆ部９２には、外部ボード１１の動作に対する制御信号が複数存在している。そして、個々の外部ボード１１上に、たとえばスイッチなどで制御信号を切り替える機構を搭載し、人手によりこのスイッチ機構を切り替えることで、個々の外部ボード１１の動作制御を可能としている。
【００２１】
ところが、大規模なチップのシステム検証では、たとえば、プロセッサ用外部ボード、メモリ用外部ボードやデータインタフェース用外部ボードなど、使用する接続ボードが多種多様になり、しかも複数必要となる。
【００２２】
前述のように、従来は、これら接続ボードの設定情報の変更は、手動でボード上にあるたとえばスイッチなどで制御信号を制御することで実行していたので、接続ボードの種類と枚数の増加に伴い、それら接続ボードの設定情報を正確に把握することが困難になってきている。
【００２３】
また、設定が正しいかどうかを目視でしか確認することができず、設定の誤りがあっても、早期に発見する手段がないため、検証作業効率が低下し、検証期間の長期化を招くという問題を起こしていた。
【００２４】
また、検査結果を外部の計測装置にて観測しなければならず、観測ポイントが増えた場合、その検査結果データのインタフェースをどのように採るかということも問題となる。すなわち、回路規模が小さければ、観測ポイントも少ないので、計測点を固定してそれぞれを常に監視することも可能であるが、ターゲット回路の規模が大きくなると観測ポイントも増えるので、計測点を固定してそれぞれを常に監視するということは難しくなる。人手により検証内容に応じた観測点にプローブ接続を切り替えることも考えられるが、面倒である。加えて、その都度適切なポイントにプローブを接続できるとも限らないので、接続ミスによる誤観測を招く可能性もある。
【００２５】
本発明は、上記事情に鑑みてなされたものであり、ターゲット回路の論理動作を検証する論理検証システムを構築するに際して、データインタフェースを簡易かつ確実に採ることのできる方法および装置を提供することを目的とする。
【００２６】
【課題を解決するための手段】
すなわち、本発明に係る第１のデータインタフェース方法は、ターゲット回路の論理動作を検証する論理検証システムにおける検証データを伝達するデータインタフェース方法であって、検証データの一例である検証内容に応じた検証設定データを取り込んで入力ファイルを生成し、この生成した入力ファイルに基づいて検証システム本体にて取込み可能なデータ形式に変換して検証設定データを検証システム本体に入力することとした。
【００２７】
本発明に係る第１のデータインタフェース装置は、上記本発明に係る第１のデータインタフェース方法を実施する装置であって、検証データの一例である検証内容に応じた検証設定データを取り込んで入力ファイルを生成する入力ファイル生成部と、入力ファイル生成部にて生成された入力ファイルに基づいて、検証システム本体にて取込み可能なデータ形式に変換して検証設定データを検証システム本体に入力するデータインタフェース部とを備えるものとした。
【００２８】
また、従属項に記載された発明は、本発明に係る第１のデータインタフェース装置のさらなる有利な具体例を規定する。
【００２９】
たとえば、検証設定データには種々のものがあるが、少なくとも、検証内容ごとの、検証に必要となる実データとこの実データの設定タイミングを規定するタイミング情報とを含む場合に、上記構成を適用すると好ましい。この場合、入力ファイル生成部は、入力ファイルとして、複数の検証内容について、検証内容ごとにタイミング情報と実データとを対にして順にデータインタフェース部に送出可能なデータフォーマットを有するデータファイルを生成する。
【００３０】
また、本発明に係る第１のデータインタフェース装置においては、入力ファイル生成部を、データファイルを生成するためのアプリケーションプログラムが組み込まれたものとしてもよい。つまり、本発明に係る第１のデータインタフェース方法および装置を、電子計算機（コンピュータ）を用いてソフトウェアで実現するために好適なプログラムあるいはこのプログラムを格納したコンピュータ読取可能な記憶媒体を発明として抽出することもできる。なお、プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線あるいは無線による通信手段を介して配信されてもよい。
【００３１】
また、本発明に係る第１のデータインタフェース装置においては、入力ファイル生成部を、データバスのバス幅内で、検証設定データの一部をなす実データ以外のデータと実データとを多重化したデータフォーマットを有するデータファイルを生成するもの、あるいは、複数の検証内容のそれぞれについてタイミング情報に基づき実データのデータインタフェース部への送出タイミングを設定するものとしてもよい。
【００３２】
また、入力ファイル生成部とデータインタフェース部との間は、ＩＳＡバスやＰＣＩバスなどのパラレルバスインタフェース、あるいはＵＳＢインタフェースやＩＥＥＥ１３９４インタフェースなどのシリアルインタフェースなど、ある一定の規格を満足する標準インタフェースにて入力ファイルの伝達を採るものとすることが望ましい。
【００３３】
標準インタフェースを利用する場合、データインタフェース部は、標準インタフェースにて入力ファイル生成部と接続される標準インタフェース部と、検証システム本体に固有のインタフェースにて検証システム本体と接続される固有インタフェース部とを備えるものとするとよい。
【００３４】
またこの場合、標準インタフェース部は、入力ファイル生成部から受け取った入力ファイルを展開し、入力ファイルに記述されているタイミング情報に従って実データを固有インタフェース部に送出するなど、入力ファイル生成部から受け取った入力ファイルのデータフォーマットに依存した処理を行なうものであることが望ましい。
【００３５】
また、本発明に係る第１のデータインタフェース装置においては、固有インタフェース部は、検証結果を示す結果データを検証システム本体から受け取り標準インタフェース部に渡し、標準インタフェース部は、固有インタフェース部から受け取った結果データを検証システム本体の外部に設けられた装置に送出するものであることが望ましい。
【００３６】
本発明に係る第２のデータインタフェース方法は、ターゲット回路の論理動作を検証する論理検証システムにおける、検証システム本体から入出力される入出力信号を対応する個々の接続ボードに送受信するためのデータインタフェース方法であって、個々の接続ボードのそれぞれについて、検証システム本体から入出力された複数の接続ボードについての入出力信号の中から、各入出力信号の送受信先である対応ボード用の個々の入出力信号を選択する選択制御部を接続ボード以外の部分に設けることとした。そして、選択制御部に対して、個々の入出力信号を選択するための条件を示す選択条件情報を送出し、この選択条件情報に基づいて個々の入出力信号を選択させるようにした。
【００３７】
本発明に係る第２のデータインタフェース装置は、上記本発明に係る第２のデータインタフェース方法を実施する装置であって、先ず、個々の接続ボードのそれぞれについて、検証システム本体から入出力された複数の接続ボードについての入出力信号の中から、各入出力信号の送受信先である対応ボード用の個々の入出力信号を選択する選択制御部を個々の接続ボード以外の部分に設けることとした。たとえば、検証システム本体を構成する書換可能な論理デバイス（ＦＰＧＡなど）に選択制御部を組み込むとよい。
【００３８】
そして、選択制御部を、個々の入出力信号を選択するための条件を示す選択条件情報を受け取り、この受け取った選択条件情報に基づいて個々の入出力信号を選択するものとした。この、選択条件情報は、選択制御部と個々の接続ボードとの対応に応じたものが設定されるのはいうまでもない。
【００３９】
検証システム本体から入出力される入出力信号には種々のものがある。なお、「入出力」とあるのは、入力および出力の何れか一方（少なくとも一方）でよい。たとえば、検証システム本体と接続される個々の接続ボードの動作を規定するための動作設定情報である。この場合、選択制御部は、受け取った選択条件情報に基づいて個々の接続ボード用の動作設定情報を選択し対応する接続ボードに入力することで、個々の接続ボードの動作状態を制御する。
【００４０】
また、入出力信号が、個々の接続ボードに入力されるクロック信号である場合もある。この場合、選択制御部は、受け取った選択条件情報に基づいて個々の接続ボード用のクロック信号を選択して対応する接続ボードに入力することで、個々の接続ボードの動作状態を制御する。
【００４１】
また、入出力信号が、検証結果を示す検証システム本体から出力される結果データである場合もある。この場合、選択制御部は、結果データの観測点を検証内容に応じてグループ分けし、受け取った選択条件情報に基づいてグループごとに結果データを選択して対応する接続ボードに入力する。接続ボードは、受け取った結果データ（観測データ）を検証システム本体の外部に設けられた計測装置に伝達する。
【００４２】
なお、選択条件情報の選択制御部への入力は人手によって設定する仕組みとしてもよいが、自動化することの方が好ましい。このためには、選択条件情報を記憶した記憶部と、記憶部に記憶されている選択条件情報を選択制御部に送出する選択条件情報送出部とを備えた構成とすることが好ましい。
【００４３】
この場合、選択条件情報送出部と選択制御部との間は、ＩＳＡバスやＰＣＩバスなどのパラレルバスインタフェース、あるいはＵＳＢインタフェースやＩＥＥＥ１３９４インタフェースなどのシリアルインタフェースなど、ある一定の規格を満足する標準インタフェースにて選択条件情報の伝達を採る構成とすることが好ましい。
【００４４】
【作用】
本発明に係る第１のデータインタフェース方法および装置においては、先ず、各検証内容に応じた個々の検証設定データを取り込んで１つの入力ファイルを生成（再構成）する。そして、この入力ファイルに基づいて検証システム本体にて取込み可能なデータ形式に変換して検証システム本体に入力する。
【００４５】
また、本発明に係る第２のデータインタフェース方法および装置においては、先ず、検証システム本体から入出力された複数の接続ボード向けの入出力信号を対応する個々のボード用に選択する仕組みを接続ボード以外の部分に設ける。この選択制御部は、個々の入出力信号を選択するための条件を示す選択条件情報を受け取り、選択条件情報に従って個々のボード用の入出力信号を選択する。選択条件情報は、選択制御部と個々の接続ボードとの対応に応じたものが設定されるので、検証内容に応じて選択条件情報を選択制御部に設定するだけで、適切な入出力信号が選択制御部にて選択され、対応するボードに伝達される。
【００４６】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００４７】
図１は、論理エミュレーションを行なうための検証システム（論理エミュレーションシステム）の概略構成を示す図である。
【００４８】
検証システム１は、エミュレータ本体１０、ターゲットであるＳＯＣに内蔵するＣＰＵやテストチップ２２を搭載したＣＰＵボード２０、ＳＯＣに内蔵する大規模メモリや高性能メモリ３２を搭載した外部メモリボード３０を備える。
【００４９】
エミュレータ本体（検証システム本体）１０には、ＬＳＩ設計データを読込みＬＳＩと等価な動作を行なうプログラマブルに構成可能なＦＰＧＡ１２で構成されたロジック回路１４、メモリ１６、テストベンチ回路１８などで構成されている。
【００５０】
メモリ１６としては、たとえば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ  ）やＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの、随時書込みおよび随時読出しが可能な記憶保持動作をするメモリを使用するとよい。なお、ＦＰＧＡ１２やメモリ１６は、検証対象となるターゲット回路のシステム規模が小さければ１個でもよいが、システム規模が大きくなれば各々複数個が使用される。
【００５１】
ＣＰＵボード２０や外部メモリボード３０は、必要に応じて複数枚が用意されるようになっている。エミュレータ本体１０と、これらＣＰＵボード２０および外部メモリボード３０との間は、インタフェース（Ｉ／Ｆ）部９０を構成する外部ボード接続用Ｉ／Ｆ部９２にて接続されるようになっている。
【００５２】
ＦＰＧＡ１２やメモリ１６から成るエミュレータ本体１０とＣＰＵボード２０や外部メモリボード３０などの外部ボード１１とで、システムオンチップＳＯＣに対応するターゲット回路が構成される。そして、システムオンチップＳＯＣとインタフェース部９０にてエミュレータ装置５が構成される。
【００５３】
また、検証システム１は、エミュレータ本体１０の周辺に、ＦＰＧＡ１２の論理機能を決定する論理機能定義データをＦＰＧＡ１２にロード（供給）したり、あるいは検証システム全体を監視若しくは制御したりするためのコントローラＰＣ（ＰＣ；Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  ）８０、論理設計データを生成するワークステーション８２、検証用のテストデータ（入力データ）をエミュレータ本体１０にロードしたり検証結果のデータ（出力データ）を読み込み保持したりするためのデータ入出力用ＰＣ８４，８６、および検証中のロジックデータを監視するためのロジックアナライザ（以下ロジアナという）８８を備える。
【００５４】
なお、検証用のテストデータ（入力データ）は、ソフトウェアシミュレーションにおいて使用するものと同様のものを使用すればよい。この検証用のテストデータは、エミュレータ本体１０のテストベンチ回路１８を介してＦＰＧＡ１２に供給されることで、ソフトウェアシミュレーションの検証環境を論理エミュレーションを用いたシステム検証装置（すなわち検証システム１）で実現するようになる。また、その検証結果のデータ（出力データ）がテストベンチ回路１８を介してデータ入出力用ＰＣ８４，８６に出力され、所定の記憶媒体（たとえばハードディスク装置など）に格納される。なお、この場合の検証用のテストデータ（入力データ）と検証結果のデータ（出力データ）とを纏めて、「ソフトウェアシミュレーション用入出力データ」という。
【００５５】
コントローラＰＣ８０はコントローラ用Ｉ／Ｆ部９４にて専用ケーブルで、データ入出力用ＰＣ８４，８６は検証データ用のデータインタフェース部の一例であるデータ用Ｉ／Ｆ部９６ａ，９６ｂにてＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ）バス若しくはＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バスなどのパラレルバスインタフェースで、ロジアナ８８はロジアナ用Ｉ／Ｆ部９８にて専用プローブで、それぞれエミュレータ本体１０と接続されるようになっている。
【００５６】
検証データのエミュレータ本体１０へのインタフェースをなすデータ用Ｉ／Ｆ部９６ａ，９６ｂとして、ＰＣＩバスやＩＳＡバスなど共通のインタフェース機構を持たせることで、複数の異なったデータが同一インタフェース上で入出力可能となる。
【００５７】
インタフェース部９０をなす外部ボード接続用Ｉ／Ｆ部９２、コントローラ用Ｉ／Ｆ部９４、あるいはデータ用Ｉ／Ｆ部９６は、その全部もしくは一部の回路が、ＦＰＧＡ１２に書き込まれたものであってもよい。
【００５８】
なお、データ用Ｉ／Ｆ部９６ａ，９６ｂとしては、ＰＣＩバスやＩＳＡバス以外のパラレルの標準インタフェースを使用してもよい。また、パラレルバスインタフェースに限らず、たとえばＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ，  Ｉｎｃ．  ；米国電気電子学会）１３９４規格やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）１．０／２．０規格、もしくはＰＣＩ規格の一例である“ＰＣＩＥｘｐｒｅｓｓ（商標）”（ピーシーアイエクスプレス）などのシリアルインタフェースであってもよい。
【００５９】
ＰＣＩバスやＩＳＡバスなどのパラレルバスインタフェースをはじめとする標準インタフェースは、ＩＥＥＥやＪＩＳ（日本工業規格）などの非商業的組織または政府組織（公的な規格団体）によって認められた正当な（法律上の）技術的ガイドラインに従った、ハードウェア開発またはソフトウェア開発の領域において均一性を確立するために使用される公的なインタフェースであるのがよい。
【００６０】
また、このような公的なインタフェースに限らず、民間団体や単一の会社にて取り纏められた私的な標準インタフェース、いわゆる業界標準インタフェース（工業標準インタフェース）であってもかまわない。何れにしても、標準インタフェースは、ある一定の規格を満足する接続インタフェースであればよい。
【００６１】
たとえば、ある会社によって製品または理念が開発され、成功と模倣を通じて標準からの逸脱が互換性の問題を引き起こすか、または市場性を制限する程広く使用されるようになる場合に生じるハードウェア開発またはソフトウェア開発に関する事実上の（ｄｅ  ｆａｃｔｏ）技術的ガイドライン（非公式な規格）が、本実施形態の標準インタフェースとして採用されてもよい。
【００６２】
コントローラＰＣ８０とワークステーション８２とは、ネットワークＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）で接続されている。ワークステーション８２は、たとえばＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ  ）若しくはＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ  ）といわれる形式で論理記述された論理設計データを生成する。
【００６３】
また、ワークステーション８２は、その論理設計データの対応回路部分の記述データまたはその記述データを所定のデータフォーマットに変換したデータをコントローラＰＣ８０に渡す。コントローラＰＣ８０は、このデータを解読して、ＦＰＧＡ１２に論理機能を設定するのに必要な論理機能定義データを生成し、これをＦＰＧＡ１２にロードすることで、ＡＳＩＣやシステムオンチップＳＯＣなどに対応するターゲット回路を実装（インプリメント）する。
【００６４】
また、ワークステーション８２は、ターゲット回路評価のために生成したロードモジュールをコントローラＰＣ８０に渡す。このロードモジュールは、ＦＰＧＡ１２を有するエミュレータ本体１０やエミュレータ本体１０に接続されたＣＰＵボード２０などに供給され、インサーキットエミュレーションのように、開発対象とされるターゲット回路上でＦＰＧＡ１２を実際の論理回路（ターゲット回路に対応するＡＳＩＣやＳＯＣなど）に近い動作速度で動作させることで、システムデバッグやソフトウェアデバッグなどの検証あるいはテストを行なうために利用される。
【００６５】
＜検証データのインタフェースに着目した実施形態＞
図２は、図１に示した検証システム１における、データ入出力用ＰＣ８４とエミュレータ本体１０との間のデータインタフェースに着目したブロック図である。ターゲット回路の論理動作を検証するための検証用のテストデータ（検証設定データ；本例では実データとその設定データから成る）を取り込み再構成して出力する入力ファイル生成装置２００を備えている点に特徴を有する。
【００６６】
図示した例では、個々の検証内容に応じた検証用のテストデータを記録したデータファイルとして、第１の設定データＳＤ（Ｓｅｔ  Ｄａｔａ）であるスタート時間Ｔｓｔｒ  を規定するスタート時間ファイルＤＦ１１と、第２の設定データＳＤである実データ（Ｒｅａｌ  Ｄａｔａ  ）の数ＮＤを規定する実データ数ファイルＤＦ１２とが用意されている。また、入力される１６ビットの実データを規定する実データファイルＤＦ１３、３２ビットの実データを規定する実データファイルＤＦ１４、実データとイネーブルデータとを纏めた複合データ（イネーブル付き実データ）を規定する複合データファイルＤＦ１５、およびアドレスデータを規定するアドレスデータファイルＤＦ１６が用意されている。
【００６７】
これらのデータファイルＤＦ１１〜ＤＦ１６は、従来技術の構成では、個々のデータファイルＤＦ１１〜ＤＦ１６を、直接に、エミュレータ本体１０へ読み込む形式でインタフェースされていたものである。
【００６８】
これに対して、本実施形態の構成では、これら複数のデータファイルＤＦ１１〜ＤＦ１６を、一旦入力ファイル生成装置２００で、システムオンチップとは独立した共通（専用）のデータプロトコルに加工した入力ファイルＤＦ２０（図ではＤＦ２１，ＤＦ２２の２種類）に再構成する。
【００６９】
入力ファイル生成装置２００にて再構成された入力ファイルＤＦ２０は、データインタフェースを制御するデータ入出力用ＰＣ８６に取り込まれる。データ入出力用ＰＣ８６とエミュレータ装置５とは、先にも述べたように、ＰＣＩバスやＩＳＡバスなどのパラレルバスインタフェースを通じて、データの送受信を行なうようになっている。
【００７０】
すなわち、データ入出力用ＰＣ８６は、共通のデータプロトコルに加工された入力ファイルＤＦ２０をパラレルバスインタフェースを通じて、エミュレータ装置５のデータ用Ｉ／Ｆ部９６へ送り込む。そして、データ用Ｉ／Ｆ部９６にて、システムオンチップとは独立した共通のデータプロトコルに加工された入力ファイルＤＦ２０から、所用の実データを所定の順に取り込みシステムオンチップＳＯＣあるいはそれと等価な検証対象回路へ渡す（読み込む）。
【００７１】
ここで、本実施形態のエミュレータ装置５は、入力ファイル生成装置２００にて生成（再構成）された入力ファイルＤＦ２０を受け取ることが可能なように、データ用Ｉ／Ｆ部９６として、ＰＣＩバスやＩＳＡバスなどの標準インタフェースにて入力ファイル生成装置２００と接続される標準インタフェース部の一例である外部ＩＦ回路２２０（図では２２０ａ，２２０ｂの２つ）、および検証システム本体であるエミュレータ本体１０に固有のインタフェースにてエミュレータ本体１０と接続される固有インタフェース部の一例であるＳＯＣ−ＩＦ回路２４０（図では２４０ａ，２４０ｂの２つ）を有する構成となっている。
【００７２】
外部ＩＦ回路２２０は、ＰＣＩやＩＳＡなど、パソコンなどで広く利用されている標準のバスインタフェース仕様の動作で再利用可能なものである。ＳＯＣ−ＩＦ回路２４０は、システムオンチップＳＯＣとのインタフェース仕様の動作になっており、個々のシステムオンチップＳＯＣに応じた固有のものである。
【００７３】
また、外部ＩＦ回路２２０とＳＯＣ−ＩＦ回路２４０との間のインタフェースは、ハードウェアおよびソフトウェアの両面でシステムオンチップＳＯＣとは独立のもので、システムオンチップＳＯＣの種類に拘わらず共通のものである。
【００７４】
標準インタフェース部の一例である外部ＩＦ回路２２０は、入力ファイル生成装置２００にて再構成された入力ファイルのデータフォーマットに依存した処理として、入力ファイル生成装置２００から受け取った入力ファイルを展開し、入力ファイルに記述されているタイミング情報（本例ではスタート時間と実データ数）に従って実データをエミュレータ本体１０にて取込み可能なデータ形式に変換して固有インタフェース部の一例であるＳＯＣ−ＩＦ回路２４０に送出する。ＳＯＣ−ＩＦ回路２４０は、この受け取った実データをエミュレータ本体１０の該当する部位（アドレス）へ送出する。
【００７５】
また、ＳＯＣ−ＩＦ回路２４０は、ＳＯＣ依存の固有のインタフェースにて検証結果を示す結果データをエミュレータ本体１０から受け取り、この結果データを外部ＩＦ回路２２０に渡す。外部ＩＦ回路２２０は、ＰＣＩバスやＩＳＡバスなどの標準インタフェースを介して、外部に設けられたデータ入出力用ＰＣ８６に、その結果データを送出する。データ入出力用ＰＣ８６には、この結果データを保持するハードディスク装置などの記憶媒体に結果データを記憶する。
【００７６】
ここで、検証対象のシステムオンチップＳＯＣに対応する際、種類の異なるファイルアクセスの数が増えるケース（データインタフェースが追加される場合）では、新規にＳＯＣ−ＩＦ回路２４０のみを開発することでその対応を採り、これにより、外部ＩＦ回路２２０を再利用可能に構成している。
【００７７】
上記構成において、入力ファイル生成装置２００は、たとえば、ファイル変換機能をなす専用のハードウェア回路で構成してもよいし、パソコンやワークステーションなどの汎用のコンピュータを利用して構成してもよい。つまり、ファイル変換の一連の処理をハードウェアにより実行させることもできるが、ソフトウェアを利用して実行させることもできる。
【００７８】
ファイル変換処理をソフトウェアにより実行させる場合には、全体の動作を制御するソフトウェアであるＯＳ（オペレーティングシステム）と、前述のファイル変換機能をなすためのソフトウェアであるアプリケーションプログラム（入力ファイル生成プログラム）２０２が、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで各種の機能を実行することが可能なたとえば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる（組み込まれる）。これにより、本発明に係る入力ファイル生成装置を、プログラムに基づいてソフトウェア的に実現するようになる。
【００７９】
記録媒体は、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ  ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）を含む）、光磁気ディスク（ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ  ）を含む）、もしくは半導体メモリなどよりなるパッケージメディア（可搬型の記憶媒体）により構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供されてもよいし、プログラムが記録されているＲＯＭやハードディスクなどで構成されてもよい。あるいは、ソフトウェアを構成するプログラムが、有線あるいは無線による通信手段を介して配信されてもよい。
【００８０】
たとえば、ファイル変換機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、ファイル変換の効果は達成される。この場合、記憶媒体から読み出されたプログラムコード自体がファイル変換の機能を実現することになる。
【００８１】
また、コンピュータが読み出したプログラムコードを実行することにより、ファイル変換の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステムＯＳなどが実際の処理の一部または全部を行ない、その処理によってファイル変換の機能が実現される場合であってもよい。
【００８２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によってファイル変換の機能が実現される場合であってもよい。
【００８３】
なお、入力ファイル生成装置２００は、データ入出力用ＰＣ８６と兼用されるものであってもよい。また、入力ファイル生成装置２００にて入力ファイルＤＦ２０を再構成しつつ、即時にデータ入出力用ＰＣ８６を介してエミュレータ装置５へ入力ファイルＤＦ２０を送り込むようにしてもよい。
【００８４】
図３は、入力ファイル生成装置２００にて再構成される入力ファイルＤＦ２０のデータプロトコルの一例について説明する図である。
【００８５】
データプロトコルは、式（１）に示すように、設定データＳＤ１と実データ数ＮＤの組合せで構成される。
【数１】
2004171436.tif 000003
【００８６】
入力ファイル生成装置２００か取り込む設定データＳＤ１には２つのデータがあり、それぞれスタート時間Ｔｓｔｒ  を示す情報とその後に続く実データ数ＮＤの情報である。すなわち、本実施形態においては、入力ファイル生成装置２００が取り込む２つの設定データＳＤのうちの一方は、スタート時間Ｔｓｔｒ  そのものを示すデータ（スタート時間ファイルＤＦ１１に基づくタイマカウンタ２２４のクロックカウント数）であるが、他方は、ストップ時間Ｔｅｎｄ  そのものを示すデータではなく、実データの個数ＮＤを示すデータ（実データ数ファイルＤＦ１２に基づくもの）である。
【００８７】
データ用Ｉ／Ｆ部９６における処理では、ストップ時間Ｔｎｅｎｄ  が必要となる。このため、入力ファイル生成プログラム２０２では、データ用Ｉ／Ｆ部９６におけるｎ回目の読み込み時のストップ時間Ｔｎｅｎｄ  を、以下の式（２）に示すように、ｎ回目のスタート時間Ｔｎｓｔｒとその回の実データ数ＮＤｎと次回用の設定データ分（常に２データ）の和を算出することで求める。右辺の第２項と第３項の和が、その回（ｎ回）におけるスタート時間Ｔｎｓｔｒ以後に読み込むべきデータの個数となる。
【数２】
2004171436.tif 000004
【００８８】
このように、本実施形態では、設定データＳＤ１と実データ数ＮＤの組合せで構成される実データの設定タイミングに関する情報を入力ファイル生成装置２００に取り込み、データアクセスのスタート時間Ｔｓｔｒ  とストップ時間Ｔｅｎｄ  としてデータインタフェース部の一例であるデータ用Ｉ／Ｆ部９６に渡す。これらの情報は、データ用Ｉ／Ｆ部９６内で、エミュレータ本体１０への実データの入力タイミングの制御情報として認識される。２回目以降の実データ部分が、個々の検証内容に応じた有効な検証データ部分となる。
【００８９】
図３の例では、スタート時間Ｔｓｔｒ  ＝２００（タイマカウンタ２２４のクロックカウント数）の場合、その後に実データ１８８個と次の設定データ２個の合計１９０個が読み込まれる。続いてスタート時間Ｔｓｔｒ  が１０００になると６４個の実データと次の設定データ２個の合計６６個が読み込まれる。
【００９０】
入力ファイル生成装置２００は、複数の検証内容のそれぞれについて、このような手順を繰り返すことで、取り込んだ設定データＳＤ１と実データ数ＮＤの組合せで構成される実データの設定タイミング情報に基づき、実データと実データの転送スケジューリング（送出タイミング）とを対応付けて記述したデータから成る入力ファイルを生成する。
【００９１】
このようなプロトコルの利用によって、各データインタフェースは予めスケジューリングされた時間の元に、データ用Ｉ／Ｆ部９６にて、データ入力を相互の関係（エミュレータ本体１０へ入力される各実データの時間的な前後関係）を保持しつつ、それぞれのエミュレータ本体１０への入力は非同期に行なうことができる。さらに、各回の実データ数を任意に設定可能であるので、個々の検証内容に応じた読み込むべき実データの個数も、個々のシステムオンチップＳＯＣの検証要求に応じて、可変で処理することができる。
【００９２】
たとえば、外部ＩＦ回路２２０は、入力ファイル生成装置２００にて生成された入力ファイルを展開することで、入力ファイル生成装置２００にてスケジューリングされた順に個々の検証内容に応じた実データを必要分だけ受け取り、そのスケジューリング順にＳＯＣ−ＩＦ回路２４０に送出すればよい。ＳＯＣ−ＩＦ回路２４０は、外部ＩＦ回路２２０から受け取った実データを所定のタイミングで所定の部位（アドレス）に転送ればよい。
【００９３】
図４は、入力ファイル生成装置２００が使用する入力ファイル生成プログラムの実行フロー（入力ファイル生成処理）の概要を示したフローチャートである。
【００９４】
入力ファイル生成処理には、データアクセス時間（スタート時間Ｔｓｔｒ  とストップ時間Ｔｅｎｄ  ）を決定する設定データ処理（Ｓ２００，Ｓ２０４）と、実データを入力ファイルＤＦ１０〜ＤＦ１６から読み込む実データ処理（Ｓ２０２）の２種類がある。
【００９５】
最初の設定データ処理（Ｓ２００）は、次の実データ処理（Ｓ２０２）を開始する時間を設定して処理を終え、次の実データ処理（Ｓ２０２）、次データの設定データ処理（Ｓ２０４）に移行する。入力ファイル生成装置２００によるファイル変換（入力ファイルＤＦ１０〜ＤＦ１６から入力ファイルＤＦ２０への再構成）の処理と、再構成した入力ファイルＤＦ２０のエミュレータ装置５への送り込みとを連動して行なうシステム構成とする場合には、それぞれの処理は、設定データ処理結果のスタート時間Ｔｓｔｒ  になるまでは待機状態になる。
【００９６】
以上のように、入力ファイル生成装置２００（入力ファイル生成プログラム２０２）は、ステップＳ２０２、Ｓ２０４の工程および入力ファイル内の実データ有無の判定（Ｓ２０６）を繰り返すことで、本実施形態のデータ用Ｉ／Ｆ部９６が取り扱うことのできる入力ファイルＤＦ２０を生成する。
【００９７】
図５は、図４で示した設定データ処理（Ｓ２００，Ｓ２０４）の処理手順の詳細例を示したフローチャートである。この処理手順では、２つのデータの処理を行なう。すなわち、入力ファイル生成装置２００は、検証に必要なデータ（ＤＦ１１〜ＤＦ１６のうちの所用のもの）を取り込む。そして、先ず、ＤＦ１１，ＤＦ１２の２つのデータを変数ｃｏｕｎｔ  の値で識別する。たとえば、入力ファイル生成装置２００は、最初のデータをスタート時間Ｔｓｔｒ  として設定する。また、２番目のデータは、この後につづく実際のデータ（実データ）の個数ＮＤであり、入力ファイル生成装置２００は、この個数ＮＤを利用してストップ時間Ｔｅｎｄ  を算出して、ファイル出力を行なう。以下具体的に説明する。
【００９８】
入力ファイル生成装置２００は、最初に、変数ｃｏｕｎｔ  をゼロに初期化（Ｓ２２０）して、１番目のデータ処理を行なうため、スタート時間ファイルＤＦ１１のデータを読み込む（Ｓ２２２）。
【００９９】
そして、先ず、変数ｃｏｕｎｔ  の値（ここでは“０”）で取り込むデータが１番目のデータであるか２番目のデータであるかを判別する（Ｓ２２４）。変数ｃｏｕｎｔ  の値が“１”でない場合（Ｓ２２４−ＮＯ）、スタート時間ファイルＤＦ１１のデータであるものとして、１番目のデータをそのままスタート時間Ｔｓｔｒ  として確定し（Ｓ２２６）、ファイル出力する（Ｓ２２８）。この後、変数ｃｏｕｎｔ  を“１”インクリメントする（Ｓ２３０）。
【０１００】
次に入力ファイル生成装置２００は、変数ｃｏｕｎｔ  の値が“１”であるのか否かを判別する（Ｓ２２４）。この時点では、変数ｃｏｕｎｔ  の値は“１”であるので、次回のデータ取込みの処理時には、全体フローは２番目のデータ処理ができる状態になる（Ｓ２３２−ＹＥＳ）。すなわち、データ用Ｉ／Ｆ部９６は、再びファイル入力（Ｓ２２２）に戻って、２番目のデータ処理を行なうため、実データ数ファイルＤＦ１２のデータを読み込む（Ｓ２２２）。
【０１０１】
そして、変数ｃｏｕｎｔ  の値（ここでは“１”）で取り込んだデータが１番目のデータであるか２番目のデータであるかを判別する（Ｓ２２４）。ここでは、変数ｃｏｕｎｔ  の値が“１”であるので（Ｓ２２４−ＹＥＳ）、２番目のデータであるものとして、２番目のデータ処理に進む。
【０１０２】
ここで、２番目のデータは実データの個数ＮＤを示した値になっている。そこで、外部ＩＦ回路２２０は、上記式（２）に示したように、ストップ時間Ｔｅｎｄ  を算出して（Ｓ２３４）、この算出したストップ時間Ｔｅｎｄ  をファイル出力する（Ｓ２２８）。この後、変数ｃｏｕｎｔ  を“１”インクリメントする（Ｓ２３０）。
【０１０３】
入力ファイル生成装置２００は、変数ｃｏｕｎｔ  の値が“１”であるのか否かを判別する（Ｓ２２４）。この時点では、変数ｃｏｕｎｔ  の値は“２”であるので、この設定データ処理を完了する（Ｓ２２４−ＮＯ）。
【０１０４】
図６は、図４で示した実データ処理（Ｓ２０２）の処理手順の詳細例を示したフローチャートである。
【０１０５】
入力ファイル生成装置２００は、最初に、図５の設定データ処理で扱う２番目のデータを実データの個数として定数ｎに設定するとともに、ファイル入力したデータ数として変数ｃｏｕｎｔ  をゼロに初期化する（Ｓ２４０）。その後、入力ファイル生成装置２００は、実データファイルＤＦ１３，ＤＦ１４，ＤＦ１５の何れかからのファイル入力（Ｓ２４２）、データ処理と変数ｃｏｕｎｔ  のインクリメント（Ｓ２４４）、ファイル出力（Ｓ２４６）の順に処理を行なう。データ用Ｉ／Ｆ部９６は、変数ｃｏｕｎｔ  の値が定数ｎになるまでステップＳ２４２〜Ｓ２４６の処理を繰り返す（Ｓ２４８−ＮＯ）。
【０１０６】
ここで、ステップＳ２４４のデータ処理は、複数ファイルのデータを規定ビット内に多重化するような処理である（後述する図８を参照）。その必要がない場合は、入力ファイル生成装置２００は取り込んだ実データをそのままファイル出力（Ｓ２４６）する。
【０１０７】
図７は、入力ファイル生成装置２００における入力ファイル生成の仕組みの具体例（以下第１例という）を説明する図である。この第１例は、実データとその入力制御情報を１つのファイルにするデータ統合型の一例である。図中、“０ｘ”の記号は、そのデータが１６進表記（＠＠ｈ；＠＠は１６進の値）のものであることを示している。“０ｘ”の記号が付されていないデータは、１０進表記のものであることを示している。
【０１０８】
スタート時間Ｔｓｔｒ  を情報とするスタート時間ファイルＤＦ１１および実データ数を情報とする実データ数ファイルＤＦ１２の２つの設定データファイルと、１６ビットの実データを情報とする実データファイルＤＦ１３とをハードウェアとのインタフェースデータとする。
【０１０９】
これら３つのデータファイルＤＦ１１，ＤＦ１２，ＤＦ１３は入力ファイル生成装置２００に取り込まれ、入力ファイル生成装置２００（入力ファイル生成プログラム２０２）で処理され、データインタフェース装置の一例であるデータ用Ｉ／Ｆ部９６への入力ファイルＤＦ２０として、図３のデータプロトコルの仕様に基づいて生成される。
【０１１０】
ここで、スタート時間Ｔｓｔｒ  を規定するスタート時間ファイルＤＦ１１と実データ数を規定するＮＤ実データ数ファイルＤＦ１２を見ると、それぞれ最初のデータは、スタート時間Ｔｓｔｒ  が“１０”でデータ数は２個であることが分かる。これに対応する入力ファイル生成装置２００（入力ファイル生成プログラム２０２）の処理結果である入力ファイルＤＦ２０（３２ビットデータ）を見ると、スタート時間Ｔｓｔｒ  ＝１０（０ａｈ）、ストップ時間Ｔｅｎｄ  ＝１４（０ｅｈ）（＝スタート時間Ｔｓｔｒ  （１０）＋データ数（２）＋次の設定データ（２））であることが分かる。
【０１１１】
同様に、２つ目のデータは、スタート時間Ｔｓｔｒ  が“３０”でデータ数は１０個であることが分かる。これに対応する入力ファイル生成装置２００（入力ファイル生成プログラム２０２）の処理結果である入力ファイルＤＦ２０（３２ビットデータ）を見ると、スタート時間Ｔｓｔｒ  ＝３０（１ｅｈ）、ストップ時間Ｔｅｎｄ  ＝４２（２ａｈ）（＝スタート時間Ｔｓｔｒ  （３０）＋データ数（１０）＋次の設定データ（２））であることが分かる。
【０１１２】
図８は、入力ファイル生成装置２００における入力ファイル生成の仕組みの他の具体例（以下第２例という）を説明する図である。この第２例は、複数の種類の実データを多重化したデータとその入力制御情報を１つのファイルにするデータ多重統合型の一例である。データ統合の方法は図７のそれと同じであるため、ここではデータの多重化についてのみ説明する。
【０１１３】
多重化されるデータはアドレスデータファイルＤＦ１６のアドレスデータと複合データファイルＤＦ１５のイネーブル付実データが相当する。これらは同期したデータであるためそのまま多重化できる。
【０１１４】
入力ファイルＤＦ２０のサイズが３２ビットまで拡張できるので、ここでは上位１２ビットをアドレスデータ領域に、下位１６ビットを実データ領域に、その間の４ビットをイネーブルデータ領域に割り当て多重化した。
【０１１５】
図示した入力ファイルＤＦ２０の内容は、図７と同様のデータ例を取り扱いつつ、２つのアドレスデータと複合データ（イネーブル付き実データ）の多重化データの例を示している。たとえば、アドレスデータが“０ｘ０１０”、イネーブルデータが“０ｘ１”、実データが“０ｘ１１ｆｆ”の場合、多重化データは、“０ｘ０１０１１１ｆｆ”となる。
【０１１６】
なお、実データと多重化できるものはアドレスデータやイネーブルデータなどで、それぞれ同じタイミングで入力制御できるものに限定される。他にもデータの多重化や統合化は様々な組合せが可能であり、これらは入力ファイル生成装置２００（入力ファイル生成プログラム２０２）で全て統一されたプロトコルを持つ入力ファイルＤＦ２０として生成されるため、ハードウェア上では同じ処理で扱うことが可能になる。
【０１１７】
図９は、データインタフェース部の一例であるデータ用Ｉ／Ｆ部９６の一構成例を示すブロック図である。
【０１１８】
入力ファイル生成装置２００で加工された共通のデータプロトコルを持つ入力ファイルＤＦ２０は、データ用Ｉ／Ｆ部９６を経由してシステムオンチップＳＯＣ（エミュレータ本体１０＋外部ボード）にデータインタフェースされる。先にも述べたように、データ用Ｉ／Ｆ部９６は、外部ＩＦ回路２２０とＳＯＣ−ＩＦ回路２４０に分離されている。
【０１１９】
外部ＩＦ回路２２０は、再利用可能なハードウェアコアとなっており、ＰＣＩやＩＳＡなどの標準バスインタフェースに対応した制御を行なう。その内部は、図示するように、入出力制御ブロック２２２、タイマカウンタ２２４、データ処理ブロック２２６、制御信号生成ブロック２２８、タイミング比較ブロック２３０により構成されている。
【０１２０】
システムの起動によりタイマカウンタ２２４が動作し始め、データ入出力用ＰＣ８６よりスタート時間Ｔｓｔｒ  とストップ時間Ｔｅｎｄ  の情報をもつ入力ファイルＤＦ２０が入出力制御ブロック２２２に入力される。
【０１２１】
タイミング比較ブロック２３０は、入力ファイルＤＦ２０からスタート時間Ｔｓｔｒ  とストップ時間Ｔｅｎｄ  の情報を取り込み、データインタフェース装置（データ用Ｉ／Ｆ部９６）全体の動作を決定する。スタート時間Ｔｓｔｒ  とストップ時間Ｔｅｎｄ  の一致が取れると、タイミング比較ブロック２３０は、データ処理ブロック２２６と制御信号生成ブロック２２８への起動をかけ、データ入出力用ＰＣ８６やＳＯＣ−ＩＦ回路２４０への実データの送受信や制御を行なうことで、検証に必要となる個々の検証データ（実データ）をエミュレータ装置５に送り込む。
【０１２２】
このデータ用Ｉ／Ｆ部９６の構成によれば、個々のシステムオンチップＳＯＣに対応した専用インタフェースとデータ入出力用ＰＣ８６との間の汎用インタフェースとに切り分けることが可能となる。
【０１２３】
すなわち、先ず、ＳＯＣ−ＩＦ回路２４０は、検証対象となるターゲットであるシステムオンチップＳＯＣに対応した評価回路（ＦＰＧＡ１２やメモリ１６あるいはＣＰＵボード２０などの外部ボード１１で構成された評価対象回路）とのインタフェース動作のみを意識したものであり、個々のシステムオンチップＳＯＣに対応した専用インタフェースごとにハードウェア開発が必要である。
【０１２４】
しかし、外部ＩＦ回路２２０とＳＯＣ−ＩＦ回路２４０との間のインタフェースは、ハードウェアおよびソフトウェアの両面でシステムオンチップＳＯＣの種類に拘わらず共通のものを使用できる。さらに、データ入出力用ＰＣ８６との間のインタフェースは、外部ＩＦ回路２２０に対応した信号を接続するだけでよく、ハードウェアおよびソフトウェアの両面で、独自に開発する必要はなくなる。
【０１２５】
このように、上記構成によれば、データインタフェース用の制御回路を、個々のシステムオンチップＳＯＣに対応した専用インタフェースとデータ入出力用ＰＣ８６との間の汎用インタフェースとに分離したことによって、データインタフェース装置の一例であるデータ用Ｉ／Ｆ部９６全体では、個々のシステムオンチップＳＯＣに応じたデータインタフェースの開発が容易化され、データインタフェースの制御機構を簡素化することが可能になった。
【０１２６】
図１０は、データインタフェース部の一例であるデータ用Ｉ／Ｆ部９６の処理手順の概要を示したフローチャートである。
【０１２７】
データ用Ｉ／Ｆ部９６の外部ＩＦ回路２２０は、入力ファイル生成装置２００にて入力ファイル生成プログラム２０２で作成（再構成）された入力ファイルＤＦ２０を、データ入出力用ＰＣ８６を経由して取り込み、パワーオンリセットなどのようなシステム起動前の初期化信号の動作開始後に読み込みを開始する。この読込みは、前述のように、システムオンチップＳＯＣに非依存（独立した）の共通のデータプロトコルによるものである。
【０１２８】
外部ＩＦ回路２２０は、最初に２つのデータ（設定データＳＤ）を読み込み、タイマカウンタ２２４のカウント値によって、以降のデータアクセスのスタート時間Ｔｓｔｒ  とストップ時間Ｔｅｎｄ  を認識・制御する仕組みになっている（Ｓ３００）。
【０１２９】
次に、外部ＩＦ回路２２０は、内蔵するタイマカウンタ２２４のカウント値ＣＮＴとスタート時間Ｔｓｔｒ  およびストップ時間Ｔｅｎｄ  とを比較しながら、処理を管理する。たとえば、先ずスタート時間Ｔｓｔｒ  になるまで状態を保持する（Ｓ３０２）。そして、スタート時間Ｔｓｔｒ  になると再びデータ入出力用ＰＣ８６よりデータの読み込みを始め、ストップ時間Ｔｅｎｄ  になるまで連続して行なう（Ｓ３０４）。このとき、読み込んだデータの最後の２データは次のスタート時間Ｔｓｔｒ  とストップ時間Ｔｅｎｄ  を設定する情報（設定データＳＤ）を持っている。
【０１３０】
外部ＩＦ回路２２０は、データ読込み完了と同時に次のスタート時間Ｔｓｔｒ  と次のストップ時間Ｔｅｎｄ  を設定し、再びタイマカウンタ２２４のカウント値ＣＮＴと比較し、次のスタート時間Ｔｓｔｒ  まで状態を保持する。
【０１３１】
この動作は、入力ファイルＤＦ２０の実データもしくは複合データ（イネーブル付き実データ）がなくなるまで繰り返し行なわれる（Ｓ３０６−ＹＥＳ）。
【０１３２】
データ用Ｉ／Ｆ部９６は、外部ＩＦ回路２２０にて前述のようにして取り込んだ各回のデータの纏まり（データパック）を、所定のタイミングで、ＳＯＣ−ＩＦ回路２４０を経由してエミュレータ装置５に送り込む。このデータパックのエミュレータ装置５への送込み処理は、入力ファイル生成装置２００からの入力ファイルＤＦ２０の取込みと非同期で処理してかまわない。
【０１３３】
図１１は、データ用Ｉ／Ｆ部９６におけるデータアクセス方法の具体例を説明する図である。ここでは、一例として図３に示したデータ系列における３回目までのデータアクセスを示している。
【０１３４】
１回目のデータアクセスは、リセット解除後に発生し、２個の設定データのみを取り込む。データ用Ｉ／Ｆ部９６が、このデータから、２回目のスタート時間Ｔｓｔｒ  とストップ時間Ｔｅｎｄ  （式（２）に基づいて算出されたもの）を認識し、タイマカウンタ２２４のカウント値ＣＮＴが２回目のスタート時間Ｔｓｔｒ  になるまで待機する。
【０１３５】
スタート時間Ｔｓｔｒ  になると、データ用Ｉ／Ｆ部９６は、２回目のデータアクセスを開始し、実データもしくは複合データの読み込みを始める。そして、実データもしくは複合データを読み込んだ後に、さらに、次の設定データ２個を読み込み、次（３回目）のデータのスタート時間Ｔｓｔｒ  とストップ時間Ｔｅｎｄ  を設定してアクセスを終了する。
【０１３６】
式（２）に示したように、ストップ時間Ｔｅｎｄ  の算出は、スタート時間Ｔｓｔｒ  に実データ数ＮＤと次の設定データ数（２個）を加えたもので、データプロトコル単位（タイマカウンタ２２４のクロックカウント数に相当）で規定される。
【０１３７】
このように、本実施形態のデータインタフェースでは、検証用のテストデータ自体はそれぞれシステムオンチップ固有のものであるが、入力ファイル生成装置２００にて共通のデータプロトコルを持つ入力ファイルＤＦ２０に再構成してからシステムオンチップＳＯＣに読み込ませるようにしているので、種類の異なるファイルアクセスの数が増えても、データ入出力用ＰＣ８６とエミュレータ装置５との間のデータインタフェースを共通にすることができる。
【０１３８】
すなわち、予め入力ファイル生成装置２００で個々のシステムオンチップＳＯＣ用のデータを用いて共通のデータプロトコルを持つ入力ファイルＤＦ２０に再構成するとともに、新規にＳＯＣ−ＩＦ回路２４０を開発することで個々のシステムオンチップＳＯＣへの対応を採るようにすれば、データ入出力用ＰＣ８６とエミュレータ装置５との間のデータインタフェースの汎用化を実現することができる。
【０１３９】
たとえば、検証データのエミュレータ本体１０への入力に際して、そのデータインタフェースを個々のシステムオンチップＳＯＣに応じて新規開発する必要はなく、外部ＩＦ回路２２０を介した共通のインタフェースを利用してエミュレータ本体１０に送り込むことが可能となる。加えて、検証結果データを外部に取り出す際にも、外部ＩＦ回路２２０を介した共通のインタフェースを利用して、データ保存機能を備えるデータ入出力用ＰＣ８６に送出することも可能となる。
【０１４０】
また、ＰＣＩバスやＩＳＡバスなどのパラレルバスインタフェースあるいはＵＳＢやＩＥＥＥ１３９４などのシリアルインタフェースなど標準インタフェースを利用すれば、汎用のパソコンなどをデータ入出力装置として利用することができ、データインタフェースの共通化や汎用化をさらに進めることが可能となる。
【０１４１】
さらに、あるシステムオンチップＳＯＣ用に構築したデータインタフェース環境を、他のシステムオンチップＳＯＣ用のデータインタフェースに再利用することができる。たとえば、入力ファイルＤＦ２０の自動生成プログラムや外部ＩＦ回路２２０の再利用が可能になる。これはハードウェア、ソフトウェア開発の両面で効率改善に寄与し、開発期間の短縮に効果的である。
【０１４２】
たとえば、ハードウェア開発の効果について詳述すれば以下の通りである。先ず、インタフェースの構成を外部と内部に分離したことでデータインタフェース開発の容易化を実現することができる。
【０１４３】
パソコンなどの電子計算機をはじめとする汎用装置を用いた場合、パソコンなどと外部装置（本例ではエミュレータ装置５に相当）との間のインタフェース（外部インタフェース）は、本来であれば標準インタフェースを使用したいところである。しかしながら、従来は、ターゲット（たとえばシステムオンチップＳＯＣやそれに相当するエミュレータ装置５）の個別仕様を意識して、外部インタフェースを個々に構築しなければならず、データ入出力用ＰＣ８６とエミュレータ装置５と間の外部インタフェースが、ターゲットそれぞれに応じた専用のものとなっていた。
【０１４４】
これに対して、上記実施形態の構成によれば、ターゲットの個別仕様を意識することなく、外部インタフェース専用の再利用コア（外部ＩＦ回路２２０）との接続により、その利用が可能になるため制御方法の簡素化ができた。
【０１４５】
実際のシステムオンチップＳＯＣ開発では、外部インタフェース数が多くなる傾向があるためシステムが大規模化するにつれ、制御方法は複雑かつ扱いが困難になってしまったが、上記実施形態のようなインタフェース機構とすることで、インタフェースの再利用や、開発期間の短縮化あるいは効率化を実現することができるようになった。
【０１４６】
また、ソフトウェア開発の効果ついて詳述すれば以下の通りである。先ず、入力ファイルの自動生成プログラムは拡張性を意識した構成になっているため、ハードウェアで実現できないインタフェース方法についても、これを吸収しプロトコルを統一することで、処理のトレードオフが可能である。
【０１４７】
特に、複数のデータを用いる場合などは、個別にインタフェースをせずに多重化送出などの機能を利用して開発の最適化を図ることが可能となる（図８に示した第２例を参照）。また、開発するインタフェース数を削減するだけでなく、ソフトウェア実現によるハードウェア削減、制御方法の最適化が可能になった。
【０１４８】
＜検証システム本体の外部に設けられた接続ボードとのインタフェースに着目した実施形態＞
図１２は、図１に示した検証システム１における、エミュレータ本体１０とＣＰＵボード２０や外部メモリボード３０などの外部ボード１１とのインタフェースに着目した一実施形態のブロック図である。
【０１４９】
エミュレータ本体１０を構成するＦＰＧＡ１２に、システムオンチップＳＯＣなどの回路情報１２ａおよび外部ボード１１との間のインタフェース機能をなすとともに外部ボードを制御する外部ボード接続用Ｉ／Ｆ部９２の回路情報を書き込む。なお、外部ボード接続用Ｉ／Ｆ部９２は、図１に示したように、ＦＰＧＡ１２とは別の回路として設けてもよい。
【０１５０】
外部ボード接続用Ｉ／Ｆ部９２は、回路情報１２ａと外部ボード１１との間の信号インタフェース機能をなす接続回路９２ａを含んでいる。接続回路９２ａは、回路情報１２ａから出力される所定のデータを取り込み、必要に応じて所望のデータ処理をした後そのデータを外部ボード１１へ伝送する。また、これとは逆に、外部ボード１１から出力される所定のデータを取り込み、必要に応じて所望のデータ処理をした後そのデータを回路情報１２ａへ伝送する。
【０１５１】
図示するように、外部ボード１１は、ＦＰＧＡ１２に組み込まれた外部ボード接続用Ｉ／Ｆ部９２を介して回路情報１２ａと接続する。回路情報１２ａから外部ボード１１（図では４種類）の動作に対する制御信号（図では外部ボード１１に対応する１〜４の４つ）が外部ボード接続用Ｉ／Ｆ部９２に入力されている。
【０１５２】
エミュレータ本体１０の近傍には、外部ボード接続用Ｉ／Ｆ部９２を制御するための機能部分である選択条件情報送出部の一例としての外部ボード動作制御装置３００が配されている。外部ボード動作制御装置３００と外部ボード接続用Ｉ／Ｆ部９２との間は、ＩＳＡバスやＰＣＩバスなどのパラレルバスインタフェース、あるいはＵＳＢインタフェースやＩＥＥＥ１３９４インタフェースなどのシリアルインタフェースなど、ある一定の規格を満足する標準インタフェースにて接続する。なお、外部ボード動作制御装置３００は、コントローラＰＣ８０やその他のパソコンと兼用されるものであってもよい。
【０１５３】
外部ボード動作制御装置３００としては、たとえば、ボード制御機能をなす専用のハードウェア回路で構成してもよいし、パソコンやワークステーションなどの汎用のコンピュータを利用して構成してもよい。つまり、ボード制御の一連の処理をハードウェアにより実行させることもできるが、ソフトウェアを利用して実行させることもできる。
【０１５４】
後述するボード制御処理をソフトウェアにより実行させる場合には、全体の動作を制御するソフトウェアであるＯＳ（オペレーティングシステム）と、ボード制御機能をなすためのソフトウェアであるアプリケーションプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで各種の機能を実行することが可能なたとえば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる（組み込まれる）。これにより、外部ボード動作制御装置を、プログラムに基づいてソフトウェア的に実現するようになる。
【０１５５】
記録媒体は、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ  ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）を含む）、光磁気ディスク（ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ  ）を含む）、もしくは半導体メモリなどよりなるパッケージメディア（可搬型の記憶媒体）により構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供されてもよいし、プログラムが記録されているＲＯＭやハードディスクなどで構成されてもよい。あるいは、ソフトウェアを構成するプログラムが、有線あるいは無線による通信手段を介して配信されてもよい。
【０１５６】
たとえば、ボード制御機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、ボード制御機能の効果は達成される。この場合、記憶媒体から読み出されたプログラムコード自体がボード制御の機能を実現することになる。
【０１５７】
また、コンピュータが読み出したプログラムコードを実行することにより、ボード制御の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステムＯＳなどが実際の処理の一部または全部を行ない、その処理によってボード制御の機能が実現される場合であってもよい。
【０１５８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によってボード制御の機能が実現される場合であってもよい。
【０１５９】
本実施形態の構成（以下第１の構成例という）においては、個々のボード用の制御信号を選択する条件を示す選択条件情報の一例であって、外部ボード１１の動作を決定する内容である動作決定情報Ｊ１０を記憶部３００ａにデータベース化し一元管理を行なう。
【０１６０】
そして、この動作決定情報Ｊ１０を、外部ボード動作制御装置３００にて解釈して外部ボード接続用Ｉ／Ｆ部９２の選択動作を切り替える選択切替信号ＳＥＬ１０に変換して、この選択切替信号ＳＥＬ１０をＰＣＩバスやＩＳＡバスなどのパラレルバスインタフェースあるいはＵＳＢやＩＥＥＥ１３９４などのシリアルインタフェースなど標準インタフェースを介して、外部ボード接続用Ｉ／Ｆ部９２に入力する。こうすることで、汎用のパソコンなどを動作決定情報Ｊ１０の入力装置として利用することができ、インタフェースの共通化や汎用化を進めることが可能となる。
【０１６１】
なお、動作決定情報Ｊ１０は、外部ボード接続用Ｉ／Ｆ部９２における個々のボード用の制御信号を選択するための回路構成と個々の接続ボードとの対応に応じたものが設定されるのはいうまでもない。
【０１６２】
外部ボード接続用Ｉ／Ｆ部９２は、選択切替信号ＳＥＬ１０（つまり動作決定情報Ｊ１０）に基づき、回路情報１２ａから入力された制御信号１〜４の中から、個々の外部ボード１１に必要な制御信号を選択して対応する外部ボード１１に入力する。外部ボード１１は、入力された制御信号に基づいて、自身の動作モードを設定する。
【０１６３】
図１３は、図１２に示した外部ボード接続用Ｉ／Ｆ部９２における、外部ボード１１の動作を制御する機能（接続回路９２ａを除く機能部分）に着目したブロック図である。以下、外部ボード接続用Ｉ／Ｆ部９２における、外部ボード１１の動作を制御する機能回路を外部ボード制御回路という。また、図１３に示した構成を第１の構成という。
【０１６４】
前述のように、第１の構成例では、外部ボード接続用Ｉ／Ｆ部９２には、４種類の制御信号１〜４が回路情報１２ａより入力される。ここで、制御信号が４種類（２の２乗）あり、４種類の個々の外部ボード１１の動作を決定する内容は、２ビットで表現することができる。たとえば、制御信号１を“００”と表現すると、制御信号２は“０１”、制御信号３は“１０”、制御信号４は“１１”と表現することで、各々を識別することが可能である。
【０１６５】
このため、第１の構成例による外部ボード制御回路３０２は、この４種類の制御信号１〜４の何れか１つを選択して対応する外部ボード１１に対して出力する選択制御部の一例である選択回路（識別回路）３１０と、この選択回路３１０の選択動作を制御するための機能部分を構成する２つのフリップフロップ３１２，３１４を有している。選択回路３１０としては、４入力−１出力のデータセレクタを用いるとよい。
【０１６６】
外部ボード制御回路３０２は、個々の外部ボード１１に対応する分だけの数（本例では４つ）が設けられ、回路情報１２ａからの制御信号１〜４は各選択回路３１０に入力される。そして、個々の選択回路３１０にて選択された対応する制御信号が個々に対応する外部ボード１１に入力されるようにする。たとえば４種類の外部ボード１１のうちの外部ボードＡには制御信号３が、外部ボードＢには制御信号１が、外部ボードＣには制御信号２が、外部ボードＤには制御信号４が、それぞれ独立に入力される。
【０１６７】
そして、図示するように、外部ボードの動作を決定する２ビット信号を用いることとし、第１のフリップフロップ３１２に選択切替信号ＳＥＬ１０の一部をなす０ビット目の信号を入力し、第２のフリップフロップ３１４に選択切替信号ＳＥＬ１０の一部をなす１ビット目の信号を入力する構成とする。また、各フリップフロップ３１２，３１４から出力される各ビット信号（０），（１）を、選択回路３１０の切替入力端子ＳＥＬ０，ＳＥＬ１に入力する構成とする。
【０１６８】
各フリップフロップ３１２，３１４には、選択切替信号ＳＥＬ１０の一部をなすクロック信号を入力し、所定のタイミングで、第１のフリップフロップ３１２にて０ビット目の信号を記憶させ、第２のフリップフロップ３１４にて１ビット目の信号を記憶させることで、外部ボードの動作を決定する２ビット信号を確定させる。
【０１６９】
選択回路３１０は、フリップフロップ３１２，３１４を介して入力された外部ボード１１の動作を決定する２ビット信号が示す選択条件に基づき、回路情報１２ａから入力された４種類の制御信号１〜４の何れか１つを選択して出力する。たとえば２ビット信号“１０”が選択回路３１０の切替入力端子ＳＥＬ０，ＳＥＬ１に入力された場合は、制御信号３が選択されて出力される。
【０１７０】
図１４は、試作ボードやロジックエミュレータを用いたシステム検証環境に、図１３で示した外部ボード制御回路３０２を適用した具体例（以下第２の構成例という）を示すブロック図である。この第２の構成例では、エミュレータ本体１０上にある、たとえばＦＰＧＡ１２などの書き換え可能なデバイスに、システムオンチップＳＯＣなどのチップの回路情報１２ａと外部ボード接続用Ｉ／Ｆ部９２を書き込み、複数の外部ボード１１を用いてエミュレータ装置５を構築している。
【０１７１】
外部ボード接続用Ｉ／Ｆ部９２は、個々の外部ボード１１に対応するように、個別に外部ボード制御回路３０２や接続回路９２ａが設けられる。
【０１７２】
外部ボード１１としては、図示しないメモリ３２を搭載した外部メモリボード３０（ボードＡ〜Ｃ）や図示しないＣＰＵ（プロセッサチップ）２２を搭載したＣＰＵボード２０（ボードＤ）の他に、データインタフェースを行なうためのデータ転送用ボード４０（ボードＥ）が設けられている。データ転送用ボード４０は、たとえば、データ用Ｉ／Ｆ部９６や、ロジアナ用Ｉ／Ｆ部９８をなすボードとして利用される。
【０１７３】
第２例の各外部ボード制御回路３０２には、それぞれと接続されている外部ボード１１の動作を制御するための５種類の制御信号１〜５が回路情報１２ａより入力される。
【０１７４】
第２の構成例においても、第１の構成例と同様に、個々の外部ボード１１の動作を決定する内容（外部ボード１１の設定情報）である動作決定情報Ｊ１０をデータベース化し一元管理を行なう。そして、この動作決定情報Ｊ１０を、外部ボード動作制御装置３００にて解釈して外部ボード接続用Ｉ／Ｆ部９２内の個々の外部ボード制御回路３０２の選択動作を切り替える選択切替信号ＳＥＬ１０に変換して、この選択切替信号ＳＥＬ１０をＰＣＩバスインタフェースやＵＳＢインタフェースなどの標準インタフェースを介して、外部ボード制御回路３０２に入力する。
【０１７５】
図１５は、図１４に示した第２の構成例の外部ボード接続用Ｉ／Ｆ部９２における、外部ボード１１の動作を制御する機能に着目した外部ボード制御回路３０２部分のブロック図である。
【０１７６】
前述のように、第２の構成例では、５枚の外部ボードとのインタフェースをなすように構成されており、個々の外部ボード制御回路３０２には、各外部ボード１１の動作を制御するための５種類の制御信号１〜５が回路情報１２ａより入力されている。ここで、制御信号が５種類（２の２乗を超えかつ２の３乗以下）あり、５種類の個々の外部ボード１１の動作を決定する内容は、３ビットで表現することができる。たとえば、制御信号１を“０００”、制御信号２を“００１”とし、制御信号５を“１００”と表現可能である。
【０１７７】
このため、第２の構成例による外部ボード制御回路３０２は、この５種類の制御信号１〜５の何れか１つを選択して対応する外部ボード１１に対して出力する選択回路３２０と、この選択回路３２０の選択動作を制御するための機能部分を構成する３つのフリップフロップ３２２，３２４，３２６を有している。なお、選択回路３２０としては、８入力−１出力のデータセレクタを用いて、最大で８入力まで対応可能なものを使用しつつ、不要な３入力分を未使用としておけばよい。
【０１７８】
そして、図示するように、外部ボードの動作を決定する３ビット信号を用いることとし、第１のフリップフロップ３２２に選択切替信号ＳＥＬ１０の一部をなす０ビット目の信号を入力し、第２のフリップフロップ３２４に選択切替信号ＳＥＬ１０の一部をなす１ビット目の信号を入力し、第３のフリップフロップ３２６に選択切替信号ＳＥＬ１０の一部をなす２ビット目の信号を入力する構成とする。また、各フリップフロップ３２２，３２４，３２６から出力される各ビット信号（０），（１），（２）を、選択回路３１０の切替入力端子ＳＥＬ０，ＳＥＬ１，ＳＥＬ２に入力する構成とする。つまり、第１の構成例に対して、１ビット分が追加された構成となっている。
【０１７９】
各フリップフロップ３２２，３２４，３２６には、選択切替信号ＳＥＬ１０の一部をなすクロック信号を入力し、所定のタイミングで、第１のフリップフロップ３２２にて０ビット目の信号を記憶させ、第２のフリップフロップ３２４にて１ビット目の信号を記憶させ、第３のフリップフロップ３２６にて２ビット目の信号を記憶させることで、外部ボードの動作を決定する３ビット信号を確定させる。
【０１８０】
選択回路３２０は、フリップフロップ３２２，３２４，３２６を介して入力された外部ボード１１の動作を決定する３ビット信号が示す選択条件に基づき、回路情報１２ａから入力された５種類の制御信号１〜５の何れか１つを選択して出力する。たとえば３ビット信号“０１１”が選択回路３１０の切替入力端子ＳＥＬ０，ＳＥＬ１，ＳＥＬ２に入力された場合は、制御信号４が選択されて出力される。
【０１８１】
図１６は、図１に示した検証システム１における、エミュレータ本体１０とＣＰＵボード２０や外部メモリボード３０などの外部ボード１１とのインタフェースに着目した他の実施形態のブロック図である。また、図１７は、図１６に示した構成における外部ボード制御回路３０２の構成を示すブロック図である。以下、これらの構成を第３の構成例という。
【０１８２】
この第３の構成例は、エミュレータ装置５のエミュレータ本体１０上にあるＦＰＧＡ１２は、クロック専用線として６クロックまで対応することが可能であるとする。したがって、外部ボード制御回路３０２には、クロック１からクロック６までのクロック信号が入力される。
【０１８３】
第３例の外部ボード制御回路３０２は、第１例や第２例の制御信号１〜５に代えて、それぞれと接続されている外部ボード１１の動作を制御するための６種類のクロック信号１〜６が回路情報１２ａより入力される。そして、個々の外部ボード１１（ボードＡ〜Ｆの６種類）に応じて何れか１つを選択して対応する外部ボード１１に供給する構成としている。たとえば、外部ボードＡは、クロック４を使用することとする。
【０１８４】
第３の構成例においても、第１例や第２の構成例と同様に、個々の外部ボード１１が使用するクロック情報（外部ボード１１の設定情報の一例）であるクロック設定情報Ｊ２０をデータベース化し一元管理を行なう。そして、このクロック設定情報Ｊ２０を、外部ボード動作制御装置３００にて解釈して外部ボード接続用Ｉ／Ｆ部９２内の個々の外部ボード制御回路３０２の選択動作を切り替える選択切替信号ＳＥＬ２０に変換し、この選択切替信号ＳＥＬ１０をＰＣＩバスインタフェースやＵＳＢインタフェースなどの標準インタフェースを介して、外部ボード制御回路３０２に入力する。こうすることで、汎用のパソコンなどをクロック設定情報Ｊ２０の入力装置として利用することができ、インタフェースの共通化や汎用化を進めることが可能となる。
【０１８５】
クロックが６種類（２の２乗を超えかつ２の３乗以下）あり、６種類の個々の外部ボード１１用のクロックを設定する内容は、３ビットで表現することができる。たとえば、クロック１を“０００”、クロック２を“００１”とし、クロック６を“１０１”と表現可能である。
【０１８６】
このため、第３の構成例による外部ボード制御回路３０２は、この６種類のクロック１〜６の何れか１つを選択して対応する外部ボード１１に対して出力する構成であればよく、基本的には、図１７に示すように、最大で８入力まで対応可能な第２の構成例のものと同じでよい。なお、不要な２入力分を未使用としておけばよい。図１７に示す外部ボード制御回路３０２の基本的な動作は、第２の構成例と同じであるため、詳細な説明は割愛する。
【０１８７】
以上説明したように、第１〜第３の構成例では、外部ボード接続用Ｉ／Ｆ部９２やデータ用Ｉ／Ｆ部９６におけるデータインタフェースの仕組みを説明した。ここで、上記構成によれば、個々のボード用の動作決定情報Ｊ１０やクロック設定情報Ｊ２０を、個々のボード上ではなく、エミュレータ本体１０側のＦＰＧＡ１２に組み込んだ選択回路やフリップフロップなどにて、動作決定情報Ｊ１０やクロック設定情報Ｊ２０に基づいて選択する構成としたので、検証内容に応じた切替えや確認が容易かつ確実となる。
【０１８８】
たとえば、個々のボードの設定変更作業に際しては、ボードごとに設けられたハードスイッチに対して手動で行なうという必要がなくなったので、切替作業が簡易となる。たとえば、管理している設定情報に従って設定情報を修正することで対応でき、作業時間の削減が可能となる。
【０１８９】
また、記憶部にて接続ボードの設定情報を一元管理することとすれば、現在の設定情報を容易に把握することができるため、早期に設定ミスを発見でき、検証期間の短縮が可能となる。
【０１９０】
図１８は、図１に示した検証システム１における、エミュレータ本体１０とロジアナ用Ｉ／Ｆ部９８とのインタフェースに着目したブロック図である。以下、この構成を第４の構成例という。
【０１９１】
この第４の構成例は、エミュレータ装置５と、エミュレータ装置５の外部に配されたロジアナ８８や図示しないオシロスコープなどの計測装置との間の計測信号のインタフェースをとる場合の事例である。インタフェース制御の基本的な考え方は、上述した第１例〜第３の構成例と同じである。ただし、ロジアナ８８などの計測装置におけるインタフェースに特有の事項として、ロジアナ８８などが１度の測定にて対応可能な観測チャネル数を１つの纏まり（グループ）として回路情報１２ａとの間のインタフェースをとる点にある。以下、ロジアナ８８を一例としたロジアナ用Ｉ／Ｆ部９８部周辺の構成例について説明する。
【０１９２】
エミュレータ本体１０を構成するＦＰＧＡ１２に、システムオンチップＳＯＣなどの回路情報１２ａおよびロジアナ８８との間のインタフェース機能をなすロジアナ用Ｉ／Ｆ部９８の回路情報を書き込む。なお、ロジアナ８８とロジアナ用Ｉ／Ｆ部９８との間には、ロジアナ用の接続ボード４２を配する。
【０１９３】
ロジアナ用Ｉ／Ｆ部９８は、回路情報１２ａと接続ボード４２との間の信号インタフェース機能をなす接続回路９８ａを含んでいる。接続回路９８ａは、回路情報１２ａから出力される所定のデータ（観測信号以外のデータ）を取り込み、必要に応じて所望のデータ処理をした後そのデータを接続ボード４２へ伝送する。また、これとは逆に、接続ボード４２から出力される所定のデータを取り込み、必要に応じて所望のデータ処理をした後そのデータを回路情報１２ａへ伝送する。なお、所定のデータについては図示を省略している。
【０１９４】
この第４の構成例では、エミュレータ装置５上にある回路情報１２ａの内部信号の動作をロジアナ８８を用いて動作確認する検証環境を構築している。ロジアナ８８が一度に観測できるピン数は有限であり、たとえば、１度の測定にて観測可能な検知チャネル数を６４ｃｈとする。なお、デジタルデータを観測するので、“ｃｈ”（チャネル）は、ビットと等価である。
【０１９５】
回路情報１２ａの内、観測したい６４信号分を１プローブグループ（それぞれ６４ｃｈ）とする。そして、グループごとにロジアナ８８にデータを送り観測する構成とする。このため、グループを切り替えるための構成として、プローブ切替制御回路３０４がグループごとにロジアナ用Ｉ／Ｆ部９８内に設けられる。図示した例では、４つのプローブグループＡ〜Ｄを個々のプローブ切替制御回路３０４に入力する。
【０１９６】
グループに対応する個々のプローブ切替制御回路３０４は、それに対応する接続ボード４２に接続されており、各グループの観測データが、それぞれ独立にロジアナ８８に入力されるようになっている。接続ボード４２の出力はオープンコレクタ形式となっており、図示しない制御データの元で観測対象グループのボードのみがアクティブとさせることで、観測対象グループの観測データのみが有効にロジアナ８８に入力されるようになっている。
【０１９７】
エミュレータ本体１０の近傍には、ロジアナ用Ｉ／Ｆ部９８を制御するための機能部分である選択条件情報送出部の一例としてのロジアナ動作制御装置３０１が配されている。ロジアナ動作制御装置３０１とロジアナ用Ｉ／Ｆ部９８との間は、ＰＣＩバスインタフェースやＵＳＢインタフェースなどの標準インタフェースにて接続する。なお、ロジアナ動作制御装置３０１は、コントローラＰＣ８０やその他のパソコンと兼用されるものであってもよい。こうすることで、汎用のパソコンなどをグループ情報Ｊ３０の入力装置として利用することができ、インタフェースの共通化や汎用化を進めることが可能となる。
【０１９８】
ロジアナ動作制御装置３０１としては、たとえば、プローブグループ切替機能をなす専用のハードウェア回路で構成してもよいし、パソコンやワークステーションなどの汎用のコンピュータを利用して構成してもよい。つまり、プローブグループ切替機能の一連の処理をハードウェアにより実行させることもできるが、ソフトウェアを利用して実行させることもできる。
【０１９９】
ここで、第４の構成例においては、観測対象のプローブグループを決定する内容であるグループ情報Ｊ３０を記憶部３０１ａにデータベース化し一元管理を行なう。そして、このグループ情報Ｊ３０を、ロジアナ動作制御装置３０１にて解釈してロジアナ用Ｉ／Ｆ部９８のグループ選択動作を切り替える選択切替信号ＳＥＬ３０に変換して、この選択切替信号ＳＥＬ３０をＩＳＡバスやＰＣＩバスなどのパラレルバスインタフェース、あるいはＵＳＢインタフェースやＩＥＥＥ１３９４インタフェースなどのシリアルインタフェースなどある一定の規格を満足する標準インタフェースを介して、ロジアナ用Ｉ／Ｆ部９８に入力する。
【０２００】
ロジアナ用Ｉ／Ｆ部９８は、選択切替信号ＳＥＬ３０（つまりグループ情報Ｊ３０）に基づき、回路情報１２ａから入力された観測対象データを纏めたプローブグループＡ〜Ｄの中から、対応する個々の接続ボード４２に伝送すべきプローブグループを認識して、接続ボード４２にグループ単位で観測データを入力する。接続ボード４２は、入力された観測データをロジアナ８８に伝送する。
【０２０１】
図１９は、図１８に示したロジアナ用Ｉ／Ｆ部９８における、観測対象グループを切替制御する機能（接続回路９８ａを除く機能部分）に着目したブロック図である。以下、ロジアナ用Ｉ／Ｆ部９８における、観測対象グループを切替制御する機能回路をプローブ切替制御回路という。
【０２０２】
前述のように、第４の構成例では、回路情報１２ａからの観測データが４つのプローブグループに分けられてロジアナ用Ｉ／Ｆ部９８に入力される。ここで、本例では、プローブグループが４つ（２の２乗）あるから、２ビットでプローブグループを切り替えることができる。たとえば、プローブグループＡは“００”、プローブグループＢは“０１”、プローブグループＣは“１０”、プローブグループＤは“１１”と表現することで、各々を識別することが可能である。
【０２０３】
このため、第４の構成例によるプローブ切替制御回路３０４は、４つのグループＡ〜Ｄの何れか１つを選択して対応する接続ボード４２に対して出力する構成であればよく、グループ切替えの手法は、データ線をグループ単位で扱うことの相違があるが、基本的には、４入力−１出力の第１の構成例に準じたものでよいことになる。
【０２０４】
このため、第４の構成例によるプローブ切替制御回路３０４は、この４つのグループＡ〜Ｄの何れか１つを選択して対応する接続ボード４２に対して出力する選択回路（識別回路）３３０と、この選択回路３３０の選択動作を制御するための機能部分を構成する２つのフリップフロップ３３２，３３４を有している。
【０２０５】
選択回路３３０としては、選択切替信号ＳＥＬ３０に基づき、１つのグループに属する観測対象のチャネル数分（本例では６４チャネル分／すなわち６４ビット分）を連動して切り替える構成のものとする。たとえば、４入力−１出力のデータセレクタを６４ビット分並列に設けるとよい。
【０２０６】
これにより、選択回路３３０は、フリップフロップ３３２，３３４を介して入力されたプローブグループを切り替えるための２ビット信号が示す選択条件に基づき、回路情報１２ａから入力された４つのプローブグループＡ〜Ｄの何れか１つを選択して出力する。
【０２０７】
たとえば２ビット信号“１０”が選択回路３３０の切替入力端子ＳＥＬ０，ＳＥＬ１に入力された場合は、プローブグループＣが選択されて対応するロジアナ用の接続ボードＡに観測データが入力される。そして、接続ボードＡからロジアナ８８に観測データが入力され、プローブグループＣの個々のプローブが接続されている観測ポイントの動作を確認することができるようになる。また、たとえば、プローブグループＡを観測したいときはロジアナ８８で観測するべきグループ情報Ｊ３０をプローブグループＣからプローブグループＡに変更するなど、グループ情報Ｊ３０の内容を変えることで、新たなグループ情報Ｊ３０の内容をロジアナ動作制御装置３０１が認識して、新たな設定にプローブ切替制御回路３０４を制御することで対応することが可能である。
【０２０８】
従来の構成の場合、検証モードに応じて観測ポイントを切り替える必要が生じたときには、その都度、ソフトウェアによるプローブの接続ポイントの変更や人手によりプローブの接続ポイント（プローブの当てる箇所）を切り替える必要があった。これに対して、上記第４の構成例では、第１〜第３の構成例と同様の効果を享受可能なのはいうまでもなく、予め検証モードに応じたグループ分けをして、個々の観測ポイントに固定的にプローブを接続しておき、検証モードに応じてグループを切り替えることで観測ポイントの切替対応が可能となるので便利である。また、検証内容を切り替えても、プローブ自体の接続ポイントは固定したままでよく、観測点に対するプローブ切替えのための操作が不要であり、接続ミスによる誤観測を確実に防止することもできる。
【０２０９】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【０２１０】
また、上記の実施形態は、クレーム（請求項）にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
【０２１１】
たとえば、上述した実施形態では、書換可能な論理デバイスの一例であるＦＰＧＡを利用した論理エミュレータシステムにおけるデータインタフェースについて説明したが、実チップなどを搭載する試作基板を用いてシステム検証を行なうシステムにおける、データインタフェースに、上述した構成や手法を適用することも可能である。
【０２１２】
【発明の効果】
以上のように、本発明によれば、システムオンチップなどのターゲット回路の論理動作を検証する論理検証システムを構築するに際して、データインタフェースを簡易かつ確実に採ることができるようになった。
【０２１３】
たとえば、第１の構成として、各検証内容に応じた個々の検証設定データを取り込んで１つの入力ファイルを再構成する。そして、この入力ファイルに基づいて検証システム本体にて取込み可能なデータ形式に変換してから検証システム本体に入力する。つまり、入力ファイルの変換時に個々のシステム本体への対応を採る。
【０２１４】
これにより、検証設定データ自体はそれぞれシステム本体に固有のものであるが、共通のデータプロトコルを持つ入力ファイルに再構成してからシステム本体に読み込ませるようにしているので、種類の異なるファイルアクセスの数が増えても、入力ファイルを送出する装置（実施形態ではデータ入出力用ＰＣ）とエミュレータ装置との間のデータインタフェースを共通にすることができ、データインタフェースを簡易化することができる。加えて、データインタフェース環境の汎用化や再利用化を実現することができるようになった。
【０２１５】
また、第２の構成として、検証システム本体から入出力された複数の接続ボード向けの入出力信号を対応する個々のボード用に選択する仕組みを接続ボード以外の部分に設け、この選択制御部に対して、個々の入出力信号を選択するための条件を示す選択条件情報を送り、この選択条件情報に従って個々のボード用の入出力信号を選択させるようにした。これにより、個々のボード上にハード的なスイッチ機構を設ける必要がなく、所用の入出力信号を簡易かつ適切かつ確実に対応する個々のボードに伝達することができるようになった。
【図面の簡単な説明】
【図１】論理エミュレーションシステムの概略構成を示す図である。
【図２】図１に示した検証システムにおける、データ入出力用ＰＣとエミュレータ本体との間のデータインタフェースに着目したブロック図である。
【図３】入力ファイル生成装置にて再構成される入力ファイルのデータプロトコルの一例について説明する図である。
【図４】入力ファイル生成装置が使用する入力ファイル生成プログラムの実行フローの概要を示したフローチャートである。
【図５】図４で示した設定データ処理（Ｓ２００，Ｓ２０４）の処理手順の詳細例を示したフローチャートである。
【図６】図４で示した実データ処理（Ｓ２０２）の処理手順の詳細例を示したフローチャートである。
【図７】入力ファイル生成装置における入力ファイル生成の仕組みの第１例を説明する図である。
【図８】入力ファイル生成装置における入力ファイル生成の仕組みの第２例を説明する図である。
【図９】データインタフェース部の一例であるデータ用Ｉ／Ｆ部の一構成例を示すブロック図である。
【図１０】データインタフェース部の一例であるデータ用Ｉ／Ｆ部の処理手順の概要を示したフローチャートである。
【図１１】データ用Ｉ／Ｆ部のデータアクセス方法を説明する図である。
【図１２】図１に示した検証システムにおける、エミュレータ本体と外部ボードとのインタフェースに着目した一実施形態のブロック図である。
【図１３】図１２に示した外部ボード接続用Ｉ／Ｆ部における、外部ボードの動作を制御する機能に着目したブロック図（第１の構成例）である。
【図１４】試作ボードやロジックエミュレータを用いたシステム検証環境に図１３で示した外部ボード制御回路を適用した第２の構成例を示すブロック図である。
【図１５】図１４に示した第２の構成例の外部ボード接続用Ｉ／Ｆ部における外部ボードの動作を制御する機能に着目した外部ボード制御回路部分のブロック図である。
【図１６】試作ボードやロジックエミュレータを用いたシステム検証環境に図１３で示した外部ボード制御回路を適用した第３の構成例を示すブロック図である。
【図１７】図１６に示した構成における外部ボード制御回路の構成を示すブロック図である。
【図１８】図１に示した検証システムにおける、エミュレータ本体とロジアナ用Ｉ／Ｆ部とのインタフェースに着目したブロック図（第４の構成例）である。
【図１９】図１８に示したロジアナ用Ｉ／Ｆ部における観測対象グループを切替制御する機能に着目したブロック図である。
【図２０】
従来の検証システムでのデータインタフェースの問題を説明する図である。
【符号の説明】
１…検証システム、５…エミュレータ装置、１０…エミュレータ本体、１１…外部ボード、１２…ＦＰＧＡ、１２ａ…回路情報１２ａ、１４…ロジック回路、１６…メモリ、１８…テストベンチ回路、２０…ＣＰＵボード、２２…ＣＰＵ、３０…外部メモリボード、３２…メモリ３２、４０…データ転送用ボード、４２…接続ボード４２、８０…コントローラＰＣ、８２…ワークステーション、８４…データ入出力用ＰＣ、８６…データ入出力用ＰＣ、８８…ロジアナ、９０…インタフェース部、９２…外部ボード接続用Ｉ／Ｆ部、９４…コントローラ用Ｉ／Ｆ部、９６ａ，９６ｂ…データ用Ｉ／Ｆ部、９８…ロジアナ用Ｉ／Ｆ部、２００…入力ファイル生成装置、２０２…入力ファイル生成プログラム、２２０…外部ＩＦ回路、２２２…入出力制御ブロック、２２４…タイマカウンタ、２２６…データ処理ブロック、２２８…制御信号生成ブロック、２３０…タイミング比較ブロック、２４０…ＳＯＣ−ＩＦ回路、３００…外部ボード動作制御装置、３０１…ロジアナ動作制御装置、３００ａ，３０１ａ…記憶部、３０２…外部ボード制御回路、３０４…プローブ切替制御回路、３１０…選択回路、３１２，３２２，３３２…第１のフリップフロップ、３１４，３２４，３３４…第２のフリップフロップ、ＤＦ２０…入力ファイル
【図１】
2004171436.tif 000005
【図２】
2004171436.tif 000006
【図３】
2004171436.tif 000007
【図４】
2004171436.tif 000008
【図５】
2004171436.tif 000009
【図６】
2004171436.tif 000010
【図７】
2004171436.tif 000011
【図８】
2004171436.tif 000012
【図９】
2004171436.tif 000013
【図１０】
2004171436.tif 000014
【図１１】
2004171436.tif 000015
【図１２】
2004171436.tif 000016
【図１３】
2004171436.tif 000017
【図１４】
2004171436.tif 000018
【図１５】
2004171436.tif 000019
【図１６】
2004171436.tif 000020
【図１７】
2004171436.tif 000021
【図１８】
2004171436.tif 000022
【図１９】
2004171436.tif 000023
【図２０】
2004171436.tif 000024