JP4743427B2 - 回路動作検証方法 - Google Patents

回路動作検証方法 Download PDF

Info

Publication number
JP4743427B2
JP4743427B2 JP2006160093A JP2006160093A JP4743427B2 JP 4743427 B2 JP4743427 B2 JP 4743427B2 JP 2006160093 A JP2006160093 A JP 2006160093A JP 2006160093 A JP2006160093 A JP 2006160093A JP 4743427 B2 JP4743427 B2 JP 4743427B2
Authority
JP
Japan
Prior art keywords
circuit
verified
clock
divided
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006160093A
Other languages
English (en)
Other versions
JP2007328622A (ja
Inventor
創司 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006160093A priority Critical patent/JP4743427B2/ja
Publication of JP2007328622A publication Critical patent/JP2007328622A/ja
Application granted granted Critical
Publication of JP4743427B2 publication Critical patent/JP4743427B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、複数の被検証分割回路に分割され、複数の被検証分割回路間で相互通信を行うことで動作するような被検証回路の動作検証を実行する回路動作検証方法に関し、特に、大規模な被検証回路の動作検証を実行する回路動作検証方法に関する。
ディジタルLSI(Large Scale Integration)に実装できる回路規模が年々大きくなっていることに伴って、ディジタルLSIの動作検証の高速化を図ることが重要な課題となっている。
近年、ディジタルLSIのような大規模回路を被検証回路とし、その動作検証の高速化を図るための回路動作検証方法として、回路を実装できるFPGA(Field Programmable Gate Array),CPLD(Complex Programmable Logic Device)などの検証用デバイスを用いる構成が研究されている。
例えば、特許文献1には、被検証回路を分割して得られた複数の被検証分割回路をそれぞれ実装した複数の検証用デバイスと、被検証分割回路のそれぞれの機能的動作をシミュレーションにより実現するための複数のシミュレーション手段と、複数のシミュレーション手段を接続して複数のシミュレーション手段間の相互通信を可能にするバスと、バスを制御するバス制御手段と、バス制御手段を制御して複数のシミュレーション手段間で相互通信を行わせることにより被検証回路の機能的動作の検証を実行する上位制御手段とを有する回路動作検証装置を使用した回路動作検証方法が提案されている。
この回路動作検証方法によれば、被検証回路を分割して得られた複数の被検証分割回路のそれぞれを複数の検証用デバイスに実装しているため、大規模な被検証回路の動作検証を実行することが可能である。また、この回路動作検証方法によれば、その検証の際には、バスを介して被検証分割回路間で相互通信を行わせ、上位制御手段からクロック信号等の制御信号を入力することによって動作検証を実行する。
特許文献1には、被検証回路の動作検証の高速化を図るために、次のような回路分割方法が提案されている。
・被検証分割回路間で貫通パス(被検証分割回路の入力信号と出力信号との間に、クロックで同期するメモリ等の同期素子が1つもないパス)の本数が最も少なくなるように被検証回路を分割する回路分割方法。貫通パスが少ないと通信回数は少なくなる。
・被検証分割回路間をまたぐパスの信号変化率を基に通信発生回数が最も少なくなるように被検証回路を分割する回路分割方法。
上記の2つの回路分割方法はいずれも、検証用デバイス間で必要な通信回数が減るように被検証回路を分割することによって、被検証回路の動作検証を高速化する方法である。
特開2005−84957号公報
ところで、被検証分割回路間をまたぐパスを介した通信が必要となるタイミングは、以下の2つの条件を満たしている時である。
条件1)被検証分割回路間をまたぐパスの信号値が変化した後
条件2)被検証分割回路間をまたぐパスの通信先の同期素子がパスの信号値をラッチする前
例えば、パスの信号値が変化していないのなら、通信を行う必要はない。また、パスの信号値が変化したとても通信先の同期素子がその信号値をラッチしないのなら、通信を行う必要はない。
条件1は、通信元の同期素子による条件であり、条件2は、通信先の同期素子による条件である。
特許文献1で提案されている回路分割方法のうち、被検証分割回路間をまたぐパスの信号変化率を基に通信発生回数が最も少なくなるような回路分割方法は、条件1の方に注目した手法である。
しかし、特許文献1では、条件2については注目していないため、十分に通信回数を減らせるような回路分割ができてはいない。また、クロック入力とデバイス間通信のスケジュールを決定する時にも、不必要な通信を行っている。
本発明の目的は、被検証回路の動作検証時に被検証分割回路の通信回数をさらに減らし、動作検証の高速化を図ることができる回路動作検証方法を提供することにある。
上記目的を達成するために本発明は、
複数の被検証分割回路に分割され、当該複数の被検証分割回路間でバスを介して相互通信を行うような被検証回路の動作検証を実行する回路動作検証方法であって、
前記被検証回路内の、クロックで同期する同期素子の同期方法を調査する調査ステップと、
前記調査ステップによる調査結果に基づいて、前記被検証分割回路間をまたぐパスの通信先の同期素子が当該パスの信号値をラッチする回数が最小となるように、前記被検証回路を複数の被検証分割回路に分割する分割ステップと、
前記複数の被検証分割回路間でバスを介して相互通信を行わせて前記被検証回路の動作検証を実行する検証ステップとを有する。
この構成によれば、特許文献1では注目されていないパスの通信先の同期素子に注目し、通信先の同期素子がパスの信号値をラッチする回数が最小となるように回路分割を行うため、特許文献1に開示された発明よりも、被検証回路の動作検証時の被検証分割回路の通信回数を効果的に減らし、動作検証の高速化を図ることができる。
具体的には、本発明の第1の実施態様は、前記調査ステップでは、前記同期素子の同期方法として、前記被検証回路が周波数の異なる複数のクロックを使用する場合に前記同期素子がどの周波数のクロックで同期するかを調査し、
前記分割ステップでは、前記調査ステップによる調査結果に基づいて、前記被検証分割回路間をまたぐパスの通信先の全ての同期素子が、当該パスの通信元の全ての同期素子に比べて周波数の小さいクロックで同期するように、前記被検証回路を複数の被検証分割回路に分割する。
この構成によれば、被検証分割回路間をまたぐパスの通信先の同期素子が、周波数の小さいクロックで同期しているため、通信先の同期素子が同期する周波数の小さいクロックのタイミングのみ通信を行えばよいので、動作検証時の被検証分割回路の通信回数を減らすことができる。
また、本発明の第2の実施態様は、前記調査ステップでは、前記同期素子の同期方法として、前記同期素子がクロックの立ち上がりまたは立ち下がりのどちらで同期するのかを調査し、
前記分割ステップでは、前記調査ステップによる調査結果に基づいて、前記被検証分割回路間をまたぐパスの通信元の全ての同期素子がクロックの立ち上がりもしくは立ち下がりでのみ同期するか、または、当該パスの通信先の全ての同期素子がクロックの立ち上がりもしくは立ち下がりでのみ同期するように、前記被検証回路を複数の被検証分割回路に分割する。
この構成によれば、クロックの立ち上がり後と立ち下り後の両方で通信を行うことを回避することができるため、動作検証時の被検証分割回路の通信回数を減らすことができる。
また、本発明の第3の実施態様は、前記調査ステップでは、前記同期素子の同期方法として、前記同期素子がクロックの立ち上がりまたは立ち下がりのどちらで同期するのかを調査し、
前記分割ステップでは、前記調査ステップによる調査結果に基づいて、前記被検証分割回路間をまたぐパスの通信元の全ての同期素子がクロックの立ち下がりでのみ同期するか、または、当該パスの通信先の全ての同期素子がクロックの立ち上がりでのみ同期するように、前記被検証回路を複数の被検証分割回路に分割する。
また、前記検証ステップでは、クロックの立ち上がり後に、前記被検証分割回路でクロックを自動的に立ち下げる。
この構成によれば、クロックの立ち上がり後と立ち下り後の両方で通信を行うことを回避することができるため、動作検証時の被検証分割回路の通信回数を減らすことができる。さらに、クロックの立ち上がり後に、被検証分割回路間をまたぐパスの通信を行っていないため、被検証分割回路でクロックを自動的に立ち下げることができる。よって、上位コンピュータから被検証分割回路に対するクロックの入力回数を減らすことができるため、動作検証時の被検証分割回路の通信回数をさらに減らすことができる。
上記のように構成された本発明によれば、特許文献1では注目されていないパスの通信先の同期素子に注目し、通信先の同期素子がパスの信号値をラッチする回数が最小となるように回路分割を行うため、特許文献1に開示された発明よりも、被検証回路の動作検証時の被検証分割回路の通信回数をさらに減らし、動作検証の高速化を図ることができるという効果が得られる。
以下に、本発明を実施するための最良の形態について図面を参照して説明する。このうち、第1から第3実施形態は、基本的なシステム構成は特許文献1の構成と等しいが、後述する回路分割工程、被検証分割回路間のパスの通信とクロック入力の順序を決定するスケジューリング工程、アドレス配置工程において特許文献1とは相違点がある。
(第1実施形態)
1.1)システム構成
図1は、本発明の第1実施形態による回路動作検証方法に使用する回路動作検証装置の概略構成を示すブロック図である。
図1を参照すると、本実施形態においては、複数の回路素子あるいは複数の回路モジュールからなる被検証回路を、複数の被検証分割回路103.1,103.2に分割し、分割した複数の被検証分割回路103.1,103.2を複数の検証用デバイス(以下、デバイスと称す)1,2にそれぞれ実装している。
デバイス1,2は、バス10に接続され、バス10はさらにバスコントローラ11に接続されている。バスコントローラ11は常にバスマスタとして動作し、デバイス1,2は常にバスのスレーブデバイスとして動作する。
上位コンピュータシステム12は、バスコントローラ11、ユーザインタフェース13および表示装置14に接続されている。ユーザは、ユーザインタフェース13を用いてバスコントローラ11の動作を制御することができる。また、バスコントローラ11を通して得た情報は表示装置14によりユーザに提示される。バスコントローラ11は、上位コンピュータシステム12からの命令によって動作が規定され、各デバイス1,2に対して信号の入力および出力を行う。
また、バスコントローラ11は、被検証回路内部の指定された信号の値を順次保存するためのメモリ15に接続されている。被検証回路内部のどの信号を指定するかは、ユーザがユーザインタフェース13を通してバスコントローラ11に予め指示しておく。例えば、ブレーク条件を設定した信号を指定しておく。
各デバイス1,2は、バス10に接続して信号の入出力を可能にするバスインタフェース101、被検証回路を分割して得られた被検証分割回路103、および、被検証分割回路103をバスインタフェース101と接続して他デバイスの被検証分割回路103との相互通信を可能にする通信回路102を有する。
以下、デバイス1,2の構成をさらに詳細に説明する。
図2は、図1に示したデバイス1,2の詳細な構成を示すブロック図である。
各デバイス1,2の基本構成はいずれも、上述したように、バスインタフェース101、通信回路102、および被検証分割回路103を有する構成となっている。
通信回路102は、バスインタフェース101からの書き込みデータWDATAなどを入力信号inputとして被検証分割回路103へ与え、また、被検証分割回路103からの出力信号outputをバスインタフェース101からのアドレス信号ADに従って選択し、バスインタフェース101に転送する。
より詳しくは、通信回路102は、クロック制御回路201、レジスタ202、アドレスデコーダ203、およびセレクタ204を有する。
クロック制御回路201は、書き込みデータWDATAを書き込み、書き込みイネーブル信号WEおよびセレクタ信号SELを入力してクロック信号を生成し、被検証分割回路103およびセレクタ204へ供給する。図2の例では、2つのクロック信号CLK,2f_CLKを生成している。なお、図2では、セレクタ204へ供給されるクロック信号の図示は、簡略化のために省略されている。
レジスタ202は、書き込みデータWDATA、書き込みイネーブル信号WEおよびセレクタ信号SELを入力し、入力信号input、入出力信号IN/OUT、およびリセット信号RSTを生成して被検証分割回路103へ出力する。
アドレスデコーダ203は、バスインタフェース101から入力したアドレス信号ADをデコードしてセレクタ信号SEL,SELTxを生成し、セレクタ信号SELをクロック制御回路201およびレジスタ202に供給し、セレクタ信号SELTxをセレクタ204に供給する。
セレクタ204は、セレクタ信号SELTxに従って、被検証分割回路103の出力信号outputおよび入出力信号IN/OUTのいずれかを送信データTxDとして選択してバスインタフェース101へ出力する。
なお、被検証分割回路103の入力信号inputおよび入出力信号IN/OUTの入力信号、出力信号outputおよび入出力信号IN/OUTの出力信号には、それぞれ1つずつアドレスが割り振られている。1アドレスで特定されるデータの最大ビット数は、書き込みデータWDATAおよび送信データTxDのビット幅に等しい。アドレス信号ADによるアドレスは、バス10のアドレス空間の一部でもよいし、また別空間のアドレスでもよい。このアドレスは、バス10から被検証分割回路103のデータの位置が一意に決定できればよい。このアドレスがバス10のアドレス空間の一部でない時はバスインタフェース101が必要なアドレス変換を行う。ただし、各データのアドレスの割り振りにおいて、1アドレスに接続先の異なるデバイスのデータを割り振ることはできない。
図3は、図2に示したクロック制御回路201の詳細な構成を示すブロック図である。
図3を参照すると、クロック制御回路201は、同期素子301,302およびAND回路303,304を有する。なお、図3において、書き込みWDATA[0]〜WDATA[1]およびセレクタ信号SEL[0]〜SEL[1]における[X]は、その信号のビット番号を表している。
同期素子301は、セレクタ信号SEL[0]と書き込みイネーブル信号WEとが共にアクティブになった時に、書き込みデータWDATA[0]の値をラッチし、その値をクロック信号CLKとして被検証分割回路103に入力する。
同様に、同期素子302は、セレクタ信号SEL[1]と書き込みイネーブル信号WEとが共にアクティブになった時に、書き込みデータWDATA[1]の値をラッチし、その値をクロック信号2f_CLKとして被検証分割回路103に入力する。
上位コンピュータシステム12は、クロック信号CLKを立ち上げる時は、バスコントローラ11からアドレス信号ADとしてクロック信号CLKに割り当てたアドレス値を入力し、WDATA[0]に1を入力する。立ち下げる時には、アドレス信号ADとしてクロック信号CLKに割り当てたアドレス値を入力し、WDATA[0]に0を入力する。また、図3では、WDATA[0]とWDATA[1]を、それぞれCLK、2f_CLKの入力に割り当てているが、この割り当てはWDATのビット幅内で自由に変更可能である。なお、同期素子301,302は、バスインタフェース101からのクロック信号で動作するが、簡略化のためにクロック信号の図示は省略されている。
図4は、図2に示したレジスタ202の詳細な構成を示すブロック図である。
図4を参照すると、レジスタ202は、被検証分割回路103の入力信号inputおよび入出力信号IN/OUTの入力信号の和の合計と同じ個数の同期素子401〜407を有する。図4では、書き込みデータWDATAのビット幅が3、被検証分割回路103の入力信号inputおよび入出力信号IN/OUTの入力信号の数の合計が7の場合を一例として示している。また、図4のA,B,C,D,E,F,Gは7個の入力信号inputおよび入出力信号IN/OUTの入力信号をそれぞれに示す。
同期素子401は、セレクタ信号SEL[0]と書き込みイネーブル信号WEとが共にアクティブになった時に、書き込みデータWDATA[0]の値をラッチする。他の同期素子402〜407も、同期素子401と略同様の動作を行う。
図4のようにレジスタ202を構成することで、バス10から各同期素子401〜407を一意に特定することができ、被検証分割回路103の入力信号inputおよび入出力信号IN/OUTの入力信号A,B,C,D,E,F,Gの全ての値をバス10に接続されたデバイスすべてから変更可能である。
例えば、書き込みデータWDATA[0]〜WDATA[2]=(1,0,0)、アドレス信号ADをデコードしたセレクタ信号SEL[0]〜SEL[2]=(1,0,0)とすれば、書き込みイネーブル信号WEがアクティブなり、図示されていないクロックが立ち上がった時点で、同期素子401〜403には、それぞれデータ“1”、“0”、“0”が保持される。
図5は、図2に示したセレクタ204の詳細な構成を示すブロック図である。図5では、送信データTxDのビット幅が3、被検証分割回路103の出力信号outputおよび入出力信号IN/OUTの出力信号の数の合計が8の場合を一例として示している。また、図5のOA,OB,OC,OD,OE,OF,OG,OHは、被検証分割回路103の出力信号outputを表す。
セレクタ204は、3個のセレクタ回路501〜503を有する。なお、セレクタ回路501〜503は、クロック制御回路201からのクロック信号で動作するが、簡略化のためにクロック信号の図示は省略されている。
セレクタ回路501は、被検証分割回路103からの出力信号OA,OD,OGを入力とし、セレクタ信号SELTxによって出力信号OA,OD,OGのいずれかを選択し送信データTxD[0]として出力する。
セレクタ回路502は、被検証分割回路103からの出力信号OB,OE,OHを入力とし、セレクタ信号SELTxによって出力信号OB,OE,OHのいずれかを選択し送信データTxD[1]として出力する。
セレクタ回路503は、被検証分割回路103からの出力信号OC,OF,“0”を入力とし、セレクタ信号SELTxによって出力信号OC,OF,“0”のいずれかを選択し送信データTxD[2]として出力する。
図6は、被検証回路を2つの被検証分割回路103.1,103.2に分割して、2つのデバイス1,2にそれぞれ実装するまでの概略的な流れを説明するフローチャートである。
図6を参照すると、被検証回路を2つのデバイス1,2に実装するため、最初に、被検証回路を2つの被検証分割回路103.1,103.2に分割する回路分割を行う。まず、分割候補解のそれぞれについて、回路分割面をまたぐパスの通信元・通信先の同期素子の調査を行う(ステップS101)。この調査結果に基づいて、被検証分割回路間をまたぐパスの通信先の同期素子が当該パスの信号値をラッチする回数が最小となるように、被検証回路を被検証分割回路103.1,103.2に分割する(ステップS102)。
続いて、被検証分割回路103.1,103.2間をまたぐ各パスについて、通信を行う順番やクロックを与えるタイミングを決定するスケジューリングを行う(ステップS103)。このスケジューリングに基づいてデバイス1,2に実装する被検証分割回路103.1,103.2の入力信号input、入出力信号IN/OUT、および出力信号outputのバスアドレス空間におけるアドレス配置を決定する(ステップS104)。なお、ステップS101〜S104についての詳細は後述する。この決定されたアドレス配置から通信回路102を生成する(ステップS105)。
このとき、ステップS101,S102では、デバイス1,2ごとに被検証分割回路103を生成し、また、ステップS105では、デバイス1,2ごとに通信回路102を生成する。その後、各デバイス1,2に被検証分割回路103および通信回路102を実装する(ステップS106)。実装する手法は、デバイス1,2の構成によって異なる。例えば、デバイス1,2の1つがプログラマブル素子から構成される場合、あらかじめバスインタフェース101および通信回路102を用意するほかに、被検証分割回路103、通信回路102およびバスインタフェース101をインスタンスした最上位回路を合成ツールを用いて合成し、その結果を配置配線しプログラマブル素子をコンフィグレーションしてもよい。
なお、ステップS101〜S104の工程は、図1には図示していないシミュレーション手段により実行することができる。
1.2)回路分割
次に、図6に示したステップS101,S102における被検証回路の回路分割工程についてさらに詳細に説明する。
被検証回路の回路分割に際しては、上述したように、被検証分割回路間をまたぐパスの通信先の同期素子が当該パスの信号値をラッチする回数が最小となるように回路分割を行う。ここでは、被検証回路は複数の回路ユニットからなるものとし、各回路ユニットは1個または複数個の回路素子からなるものとする。回路分割方法の基本的な手順を次に示す。
A1)複数の回路ユニットから構成される被検証回路のハードウェア記述言語を読み込み、各回路ユニットの入力および出力の各々がどこの回路ユニットに接続しているかを解析する。
A2)デバイスの数、各デバイスの回路規模、および各回路ユニットの回路規模を算出する。デバイスの数および各デバイスの回路規模はユーザが手動で与え、各回路ユニットの回路規模は当該回路ユニットに対するハードウェア記述言語を読み込んで推定する。
A3)被検証回路全体のハードウェア記述言語を読み込み、各回路ユニット間をまたぐパスの通信元・通信先の同期素子の情報を記憶する。この同期素子の情報とは具体的には次の2つである。
(1)被検証回路が異なる周波数を持つ複数のクロックを使用している場合、通信元・通信先の同期素子がどの周波数のクロックで同期するのかの情報。
(2)通信元・通信先の同期素子がクロックの立ち上がりで同期しているのか、立ち下がりで同期しているかの情報。
A4)上記ステップA1〜A3により得られた情報に基づき、被検証分割回路間をまたぐパスの信号値に対して通信先の同期素子が同期する回数が可能な限り少なくなるように被検証回路の回路分割を行う。これにより、動作検証時の必要な通信回数を減少させる。さらにクロックの入力回数を減らすように回路分割を行う。具体的には以下のように回路分割を行う。
(a)被検証分割回路間をまたぐパスの数が少なくなるように回路分割を行う。
(b)被検証回路が周波数の異なる複数のクロックを使用している場合、被検証分割回路間をまたぐパスの通信先の全ての同期素子が、通信元の全ての同期素子に比べて周波数の小さいクロックで同期するように回路分割を行う。
(c)被検証分割回路間をまたぐ全てのパスについて、パスの通信元の被検証分割回路の同期素子と通信先の被検証分割回路の同期素子が以下の条件iまたは条件iiを満たすように回路分割を行う。以下では、クロックの立ち上がりによって同期する同期素子をPM、クロックの立ち下がりによって同期する同期素子をNMと呼ぶ。
(条件i)通信元の同期素子の集合がPMかNMのどちらかである。あるいは、通信先の同期素子の集合がPMかNMのどちらかである。
(条件ii)通信元の同期素子の集合がNMのみである。あるいは、通信先の同期素子の集合がPMのみである。
条件iiの方が条件iよりも厳しい条件である。
この回路分割方法のうち、(b)と(c)の回路分割方法は特許文献1にない本発明独自のものである。
この回路分割方法の理解を助けるために、簡単な例を用いて説明する。
被検証回路の検証は、詳しくは後述するが、大まかには、各デバイス1,2に実装された被検証分割回路103.1,103.2同士で通信を行うデバイス間通信と、上位コンピュータシステム12から各被検証分割回路103.1,103.2へのクロック信号入力とを交互に繰り返すことによって実行される。
デバイス間通信は、被検証回路内のある同期素子を通信元とし、回路分割面をまたいで別の被検証回路内の同期素子を通信先とするような全てのパスに対して行う。
例えば、図7の場合、被検証分割回路103.1内の同期素子Xを通信元とし、被検証分割回路103.2内の同期素子Zを通信先とするようなパスPと、被検証分割回路103.1内の同期素子Xを通信元とし、被検証分割回路103.2内を貫通して被検証分割回路103.1内の同期素子Yを通信先とするようなパスQのデバイス間通信を行う。なお、被検証分割回路103.1,103.2内の同期素子は、FF(flip-flop)やレジスタ、メモリ等により実現される。
図7の場合、(a)の回路分割方法を用いて回路分割を行うと、デバイス間通信の通信回数が減少することは自明である。
また、(b)の回路分割方法を用いて回路分割を行っても、デバイス間通信の通信回数が減少する。その理由を図8および図9の回路分割例を用いて説明する。
図8および図9において、(A)は、3つの同期素子X,Y,Zを2つの被検証分割回路に分割した回路分割例を示す図、(B)は、デバイスへのクロック入力およびデバイス間通信のタイミングを説明するフローチャート、(C)は、クロック、パスの信号値、および通信先の同期素子の信号値の波形を示す図である。
ここで、(A)において、同期素子Zは、クロック信号f_Clockで同期され、同期素子X,Yは、f_Clockの2倍の周波数を持つ2f_Clockで同期されている。なお、クロック信号f_Clock,2f_Clockの波形は、図8および図9で同じとしている。また、(B)において、クロック入力とは、クロック信号の立ち上げおよび立ち下げの両方を入力することである。また、(C)において、図中の縦の太い点線はデバイス間通信のタイミングを示している。また、パスの信号値[X]に対応する通信先の同期素子の信号値を([X])としている。
例えば、図8(A)に示す回路分割例では、被検証分割回路間をまたぐパスの通信先に同期素子Zが配置されるように回路分割を行っている。この場合、図8(B)および(C)に示すように、デバイス間通信はクロック信号f_Clock入力の直前だけ行えば、回路は正常動作する。これは、被検証分割回路間のパスの信号はクロック信号2f_Clockに同期して変化するが、このパスの信号はクロック信号f_Clockでのみ同期してラッチされるからである。
これに対して、図9(A)に示す回路分割例では、同期素子Yが被検証分割回路間をまたぐパスの通信先に配置されるように回路分割を行っている。すなわち、(b)の回路分割方法を用いている。この場合、図9(B)に示すように、クロック信号2f_Clockの入力ごとにデバイス間通信を行う必要がある。これは、図9(C)に示すように、被検証分割回路間のパスの信号はクロック信号2f_Clockに同期して変化し、その変化はクロック信号2f_Clockに同期してラッチされるからである。
よって、図9に示す回路分割例は、図8に示す回路分割例に比べて、必要な通信回数が2倍になる。
このように(b)の回路分割方法を用いて回路分割を行った場合、周波数の異なる複数のクロックを使用する被検証回路に対して、動作検証時の被検証分割回路の通信回数を減少させて動作検証速度を向上させる効果がある。
また、(c)の回路分割方法を用いて回路分割を行っても、デバイス間の通信回数が減少する。その理由を図10〜図13の回路分割例を用いて説明する。なお、(c)の回路分割方法では、条件iまたは条件iiを満たすように回路分割を行う。
図10〜図13において、(A)は、4つの同期素子を2つの被検証分割回路に分割した回路分割例を示す図、(B)は、デバイスへのクロック入力およびデバイス間通信のタイミングを説明するフローチャート、(C)は、クロック、パスの信号値、および通信先の同期素子の信号値の波形を示す図である。
ここで、(A)において、4つの同期素子は同じクロック信号で同期されている。また、図中のPと記された同期素子はPMであり、Nと記された同期素子はNMである。なお、クロック信号の波形は、図10〜図13で同じとしている。また、(C)において、図中の縦の太い点線はデバイス間通信のタイミングを示している。また、パスの信号値[X]に対応する通信先の同期素子の信号値を([X])としている。
図10(A)に示す回路分割例では、被検証分割回路間をまたぐパスの通信元にはPMとNMの両方の同期素子があり、通信先にもPMとNMの両方の同期素子があるため、条件iを満たしていない。この場合、図10(B)に示すように、クロック信号の立ち上げ後と立ち下げ後の両方でデバイス間通信を行っている。これは、図10(C)に示すように、パスの通信元にPMとNMの両方の同期素子があることから、クロック信号の立ち上げと立ち下げの両方で同期してパスの信号値が変化するためと、通信先にもPMとNMの両方の同期素子があることから、クロック信号の立ち上げと立ち下げの両方で同期してパスの信号値をラッチするからである。
図11(A)に示す回路分割例では、被検証分割回路間をまたぐパスの通信先にはPMとNMの両方の同期素子があるが、通信元にはPMしかない。このため、条件iを満たしている。この場合、図11(B)に示すように、クロック信号の立ち上げ後にしかデバイス間通信を行う必要がない。これは、図11(C)に示すように、被検証分割回路間をまたぐパスの通信元にはPMしかないことから、クロック立ち上げでしかパスの信号値が変化しないためである。
同様に、図12(A)に示す回路分割例では、被検証分割回路間をまたぐパスの通信元にはNMしかない。このため、条件iを満たしている。この場合、図12(B)および(C)に示すように、クロック信号の立ち下げ後でしかデバイス間通信を行う必要がない。
また、図13(A)に示す回路分割例では、被検証分割回路間をまたぐパスの通信元にはPMとNMの両方の同期素子があるが、通信先にはPMしかない。このため、条件iを満たしている。この場合、図13(B)に示すように、クロック信号の立ち下げ後でしかデバイス通信は必要ない。これは、図13(C)に示すように、通信先にはPMしかないことから、クロック信号の立ち上げでのみ同期してパスの信号値をラッチするためである。このため、クロック信号の立ち上げ前にのみデバイス通信を行えば、回路は正常動作する。
また、図12および図13に示す回路分割例は条件iiも満たしている。これらの場合は、クロック信号の立ち上げ後にデバイス間通信を行っていないために、クロック信号の回路内での自動立ち下りの手法を使用できる。自動立ち下りとは、上位コンピュータシステム12からクロック信号の立ち上がり入力を行った後、被検証回路内でクロック信号を自動的に立ち下がらせることで、上位コンピュータシステム12からの入力回数を減らす手法である。この詳細については後述する。
1.3)デバイス間通信のスケジューリング
次に、図6に示したステップS103におけるスケジューリング工程について詳細に説明する。
スケジューリング工程では、被検証分割回路間をまたぐパスの通信とクロック入力を行う順番を、もっとも周波数の小さいクロックの1周期分だけ決定する。また、スケジューリング工程では、被検証分割回路内の貫通パスの探索を行う。貫通パスとは、被検証分割回路の入力信号と出力信号との間に同期素子が1つもないパスのことを言う。
図14は、デバイス間での貫通パスの一例を示す模式図である。
図14に示す例では、被検証分割回路103.1の入力信号S2と出力信号S3との間に同期素子を含まない貫通パスが存在し、被検証分割回路103.2の入力信号S4と出力信号S5との間に同期素子を含まない貫通パスが存在する。同期素子601と同期素子602との間には、被検証分割回路間をまたぐパスと貫通パスとを含むパスがある。このような場合は、クロック1周期のデバイス間通信において、被検証分割回路103.1,103.2間をまたぐパスのうち貫通パスに接続されているパスの優先順序が必然的に定まる。この例では、パスPはパスQよりも先に通信しなくてはならず、パスQはパスRよりも先に通信しなくてはならない。
デバイス間通信のスケジューリング工程は、貫通パスの優先順位を守るように行う必要がある。スケジューリング工程の理解を助けるために、図15の回路分割例を用いて説明する。
図15に示す回路分割例では、クロック信号CLKと、この2倍の周波数を持つクロック信号2f_CLKを被検証分割回路内の同期素子に与えている。被検証分割回路間をまたぐパスはパスA,B,C,D,Eの5本ある。また、分割回路103.2内には、パスAとパスB間の貫通パスと、パスDとパスE間の貫通パスとがある。このため、パスAはパスBよりも先に通信する必要があり、パスDはパスEよりも先に通信する必要がある。また、被検証分割回路間をまたぐ各パスの通信元の同期素子と、通信先の同期素子の集合は、表1のようになる。
Figure 0004743427
例えば、パスAの場合は、分割回路103.1内のPMが通信元の同期素子であり、分割回路内の103.2内のNMとパスBを通過した分割回路103.1内のNMとが通信先の同期素子になる。また、パスBの場合は、パスAの通信元である分割回路103.1内のPMと分割回路103.2内のNMとが通信元の同期素子であり、分割回路103.1内のNMが通信先の同期素子になる。
このとき、パスAは、CLKの立ち上げに同期して信号値が変化するため、CLKの立ち上げ後にのみ通信を行う。
パスBは、CLKの立ち下げに同期してパスBの信号値をラッチするため、やはりCLKの立ち下げ前にのみ通信を行う。
パスCは、CLKの立ち上げにのみ同期してパスの信号値をラッチするため、CLKの立ち上げ前にのみ通信を行う。
パスDは、クロック信号2f_CLKに同期してパスDの信号値をラッチする通信先の同期素子があるため、クロック信号2f_CLKの立ち上げ後に通信を行うが、パスEは、CLKで同期してパスEの信号値をラッチする同期素子しかないために、CLKの立ち上げ後のみ通信を行う。
これらの結果と貫通パスの優先順位に基づく、CLK1周期内のデバイス間通信とクロック入力のスケジュール結果は、図16のようになる。
1.4)アドレス配置
次に、図6のステップS104におけるアドレス配置工程について詳細に説明する。
アドレス配置工程では、ステップS103のスケジューリング結果に基づいて、各デバイス1,2に実装する被検証分割回路103.1,103.2の入力信号input、入出力信号IN/OUT、および出力信号outputのアドレス配置を決定する。
アドレス配置を決定する際には、ステップS103のスケジューリング結果に基づき同じタイミングで通信できるパスを判定し、これらのパスを構成する、input同士やIN/OUT同士、output同士は同じアドレスに配置する。このように同じアドレスを配置することで、通信回数を減少し通信速度の高速化が可能になる。
例えば、図16に示すようなスケジュールで図17の分割回路103.1のアドレス配置を行う場合、出力信号outputAとoutputD同士や、入力信号inputBとinputE同士を同じアドレスに配置すれば、同時に通信を行うことによって、通信回数を減少できる。
1.5)クロックの自動立ち下り
上述したように、被検証分割回路間をまたぐ全てのパスに対して、通信元の同期素子がNMのみである場合、もしくは通信先の同期素子がPMのみである場合は、クロックの自動立ち下がりの手法を使用できる。
クロックの自動立ち下りは、バスコントローラ11からクロックを立ち上げた後、クロック制御回路201内でクロックを自動的に立ち下げることによって、クロックの立ち下げのためにバスコントローラ11から信号入力することを避ける手法である。この手法によって、信号の入力回数が減少するため、動作検証の高速化が可能になる。
クロックの自動立ち下げは、クロック制御回路201を図18に示すように構成することで可能になる。
図18に示すクロック制御回路201は、図3に示すクロック制御回路201に比べて、AND回路303の代わりに、WDATAも入力されるAND回路701が設けられており、また、AND回路701と同期素子301との間に、同期素子702、インバータ回路703、およびOR回路704が追加されている。
1.6)動作検証
図19は、本発明の第1の実施形態による被検証回路の動作検証の概略的な流れを説明するフローチャートである。被検証回路は、異なる周波数を持つクロック信号として、クロック信号CLKと、CLKの2倍の周波数を持つクロック信号2f_CLKとを使用している。上述したように、第1実施形態ではバスコントローラ11だけがバスマスタになるために、各デバイス1,2の入力信号の設定や信号の読み取りなどはすべてバスコントローラ11が行う。また、ユーザによって予め指定された信号の履歴は、メモリ15に順次格納される。
最初に、各デバイス1,2に対して電源が投入される(ステップS201)。
続いて、バスコントローラ11は、上位コンピュータシステム12の指令により、各デバイス1,2の通信回路102.1、102.2を通して、被検証分割回路103.1,103.2のリセット信号RSTをアクティブにすることで、リセット処理を行う(ステップS202)。さらに、初期処理としてクロックを入力する前に全てのデバイス1,2間の通信を行う(ステップS203)。
その後、図6に示したステップS103のスケジューリング結果に従って、クロック入力とデバイス間通信を行う(ステップS204)。クロックCLKの立ち上げは、上位コンピュータシステム12の指令により、各デバイス1,2の通信回路102.1,102.2を通して、被検証分割回路103.1,103.2のCLKをアクティブにすることで行う。クロックCLKの立ち下げは、上位コンピュータシステム12の指令により、各デバイス1,2の通信回路102.1,102.2を通して、被検証分割回路103.1,103.2のクロック信号CLKをローにすることで行う。クロック信号2f_CLKの立ち上げ、立ち下げも同様である。このクロック入力の合間にスケジュールに従ってデバイス間通信を行う。デバイス間通信は、バスコントローラ11が通信元のデバイスの出力信号を読み取り、通信先のデバイスの入力信号を設定することで行う。
CLK1周期分のクロック入力およびデバイス間通信を終えた後は、バスコントローラ11は、メモリ15に格納したブレーク条件に一致したか否かを判定し(ステップS205)、一致している場合は(ステップS205のYes)、状態を停止し、ユーザに次にどのような操作を行うかユーザインタフェース13を通じて指定されるまで待機する(ステップS206)。ブレーク条件に一致しない場合は(ステップS205のNo)、ステップS204へ進み、クロック入力とデバイス間通信を繰り返す。
ステップS206において、ユーザは、ブレークの設定、ステップ命令、何サイクルまでユーザに意見を求めず動作させるか等を設定することができる。その際、メモリ15には、指定された信号の履歴が格納されているから、ユーザは表示装置14を通して指定した信号の過去の値を参照することができ、回路のデバッグ等に役立つ。
(第2実施形態)
第1実施形態では、2つの被検証分割回路103.1,103.2をそれぞれデバイス1,2に実装したが、本発明は2分割構成に限定されるものではない。すなわち、被検証回路は、被検証分割回路間で通信回数が最も少なくなるように、所望の数に分割することが可能である。どのような数に分割しても、各デバイスは上述した基本構成を有し、バス10により相互に接続され、全体として被検証回路の動作検証が実行される。
また、第1実施形態では、2つの被検証分割回路103.1,103.2をそれぞれデバイス1,2に分割したが、本発明はこれに限定されるものではない。すなわち、複数の被検証分割回路103.1,103.2をデバイスおよび/またはシミュレータに分割し、それらをバス10によって相互接続することも可能である。以下、本発明の第2実施形態として、2つのデバイスと1つのシミュレータとをバス10で接続した回路動作検証装置について説明する。
図20は、本発明の第2実施形態による回路動作検証方法に使用する回路動作検証装置の概略構成を示すブロック図である。
図20を参照すると、本実施形態においては、第1実施形態と同様に、被検証分割回路103.1,103.2がそれぞれデバイス1,2に実装され、さらに被検証回路のロジック部を実際に動作させるシミュレータ3がバス10に追加で接続されている。
シミュレータ3は、バス10と通信をするためのバスインタフェース801、メモリ802、および、被検証回路のロジック部分を実際に動作させるシミュレーションエンジン803を有する。
メモリ802は、シミュレーションエンジン803でシミュレーションされる被検証分割回路の入力信号および出力信号を一時的に保持する。
シミュレーションエンジン803は、イベントドリブン形式であるため、入力信号が変動することによって計算が実行され、その計算結果である出力信号がメモリ802に書き込まれる。なお、本実施形態でも、バスコントローラ11が常にバスマスタとなる。
本実施形態でも、第1実施形態のように被検証分割回路間をまたぐパスの通信元と通信先の同期素子と貫通パスの調査を行い、この調査結果からクロック入力とデバイス間通信のスケジュールを決定する。
また、被検証回路が複数の異なる周波数を持つクロックを使用している場合は、シミュレータ3がどのクロックに同期して動作しているかに応じて回路動作検証装置の動作が異なる。
図21は、本発明の第2の実施形態による被検証回路の動作検証の概略的な流れを説明するフローチャートである。なお、図21では、シミュレータ3がもっとも周波数の低いクロックで同期して動作しているものとする。
図21を参照すると、最初に、各デバイス1,2に電源が投入され(ステップS301)、図19で説明したように、被検証分割回路103.1,103.2のリセット処理を行い(ステップS302)、初期処理として全てのデバイス1,2間で通信を行う(ステップS303)。
次に、各デバイス1,2へクロックを入力する前に、シミュレータ3からデバイス1,2への通信を行う(ステップS304)。次いで、デバイス1,2からシミュレータ3への通信を行う(ステップS305)。その後、スケジューリングしたクロック入力とデバイス間通信を、最も小さい周波数を持つクロックの1周期分行う(ステップS306)。
次いで、上位コンピュータシステム12が起動時に設定したブレーク条件に一致しているか否かを判定する(ステップS307)。一致している場合は(ステップS307のYes)、状態を停止して、すでに説明したようにユーザ設定を行い(ステップS308)ステップS309へ進み、一致しない場合は(ステップS307のNo)、そのままステップS309へ進む。
次に、バスコントローラ11は、シミュレータ3のバスインタフェース801に対して1サイクル進む要求を送信し、これによって、シミュレータエンジン803におけるクロック信号を変更する(ステップS309)。シミュレータエンジン803で動作させている被検証回路のロジック部分の入力信号が変更された場合、バスインタフェース801はメモリ802に値を書き込むだけでなく、どの信号がどのように変更されたのかシミュレータエンジン803に知らせる。この入力信号変更通知に応じて、シミュレータエンジン803はその変更を反映するように計算し、回路シミュレーションを実行する。このシミュレーションの結果はメモリ802に書き込まれる。こうして、制御はステップS304へ戻り、以下、上記ステップS304〜S309を繰り返す。
(第3実施形態)
図22は、本発明の第3実施形態による回路動作検証方法に使用する回路動作検証装置の概略構成を示すブロック図である。
図22を参照すると、本実施形態においては、バス10にプログラム制御プロセッサ901を接続し、プログラム制御プロセッサ901がROMに格納された動作検証プログラム902を実行することで、上述したバスコントローラ11および上位コンピュータシステム12の機能を実現している。プログラム制御プロセッサ901には入力部13および出力部14が接続されている。プログラム制御プロセッサ901により実行される動作は第1および第2実施形態で説明した動作と同じであるため説明は省略する。
(第4実施形態)
本実施形態においては、上述した第3実施形態において、検証用デバイスの代わりに、ASIC(Application Specific Integrated Circuit)等の回路を実装できるデバイスを使用し、動作検証プログラム902の代わりにファームウェアを使用する。
(第5実施形態)
本実施形態においては、1枚の基板内で複数の回路モジュールがバスによって相互に接続され、また同基板内でバスに接続された制御プロセッサがモジュール間の通信を実行し、また各モジュールに同期クロック信号等の制御信号を入力する。
本発明によれば、大規模なLSIの動作検証の高速化を図ることが可能である。また、LSIを動作させるファームウェアの動作検証の高速化にも有用である。さらに、SoC(System On a Chip)のように1枚の基板やチップ内で、回路を複数のモジュールに分割して相互通信を行う場合でも、本発明による検証の高速化は有用である。
本発明の第1実施形態による回路動作検証方法に使用する回路動作検証装置の概略構成を示すブロック図である。 図1に示した検証用デバイスの構成を示すブロック図である。 図2に示したクロック制御回路の構成を示すブロック図である。 図2に示したレジスタの構成を示すブロック図である。 図2に示したセレクタの構成を示すブロック図である。 本発明の第1実施形態において、被検証回路を分割して各検証用デバイスに実装するまでの概略的な流れを説明するフローチャートである。 本発明の第1実施形態に係る、被検証分割回路間をまたぐパスの通信元・通信先の同期素子を説明する図である。 本発明の第1実施形態による回路分割方法(b)の一例を示す図であり、(A)は回路分割後の構成を示すブロック図、(B)は(A)の分割を行った場合の動作検証時の流れを説明するフローチャート、(C)は(A)の分割を行った場合の動作検証時の各部の波形を示す図である。 従来の回路分割方法の一例を示す図であり、(A)は回路分割後の構成を示すブロック図、(B)は(A)の分割を行った場合の動作検証時の流れを説明するフローチャート、(C)は(A)の分割を行った場合の動作検証時の各部の波形を示す図である。 従来の回路分割方法の他の例を示す図であり、(A)は回路分割後の構成を示すブロック図、(B)は(A)の分割を行った場合の動作検証時の流れを説明するフローチャート、(C)は(A)の分割を行った場合の動作検証時の各部の波形を示す図である。 本発明の第1実施形態による回路分割方法(c)の一例を示す図であり、(A)は回路分割後の構成を示すブロック図、(B)は(A)の分割を行った場合の動作検証時の流れを説明するフローチャート、(C)は(A)の分割を行った場合の動作検証時の各部の波形を示す図である。 本発明の第1実施形態による回路分割方法(c)の他の例を示す図であり、(A)は回路分割後の構成を示すブロック図、(B)は(A)の分割を行った場合の動作検証時の流れを説明するフローチャート、(C)は(A)の分割を行った場合の動作検証時の各部の波形を示す図である。 本発明の第1実施形態による回路分割方法(c)のさらに他の例を示す図であり、(A)は回路分割後の構成を示すブロック図、(B)は(A)の分割を行った場合の動作検証時の流れを説明するフローチャート、(C)は(A)の分割を行った場合の動作検証時の各部の波形を示す図である。 本発明の第1実施形態に係る貫通パスを説明する図である。 本発明の第1実施形態による回路分割後の回路動作検証装置の構成を示すブロック図である。 図15に示した回路分割後の回路動作検証装置に対して生成された、クロック入力とデバイス間通信のタイミングのスケジュールを示す図である。 図15に示した回路分割後の回路動作検証装置の左側の被検証分割回路の入力信号inputと出力信号outputを示す図である。 図3に示したクロック制御回路にクロックの自動立ち下がり機能を付加した構成を示すブロック図である。 本発明の第1の実施形態による被検証回路の動作検証の概略的な流れを説明するフローチャートである。 本発明の第2実施形態による回路動作検証方法に使用する回路動作検証装置の概略構成を示すブロック図である。 本発明の第2の実施形態による被検証回路の動作検証の概略的な流れを説明するフローチャートである。 本発明の第3実施形態による回路動作検証方法に使用する回路動作検証装置の概略構成を示すブロック図である。
符号の説明
1,2 検証用デバイス
3 シミュレータ
10 バス
11 バスコントローラ
12 上位コンピュータシステム
13 ユーザインタフェース
14 表示装置
15 メモリ
101 バスインタフェース
102 通信回路
103 被検証分割回路
201 クロック制御回路
202 レジスタ
203 アドレスデコーダ
204 セレクタ
301,302 同期素子
303,304 AND回路
401〜407 同期素子
501〜503 セレクタ回路
601,602 同期素子
701 AND回路
702 同期素子
703 インバータ回路
704 OR回路
801 バスインタフェース
802 メモリ
803 シミュレーションエンジン
901 プログラム制御プロセッサ
902 動作検証プログラム

