JP2009199425A - 論理検証装置、論理検証支援装置及び論理検証方法 - Google Patents

論理検証装置、論理検証支援装置及び論理検証方法 Download PDF

Info

Publication number
JP2009199425A
JP2009199425A JP2008041439A JP2008041439A JP2009199425A JP 2009199425 A JP2009199425 A JP 2009199425A JP 2008041439 A JP2008041439 A JP 2008041439A JP 2008041439 A JP2008041439 A JP 2008041439A JP 2009199425 A JP2009199425 A JP 2009199425A
Authority
JP
Japan
Prior art keywords
rtl
identification information
pld
programmable logic
fpga
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.)
Granted
Application number
JP2008041439A
Other languages
English (en)
Other versions
JP4983644B2 (ja
Inventor
Shigeto Koyama
茂登 小山
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008041439A priority Critical patent/JP4983644B2/ja
Publication of JP2009199425A publication Critical patent/JP2009199425A/ja
Application granted granted Critical
Publication of JP4983644B2 publication Critical patent/JP4983644B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】 簡易且つ効率的なデバッグを実現することが可能となる論理検証装置を提供する。
【解決手段】 論理検証装置10は、基板1上に実装され、動的に内部回路を書き換え可能なFPGA2と、基板1上に実装され、FPGA2に対応してFPGA2の内部回路を動的に再構成するデータとなるRTL及びラッパーRTLからなるコンフィグレーションデータ300が格納されるコンフィグレーションメモリ3と、基板1上にFPGAに対応して実装され、FPGA2に一意に対応するPLD識別情報をFPGA2に対して出力するPLD識別情報保持部4と、基板1上にFPGA2に対応して実装され、PLD識別情報に基づくFPGA2による判定結果を出力する第1の出力部6と、を備え、コンフィグレーションデータ300のラッパーRTLが、コンフィグレーションデータ300のRTLに一意に対応するRTL識別情報を有すると共に、RTL識別情報とPLD識別情報とを比較して相違の有無を判定する判定機能を有する。
【選択図】 図2

Description

本発明は、プログラマブル・ロジック・デバイス(Programmable Logic Device:PLD)、特に、FPGA(Field Programable Gate Arry)を基板上に実装した論理検証装置、論理検証支援装置及び論理検証方法に関し、特に、論理検証装置に実装したコンフィグレーションメモリに格納するコンフィグレーションデータの誤書き込みを検証できる論理検証装置及びその方法並びにその論理検証装置の論理検証を支援する論理検証支援装置に関する。
更に詳しくは、集積回路の開発におけるプログラマブル・ロジック・デバイス構成方法に係り、回路アーキテクチャ検討結果、及び論理設計ドキュメントの一部であるブロックのポート仕様の接続情報のみを用いてデバイス・テクノロジに依存しないブロックのポートとポート間を結ぶネットからなるコア(論理コア)と呼ぶネットリストを生成する。そして、コア(論理コア)から対象ブロックを選択、グループ化し、グループ化したコア(論理コア)のデータを使用し、集積回路の開発を行なう集積回路の開発方法、並びにASIC(Application Specific Integrated Circuit)とプログラマブル・ロジック・デバイスのシームレスなコンカレント開発を可能とする。そして、設計品質確保と開発期間短縮を両立すると共に、開発にかかる人的資源とコストを低減することができるASICとプログラマブル・ロジック・デバイスのコンカレント開発システムに使用する品質を向上させた論理検証装置に関する。
集積回路の開発手順では、先ず仕様を決定する際、洩れ等がないか慎重に検討した後、その仕様に従い設計を行なうようになっている。
先ず、製品仕様からASIC(特定用途向けIC)のスペックを取得する(g1)。次に、回路アーキテクチャを検討する(g2)。次に、回路アーキテクチャ検討結果に基づいて回路設計を行なう(g3)。この回路設計は、論理検証(g4)を行ないながら行なう。
次に、回路設計が終了したら回路の論理合成を行なう(g5)。論理合成が終了したら、論理合成結果に基づいてレイアウト展開する(g6)。この段階で回路が設計できたことになる。回路が設計できたら、当該回路を製造し(g7)、製造した回路を用いて実機の評価を行なう(g8)。なお、以上のシーケンスのうち、図11に示す集積回路設計手順に係る部分は、ステップ(g5)の論理合成に係る部分である。なお、図11は従来方法の原理を示すフローチャートである。
集積回路開発において、仕様を入力として実現する機能の検討、機能を実現する回路構成の検討を行なう回路アーキテクチャ検討を以下のような流れで実施している。通常、集積回路の開発では、製品の仕様から製品を実現する機能を洩れなく洗い出し、洗い出した機能を実現する回路構成の検討や、IP(Intellectual Property:知的財産)等のマクロ検討を行なう。ここで、マクロとはIPも含むRAM、ROM等、変更しなくても使えるものをいう。
構成を検討した回路やIPの実現規模の初期見積りを行ない、この時、回路やIPの実現規模が予め判っていればゲート数で算出し、ゲート数が判らない場合は必要な信号数と処理に必要な時間からフリップフロップ数を算出して実現規模を見積もっている。ここで、見積もった規模と各機能の入出力信号本数を基に複数の機能をグループ化し1つのブロックとする。このグループ化を全機能について行なう。
論理設計では、前述の機能と見積り規模を基にHDL(ハードウェア記述言語)等の手段によりプログラマブル・ロジック・デバイスを対象に回路設計を行ない、オンボードでの機能評価が行なわれる。評価完了後、ASIC化する場合に再設計及び再検証が行なわれていた。
また、従来のFPGA及びASICのネットリストを作成する方法は、回路アーキテクチャ検討結果であり論理設計ドキュメントの一部であるブロックのポート仕様の接続情報のみを用いてデバイス・テクノロジに依存しないブロックのポートとポート間を結ぶネットからなるコア(論理コア)と呼ぶネットリストを生成し、コア(論理コア)から対象ブロックを選択、グループ化し、グループ化したコア(論理コア)のデータを使用する集積回路の開発方法である(例えば、特許文献1参照)。
この従来のFPGA及びASICのネットリストを作成する方法は、前述した集積回路の開発手順に対して、開発TAT(Turn Around Time)及び開発リソース(人員)の効率化を図った開発手法が開示されている。
特に、従来のFPGA及びASICのネットリストを作成する方法においては、FPGAを基板上に搭載したプロトタイピング用基板を、コンカレント開発システム側にて開発する場合に、図12に示すS102のフェーズにて取得するネットリストから、プロトタイピング用基板に搭載するFPGAの個数、及び複数のFPGA間の接続情報を決定し、プロトタイピング用基板の回路図に反映する。なお、図12は従来のコンカレント開発システムの動作説明図である。
そして、コンカレント開発システム側におけるプロトタイピング用基板のアーキテクチャ検討では、電源系統、クロック系統、リセット系統、及びFPGAへのデータ転送方式を重点的に検討して回路図化を行ない、プロトタイピング用基板の製造及び製造性試験を実施する。なお、この製造性試験とは、プロトタイピング用基板に搭載された複数のFPGA間の接続性、及びFPGAと外部デバイスとの間の接続性を試験するものであり、ユーザがデザインした回路図のRTL(以下、ターゲットデザインRTLと称す)の妥当性を確認するものではない。ここで、RTL(Register Transfer Level:レジスタ転送レベル)とは、FPGAで論理動作を検証する集積回路の機能仕様をハードウェア記述言語で表現した論理合成可能な記述レベルの設計データである。
特開2007−102813号公報
従来のプログラマブル・ロジック・デバイスであるFPGAや、ASICのネットリストを作成する方法は、FPGAの内部回路のデータ(RTL)が、ターゲットデザインRTLの品質や版数の管理に依存している。
すなわち、ユーザは、コンカレント開発システム側に論理合成の依頼を行なったターゲットデザインRTLが、コンカレント開発システム側において図12に示すS101〜S103のフローを経て作成されたプロトタイピング用基板上の各FPGAにそれぞれ対応するROM(Read-Only Memory:読み出し専用メモリ)に書き込むROMデータとして、正しい位置のROMに書き込まれているかの妥当性を確認する必要がある。また、ユーザは、ユーザが意図する版数のROMデータがROMに書き込まれているかの妥当性を確認する必要がある。
このため、ユーザは、別途、FPGAベンダーが提供する有償のツールを購入し、購入した有償のツールを使用してROMに書き込まれたROMデータの妥当性を確認する必要があるという課題があった。
また、プロトタイピング用基板に搭載するFPGAの個数は、近年、数十個を搭載する場合があり、FPGA毎のROMデータの管理が複雑化している。
これに対し、コンカレント開発システム側からユーザにプロトタイピング用基板を最初に提供する場合に、プロトタイピング用基板に搭載されたROMにROMデータを書き込んだうえで提供するのであるが、コンカレント開発システム側の人為的なミスにより、ある特定のROMに本来書き込むべきROMデータを、当該ROMと異なるROMに書き込むことがある。また、コンカレント開発システム側は、ユーザが意図する版数と異なる版数のROMデータをROMに書き込むこともある。
これにより、コンカレント開発システム側にて製造性試験を行なう場合に、製造性試験に合格することができず、製造性試験を不合格となった原因をコンカレント開発システム側にて究明する必要がある。
したがって、コンカレント開発システム側は、FPGAベンダーが提供する有償のツールを使用して、プロトタイピング用基板に搭載している各FPGAに対して、本来書き込むべきROMデータと実際にROMに書き込まれたROMデータとを照合、又は本来書き込むべきROMデータとFPGAに設定されているROMデータとの照合を行なうことによって原因を究明する。
なお、FPGAベンダーが提供する有償のツールを使用したデータ照合は、ビット単位のチェックを行なうために、1個のFPGAに対するデータ照合に掛かる時間が5分程度を要してしまう。このため、プロトタイピング用基板に搭載しているFPGAが数十個にもなると、製造性試験にて人為的ミスが発生した場合における原因究明に際して、多大な時間を要するという課題があった。
さらに、ユーザによっては、単一のプロトタイピング用基板を使用して、機能の異なるASICを開発する場合がある。この場合には、RTLの版数毎に機能の異なるASICを割り当て、ターゲットデザインRTL内のCPU用レジスタ等にて版数管理を行ない、機能別のASICの評価を進めていく。
なお、この場合に、ターゲットデザインRTLを評価するためにFPGAを立上げた時には、CPUI/Fが立ち上がっていないことが多い。
このため、FPGAベンダーが提供する有償のツールを使用し、各FPGAに設定されているROMデータとターゲットデザインRTLとの照合を行なうことで、デバッグが進められている。
しかしながら、初期のデバッグに要する時間が莫大なものになり、効率的なデバッグを達成するために支障をきたしているという課題があった。
この発明は、上述のような課題を解決するためになされたもので、簡易且つ効率的なデバッグを実現することが可能となる論理検証装置及びその方法並びにその論理検証装置の論理検証を支援する論理検証支援装置を提供するものである。
この論理検証装置は、基板上に実装され、動的に内部回路を書き換え可能なプログラマブル・ロジック・デバイスと、前記基板上に実装され、前記プログラマブル・ロジック・デバイスに対応して前記プログラマブル・ロジック・デバイスの内部回路を動的に再構成するコンフィグレーションデータをRTL及びラッパーRTLとして格納されるコンフィグレーションメモリと、前記基板上に前記プログラマブル・ロジック・デバイスに対応して実装され、当該プログラマブル・ロジック・デバイスに一意に対応するPLD識別情報を当該プログラマブル・ロジック・デバイスに対して出力するPLD識別情報保持部と、前記基板上に前記プログラマブル・ロジック・デバイスに対応して実装され、前記PLD識別情報に基づく当該プログラマブル・ロジック・デバイスによる判定結果を出力する第1の出力部と、を備え、前記コンフィグレーションデータのラッパーRTLが、当該コンフィグレーションデータのRTLに一意に対応するRTL識別情報を有すると共に、当該RTL識別情報と前記PLD識別情報とを比較して相違の有無を判定する判定機能を有するものである。
このように、ラッパーRTLが、RTLに一意に対応するRTL識別情報を有すると共に、RTL識別情報とPLD識別情報とを比較して相違の有無を判定する判定機能を有することにより、コンフィグレーションデータが正しい位置のコンフィグレーションメモリに書き込まれているかの妥当性を容易且つ短時間に確認することができるというという効果を奏する。
また、この論理検証装置は、前記基板上に前記プログラマブル・ロジック・デバイスに対応して実装され、当該プログラマブル・ロジック・デバイスに設定されるコンフィグレーションデータのバージョンを示すPLD版数情報を、前記プログラマブル・ロジック・デバイスに対して出力するPLD版数情報保持部と、前記基板上に前記プログラマブル・ロジック・デバイスに対応して実装され、前記PLD版数情報に基づく当該プログラマブル・ロジック・デバイスによる判定結果を出力する第2の出力部と、を備え、前記ラッパーRTLが、前記RTLに一意に対応し且つRTLのバージョンを示すRTL版数情報を有すると共に、当該RTL版数情報と前記PLD版数情報とを比較して相違の有無を判定する判定機能を有するものである。
このように、ラッパーRTLが、RTLに一意に対応し且つRTLのバージョンを示すRTL版数情報を有すると共に、RTL版数情報とPLD版数情報とを比較して相違の有無を判定する判定機能を有することにより、正しい版数のコンフィグレーションデータがコンフィグレーションメモリに書き込まれているかの妥当性を容易且つ短時間に確認という効果を奏する。
この論理検証支援装置は、前記RTLが修正された修正RTLを格納する格納手段と、前記格納手段における修正RTLの格納場所の情報並びに当該修正RTLに一意に対応する前記RTL識別情報及び/又はRTL版数情報を含むメールによる、前記論理検証装置のプログラマブル・ロジック・デバイスに対する論理合成の依頼メールを受信する受信手段と、前記修正RTLの格納場所情報並びにRTL識別情報及び/又はRTL版数情報を前記依頼メールから抽出する抽出手段と、前記抽出された修正RTLの格納場所情報に基づき前記格納手段から修正RTLを読み出すと共に、当該修正RTL並びに前記抽出されたRTL識別情報及び/又はRTL版数情報を含む前記ラッパーRTLから前記コンフィグレーションデータを生成するコンフィグレーションデータ生成手段と、を備えているものである。
このように、論理検証支援装置は、前記RTLが修正された修正RTLを格納する格納手段と、前記格納手段における修正RTLの格納場所の情報並びに当該修正RTLに一意に対応する前記RTL識別情報及び/又はRTL版数情報を含むメールによる、前記論理検証装置のプログラマブル・ロジック・デバイスに対する論理合成の依頼メールを受信する受信手段と、前記修正RTLの格納場所情報並びにRTL識別情報及び/又はRTL版数情報を前記依頼メールから抽出する抽出手段と、前記抽出された修正RTLの格納場所情報に基づき前記格納手段から修正RTLを読み出すと共に、当該修正RTL並びに前記抽出されたRTL識別情報及び/又はRTL版数情報を含む前記ラッパーRTLから前記コンフィグレーションデータを生成するコンフィグレーションデータ生成手段と、を備えていることにより、ユーザからの依頼メールからRTL識別情報及び/又はRTL版数情報を自動的に抽出することができ、依頼されたRTL識別情報及び/又はRTL版数情報の誤認識による誤ったコンフィグレーションデータを生成するという人的操作ミスを抑制することができるという効果を奏する。
また、この論理検証支援装置は、前記コンフィグレーションデータは、前記修正RTL及びラッパーRTLが、論理合成され、前記プログラマブル・ロジック・デバイスの配置配線情報を作成するフィッティング及び回路要素間の配線を生成するルーティングされたネットリスト情報である。
このように、論理検証支援装置は、前記コンフィグレーションデータは、前記修正RTL及びラッパーRTLが、論理合成され、前記プログラマブル・ロジック・デバイスの配置配線情報を作成するフィッティング及び回路要素間の配線を生成するルーティングされたネットリスト情報であることにより、コンフィグレーションデータが正しい位置のコンフィグレーションメモリに正しい版数で書き込まれた場合に、論理検証装置により論理検証を行なう回路がプログラマブル・ロジック・デバイスに設定することができるという効果を奏する。
論理検証方法は、動的に内部回路を書き換え可能なプログラマブル・ロジック・デバイスと、当該プログラマブル・ロジック・デバイスに対応して当該プログラマブル・ロジック・デバイスの内部回路を動的に再構成するデータとなるRTL及びラッパーRTLからなるコンフィグレーションデータが格納されるコンフィグレーションメモリと、当該プログラマブル・ロジック・デバイスに対応して当該プログラマブル・ロジック・デバイスに一意に対応するPLD識別情報を当該プログラマブル・ロジック・デバイスに対して出力するPLD識別情報保持部と、当該プログラマブル・ロジック・デバイスに対応して当該PLD識別情報に基づく当該プログラマブル・ロジック・デバイスによる判定結果を出力する第1の出力部と、が基板上に実装された論理検証装置を用いた、当該コンフィグレーションメモリに書き込まれるコンフィグレーションデータの誤書き込みを検証する論理検証方法であって、前記論理検証装置の電源投入により、前記プログラマブル・ロジック・デバイスに対して、前記RTLにおける所望の論理回路、並びに前記ラッパーRTLにおける当該RTLに一意に対応するRTL識別情報が組み込まれたRTL識別情報保持部並びに当該RTL識別情報及び前記PLD識別情報を比較する識別情報比較部がそれぞれ設定されるステップと、前記識別情報比較部に対して前記PLD識別情報が出力されるステップと、前記識別情報比較部に対して前記RTL識別情報が出力されるステップと、前記PLD識別情報及びRTL識別情報が比較され、当該PLD識別情報及びRTL識別情報の相違の有無が判定されるステップと、前記識別情報比較部による判定結果が出力されるステップと、を含む方法である。
このように、論理検証方法は、動的に内部回路を書き換え可能なプログラマブル・ロジック・デバイスと、当該プログラマブル・ロジック・デバイスに対応して当該プログラマブル・ロジック・デバイスの内部回路を動的に再構成するデータとなるRTL及びラッパーRTLからなるコンフィグレーションデータが格納されるコンフィグレーションメモリと、当該プログラマブル・ロジック・デバイスに対応して当該プログラマブル・ロジック・デバイスに一意に対応するPLD識別情報を当該プログラマブル・ロジック・デバイスに対して出力するPLD識別情報保持部と、当該プログラマブル・ロジック・デバイスに対応して当該PLD識別情報に基づく当該プログラマブル・ロジック・デバイスによる判定結果を出力する第1の出力部と、が基板上に実装された論理検証装置を用いた、当該コンフィグレーションメモリに書き込まれるコンフィグレーションデータの誤書き込みを検証する論理検証方法であって、前記論理検証装置の電源投入により、前記プログラマブル・ロジック・デバイスに対して、前記RTLにおける所望の論理回路、並びに前記ラッパーRTLにおける当該RTLに一意に対応するRTL識別情報が組み込まれたRTL識別情報保持部並びに当該RTL識別情報及び前記PLD識別情報を比較する識別情報比較部がそれぞれ設定されるステップと、前記識別情報比較部に対して前記PLD識別情報が出力されるステップと、前記識別情報比較部に対して前記RTL識別情報が出力されるステップと、前記PLD識別情報及びRTL識別情報が比較され、当該PLD識別情報及びRTL識別情報の相違の有無が判定されるステップと、前記識別情報比較部による判定結果が出力されるステップと、を含むことにより、コンフィグレーションデータが正しい位置のコンフィグレーションメモリに書き込まれているかの妥当性を容易且つ短時間に確認することができるというという効果を奏する。
(本発明の第1の実施形態)
図1は本実施形態に係る論理検証装置の主要な構成を示す概略図、図2(a)は図1に示すFPGA内部におけるRTLの構成を示す概念図、図2(b)は図2(a)に示すラッパーRTLの構成を示す概念図、図3はPLD識別情報及びRTL識別情報を説明するための説明図、図4は本実施形態に係る論理検証装置の動作を示すフローチャートである。なお、この第1の実施形態では、プログラマブル・ロジック・デバイスの1種であるFPGAを用いる場合について説明する。
論理検証装置10は、従来のFPGA評価ボードの構成要素である、基板1と、基板1上に実装され動的に再構成可能なFPGA2と、基板1上にFPGA2に対応して実装されFPGA2に設定されるコンフィグレーションデータ300が格納されるコンフィグレーションメモリ3(例えば、ROM)とを少なくとも備えている。
また、論理検証装置10は、従来のFPGA評価ボードの構成要素に加えて、基板1上にFPGA2に対応して実装されFPGA2に一意に対応するFPGAを識別するID(以下、PLD識別情報と称す)をFPGA2に対して出力するPLD識別情報保持部4と、基板1上にFPGA2に対応して実装されFPGA2に設定されるコンフィグレーションデータのバージョンを示す版数情報(以下、PLD版数情報と称す)をFPGA2に対して出力するPLD版数情報保持部5と、基板1上にFPGA2に対応して実装されPLD識別情報に基づくFPGA2による判定結果を出力する第1の出力部6と、基板1上にFPGA2に対応して実装されPLD版数情報に基づくFPGA2による判定結果を出力する第2の出力部7と、を備えている。
FPGA2は、1つの基板1に対して1又は複数配設されており、本実施形態においては、図1に示すように、例えば、16個のFPGA2をマトリクス状に配列させている。なお、図1においては、各FPGA2に対して、第1のFPGA(FPGA−1)2a、第2のFPGA(FPGA−2)2b、・・・、第4のFPGA(FPGA−4)2d、・・・、第8のFPGA(FPGA−8)2h、・・・、第16のFPGA(FPGA−16)2pとして符号を付している。
また、コンフィグレーションメモリ3、PLD識別情報保持部4、PLD版数情報保持部5、第1の出力部6及び第2の出力部7は、各FPGA2に対応してそれぞれ配設されるものであり、図1においては、各FPGA2に対応付けて符号(a〜p)を付している。
コンフィグレーションデータ300は、FPGA2で論理動作を検証する集積回路の機能仕様をハードウェア記述言語で表現した論理合成可能な記述レベルの設計データであり、ユーザが意図した回路図のRTL(ターゲットデザインRTL310)、並びにFPGA2の機能を実現するためのデバイス依存部分及びターゲットデザインRTL310をコンカレントにするラッパーRTL320が論理合成され、FPGA2の配置配線情報を作成するフィッティング及び回路要素間の配線を生成するルーティングされたネットリスト情報である。
なお、本実施形態に係るラッパーRTL320は、ターゲットデザインRTL310に一意に対応するターゲットデザインRTL310を識別するID(以下、RTL識別情報と称す)を有すると共に、RTL識別情報とPLD識別情報とを比較して相違の有無を判定する判定機能を有する。すなわち、論理検証装置10の電源投入によって、コンフィグレーションメモリ3からFPGA2に対して自動的にコンフィグレーションが行なわれることで、FPGA2内にRTL識別情報保持部321がマッピングされ、RTL識別情報保持部321にRTL識別情報が組み込まれることになる。同様に、論理検証装置10の電源投入によって、FPGA2内に識別情報比較部322がマッピングされ、PLD識別情報保持部4からのアクセスに対して、動作できるような回路が組み込まれることになる。
また、本実施形態に係るラッパーRTL320は、ターゲットデザインRTL310に一意に対応するターゲットデザインRTL310のバージョンを示す版数情報(以下、RTL版数情報と称す)を有すると共に、RTL版数情報とPLD版数情報とを比較して相違の有無を判定する判定機能を有する。すなわち、論理検証装置10の電源投入によって、コンフィグレーションメモリ3からFPGA2に対して自動的にコンフィグレーションが行なわれることで、FPGA2内にRTL版数情報保持部323がマッピングされ、RTL版数情報保持部323にRTL版数情報が組み込まれることになる。同様に、論理検証装置10の電源投入によって、FPGA2内に版数情報比較部324がマッピングされ、PLD版数情報保持部5からのアクセスに対して、動作できるような回路が組み込まれることになる。
ここで、PLD識別情報は、各FPGA2に対してそれぞれ付与される固定されたIDであり、例えば、図3に示すように、5桁の二進数のコードで表わされる。
PLD識別情報保持部4は、PLD識別情報であるコードのうち、「1」を電源Vcc、「0」をグランドGNDにより表現した信号を、I/O(Input/Output)ピンを介してFPGA2内の識別情報比較部322に対して出力する。
また、PLD版数情報は、各FPGA2に対して、例えば、ロータリースイッチ、スライドスイッチ又はプッシュロックスイッチで構成されるディップスイッチ(Dual In-line Package switch)などによって、論理検証装置10のユーザが選択する任意の版数情報である。
PLD版数情報保持部5は、例えば、ロータリースイッチであれば、ユーザが選択した版数に対応する二進数又は二進化十進数(BCD:Binary-Coded Decimal)のコードを、FPGA2内の版数情報比較部324に対して出力する。
第1の出力部6は、FPGA2内の識別情報比較部322によるPLD識別情報とRTL識別情報との比較結果を、論理検証装置10のユーザに報知するための手段である。例えば、第1の出力部6を発光ダイオード(LED:Light-Emitting Diode)とし、識別情報比較部322によりPLD識別情報とRTL識別情報とが異なっていると判断された場合には、識別情報比較部322からの信号に基づき、第1の出力部6である発光ダイオードを点灯させ、論理検証装置10の外部から視認できる構成としてもよい。また、第1の出力部6を外部接続コネクタとして、図示しない表示装置に接続することで、FPGA2内の識別情報比較部322によるPLD識別情報とRTL識別情報との比較結果を、表示装置の表示画面に表示させてもよい。
第2の出力部7は、FPGA2内の版数情報比較部324によるPLD版数情報とRTL版数情報との比較結果を、論理検証装置10のユーザに報知するための手段である。例えば、第2の出力部7を発光ダイオードとし、版数情報比較部324によりPLD版数情報とRTL版数情報とが異なっていると判断された場合には、版数情報比較部324からの信号に基づき、第2の出力部7である発光ダイオードを点灯させ、論理検証装置10の外部から視認できる構成としてもよい。また、第2の出力部7を外部接続コネクタとして、図示しない表示装置に接続することで、FPGA2内の版数情報比較部324によるPLD版数情報とRTL版数情報との比較結果を、表示装置の表示画面に表示させてもよい。
次に、本実施形態に係る論理検証装置10の動作について図4を用いて説明する。
まず、論理検証装置10の電源を投入すると(ステップS1)、論理検証装置10は、各FPGA2に対して、対応するコンフィグレーションメモリ3からコンフィグレーションデータ300が読み出されてコンフィグレーションを開始する(ステップS2)。
そして、論理検証装置10は、各FPGA2に対して、所望の論理回路、RTL識別情報保持部321及び識別情報比較部322並びにRTL版数情報保持部323及び版数情報比較部324がそれぞれ設定されてコンフィグレーションを終了する(ステップS3)。
各PLD識別情報保持部4は、対応するFPGA2内の識別情報比較部322にPLD識別情報を出力し(ステップS4a)、各PLD版数情報保持部5は、対応するFPGA2内の版数情報比較部324にPLD版数情報を出力する(ステップS4b)。
また、各RTL識別情報保持部321は、対応するFPGA2内の識別情報比較部322にRTL識別情報を出力し(ステップS5a)、各RTL版数情報保持部323は、対応するFPGA2内の版数情報比較部324にRTL版数情報を出力する(ステップS5b)。
そして、各識別情報比較部322は、入力されたPLD識別情報とRTL識別情報とを比較してPLD識別情報とRTL識別情報とが相違するか否かを判断する(ステップS6a)。また、各版数情報比較部324は、入力されたPLD版数情報とRTL版数情報とを比較してPLD版数情報とRTL版数情報とが相違するか否かを判断する(ステップS6b)。
ステップS6aにおいて、PLD識別情報とRTL識別情報とが相違すると判断した場合には、該当する識別情報比較部322は対応する第1の出力部6に判断結果を出力する(ステップS7a)。なお、本実施形態においては、第1の出力部6として発光ダイオードを使用し、この発光ダイオードを点灯させることにより、PLD識別情報とRTL識別情報とが相違することをユーザに報知している。逆に、この発光ダイオードを点灯させないことにより、PLD識別情報とRTL識別情報とが相違することをユーザに報知してもよい。
また、ステップS6aにおいて、PLD識別情報とRTL識別情報とが相違しないと判断した場合には、該当する識別情報比較部322は対応する第1の出力部6に判断結果を出力する(ステップS8a)。なお、本実施形態においては、第1の出力部6として発光ダイオードを使用し、この発光ダイオードを点灯させないことにより、PLD識別情報とRTL識別情報とが相違しないことをユーザに報知している。逆に、この発光ダイオードを点灯させることにより、PLD識別情報とRTL識別情報とが相違しないことをユーザに報知してもよい。
ステップS6bにおいて、PLD版数情報とRTL版数情報とが相違すると判断した場合には、該当する版数情報比較部324は対応する第2の出力部7に判断結果を出力する(ステップS7b)。なお、本実施形態においては、第2の出力部7として発光ダイオードを使用し、この発光ダイオードを点灯させることにより、PLD版数情報とRTL版数情報とが相違することをユーザに報知している。逆に、この発光ダイオードを点灯させないことにより、PLD版数情報とRTL版数情報とが相違することをユーザに報知してもよい。
また、ステップS6bにおいて、PLD版数情報とRTL版数情報とが相違しないと判断した場合には、該当する版数情報比較部324は対応する第2の出力部7に判断結果を出力する(ステップS8b)。なお、本実施形態においては、第2の出力部7として発光ダイオードを使用し、この発光ダイオードを点灯させないことにより、PLD版数情報とRTL版数情報とが相違しないことをユーザに報知している。逆に、この発光ダイオードを点灯させることにより、PLD版数情報とRTL版数情報とが相違しないことをユーザに報知してもよい。
なお、論理検証装置10上の第1の出力部6及び第2の出力部7である発光ダイオードが全て点灯していないのであれば、コンフィグレーションデータ300が、正しい版数であり、正しい位置のコンフィグレーションメモリ3に書き込まれていると判断でき、論理検証装置10に対して、FPGA評価ボードとしての本来の動作を行なわせることになる。
また、論理検証装置10上の第1の出力部6及び第2の出力部7である発光ダイオードが1個でも点灯しているのであれば、当該点灯した発光ダイオードに対応するFPGA2のコンフィグレーションメモリ3には、本来書き込まれるべきコンフィグレーションデータ300が書き込まれていないと判断できる。したがって、点灯した発光ダイオードに対応するFPGA2のコンフィグレーションメモリ3に対して、正しいコンフィグレーションデータ300を新たに書き込むことになる。
以上のように、本実施形態に係る論理検証装置10においては、第1の出力部6及び第2の出力部7から出力される情報(例えば、第1の出力部6及び第2の出力部7が発光ダイオードであれば、発光ダイオードの点灯の有無)を確認することにより、コンフィグレーションデータ300が、正しい位置のコンフィグレーションメモリ3に書き込まれているかの妥当性及び正しい版数のコンフィグレーションデータ300がコンフィグレーションメモリ3に書き込まれているかの妥当性を容易且つ短時間に確認することができるという作用効果を奏する。
また、市販のFPGAツールを用いることなく、コンフィグレーションデータ300が正しい位置のコンフィグレーションメモリ3に書き込まれているかの妥当性及び正しい版数のコンフィグレーションデータ300がコンフィグレーションメモリ3に書き込まれているかの妥当性を確認することができるという作用効果を奏する。
(本発明の第2の実施形態)
図5は第2の実施形態に係るFPGA及びASICのコンカレント開発の概要を示す説明図、図6は図5に示す論理検証支援装置の概略構成を示すブロック図、図7は本実施形態に係る論理検証支援装置におけるデザインサービスを利用した処理手順を示すフローチャート、図8は図7に示すフローチャートの続きを示すフローチャート、図9は再合成依頼メールの内容の一例を示す説明図、図10は本実施形態に係る論理検証支援装置におけるデザインサービスの付加機能を説明するための説明図である。図5〜図10において、図1〜図4と同じ符号は、同一又は相当部分を示し、その説明を省略する。
論理検証支援装置100は、受信手段であるメールサーバ110、メール管理サーバ120、格納手段であるFTPサーバ130、RTL版数監視サーバ140、抽出手段である合成管理サーバ150、並びにコンフィグレーションデータ生成手段である合成端末装置160及びP&R端末装置170から構成される。
メールサーバ110は、メール送受信ソフトウェアを有するコンピュータであり、メールのフィルタリングを行ない、後述するユーザ端末装置200からの情報を後述するメール管理サーバ120に出力する。
メール管理サーバ120は、依頼メールのスケジューリングを行なうコンピュータであり、依頼メールの情報を格納し、後述する合成端末装置160及びP&R端末装置170との間でデータをやりとりする。
FTPサーバ130は、ファイル転送プロトコル(FTP:File Transfer Protocol)を利用してファイルの送受信を行なうサーバソフトウェアを動作させるコンピュータであり、ユーザ端末装置200からのRTLソースファイル(ターゲットデザインRTL310)を格納する。
RTL版数監視サーバ140は、FTPサーバ130及び後述する合成管理サーバ150からのRTL版数情報を格納するコンピュータである。
なお、RTLの版数を管理する必要性としては、ユーザが所有する論理検証装置10を再利用して、例えば、ターゲットとするSoC(System-on-Chip)の機能を高めるべく、特定のFPGA2内におけるターゲットデザインRTL310の一部分を修正したRTLに対して版数を増やして管理する場合が挙げられる。すなわち、ターゲットSoCに対して過去の版数のRTLを流用して設計する場合が想定できる。
また、ユーザによっては、ターゲットSoCのフル機能版や廉価版(機能削減版)を同時に開発する場合があり、特定のFPGA2内のターゲットデザインRTL310を二重管理(フル機能版、廉価版)する場合が想定できる。ただし、RTLの版数の変更にあたり、論理検証装置10の結線情報に変更がないことを前提条件としている。
合成管理サーバ150は、メール管理サーバ120に格納された依頼メールの情報を参照し、依頼メールの情報からRTL識別情報及びRTL版数情報を抽出する。また、合成管理サーバ150は、抽出したRTL版数情報をRTL版数監視サーバ140に出力すると共に、抽出したRTL識別情報及びRTL版数情報を後述する合成端末装置160に出力して論理合成ツールを起動させる。
合成端末装置160は、合成管理サーバ150からのRTL識別情報及びRTL版数情報に基づき、メール管理サーバ120に格納された依頼メールの情報から、論理合成の対象である論理検証装置10、及び当該論理検証装置10内の対応するFPGA2を特定すると共に、当該FPGA2に対応するターゲットデザインRTL310のFTPサーバ130内の格納場所を特定する。また、合成端末装置160は、特定されたターゲットデザインRTL310をFTPサーバ130から読み出して、論理合成の対象である論理検証装置10のFPGA2に対して論理合成を行なう。
P&R端末装置170は、合成端末装置160からの論理合成結果に基づき、ライブラリ(図12に示すFPGA合成結果ライブラリに相当)に登録された各ゲートを隙間なく並べ(Place)、ゲートの端子と端子を接続する(Route)、レイアウトを作成するための端末装置である。
ボード設計者端末装置180は、合成端末装置160及びP&R端末装置170によって設計された回路図に基づき、論理検証装置10を製造する設計者(以下、ボード設計者と称す)が使用する端末装置である。
ユーザ端末装置200は、論理検証支援装置100を用いたデザインサービスが提供されるユーザが使用する端末装置である。ここで、デザインサービスとは、ユーザが、RTLソースファイル(ターゲットデザインRTL310)を、論理検証支援装置100のメールサーバ110に電子メールに添付して送信又はFTPサーバ130に送付することにより、ネットリストへの論理合成を行なえる自動メール応答型論理合成(MDLS:Mail Drop Logic Synthesis)サービスのことである。
次に、第2の実施形態に係る論理検証支援装置100の処理手順について、図7及び図8を用いて説明する。
なお、ユーザ端末装置200から入力されるブロック間の接続情報及びブロックのゲート規模をインプット情報(以下、顧客インプット情報と称す)として、合成端末装置160にて、コア(論理コア)を生成し、論理検証装置10に搭載するべきFPGA2の個数の決定を行なうまでの処理(図12におけるS102までの処理)については、前述した従来のFPGA及びASICのネットリストを作成する方法と同様の処理を行なうために、説明を省略する。
合成管理サーバ150は、図12に示すS102及びS103間の処理である、ASIC化を行なうデザイン(ターゲットデザイン)を複数のFPGA2に整合するようにコア(論理コア)を分割する処理において、各FPGA2に対してPLD識別情報を割り当て管理する(ステップS201)。なお、合成管理サーバ150は、例えば、図3に示すように、FPGAのチップ名とPLD識別情報とを一意に対応付けた対応表を保持することになる。
そして、合成管理サーバ150は、メール管理サーバ120、メールサーバ110及び通信網を介して、ボード設計者端末装置180及び該当する論理合成の依頼を行なったユーザ端末装置200に対して、割り当てたPLD識別情報を通知する(ステップS202)。
ボード設計者は、論理検証支援装置100から提供される、顧客インプット情報及び論理検証装置10の基本アーキテクチャ(電源系統、クロック系統、リセット系統、評価系統)を検討して反映した論理検証装置10の回路図に対して、論理検証支援装置100から通知されたPLD識別情報を該当するPLD識別情報保持部4に反映して設計する(ステップS203)。また、ボード設計者は、論理検証装置10の回路図に対して、PLD版数情報保持部5、第1の出力部6及び第2の出力部7を反映して設計する。
そして、ボード設計者は、PLD識別情報保持部4、PLD版数情報保持部5、第1の出力部6及び第2の出力部7を反映した論理検証装置10の回路図に基づき、図1に示すような論理検証装置10を製造する(ステップS204)。
そして、ボード設計者は、製造した論理検証装置10の製造性試験を実施する(ステップS205)。
ステップS205において、製造性試験に合格した場合には、試験に合格した論理検証装置10をユーザに提供する(ステップS206)。
また、ステップS205において、製造性試験に不合格であった場合には、ステップS204に戻る。
ユーザは、提供された論理検証装置10を用いて、ターゲットデザインのハードデバッグを実施する(ステップS207)。
ステップS207において、提供された論理検証装置10に論理ミスを発見しない場合には、論理検証支援装置100の処理を終了する。
また、ステップS207において、提供された論理検証装置10に論理ミスを発見した場合には、ユーザは論理ミスを引き起こしたFPGA2内のブロックを特定し、論理ミスに起因するブロック内のRTLを修正する(ステップS208)。
そして、ユーザは、特定したブロックが実装されているFPGA2に対する再度の論理合成(以下、再合成と称す)を、デザインサービス側に依頼する(ステップS209)。この場合に、ユーザは、ユーザ端末装置200を用いて、図9に示すような再合成に必要な情報を記載した再合成依頼メールを、論理検証支援装置100に送信することになる。また、ユーザは、ユーザ端末装置200を用いて、論理ミスに起因するブロック内のRTLを修正したターゲットデザインRTL310(以下、修正ターゲットデザインRTL310と称す)を、論理検証支援装置100内のターゲットデザイン用データベースであるFTPサーバ130に転送する。
ここで、再合成依頼メールの内容として、再合成の対象となる論理検証装置10の識別情報であるLSIのニックネーム(例えば、LsiName=abcd)及び/又はFPGAのニックネーム(例えば、FPGA=abcd)、当該論理検証装置10内の対象となるFPGA2の識別情報であるFPGAのチップ名(例えば、ChipName=FPGA1)、当該FPGA2の版数情報であるFPGAのチップ版数(例えば、Chipver=XXX)、修正ターゲットデザインRTL310を格納したディレクトリを指定するRTL格納ディレクトリ指定(例えば、RTL/(日付)であり、GetDir=RTL/070611)、並びに修正ターゲットデザインRTL310の圧縮ファイルを指定するRTL圧縮ファイル指定(例えば、[任意ディレクトリ名].ascであり、GetFile=rtl20070611.asc)が挙げられる。
そして、論理検証支援装置100のメールサーバ110は、再合成依頼メールを受信して、メール管理サーバ120にデータを出力し(ステップS210)、メール管理サーバ120は、再合成依頼メールの情報を格納する(ステップS211)。
そして、合成管理サーバ150は、メール管理サーバ120に格納された再合成依頼メールの情報を参照し、再合成依頼メールの情報からFPGAのチップ名(RTL識別情報に相当)及びFPGAのチップ版数(RTL版数情報に相当)をスクリプトにより自動的に抽出する(ステップS212)。
また、合成管理サーバ150は、FPGAのチップ名(RTL識別情報に相当)及びFPGAのチップ版数(RTL版数情報に相当)を、ラッパーRTL320の識別情報比較部322及び版数情報比較部324において判定できるデータ構造とするために、パラメータ化を行なう(ステップS213)。この場合に、RTL識別情報は、合成管理サーバ150に保持されている対応表(図3参照)を参照し、FPGAのチップ名に基づき、対応する5桁の二進数のコードに変換する。
合成管理サーバ150は、抽出したFPGAのチップ版数(RTL版数情報に相当)をRTL版数監視サーバ140に出力し、RTL版数監視サーバ140はRTL版数情報を格納する(ステップS214)。
また、合成管理サーバ150は、抽出したFPGAのチップ名及びFPGAのチップ版数並びにパラメータ化したRTL識別情報及びRTL版数情報を合成端末装置160に出力して論理合成ツールを起動させる(ステップS215)。
合成端末装置160は、合成管理サーバ150からのFPGAのチップ名及びFPGAのチップ版数に基づき、メール管理サーバ120に格納された再合成依頼メールの情報から、再合成の対象である論理検証装置10(LSIのニックネーム及び/又はFPGAのニックネーム)、及び当該論理検証装置10内の対応するFPGA2(FPGAのチップ名)を特定すると共に、当該FPGA2に対応する修正ターゲットデザインRTL310のFTPサーバ130内の格納場所(RTL格納ディレクトリ指定、RTL圧縮ファイル指定)を特定する(ステップS216)。
また、合成端末装置160は、特定された修正ターゲットデザインRTL310をFTPサーバ130から読み出す(ステップS217)。
そして、合成端末装置160は、再合成の対象である論理検証装置10のFPGA2に対して、修正ターゲットデザインRTL310並びにパラメータ化したRTL識別情報及びRTL版数情報に基づき、再合成を行なう(ステップS218)。この場合には、図2に示すように、修正ターゲットデザインRTL310及び当該修正ターゲットデザインRTL310の上位階層にあたるラッパーRTL320を含むRTLを生成することになる。
これにより、再合成の依頼があったFPGA2に対応するコンフィグレーションデータ300として、修正ターゲットデザインRTL310の他に、当該修正ターゲットデザインRTL310に対応するRTL識別情報及びRTL版数情報が自動的に実装されることになる。
合成端末装置160は、P&R端末装置170に再合成結果を出力する(ステップS219)。
P&R端末装置170は、合成端末装置160からの再合成結果に基づき、ライブラリ(図12に示すFPGA合成結果ライブラリに相当)に登録された各ゲートを隙間なく並べ(Place)、ゲートの端子と端子を接続する(Route)、レイアウトを実施して、FPGAの配置配線情報を作成するフィッティング及び回路要素間の配線を生成するルーティングされたネットリスト情報であるコンフィグレーションデータ300を生成する(ステップS220)。
また、P&R端末装置170は、コンフィグレーションデータ300をメール管理サーバ120に出力し、メール管理サーバ120、メールサーバ110及び通信網を介して、再合成の依頼元であるユーザ端末装置200に対して結果レポートを返信する(ステップS221)。
結果レポートを受け取ったユーザは、リリースされたコンフィグレーションデータ300を、該当するコンフィグレーションメモリ3に書き込む(ステップS222)。
そして、ユーザは、図4に示すフローチャートによる処理を行なう(ステップS223)。
そして、ユーザは、各FPGA2に対応する第1の出力部6及び第2の出力部7の出力状態(ここでは、発光ダイオードの点灯状態)をそれぞれ確認する。なお、発光ダイオードが点灯しているのであれば、点灯した発光ダイオードに対応するFPGA2のコンフィグレーションメモリ3に、再合成を依頼した修正ターゲットデザインRTL310が書き込まれていないことを意味する。
すなわち、ユーザが、コンフィグレーションメモリ3にコンフィグレーションデータ300を書き込む際に、誤った位置のコンフィグレーションメモリ3に書き込むという操作ミスが発生したことを、簡易且つ短時間に発見することが可能となる。
特に、本実施形態に係る論理検証装置10においては、過去のRTLの版数に戻すユーザからの再合成依頼に対するコンフィグレーションデータ300のリリースについても対応することができる。
すなわち、ユーザは、論理検証装置10のRTLの版数変更を依頼したFPGA2に対応するPLD版数情報保持部5であるロータリースイッチを該当する版数に合わせ、対応する第2の出力部7である発光ダイオードの点灯状態を確認する。これにより、デザインサービス側からリリースされたコンフィグレーションデータ300が正しい版数のRTLを含むコンフィグレーションデータ300であるかを確認することができ、簡易且つ短時間にデザインサービス側の操作ミスを発見することができる。
なお、本実施形態に係る論理検証装置10においては、ユーザが意図したコンフィグレーションデータが正しい位置のコンフィグレーションメモリ3に書き込まれているかの妥当性を判断する場合について説明したが、デザインサービス側がユーザに論理検証装置10を提供する前における論理検証装置10の製造性試験においても同様に、各FPGA2に対応する第1の出力部6及び第2の出力部7の出力状態(ここでは、発光ダイオードの点灯状態)をそれぞれ確認することで、製造時における人的操作ミスを簡易且つ短時間に発見することが可能となる。これにより、製造性試験の短縮につながり、ユーザに対して迅速に論理検証装置10を出荷することが可能となる。
[付記] 以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1) 基板上に実装され、動的に内部回路を書き換え可能なプログラマブル・ロジック・デバイスと、前記基板上に実装され、前記プログラマブル・ロジック・デバイスに対応して前記プログラマブル・ロジック・デバイスの内部回路を動的に再構成するコンフィグレーションデータをRTL及びラッパーRTLとして格納されるコンフィグレーションメモリと、前記基板上に前記プログラマブル・ロジック・デバイスに対応して実装され、当該プログラマブル・ロジック・デバイスに一意に対応するPLD識別情報を当該プログラマブル・ロジック・デバイスに対して出力するPLD識別情報保持部と、前記基板上に前記プログラマブル・ロジック・デバイスに対応して実装され、前記PLD識別情報に基づく当該プログラマブル・ロジック・デバイスによる判定結果を出力する第1の出力部と、を備え、前記コンフィグレーションデータのラッパーRTLが、当該コンフィグレーションデータのRTLに一意に対応するRTL識別情報を有すると共に、当該RTL識別情報と前記PLD識別情報とを比較して相違の有無を判定する判定機能を有することを特徴とする論理検証装置。
(付記2) 前記基板上に前記プログラマブル・ロジック・デバイスに対応して実装され、当該プログラマブル・ロジック・デバイスに設定されるコンフィグレーションデータのバージョンを示すPLD版数情報を、前記プログラマブル・ロジック・デバイスに対して出力するPLD版数情報保持部と、前記基板上に前記プログラマブル・ロジック・デバイスに対応して実装され、前記PLD版数情報に基づく当該プログラマブル・ロジック・デバイスによる判定結果を出力する第2の出力部と、を備え、前記ラッパーRTLが、前記RTLに一意に対応し且つRTLのバージョンを示すRTL版数情報を有すると共に、当該RTL版数情報と前記PLD版数情報とを比較して相違の有無を判定する判定機能を有することを特徴とする論理検証装置。
(付記3) 前記論理検証装置を接続するユーザ側の端末装置とデザインサービス側の端末装置とが通信網を介して接続可能とし、前記論理検証装置の論理検証を支援する論理検証支援装置であって、前記RTLが修正された修正RTLを格納する格納手段と、前記格納手段における修正RTLの格納場所の情報並びに当該修正RTLに一意に対応する前記RTL識別情報及び/又はRTL版数情報を含むメールによる、前記論理検証装置のプログラマブル・ロジック・デバイスに対する論理合成の依頼メールを受信する受信手段と、前記修正RTLの格納場所情報並びにRTL識別情報及び/又はRTL版数情報を前記依頼メールから抽出する抽出手段と、前記抽出された修正RTLの格納場所情報に基づき前記格納手段から修正RTLを読み出すと共に、当該修正RTL並びに前記抽出されたRTL識別情報及び/又はRTL版数情報を含む前記ラッパーRTLから前記コンフィグレーションデータを生成するコンフィグレーションデータ生成手段と、を備えていることを特徴とする論理検証支援装置。
(付記4) 前記コンフィグレーションデータは、前記修正RTL及びラッパーRTLが、論理合成され、前記プログラマブル・ロジック・デバイスの配置配線情報を作成するフィッティング及び回路要素間の配線を生成するルーティングされたネットリスト情報であることを特徴とする論理検証支援装置。
(付記5) 動的に内部回路を書き換え可能なプログラマブル・ロジック・デバイスと、当該プログラマブル・ロジック・デバイスに対応して当該プログラマブル・ロジック・デバイスの内部回路を動的に再構成するデータとなるRTL及びラッパーRTLからなるコンフィグレーションデータが格納されるコンフィグレーションメモリと、当該プログラマブル・ロジック・デバイスに対応して当該プログラマブル・ロジック・デバイスに一意に対応するPLD識別情報を当該プログラマブル・ロジック・デバイスに対して出力するPLD識別情報保持部と、当該プログラマブル・ロジック・デバイスに対応して当該PLD識別情報に基づく当該プログラマブル・ロジック・デバイスによる判定結果を出力する第1の出力部と、が基板上に実装された論理検証装置を用いた、当該コンフィグレーションメモリに書き込まれるコンフィグレーションデータの誤書き込みを検証する論理検証方法であって、前記論理検証装置の電源投入により、前記プログラマブル・ロジック・デバイスに対して、前記RTLにおける所望の論理回路、並びに前記ラッパーRTLにおける当該RTLに一意に対応するRTL識別情報が組み込まれたRTL識別情報保持部並びに当該RTL識別情報及び前記PLD識別情報を比較する識別情報比較部がそれぞれ設定されるステップと、前記識別情報比較部に対して前記PLD識別情報が出力されるステップと、前記識別情報比較部に対して前記RTL識別情報が出力されるステップと、前記PLD識別情報及びRTL識別情報が比較され、当該PLD識別情報及びRTL識別情報の相違の有無が判定されるステップと、前記識別情報比較部による判定結果が出力されるステップと、を含むことを特徴とする論理検証方法。
本実施形態に係る論理検証装置の主要な構成を示す概略図である。 (a)は図1に示すFPGA内部におけるRTLの構成を示す概念図であり、(b)は図2(a)に示すラッパーRTLの構成を示す概念図である。 PLD識別情報及びRTL識別情報を説明するための説明図である。 本実施形態に係る論理検証装置の動作を示すフローチャートである。 第2の実施形態に係るFPGA及びASICのコンカレント開発の概要を示す説明図である。 図5に示す論理検証支援装置の概略構成を示すブロック図である。 本実施形態に係る論理検証支援装置におけるデザインサービスを利用した処理手順を示すフローチャートである。 図7に示すフローチャートの続きを示すフローチャートである。 再合成依頼メールの内容の一例を示す説明図である。 本実施形態に係る論理検証支援装置におけるデザインサービスの付加機能を説明するための説明図である。 従来方法の原理を示すフローチャートである。 従来のコンカレント開発システムの動作説明図である。
符号の説明
1 基板
2 FPGA
3 コンフィグレーションメモリ
4 PLD識別情報保持部
5 PLD版数情報保持部
6 第1の出力部
7 第2の出力部
10 論理検証装置
100 論理検証支援装置
110 メールサーバ
120 メール管理サーバ
130 FTPサーバ
140 RTL版数監視サーバ
150 合成管理サーバ
160 合成端末装置
170 R端末装置
180 ボード設計者端末装置
200 ユーザ端末装置
300 コンフィグレーションデータ
321 RTL識別情報保持部
322 識別情報比較部
323 RTL版数情報保持部
324 版数情報比較部

