説明

インタフェース回路及び再構成可能集積回路装置

【課題】コンピュータとエミュレータとの間におけるデータ授受の速度と、I/F部と検査対象回路との間におけるデータ授受の速度とが異なる場合に、検査対象回路にデータを連続的に供給する。
【解決手段】インタフェース回路は、ハードウェアとソフトウェアの検証環境が実装されたコンピュータから受信したデータを保持するとともに、保持するデータをエミュレータ上に実現された検査対象回路へ出力するメモリと、メモリにデータが保持されているか否かを判定し、メモリにデータが保持されている場合には、検査対象回路にクロック信号を供給するとともに検査対象回路による前記メモリに対するメモリ読出し要求を許可し、メモリにデータが保持されていない場合には、検査対象回路へのクロック信号の供給を停止するとともに検査対象回路によるメモリに対するメモリ読出し要求を不可とするデータ供給制御回路と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インタフェース回路及び再構成可能集積回路装置に関し、特に、上位コンピュータと、エミュレータ上に実現された検査対象回路との間におけるインタフェース回路及びかかるインタフェース回路を備えた再構成可能集積回路装置に関する。
【背景技術】
【0002】
半導体集積回路の高速化、高機能化に伴い、検証装置であるエミュレータの機能も複雑化してきている。例えば、無線通信機能の検証を行なう場合において、エミュレータを制御するための上位コンピュータからエミュレータへ検証データを転送して、実際の半導体集積回路の動作に即した動作を模擬するには、エミュレータ上に設けられた検査対象回路に対して連続してデータを供給する必要がある。
【0003】
特許文献1において、FPGA(Field Programmable Gate Array)エミュレータの高速性を生かしつつ、ハードウェアとソフトウェアの協調検証を可能とした検証支援システムが記載されている。この検証支援システムでは、上位コンピュータはインタフェース(I/F)手段を介して、FPAGエミュレータ上の検査対象回路とのデータ授受を行なう。
【0004】
特許文献2において、インタフェース手段として用いられ、動作周波数の異なる装置間でのデータの授受を目的とするFIFOメモリ制御回路であって、デュアルポートRAM、アドレス書き込み回路、アドレス読み出し回路、及び、Full−Empty制御回路を備えたものが記載されている。
【0005】
図4は、特許文献1に記載された検証支援システムの構成を示すブロック図である。
【0006】
図4を参照すると、FPGAエミュレータ20にあるFPGAにはプロセッサモデル21が回路記述でマッピングしている。プロセッサモデル21は、オリジナルなプロセッサであるプロセッサ回路22、プロセッサI/F23及び検証ターゲットであるロジック回路24から構成される。ロジック回路24は、検証対象のプロセッサにある論理回路の中でプロセッサモデル21以外の論理回路である。ロジック回路24には、例えば、ユーザロジックが搭載される。また、ロジック回路24は、特定用途向けICであってもよい。
【0007】
FPGAエミュレータ20には、メモリ25とI/F手段26が実装されている。メモリ25には、プロセッサが実行するプログラムやデータが格納される。一般に、メモリ25は、FPGAと緊密に接続されるが、FPGAにマッピングされることはほとんどない。I/F手段26は、FPGAエミュレータ20と上位コンピュータ30とを接続する。
【0008】
上位コンピュータ30には、ハードウェアとソフトウェアの検証環境が実装されている。上位コンピュータ30は、I/F手段26を介することによって、エミュレータへの起動、プロセッサの内部状態の確認、ブレーク条件の設定等のソフトウェア検証と、ロジック回路24の内部信号やプロセッサへの割り込み信号等でブレークするためのハードウェア検証が可能になる。
【0009】
上位コンピュータ30に実装され、ソフトウェアのコードから実行アドレス及びデータの条件を算出し、ソースコード検証、プロセッサのレジスタ表示、アセンブラコードへの逆変換を含む検証を行うソフトウェア検証手段を設け、このI/F手段26を介してソフトウェア検証手段とFPGAにマッピングした検証用論理とをインタフェースしてもよい。
【0010】
図5は、特許文献2に記載されたFIFOメモリ制御回路60の構成を示すブロック図である。FIFOメモリ制御回路60は、図4のI/F手段26に相当する。
【0011】
図5を参照すると、FIFOメモリ制御回路60は、kワード構成のデュアルポートRAM31と、デュアルポートRAM31の書き込みアドレスを発生するアドレス書き込み回路32と、デュアルポートRAM31の読みだしアドレスを発生するアドレス読み出し回路33と、アドレス読み出し回路33の出力である読みだしアドレス信号RA及びアドレス書き込み回路の出力である書き込みアドレス信号WAからデュアルポートRAM31内の有効データの状態を示すFull−Empty制御回路34とを備えている。
【0012】
また、FIFOメモリ制御回路60は、デュアルポートRAM31へ書込信号WRが与えられるごとにカウントアップ動作を行ない、デュアルポートRAM31へ読出信号RDが与えられるごとにカウントダウン動作を行なうアップダウンカウンタ35と、デュアルポートRAM31が満杯に近いことを示すニアフル信号Near−Fullを出力させるためのアップダウンカウンタ35のカウント値を設定するニアフル信号用設定レジスタ36と、デュアルポートRAM31が空に近いことを示すニアエンプティ信号Near−Emptyを出力させるためのアップダウンカウンタ35のカウント値を設定するニアエンプティ信号用設定レジスタ37とを備えている。
【0013】
さらに、FIFOメモリ制御回路60は、実際のアップダウンカウンタ35のカウント値Aとニアフル信号用設定レジスタ36に設定されたカウント値Bを比較してA≧Bを満たすときにニアフル信号Near−Fullを出力(アサート)するコンパレータなどで構成されたニアフル信号用比較回路38と、実際のアップダウンカウンタ35のカウント値Aとニアエンプティ信号用設定レジスタ37に設定されたカウント値Bを比較してA≦Bを満たすときにニアエンプティ信号Near−Emptyを出力(アサート)するコンパレータなどで構成されたニアエンプティ信号用比較回路39とを備えている。
【0014】
なお、ニアフル信号用設定レジスタ36及びニアフル信号用比較回路38はニアフル信号出力回路を構成し、ニアエンプティ信号用設定レジスタ37及びニアエンプティ信号用比較回路39はニアエンプティ信号出力回路を構成する。ニアフル信号用設定レジスタ36は、CPUからのレジスタ書込信号NFCKに基づいてデータを書込むことにより、カウント値を設定することができる。また、ニアエンプティ信号用設定レジスタ37も、CPUからのレジスタ書込信号NECKに基づいてデータを書込むことにより、カウント値を設定することができる。
【0015】
アドレス書き込み回路32には、初期化のために外部からリセット信号RESETが接続されており、アドレス読み出し回路33には初期化のために外部からリセット信号RESETが接続されている。また、アップダウンカウンタ35には初期化のために外部からリセット信号RESETが接続されている。さらに、ニアフル信号用設定レジスタ36及びニアエンプティ信号用設定レジスタ37にも、初期化のために外部からリセット信号RESETが接続されている。
【0016】
また、読みだしアドレス信号RAはデュアルポートRAM31の読みだしアドレス端子(RA端子)に接続されており、書き込みアドレス信号WAはデュアルポートRAM31の書き込みアドレス端子(WA端子)に接続されている。さらに、読みだしアドレス信号RA及び書き込みアドレス信号WAはFull−Empty制御回路34に接続されている。
【0017】
Full−Empty制御回路34からは、アドレス書き込み回路32への書き込みアドレス信号WA、アドレス読み出し回路33の読みだしアドレス信号RAに基づいてデュアルポートRAM31内の有効データの状態を示すフル信号Fullとエンプティ信号Emptyが外部に出力されている。フル信号Fullは、デュアルポートRAM31が満杯のときに出力され、エンプティ信号Emptyは、デュアルポートRAM31が空のときに出力される。具体的には、フル信号FullはデュアルポートRAM31にkワードのデータが書込まれた時にアサートされ、エンプティ信号EmptyはデュアルポートRAM31に0ワードのデータが書込まれた時にアサートされる。
【0018】
外部から入力されるFIFOメモリ書込信号WRは、デュアルポートRAM31の書込端子(WR端子)とアドレス書き込み回路32とアップダウンカウンタ35のUP端子に接続されている。また、外部から入力されるFIFOメモリ読出信号RDは、デュアルポートRAM31の読出端子(RD端子)とアドレス読み出し回路33とアップダウンカウンタ35のDOWN端子に接続されている。さらに、外部から入力されるFIFOメモリチップセレクト信号CSはデュアルポートRAM31のチップセレクト端子(CS端子)に接続されている。
【0019】
また、外部へデータを出力する出力データバス40は、デュアルポートRAM31の読出データバス端子(RDATA端子)に接続されており、外部からのデータを入力する入力データバス41はデュアルポートRAM31の書込データバス端子(WDATA端子)、ニアフル信号用設定レジスタ36、ニアエンプティ信号用設定レジスタ37に接続されている。
【0020】
また、外部から入力されるニアフルレジスタ書込信号NFCKはニアフル信号用設定レジスタ36のNFCK端子に接続されており、外部から入力されるニアエンプティ書込信号NECKはニアエンプティ信号用設定レジスタ37のNECK端子に接続されている。
【0021】
上記アップダウンカウンタ35の出力端子(CNTQ端子)は、ニアフル信号用比較回路38のA端子とニアエンプティ信号用比較回路39のA端子に接続されている。ニアフル信号用設定レジスタ36の出力端子(NFQ端子)はニアフル信号用比較回路38のB端子に接続されており、ニアエンプティ信号用設定レジスタ37の出力端子(NEQ端子)はニアエンプティ信号用比較回路39のB端子に接続されている。
【先行技術文献】
【特許文献】
【0022】
【特許文献1】特開2001−209556号公報(第6、7頁、図1)
【特許文献2】特開平11−175310号公報(第6、7頁、図1)
【発明の概要】
【発明が解決しようとする課題】
【0023】
以下の分析は、本発明者によってなされたものである。
【0024】
特許文献1に記載された検証支援システムによると、上位コンピュータ30とFPGAエミュレータ20の間のデータ授受の動作速度が、I/F手段26と検査対象回路27の間のデータ授受の動作速度より遅い場合に、I/F手段26内のデュアルポートRAM31が空以外の状態で、I/F手段26から検査対象回路27へデータが供給される。しかしながら、I/F手段26内のデュアルポートRAM31が空状態となったとき、I/F手段26内のデュアルポートRAM31には検査対象回路27へ供給するデータが存在しない。このとき、I/F手段26から検査対象回路27に対してデータを供給することができない。
【0025】
したがって、I/F手段26内のデュアルポートRAM31が空状態の場合に、検査対象回路27から読出信号RDが出力(アサート)されたときには、I/F手段26から検査対象回路27へ供給するデータが存在せず、検査対象回路27へのデータの供給を継続することができない。
【0026】
すなわち、特許文献1に記載された検証支援システムによると、データを継続的に供給する必要がある検査対象回路の検証において、検査対象回路に対するデータの供給を継続することができず、データの授受が破綻する恐れがある。
【0027】
そこで、上位コンピュータとエミュレータとの間におけるデータ授受の速度と、エミュレータのI/F手段と検査対象回路との間におけるデータ授受の速度とが異なる場合に、検査対象回路にデータを連続的に(すなわち、破綻することなく継続的に)供給することが課題となる。本発明の目的は、かかる課題を解決するインタフェース回路及び再構成可能集積回路装置を提供することにある。
【課題を解決するための手段】
【0028】
本発明の第1の視点に係るインタフェース回路は、
ハードウェアとソフトウェアの検証環境が実装されたコンピュータから受信したデータを保持するとともに、保持するデータをエミュレータ上に実現された検査対象回路へ出力するメモリと、
前記メモリにデータが保持されているか否かを判定し、前記メモリにデータが保持されている場合には、前記検査対象回路にクロック信号を供給するとともに前記検査対象回路による前記メモリに対するメモリ読出し要求を許可し、前記メモリにデータが保持されていない場合には、前記検査対象回路へのクロック信号の供給を停止するとともに前記検査対象回路による前記メモリに対するメモリ読出し要求を不可とするデータ供給制御回路と、を備えている。
【0029】
本発明の第2の視点に係る再構成可能集積回路装置は、上記インタフェース回路を備えている。
【発明の効果】
【0030】
本発明に係るインタフェース回路及び再構成可能集積回路装置によると、上位コンピュータとエミュレータとの間におけるデータ授受の速度と、エミュレータのI/F手段と検査対象回路との間におけるデータ授受の速度とが異なる場合に、検査対象回路にデータを連続的に(すなわち、破綻することなく継続的に)供給することができる。
【図面の簡単な説明】
【0031】
【図1】本発明の実施形態に係るインタフェース回路を設けた検証支援システムの構成を示すブロック図である。
【図2】本発明の実施形態に係るインタフェース回路の構成を示すブロック図である。
【図3】本発明の実施形態に係るインタフェース回路のFIFOメモリ制御回路におけるデータ供給制御回路の構成を一例として示す回路図である。
【図4】特許文献1に記載された検証支援システムの構成を示すブロック図である。
【図5】特許文献2に記載されたFIFOメモリ制御回路の構成を示すブロック図である。
【発明を実施するための形態】
【0032】
本発明の第1の展開形態によると、上記第1の視点に係るインタフェース回路が提供される。
【0033】
本発明の第2の展開形態によると、
前記メモリは、メモリ読出し要求信号に応じて保持するデータを前記検査対象回路へ出力し、
前記データ供給制御回路は、前記メモリにデータが保持されている場合には、前記検査対象回路から受信したメモリ読出し要求信号を前記メモリに転送し、前記メモリにデータが保持されていない場合には、前記検査対象回路から受信したメモリ読出し要求信号を前記メモリに転送しないようにする、インタフェース回路が提供される。
【0034】
本発明の第3の展開形態によると、前記データ供給制御回路は、前記メモリにデータを保持し得るか否かを判定し、前記メモリにデータを保持し得る場合には、前記コンピュータに前記メモリへデータを供給させ、前記メモリにデータを保持し得ない場合には、前記コンピュータに前記メモリへのデータの供給を停止させる、インタフェース回路が提供される。
【0035】
本発明の第4の展開形態によると、前記データ供給制御回路は、前記メモリにおけるデータの蓄積状況に応じて、前記メモリにデータを保持し得るか否かを判定する、インタフェース回路が提供される。
【0036】
本発明の第5の展開形態によると、前記データ供給制御回路は、所定のモード選択信号を受信した場合には、前記メモリにデータが保持されているか否かに依らず、前記検査対象回路にクロック信号を供給するとともに、前記検査対象回路による前記メモリに対するメモリ読出し要求を許可する、インタフェース回路が提供される。
【0037】
本発明の第6の展開形態によると、
前記メモリに対する書き込みアドレス信号及び読み出しアドレス信号を参照して、前記メモリにデータが保持されているか否かを判定するFull−Empty制御回路をさらに備え、
前記データ供給制御回路は、前記Full−Empty制御回路による判定結果に基づいて、前記メモリにデータが保持されているか否かを判定する、インタフェース回路が提供される。
【0038】
本発明の第7の展開形態によると、
前記Full−Empty制御回路は、前記書き込みアドレス信号及び前記読み出しアドレス信号を参照して、前記メモリにデータを保持し得るか否かを判定し、
前記データ供給制御回路は、前記Full−Empty制御回路による判定結果に基づいて、前記メモリにデータを保持し得るか否かを判定する、インタフェース回路が提供される。
【0039】
本発明の第8の展開形態によると、前記メモリは、デュアルポートRAMである、インタフェース回路が提供される。
【0040】
本発明の第9の展開形態によると、上記第1乃至8のいずれか一の展開形態に係るインタフェース回路を備えている再構成可能集積回路装置が提供される。
【0041】
本発明に係るインタフェース回路及び再構成可能集積回路装置によると、上位コンピュータとエミュレータ間のデータ授受と、I/F手段と検査対象回路間のデータ授受との間いで動作速度が異なる場合であっても、検査対象側のクロック供給を制御(開始/停止)することにより、前後するデータ転送の間における連続性(ないし、データ転送の継続性)を維持することができる。
【0042】
(実施形態)
本発明の実施形態に係るインタフェース回路について、図面を参照して説明する。図1は、本実施形態のインタフェース回路を設けた検証支援システムの構成を示すブロック図である。
【0043】
図1を参照すると、検証支援システムは、上位コンピュータ30と、FPGAエミュレータ120とを備えている。
【0044】
図1において、FPGAエミュレータ120に含まれるFPGAには、プロセッサモデル121が回路記述としてマッピングされている。
【0045】
検査対象回路127は、オリジナルなプロセッサであるプロセッサ回路122とプロセッサI/F123とを含むプロセッサモデル121と、検証ターゲットであるロジック回路24とを備えている。
【0046】
ロジック回路24は、検証対象の検査対象回路127にある論理回路の中でプロセッサモデル121以外の論理回路である。
【0047】
FPGAエミュレータ120には、さらに、メモリ25とインタフェース(I/F)部126が実装されている。メモリ25には、プロセッサが実行するプログラムやデータが格納される。
【0048】
FPGAエミュレータ120には、さらに、検査対象回路127のクロックを制御するためのクロック制御部128が実装されている。
【0049】
I/F部126は、インタフェース回路160を備え、FPGAエミュレータ120と上位コンピュータ30とを接続する。
【0050】
上位コンピュータ30は、ハードウェアとソフトウェアの検証環境が実装されている。上位コンピュータ30は、データ授受を行う際、I/F部126から検査対象回路127へのデータ転送方法をモード選択信号MODEによって選択する。
【0051】
上位コンピュータ30は、I/F部126からデータ補充再開信号DATA_STARTを受信すると、入力データバス141を介してI/F部126へのデータの転送を開始し、I/F部126のデュアルポートRAM131にデータを蓄積する。また、上位コンピュータ30は、I/F部126からデータ補充停止信号DATA_STOPを受信すると、I/F部126へのデータの転送を停止し、デュアルポートRAM131へのデータ供給を停止する。
【0052】
I/F部126は、出力データバス140を介して検査対象回路127に対するデータ授受を行なうために、デュアルポートRAM131の状態に応じて、クロック停止信号CLK_STOP及びクロック再開信号CLK_STARTをクロック制御部128に出力する。
【0053】
図2は、本実施形態におけるI/F部126に含まれるインタフェース回路160の構成を示すブロック図である。
【0054】
図2を参照すると、インタフェース回路160は、デュアルポートRAM131と、デュアルポートRAM131の書き込みアドレスを発生するアドレス書き込み回路132と、デュアルポートRAM131の読みだしアドレスを発生するアドレス読み出し回路133と、モード選択により通常データ要求読み出し機能と連続データ読み出し機能とを制御するデータ供給制御回路150と、アドレス読み出し回路133の出力である読みだしアドレス信号RA及びアドレス書き込み回路132の出力である書き込みアドレス信号WAからデュアルポートRAM131内の有効データの状態を示すFull−Empty制御回路134とを備えている。
【0055】
アドレス書き込み回路132、アドレス読み出し回路133、及び、データ供給制御回路150には、それぞれ、初期化のために外部からリセット信号RESETが接続されている。
【0056】
連続データ供給モードと要求データ供給モードを選択するためのモード選択信号MODEは、データ供給制御回路150に接続されている。
【0057】
読みだしアドレス信号RA及び書き込みアドレス信号WAは、それぞれ、デュアルポートRAM131及びFull−Empty制御回路134に接続されている。
【0058】
Full−Empty制御回路134は、アドレス書き込み回路132の書き込みアドレス信号WAとアドレス読み出し回路133の読みだしアドレス信号RAを参照し、デュアルポートRAM131内のデータ蓄積状態を示すフル信号FULLとエンプティ信号EMPTYを出力する。フル信号FULLは、デュアルポートRAM131が満状態のときに出力され、エンプティ信号EMPTYは、デュアルポートRAM131が空状態のときに出力される。
【0059】
外部から入力されるFIFOメモリ書込要求信号WR_REQは、デュアルポートRAM131とアドレス書き込み回路132に接続されている。外部から入力されるFIFOメモリ読出要求信号RD_REQは、データ供給制御回路150に接続されている。データ供給制御回路150から出力されるFIFOメモリ読出信号RDはデュアルポートRAM131とアドレス読み出し回路133に接続されている。
【0060】
外部へデータを出力する出力データバス140、及び、外部からのデータを入力する入力データバス141は、それぞれ、デュアルポートRAM131に接続されている。
【0061】
データ供給制御回路150は、クロック停止信号CLK_STOPと、クロック再開信号CLK_STARTと、データ補充再開信号DATA_STARTと、データ補充停止信号DATA_STOPを出力する。
【0062】
図3は、本実施形態におけるデータ供給制御回路150の構成を一例として示す回路図である。
【0063】
図3を参照すると、データ供給制御回路150は、論理積(AND)回路170、172と、否定論理積(NAND)回路171、173と、否定(NOT)回路174とを備えている。
【0064】
否定回路174は、フル信号FULLを入力とし、データ補充再開信号DATA_STARTを出力する。
【0065】
データ補充停止信号DATA_STOPとして、入力されたフル信号FULLがそのまま出力される。
【0066】
否定論理積回路171は、モード選択信号MODEとエンプティ信号EMPTYを入力とし、これらの否定論理積を論理積回路170へ出力する。
【0067】
論理積回路170は、FIFOメモリ読出要求信号RD_REQと否定論理積回路171の出力値を入力とし、これらの論理積をFIFOメモリ読出信号RDとして、デュアルポートRAM31へ出力する。
【0068】
論理積回路172は、モード選択信号MODEとエンプティ信号EMPTYを入力とし、これらの論理積をクロック停止信号CLK_STOPとして出力する。
【0069】
否定論理積回路173は、モード選択信号MODEとエンプティ信号EMPTYを入力とし、これらの否定論理積をクロック再開信号CLK_STARTとして出力する。
【0070】
上位コンピュータ30は、I/F部126へ出力するモード選択信号MODEを「0」とすることにより、「要求データ供給モード」を選択する。一方、上位コンピュータ30は、I/F部126へ出力するモード選択信号MODEを「1」とすることにより、「連続データ供給モード」を選択する。
【0071】
要求データ供給モードとは、I/F部126が従来技術のFIFOメモリ制御動作と同様の動作を行うモードをいう。連続データ供給モードとは、I/F部126から検査対象回路127へのデータ供給の連続性を維持しつつデータ供給するモードをいう。
【0072】
連続データ供給モードにおける動作は、次の通りである。まず、検査動作開始時に、上位コンピュータ30から入力データバス141経由でI/F部126のデュアルポートRAM131にデータを供給し、デュアルポートRAM131が空状態でなくなったとき、I/F部126はクロック制御部128へクロック再開信号CLK_STARTを出力し、クロック制御部128は検査対象回路127へクロック信号CLKを出力する。これにより、検査対象回路127は動作を開始する。
【0073】
検査動作開始後は、データの読み出しを要求するFIFOメモリ読出要求信号RD_REQが、検査対象回路127からI/F部126へ出力(アサート)されると、出力データバス140を経由して、I/F部126から検査対象回路127へデータRDATAが供給される。
【0074】
データの書き込み要求する信号FIFOメモリ書込要求信号WR_REQが、上位コンピュータ30からI/F部126へ出力(アサート)されると、入力データバス141を経由して、上位コンピュータ30からI/F部126へデータWDATAが供給される。
【0075】
I/F部126のデュアルポートRAM131が空状態となった場合に、検査対象回路127が動作し続けると、デュアルポートRAM131には検査対象回路127へ供給するデータが存在しないことから、出力データバス140を経由してI/F部126から検査対象回路127へデータを供給することができず、検査対象回路127に対するデータ供給の連続性が維持できなくなる。
【0076】
I/F部126のデュアルポートRAM131が空状態になると、I/F部126は、クロック制御部128へクロック停止信号CLK_STOPを出力する。クロック制御部128は、クロック停止信号CLK_STOPを受信すると、検査対象回路127へのクロック信号CLKの出力を停止する。このとき、検査対象回路127のプロセッサモデル121及びロジック回路24の動作が停止するととともに、出力データバス140を経由したI/F部126から検査対象回路127へのデータの供給も停止する。
【0077】
上位コンピュータ30は、検査対象回路127の動作停止中においても、入力データバス141を経由して、上位コンピュータ30からI/F部126のデュアルポートRAM131へデータを供給し続ける。
【0078】
これにより、I/F部126のデュアルポートRAM131が空状態でなくなると、I/F部126は、クロック制御部128へクロック再開信号CLK_STARTを出力する。クロック制御部128は、クロック再開信号CLK_STARTを受信すると、検査対象回路127へクロック信号CLKのクロック入力を開始する。このとき、検査対象回路127の回路プロセッサモデル121及びロジック回路24の動作が開始され、出力データバス140を経由してI/F部126から検査対象回路127へデータが供給される。
【0079】
I/F部126内のデュアルポートRAM131が満状態となった場合に、入力データバス141を経由して、上位コンピュータ30からI/F部126のデュアルポートRAM131へデータを供給し続けると、デュアルポートRAM131において、データを蓄える領域が存在せず、データがあふれることになり、あふれたデータは検査対象回路127へ供給することができずデータが欠損する。
【0080】
I/F部126のデュアルポートRAM131が満状態となると、I/F部126は、上位コンピュータ30へデータ補充停止信号DATA_STOPを出力する。上位コンピュータ30は、データ補充停止信号DATA_STOPを受信すると、I/F部126のデュアルポートRAM131への入力データバス141を経由したデータ供給を停止する。
【0081】
出力データバス140を経由してI/F部126から検査対象回路127へデータが供給され、I/F部126のデュアルポートRAM131が満状態から満状態でない状態へ遷移すると、I/F部126は、上位コンピュータ30へデータ補充再開信号DATA_STARTを出力する。上位コンピュータ30は、データ補充再開信号DATA_STARTを受信すると、入力データバス141を経由して、I/F部126のデュアルポートRAM131へのデータ供給を再開する。
【0082】
データ供給制御回路150の動作について、データ供給制御回路150の構成を示す図3を参照して説明する。
【0083】
要求データ供給モードが選択され、モード選択信号MODEに「0」が入力された場合には、データ供給制御回路150において、否定論理積回路171は「1」を出力する。このとき、FIFOメモリ読出要求信号RD_REQは、デュアルポートRAM131へのFIFOメモリ読出信号RDとして、データ供給制御回路150から出力される。また、モード選択信号MODEは「0」であるため、論理積回路172からクロック制御部128に対してクロック停止信号CLK_STOPは出力されない。さらに、否定論理積回路173は、クロック再開信号CLK_STARTを出力する。
【0084】
連続データ供給モードが選択され、モード選択信号MODEに「1」が入力された場合には、データ供給制御回路150において、エンプティ信号EMPTYが有効になる。エンプティ信号EMPTYに「1」が入力された場合には、論理積回路170の出力が無効になり、データ供給制御回路150からデュアルポートRAM31へFIFOメモリ読出信号RDは出力されない。また、論理積回路172からクロック制御部128へクロック停止信号CLK_STOPが出力される。さらに、否定論理積回路173からクロック再開信号CLK_STARTが出力されない。
【0085】
一方、連続データ供給モードにおいて、エンプティ信号EMPTYに「0」入力された場合には、論理積回路170の出力が有効となり、データ供給制御回路150からデュアルポートRAM31へFIFOメモリ読出信号RDが出力される。また、論理積回路172からクロック制御部128に対してクロック停止信号CLK_STOPが出力されない。さらに、否定論理積回路173からクロック再開信号CLK_STARTが出力される。
【0086】
データ供給制御回路150は、フル信号FULLとして「1」を受信した場合には、上位コンピュータ30へデータ補充再開信号DATA_STARTを出力しない。一方、データ供給制御回路150は、フル信号FULLとして「0」を受信した場合には、上位コンピュータ30へデータ補充再開信号DATA_STARTを出力する。
【0087】
データ供給制御回路150は、フル信号FULLとして「1」を受信した場合には、上位コンピュータ30へデータ補充停止信号DATA_STOPを出力する。一方、データ供給制御回路150は、フル信号FULLとして「0」を受信した場合には、上位コンピュータ30へデータ補充停止信号DATA_STOPを出力しない。
【0088】
次に、従来技術の問題点が解決されるメカニズムについて説明する。
【0089】
本実施形態のインタフェース回路を設けた検証支援システムにおいては、上位コンピュータ30からの連続的な転送データを受信する。また、上位コンピュータ30とFPGAエミュレータとの間におけるデータ転送速度と、I/F部126と検査対象回路127との間におけるデータ転送速度とが異なる。I/F部126は、上位コンピュータ30から出力されるモード選択信号MODEにより、連続データを転送する「連続データ供給モード」を設定することができる。また、I/F部126は、上位コンピュータ30に対して、転送データの補充・再開を制御する。さらに、クロック制御部128は、転送状況に応じて、検査対象回路127へのクロック供給の開始・停止を制御する。
【0090】
本実施形態のインタフェース回路によると、クロック制御部128から検査対象回路127へのクロック信号CLKの供給が行われている間は、つねにI/F部126から検査対象回路127へデータが供給される。したがって、上位コンピュータ30から入力データバス141経由でI/F部126のデュアルポートRAM131へデータ供給する動作速度と、I/F部126から検査対象回路127へ出力データバス140経由でデータ供給する動作速度とが異なる場合においても、検査対象回路127へのデータ供給の連続性を維持することができる。
【0091】
すなわち、本実施形態に係るインタフェース回路によると、I/F部126から検査対象回路127へのデータ供給の連続性を維持することができる。なぜなら、I/F部126のデュアルポートRAM131が空状態になると、検査対象回路127へのクロック供給を停止して検査対象回路127の動作を停止させるため、前後するデータ転送の間で連続性を保持することができるからである。
【0092】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【0093】
20、120 FPGAエミュレータ
21、121 プロセッサモデル
22、122 プロセッサ回路
23、123 プロセッサI/F
24 ロジック回路
25 メモリ
26 インタフェース(I/F)手段
27、127 検査対象回路
30 上位コンピュータ
31、131 デュアルポートRAM
32、132 アドレス書き込み回路
33、133 アドレス読み出し回路
34、134 Full−Empty制御回路
35 アップダウンカウンタ
36 ニアフル信号用設定レジスタ
37 ニアエンプティ信号用設定レジスタ
38 ニアフル信号用比較回路
39 ニアエンプティ信号用比較回路
40、140 出力データバス
41、141 入力データバス
60 FIFOメモリ制御回路
126 インタフェース(I/F)部
128 クロック制御部
150 データ供給制御回路
160 インタフェース回路
170、172 論理積(AND)回路
171、173 否定論理積(NAND)回路
174 否定(NOT)回路
CLK クロック信号
CLK_START クロック再開信号
CLR_STOP クロック停止信号
DATA_START データ補充再開信号
DATA_STOP データ補充停止信号
EMPTY エンプティ信号
FULL フル信号
MODE モード選択信号
RA 読みだしアドレス信号
RD FIFOメモリ読出信号
RD_REQ FIFOメモリ読出要求信号
RESET リセット信号
WA 書き込みアドレス信号
WR_REQ FIFOメモリ書込要求信号