Claims (5)

  1. 複数の被検証分割回路に分割され、当該複数の被検証分割回路間でバスを介して相互通信を行うような被検証回路の動作検証を実行する回路動作検証方法であって、
    前記被検証回路が周波数の異なる複数のクロックを使用する場合、回路動作検証装置内のシミュレーション手段が、前記被検証回路内の、クロックで同期する同期素子がどの周波数のクロックで同期するのかの情報をメモリに記憶する記憶ステップと、
    前記シミュレーション手段が、前記メモリに記憶された情報に基づいて、前記被検証分割回路間をまたぐパスの通信先の全ての同期素子が、当該パスの通信元の全ての同期素子に比べて周波数の小さいクロックで同期するように、前記被検証回路を複数の被検証分割回路に分割する分割ステップと、
    前記回路動作検証装置内のバスコントローラが、前記複数の被検証分割回路間でバスを介して相互通信を行わせて前記被検証回路の動作検証を実行する検証ステップとを有する回路動作検証方法。
  2. 複数の被検証分割回路に分割され、当該複数の被検証分割回路間でバスを介して相互通信を行うような被検証回路の動作検証を実行する回路動作検証方法であって、
    回路動作検証装置内のシミュレーション手段が、前記被検証回路内の、クロックで同期する同期素子がクロックの立ち上がりまたは立ち下がりのどちらで同期するのかの情報をメモリに記憶する記憶ステップと、
    前記シミュレーション手段が、前記メモリに記憶された情報に基づいて、前記被検証分割回路間をまたぐパスの通信元の全ての同期素子がクロックの立ち上がりもしくは立ち下がりでのみ同期するか、または、当該パスの通信先の全ての同期素子がクロックの立ち上がりもしくは立ち下がりでのみ同期するように、前記被検証回路を複数の被検証分割回路に分割する分割ステップと、
    前記回路動作検証装置内のバスコントローラが、前記複数の被検証分割回路間でバスを介して相互通信を行わせて前記被検証回路の動作検証を実行する検証ステップとを有する回路動作検証方法。
  3. 複数の被検証分割回路に分割され、当該複数の被検証分割回路間でバスを介して相互通信を行うような被検証回路の動作検証を実行する回路動作検証方法であって、
    回路動作検証装置内のシミュレーション手段が、前記被検証回路内の、クロックで同期する同期素子がクロックの立ち上がりまたは立ち下がりのどちらで同期するのかの情報をメモリに記憶する記憶ステップと、
    前記シミュレーション手段が、前記メモリに記憶された情報に基づいて、前記被検証分割回路間をまたぐパスの通信元の全ての同期素子がクロックの立ち下がりでのみ同期するか、または、当該パスの通信先の全ての同期素子がクロックの立ち上がりでのみ同期するように、前記被検証回路を複数の被検証分割回路に分割する分割ステップと、
    前記回路動作検証装置内のバスコントローラが、前記複数の被検証分割回路間でバスを介して相互通信を行わせて前記被検証回路の動作検証を実行する検証ステップとを有する回路動作検証方法。
  4. 前記検証ステップでは、クロックの立ち上がり後に、前記被検証分割回路でクロックを自動的に立ち下げる、請求項に記載の回路動作検証方法。
  5. 前記記憶ステップでは、前記被検証分割回路間をまたぐパスの通信元および通信先の同期素子の情報のみを前記メモリに記憶する、請求項1から4のいずれか1項に記載の回路動作検証方法。