Claims (5)

  1. 基板上に実装され、動的に内部回路を書き換え可能なプログラマブル・ロジック・デバイスと、
    前記基板上に実装され、前記プログラマブル・ロジック・デバイスに対応して前記プログラマブル・ロジック・デバイスの内部回路を動的に再構成するコンフィグレーションデータをRTL及びラッパーRTLとして格納されるコンフィグレーションメモリと、
    前記基板上に前記プログラマブル・ロジック・デバイスに対応して実装され、当該プログラマブル・ロジック・デバイスに一意に対応するPLD識別情報を当該プログラマブル・ロジック・デバイスに対して出力するPLD識別情報保持部と、
    前記基板上に前記プログラマブル・ロジック・デバイスに対応して実装され、前記PLD識別情報に基づく当該プログラマブル・ロジック・デバイスによる判定結果を出力する第1の出力部と、
    を備え、
    前記コンフィグレーションデータのラッパーRTLが、当該コンフィグレーションデータのRTLに一意に対応するRTL識別情報を有すると共に、当該RTL識別情報と前記PLD識別情報とを比較して相違の有無を判定する判定機能を有することを特徴とする論理検証装置。
  2. 前記請求項1に記載の論理検証装置において、
    前記基板上に前記プログラマブル・ロジック・デバイスに対応して実装され、当該プログラマブル・ロジック・デバイスに設定されるコンフィグレーションデータのバージョンを示すPLD版数情報を、前記プログラマブル・ロジック・デバイスに対して出力するPLD版数情報保持部と、
    前記基板上に前記プログラマブル・ロジック・デバイスに対応して実装され、前記PLD版数情報に基づく当該プログラマブル・ロジック・デバイスによる判定結果を出力する第2の出力部と、
    を備え、
    前記ラッパーRTLが、前記RTLに一意に対応し且つRTLのバージョンを示すRTL版数情報を有すると共に、当該RTL版数情報と前記PLD版数情報とを比較して相違の有無を判定する判定機能を有することを特徴とする論理検証装置。
  3. 前記請求項1又は2に記載の論理検証装置を接続するユーザ側の端末装置とデザインサービス側の端末装置とが通信網を介して接続可能とし、前記論理検証装置の論理検証を支援する論理検証支援装置であって、
    前記RTLが修正された修正RTLを格納する格納手段と、
    前記格納手段における修正RTLの格納場所の情報並びに当該修正RTLに一意に対応する前記RTL識別情報及び/又はRTL版数情報を含むメールによる、前記論理検証装置のプログラマブル・ロジック・デバイスに対する論理合成の依頼メールを受信する受信手段と、
    前記修正RTLの格納場所情報並びにRTL識別情報及び/又はRTL版数情報を前記依頼メールから抽出する抽出手段と、
    前記抽出された修正RTLの格納場所情報に基づき前記格納手段から修正RTLを読み出すと共に、当該修正RTL並びに前記抽出されたRTL識別情報及び/又はRTL版数情報を含む前記ラッパーRTLから前記コンフィグレーションデータを生成するコンフィグレーションデータ生成手段と、
    を備えていることを特徴とする論理検証支援装置。
  4. 前記請求項3に記載の論理検証支援装置において、
    前記コンフィグレーションデータは、前記修正RTL及びラッパーRTLが、論理合成され、前記プログラマブル・ロジック・デバイスの配置配線情報を作成するフィッティング及び回路要素間の配線を生成するルーティングされたネットリスト情報であることを特徴とする論理検証支援装置。
  5. 動的に内部回路を書き換え可能なプログラマブル・ロジック・デバイスと、当該プログラマブル・ロジック・デバイスに対応して当該プログラマブル・ロジック・デバイスの内部回路を動的に再構成するデータとなるRTL及びラッパーRTLからなるコンフィグレーションデータが格納されるコンフィグレーションメモリと、当該プログラマブル・ロジック・デバイスに対応して当該プログラマブル・ロジック・デバイスに一意に対応するPLD識別情報を当該プログラマブル・ロジック・デバイスに対して出力するPLD識別情報保持部と、当該プログラマブル・ロジック・デバイスに対応して当該PLD識別情報に基づく当該プログラマブル・ロジック・デバイスによる判定結果を出力する第1の出力部と、が基板上に実装された論理検証装置を用いた、当該コンフィグレーションメモリに書き込まれるコンフィグレーションデータの誤書き込みを検証する論理検証方法であって、
    前記論理検証装置の電源投入により、前記プログラマブル・ロジック・デバイスに対して、前記RTLにおける所望の論理回路、並びに前記ラッパーRTLにおける当該RTLに一意に対応するRTL識別情報が組み込まれたRTL識別情報保持部並びに当該RTL識別情報及び前記PLD識別情報を比較する識別情報比較部がそれぞれ設定されるステップと、
    前記識別情報比較部に対して前記PLD識別情報が出力されるステップと、
    前記識別情報比較部に対して前記RTL識別情報が出力されるステップと、
    前記PLD識別情報及びRTL識別情報が比較され、当該PLD識別情報及びRTL識別情報の相違の有無が判定されるステップと、
    前記識別情報比較部による判定結果が出力されるステップと、
    を含むことを特徴とする論理検証方法。
