JP2007272671A - 動作合成装置、デバッグ装置、書き込み装置並びに回路設計支援システム及び方法 - Google Patents

動作合成装置、デバッグ装置、書き込み装置並びに回路設計支援システム及び方法 Download PDF

Info

Publication number
JP2007272671A
JP2007272671A JP2006099071A JP2006099071A JP2007272671A JP 2007272671 A JP2007272671 A JP 2007272671A JP 2006099071 A JP2006099071 A JP 2006099071A JP 2006099071 A JP2006099071 A JP 2006099071A JP 2007272671 A JP2007272671 A JP 2007272671A
Authority
JP
Japan
Prior art keywords
circuit
variable
information indicating
behavioral synthesis
objective function
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
JP2006099071A
Other languages
English (en)
Other versions
JP4706855B2 (ja
Inventor
Yoshinosuke Kato
吉之介 加藤
Toru Awashima
亨 粟島
Noritsugu Nakamura
典嗣 中村
Hirokazu Kami
弘和 紙
Takao Toi
崇雄 戸井
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 JP2006099071A priority Critical patent/JP4706855B2/ja
Priority to US11/727,948 priority patent/US20080040700A1/en
Publication of JP2007272671A publication Critical patent/JP2007272671A/ja
Application granted granted Critical
Publication of JP4706855B2 publication Critical patent/JP4706855B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】無駄な作業を省くことが可能であり、回路設計の最適化を実現する動作合成装置、デバッグ装置、書き込み装置並びに回路設計支援システム及び方法を提供する。
【解決手段】動作合成によって得られた生存区間情報を、論理合成段階、配置配線段階、デバッグ段階または再構成デバイスへの書き込み段階の処理に用い、動作レベル記述に記載されている変数に割り当てる記憶素子の共有化、データパスを最短にする等の最適化を行う。また、デバッグ装置や書き込み装置においても、上記生存区間情報を用いて、無効な変数を表示しない、あるいは外部メモリへ退避させる情報を低減する。
【選択図】図1

Description

本発明は、半導体集積回路装置の動作を記述した動作レベル記述から具体的な回路の構成、配置、配線を示す情報を生成するための回路設計を支援する動作合成装置、デバッグ装置、該情報の書き込み装置並びに回路設計支援システム及び方法に関する。
情報処理装置は、その利用範囲が広がり、より高度な演算処理あるいは画像や動画のように大量のデータを高速に処理する能力が要求されている。このような要求を満たすための手法として、従来、CPUとは別に特定の演算や処理を実行するDSP(Digital Signal Processor)やASIC(Application Specific Integrated Circuit)等を備え、CPUの処理負荷を軽減することで情報処理装置の処理能力を向上させた構成が採用されている。
しかしながら、近年の情報処理装置は、これら画像、動画、音声、音楽等のマルチメディアデータに対して様々な規格の圧縮/伸長処理や演算処理等が必要になり、またインターネット等のネットワークを介して各種データを送受信するための通信処理にも様々なプロトコルが用いられるようになってきている。さらに、ネットワーク上で送受信される情報の安全性が問題となっているため、情報セキュリティのための暗号化処理やそれを解読するための処理も必要になる。そのため、これらの処理に応じて多数のDSPやASIC等を設けていたのでは、情報処理装置の回路規模やコストが膨大なものとなってしまう。
そこで、情報処理装置にFPGA(Field Programmable Gate Array)やDRP(Dynamically Reconfigurable Processor)等の再構成デバイスを備え、必要に応じて再構成デバイス内のプログラムを書き換えて処理を実行させることにより、情報処理装置のスループットを向上させると共に、コストを低減しつつ様々な処理要求への対応を可能にした構成が知られている。
再構成デバイスは、内部にプログラム(コンフィグレーションコード)を格納するための内部メモリを備え、CPU等の制御により外部メモリに格納されたコンフィグレーションコードを内部メモリへロードし、ロードしたコンフィグレーションコードにしたがって内部に回路を構成し、該回路により入力されたデータに対して処理を実行する。また、再構成デバイスには、処理に必要なデータや処理結果を一時的に保持するためのレジスタを備えている。この内部メモリにはコンフィグレーションコードだけでなく、処理途中で参照するテーブルやデータが一時的に格納されることもある。以下、再構成デバイスが備えるレジスタや処理に必要な情報を保持する内部メモリを記憶素子と総称する。
ところで、一般に、LSIやVLSI等の半導体集積回路装置の設計では、設計の支援や一部を自動化するLSI設計自動化・支援ツールが用いられる。このLSI設計の自動化・支援ツールを利用したVLSI設計の代表的な方法として、各種のEDA(Electronic Design Automation)ツールを用いたトップダウン設計方法がある。トップダウン設計方法は、その上流工程から、動作レベル設計フェーズ、機能設計フェーズ、論理設計フェーズ、レイアウト設計フェーズに大別できる。
トップダウン設計方法においては、まず設計対象となるLSIをシステムとして捉え、システム仕様の作成工程として、その動作を記述することから始まる。この工程を動作レベル設計フェーズと呼ぶ。動作レベル設計フェーズで作成された回路記述は動作レベル記述と呼ばれる。動作レベル記述の作成には、例えば、C言語、C++言語、あるいはjava言語等が用いられる。
機能設計フェーズは、動作合成装置を用いて動作レベル設計フェーズで作成された動作レベル回路記述をRTL(Register Transfer Level)回路記述に変換する。RTL回路記述は設計対象の回路をクロック毎の動作にまで具体化した記述である。
論理設計フェーズは、機能設計フェーズで作成されたRTL回路記述を論理レベル回路記述(論理ゲート回路による記述、またはネットリスト)に変換する。論理合成によって生成されたネットリストは、続くレイアウト設計フェーズでレイアウト設計に用いられ、レイアウト設計で生成された回路パターンを基にチップ設計が行われる。
一方、上述した再構成デバイスについても、コンフィグレーションコードあるいはネットリストを生成するために、上述したLSIやVLSI等の設計と同様に、設計の支援やデバッグ作業を支援する設計自動化・支援ツール(回路設計支援システム)が用いられる。再構成デバイス用の回路設計支援システムでは、動作合成装置により、例えば入力された動作レベル記述を動作合成することで各変数に記憶素子を割り当て、動作合成後の出力を論理合成することで回路のネットリストを作成し、該ネットリストを配置配線(レイアウト)処理することでコンフィグレーションコードを生成する。生成されたコンフィグレーションコードは、CPU等から成るコンフィグレーションローダー(書き込み装置)を用いて、あるいは直接再構成デバイスに読み込まれて実行される。また、生成されたコンフィグレーションコードは、デバッグ装置を用いて再構成デバイスで実行している途中の記憶素子の内容を観測することで検証される。
なお、LSI設計自動化・支援ツールとしては、特許文献1に記載された回路設計支援システムがある。また、プログラムのデバッグを支援するツールとしては、特許文献2に記載されたデバッグ支援装置がある。
また、上記DRPについては、例えば、特許文献3、特許文献4及び非特許文献1等に詳細が記載されている。
特開2005−242812号公報 特開平11−194957号公報 特開2001−312481号公報 特開2003−196246号公報 Hideharu Amano, Akiya Jouraku, Kenichiro Anjo, "A dynamically adaptive switch fabric on a multicontext reconfigurable device", Proceeding of International Field programmable Logic and Application Conference, September 2003, p161-170.
上述した設計自動化・支援ツールを用いた回路設計では、通常、記憶素子で保持している情報が常に有効であると仮定して回路を設計している。
しかしながら、実際の回路動作では、実行している処理に応じて記憶素子で保持している情報が無効となる期間が存在する。従来の動作合成装置では、この記憶素子で保持している情報が無効となる期間を把握していないため、例えば1つのレジスタを複数の変数で共有する等の最適化設計を実施することができなかった。また、従来のデバッグ装置も、同様に記憶素子で保持している情報が無効となる期間を把握していないため、実行中の処理と全く関係の無い情報を保持している記憶素子の内容を表示する場合があり、動作に無駄があった。
本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、無駄な作業を省くことが可能であり、回路設計の最適化を実現する動作合成装置、デバッグ装置、書き込み装置並びに回路設計支援システム及び方法を提供することを目的とする。
上記目的を達成するため本発明の動作合成装置は、半導体集積回路装置の動作を記述した動作レベル記述から動作合成、論理合成及び配置配線を実行し、設計対象となる回路の構成、配置、配線を示す情報を生成する動作合成装置であって、
前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を用いて、前記動作合成よりも後段の設計段階にて、予め設定した目的関数が小さくなるように、前記半導体集積回路装置に備える記憶素子に対して前記変数を割り当てる処理装置と、
前記生存区間情報を格納する記憶装置と、
を有する構成である。
また、本発明のデバッグ装置は、半導体集積回路装置の動作を記述した動作レベル記述から動作合成、論理合成及び配置配線を実行することで生成された、設計対象となる回路の構成、配置、配線を示す情報をデバッグするためのデバッグ装置であって、
任意の状態における任意の変数の値の表示が指示された場合、前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を基に、指示された状態における値が無効な変数について、有効な値ではないことを表示するための情報を生成する処理装置と、
前記生存区間情報を格納する記憶装置と、
を有する構成である。
または、半導体集積回路装置の動作を記述した動作レベル記述から動作合成、論理合成及び配置配線を実行することで生成された、設計対象となる回路の構成、配置、配線を示す情報をデバッグするためのデバッグ装置であって、
任意の状態における任意の記憶素子に格納された変数の表示が指示された場合、前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を基に、指示された状態における値が有効な記憶素子に格納された変数のみを表示するための情報を生成する処理装置と、
前記生存区間情報を格納する記憶装置と、
を有する構成である。
また、本発明の書き込み装置は、半導体集積回路装置の動作を記述した動作レベル記述から動作合成、論理合成及び配置配線を実行することで生成された、設計対象となる回路の構成、配置、配線を示す情報を前記半導体集積回路装置へ書き込むための書き込み装置であって、
前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を用いて、予め設定した目的関数が小さくなるように、前記半導体集積回路装置が備える記憶素子の保持内容を前記外部メモリへ退避させる処理装置と、
前記生存区間情報を格納する記憶装置と、
を有する構成である。
さらに、本発明の回路設計支援システムは、上記動作合成装置、デバッグ装置または書き込み装置のいずれかを有する、前記半導体集積回路装置の回路設計を支援するための構成である。
一方、本発明の回路設計支援方法は、半導体集積回路装置の動作を記述した動作レベル記述から動作合成、論理合成及び配置配線を実行し、設計対象となる回路の構成、配置、配線を示す情報を生成するための回路設計支援方法であって、
コンピュータが、前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を記憶装置に記憶し、
前記生存区間情報を用いて、前記動作合成よりも後段の設計段階にて、予め設定した目的関数が小さくなるように、前記半導体集積回路装置に備える記憶素子に対して前記変数を割り当てる方法である。
または、半導体集積回路装置の動作を記述した動作レベル記述から動作合成、論理合成及び配置配線を実行することで生成された、設計対象となる回路の構成、配置、配線を示す情報をデバッグするための回路設計支援方法であって、
コンピュータが、前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を記憶装置に記憶し、
任意の状態における任意の変数の値の表示が指示された場合、前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を基に、指示された状態における値が無効な変数について、有効な値ではないことを表示するための情報を生成する方法である。
または、半導体集積回路装置の動作を記述した動作レベル記述から動作合成、論理合成及び配置配線を実行することで生成された、設計対象となる回路の構成、配置、配線を示す情報をデバッグするための回路設計支援方法であって、
コンピュータが、前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を記憶装置に記憶し、
任意の状態における任意の記憶素子に格納された変数の表示が指示された場合、前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を基に、指示された状態における値が有効な記憶素子に格納された変数のみを表示するための情報を生成する方法である。
または、半導体集積回路装置の動作を記述した動作レベル記述から動作合成、論理合成及び配置配線を実行することで生成された、設計対象となる回路の構成、配置、配線を示す情報を前記半導体集積回路装置へ書き込むための回路設計支援方法であって、
コンピュータが、前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を記憶装置に記憶し、
前記生存区間情報を用いて、予め設定した目的関数が小さくなるように、前記半導体集積回路装置が備える記憶素子の保持内容を前記外部メモリへ退避させる方法である。
上記のような構成及び方法では、動作合成によって得られた生存区間情報を、論理合成段階、配置配線段階の処理に用いることで、論理合成段階や配置配線段階における設計自由度が向上する。また、生存区間情報をデバッグ段階の処理で用いることで不必要な情報の表示や作業を不要にできる。さらに、生存区間情報を再構成デバイスに対する回路の切り替え時に用いることで、再構成デバイスから外部メモリへ退避させるデータ量を低減できる。
本発明によれば、動作合成によって得られた生存区間情報を、論理合成段階、配置配線段階、デバッグ段階または再構成デバイスへの書き込み段階の処理で用いることで、無駄な作業を省くことが可能であり、回路設計の最適化を実現できる。
次に本発明について図面を参照して説明する。
図1は本発明の回路設計支援システムの一構成例を示すブロック図である。
以下では、再構成デバイスで処理を実行するためのプログラムであるコンフィグレーションコードを生成する構成を例にして説明するが、本発明はLSIやVLSI等の半導体集積回路装置の設計を支援する回路設計支援システムにも適用可能である。また、以下では、再構成デバイスが備えるレジスタや処理に必要な情報を保持する内部メモリを記憶素子と総称する。
図1に示すように、本発明の回路設計支援システムは、動作レベル記述から動作合成、論理合成及び配置配線を実行し、コンフィグレーションコードを生成する動作合成装置1と、動作合成装置1で生成されたコンフィグレーションコードを再構成デバイス4に読み込むためのコンフィグレーションローダー(書き込み装置)2と、動作合成装置1で生成されたコンフィグレーションコードをデバッグするためのデバッグ装置3とを有する構成である。
動作合成装置1は、入力された動作レベル記述に対して動作合成を実行してRTL回路記述を出力し、動作合成後のRTL回路記述から論理合成を実行することでネットリストを作成し、該ネットリストを配置配線(レイアウト)することでコンフィグレーションコードが生成する処理装置と、処理に必要な各種情報が格納される記憶装置とを有する構成である。なお、記憶装置は動作合成装置に含まれている必要はなく、動作合成装置から独立した構成であってもよい。
処理装置及び記憶装置は、上記動作合成、論理合成及び配置配線を実行するLSIや論理回路及びメモリ等によって構成されていてもよく、図2に示すような情報処理装置(コンピュータ)によって構成されてもよい。
図2は図1に示した動作合成装置の一構成例を示すブロック図である。
図2に示す情報処理装置は、プログラムにしたがって所定の処理を実行する処理装置10と、処理装置10に対してコマンドや情報等を入力するための入力装置20と、処理装置10の処理結果をモニタするための出力装置30とを有する構成である。
処理装置10は、CPU11と、CPU11の処理に必要な情報を一時的に記憶する主記憶装置12と、CPU11に動作合成装置1としての処理を実行させるためのプログラムが記録された記録媒体13と、後述する対応関係情報、アクセス情報、生存区間情報等が格納されるデータ蓄積装置14と、主記憶装置12、記録媒体13及びデータ蓄積装置14とのデータ転送を制御するメモリ制御インタフェース部15と、入力装置20及び出力装置30とのインタフェース装置であるI/Oインタフェース部16とを備え、それらがバス18を介して接続された構成である。また、処理装置10は、コンフィグレーションローダー2、デバッグ装置3及び再構成デバイス4と情報を送受信するためのインタフェースであるインタフェース装置を備えている。なお、処理装置10にはネットワークと接続するためのインタフェースである通信制御装置を備えていてもよい。また、データ蓄積装置14は、必ずしも処理装置10内に備える必要はなく、外部に独立して備えていてもよい。
処理装置10は、記録媒体13に記録されたプログラムにしたがって上記動作合成、論理合成及び配置配線等の処理をそれぞれ実行する。なお、記録媒体13は、磁気ディスク、半導体メモリ、光ディスクあるいはその他の記録媒体であってもよい。
データ蓄積装置14には、動作合成によって得られる対応関係情報、アクセス情報及び生存区間情報が格納される。
対応関係情報は、動作レベル記述と動作合成によって生成されたRTL回路記述との対応関係を示す情報であり、例えば、「信号の対応関係」、「演算の対応関係」、「記述文の対応関係」等についての情報等がある。
アクセス情報は、再構成デバイス4の各記憶素子に対するアクセス状態を示す情報であり、「書き込み」及び「読み出し」状態を示す情報、及びデータを保持している「保持」状態を示す情報が含まれる。
生存区間情報は、動作レベル記述で記載されている変数が有効な期間(以下、生存区間と称す場合もある)を示す情報である。なお、変数には配列変数や構造体変数も含むものとする。
例えば、図3に示すように、動作レベル記述により、処理が状態ST1、ST2、ST3に遷移する場合を考える。この場合、変数xは、状態ST1で定義され、状態ST3で演算に用いられるため、その生存区間は状態ST1〜ST3となる。同様に、変数yは、状態ST2で定義され、状態ST3で演算に用いられるため、その生存区間は状態ST2、ST3となる。変数zは、状態ST3以降が不明であり、生存区間の終わりは不明であるが、状態ST3で定義されているため、生存区間の始まりは状態ST3となる。
本発明では、この生存区間情報を用いることで無駄な作業を省くことや各種の最適化設計が可能な回路設計支援システムを実現する。
なお、コンフィグレーションローダー2及びデバッグ装置3は、動作合成装置1と同様にLSIや論理回路等によって構成されていてもよく、図2に示したような情報処理装置(コンピュータ)によって構成されてもよい。コンフィグレーションローダー2及びデバッグ装置3を情報処理装置によって実現する場合、その処理装置は後述するコンフィグレーションローダー2またはデバッグ装置3の処理を実行し、その記憶装置(データ蓄積装置)に生存区間情報が格納される。
上記のような構成において、次に本発明の回路設計支援システムによる具体的な処理について以下の第1実施例〜第5実施例にて説明する。
(第1実施例)
まず、第1実施例で用いる動作レベル記述及びその動作合成結果の例を図4に示す。
図4は本発明の回路設計支援システムの第1実施例で用いる動作レベル記述及びその動作合成結果を示す図であり、同図(a)は動作合成装置に入力される動作レベル記述例、同図(b)は動作合成後の出力回路を示す回路図、同図(c)は各変数の生存区間を示すテーブル図である。
図4(a)に示すa,b,c,dは入力であり、gは出力である。また、e,fはそれぞれ変数を示している。
図4(b)に示すように、動作合成後の出力回路は、データパス部とFSM(Finite State Machine)部とによって表現される。この例では、図4(a)に示す動作レベル記述が動作合成によって4つの状態ST1〜ST4に分割され、状態ST1〜ST4の順に遷移することが示されている。図4(b)において、R1及びR2はレジスタを示し、Port1〜Port3は入出力端子を示している。また、*は乗算器を示し、+は加算器を示している。
図4(c)に示すように、図4(a)に示した動作レベル記述を基に生成された出力回路では、動作合成によって変数eにレジスタR1が割り当てられ、変数fにレジスタR2が割り当てられている。図4(c)の記載から、変数eの生存区間は状態ST1〜ST3であり、変数fの生存区間は状態ST3〜ST4であることが分かる。図4(c)において、Readは記憶素子からの読み込みを示し、Writeは記憶素子への書き込みを示し、Holdは記憶素子の値を保持することを示している。Port1〜Port3は、記憶素子ではないため、生存区間はRead時またはWrite時のみとなる。
本実施例は、図4(c)に示した生存区間情報を基に配置配線段階にてデータパスを最適化する例である。
図5は本発明の回路設計支援システムの第1実施例の処理結果を示す図であり、同図(a)は最適化処理前のデータパス及び生存区間情報を示す模式図、同図(b)は最適化処理後のデータパス及び生存区間情報を示す模式図である。
図5(a)、(b)の模式図で示すデータパスの各面は、状態ST1、ST2、ST3に相当しているが、これらの面は、複数の回路を切り替えて実行可能な再構成デバイス(例えば、特許文献3、特許文献4及び非特許文献1等に詳細が記載されているDRP)が備える切り替え可能な回路面(コンテキスト)に対応していると解釈することもできる。
図5(a)に示すように、最適化処理前、変数eの生存区間は状態ST1〜ST3であり、状態ST1で変数eの値がレジスタR1に書き込まれ、状態ST2で変数eの値が保持され、状態ST3で変数eの値がレジスタR1から読み出される。
ここで、使用していないレジスタR3が存在し、状態ST3にてレジスタR1から読み出した変数eの書き込み先に対する位置が、レジスタR1よりもレジスタR3の方が近いとする。
その場合、図5(b)に示すように、状態ST2でレジスタR1に格納された変数eの値をレジスタR3に移し変え、状態ST3でレジスタR3の変数eを読み出すように最適化する。このように回路を変えても論理的な処理結果は変わらない。しかしながら、データパスは、状態ST3にてレジスタR3から変数eを読み出すことでパス長が短縮されるため、状態ST3における読み出し処理時の遅延量が低減する。
本実施例によれば、生存区間情報を動作合成装置で利用することで配置配線段階における設計の自由度が向上するため、例えば信号伝播遅延を小さくすることを目的関数として設定し、該目的関数が小さくなるように、好ましくは最小となるように、各変数に割り当てる記憶素子を切り替える設計を行えば、配線による遅延量を低減することが可能になる。このとき、目的関数には、挿入するレジスタ数とレジスタを挿入することで生成されるパス(転送パス)数とが予め設定した値を越えないとする制約条件を付与することが望ましい。
特に本実施例を上記DRPのような再構成デバイスを設計するための回路設計支援システムに適用すれば、DRPが備える回路面の切り替え機構により、配線が各回路面に分散されるため、レジスタ及び転送パスを挿入しても配線が困難になることがない。すなわち、配線の容易性を保ちつつレジスタ及び転送パスを挿入できる。
なお、本実施例では、動作合成によって得られた生存区間情報を動作合成装置1の配置配線段階でのみ利用する例を示しているため、図1に示したコンフィグレーションローダー2及びデバッグ装置3は不要であり、それらが無い構成であってもよい。すなわち、第1実施例は図6に示す構成に好適な例である。
(第2実施例)
次に本発明の回路設計支援システムの第2実施例について説明する。
第2実施例は生存区間情報を基に論理合成段階または配置配線段階にて記憶素子を共有することで最適化する例である。
図7は本発明の回路設計支援システムの第2実施例の処理結果を示す図であり、同図(a)は最適化処理前のデータパス及び生存区間情報の一例を示す模式図、同図(b)は最適化処理後のデータパス及び生存区間情報を示す模式図である。
図7(a)、(b)の模式図で示すデータパスの各面は、状態ST1、ST2、ST3、ST4に相当しているが、これらの面は、複数の回路を切り替えて実行可能な再構成デバイス(例えば、特許文献3、特許文献4及び非特許文献1等に詳細が記載されているDRP)が備える切り替え可能な回路面(コンテキスト)に対応していると解釈することもできる。
図7(a)に示す例では、レジスタR1及びR2を備え、レジスタR1が状態ST1及び状態ST2にて変数xを保持するために用いられ、レジスタR2が状態ST3及び状態ST4にて変数yを保持するために用いられている。このような場合、状態ST3及び状態ST4ではレジスタR1を使用していないため、変数yを保持するためにレジスタR1を用いることも可能である。
この記憶素子を共有する回路設計は動作合成段階でも可能である。しかしながら、本実施例では、生存区間情報を利用することで、論理合成段階あるいは配置配線段階において各変数に割り当てる記憶素子を共有する。
本実施例のように、生存区間情報を基に論理合成段階にて記憶素子を共有する設計を行うことで、回路全体の性能を考慮して記憶素子を共有することが可能になる。例えば、動作合成段階にて記憶素子を共有する設計を行うと、動作合成段階では、セットアップ遅延やホールド遅延等のように精度が低い記憶素子固有の特性に関する情報、あるいは割り当てる記憶素子のビット幅やデータパスの接続情報のように抽象度が高い情報に基づいて記憶素子を共有する設計を行うため、回路全体の性能から見て共有化が不適当な変数を1つの記憶素子で共有してしまう可能性がある。一方、本実施例のように、生存区間情報を基に論理合成段階で記憶素子を共有すれば、精度が高い記憶素子固有の特性に関する情報に基づいて記憶素子を共有する設計を行うことが可能であり、ビット幅やデータパスの接続情報も確定しているため、上記のような問題は発生しない。
さらに、本実施例のように、生存区間情報を基に配置配線段階にて記憶素子を共有する設計を行うことで、回路全体の性能を考慮して記憶素子を共有することが可能になる。例えば、動作合成段階で記憶素子を共有する設計を行うと、動作合成段階では、記憶素子のレイアウトを考慮するための指標を持たないため、ファンアウト(fanout)が多い(出力数が多い)変数を1つのレジスタで共有する可能性がある。その場合、複数の変数で共有する記憶素子へ接続するための配線が困難になるため、配置配線段階でレイアウト不能であることが検出され、動作合成をやり直す等の無駄な作業が発生する。一方、本実施例のように配置配線段階で記憶素子を共有すれば、レイアウトを考慮して記憶素子を割り当てることができるため、このような問題は発生しない。
また、本実施例のように配置配線段階にてレイアウトを考慮して記憶素子を複数の変数で共有し、さらに第1実施例で示した配線遅延を考慮して記憶素子を変数に割り当てる処理を実行すれば、例えば高速動作が要求される回路では配線遅延を優先して記憶素子を各変数に割り当て、レイアウト面積が優先される回路では記憶素子を共有する等の処置が可能になる。そのため、動作周波数や回路面積等の回路全体の性能を考慮した配置配線が可能になる。
本実施例によれば、生存区間情報を動作合成装置で利用することで動作合成段階あるいは配置配線段階における設計の自由度が向上するため、例えば使用する記憶素子数を少なくすることを目的関数として設定し、該目的関数が小さくなるように、好ましくは最小となるように、各変数に割り当てる記憶素子を切り替える設計を行えば、動作周波数の高速化や回路面積を低減することが可能になる。このとき、目的関数には、論理合成段階では信号伝播遅延が予め設定した値を越えないとする制約条件を付与することが望ましく、配置配線段階では信号伝播遅延が予め設定した値を越えないこと、及び配線の容易性を保つとする制約条件を付与することが望ましい。
特に本実施例を上記DRPのような再構成デバイスを設計するための回路設計支援システムに適用すれば、レジスタの共有化を、セレクタ素子ではなく、DRPが備える回路面の切り替え機構により実現できるため、セレクタ素子数が増加することがない。また、DRPが備える回路面の切り替え機構により配線が各回路面に分散されるため、レジスタを共有化しても、配線の困難性による配線長の延伸がないため、遅延量が増加することがない。すなわち、レジスタを共有することによるデメリットが低減する。
なお、本実施例では、動作合成によって得られた生存区間情報を動作合成装置1の論理合成段階で利用する例と配置配線段階で利用する例とを示しているため、図1に示したコンフィグレーションローダー2及びデバッグ装置3は不要であり、それらが無い構成であってもよい。すなわち、第2実施例は、生存区間情報を動作合成装置1の論理合成段階で利用する場合は図8に示す構成に好適な例であり、生存区間情報を動作合成装置1の配置配線段階で利用する場合は第1実施例と同様に図6に示す構成に好適な例である。
(第3実施例)
次に本発明の回路設計支援システムの第3実施例について説明する。
第3実施例は生存区間情報を基にデバッグ装置3による作業を最適化する例である。
図9は本発明の回路設計支援システムの第3実施例の処理結果を示す図であり、同図(a)は動作合成装置に入力される動作レベル記述例、同図(b)は動作合成後の出力回路を示す回路図、同図(c)は各変数の生存区間を示すテーブル図である。
図9(a)に示すa,b,c,e,g,h,i,j,kは入力であり、f,lは出力である。また、aa,bb,ccはそれぞれ変数を示している。
図9(b)に示すように、この例では、図9(a)に示した動作レベル記述が動作合成によって5つの状態ST1〜ST5に分割され、状態ST1〜ST5の順に遷移することが分かる。なお、図9(b)において、R1〜R4はレジスタを示し、Port1〜Port12は入出力端子を示している。また、*は乗算器を示し、+は加算器を示している。
図9(c)に示すように、図9(a)に示した動作レベル記述で用いる変数aaには、状態ST1及びST2においてレジスタR1が割り当てられ、状態ST3及びST4においてレジスタR4が割り当てられている。また、変数bbには、状態ST2及びST3においてレジスタR2が割り当てられ、状態ST4及びST5においてレジスタR3が割り当てられている。さらに、変数ccには、状態ST2及びST3においてレジスタR3が割り当てられ、状態ST4及びST5においてレジスタR2が割り当てられている。図9(c)の記載から、変数aaの生存区間は状態ST1〜ST4であり、変数bbの生存区間は状態ST2〜ST5であり、変数ccの生存区間は状態ST2〜ST5であることが分かる。
図9(b)に示す出力回路をデバッグする場合、従来のデバッグ装置では、図1に示した対応関係情報を基に各変数に割り当てられた記憶素子の内容を表示する。ここで、操作者が状態ST1における変数bbの値を表示するようにデバッグ装置に指示した場合、デバッグ装置は対応関係情報に基づいてレジスタR2及びレジスタR3の値を表示する。しかしながら、図9(c)に示すように、状態ST1では変数bbを求めるための演算を実行していないため、表示されたレジスタR2及びレジスタR3の値は状態ST1における処理と無関係な値である。
本実施例では、デバッグ装置3にて生存区間情報を利用することで、状態ST1においては変数bbが有効な値ではない(生存区間ではない)ことが判別できるため、無意味な値を表示することなく、その変数bbが有効な値ではないことを表示するための情報を生成し、その情報に基づき表示を行う。したがって、デバッグ時における不要な情報の表示が抑制されため、デバッグ効率が向上する。
特に本実施例を上記DRPのような再構成デバイスを設計するための回路設計支援システムに適用すると、DRPには予め標準化された制御手順や記憶素子へのアクセス手順が用意され、高い可制御性・可観測性が確保されているため、本実施例で示したデバッグ時における処理を容易に実現できる。
なお、本実施例では、動作合成によって得られた生存区間情報をデバッグ装置3でのみ利用する例を示しているため、図1に示した動作合成装置1が実行する論理合成及び配置配線は不要であり、それらが無い構成であってもよい。すなわち、第3実施例は図10に示す構成に好適な例である。また、生存区間情報は、通常、コンフィグレーションコード等からも得られるため、デバッグ装置3のためにこれらを一度コンパイルすれば、以降、デバッグ装置3で生存区間情報を利用するために動作合成装置1を起動する必要はない。その場合、図10に示した動作合成装置1も不要になる。
(第4実施例)
次に本発明の回路設計支援システムの第4実施例について説明する。
第4実施例は生存区間情報を基にデバッグ装置3による作業を最適化する他の例である。
図11は本発明の回路設計支援システムの第4実施例の処理結果を示す図であり、同図(a)は動作合成装置に入力される動作レベル記述例、同図(b)は動作合成後の出力回路を示す回路図、同図(c)は各変数の生存区間を示すテーブル図である。
図11(a)に示すa,b,c,e,g,h,i,j,kは入力値であり、f,lは出力値である。また、aa,bb,ccはそれぞれ変数を示している。
図11(b)に示すように、この例では、図11(a)に示した動作レベル記述が動作合成によって5つの状態ST1〜ST5に分割され、状態ST1〜ST5の順に遷移することが分かる。なお、図11(b)において、R1〜R4はレジスタを示し、Port1〜Port12は入出力端子を示している。また、*は乗算器を示し、+は加算器を示している。
図11(c)に示すように、図11(a)に示した動作レベル記述で用いる変数aaには、状態ST1及びST2においてレジスタR1が割り当てられ、状態ST3及びST4においてレジスタR4が割り当てられている。また、変数bbには、状態ST2及びST3においてレジスタR2が割り当てられ、状態ST4及びST5においてレジスタR3が割り当てられている。さらに、変数ccには、状態ST2及びST3においてレジスタR3が割り当てられ、状態ST4及びST5においてレジスタR2が割り当てられている。図11(c)の記載から、変数aaの生存区間は状態ST1〜ST4であり、変数bbの生存区間は状態ST2〜ST5であり、変数ccの生存区間は状態ST2〜ST5であることが分かる。
図11(b)に示す出力回路をデバッグする場合、従来のデバッグ装置では、図1に示した対応関係情報を基に各変数に割り当てられたレジスタの内容を表示する。ここで、操作者が状態ST2における記憶素子R2に割り当てられた変数の値を表示するようにデバッグ装置に指示したとする。その場合、デバッグ装置は対応関係情報に基づいて変数bbと変数ccの値を表示する。しかしながら、図11(c)に示すように、状態ST2では変数ccを求めるための演算を実行していないため、変数ccは状態ST2における処理とは無関係である。
本実施例では、デバッグ装置3が生存区間情報を利用することで、状態ST2では変数ccが記憶素子R2に割り当てられていないことが判別できるため、無意味な値を表示することなく、変数bbの値のみを表示するための情報を生成し、生成した情報を基に表示を行う。したがって、デバッグ時における不要な情報の表示が抑制されため、デバッグ効率が向上する。
特に本実施例を上記DRPのような再構成デバイスを設計するための回路設計支援システムに適用すると、DRPには予め標準化された制御手順や記憶素子へのアクセス手順が用意され、高い可制御性・可観測性が確保されているため、本実施例で示したデバッグ時における処理を容易に実現できる。
なお、本実施例では、第3実施例と同様に、動作合成によって得られた生存区間情報をデバッグ装置3でのみ利用する例を示しているため、図1に示した動作合成装置1が実行する論理合成及び配置配線は不要であり、それらが無い構成であってもよい。すなわち、第3実施例は図10に示す構成に好適な例である。また、生存区間情報は、通常、コンフィグレーションコード等からも得られるため、デバッグ装置3のためにこれらを一度コンパイルすれば、以降、デバッグ装置3で生存区間情報を利用するために動作合成装置1を起動する必要はない。その場合、図10に示した動作合成装置1も不要になる。
(第5実施例)
次に本発明の回路設計支援システムの第5実施例について説明する。
第5実施例は生存区間情報を基に図1に示したコンフィグレーションローダー(書き込み装置)2による処理を最適化する例である。
上述したように、再構成デバイス4は、コンフィグレーションコードを格納するための内部メモリを備え、コンフィグレーションローダー2の制御によりコンフィグレーションコードを内部メモリへロードし、ロードしたコンフィグレーションコードにしたがって内部に回路を構成し、該回路により入力されたデータに対して処理を実行する。この内部メモリの記憶容量には限度があるため、内部メモリは複数の回路を実現するために時分割に利用される。
通常、内部メモリの記憶容量を越えて、内部メモリに新たな回路のコンフィグレーションコードを読み込む場合、そのための空き領域を確保するために、内部メモリに格納された回路を外部メモリに退避させると共に、その回路で使用している記憶素子の内容を全て外部メモリへ退避させる必要がある。
このように内部メモリの記憶容量を越えて、次々にコンフィグレーションコードを読み込むことで、複数の回路により時分割に処理を実行する構成を仮想HW(ハードウェア)と呼ぶ。
図12は本発明の回路設計支援システムの第5実施例の処理結果を示す図であり、同図(a)及び(b)は再構成デバイス内に構築する回路の動作遷移及び生存区間情報を示す模式図、同図(c)は回路を入れ替える様子を示す模式図である。
図12(a),(b)に示すように、再構成デバイス4に2つの回路(回路1、回路2)が形成され、これら2つの回路のうち、いずれか一方を外部メモリに格納された別の回路(回路3)と入れ替える場合を考える。
ここで、回路1では図12(a)に示すFSM及び生存区間情報が得られ、回路2では図12(b)に示すFSM及び生存区間情報が得られているものとする。また、回路1は状態ST2で処理が停止し、回路2は状態ST3で処理が停止しているものとする。
この場合、生存区間情報を参照すると、回路1では、状態ST2以降で生存している変数(有効な変数)はb、c、dであり、保持内容を外部メモリへ退避させなければならない記憶素子の数は3個となる。
一方、回路2では、状態ST3以降で生存している変数(有効な変数)はxのみであり、保持内容を外部メモリへ退避させなければならない記憶素子の数は1個となる。
したがって、再構成デバイス4の内部メモリに回路3のコンフィグレーションコードを読み込む際には、回路2を外部メモリへ退避させた方が再構成デバイス4と外部メモリ間のデータ転送量が少なくて済む。
本実施例では、コンフィグレーションローダー2が生存区間情報を利用することで、現在の状態以降で生存しない変数を保持している記憶素子については、その内容を外部メモリへ退避させる必要が無いことが分かる。したがって、保持内容を外部メモリへ退避させなければならない記憶素子の数の少ない回路を外部メモリへ退避させることが可能であり、再構成デバイス4と外部メモリ間のデータ転送量を低減した回路の書き換えが可能になる。
本実施例によれば、生存区間情報をコンフィグレーションローダー2の処理で利用することで、例えば回路の再構成時に記憶素子から外部メモリへ退避するデータ量を少なくすることを目的関数として設定し、該目的関数が小さくなるように、好ましくは最小となるように、再構成デバイス内に構築する回路の切り替えを行えば、外部メモリへ退避させる記憶素子の内容を低減することが可能であり、再構成デバイス4と外部メモリ間のデータ転送量を低減できる。このとき、目的関数には退避させたデータの復帰時に正しい動作が保証されることを制約条件として付与することが望ましい。
特に本実施例を上記DRPのような再構成デバイスを設計するための回路設計支援システムに適用すれば、DRPが備える回路面の切り替え機構、及び動作中に未使用のコンテキストへのコンフィグレーションコードの書き込みが可能な部分再構成機構により、DRP内に構築する回路の切り替え時のオーバーヘッドが圧縮されるため、仮想HWの実現に最適である。
なお、本実施例では、動作合成によって得られた生存区間情報をコンフィグレーションローダー2でのみ利用する例を示しているため、図1に示したデバッグ装置3は不要であり、それが無い構成であってもよい。すなわち、第5実施例は図13に示す構成に好適な例である。
(第6実施例)
次に本発明の回路設計支援システムの第6実施例について説明する。
第6実施例は生存区間情報を基に図1に示したコンフィグレーションローダー(書き込み装置)2による処理を最適化する例である。
図14は本発明の回路設計支援システムの第6実施例の処理結果を示す図であり、再構成デバイス内に構築する回路の動作遷移及び生存区間情報を示す模式図である。
第6実施例では、動作レベル記述を基に生成された再構成デバイス4内に構築する回路の規模が大きく、全ての状態(図14では状態ST1〜ST4)の回路を再構成デバイス4内に一度に構築できず、状態ST1及び状態ST2の処理が終了した後、回路を入れ替えながら状態ST3及び状態ST4の処理を実行する場合を考える。
このような場合、再構成デバイス4は、状態ST2で処理を停止し、内部メモリに格納された回路を外部メモリへ退避させると共に、その回路で使用している記憶素子の内容を全て外部メモリへ退避させ、その後、状態ST3及び状態ST4を実現するためのコンフィグレーションコードを外部メモリから読み込む必要がある。
ここで、図14に示すように、生存区間情報を参照すると、変数aの生存区間は状態ST1〜ST3であり、変数bの生存区間は状態ST1〜ST2であり、変数cの生存区間は状態ST3〜ST4であるため、状態ST2において外部メモリに退避させなければならないのは変数aのみであることが分かる。そのため、ここでは変数aの値のみコンフィグレーションローダー2により外部メモリへ退避させる。
したがって、本実施例の回路設計支援システムでは、外部メモリへ退避させる記憶素子の内容を低減することが可能であり、再構成デバイス4と外部メモリ間のデータ転送量を低減できる。
本実施例によれば、第5実施例と同様に、生存区間情報をコンフィグレーションローダー2の処理で利用することで、例えば回路の再構成時に記憶素子から外部メモリへ退避するデータ量を少なくすることを目的関数として設定し、該目的関数が小さくなるように、好ましくは最小となるように、再構成デバイス内に構築する回路の切り替えを行えば、外部メモリへ退避させる記憶素子の内容を低減することが可能であり、再構成デバイス4と外部メモリ間のデータ転送量を低減できる。このとき、目的関数には退避させたデータの復帰時に正しい動作が保証されることを制約条件として付与することが望ましい。
特に本実施例を上記DRPのような再構成デバイスを設計するための回路設計支援システムに適用すれば、DRPが備える回路面の切り替え機構、及び動作中に未使用のコンテキストへのコンフィグレーションコードの書き込みが可能な部分再構成機構により、DRP内に構築する回路の切り替え時のオーバーヘッドが圧縮されるため、仮想HWの実現に最適である。
なお、本実施例では、動作合成によって得られた生存区間情報をコンフィグレーションローダー2でのみ利用する例を示しているため、第5実施例と同様に、図1に示したデバッグ装置3は不要であり、それが無い構成であってもよい。すなわち、第6実施例は図13に示す構成に好適な例である。
本発明の回路設計支援システムの一構成例を示すブロック図である。 図1に示した動作合成装置の一構成例を示すブロック図である。 本発明の回路設計支援システムで用いる生存区間情報を説明するための模式図である。 本発明の回路設計支援システムの第1実施例で用いる動作レベル記述及びその動作合成結果を示す図であり、同図(a)は動作合成装置に入力される動作レベル記述例、同図(b)は動作合成後の出力回路を示す回路図、同図(c)は各変数の生存区間を示すテーブル図である。 本発明の回路設計支援システムの第1実施例の処理結果を示す図であり、同図(a)は最適化処理前のデータパス及び生存区間情報を示す模式図、同図(b)は最適化処理後のデータパス及び生存区間情報を示す模式図である。 第1実施例を適用して好適な回路設計支援システムの構成例を示すブロック図である。 本発明の回路設計支援システムの第2実施例の処理結果を示す図であり、同図(a)は最適化処理前のデータパス及び生存区間情報の一例を示す模式図、同図(b)は最適化処理後のデータパス及び生存区間情報を示す模式図である。 第2実施例を適用して好適な回路設計支援システムの構成例を示すブロック図である。 本発明の回路設計支援システムの第3実施例の処理結果を示す図であり、同図(a)は動作合成装置に入力される動作レベル記述例、同図(b)は動作合成後の出力回路を示す回路図、同図(c)は各変数の生存区間を示すテーブル図である。 第3実施例及び第4実施例を適用して好適な回路設計支援システムの構成例を示すブロック図である。 本発明の回路設計支援システムの第4実施例の処理結果を示す図であり、同図(a)は動作合成装置に入力される動作レベル記述例、同図(b)は動作合成後の出力回路を示す回路図、同図(c)は各変数の生存区間を示すテーブル図である。 本発明の回路設計支援システムの第5実施例の処理結果を示す図であり、同図(a)及び(b)は再構成デバイス内に構築する回路の動作遷移及び生存区間情報を示す模式図、同図(c)は回路を入れ替える様子を示す模式図である。 第5実施例を適用して好適な回路設計支援システムの構成例を示すブロック図である。 本発明の回路設計支援システムの第6実施例の処理結果を示す図であり、再構成デバイス内に構築する回路の動作遷移及び生存区間情報を示す模式図である。
符号の説明
1 動作合成装置
2 コンフィグレーションローダー
3 デバッグ装置
4 再構成デバイス
10 処理装置
11 CPU
12 主記憶装置
13 記録媒体
14 データ蓄積装置
15 メモリ制御インタフェース部
16 I/Oインタフェース部
17 インタフェース装置
18 バス
20 入力装置
30 出力装置

Claims (19)

  1. 半導体集積回路装置の動作を記述した動作レベル記述から動作合成、論理合成及び配置配線を実行し、設計対象となる回路の構成、配置、配線を示す情報を生成する動作合成装置であって、
    前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を用いて、前記動作合成よりも後段の設計段階にて、予め設定した目的関数が小さくなるように、前記半導体集積回路装置に備える記憶素子に対して前記変数を割り当てる処理装置と、
    前記生存区間情報を格納する記憶装置と、
    を有する動作合成装置。
  2. 前記処理装置は、
    前記配置配線段階にて、信号伝播遅延に基づいて目的関数を設定し、該目的関数が小さくなるように、前記変数に割り当てる前記記憶素子を切り替える請求項1記載の動作合成装置。
  3. 前記処理装置は、
    前記論理合成段階にて、使用する記憶素子数および信号伝播遅延に基づいて目的関数を設定し、該目的関数が小さくなるように、前記変数に割り当てる前記記憶素子を共有する請求項1記載の動作合成装置。
  4. 前記処理装置は、
    前記配置配線段階にて、使用する記憶素子数および信号伝播遅延に基づいて目的関数を設定し、該目的関数が小さくなるように、前記変数に割り当てる前記記憶素子を共有する請求項1記載の動作合成装置。
  5. 半導体集積回路装置の動作を記述した動作レベル記述から動作合成、論理合成及び配置配線を実行することで生成された、設計対象となる回路の構成、配置、配線を示す情報をデバッグするためのデバッグ装置であって、
    任意の状態における任意の変数の値の表示が指示された場合、前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を基に、指示された状態における値が無効な変数について、有効な値ではないことを表示するための情報を生成する処理装置と、
    前記生存区間情報を格納する記憶装置と、
    を有するデバッグ装置。
  6. 半導体集積回路装置の動作を記述した動作レベル記述から動作合成、論理合成及び配置配線を実行することで生成された、設計対象となる回路の構成、配置、配線を示す情報をデバッグするためのデバッグ装置であって、
    任意の状態における任意の記憶素子に格納された変数の表示が指示された場合、前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を基に、指示された状態における値が有効な記憶素子に格納された変数のみを表示するための情報を生成する処理装置と、
    前記生存区間情報を格納する記憶装置と、
    を有するデバッグ装置。
  7. 半導体集積回路装置の動作を記述した動作レベル記述から動作合成、論理合成及び配置配線を実行することで生成された、設計対象となる回路の構成、配置、配線を示す情報を前記半導体集積回路装置へ書き込むための書き込み装置であって、
    前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を用いて、予め設定した目的関数が小さくなるように、前記半導体集積回路装置が備える記憶素子の保持内容を前記外部メモリへ退避させる処理装置と、
    前記生存区間情報を格納する記憶装置と、
    を有する書き込み装置。
  8. 前記処理装置は、
    前記半導体集積回路装置が備える記憶素子の記憶容量を越えて、前記記憶素子へ新たな回路の構成、配置、配線を示す情報を書き込む場合、外部メモリへ退避させるデータ量を少なくすることを目的関数として設定し、該目的関数が小さくなる回路の構成、配置、配線を示す情報が格納された前記記憶素子の保持内容を前記外部メモリへ退避させる請求項7記載の書き込み装置。
  9. 前記処理装置は、
    前記半導体集積回路装置が備える内部メモリの記憶容量を越えて、前記内部メモリへ新たな回路の構成、配置、配線を示す情報を書き込む場合、外部メモリへ退避させるデータ量を少なくすることを目的関数として設定し、該目的関数が小さくなる前記記憶素子の保持内容を前記外部メモリへ退避させる請求項7記載の書き込み装置。
  10. 請求項1から9のいずれか1項に記載の動作合成装置、デバッグ装置または書き込み装置を有する、前記半導体集積回路装置の回路設計を支援するための回路設計支援システム。
  11. 半導体集積回路装置の動作を記述した動作レベル記述から動作合成、論理合成及び配置配線を実行し、設計対象となる回路の構成、配置、配線を示す情報を生成するための回路設計支援方法であって、
    コンピュータが、前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を記憶装置に記憶し、
    前記生存区間情報を用いて、前記動作合成よりも後段の設計段階にて、予め設定した目的関数が小さくなるように、前記半導体集積回路装置に備える記憶素子に対して前記変数を割り当てる回路設計支援方法。
  12. コンピュータが、前記配置配線段階にて、信号伝播遅延に基づいて目的関数を設定し、該目的関数が小さくなるように、前記変数に割り当てる前記記憶素子を切り替える請求項11記載の回路設計支援方法。
  13. コンピュータが、前記論理合成段階にて、使用する記憶素子数および信号伝播遅延に基づいて目的関数を設定し、該目的関数が小さくなるように、前記変数に割り当てる前記記憶素子を共有する請求項11記載の回路設計支援方法。
  14. コンピュータが、前記配置配線段階にて、使用する記憶素子数および信号伝播遅延に基づいて目的関数を設定し、該目的関数が小さくなるように、前記変数に割り当てる前記記憶素子を共有する請求項11記載の回路設計支援方法。
  15. 半導体集積回路装置の動作を記述した動作レベル記述から動作合成、論理合成及び配置配線を実行することで生成された、設計対象となる回路の構成、配置、配線を示す情報をデバッグするための回路設計支援方法であって、
    コンピュータが、前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を記憶装置に記憶し、
    任意の状態における任意の変数の値の表示が指示された場合、前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を基に、指示された状態における値が無効な変数について、有効な値ではないことを表示するための情報を生成する回路設計支援方法。
  16. 半導体集積回路装置の動作を記述した動作レベル記述から動作合成、論理合成及び配置配線を実行することで生成された、設計対象となる回路の構成、配置、配線を示す情報をデバッグするための回路設計支援方法であって、
    コンピュータが、前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を記憶装置に記憶し、
    任意の状態における任意の記憶素子に格納された変数の表示が指示された場合、前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を基に、指示された状態における値が有効な記憶素子に格納された変数のみを表示するための情報を生成する回路設計支援方法。
  17. 半導体集積回路装置の動作を記述した動作レベル記述から動作合成、論理合成及び配置配線を実行することで生成された、設計対象となる回路の構成、配置、配線を示す情報を前記半導体集積回路装置へ書き込むための回路設計支援方法であって、
    コンピュータが、前記動作合成によって得られる、前記動作レベル記述に記載されている変数が有効な値である期間を示す生存区間情報を記憶装置に記憶し、
    前記生存区間情報を用いて、予め設定した目的関数が小さくなるように、前記半導体集積回路装置が備える記憶素子の保持内容を前記外部メモリへ退避させる回路設計支援方法。
  18. コンピュータが、前記半導体集積回路装置が備える記憶素子の記憶容量を越えて、前記記憶素子へ新たな回路の構成、配置、配線を示す情報を書き込む場合、外部メモリへ退避させるデータ量を少なくすることを目的関数として設定し、該目的関数が小さくなる回路の構成、配置、配線を示す情報が格納された前記記憶素子の保持内容を前記外部メモリへ退避させる請求項17記載の回路設計支援方法。
  19. コンピュータが、前記半導体集積回路装置が備える内部メモリの記憶容量を越えて、前記内部メモリへ新たな回路の構成、配置、配線を示す情報を書き込む場合、外部メモリへ退避させるデータ量を少なくすることを目的関数として設定し、該目的関数が小さくなる前記記憶素子の保持内容を前記外部メモリへ退避させる請求項17記載の回路設計支援方法。
JP2006099071A 2006-03-31 2006-03-31 動作合成装置及び回路設計支援方法 Active JP4706855B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006099071A JP4706855B2 (ja) 2006-03-31 2006-03-31 動作合成装置及び回路設計支援方法
US11/727,948 US20080040700A1 (en) 2006-03-31 2007-03-29 Behavioral synthesizer, debugger, writing device and computer aided design system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006099071A JP4706855B2 (ja) 2006-03-31 2006-03-31 動作合成装置及び回路設計支援方法

Publications (2)

Publication Number Publication Date
JP2007272671A true JP2007272671A (ja) 2007-10-18
JP4706855B2 JP4706855B2 (ja) 2011-06-22

Family

ID=38675399

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006099071A Active JP4706855B2 (ja) 2006-03-31 2006-03-31 動作合成装置及び回路設計支援方法

Country Status (2)

Country Link
US (1) US20080040700A1 (ja)
JP (1) JP4706855B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009230602A (ja) * 2008-03-25 2009-10-08 Nec Corp 動作合成装置、動作合成方法およびプログラム
US8108808B2 (en) 2008-03-25 2012-01-31 Nec Corporation Description processing device, description processing method, and recording medium
US8199910B2 (en) 2008-07-02 2012-06-12 Nec Corporation Signature generation apparatus and signature verification apparatus
US8375376B2 (en) 2008-03-31 2013-02-12 Nec Corporation Description processing device, description processing method, and recording medium
JP2015231205A (ja) * 2014-06-06 2015-12-21 国立大学法人静岡大学 フィールドプログラマブルゲートアレイ、フィールドプログラマブルゲートアレイ開発ツール、及び、フィールドプログラマブルゲートアレイ開発方法
US10303832B2 (en) 2015-09-18 2019-05-28 Mitsubishi Electric Corporation Architecture generating device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8402410B2 (en) * 2007-08-27 2013-03-19 Samsung Electronics Co., Ltd. Method and apparatus for managing configuration memory of reconfigurable hardware
US20090119631A1 (en) * 2007-11-06 2009-05-07 Jordi Cortadella Variability-Aware Asynchronous Scheme for High-Performance Delay Matching

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06301742A (ja) * 1993-04-15 1994-10-28 Matsushita Electric Ind Co Ltd 自動レジスタ割当て装置
JP2004227370A (ja) * 2003-01-24 2004-08-12 Sony Ericsson Mobilecommunications Japan Inc ソフトウェア・ハードウェア変換方法および装置ならびにソフトウェア・ハードウェア変換プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08221451A (ja) * 1995-02-17 1996-08-30 Matsushita Electric Ind Co Ltd データパス回路のレイアウト設計方法
US6173434B1 (en) * 1996-04-22 2001-01-09 Brigham Young University Dynamically-configurable digital processor using method for relocating logic array modules
US20030018957A1 (en) * 2001-06-22 2003-01-23 International Business Machines Corporation Debugger monitor with anticipatory highlights
US20030188271A1 (en) * 2002-04-02 2003-10-02 Institute Of High Performance Computing System and method for integrated circuit design
US7360190B1 (en) * 2003-07-11 2008-04-15 Altera Corporation Method and apparatus for performing retiming on field programmable gate arrays
US7565631B1 (en) * 2004-07-02 2009-07-21 Northwestern University Method and system for translating software binaries and assembly code onto hardware
JP2006285865A (ja) * 2005-04-04 2006-10-19 Nec Electronics Corp レジスタ転送レベル記述と動作記述間の対応関係特定方法、装置及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06301742A (ja) * 1993-04-15 1994-10-28 Matsushita Electric Ind Co Ltd 自動レジスタ割当て装置
JP2004227370A (ja) * 2003-01-24 2004-08-12 Sony Ericsson Mobilecommunications Japan Inc ソフトウェア・ハードウェア変換方法および装置ならびにソフトウェア・ハードウェア変換プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CSNG200500115001, 粟島 亨, "動的再構成可能チップDRPのCコンパイラ", 電子情報通信学会技術研究報告, 20040115, Vol.103 No.580, 23−28頁, 社団法人電子情報通信学会 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009230602A (ja) * 2008-03-25 2009-10-08 Nec Corp 動作合成装置、動作合成方法およびプログラム
US8108808B2 (en) 2008-03-25 2012-01-31 Nec Corporation Description processing device, description processing method, and recording medium
US8375376B2 (en) 2008-03-31 2013-02-12 Nec Corporation Description processing device, description processing method, and recording medium
US8199910B2 (en) 2008-07-02 2012-06-12 Nec Corporation Signature generation apparatus and signature verification apparatus
JP2015231205A (ja) * 2014-06-06 2015-12-21 国立大学法人静岡大学 フィールドプログラマブルゲートアレイ、フィールドプログラマブルゲートアレイ開発ツール、及び、フィールドプログラマブルゲートアレイ開発方法
US10303832B2 (en) 2015-09-18 2019-05-28 Mitsubishi Electric Corporation Architecture generating device

Also Published As

Publication number Publication date
JP4706855B2 (ja) 2011-06-22
US20080040700A1 (en) 2008-02-14

Similar Documents

Publication Publication Date Title
JP4706855B2 (ja) 動作合成装置及び回路設計支援方法
JP4893309B2 (ja) 再構成可能な論理回路を有するデータ処理装置
JP4104538B2 (ja) リコンフィギュラブル回路、リコンフィギュラブル回路を備えた処理装置、リコンフィギュラブル回路における論理回路の機能決定方法、回路生成方法および回路
JP4900717B2 (ja) 再構成可能な装置
US6305001B1 (en) Clock distribution network planning and method therefor
US20070283311A1 (en) Method and system for dynamic reconfiguration of field programmable gate arrays
US8365111B2 (en) Data driven logic simulation
JP5985900B2 (ja) 動作合成装置、動作合成装置を備えたデータ処理システム、及び、動作合成プログラム
US8266416B2 (en) Dynamic reconfiguration supporting method, dynamic reconfiguration supporting apparatus, and dynamic reconfiguration system
CN103258074A (zh) 使用部分重构在可编程电路上实施外围器件的方法和装置
JP2005018626A (ja) 並列処理システムの生成方法
US7917876B1 (en) Method and apparatus for designing an embedded system for a programmable logic device
JP4572835B2 (ja) データ処理装置
US7991909B1 (en) Method and apparatus for communication between a processor and processing elements in an integrated circuit
Zamacola et al. An integrated approach and tool support for the design of fpga-based multi-grain reconfigurable systems
JP5668404B2 (ja) 構成情報管理装置、その方法及びそのプログラム並びに動作合成装置
JP5882714B2 (ja) リコンフィギュラブルプロセッサの制御方法及びリコンフィギュラブルプロセッサのコンフィギュレーション情報を生成する方法及びコンフィギュレーション情報生成ツール
JP4787711B2 (ja) データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並びにデータ処理システム
US8320150B2 (en) Structure and method for backing up and restitution of data
JP6553694B2 (ja) プロセッサエレメント、プログラマブルデバイス及びプロセッサエレメントの制御方法
JP4562679B2 (ja) データフローグラフ生成装置
Keller et al. An FPGA wire database for run-time routers
JP5658077B2 (ja) 半導体集積回路の遅延解析方法、遅延解析プログラム、遅延解析装置
JP2010033452A (ja) レジスタ制御回路およびレジスタ制御方法
JP2009217619A (ja) 動作合成装置、動作合成方法、及び、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110301

R150 Certificate of patent or registration of utility model

Ref document number: 4706855

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150