【特許請求の範囲】
【請求項1】
ハードウェアとソフトウェアの検証環境が実装されたコンピュータから受信したデータを保持するとともに、保持するデータをエミュレータ上に実現された検査対象回路へ出力するメモリと、
前記メモリにデータが保持されているか否かを判定し、前記メモリにデータが保持されている場合には、前記検査対象回路にクロック信号を供給するとともに前記検査対象回路による前記メモリに対するメモリ読出し要求を許可し、前記メモリにデータが保持されていない場合には、前記検査対象回路へのクロック信号の供給を停止するとともに前記検査対象回路による前記メモリに対するメモリ読出し要求を不可とするデータ供給制御回路と、を備えていることを特徴とするインタフェース回路。
【請求項2】
前記メモリは、メモリ読出し要求信号に応じて保持するデータを前記検査対象回路へ出力し、
前記データ供給制御回路は、前記メモリにデータが保持されている場合には、前記検査対象回路から受信したメモリ読出し要求信号を前記メモリに転送し、前記メモリにデータが保持されていない場合には、前記検査対象回路から受信したメモリ読出し要求信号を前記メモリに転送しないようにすることを特徴とする、請求項1に記載のインタフェース回路。
【請求項3】
前記データ供給制御回路は、前記メモリにデータを保持し得るか否かを判定し、前記メモリにデータを保持し得る場合には、前記コンピュータに前記メモリへデータを供給させ、前記メモリにデータを保持し得ない場合には、前記コンピュータに前記メモリへのデータの供給を停止させることを特徴とする、請求項1又は2に記載のインタフェース回路。
【請求項4】
前記データ供給制御回路は、前記メモリにおけるデータの蓄積状況に応じて、前記メモリにデータを保持し得るか否かを判定することを特徴とする、請求項3に記載のインタフェース回路。
【請求項5】
前記データ供給制御回路は、所定のモード選択信号を受信した場合には、前記メモリにデータが保持されているか否かに依らず、前記検査対象回路にクロック信号を供給するとともに、前記検査対象回路による前記メモリに対するメモリ読出し要求を許可することを特徴とする、請求項1乃至4のいずれか1項に記載のインタフェース回路。
【請求項6】
前記メモリに対する書き込みアドレス信号及び読み出しアドレス信号を参照して、前記メモリにデータが保持されているか否かを判定するFull−Empty制御回路をさらに備え、
前記データ供給制御回路は、前記Full−Empty制御回路による判定結果に基づいて、前記メモリにデータが保持されているか否かを判定することを特徴とする、請求項1乃至5のいずれか1項に記載のインタフェース回路。
【請求項7】
前記Full−Empty制御回路は、前記書き込みアドレス信号及び前記読み出しアドレス信号を参照して、前記メモリにデータを保持し得るか否かを判定し、
前記データ供給制御回路は、前記Full−Empty制御回路による判定結果に基づいて、前記メモリにデータを保持し得るか否かを判定することを特徴とする、請求項6に記載のインタフェース回路。
【請求項8】
前記メモリは、デュアルポートRAMであることを特徴とする、請求項1乃至7のいずれか1項に記載のインタフェース回路。
【請求項9】
請求項1乃至8のいずれか1項に記載のインタフェース回路を備えていることを特徴とする再構成可能集積回路装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−187003(P2011−187003A)
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願番号】特願2010−54378(P2010−54378)
【出願日】平成22年3月11日(2010.3.11)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】