JP2008041439A 2008-02-22 2008-02-22 論理検証装置、論理検証支援装置及び論理検証方法 Expired - Fee Related JP4983644B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008041439A JP4983644B2 (ja) 2008-02-22 2008-02-22 論理検証装置、論理検証支援装置及び論理検証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008041439A JP4983644B2 (ja) 2008-02-22 2008-02-22 論理検証装置、論理検証支援装置及び論理検証方法

Publications (2)

Publication Number Publication Date
JP2009199425A true JP2009199425A (ja) 2009-09-03
JP4983644B2 JP4983644B2 (ja) 2012-07-25

Family

ID=41142840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008041439A Expired - Fee Related JP4983644B2 (ja) 2008-02-22 2008-02-22 論理検証装置、論理検証支援装置及び論理検証方法

Country Status (1)

Country Link
JP (1) JP4983644B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004199537A (ja) * 2002-12-20 2004-07-15 Ricoh Co Ltd 回路検証装置
JP2007026369A (ja) * 2005-07-21 2007-02-01 Canon Inc 集積回路用論理検証装置および方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004199537A (ja) * 2002-12-20 2004-07-15 Ricoh Co Ltd 回路検証装置
JP2007026369A (ja) * 2005-07-21 2007-02-01 Canon Inc 集積回路用論理検証装置および方法