JP2006160093A 2006-06-08 2006-06-08 回路動作検証方法 Expired - Fee Related JP4743427B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006160093A JP4743427B2 (ja) 2006-06-08 2006-06-08 回路動作検証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006160093A JP4743427B2 (ja) 2006-06-08 2006-06-08 回路動作検証方法

Publications (2)

Publication Number Publication Date
JP2007328622A JP2007328622A (ja) 2007-12-20
JP4743427B2 true JP4743427B2 (ja) 2011-08-10

Family

ID=38929038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006160093A Expired - Fee Related JP4743427B2 (ja) 2006-06-08 2006-06-08 回路動作検証方法

Country Status (1)

Country Link
JP (1) JP4743427B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005063002A (ja) * 2003-08-08 2005-03-10 Matsushita Electric Ind Co Ltd 並列シミュレーション装置および並列シミュレーション方法
JP2005084957A (ja) * 2003-09-09 2005-03-31 Nec Corp 回路動作検証装置および方法
JP2005332162A (ja) * 2004-05-19 2005-12-02 Nec Corp ハードウェア/ソフトウェア協調シミュレーション方式及びその方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005063002A (ja) * 2003-08-08 2005-03-10 Matsushita Electric Ind Co Ltd 並列シミュレーション装置および並列シミュレーション方法
JP2005084957A (ja) * 2003-09-09 2005-03-31 Nec Corp 回路動作検証装置および方法
JP2005332162A (ja) * 2004-05-19 2005-12-02 Nec Corp ハードウェア/ソフトウェア協調シミュレーション方式及びその方法

