(57)【要約】【課題】動作合成を利用する回路設計において、動作合成後に遅延不具合の対策を実施する場合、最も遅延不具合の度合いが大きい経路に対してのみ注力し、遅延値の改善を試みた場合、それ以外の経路の遅延不具合が悪化し、結果として、動作合成、遅延解析、動作レベル記述改善の一連のフローがまったく収束しなくなる。【解決手段】設計者が選択した複数の遅延経路に対応する動作レベル記述を表示する際に、当該動作レベル記述を改めたり動作合成の方法を変えたりした場合に影響の及ぶ経路の本数を反映した態様で動作レベル記述の対応部分を表示する。これにより設計者は、動作レベル記述のなかで、回路全体の遅延不具合対策を効率的に行うことができる箇所を明確に特定することができるため、動作合成、遅延解析、動作レベル記述改善の一連のフローの収束を速めることができる。【選択図】図１
2008077490.tif 000002
【特許請求の範囲】
【請求項１】
回路中の経路の遅延状況を示す遅延経路情報をユーザに提示し、ユーザより選択された遅延経路に対応する動作レベル記述を出力する回路設計支援システムであって、
ユーザから複数の経路の選択を受け付ける手段と、
前記選択された複数の経路に対応する動作レベル記述中の対応箇所の修正又は該対応箇所についての動作合成方法の変更の影響度を算出する手段と、
前記算出した影響度を、前記動作レベル記述中の前記対応箇所と対応付けて表示する手段と、を備えたこと、
を特徴とする回路設計支援システム。
【請求項２】
回路中の経路の遅延状況を示す遅延経路情報をユーザに提示し、ユーザより選択された遅延経路に対応するＲＴＬ記述（レジスタ転送レベル記述）を出力する回路設計支援システムであって、
ユーザから複数の経路の選択を受け付ける手段と、
前記選択された複数の経路に対応する動作レベル記述中の対応箇所の修正又は該対応箇所についての動作合成方法の変更の影響度を算出する手段と、
前記算出した影響度を、前記動作レベル記述中の前記対応箇所に対応するＲＴＬ記述と対応付けて表示する手段と、を備えたこと、
を特徴とする回路設計支援システム。
【請求項３】
回路中の経路の遅延状況を示す遅延経路情報をユーザに提示し、ユーザより選択された遅延経路に対応する動作レベル記述及びＲＴＬ記述を出力する回路設計支援システムであって、
ユーザから複数の経路の選択を受け付ける手段と、
前記選択された複数の経路に対応する動作レベル記述中の対応箇所の修正又は該対応箇所についての動作合成方法の変更の影響度を算出する手段と、
前記算出した影響度を、前記動作レベル記述中の前記対応箇所と、前記動作レベル記述中の前記対応箇所に対応するＲＴＬ記述の対応箇所とにそれぞれ対応付けて表示する手段と、を備えたこと、
を特徴とする回路設計支援システム。
【請求項４】
前記動作レベル記述中の対応箇所の修正又は該対応箇所についての動作合成方法の変更の影響度として、
前記動作レベル記述中の対応箇所の修正又は該対応箇所についての動作合成方法の変更により影響の及ぶ経路数を算出すること、
を特徴とする請求項１乃至３いずれか一に記載の回路設計支援システム。
【請求項５】
前記動作レベル記述中の対応箇所の修正又は該対応箇所についての動作合成方法の変更の影響度として、
前記動作レベル記述中の対応箇所が、前記選択された複数の経路においてノードとして出現する数を算出すること、
を特徴とする請求項１乃至３いずれか一に記載の回路設計支援システム。
【請求項６】
更に、ＲＴＬ記述から遅延経路情報を算出する遅延経路算出手段を備えたこと、
を特徴とする請求項１乃至５いずれか一に記載の回路設計支援システム。
【請求項７】
更に、すべての経路を遅延値順に並べて作成した遅延経路リストを表示する手段を備えたこと、
を特徴とする請求項１乃至６いずれか一に記載の回路設計支援システム。
【請求項８】
更に、すべての経路の遅延値を用いて作成したヒストグラムを表示する手段を備えたこと、
を特徴とする請求項１乃至７いずれか一に記載の回路設計支援システム。
【請求項９】
回路中の経路の遅延状況を示す遅延経路情報をユーザに提示し、ユーザより選択された遅延経路に対応する動作レベル記述を出力することによって、動作レベル記述の修正又は動作合成方法の変更を促す回路設計支援システムにおける回路設計支援方法であって、
前記回路設計支援システムが、前記遅延経路情報を解析し、遅延経路の選択のための情報を出力し、複数の経路の選択を受け付けるステップと、
前記回路設計支援システムが、前記選択された複数の経路に対応する動作レベル記述中の対応箇所の修正又は該対応箇所についての動作合成方法の変更の影響度を算出するステップと、
前記回路設計支援システムが、前記算出した影響度を、前記動作レベル記述中の前記対応箇所と対応付けて表示するステップと、を含むこと、
を特徴とする回路設計支援方法。
【請求項１０】
前記動作レベル記述中の対応箇所の修正又は該対応箇所についての動作合成方法の変更の影響度として、
前記動作レベル記述中の対応箇所の修正又は該対応箇所についての動作合成方法の変更により影響の及ぶ経路数を算出すること、
を特徴とする請求項９に記載の回路設計支援方法。
【請求項１１】
前記動作レベル記述中の対応箇所の修正又は該対応箇所についての動作合成方法の変更の影響度として、
前記動作レベル記述中の対応箇所が、前記選択された複数の経路においてノードとして出現する数を算出すること、
を特徴とする請求項９に記載の回路設計支援方法。
【請求項１２】
更に、前記回路設計支援システムが、ＲＴＬ記述（レジスタ転送レベル記述）から遅延経路情報を算出するステップを含むこと、
を特徴とする請求項９乃至１１いずれか一に記載の回路設計支援方法。
【請求項１３】
前記回路設計支援システムは、前記遅延経路の選択のための情報として、すべての経路を遅延値順に並べて作成した遅延経路リストを表示すること、
を特徴とする請求項９乃至１２いずれか一に記載の回路設計支援方法。
【請求項１４】
前記回路設計支援システムは、前記遅延経路の選択のための情報として、すべての経路の遅延値を用いて作成したヒストグラムを表示すること、
を特徴とする請求項９乃至１３いずれか一に記載の回路設計支援方法。
【請求項１５】
回路中の経路の遅延状況を示す遅延経路情報をユーザに提示し、ユーザより選択された遅延経路に対応する動作レベル記述を出力することによって、動作レベル記述の修正又は動作合成方法の変更を促す回路設計支援システムに実行させるプログラムであって、
前記遅延経路情報を解析し、遅延経路の選択のための情報を出力し、複数の経路の選択を受け付ける処理と、
前記選択された複数の経路に対応する動作レベル記述中の対応箇所の修正又は該対応箇所についての動作合成方法の変更の影響度を算出する処理と、
前記算出した影響度を、前記動作レベル記述中の前記対応箇所と対応付けて表示する処理と、
を前記回路設計支援システムに実行させるプログラム。
【請求項１６】
前記動作レベル記述中の対応箇所の修正又は該対応箇所についての動作合成方法の変更の影響度として、
前記動作レベル記述中の対応箇所の修正又は該対応箇所についての動作合成方法の変更により影響の及ぶ経路数を算出すること、
を特徴とする請求項１５に記載のプログラム。
【請求項１７】
前記動作レベル記述中の対応箇所の修正又は該対応箇所についての動作合成方法の変更の影響度として、
前記動作レベル記述中の対応箇所が、前記選択された複数の経路においてノードとして出現する数を算出すること、
を特徴とする請求項１５に記載のプログラム。
【請求項１８】
更に、ＲＴＬ記述（レジスタ転送レベル記述）から遅延経路情報を算出する処理を前記回路設計支援システムに実行させる請求項１５乃至１７いずれか一に記載のプログラム。
【請求項１９】
更に、前記遅延経路の選択のための情報として、すべての経路を遅延値順に並べて作成した遅延経路リストを表示することを特徴とする請求項１５乃至１８いずれか一に記載のプログラム。
【請求項２０】
更に、前記遅延経路の選択のための情報として、すべての経路の遅延値を用いて作成したヒストグラムを表示することを特徴とする請求項１５乃至１９いずれか一に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路設計支援システム、回路設計支援方法及びプログラムに関し、特に、動作合成によって生成された回路を解析し、遅延不具合に関する修正箇所を表示する機能を有する回路設計支援システム、回路設計支援方法及びプログラムに関する。
【背景技術】
【０００２】
回路設計においては、仕様によって与えられる遅延制約、面積制約、消費電力制約など様々な制約（合成制約）を満たしながら回路の性能を最大化するよう設計することが重要である。このような観点から回路設計を支援する従来の回路設計支援システムの一例が、非特許文献１、特許文献１に記載されている。従来の回路設計支援システムは、入力となる動作レベル記述（Ｂｅｈａｖｉｏｒａｌ  Ｌｅｂｅｌ  Ｄｅｓｃｒｉｐｔｉｏｎ）、中間記述及び出力となるレジスタ転送レベル記述（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ  Ｄｅｓｃｒｉｐｔｉｏｎ；以下、単に「ＲＴＬ記述」ともいう）を記憶する記憶装置と、動作合成手段を含むデータ処理装置と、入力装置と、動作レベル記述表示部やＲＴＬ記述表示部などの出力装置から構成されている。
【０００３】
ここで中間記述とは、上記動作合成手段が、対象となる処理のアルゴリズムを直接的に動作レベルで記述した動作レベル記述から、抽象度をもったハードウェア記述であるＲＴＬ記述を生成する処理の途中において生成する合成対象回路の仕様を表現した記述をいう。
【０００４】
このような構成を有する従来の回路設計支援システムにおける回路設計は次のように行われる。
【０００５】
回路設計者は所望の回路の動作を動作レベル記述にて記述し、記憶部に転送しておく。この動作レベル記述としては、例えば、プログラム言語の一つ、Ｃ言語で記述された動作レベル記述が挙げられる（図３参照）。次に、記憶された動作レベル記述に対し、動作合成手段を操作し動作合成処理（高位合成、機能合成ともいう）を実施する。動作合成処理は、スケジューリング工程、バインディング工程、最適化工程等からなる。
【０００６】
スケジューリング工程においては、動作時間の決められていない動作レベル記述の各処理に対して動作時間が決定される。バインディング工程においては動作レベル記述の各処理に対するハードウェアリソースが決定される。最適化工程は、動作合成の各段階において実施され、ループ最適化などの言語レベル最適化や、後工程としての論理最適化などが含まれる。これら動作合成処理各工程において、動作合成手段は中間記述を生成する。すべての工程が終了すると、図５に示すようなＲＴＬ記述を生成する。得られたＲＴＬ記述は、下流の設計工程に流され回路として実現される。
【０００７】
上記ＲＴＬ記述で記述された回路に、遅延制約違反、面積制約違反、消費電力制約違反等が存在する場合、実現された回路は所望の動作をしないか、又は、要求仕様を満たすことができず製品としての価値をもたない。そこで、中間記述及びＲＴＬ記述が生成された後、性能解析を実施し、生成された中間記述及びＲＴＬ記述に問題がないこと、具体的には、最大遅延、使用面積、消費電力等の回路性能を、解析手段を用いて解析することが行われている。
【０００８】
例えば、特許文献２には、ＲＴＬ記述を入力として回路面積、遅延、消費電力を解析する電気回路特性解析装置及び方法が示されている。上記解析の結果、回路が動作するために必要とされる条件を満たせなかった場合、回路設計者は、同装置との対話的処理を通じて、解析対象となるＲＴＬ記述又は中間記述の中で性能を満たせない要因となる場所を発見する。そして、回路設計者が、動作レベル記述とＲＴＬ記述との対応を表した対応表により、上記性能を満たせない要因となる場所を生じる原因となる動作レベル記述中の箇所又は動作合成の操作を特定・修正し、再度、動作合成を実施することにより、設計手戻りの際の時間的ロスを低減できるとされている。
【０００９】
また例えば、特許文献３には、上記不具合解析の対象となる指標（特許文献２の特性値）のなかで、遅延に関する解析結果を示す遅延レポートの表示機能を備えた回路設計支援システムが記載されている。
【００１０】
図２５は、特許文献３に記載のシステムと同等の回路設計支援システムの構成を表した図である。同図を参照すると、この回路設計支援システムは、動作レベル記述、中間記述、ＲＴＬ記述を記憶する各記憶部１２１〜１２３、動作合成手段１１１、動作レベル記述やＲＴＬ記述等の各表示部１０１、１０２に加え、遅延経路情報表示部１０３、遅延経路情報入力部１０５、遅延経路情報解析手段１１２、対応関係記憶部１２４、遅延経路情報記憶部１２５等を備えた構成になっている。
【００１１】
上記特許文献３相当の回路設計支援システムにおいて、遅延解析の結果の表示は次のように行われる。動作合成によって生成されたＲＴＬ記述を遅延解析した結果は、遅延経路情報入力部１０５より入力され、遅延経路情報記憶部１２５に格納される。同時に遅延経路情報は遅延経路情報表示部１０３に表示される。遅延経路情報表示部１０３において、設計者乃至オペレータが遅延経路を任意に一本選択すると、選択された遅延経路に関する情報を元に、動作レベル記述表示部１０１に遅延経路に関する記述部位が区別表示され、また、ＲＴＬ記述表示部１０２に遅延経路に関する記述部位が区別表示される。設計者乃至オペレータは、これらの区別表示された情報を元に、より遅延が少なくなるよう動作レベル記述の記述を変更し、再度動作合成を実行してＲＴＬ記述を生成し、遅延解析を行う。この一連の操作を続けることで、遅延に関する不具合のない回路を生成することができる。
【００１２】
【特許文献１】特開平６−６０１４３号公報
【特許文献２】特開平１０−１８７７８３号公報
【特許文献３】特開２００５−２４２８１２号公報
【非特許文献１】High‐Level Synthesis ：Daniel Gajsky, Nikil Dutt, Allen Wu, Steve Lin : Kluwer Academic Publishers，1992
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記従来の回路設計支援システムの遅延経路解析機能は、上記対応箇所の区別表示を行う際に選択できる経路の数が一本に限られてしまっているという問題点がある。
【００１４】
例えば、回路設計者が、遅延経路情報を参照し最も遅延の度合いが大きい経路を一本だけ選択し、該当経路に関連する動作レベル記述、及びＲＴＬ記述を区別表示させ、記述改善対象とする場合を考える。ここで、回路設計者は、最も遅延の度合いが大きい経路のみに対して注力して遅延値を改善しようと動作レベル記述や動作合成の方法を変更すると、該当経路の遅延値は改善されるが、副作用として、遅延不具合の度合いが大きくなかった経路の遅延が悪化するということが発生しうる。極端な場合には、動作合成、遅延解析、動作レベル記述改善の一連の作業がまったく収束しないことも考えられる。
【００１５】
また、上記従来の回路設計支援システムにおいて、遅延経路を複数選択できるようにすることも考えられるが、当該複数の経路に関連する動作レベル記述及びＲＴＬ記述が、関連しない部位に対してすべて同じように区別表示されてしまうこととなる。そうすると、選択された遅延経路が多ければ多いほど、長ければ長いほど、区別表示される記述部位が多くなり、結果的に、改善すべき記述部位を特定するのが難しくなるという別の問題点が生じてしまう。
【００１６】
本発明は、上記した事情に鑑みてなされたものであって、遅延不具合を持つ複数の経路に対応する動作レベル記述中の対応箇所について、その対応箇所の修正や動作合成方法の変更の有効性に関する情報を提供できる回路設計支援システム、回路設計支援方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１７】
本発明の第１の視点によれば、回路中の経路の遅延状況を示す遅延経路情報をユーザに提示し、ユーザより選択された遅延経路に対応する動作レベル記述を出力する回路設計支援システムであって、ユーザから複数の経路の選択を受け付ける手段と、前記選択された複数の経路に対応する動作レベル記述中の対応箇所の修正又は該対応箇所についての動作合成方法の変更の影響度を算出する手段と、前記算出した影響度を、前記動作レベル記述中の前記対応箇所と対応付けて表示する手段と、を備えたこと、を特徴とする回路設計支援システムが提供される。
【００１８】
本発明の第２の視点によれば、回路中の経路の遅延状況を示す遅延経路情報をユーザに提示し、ユーザより選択された遅延経路に対応する動作レベル記述を出力することによって、動作レベル記述の修正又は動作合成方法の変更を促す回路設計支援システムにおける回路設計支援方法であって、前記回路設計支援システムが、前記遅延経路情報を解析し、遅延経路の選択のための情報を出力し、複数の経路の選択を受け付けるステップと、前記回路設計支援システムが、前記選択された複数の経路に対応する動作レベル記述中の対応箇所の修正又は該対応箇所についての動作合成方法の変更の影響度を算出するステップと、前記回路設計支援システムが、前記算出した影響度を、前記動作レベル記述中の前記対応箇所と対応付けて表示するステップと、を含むこと、を特徴とする回路設計支援方法が提供される。
【００１９】
本発明の第３の視点によれば、回路中の経路の遅延状況を示す遅延経路情報をユーザに提示し、ユーザより選択された遅延経路に対応する動作レベル記述を出力することによって、動作レベル記述の修正又は動作合成方法の変更を促す回路設計支援システムに実行させるプログラムであって、前記遅延経路情報を解析し、遅延経路の選択のための情報を出力し、複数の経路の選択を受け付ける処理と、前記選択された複数の経路に対応する動作レベル記述中の対応箇所の修正又は該対応箇所についての動作合成方法の変更の影響度を算出する処理と、前記算出した影響度を、前記動作レベル記述（あるいは、ＲＴＬ記述）中の前記対応箇所と対応付けて表示する処理と、を前記回路設計支援システムに実行させるプログラムが提供される。
【発明の効果】
【００２０】
本発明によれば、回路に遅延に関する不具合がある場合に、動作レベル記述の改善や動作合成方法の変更等の不具合対策を講ずべき部位（不具合対策が最も有効な部位）の判断が容易化される。その理由は、動作レベル記述の対応箇所と対応付けて、各記述の改善や動作合成方法の変更を実施した場合の影響度を示す情報を表示するよう構成したことにある。
【００２１】
また、本発明によれば、回路に遅延に関する不具合が生じる可能性が低減され、ひいては、回路の設計期間を短縮することが可能となる。
【発明を実施するための最良の形態】
【００２２】
続いて、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
図１は、本発明の一実施形態に係る回路設計支援システムの構成を表したブロック図である。
【００２３】
図１を参照すると、本発明の実施の形態に係る回路設計支援システムは、入出力装置１００と、プログラム制御により動作するデータ処理装置１１０と、記憶装置１２０と、から構成されている。
【００２４】
入出力装置１００は、動作レベル記述表示部１０１と、ＲＴＬ記述表示部１０２と、遅延経路情報表示部１０３と、遅延経路ヒストグラム表示部１０４と、遅延経路情報入力部１０５を含む。前者の各表示部は、例えば、画面の分割・切替やマルチウインドウ技術の利用により、ユーザが関連する情報に容易にアクセスできるように構成される。
【００２５】
データ処理装置１１０は、動作合成手段１１１と、遅延経路情報解析手段１１２と、遅延分布算出手段１１３を含む。
【００２６】
記憶装置１２０は、動作レベル記述記憶部１２１と、中間記述記憶部１２２と、ＲＴＬ記述記憶部１２３と、対応関係記憶部１２４と、遅延経路情報記憶部１２５を含む。
【００２７】
上記データ処理装置１１０のそれぞれの手段は次のように動作する。動作合成手段１１１は、動作レベル記述記憶部１２１に記憶された回路の動作レベル記述に対して動作合成を行う。より具体的には、動作周波数や、ハードウェア資源（レジスタや演算器等）の種類や個数等の合成制約を満たすように、動作レベルで記述された処理を幾つかの状態に分けて実行するような変換が行われる。なお、上記動作レベル記述は、動作レベル記述表示部１０１に表示され、図示省略するエディタ等の編集手段により修正することが可能となっている。
【００２８】
上記動作合成の過程で生成される中間記述は、中間記述記憶部１２２に、ＲＴＬ記述はＲＴＬ記述記憶部１２３に記憶される。生成されたＲＴＬ記述はＲＴＬ記述表示部１０２に表示される。特許文献３に記載の方法等を利用して対応付けられる動作レベル記述とＲＴＬ記述間の対応情報は、動作合成手段１１１により、対応関係記憶部１２４に記憶される。
【００２９】
遅延経路情報解析手段１１２は、遅延経路情報入力部１０５から入力され、遅延経路情報記憶部１２５に格納された遅延経路情報を解析し、その結果を遅延経路情報表示部１０３及び遅延経路ヒストグラム表示部１０４に表示する（図２３及び図２４参照）。
【００３０】
遅延分布算出手段１１３は、遅延経路情報及び対応関係情報を参照し、遅延経路情報表示部１０３又は遅延経路ヒストグラム表示部１０４に表示された情報に基づきユーザが指定した一本以上の遅延経路に対応する動作レベル記述の対応箇所について、各対応箇所の修正や動作合成方法の変更の影響度を算出する。算出された影響度は、動作レベル記述表示部１０１に表示された動作レベル記述の対応箇所の近傍に、数値をもって直接的にあるいはその重みが判別できるような態様で間接的、イメージ的に表示される。
【００３１】
また、遅延分布算出手段１１３は、対応関係記憶部１２４に格納されている動作レベル記述とＲＴＬ記述間の対応情報に基づいて、数値あるいはその重みが判別できるような態様で、動作レベル記述表示部１０１に表示された上記影響度をＲＴＬ記述表示部１０２の対応箇所にも出力する。
【００３２】
続いて、図１及び図２のフローチャートを参照して、本実施形態の全体の動作について詳細に説明する。
【００３３】
まずユーザは、入出力装置１００を用いて、入力となる動作レベル記述を記憶装置１２０に転送する（図２のステップＡ１）。
【００３４】
転送された動作レベル記述は、動作レベル記述記憶部１２１に記憶されるとともに、動作レベル記述表示部１０１にも表示される。ユーザは、動作レベル記述表示部１０１及び図示省略するエディタ等の編集手段を介して、転送された動作レベル記述の編集を行うことができる。
【００３５】
ユーザは、動作合成手段１１１を用いて、動作合成方法（合成制約）を指定し、記憶された動作レベル記述に対する動作合成処理を実行する（図２のステップＡ２）。上記動作合成処理の過程で生成される中間記述は、中間記述記憶部１２２に記憶される。また、上記動作合成処理により生成されたＲＴＬ記述はＲＴＬ記述記憶部１２３に記憶されるとともに、ＲＴＬ記述表示部１０２に表示される。
【００３６】
なお、上記動作合成処理実施時に、入力となる動作レベル記述と出力となるＲＴＬ記述の対応情報は、対応関係記憶部１２４に記憶される。対応関係記憶部１２４に記憶された対応情報は、動作レベル記述とＲＴＬ記述の対応関係を把握する際に使用される。
【００３７】
次に、生成されたＲＴＬ記述による回路に含まれる経路の遅延状況を示す遅延経路情報の取得が行われる。遅延経路情報の取得方法は、本回路設計支援システム内の図示省略された遅延経路算出手段（静的タイミング解析手段）を用いて回路の遅延経路情報を算出する方法（図２のステップＡ３）と、外部で計算した遅延経路情報を、遅延経路情報入力部１０５を介して入力する方法（図２のステップＡ４）の２種類用意されている。前記各方法によって取得した遅延経路情報は遅延経路情報記憶部１２５に格納されるとともに遅延経路情報表示部１０３に表示される。
【００３８】
前記遅延経路情報の算出乃至入力が行われると、遅延経路情報解析手段１１２が遅延経路情報を解析し、その結果を遅延経路情報表示部１０３又は（及び）遅延経路ヒストグラム表示部１０４に表示する（図２のステップＡ５）。
【００３９】
続いて、上記遅延経路情報表示部１０３又は（及び）遅延経路ヒストグラム表示部１０４に表示された内容を参照したユーザにより、遅延不具合対策の対象とする経路の選択が行われる（図２のステップＡ６）。本実施形態に係る回路設計支援システムにおいては、複数の経路を選択することができるものとする。
【００４０】
前記経路の選択が行われると、遅延分布算出手段１１３は、ユーザが選択した一本以上の遅延経路に対応する動作レベル記述中の対応箇所について、各対応箇所の修正や、動作合成方法の変更といった各遅延解消策の影響の及ぶ範囲又は度合いを示す影響度を算出する（図２のステップＡ７）。選択された経路が複数の場合も、同様に、当該複数の経路に対応する動作レベル記述の対応箇所について、その修正や動作合成方法変更の影響度の算出が行われる。
【００４１】
最後に、ステップＡ７で算出された動作レベル記述中の対応箇所の修正や動作合成方法の変更の影響度を示す情報が、動作レベル記述表示部１０１及びＲＴＬ記述表示部１０２の対応箇所に反映（表示）される（図２のステップＡ８）。ユーザは、この情報を元に、最も遅延改善効果の高いと思われる対応箇所を選択し、遅延不具合の改善を試みる。
【００４２】
以上のとおり、本実施形態によれば、設計対象回路の複数の経路を選択し、これら複数の経路の中で遅延に影響を大きく与えている動作レベル記述の対応箇所を特定し、ユーザに提示することが可能となる。これにより、動作合成、遅延解析、動作レベル記述修正といった一連のフローが収束され、遅延不具合の改善作業の効率化が達成される。
【００４３】
なお、遅延分布算出手段１１３が算出し、動作レベル記述表示部１０１及びＲＴＬ記述表示部１０２に反映（表示）される上記影響度としては、選択された遅延経路に対応する動作レベル記述中の対応箇所の修正や当該対応箇所についての動作合成方法の変更を行うことにより影響が及ぶ経路の本数や、前記動作レベル記述中の対応箇所が、前記選択された複数の経路においてノードとして出現する数（全選択経路におけるノードの出現数）を採用することができる。
【実施例】
【００４４】
続いて、本発明の作用効果をより具体的に説明すべく、簡単な回路の遅延不具合を改善する場合の従来技術との比較を交えて詳細に説明する。
【００４５】
（前提条件）
以下、図３に示す動作レベル記述のサンプルから具体の遅延改善を行うケースを挙げて説明する。なお、図３の動作レベル記述はＣ言語で記述されているが、その他、動作レベル記述としては、端子、レジスタなどの部品や並列動作が記述できるようハードウェア向けの拡張を施した言語のほか、Ｃ＋＋言語、ＳｙｓｔｅｍＣ、Ｖｅｒｉｌｏｇ−ＨＤＬ、ＶＨＤＬ等が用いられる。
【００４６】
先述したように動作合成手段１１１にて動作合成処理を行う際に、動作合成の方法やパラメータといった動作合成上の制約情報を入力しなければならない。使用するプロセスやライブラリ等によって、さまざまなバリエーションが考えられるが、ここでは、説明簡単のため図４に記載する三種類の加算器がそれぞれ一個だけ使用できるという制約条件の下で図３に示す動作レベル記述の合成を考える。また、１クロックは１０ｎｓとする。
【００４７】
先述したように、動作合成を実行すると、動作レベル記述は中間記述を経て、ＲＴＬ記述に変換され、中間記述は中間記述記憶部１２２に、またＲＴＬ記述はＲＴＬ記憶部１２３に、それぞれ格納される。
【００４８】
図５は、上記制約条件の下で、図３に示す動作レベル記述に対して、図４の加算器を各一個使用するとの条件を指定して動作合成により生成されるＲＴＬ記述の一例である。
【００４９】
ユーザは、上記した動作レベル記述を動作レベル記述表示部１０１で、ＲＴＬ記述をＲＴＬ記述表示部１０２で、それぞれ閲覧することができる。
【００５０】
図３の動作レベル記述３００の中には、加算器を使用する記述として３０１、３０２、３０３の三種類がある。一方、図５に示すＲＴＬ記述３０４の中には、動作レベル記述３００の記述３０１に対応する記述３０５が生成され、加算器としてａｄｄｅｒ３が使われている。同様に、記述３０２に対応する記述３０６では加算器としてａｄｄｅｒ５が使われている。また、記述３０３に対応する記述３０７では加算器としてａｄｄｅｒ２が使われている。上記のような動作レベル記述とＲＴＬ記述の対応関係が、対応関係記憶部１２４に記憶される。
【００５１】
遅延経路情報解析手段１１２は、遅延経路情報記憶部１２５に格納された遅延経路情報を解析し、遅延経路情報表示部１０３に表示する。遅延分布算出手段１１３は、遅延経路情報記憶部１２５に記憶された遅延経路情報を参照し、遅延経路に対応する動作レベル記述の各記述の改善や合成方法の変更により、影響の及ぶ経路の本数を算出する。
【００５２】
図６は、図５に示したＲＴＬ記述３０４に対応する回路図である。図７、図８は、遅延経路情報表示部１０３に表示される内容を表している。図６の入力端子ｉｎ１、ｉｎ２からｏｕｔ１、ｏｕｔ２に至る経路は、図７に示すように４経路存在する。図６において、配線ｉｎ１、配線ｉｎ２、配線ａ、配線ｏｕｔ１の各遅延値を１ｎｓ、配線ｏｕｔ２の遅延値を２ｎｓとしたときの図７の各経路の遅延値は図８のようになる。
【００５３】
ここで、図８において各加算器の内部遅延は図４の値を使用している。１クロックは１０ｎｓとしているため、１１ｎｓの遅延値を持つ経路Ｐａｔｈ１、経路Ｐａｔｈ４は、遅延に関する不具合を持つ。経路Ｐａｔｈ２、経路Ｐａｔｈ３は、遅延値が９ｎｓとなっているため、遅延に関する仕様を満たした回路となっている。この場合、経路Ｐａｔｈ１、経路Ｐａｔｈ４の遅延値を１０ｎｓ以下に抑えるよう修正する必要がある。
【００５４】
（従来の回路設計支援システム）
遅延経路を複数選択できない従来の回路設計支援システムでは、遅延経路情報表示部１０３において、まずは最も遅延不具合の度合いが大きい、経路Ｐａｔｈ１か、経路Ｐａｔｈ４のいずれかを選択して、遅延不具合の対策を考える。ここでは、経路Ｐａｔｈ１について遅延解消策を実施する例を挙げて説明する。
【００５５】
図９は、従来の回路設計支援システムにおいて経路Ｐａｔｈ１の選択時に遅延経路情報表示部１０３に表示される内容を表した図である。図９を参照すると、経路Ｐａｔｈ１は、入力端子ｉｎ１から中間変数ａを経て、出力端子ｏｕｔ１へ至る経路である。
【００５６】
図１０は、この経路Ｐａｔｈ１を選択した際に、動作レベル記述表示部１０１に表示される内容を表した図である。図１０を参照すると、経路Ｐａｔｈ１に関連する動作レベル記述（入力端子ｉｎ１から中間変数ａに至る経路に対応する記述３０１及び中間変数ａから出力端子ｏｕｔ１に至る経路に対応する記述３０２）が、他の動作レベル記述と、網かけをもって区別表示されている。
【００５７】
従来の回路設計支援システムでは、上記記述３０１及び記述３０２の２つの記述に対して、記述の改善、或いは、合成方法の変更を試みる。
【００５８】
ここで、図４を参照すると、ａｄｄｅｒ５の次の段にａｄｄｅｒ３を置いた場合、ａｄｄｅｒ５の遅延値が４ｎｓになること及び図６では経路Ｐａｔｈ１を構成する二個の加算器が、ａｄｄｅｒ３、ａｄｄｅｒ５の順になっているため、この加算器の順序を逆にすれば、遅延値が１ｎｓ改善されることがわかる。
【００５９】
図１１は、上記検討の下、試みられる動作合成の方法の変更をコメントで付した動作レベル記述を示している。図１１にコメントされているように、記述３０１に対応する加算器としてａｄｄｅｒ５を、記述３０２に対応する加算器としてａｄｄｅｒ３を指定して動作合成を行うことにより、経路Ｐａｔｈ１の遅延値を１ｎｓだけ改善することができる。
【００６０】
図１２は、上記条件で、図３の動作レベル記述につき再度動作合成を試みた結果得られるＲＴＬ記述の例である。図１２のＲＴＬ記述３０８中の記述３０９は、ａｄｄｅｒ５を使用するものであり、記述３１０は、ａｄｄｅｒ３を使用するものであり、経路Ｐａｔｈ１の順序が入れ替えられたことがわかる。
【００６１】
図１３は、図１２のＲＴＬ記述３０８に対応する回路図である。図１４、図１５は、この時点で遅延経路情報表示部１０３に表示される内容を表している。図１３の入力端子ｉｎ１、ｉｎ２からｏｕｔ１、ｏｕｔ２に至る経路は、図１４に示すように４経路存在する。図１３において、配線ｉｎ１、配線ｉｎ２、配線ａ、配線ｏｕｔ１の各遅延値を１ｎｓ、配線ｏｕｔ２の遅延値を２ｎｓとしたときの図１４の各経路の遅延値は図１５のようになる。
【００６２】
図１５を参照すると、動作合成方法の変更により経路Ｐａｔｈ１、経路Ｐａｔｈ４は、遅延値が１ｎｓ改善され、遅延値が１０ｎｓとなっているため、遅延に関する仕様を満たした状態になっている。しかしながら、動作合成方法の変更前に問題の無かった経路Ｐａｔｈ２、経路Ｐａｔｈ３が、１１ｎｓの遅延値を持ち、新たに、１クロック（１０ｎｓ）に対し、遅延に関する不具合が発生してしまっている。
【００６３】
このような現象は、最も遅延不具合の度合いが大きい経路Ｐａｔｈ１の改善のみに着目したために、当該改善により潜在的に遅延不具合を持つに至る可能性がある他の経路に影響が及んだことに起因する。現実問題としては、遅延不具合を対策する際に頻繁に発生する事例である。
【００６４】
要するに、従来の回路設計支援システムの局所的（特定の一経路）から見た遅延不具合解消策を施すべき箇所を示唆できるが、該対策が他の経路に及ぼす影響を予見させることができないという点に、上記のような現象が発生する原因がある。
【００６５】
（本発明の回路設計支援システム）
次に、一回目の動作合成試行を実行して図８の遅延解析結果を取得した状態に対して、本発明に係る回路設計支援システムを用いて遅延解消策を行う例を説明する。本発明の設計支援システムでは、遅延経路を複数選択できるため、遅延経路情報表示部１０３において、最も遅延不具合の度合いが大きい経路Ｐａｔｈ１と、ａｄｄｅｒ３を共有する経路Ｐａｔｈ２の双方を選択して、遅延不具合の対策を考えることができる。なお、経路Ｐａｔｈ２は、上記従来の回路設計支援システムでは、経路Ｐａｔｈ１の遅延不具合対応を実施したときに、遅延不具合が悪化している経路である。
【００６６】
図１６は、本発明に係る回路設計支援システムにおいて経路Ｐａｔｈ１及び経路Ｐａｔｈ２の双方を選択した際に遅延経路情報表示部１０３に表示される内容を表した図である。図１６を参照すると、経路Ｐａｔｈ１は、入力端子ｉｎ１から中間変数ａを経て、出力端子ｏｕｔ１へ至る経路であり、経路Ｐａｔｈ２は、入力端子ｉｎ２から中間変数ａを経て、出力端子ｏｕｔ２へ至る経路である。
【００６７】
図６を参照しても明らかなように、入力端子ｉｎ１から中間変数ａに至る経路に対応する記述３０１は、選択された経路Ｐａｔｈ１と、経路Ｐａｔｈ２の双方に含まれるが、中間変数ａから出力端子ｏｕｔ１に至る経路に対応する記述３０２及び中間変数ａから出力端子ｏｕｔ２に至る経路に対応する記述３０３は、それぞれ経路Ｐａｔｈ１、経路Ｐａｔｈ２のみに含まれる。
【００６８】
図１７は、上記経路Ｐａｔｈ１及び経路Ｐａｔｈ２を選択した際に、動作レベル記述表示部１０１に表示される内容を表した図である。図１７を参照すると、経路Ｐａｔｈ１と経路Ｐａｔｈ２の双方に関連する動作レベル記述（入力端子ｉｎ１から中間変数ａに至る経路に対応する記述３０１、中間変数ａから出力端子ｏｕｔ１に至る経路に対応する記述３０２及び中間変数ａから出力端子ｏｕｔ２に至る経路に対応する記述３０３）が、他の動作レベル記述に対し、網かけをもって区別表示されている。特に、記述３０１は、記述３０２及び記述３０３によりも濃い網掛けをもって強調して表示されている。
【００６９】
上記網かけの濃淡は、遅延分布算出手段１１３によって算出された、動作レベル記述の各記述の改善や、合成方法の変更により影響の及ぶ経路の本数に基づいている。これによりユーザは、記述３０１の改善或いは合成方法の変更による影響が大きいこと（経路Ｐａｔｈ１、経路Ｐａｔｈ２の２本）、記述３０２又は記述３０３の改善或いは合成方法の変更による影響が小さい（経路Ｐａｔｈ１、経路Ｐａｔｈ２のいずれか１本）ことを判別することができる。
【００７０】
また、ＲＴＬ記述表示部１０２においても、対応関係記憶部１２４に記憶された対応関係情報に基づいて、上記動作レベル記述表示部１０１と同様に、図５の記述３０５が濃い網掛けで、記述３０６、記述３０７が薄い網掛けで区別して表示される（図示省略）。
【００７１】
このように、本発明に係る回路設計支援システムでは、より多くの遅延経路が通過する動作レベル記述上の箇所、上記の例でいえば、当該箇所に対する対策の影響度が大きく、遅延不具合の改善を試みた場合に総合的な効果が最も高い記述３０１（図５の記述３０５）が、他の記述３０２（図５の記述３０６）、記述３０３（図５の記述３０７）と明示的に区別して表示されるため、ユーザは、記述の改善或いは合成方法の変更を試みるべき記述の候補を簡単に絞る（この場合、記述３０１）ことができる。
【００７２】
例えば、図１７によると、記述３０１は記述３０３よりも多くの経路の遅延値に影響を及ぼすにもかかわらず、より遅延値の大きい加算器ａｄｄｅｒ３（遅延３ｎｓ）が使われている。記述３０１で使用する加算器をａｄｄｅｒ２（遅延２ｎｓ）に、記述３０３で使用する加算器をａｄｄｅｒ３（遅延３ｎｓ）に入れ替えると、記述３０３の遅延値は悪くなるが、記述３０１の遅延値が改善されることで、回路全体の遅延値が改善される可能性があることがわかる。
【００７３】
図１８は、上記検討の下、試みられる動作合成の方法の変更をコメントで付した動作レベル記述を示している。図１８にコメントされているように、記述３０１に対応する加算器としてａｄｄｅｒ２を、記述３０３に対応する加算器としてａｄｄｅｒ３を指定して動作合成を行うことにより、すべての経路Ｐａｔｈ１の遅延値を１ｎｓ改善することができる。
【００７４】
図１９は、上記条件で、図３の動作レベル記述につき再度動作合成を試みた結果得られるＲＴＬ記述の例である。図１９のＲＴＬ記述３１２中の記述３１３は、ａｄｄｅｒ２を使用するものであり、記述３１４は、ａｄｄｅｒ５を使用するものであり、記述３１５は、ａｄｄｅｒ３を使用するものであり、最も遅延の少ないａｄｄｅｒ２が先頭段に据えられたことがわかる。
【００７５】
図２０は、図１９のＲＴＬ記述３１２に対応する回路図である。図２１、図２２は、この時点で遅延経路情報表示部１０３に表示される内容を表している。図２０の入力端子ｉｎ１、ｉｎ２からｏｕｔ１、ｏｕｔ２に至る経路は、図２１に示すように４経路存在する。図２０において、配線ｉｎ１、配線ｉｎ２、配線ａ、配線ｏｕｔ１の各遅延値を１ｎｓ、配線ｏｕｔ２の遅延値を２ｎｓとしたときの図２１の各経路の遅延値は図２２のようになる。
【００７６】
図２２を参照すると、動作合成方法の変更により、すべての経路Ｐａｔｈ１〜Ｐａｔｈ４の遅延値が１０ｎｓ以下となっているため、遅延に関する仕様を満たした状態になっている。このように本発明に係る回路設計支援システムを利用することで、回路の多くの遅延不具合を考慮した遅延解消策を施すべき箇所を特定することが可能となるため、回路全体の遅延不具合対策をより短い工数で実施することができる。
【００７７】
また、上記した例では、ユーザが、遅延経路情報表示部１０３の表示された図７又は図８の情報に基づいて、任意の遅延経路を選択するものとして説明したが、ここで図２３に示すように、遅延経路情報表示部１０３で、すべての経路を遅延値に応じて整列し、設計者が選択したある閾値（図中矢印）以上の遅延値を持つすべての経路を包括的に選択できるようにすることで、遅延不具合の多い回路に対してより効率的に対策を採ることができるようになる。
【００７８】
また、図２４に示すように、遅延経路ヒストグラム表示部１０４にすべての経路の遅延値をヒストグラムで表示し、１０％、１σといった値（図中矢印）を指定して、ヒストグラムの上位に属する経路を包括的に選択する方式も採ることができる。
【００７９】
以上、本発明の好適な実施形態及びその具体の実施例を挙げて説明したが、回路の遅延不具合修正工程において、複数の経路を選択可能として、これら複数の経路に対応する動作レベル記述の記述毎に、各記述の改善や合成方法の変更の影響度情報をユーザ（回路設計者）に提示するという本発明の要旨を逸脱しない範囲で、各種の変形を加えることが可能であることはいうまでもない。
【００８０】
例えば、上記した具体例では、各記述の改善や合成方法の変更により影響が及ぶ経路の本数が１〜２本であったため２段階の表示としたが、具体の数値表示や、彩色等によって、その段階数に応じた動作レベル記述及びＲＴＬ記述の対応箇所を区別して表示することができることはいうまでもない。また、動作レベル記述及びＲＴＬ記述中に表示乃至併記するのではなく、別のウインドウや予め定めた表示領域に、各記述（行番号等）と、各記述の改善や合成方法の変更の影響度（影響の及ぶ経路本数、全選択経路上のノードの出現数等）と、を対応付けたテーブル等を表示するものとしても良い。
【産業上の利用可能性】
【００８１】
本発明は、動作レベル記述からの回路設計を支援する回路設計支援システムのみならず、動作合成の結果を解析するシステムといった用途にも適用できる。
【図面の簡単な説明】
【００８２】
【図１】本発明の一実施形態に係る回路設計支援システムの構成を表したブロック図である。
【図２】本発明の一実施形態に係る回路設計支援システムの動作を示す流れ図である。
【図３】本発明の実施例を説明するための動作レベル記述のサンプルである。
【図４】図３の動作レベル記述に対し動作合成を実施する際に入力される制約情報（加算器）を示す図である。
【図５】図３の動作レベル記述から動作合成により生成されるＲＴＬ記述の一例である。
【図６】図５のＲＴＬ記述に対応する回路図である。
【図７】遅延経路情報表示部に表示される図６の回路図の経路一覧を示す図である。
【図８】遅延経路情報表示部に表示される図６の回路図の経路の遅延値一覧を示す図である。
【図９】従来の回路設計支援システムにおいて経路選択時に遅延経路情報表示部に表示される内容を表した図である。
【図１０】従来の回路設計支援システムにおいて経路選択時に動作レベル記述表示部に表示される内容を表した図である。
【図１１】従来の回路設計支援システムを利用することによって得られた改善策（動作合成方法の変更）を説明するための図である。
【図１２】図１１の条件で、図３の動作レベル記述につき再度動作合成を試みた結果得られるＲＴＬ記述の例である。
【図１３】図１２のＲＴＬ記述に対応する回路図である。
【図１４】遅延経路情報表示部に表示される図１３の回路図の経路一覧を示す図である。
【図１５】遅延経路情報表示部に表示される図１３の回路図の経路の遅延値一覧を示す図である。
【図１６】本発明に係る回路設計支援システムにおいて経路選択時に遅延経路情報表示部に表示される内容を表した図である。
【図１７】本発明に係る回路設計支援システムにおいて経路選択時に動作レベル記述表示部に表示される内容を表した図である。
【図１８】本発明に係る回路設計支援システムを利用することによって得られた改善策（動作合成方法の変更）を説明するための図である。
【図１９】図１８の条件で、図３の動作レベル記述につき再度動作合成を試みた結果得られるＲＴＬ記述の例である。
【図２０】図２０のＲＴＬ記述に対応する回路図である。
【図２１】遅延経路情報表示部に表示される図２０の回路図の経路一覧を示す図である。
【図２２】遅延経路情報表示部に表示される図２０の回路図の経路の遅延値一覧を示す図である。
【図２３】遅延経路情報表示部に表示される遅延経路リストの一例である。
【図２４】遅延経路情報表示部に表示される遅延値によるヒストグラムの一例である。
【図２５】従来技術（特許文献３）と同等の回路設計支援システムの構成を表した図である。
【符号の説明】
【００８３】
１００  入出力装置
１０１  動作レベル記述表示部
１０２  ＲＴＬ記述表示部
１０３  遅延経路情報表示部
１０４  遅延経路ヒストグラム表示部
１０５  遅延経路情報入力部
１１０  データ処理装置
１１１  動作合成手段
１１２  遅延経路情報解析手段
１１３  遅延分布算出手段
１２０  記憶装置
１２１  動作レベル記述記憶部
１２２  中間記述記憶部
１２３  ＲＴＬ記述記憶部
１２４  対応関係記憶部
１２５  遅延経路情報記憶部
３００  動作レベル記述
３０１  加算器を用いた動作レベル記述
３０２  加算器を用いた動作レベル記述
３０３  加算器を用いた動作レベル記述
３０４  ３００を動作合成して得られるＲＴＬ記述
３０５  ３０１に対応するＲＴＬ記述
３０６  ３０２に対応するＲＴＬ記述
３０７  ３０３に対応するＲＴＬ記述
３０８  ３００を動作合成して得られるＲＴＬ記述
３０９  ３０１に対応するＲＴＬ記述
３１０  ３０２に対応するＲＴＬ記述
３１１  ３０３に対応するＲＴＬ記述
３１２  ３００を動作合成して得られるＲＴＬ記述
３１３  ３０１に対応するＲＴＬ記述
３１４  ３０２に対応するＲＴＬ記述
３１５  ３０３に対応するＲＴＬ記述
【図１】
2008077490.tif 000003
【図２】
2008077490.tif 000004
【図３】
2008077490.tif 000005
【図４】
2008077490.tif 000006
【図５】
2008077490.tif 000007
【図６】
2008077490.tif 000008
【図７】
2008077490.tif 000009
【図８】
2008077490.tif 000010
【図９】
2008077490.tif 000011
【図１０】
2008077490.tif 000012
【図１１】
2008077490.tif 000013
【図１２】
2008077490.tif 000014
【図１３】
2008077490.tif 000015
【図１４】
2008077490.tif 000016
【図１５】
2008077490.tif 000017
【図１６】
2008077490.tif 000018
【図１７】
2008077490.tif 000019
【図１８】
2008077490.tif 000020
【図１９】
2008077490.tif 000021
【図２０】
2008077490.tif 000022
【図２１】
2008077490.tif 000023
【図２２】
2008077490.tif 000024
【図２３】
2008077490.tif 000025
【図２４】
2008077490.tif 000026
【図２５】
2008077490.tif 000027