Also Published As

Publication number Publication date
JP4983644B2 (ja) 2012-07-25

Similar Documents

Publication Publication Date Title
US6968514B2 (en) Block based design methodology with programmable components
CN112949233B (zh) Fpga芯片的自动化开发方法及装置、电子设备
US7913194B1 (en) Systems and methods for super-threading
US7444257B2 (en) Generation of a testbench for a representation of a device
US20010025369A1 (en) Block based design methodology
JP4078435B2 (ja) 論理集積回路及び論理集積回路設計方法及び論理集積回路のハードウェア動作記述を生成するハードウェア記述生成方法
US8397188B1 (en) Systems and methods for testing a component by using encapsulation
US8196075B1 (en) Generation of input/output models
US8103992B1 (en) Rapid rerouting based runtime reconfigurable signal probing
JP2008165748A (ja) 回路設計支援装置、回路設計支援方法、回路設計支援プログラムおよびプリント基板の製造方法
CN118052196A (zh) 基于uvm的芯片验证测试方法、装置及电子设备
US20110209132A1 (en) Device and method for refactoring hardware code
US20070094629A1 (en) Methods and Apparatus for Making Placement Sensitive Logic Modifications
US8868396B1 (en) Verification and debugging using heterogeneous simulation models
CN115310403A (zh) 缺陷分析方法、相关设备及可读存储介质
JP4983644B2 (ja) 論理検証装置、論理検証支援装置及び論理検証方法
JP4654203B2 (ja) デジタルシステムのhdl記述ファイルを作成する方法、および得られるシステム
CN103365976A (zh) 使用Perl语言对电路XDL级网表描述进行面向应用的测试修改方法及测试方法
CN117669460A (zh) 一种集成电路的交互文件生成方法以及装置
JP2007081338A (ja) 半導体集積回路および半導体集積回路の設計方法
TWI409659B (zh) Circuit design methods, circuit design systems and recording media
JP4979329B2 (ja) 回路構成情報生成装置、制御装置、回路検証システム、回路検証方法、回路構成情報生成プログラム及び制御プログラム
JP2007094506A (ja) 回路検証システムと方法、及びプログラム
JPWO2006025412A1 (ja) 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置
CN116738912B (zh) Eda软件可重构功能自动化方法及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100917

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120321

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: 20120327

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: 20120409

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees