(57)【要約】【課題】コンピュータとエミュレータとの間におけるデータ授受の速度と、Ｉ／Ｆ部と検査対象回路との間におけるデータ授受の速度とが異なる場合に、検査対象回路にデータを連続的に供給する。【解決手段】インタフェース回路は、ハードウェアとソフトウェアの検証環境が実装されたコンピュータから受信したデータを保持するとともに、保持するデータをエミュレータ上に実現された検査対象回路へ出力するメモリと、メモリにデータが保持されているか否かを判定し、メモリにデータが保持されている場合には、検査対象回路にクロック信号を供給するとともに検査対象回路による前記メモリに対するメモリ読出し要求を許可し、メモリにデータが保持されていない場合には、検査対象回路へのクロック信号の供給を停止するとともに検査対象回路によるメモリに対するメモリ読出し要求を不可とするデータ供給制御回路と、を有する。【選択図】図１
2011187003.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアとソフトウェアの検証環境が実装されたコンピュータから受信したデータを保持するとともに、保持するデータをエミュレータ上に実現された検査対象回路へ出力するメモリと、
前記メモリにデータが保持されているか否かを判定し、前記メモリにデータが保持されている場合には、前記検査対象回路にクロック信号を供給するとともに前記検査対象回路による前記メモリに対するメモリ読出し要求を許可し、前記メモリにデータが保持されていない場合には、前記検査対象回路へのクロック信号の供給を停止するとともに前記検査対象回路による前記メモリに対するメモリ読出し要求を不可とするデータ供給制御回路と、を備えていることを特徴とするインタフェース回路。
【請求項２】
前記メモリは、メモリ読出し要求信号に応じて保持するデータを前記検査対象回路へ出力し、
前記データ供給制御回路は、前記メモリにデータが保持されている場合には、前記検査対象回路から受信したメモリ読出し要求信号を前記メモリに転送し、前記メモリにデータが保持されていない場合には、前記検査対象回路から受信したメモリ読出し要求信号を前記メモリに転送しないようにすることを特徴とする、請求項１に記載のインタフェース回路。
【請求項３】
前記データ供給制御回路は、前記メモリにデータを保持し得るか否かを判定し、前記メモリにデータを保持し得る場合には、前記コンピュータに前記メモリへデータを供給させ、前記メモリにデータを保持し得ない場合には、前記コンピュータに前記メモリへのデータの供給を停止させることを特徴とする、請求項１又は２に記載のインタフェース回路。
【請求項４】
前記データ供給制御回路は、前記メモリにおけるデータの蓄積状況に応じて、前記メモリにデータを保持し得るか否かを判定することを特徴とする、請求項３に記載のインタフェース回路。
【請求項５】
前記データ供給制御回路は、所定のモード選択信号を受信した場合には、前記メモリにデータが保持されているか否かに依らず、前記検査対象回路にクロック信号を供給するとともに、前記検査対象回路による前記メモリに対するメモリ読出し要求を許可することを特徴とする、請求項１乃至４のいずれか１項に記載のインタフェース回路。
【請求項６】
前記メモリに対する書き込みアドレス信号及び読み出しアドレス信号を参照して、前記メモリにデータが保持されているか否かを判定するＦｕｌｌ−Ｅｍｐｔｙ制御回路をさらに備え、
前記データ供給制御回路は、前記Ｆｕｌｌ−Ｅｍｐｔｙ制御回路による判定結果に基づいて、前記メモリにデータが保持されているか否かを判定することを特徴とする、請求項１乃至５のいずれか１項に記載のインタフェース回路。
【請求項７】
前記Ｆｕｌｌ−Ｅｍｐｔｙ制御回路は、前記書き込みアドレス信号及び前記読み出しアドレス信号を参照して、前記メモリにデータを保持し得るか否かを判定し、
前記データ供給制御回路は、前記Ｆｕｌｌ−Ｅｍｐｔｙ制御回路による判定結果に基づいて、前記メモリにデータを保持し得るか否かを判定することを特徴とする、請求項６に記載のインタフェース回路。
【請求項８】
前記メモリは、デュアルポートＲＡＭであることを特徴とする、請求項１乃至７のいずれか１項に記載のインタフェース回路。
【請求項９】
請求項１乃至８のいずれか１項に記載のインタフェース回路を備えていることを特徴とする再構成可能集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インタフェース回路及び再構成可能集積回路装置に関し、特に、上位コンピュータと、エミュレータ上に実現された検査対象回路との間におけるインタフェース回路及びかかるインタフェース回路を備えた再構成可能集積回路装置に関する。
【背景技術】
【０００２】
半導体集積回路の高速化、高機能化に伴い、検証装置であるエミュレータの機能も複雑化してきている。例えば、無線通信機能の検証を行なう場合において、エミュレータを制御するための上位コンピュータからエミュレータへ検証データを転送して、実際の半導体集積回路の動作に即した動作を模擬するには、エミュレータ上に設けられた検査対象回路に対して連続してデータを供給する必要がある。
【０００３】
特許文献１において、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）エミュレータの高速性を生かしつつ、ハードウェアとソフトウェアの協調検証を可能とした検証支援システムが記載されている。この検証支援システムでは、上位コンピュータはインタフェース（Ｉ／Ｆ）手段を介して、ＦＰＡＧエミュレータ上の検査対象回路とのデータ授受を行なう。
【０００４】
特許文献２において、インタフェース手段として用いられ、動作周波数の異なる装置間でのデータの授受を目的とするＦＩＦＯメモリ制御回路であって、デュアルポートＲＡＭ、アドレス書き込み回路、アドレス読み出し回路、及び、Ｆｕｌｌ−Ｅｍｐｔｙ制御回路を備えたものが記載されている。
【０００５】
図４は、特許文献１に記載された検証支援システムの構成を示すブロック図である。
【０００６】
図４を参照すると、ＦＰＧＡエミュレータ２０にあるＦＰＧＡにはプロセッサモデル２１が回路記述でマッピングしている。プロセッサモデル２１は、オリジナルなプロセッサであるプロセッサ回路２２、プロセッサＩ／Ｆ２３及び検証ターゲットであるロジック回路２４から構成される。ロジック回路２４は、検証対象のプロセッサにある論理回路の中でプロセッサモデル２１以外の論理回路である。ロジック回路２４には、例えば、ユーザロジックが搭載される。また、ロジック回路２４は、特定用途向けＩＣであってもよい。
【０００７】
ＦＰＧＡエミュレータ２０には、メモリ２５とＩ／Ｆ手段２６が実装されている。メモリ２５には、プロセッサが実行するプログラムやデータが格納される。一般に、メモリ２５は、ＦＰＧＡと緊密に接続されるが、ＦＰＧＡにマッピングされることはほとんどない。Ｉ／Ｆ手段２６は、ＦＰＧＡエミュレータ２０と上位コンピュータ３０とを接続する。
【０００８】
上位コンピュータ３０には、ハードウェアとソフトウェアの検証環境が実装されている。上位コンピュータ３０は、Ｉ／Ｆ手段２６を介することによって、エミュレータへの起動、プロセッサの内部状態の確認、ブレーク条件の設定等のソフトウェア検証と、ロジック回路２４の内部信号やプロセッサへの割り込み信号等でブレークするためのハードウェア検証が可能になる。
【０００９】
上位コンピュータ３０に実装され、ソフトウェアのコードから実行アドレス及びデータの条件を算出し、ソースコード検証、プロセッサのレジスタ表示、アセンブラコードへの逆変換を含む検証を行うソフトウェア検証手段を設け、このＩ／Ｆ手段２６を介してソフトウェア検証手段とＦＰＧＡにマッピングした検証用論理とをインタフェースしてもよい。
【００１０】
図５は、特許文献２に記載されたＦＩＦＯメモリ制御回路６０の構成を示すブロック図である。ＦＩＦＯメモリ制御回路６０は、図４のＩ／Ｆ手段２６に相当する。
【００１１】
図５を参照すると、ＦＩＦＯメモリ制御回路６０は、ｋワード構成のデュアルポートＲＡＭ３１と、デュアルポートＲＡＭ３１の書き込みアドレスを発生するアドレス書き込み回路３２と、デュアルポートＲＡＭ３１の読みだしアドレスを発生するアドレス読み出し回路３３と、アドレス読み出し回路３３の出力である読みだしアドレス信号ＲＡ及びアドレス書き込み回路の出力である書き込みアドレス信号ＷＡからデュアルポートＲＡＭ３１内の有効データの状態を示すＦｕｌｌ−Ｅｍｐｔｙ制御回路３４とを備えている。
【００１２】
また、ＦＩＦＯメモリ制御回路６０は、デュアルポートＲＡＭ３１へ書込信号ＷＲが与えられるごとにカウントアップ動作を行ない、デュアルポートＲＡＭ３１へ読出信号ＲＤが与えられるごとにカウントダウン動作を行なうアップダウンカウンタ３５と、デュアルポートＲＡＭ３１が満杯に近いことを示すニアフル信号Ｎｅａｒ−Ｆｕｌｌを出力させるためのアップダウンカウンタ３５のカウント値を設定するニアフル信号用設定レジスタ３６と、デュアルポートＲＡＭ３１が空に近いことを示すニアエンプティ信号Ｎｅａｒ−Ｅｍｐｔｙを出力させるためのアップダウンカウンタ３５のカウント値を設定するニアエンプティ信号用設定レジスタ３７とを備えている。
【００１３】
さらに、ＦＩＦＯメモリ制御回路６０は、実際のアップダウンカウンタ３５のカウント値Ａとニアフル信号用設定レジスタ３６に設定されたカウント値Ｂを比較してＡ≧Ｂを満たすときにニアフル信号Ｎｅａｒ−Ｆｕｌｌを出力（アサート）するコンパレータなどで構成されたニアフル信号用比較回路３８と、実際のアップダウンカウンタ３５のカウント値Ａとニアエンプティ信号用設定レジスタ３７に設定されたカウント値Ｂを比較してＡ≦Ｂを満たすときにニアエンプティ信号Ｎｅａｒ−Ｅｍｐｔｙを出力（アサート）するコンパレータなどで構成されたニアエンプティ信号用比較回路３９とを備えている。
【００１４】
なお、ニアフル信号用設定レジスタ３６及びニアフル信号用比較回路３８はニアフル信号出力回路を構成し、ニアエンプティ信号用設定レジスタ３７及びニアエンプティ信号用比較回路３９はニアエンプティ信号出力回路を構成する。ニアフル信号用設定レジスタ３６は、ＣＰＵからのレジスタ書込信号ＮＦＣＫに基づいてデータを書込むことにより、カウント値を設定することができる。また、ニアエンプティ信号用設定レジスタ３７も、ＣＰＵからのレジスタ書込信号ＮＥＣＫに基づいてデータを書込むことにより、カウント値を設定することができる。
【００１５】
アドレス書き込み回路３２には、初期化のために外部からリセット信号ＲＥＳＥＴが接続されており、アドレス読み出し回路３３には初期化のために外部からリセット信号ＲＥＳＥＴが接続されている。また、アップダウンカウンタ３５には初期化のために外部からリセット信号ＲＥＳＥＴが接続されている。さらに、ニアフル信号用設定レジスタ３６及びニアエンプティ信号用設定レジスタ３７にも、初期化のために外部からリセット信号ＲＥＳＥＴが接続されている。
【００１６】
また、読みだしアドレス信号ＲＡはデュアルポートＲＡＭ３１の読みだしアドレス端子（ＲＡ端子）に接続されており、書き込みアドレス信号ＷＡはデュアルポートＲＡＭ３１の書き込みアドレス端子（ＷＡ端子）に接続されている。さらに、読みだしアドレス信号ＲＡ及び書き込みアドレス信号ＷＡはＦｕｌｌ−Ｅｍｐｔｙ制御回路３４に接続されている。
【００１７】
Ｆｕｌｌ−Ｅｍｐｔｙ制御回路３４からは、アドレス書き込み回路３２への書き込みアドレス信号ＷＡ、アドレス読み出し回路３３の読みだしアドレス信号ＲＡに基づいてデュアルポートＲＡＭ３１内の有効データの状態を示すフル信号Ｆｕｌｌとエンプティ信号Ｅｍｐｔｙが外部に出力されている。フル信号Ｆｕｌｌは、デュアルポートＲＡＭ３１が満杯のときに出力され、エンプティ信号Ｅｍｐｔｙは、デュアルポートＲＡＭ３１が空のときに出力される。具体的には、フル信号ＦｕｌｌはデュアルポートＲＡＭ３１にｋワードのデータが書込まれた時にアサートされ、エンプティ信号ＥｍｐｔｙはデュアルポートＲＡＭ３１に０ワードのデータが書込まれた時にアサートされる。
【００１８】
外部から入力されるＦＩＦＯメモリ書込信号ＷＲは、デュアルポートＲＡＭ３１の書込端子（ＷＲ端子）とアドレス書き込み回路３２とアップダウンカウンタ３５のＵＰ端子に接続されている。また、外部から入力されるＦＩＦＯメモリ読出信号ＲＤは、デュアルポートＲＡＭ３１の読出端子（ＲＤ端子）とアドレス読み出し回路３３とアップダウンカウンタ３５のＤＯＷＮ端子に接続されている。さらに、外部から入力されるＦＩＦＯメモリチップセレクト信号ＣＳはデュアルポートＲＡＭ３１のチップセレクト端子（ＣＳ端子）に接続されている。
【００１９】
また、外部へデータを出力する出力データバス４０は、デュアルポートＲＡＭ３１の読出データバス端子（ＲＤＡＴＡ端子）に接続されており、外部からのデータを入力する入力データバス４１はデュアルポートＲＡＭ３１の書込データバス端子（ＷＤＡＴＡ端子）、ニアフル信号用設定レジスタ３６、ニアエンプティ信号用設定レジスタ３７に接続されている。
【００２０】
また、外部から入力されるニアフルレジスタ書込信号ＮＦＣＫはニアフル信号用設定レジスタ３６のＮＦＣＫ端子に接続されており、外部から入力されるニアエンプティ書込信号ＮＥＣＫはニアエンプティ信号用設定レジスタ３７のＮＥＣＫ端子に接続されている。
【００２１】
上記アップダウンカウンタ３５の出力端子（ＣＮＴＱ端子）は、ニアフル信号用比較回路３８のＡ端子とニアエンプティ信号用比較回路３９のＡ端子に接続されている。ニアフル信号用設定レジスタ３６の出力端子（ＮＦＱ端子）はニアフル信号用比較回路３８のＢ端子に接続されており、ニアエンプティ信号用設定レジスタ３７の出力端子（ＮＥＱ端子）はニアエンプティ信号用比較回路３９のＢ端子に接続されている。
【先行技術文献】
【特許文献】
【００２２】
【特許文献１】特開２００１−２０９５５６号公報（第６、７頁、図１）
【特許文献２】特開平１１−１７５３１０号公報（第６、７頁、図１）
【発明の概要】
【発明が解決しようとする課題】
【００２３】
以下の分析は、本発明者によってなされたものである。
【００２４】
特許文献１に記載された検証支援システムによると、上位コンピュータ３０とＦＰＧＡエミュレータ２０の間のデータ授受の動作速度が、Ｉ／Ｆ手段２６と検査対象回路２７の間のデータ授受の動作速度より遅い場合に、Ｉ／Ｆ手段２６内のデュアルポートＲＡＭ３１が空以外の状態で、Ｉ／Ｆ手段２６から検査対象回路２７へデータが供給される。しかしながら、Ｉ／Ｆ手段２６内のデュアルポートＲＡＭ３１が空状態となったとき、Ｉ／Ｆ手段２６内のデュアルポートＲＡＭ３１には検査対象回路２７へ供給するデータが存在しない。このとき、Ｉ／Ｆ手段２６から検査対象回路２７に対してデータを供給することができない。
【００２５】
したがって、Ｉ／Ｆ手段２６内のデュアルポートＲＡＭ３１が空状態の場合に、検査対象回路２７から読出信号ＲＤが出力（アサート）されたときには、Ｉ／Ｆ手段２６から検査対象回路２７へ供給するデータが存在せず、検査対象回路２７へのデータの供給を継続することができない。
【００２６】
すなわち、特許文献１に記載された検証支援システムによると、データを継続的に供給する必要がある検査対象回路の検証において、検査対象回路に対するデータの供給を継続することができず、データの授受が破綻する恐れがある。
【００２７】
そこで、上位コンピュータとエミュレータとの間におけるデータ授受の速度と、エミュレータのＩ／Ｆ手段と検査対象回路との間におけるデータ授受の速度とが異なる場合に、検査対象回路にデータを連続的に（すなわち、破綻することなく継続的に）供給することが課題となる。本発明の目的は、かかる課題を解決するインタフェース回路及び再構成可能集積回路装置を提供することにある。
【課題を解決するための手段】
【００２８】
本発明の第１の視点に係るインタフェース回路は、
ハードウェアとソフトウェアの検証環境が実装されたコンピュータから受信したデータを保持するとともに、保持するデータをエミュレータ上に実現された検査対象回路へ出力するメモリと、
前記メモリにデータが保持されているか否かを判定し、前記メモリにデータが保持されている場合には、前記検査対象回路にクロック信号を供給するとともに前記検査対象回路による前記メモリに対するメモリ読出し要求を許可し、前記メモリにデータが保持されていない場合には、前記検査対象回路へのクロック信号の供給を停止するとともに前記検査対象回路による前記メモリに対するメモリ読出し要求を不可とするデータ供給制御回路と、を備えている。
【００２９】
本発明の第２の視点に係る再構成可能集積回路装置は、上記インタフェース回路を備えている。
【発明の効果】
【００３０】
本発明に係るインタフェース回路及び再構成可能集積回路装置によると、上位コンピュータとエミュレータとの間におけるデータ授受の速度と、エミュレータのＩ／Ｆ手段と検査対象回路との間におけるデータ授受の速度とが異なる場合に、検査対象回路にデータを連続的に（すなわち、破綻することなく継続的に）供給することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施形態に係るインタフェース回路を設けた検証支援システムの構成を示すブロック図である。
【図２】本発明の実施形態に係るインタフェース回路の構成を示すブロック図である。
【図３】本発明の実施形態に係るインタフェース回路のＦＩＦＯメモリ制御回路におけるデータ供給制御回路の構成を一例として示す回路図である。
【図４】特許文献１に記載された検証支援システムの構成を示すブロック図である。
【図５】特許文献２に記載されたＦＩＦＯメモリ制御回路の構成を示すブロック図である。
【発明を実施するための形態】
【００３２】
本発明の第１の展開形態によると、上記第１の視点に係るインタフェース回路が提供される。
【００３３】
本発明の第２の展開形態によると、
前記メモリは、メモリ読出し要求信号に応じて保持するデータを前記検査対象回路へ出力し、
前記データ供給制御回路は、前記メモリにデータが保持されている場合には、前記検査対象回路から受信したメモリ読出し要求信号を前記メモリに転送し、前記メモリにデータが保持されていない場合には、前記検査対象回路から受信したメモリ読出し要求信号を前記メモリに転送しないようにする、インタフェース回路が提供される。
【００３４】
本発明の第３の展開形態によると、前記データ供給制御回路は、前記メモリにデータを保持し得るか否かを判定し、前記メモリにデータを保持し得る場合には、前記コンピュータに前記メモリへデータを供給させ、前記メモリにデータを保持し得ない場合には、前記コンピュータに前記メモリへのデータの供給を停止させる、インタフェース回路が提供される。
【００３５】
本発明の第４の展開形態によると、前記データ供給制御回路は、前記メモリにおけるデータの蓄積状況に応じて、前記メモリにデータを保持し得るか否かを判定する、インタフェース回路が提供される。
【００３６】
本発明の第５の展開形態によると、前記データ供給制御回路は、所定のモード選択信号を受信した場合には、前記メモリにデータが保持されているか否かに依らず、前記検査対象回路にクロック信号を供給するとともに、前記検査対象回路による前記メモリに対するメモリ読出し要求を許可する、インタフェース回路が提供される。
【００３７】
本発明の第６の展開形態によると、
前記メモリに対する書き込みアドレス信号及び読み出しアドレス信号を参照して、前記メモリにデータが保持されているか否かを判定するＦｕｌｌ−Ｅｍｐｔｙ制御回路をさらに備え、
前記データ供給制御回路は、前記Ｆｕｌｌ−Ｅｍｐｔｙ制御回路による判定結果に基づいて、前記メモリにデータが保持されているか否かを判定する、インタフェース回路が提供される。
【００３８】
本発明の第７の展開形態によると、
前記Ｆｕｌｌ−Ｅｍｐｔｙ制御回路は、前記書き込みアドレス信号及び前記読み出しアドレス信号を参照して、前記メモリにデータを保持し得るか否かを判定し、
前記データ供給制御回路は、前記Ｆｕｌｌ−Ｅｍｐｔｙ制御回路による判定結果に基づいて、前記メモリにデータを保持し得るか否かを判定する、インタフェース回路が提供される。
【００３９】
本発明の第８の展開形態によると、前記メモリは、デュアルポートＲＡＭである、インタフェース回路が提供される。
【００４０】
本発明の第９の展開形態によると、上記第１乃至８のいずれか一の展開形態に係るインタフェース回路を備えている再構成可能集積回路装置が提供される。
【００４１】
本発明に係るインタフェース回路及び再構成可能集積回路装置によると、上位コンピュータとエミュレータ間のデータ授受と、Ｉ／Ｆ手段と検査対象回路間のデータ授受との間いで動作速度が異なる場合であっても、検査対象側のクロック供給を制御（開始／停止）することにより、前後するデータ転送の間における連続性（ないし、データ転送の継続性）を維持することができる。
【００４２】
（実施形態）
本発明の実施形態に係るインタフェース回路について、図面を参照して説明する。図１は、本実施形態のインタフェース回路を設けた検証支援システムの構成を示すブロック図である。
【００４３】
図１を参照すると、検証支援システムは、上位コンピュータ３０と、ＦＰＧＡエミュレータ１２０とを備えている。
【００４４】
図１において、ＦＰＧＡエミュレータ１２０に含まれるＦＰＧＡには、プロセッサモデル１２１が回路記述としてマッピングされている。
【００４５】
検査対象回路１２７は、オリジナルなプロセッサであるプロセッサ回路１２２とプロセッサＩ／Ｆ１２３とを含むプロセッサモデル１２１と、検証ターゲットであるロジック回路２４とを備えている。
【００４６】
ロジック回路２４は、検証対象の検査対象回路１２７にある論理回路の中でプロセッサモデル１２１以外の論理回路である。
【００４７】
ＦＰＧＡエミュレータ１２０には、さらに、メモリ２５とインタフェース（Ｉ／Ｆ）部１２６が実装されている。メモリ２５には、プロセッサが実行するプログラムやデータが格納される。
【００４８】
ＦＰＧＡエミュレータ１２０には、さらに、検査対象回路１２７のクロックを制御するためのクロック制御部１２８が実装されている。
【００４９】
Ｉ／Ｆ部１２６は、インタフェース回路１６０を備え、ＦＰＧＡエミュレータ１２０と上位コンピュータ３０とを接続する。
【００５０】
上位コンピュータ３０は、ハードウェアとソフトウェアの検証環境が実装されている。上位コンピュータ３０は、データ授受を行う際、Ｉ／Ｆ部１２６から検査対象回路１２７へのデータ転送方法をモード選択信号ＭＯＤＥによって選択する。
【００５１】
上位コンピュータ３０は、Ｉ／Ｆ部１２６からデータ補充再開信号ＤＡＴＡ＿ＳＴＡＲＴを受信すると、入力データバス１４１を介してＩ／Ｆ部１２６へのデータの転送を開始し、Ｉ／Ｆ部１２６のデュアルポートＲＡＭ１３１にデータを蓄積する。また、上位コンピュータ３０は、Ｉ／Ｆ部１２６からデータ補充停止信号ＤＡＴＡ＿ＳＴＯＰを受信すると、Ｉ／Ｆ部１２６へのデータの転送を停止し、デュアルポートＲＡＭ１３１へのデータ供給を停止する。
【００５２】
Ｉ／Ｆ部１２６は、出力データバス１４０を介して検査対象回路１２７に対するデータ授受を行なうために、デュアルポートＲＡＭ１３１の状態に応じて、クロック停止信号ＣＬＫ＿ＳＴＯＰ及びクロック再開信号ＣＬＫ＿ＳＴＡＲＴをクロック制御部１２８に出力する。
【００５３】
図２は、本実施形態におけるＩ／Ｆ部１２６に含まれるインタフェース回路１６０の構成を示すブロック図である。
【００５４】
図２を参照すると、インタフェース回路１６０は、デュアルポートＲＡＭ１３１と、デュアルポートＲＡＭ１３１の書き込みアドレスを発生するアドレス書き込み回路１３２と、デュアルポートＲＡＭ１３１の読みだしアドレスを発生するアドレス読み出し回路１３３と、モード選択により通常データ要求読み出し機能と連続データ読み出し機能とを制御するデータ供給制御回路１５０と、アドレス読み出し回路１３３の出力である読みだしアドレス信号ＲＡ及びアドレス書き込み回路１３２の出力である書き込みアドレス信号ＷＡからデュアルポートＲＡＭ１３１内の有効データの状態を示すＦｕｌｌ−Ｅｍｐｔｙ制御回路１３４とを備えている。
【００５５】
アドレス書き込み回路１３２、アドレス読み出し回路１３３、及び、データ供給制御回路１５０には、それぞれ、初期化のために外部からリセット信号ＲＥＳＥＴが接続されている。
【００５６】
連続データ供給モードと要求データ供給モードを選択するためのモード選択信号ＭＯＤＥは、データ供給制御回路１５０に接続されている。
【００５７】
読みだしアドレス信号ＲＡ及び書き込みアドレス信号ＷＡは、それぞれ、デュアルポートＲＡＭ１３１及びＦｕｌｌ−Ｅｍｐｔｙ制御回路１３４に接続されている。
【００５８】
Ｆｕｌｌ−Ｅｍｐｔｙ制御回路１３４は、アドレス書き込み回路１３２の書き込みアドレス信号ＷＡとアドレス読み出し回路１３３の読みだしアドレス信号ＲＡを参照し、デュアルポートＲＡＭ１３１内のデータ蓄積状態を示すフル信号ＦＵＬＬとエンプティ信号ＥＭＰＴＹを出力する。フル信号ＦＵＬＬは、デュアルポートＲＡＭ１３１が満状態のときに出力され、エンプティ信号ＥＭＰＴＹは、デュアルポートＲＡＭ１３１が空状態のときに出力される。
【００５９】
外部から入力されるＦＩＦＯメモリ書込要求信号ＷＲ＿ＲＥＱは、デュアルポートＲＡＭ１３１とアドレス書き込み回路１３２に接続されている。外部から入力されるＦＩＦＯメモリ読出要求信号ＲＤ＿ＲＥＱは、データ供給制御回路１５０に接続されている。データ供給制御回路１５０から出力されるＦＩＦＯメモリ読出信号ＲＤはデュアルポートＲＡＭ１３１とアドレス読み出し回路１３３に接続されている。
【００６０】
外部へデータを出力する出力データバス１４０、及び、外部からのデータを入力する入力データバス１４１は、それぞれ、デュアルポートＲＡＭ１３１に接続されている。
【００６１】
データ供給制御回路１５０は、クロック停止信号ＣＬＫ＿ＳＴＯＰと、クロック再開信号ＣＬＫ＿ＳＴＡＲＴと、データ補充再開信号ＤＡＴＡ＿ＳＴＡＲＴと、データ補充停止信号ＤＡＴＡ＿ＳＴＯＰを出力する。
【００６２】
図３は、本実施形態におけるデータ供給制御回路１５０の構成を一例として示す回路図である。
【００６３】
図３を参照すると、データ供給制御回路１５０は、論理積（ＡＮＤ）回路１７０、１７２と、否定論理積（ＮＡＮＤ）回路１７１、１７３と、否定（ＮＯＴ）回路１７４とを備えている。
【００６４】
否定回路１７４は、フル信号ＦＵＬＬを入力とし、データ補充再開信号ＤＡＴＡ＿ＳＴＡＲＴを出力する。
【００６５】
データ補充停止信号ＤＡＴＡ＿ＳＴＯＰとして、入力されたフル信号ＦＵＬＬがそのまま出力される。
【００６６】
否定論理積回路１７１は、モード選択信号ＭＯＤＥとエンプティ信号ＥＭＰＴＹを入力とし、これらの否定論理積を論理積回路１７０へ出力する。
【００６７】
論理積回路１７０は、ＦＩＦＯメモリ読出要求信号ＲＤ＿ＲＥＱと否定論理積回路１７１の出力値を入力とし、これらの論理積をＦＩＦＯメモリ読出信号ＲＤとして、デュアルポートＲＡＭ３１へ出力する。
【００６８】
論理積回路１７２は、モード選択信号ＭＯＤＥとエンプティ信号ＥＭＰＴＹを入力とし、これらの論理積をクロック停止信号ＣＬＫ＿ＳＴＯＰとして出力する。
【００６９】
否定論理積回路１７３は、モード選択信号ＭＯＤＥとエンプティ信号ＥＭＰＴＹを入力とし、これらの否定論理積をクロック再開信号ＣＬＫ＿ＳＴＡＲＴとして出力する。
【００７０】
上位コンピュータ３０は、Ｉ／Ｆ部１２６へ出力するモード選択信号ＭＯＤＥを「０」とすることにより、「要求データ供給モード」を選択する。一方、上位コンピュータ３０は、Ｉ／Ｆ部１２６へ出力するモード選択信号ＭＯＤＥを「１」とすることにより、「連続データ供給モード」を選択する。
【００７１】
要求データ供給モードとは、Ｉ／Ｆ部１２６が従来技術のＦＩＦＯメモリ制御動作と同様の動作を行うモードをいう。連続データ供給モードとは、Ｉ／Ｆ部１２６から検査対象回路１２７へのデータ供給の連続性を維持しつつデータ供給するモードをいう。
【００７２】
連続データ供給モードにおける動作は、次の通りである。まず、検査動作開始時に、上位コンピュータ３０から入力データバス１４１経由でＩ／Ｆ部１２６のデュアルポートＲＡＭ１３１にデータを供給し、デュアルポートＲＡＭ１３１が空状態でなくなったとき、Ｉ／Ｆ部１２６はクロック制御部１２８へクロック再開信号ＣＬＫ＿ＳＴＡＲＴを出力し、クロック制御部１２８は検査対象回路１２７へクロック信号ＣＬＫを出力する。これにより、検査対象回路１２７は動作を開始する。
【００７３】
検査動作開始後は、データの読み出しを要求するＦＩＦＯメモリ読出要求信号ＲＤ＿ＲＥＱが、検査対象回路１２７からＩ／Ｆ部１２６へ出力（アサート）されると、出力データバス１４０を経由して、Ｉ／Ｆ部１２６から検査対象回路１２７へデータＲＤＡＴＡが供給される。
【００７４】
データの書き込み要求する信号ＦＩＦＯメモリ書込要求信号ＷＲ＿ＲＥＱが、上位コンピュータ３０からＩ／Ｆ部１２６へ出力（アサート）されると、入力データバス１４１を経由して、上位コンピュータ３０からＩ／Ｆ部１２６へデータＷＤＡＴＡが供給される。
【００７５】
Ｉ／Ｆ部１２６のデュアルポートＲＡＭ１３１が空状態となった場合に、検査対象回路１２７が動作し続けると、デュアルポートＲＡＭ１３１には検査対象回路１２７へ供給するデータが存在しないことから、出力データバス１４０を経由してＩ／Ｆ部１２６から検査対象回路１２７へデータを供給することができず、検査対象回路１２７に対するデータ供給の連続性が維持できなくなる。
【００７６】
Ｉ／Ｆ部１２６のデュアルポートＲＡＭ１３１が空状態になると、Ｉ／Ｆ部１２６は、クロック制御部１２８へクロック停止信号ＣＬＫ＿ＳＴＯＰを出力する。クロック制御部１２８は、クロック停止信号ＣＬＫ＿ＳＴＯＰを受信すると、検査対象回路１２７へのクロック信号ＣＬＫの出力を停止する。このとき、検査対象回路１２７のプロセッサモデル１２１及びロジック回路２４の動作が停止するととともに、出力データバス１４０を経由したＩ／Ｆ部１２６から検査対象回路１２７へのデータの供給も停止する。
【００７７】
上位コンピュータ３０は、検査対象回路１２７の動作停止中においても、入力データバス１４１を経由して、上位コンピュータ３０からＩ／Ｆ部１２６のデュアルポートＲＡＭ１３１へデータを供給し続ける。
【００７８】
これにより、Ｉ／Ｆ部１２６のデュアルポートＲＡＭ１３１が空状態でなくなると、Ｉ／Ｆ部１２６は、クロック制御部１２８へクロック再開信号ＣＬＫ＿ＳＴＡＲＴを出力する。クロック制御部１２８は、クロック再開信号ＣＬＫ＿ＳＴＡＲＴを受信すると、検査対象回路１２７へクロック信号ＣＬＫのクロック入力を開始する。このとき、検査対象回路１２７の回路プロセッサモデル１２１及びロジック回路２４の動作が開始され、出力データバス１４０を経由してＩ／Ｆ部１２６から検査対象回路１２７へデータが供給される。
【００７９】
Ｉ／Ｆ部１２６内のデュアルポートＲＡＭ１３１が満状態となった場合に、入力データバス１４１を経由して、上位コンピュータ３０からＩ／Ｆ部１２６のデュアルポートＲＡＭ１３１へデータを供給し続けると、デュアルポートＲＡＭ１３１において、データを蓄える領域が存在せず、データがあふれることになり、あふれたデータは検査対象回路１２７へ供給することができずデータが欠損する。
【００８０】
Ｉ／Ｆ部１２６のデュアルポートＲＡＭ１３１が満状態となると、Ｉ／Ｆ部１２６は、上位コンピュータ３０へデータ補充停止信号ＤＡＴＡ＿ＳＴＯＰを出力する。上位コンピュータ３０は、データ補充停止信号ＤＡＴＡ＿ＳＴＯＰを受信すると、Ｉ／Ｆ部１２６のデュアルポートＲＡＭ１３１への入力データバス１４１を経由したデータ供給を停止する。
【００８１】
出力データバス１４０を経由してＩ／Ｆ部１２６から検査対象回路１２７へデータが供給され、Ｉ／Ｆ部１２６のデュアルポートＲＡＭ１３１が満状態から満状態でない状態へ遷移すると、Ｉ／Ｆ部１２６は、上位コンピュータ３０へデータ補充再開信号ＤＡＴＡ＿ＳＴＡＲＴを出力する。上位コンピュータ３０は、データ補充再開信号ＤＡＴＡ＿ＳＴＡＲＴを受信すると、入力データバス１４１を経由して、Ｉ／Ｆ部１２６のデュアルポートＲＡＭ１３１へのデータ供給を再開する。
【００８２】
データ供給制御回路１５０の動作について、データ供給制御回路１５０の構成を示す図３を参照して説明する。
【００８３】
要求データ供給モードが選択され、モード選択信号ＭＯＤＥに「０」が入力された場合には、データ供給制御回路１５０において、否定論理積回路１７１は「１」を出力する。このとき、ＦＩＦＯメモリ読出要求信号ＲＤ＿ＲＥＱは、デュアルポートＲＡＭ１３１へのＦＩＦＯメモリ読出信号ＲＤとして、データ供給制御回路１５０から出力される。また、モード選択信号ＭＯＤＥは「０」であるため、論理積回路１７２からクロック制御部１２８に対してクロック停止信号ＣＬＫ＿ＳＴＯＰは出力されない。さらに、否定論理積回路１７３は、クロック再開信号ＣＬＫ＿ＳＴＡＲＴを出力する。
【００８４】
連続データ供給モードが選択され、モード選択信号ＭＯＤＥに「１」が入力された場合には、データ供給制御回路１５０において、エンプティ信号ＥＭＰＴＹが有効になる。エンプティ信号ＥＭＰＴＹに「１」が入力された場合には、論理積回路１７０の出力が無効になり、データ供給制御回路１５０からデュアルポートＲＡＭ３１へＦＩＦＯメモリ読出信号ＲＤは出力されない。また、論理積回路１７２からクロック制御部１２８へクロック停止信号ＣＬＫ＿ＳＴＯＰが出力される。さらに、否定論理積回路１７３からクロック再開信号ＣＬＫ＿ＳＴＡＲＴが出力されない。
【００８５】
一方、連続データ供給モードにおいて、エンプティ信号ＥＭＰＴＹに「０」入力された場合には、論理積回路１７０の出力が有効となり、データ供給制御回路１５０からデュアルポートＲＡＭ３１へＦＩＦＯメモリ読出信号ＲＤが出力される。また、論理積回路１７２からクロック制御部１２８に対してクロック停止信号ＣＬＫ＿ＳＴＯＰが出力されない。さらに、否定論理積回路１７３からクロック再開信号ＣＬＫ＿ＳＴＡＲＴが出力される。
【００８６】
データ供給制御回路１５０は、フル信号ＦＵＬＬとして「１」を受信した場合には、上位コンピュータ３０へデータ補充再開信号ＤＡＴＡ＿ＳＴＡＲＴを出力しない。一方、データ供給制御回路１５０は、フル信号ＦＵＬＬとして「０」を受信した場合には、上位コンピュータ３０へデータ補充再開信号ＤＡＴＡ＿ＳＴＡＲＴを出力する。
【００８７】
データ供給制御回路１５０は、フル信号ＦＵＬＬとして「１」を受信した場合には、上位コンピュータ３０へデータ補充停止信号ＤＡＴＡ＿ＳＴＯＰを出力する。一方、データ供給制御回路１５０は、フル信号ＦＵＬＬとして「０」を受信した場合には、上位コンピュータ３０へデータ補充停止信号ＤＡＴＡ＿ＳＴＯＰを出力しない。
【００８８】
次に、従来技術の問題点が解決されるメカニズムについて説明する。
【００８９】
本実施形態のインタフェース回路を設けた検証支援システムにおいては、上位コンピュータ３０からの連続的な転送データを受信する。また、上位コンピュータ３０とＦＰＧＡエミュレータとの間におけるデータ転送速度と、Ｉ／Ｆ部１２６と検査対象回路１２７との間におけるデータ転送速度とが異なる。Ｉ／Ｆ部１２６は、上位コンピュータ３０から出力されるモード選択信号ＭＯＤＥにより、連続データを転送する「連続データ供給モード」を設定することができる。また、Ｉ／Ｆ部１２６は、上位コンピュータ３０に対して、転送データの補充・再開を制御する。さらに、クロック制御部１２８は、転送状況に応じて、検査対象回路１２７へのクロック供給の開始・停止を制御する。
【００９０】
本実施形態のインタフェース回路によると、クロック制御部１２８から検査対象回路１２７へのクロック信号ＣＬＫの供給が行われている間は、つねにＩ／Ｆ部１２６から検査対象回路１２７へデータが供給される。したがって、上位コンピュータ３０から入力データバス１４１経由でＩ／Ｆ部１２６のデュアルポートＲＡＭ１３１へデータ供給する動作速度と、Ｉ／Ｆ部１２６から検査対象回路１２７へ出力データバス１４０経由でデータ供給する動作速度とが異なる場合においても、検査対象回路１２７へのデータ供給の連続性を維持することができる。
【００９１】
すなわち、本実施形態に係るインタフェース回路によると、Ｉ／Ｆ部１２６から検査対象回路１２７へのデータ供給の連続性を維持することができる。なぜなら、Ｉ／Ｆ部１２６のデュアルポートＲＡＭ１３１が空状態になると、検査対象回路１２７へのクロック供給を停止して検査対象回路１２７の動作を停止させるため、前後するデータ転送の間で連続性を保持することができるからである。
【００９２】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００９３】
２０、１２０    ＦＰＧＡエミュレータ
２１、１２１    プロセッサモデル
２２、１２２    プロセッサ回路
２３、１２３    プロセッサＩ／Ｆ
２４    ロジック回路
２５    メモリ
２６    インタフェース（Ｉ／Ｆ）手段
２７、１２７    検査対象回路
３０    上位コンピュータ
３１、１３１    デュアルポートＲＡＭ
３２、１３２    アドレス書き込み回路
３３、１３３    アドレス読み出し回路
３４、１３４    Ｆｕｌｌ−Ｅｍｐｔｙ制御回路
３５    アップダウンカウンタ
３６    ニアフル信号用設定レジスタ
３７    ニアエンプティ信号用設定レジスタ
３８    ニアフル信号用比較回路
３９    ニアエンプティ信号用比較回路
４０、１４０    出力データバス
４１、１４１    入力データバス
６０    ＦＩＦＯメモリ制御回路
１２６    インタフェース（Ｉ／Ｆ）部
１２８    クロック制御部
１５０    データ供給制御回路
１６０    インタフェース回路
１７０、１７２    論理積（ＡＮＤ）回路
１７１、１７３    否定論理積（ＮＡＮＤ）回路
１７４    否定（ＮＯＴ）回路
ＣＬＫ    クロック信号
ＣＬＫ＿ＳＴＡＲＴ    クロック再開信号
ＣＬＲ＿ＳＴＯＰ    クロック停止信号
ＤＡＴＡ＿ＳＴＡＲＴ    データ補充再開信号
ＤＡＴＡ＿ＳＴＯＰ    データ補充停止信号
ＥＭＰＴＹ    エンプティ信号
ＦＵＬＬ    フル信号
ＭＯＤＥ    モード選択信号
ＲＡ    読みだしアドレス信号
ＲＤ    ＦＩＦＯメモリ読出信号
ＲＤ＿ＲＥＱ    ＦＩＦＯメモリ読出要求信号
ＲＥＳＥＴ    リセット信号
ＷＡ    書き込みアドレス信号
ＷＲ＿ＲＥＱ    ＦＩＦＯメモリ書込要求信号
【図１】
2011187003.tif 000003
【図２】
2011187003.tif 000004
【図３】
2011187003.tif 000005
【図４】
2011187003.tif 000006
【図５】
2011187003.tif 000007