Also Published As

Publication number Publication date
JP2007328622A (ja) 2007-12-20

Similar Documents

Publication Publication Date Title
EP3105761B1 (en) Memory physical layer interface logic for generating dynamic random access memory (dram) commands with programmable delays
JP2001060219A (ja) エミュレーションとシミュレーションを用いた設計検証のための方法および装置
JP4599266B2 (ja) シミュレーション装置及びシミュレーション方法
US7519927B1 (en) Wiring methods to reduce metal variation effects on launch-capture clock pairs in order to minimize cycle-time overlap violations
US10635843B2 (en) Simulation modeling frameworks for controller designs
EP2098969A1 (en) Logic circuit designing device for asynchronous logic circuit, logic circuit designing method, and logic circuit designing program
US7228513B2 (en) Circuit operation verification device and method
US7966590B2 (en) Circuit design data conversion apparatus, circuit design data conversion method, and computer product
US8074192B2 (en) Verification support apparatus, verification support method, and computer product
JP4743427B2 (ja) 回路動作検証方法
JP2005084956A (ja) 論理回路の検証方法および検証システム
US7797653B2 (en) Circuit verification apparatus, circuit verification method, and signal distribution method for the same
JP6761182B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2010140255A (ja) 再構成可能論理回路ならびに検証方法および検証プログラム
JPH1126591A (ja) 機能ブロック、半導体集積回路装置、及び集積回路のシミュレーション方法
JP5057509B2 (ja) 動作合成装置、動作合成方法、半導体集積回路の製造方法、動作合成プログラムおよび可読記憶媒体
US20240231956A9 (en) Apparatus and method for synchronizing participants of a simulation
JP2006079369A (ja) シミュレーション装置及びその履歴生成方法
US9355198B1 (en) Method and apparatus for performing late binding of control status registers in a design compilation flow
JP4645843B2 (ja) データ処理装置、データ処理方法およびプログラム
JP2011134308A (ja) 高位合成装置、高位合成方法および高位合成プログラム
JP2012048539A (ja) ハードウェア−ソフトウェア協調検証システム、方法、及びプログラム
JP2009140028A (ja) ハードウェア検証用プログラミング記述生成装置、ハードウェア検証用プログラミング記述生成方法、制御プログラムおよび可読記録媒体
JP2000208632A (ja) 半導体集積回路設計方法
JP2007179172A (ja) 論理回路検証システムおよびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110216

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110413

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110426

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4743427

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees