(57)【要約】【課題】  動作レベル記述の回路情報を用いた設計において、設計効率を向上できるプログラムを提供すること。【解決手段】  本発明にかかるプログラムは、回路設計における各設計レベルに応じて記述された回路の情報を表示する処理をコンピュータに実行させるプログラムであって、動作レベル記述情報１２１を取得するステップと、ＲＴＬ記述情報１２２を取得するステップと、動作レベル−ＲＴＬ対応情報１２３を取得するステップと、動作レベル−ＲＴＬ対応情報１２３に基づいて、動作レベル記述情報１２１の行とＲＴＬ記述情報１２２の行とを対応付けて表示するステップと、を備えるものである。【選択図】  図１
2005242812.tif 000002
【特許請求の範囲】
【請求項１】
回路設計における各設計レベルに応じて記述された回路の情報を表示する処理をコンピュータに実行させるプログラムであって、前記処理は、
動作レベルの記述により回路の情報が記述された動作レベル記述情報を取得するステップと、
前記動作レベルよりも下位の設計レベルにおいて、前記動作レベル記述情報と同じ回路に関する情報が記述された下位レベル記述情報を取得するステップと、
前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付ける対応情報を取得するステップと、
前記対応情報に基づいて、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付けて表示するステップと、
を備えるプログラム。
【請求項２】
前記対応付けて表示するステップは、
ユーザが、前記下位レベル記述情報の部分を選択するステップと、
前記選択された部分に基づき、前記対応情報を検索し、前記選択された部分に対応する前記動作レベル記述情報の部分を決定するステップと、
前記決定した部分を強調表示するステップと、
をさらに備える、請求項１に記載のプログラム。
【請求項３】
前記対応付けて表示するステップは、
ユーザが、前記動作レベル記述情報の部分を選択するステップと、
前記選択された部分に基づき、前記対応情報を検索し、前記選択された部分に対応する前記下位レベル記述情報の部分を決定するステップと、
前記決定した部分を強調表示するステップと、
をさらに備える、請求項１又は２に記載のプログラム。
【請求項４】
前記動作レベル記述情報を表示するステップと、
前記対応情報を検索し、対応する前記下位レベル記述情報の部分が有る、前記動作レベル記述情報の部分を決定するステップと、
前記決定した部分を強調表示するステップと、
をさらに備える、請求項１、２又は３に記載のプログラム。
【請求項５】
前記下位レベル記述情報を表示するステップと、
前記対応情報を検索し、対応する前記動作レベル記述情報の部分が有る、前記下位レベル記述情報の部分を決定するステップと、
前記決定した部分を強調表示するステップと、
をさらに備える、請求項１乃至４のいずれかに記載のプログラム。
【請求項６】
前記下位レベル記述情報は、ＲＴＬの記述により記述されている回路の情報である、請求項１乃至５のいずれかに記載のプログラム。
【請求項７】
前記下位レベル記述情報は、ゲートレベルにおけるゲートの遅延情報である、請求項１乃至５のいずれかに記載のプログラム。
【請求項８】
前記下位レベル記述情報は、ゲートレベルにおけるゲートネットリストである、請求項１乃至５のいずれかに記載のプログラム。
【請求項９】
前記下位レベル記述情報は、レイアウト設計におけるゲートの遅延情報である、請求項１乃至５のいずれかに記載のプログラム。
【請求項１０】
回路設計における各設計レベルに応じて記述された回路の情報を表示する処理をコンピュータに実行させるプログラムであって、前記処理は、
動作レベルの記述により回路の情報が記述された動作レベル記述情報を取得するステップと、
ＲＴＬの記述により前記動作レベル記述情報と同じ回路に関する情報が記述されたＲＴＬ記述情報を取得するステップと、
ゲートレベルにおける、前記ＲＴＬ記述情報と同じ回路のゲートの遅延情報である、遅延レポート情報を取得するステップと、
前記動作レベル記述情報の行と前記ＲＴＬ記述情報の行とを対応付ける第１の対応情報を取得するステップと、
前記ＲＴＬ記述情報の行と前記ＲＴＬ記述情報の部品とを対応付ける第２の対応情報を取得するステップと、
前記第１の対応情報に基づいて、前記動作レベル記述情報の行と前記ＲＴＬ記述情報の行とを対応付けて表示する第１の表示ステップと、
前記第２の対応情報に基づいて、前記ＲＴＬ記述情報の行と前記遅延レポート情報のゲートとを対応付けて表示する第２の表示ステップと、
を備えるプログラム。
【請求項１１】
前記ＲＴＬ記述情報の部品と前記遅延レポート情報のゲートとを対応付ける第３の対応情報を取得するステップをさらに備え、
前記第２の表示ステップは、
前記第２の対応情報及び前記第３の対応情報に基づいて、前記ＲＴＬ記述情報の行と前記遅延レポート情報のゲートとを対応付けて表示する、
請求項１０に記載のプログラム。
【請求項１２】
回路設計における各設計レベルに応じて記述された回路の情報を表示する回路設計支援方法であって、
動作レベルの記述により回路の情報が記述された動作レベル記述情報を取得するステップと、
前記動作レベルよりも下位の設計レベルにおいて、前記動作レベル記述情報と同じ回路に関する情報が記述された下位レベル記述情報を取得するステップと、
前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付ける対応情報を取得するステップと、
前記対応情報に基づいて、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付けて表示するステップと、
を備える回路設計支援方法。
【請求項１３】
回路設計における各設計レベルに応じて記述された回路の情報を表示する回路設計支援システムであって、
動作レベルの記述により回路の情報が記述された動作レベル記述情報を取得する手段と、
前記動作レベルよりも下位の設計レベルにおいて、前記動作レベル記述情報と同じ回路に関する情報が記述された下位レベル記述情報を取得する手段と、
前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付ける対応情報を取得する手段と、
前記対応情報に基づいて、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付けて表示する手段と、
を備える回路設計支援システム。
【請求項１４】
前記動作レベル記述情報に基づいて、前記下位レベル記述情報と前記対応情報とを生成する合成手段をさらに備える、請求項１３に記載の回路設計支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路設計支援システムに関し、特に、各設計レベルの記述により記述された回路情報を表示する回路設計支援システムに関する。
【背景技術】
【０００２】
ＬＳＩ等の半導体回路は、システム設計、機能設計、論理設計、レイアウト設計等の一連の設計工程を経た後、製造工程により製造される。このような一連の設計工程では、大規模集積回路の設計に対応するため、各種の設計支援システムやプログラムが用いられている。
【０００３】
各設計工程の設計レベルでは、その構成内容を明確化するために最適な記述方法がとられている。例えば、機能設計においては、動作レベル記述、機能レベル記述、論理設計においては、ゲートレベル記述、トランジスタレベル記述により記述された回路情報を用いて設計が行われている。
【０００４】
従来、機能レベル記述であるＲＴＬ（Ｒｅｇｉｓｔｅｒ Ｔｒａｎｓｆｅｒ Ｌｅｖｅｌ）記述を、設計者が「Ｖｅｒｉｌｏｇ−ＨＤＬ（Verilog Hardware Description Language）」や「ＶＨＤＬ（VHSIC Hardware Description Language）」等により記述し、これを論理合成によりゲートレベル記述に変換する手法が用いられている。近年、設計効率向上を図るため、設計者が動作レベル記述をＣ言語等により記述し、これを動作合成ツールによりＲＴＬ記述に変換する手法が注目されている（例えば、非特許文献１参照）。
【０００５】
論理合成では、各ゲートの動作がシミュレーション等により遅延解析され、入力端子あるいは記憶素子を始点とし、出力端子あるいは記憶素子を終点とするパス毎の処理時間である遅延時間が遅延レポートとして出力される。この遅延時間が設計基準値を超えている場合、遅延違反として、ＲＴＬ記述を修正しなければならない。しかし、遅延レポートから遅延違反しているパスやゲートに対応するＲＴＬ記述を識別するのが困難であるという問題がある。そこで、遅延レポートとＲＴＬ記述を対応付ける方法が知られている（例えば、特許文献１参照）。
【０００６】
図２５に、従来の回路設計支援システムの構成例を示す。この回路設計支援システム２５００は、制御部２５１０、記憶部２５２０、表示部２５３０及び入力部２５４０を備えている。制御部２５１０は、論理合成処理２５１１、遅延解析処理２５１２及び対応表示処理２５１３を有しており、記憶部２５２０は、ＲＴＬ記述情報２５２１、経路情報２５２２、論理回路情報２５２３、遅延レポート情報２５２４及び対応情報２５２５を有している。
【０００７】
例えば、ＲＴＬ記述の回路情報であるＲＴＬ記述情報２５２１は、設計者により入力部２５４０を介して入力され、記憶部２５２０に記憶する。同様に設計者により入力され、遅延解析するパスの経路の始点及び終点の情報である経路情報２５２２が記憶部２５２０に記憶する。
【０００８】
論理合成処理２５１１において、ＲＴＬ記述情報２５２１及び経路情報２５２２に基づいて、当該経路のゲートレベル記述の回路情報である論理回路情報２５２３を生成し、記憶部２５２０に記憶するとともに、ＲＴＬ記述情報２５２１と論理回路情報２５２３との対応関係を示す対応情報２５２５を作成し、記憶部２５２０に記憶する。
【０００９】
遅延解析処理２５１２において、論理回路情報２５２３に基づいて、当該論理回路の遅延解析を行い遅延レポート情報２５２４を作成し、記憶部２５２０に記憶する。
【００１０】
対応表示処理２５１３において、ＲＴＬ記述情報２５２１、遅延レポート情報２５２４、対応情報２５２５に基づいて、遅延しているゲートに対応するＲＴＬ記述を表示部２５３０に表示する。これにより、ＲＴＬ記述の修正すべき箇所を明確にすることができる。
【００１１】
しかしながら、従来の回路設計支援システム２５００を用いて、動作レベル記述を動作合成してＲＴＬ記述を生成し、設計を行った場合、動作合成前後の動作レベル記述とＲＴＬ記述との対応をとる手段がないため、各々の記述をエディタ等で開き、対応関係を設計者が推測しながら確認していた。
【００１２】
このように、従来の方法では、動作合成を用いて設計した回路に対して、論理合成後の遅延解析によって遅延違反が検出された場合、遅延違反となっているパスに該当するＲＴＬ記述は表示できても、動作レベル記述までは表示することはできなかった。このため、動作合成により生成されたＲＴＬ記述からもとの動作レベル記述へと対応をとるためには、煩雑な手作業が必要となり、作業に時間がかかり、作業に慣れていない者には困難である、という問題があった。
【００１３】
また、従来の方法では、レイアウト設計後に遅延解析して初めて検出される遅延違反（例えば、論理合成では発生していなかったが、配線を考慮すると遅延が長くなってしまうケース等）が検出された場合、そのパスに該当するＲＴＬ記述を表示する手段も、動作レベル記述を表示する手段も、提供することはできない、という問題があった。
【００１４】
さらに、従来の方法では、動作合成前後の動作レベル記述とＲＴＬ記述との対応関係を推測しながら確認していたため、作業に時間がかかる他に、誤った対応付けをしてしまう、などの問題があった。
【非特許文献１】ジョバンニ・デ・ミケリ（Giovanni De Micheli）著、「シンセサイズ・アンド・オプティマイゼイション・オブ・デジタル・サーキッツ（SYNTHESIS AND OPTIMIZATION OF DIGITAL CIRCUITS）」、（米国）、マックグロウ−ヒル  インク（McGraw-Hill, Inc.）、１９９４年、ｐ．１４１−２６６
【特許文献１】特開平５−２４２１８３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
上述のように、従来の回路設計支援システムでは、動作レベル記述の回路情報を用いて設計を行った場合、設計効率が悪いという問題点があった。
【００１６】
本発明は、このような問題点を解決するためになされたものであって、本発明の目的は、動作レベル記述の回路情報を用いた設計において、設計効率を向上することである。
【課題を解決するための手段】
【００１７】
本発明にかかるプログラムは、回路設計における各設計レベルに応じて記述された回路の情報を表示する処理をコンピュータに実行させるプログラムであって、前記処理は、動作レベルの記述により回路の情報が記述された動作レベル記述情報を取得するステップと、前記動作レベルよりも下位の設計レベルにおいて、前記動作レベル記述情報と同じ回路に関する情報が記述された下位レベル記述情報を取得するステップと、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付ける対応情報を取得するステップと、前記対応情報に基づいて、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付けて表示するステップと、を備えるものである。これにより、動作レベル記述と下位レベル記述との対応が明確になり、設計効率を向上することができる。
【００１８】
上述のプログラムにおいて、前記対応付けて表示するステップは、ユーザが、前記下位レベル記述情報の部分を選択するステップと、前記選択された部分に基づき、前記対応情報を検索し、前記選択された部分に対応する前記動作レベル記述情報の部分を決定するステップと、前記決定した部分を強調表示するステップと、をさらに備えていてもよい。これにより、下位レベル記述に対応する動作レベル記述を容易に識別することができる。
【００１９】
上述のプログラムにおいて、前記対応付けて表示するステップは、ユーザが、前記動作レベル記述情報の部分を選択するステップと、前記選択された部分に基づき、前記対応情報を検索し、前記選択された部分に対応する前記下位レベル記述情報の部分を決定するステップと、前記決定した部分を強調表示するステップと、をさらに備えていてもよい。これにより、動作レベル記述に対応する下位レベル記述を容易に識別することができる。
【００２０】
上述のプログラムにおいて、前記動作レベル記述情報を表示するステップと、前記対応情報を検索し、対応する前記下位レベル記述情報の部分が有る、前記動作レベル記述情報の部分を決定するステップと、前記決定した部分を強調表示するステップと、をさらに備えていてもよい。これにより、動作レベル記述と下位レベル記述との対応の有無を容易に識別することができる。
【００２１】
上述のプログラムにおいて、前記下位レベル記述情報を表示するステップと、前記対応情報を検索し、対応する前記動作レベル記述情報の部分が有る、前記下位レベル記述情報の部分を決定するステップと、前記決定した部分を強調表示するステップと、をさらに備えていてもよい。これにより、動作レベル記述と下位レベル記述との対応の有無を容易に識別することができる。
【００２２】
上述のプログラムにおいて、前記下位レベル記述情報は、ＲＴＬの記述により記述されている回路の情報であってもよい。これにより、動作レベル記述とＲＴＬ記述を対応付けることができる。
【００２３】
上述のプログラムにおいて、前記下位レベル記述情報は、ゲートレベルにおけるゲートの遅延情報であってもよい。これにより、動作レベル記述と遅延情報を対応付けることができる。
【００２４】
上述のプログラムにおいて、前記下位レベル記述情報は、ゲートレベルにおけるゲートネットリストであってもよい。これにより、動作レベル記述とゲートネットリストを対応付けることができる。
【００２５】
上述のプログラムにおいて、前記下位レベル記述情報は、レイアウト設計におけるゲートの遅延情報であってもよい。これにより、動作レベル記述と遅延情報を対応付けることができる。
【００２６】
本発明にかかるプログラムは、回路設計における各設計レベルに応じて記述された回路の情報を表示する処理をコンピュータに実行させるプログラムであって、前記処理は、動作レベルの記述により回路の情報が記述された動作レベル記述情報を取得するステップと、ＲＴＬの記述により前記動作レベル記述情報と同じ回路に関する情報が記述されたＲＴＬ記述情報を取得するステップと、ゲートレベルにおける、前記ＲＴＬ記述情報と同じ回路のゲートの遅延情報である、遅延レポート情報を取得するステップと、前記動作レベル記述情報の行と前記ＲＴＬ記述情報の行とを対応付ける第１の対応情報を取得するステップと、前記ＲＴＬ記述情報の行と前記ＲＴＬ記述情報の部品とを対応付ける第２の対応情報を取得するステップと、前記第１の対応情報に基づいて、前記動作レベル記述情報の行と前記ＲＴＬ記述情報の行とを対応付けて表示する第１の表示ステップと、前記第２の対応情報に基づいて、前記ＲＴＬ記述情報の行と前記遅延レポート情報のゲートとを対応付けて表示する第２の表示ステップと、を備えるものである。これにより、動作レベル記述とＲＴＬ記述記述、遅延レポートの対応が明確になり、設計効率を向上することができる。
【００２７】
上述のプログラムにおいて、前記ＲＴＬ記述情報の部品と前記遅延レポート情報のゲートとを対応付ける第３の対応情報を取得するステップをさらに備え、前記第２の表示ステップは、前記第２の対応情報及び前記第３の対応情報に基づいて、前記ＲＴＬ記述情報の行と前記遅延レポート情報のゲートとを対応付けて表示してもよい。これにより、ＲＴＬ記述情報の部品と遅延レポート情報のゲートが異なる場合でも、動作レベル記述とＲＴＬ記述記述、遅延レポートを対応付けることができる。
【００２８】
本発明にかかる回路設計支援方法は、回路設計における各設計レベルに応じて記述された回路の情報を表示する回路設計支援方法であって、動作レベルの記述により回路の情報が記述された動作レベル記述情報を取得するステップと、前記動作レベルよりも下位の設計レベルにおいて、前記動作レベル記述情報と同じ回路に関する情報が記述された下位レベル記述情報を取得するステップと、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付ける対応情報を取得するステップと、前記対応情報に基づいて、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付けて表示するステップと、を備えるものである。これにより、動作レベル記述と下位レベル記述との対応が明確になり、設計効率を向上することができる。
【００２９】
本発明にかかる回路設計支援システムは、回路設計における各設計レベルに応じて記述された回路の情報を表示する回路設計支援システムであって、動作レベルの記述により回路の情報が記述された動作レベル記述情報を取得する手段と、前記動作レベルよりも下位の設計レベルにおいて、前記動作レベル記述情報と同じ回路に関する情報が記述された下位レベル記述情報を取得する手段と、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付ける対応情報を取得する手段と、前記対応情報に基づいて、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付けて表示する手段と、を備えるものである。これにより、動作レベル記述と下位レベル記述との対応が明確になり、設計効率を向上することができる。
【００３０】
上述の回路設計支援システムにおいて、前記動作レベル記述情報に基づいて、前記下位レベル記述情報と前記対応情報とを生成する合成手段をさらに備えていてもよい。これにより、さらに、設計効率を向上することができる。
【発明の効果】
【００３１】
本発明によれば、動作レベル記述の回路情報を用いた設計において、設計効率を向上できるプログラムを提供することができる。
【発明を実施するための最良の形態】
【００３２】
以下に、本発明を適用可能な実施の形態が説明される。以下の説明は、本発明の実施形態を説明するものであり、本発明が以下の実施形態に限定されるものではない。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、当業者であれば、以下の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。尚、各図において同一の符号を付されたものは同様の要素を示しており、適宜、説明を省略する。
【００３３】
発明の実施の形態１．
まず、図１に示すブロック図を用いて、本発明の実施の形態１にかかる回路設計支援システムの構成について説明する。この回路設計支援システム１００は、パーソナルコンピュータやサーバコンピュータ等のコンピュータにより構成されており、動作レベル記述とＲＴＬ記述とを対応付けて表示する処理を実行するシステムである。尚、回路設計支援システム１００は、単一のコンピュータでなくとも、複数のコンピュータによって構成することも可能である。
【００３４】
回路設計支援システム１００は、図に示すように、制御部１１０、記憶部１２０、表示部１３０及び入力部１４０を備えている。表示部１３０は、ディスプレイ等の表示装置であり、入力部１４０は、キーボードやマウス等の入力装置である。
【００３５】
制御部１１０は、ＣＰＵ等の制御処理装置であり、記憶部１２０に予め記憶されたＯＳプログラムやアプリケーションプログラムに基づき、各種の処理を実行する。例えば、動作合成処理１１１や対応表示処理１１２のプログラムが、記憶部１２０に格納されており、このプログラムに基づいて、動作合成処理１１１や対応表示処理１１２が実行される。
【００３６】
記憶部１２０は、ハードディスク等の内部記憶手段や光ディスク等の外部記憶手段により構成され、ＯＳプログラムやアプリケーションプログラム、各プログラムの処理に必要な各種データ等が格納される。ここでは、各種データとして、動作レベル記述情報１２１、ＲＴＬ記述情報１２２及び動作レベル−ＲＴＬ対応情報１２３が格納されている。また、図示しないが、アプリケーションプログラムとして、動作合成処理１１１や対応表示処理１１２等のプログラムが格納されている。
【００３７】
動作レベル記述情報１２１は、動作レベル記述の回路情報であり、例えば、設計者等のユーザにより入力部１４０を介して入力され、記憶部１２０に記憶されている。動作レベル記述情報１２１は、任意の数のファイルから構成され、ファイルの形式は、例えば、テキスト形式である。動作レベル記述は、ＲＴＬ記述よりも上位レベルの記述であり、システムの動作が記述されている。動作レベル記述は、例えば、Ｃ言語であるが、ＳｙｓｔｅｍＣ、ＳｐｅｃＣ、ＡＮＳＩ−Ｃ、それらの派生言語、Ｓｙｓｔｅｍ  Ｖｅｒｉｌｏｇ等でもよい。
【００３８】
ＲＴＬ記述情報１２２は、ＲＴＬ記述の回路情報であり、動作合成処理１１１により生成され、記憶部１２０に記憶されている。ＲＴＬ記述情報１２２は、任意の数のファイルから構成され、ファイルの形式は、例えば、テキスト形式である。ＲＴＬ記述は、組み合わせ回路とレジスタの接続が記述されている。例えば、ＲＴＬ記述は、Ｖｅｒｉｌｏｇ−ＨＤＬやＶＨＤＬ等のＨＤＬ（Hardware Description Language)である。尚、ＲＴＬ記述情報１２２は、ＲＴＬ記述に限らず、動作レベルよりも下位の設計レベル、例えば、機能レベル、ゲートレベル、トランジスタレベル、レイアウト設計等における回路に関する情報であってもよい。
【００３９】
動作レベル−ＲＴＬ対応情報１２３は、動作レベル記述の行番号とＲＴＬ記述の行番号の対応情報であり、動作合成処理１１１により生成され、記憶部１２０に記憶されている。データ構造については、後述する。
【００４０】
動作合成処理１１１は、制御部１１０において実行される処理であり、動作レベル記述情報１２１が入力され、これを動作合成することにより、ＲＴＬ記述情報１２２を生成して記憶部１２０に記憶する。同時に、動作合成処理１１１は、動作レベル−ＲＴＬ対応情報１２３を作成し、記憶部１２０に格納する。尚、動作合成処理１１１は、回路設計支援システム１００とは別のシステムにおいて、実行されてもよい。
【００４１】
対応表示処理１１２は、制御部１１０において実行される処理であり、動作レベル記述情報１２１、ＲＴＬ記述情報１２２及び動作レベル−ＲＴＬ対応情報１２３が入力され、動作レベル記述とＲＴＬ記述とを対応付けて表示部１３０に表示する。詳細な動作については、後述する。
【００４２】
次に、図２を用いて、動作レベル−ＲＴＬ対応情報１２３のデータ構造について説明する。図２（ａ）は、動作レベル−ＲＴＬ対応情報１２３のデータ構造を模式的に示しており、図２（ｂ）は、動作レベル−ＲＴＬ対応情報１２３のデータの例である。
【００４３】
動作レベル−ＲＴＬ対応情報１２３は、図２（ａ）に示すように、動作レベル記述（ここでは、ｍａｉｎ．ｃ）の行番号と、ＲＴＬ記述（ここでは、ｍａｉｎ．ｖ）の行番号が、それぞれ双方向ポインタにより対応付けられている。また、１つの行と複数の行を対応付けることができる。例えば、ｍａｉｎ．ｃの４４行目は、ｍａｉｎ．ｖの１０４行目及び１１４行目に対応付けられている。
【００４４】
動作レベル−ＲＴＬ対応情報１２３は、図２（ｂ）に示すように、対応元のファイル名と行番号、対応先のファイル名と行番号がそれぞれ対応付けられて、記憶される。
【００４５】
双方向ポインタとすることにより、動作レベル記述側からでも、ＲＴＬ記述側からでも、容易に対応先の行番号を取得することができる。尚、この例に限らず、１つの行と複数の行の対応付けができれば、その他の構造でもよい。また、対応付ける単位は、行のみに限らず、例えば、行とカラム数、文字列等あるいは、記憶部１２０に格納された動作レベル記述情報１２１やＲＴＬ記述情報１２２の当該個所の位置情報（例えば、記憶部１２０がメモリであればそのアドレス番地、あるいは、例えば、記憶部１２０がハードディスクであればディスク上の物理位置等）としてもよい。
【００４６】
次に、図３を用いて、対応表示処理１１２の表示画面の例について説明する。この表示画面は、対応表示処理１１２によって表示部１３０に表示される画面であり、動作レベル記述情報１２１とＲＴＬ記述情報１２２とを対応付けて表示する画面の一例である。
【００４７】
この表示画面３００は、図に示すように、例えば１つのウィンドウであり、動作レベル記述情報１２１を表示する動作レベル記述表示３０１と、ＲＴＬ記述情報１２２を示すＲＴＬ記述表示３０２の２つの表示領域を備えている。図では、動作レベル表示３０１、ＲＴＬ記述表示３０２には行番号が表示されているが、これらは無くても良い。
【００４８】
また、図では、動作レベル表示３０１、ＲＴＬ記述表示３０２は、文字列として表示されているが、一方もしくは両方が図形表示されていてもよい。例えば、動作レベル記述情報１２１がフローチャートであったり、ＲＴＬ記述表示３０２が回路図であってもよい。この場合、以降の動作の説明では、図形やテキストの一部をクリックすると、対応するテキストや図形の一部が強調表示される仕組みと読み替える。なお、図形表示されている場合には、図形には、行番号や文字列など、後述する動作レベル−ＲＴＬ対応情報１２３で対応づけられている要素と同じ情報が埋め込まれているものとする。あるいは、後述する動作レベル−ＲＴＬ対応情報１２３で、行番号の代わりに、図形の座標位置や図形構成要素の１つ１つに付けられた識別子が対応づけられているとしてもよい。
【００４９】
図に示すように、それぞれの表示領域の上部には、表示するファイル名を示すタブ３０３が設けられており、複数のファイルを選択して表示することができる。これにより、１つのファイルと複数のファイル、あるいは、複数のファイルと複数のファイルとが対応する場合でも、１つのウィンドウで表示することができる。なお、この図では、左側の領域だけ複数ファイルが存在する例であるが、右側の領域にも複数ファイルが存在する場合もある。また、複数のファイルをタブで表示せず、複数のウィンドウを重ねてもよいし、右や左の領域を分割して複数同時に表示させてもよい。
【００５０】
また、ここでは、メニュー３０４の例として、文字列を検索するためのＦｉｎｄコマンド、ファイルを再度読み込むためのＲｅｌｏａｄコマンドが設けられているが、これに限らず、その他の処理のためのメニューを設けてもよい。例えば、編集コマンドを設けて、各ファイルを編集できるようにしてもよい。これにより、表示画面３００において、遅延違反の原因となっている箇所を見つけるとともに、修正することができ、効率よく設計することができる。
【００５１】
動作レベル記述表示３０１とＲＴＬ記述表示３０２は、対応付けられたファイルを表示しており、例えば、対応先が存在する行に、下線が引かれ、強調表示されている。この強調表示は、下線に限らず、任意の表示方法でもよい。対応先が存在する行を強調表示することにより、選択すべき範囲がユーザに対し明確にすることができる。尚、対応先が存在する行を強調表示せずに、選択のみできるようにしてもよい。また、動作レベル表示３０１やＲＴＬ記述表示３０２に、ファイルの内容のうち対応する行だけを表示する方式としても良いし、対応する行番号だけを表示してもよい。
【００５２】
入力部１４０のマウス等により、ユーザが所望の行を選択すると、選択した行が赤色の太字で強調表示され、さらに、当該行に対応する行が同様に強調表示される。動作レベル記述表示３０１の行をユーザが選択すると、対応するＲＴＬ記述表示３０２の行が強調表示され、ＲＴＬ記述表示３０２の行をユーザが選択すると、対応する動作レベル記述表示３０１の行が強調表示される。これにより、動作レベル記述とＲＴＬ記述の対応する行を容易に識別することができる。
【００５３】
例えば、ＲＴＬ記述表示３０２の１０４行目をユーザがクリックすると、クリックした行が赤色の太字になるとともに、図２の動作レベル−ＲＴＬ対応情報１２３より、対応する行が動作レベル記述情報１２１の４４行目であるから、動作レベル記述表示３０１の４４行目が赤色の太字になる。尚、強調表示の表示方法は、この例に限らず、任意の表示方法でもよい。また、対応する行を示す下線のある行のみユーザが選択できるようにして、その他の行はユーザが選択できないようにしてもよい。
【００５４】
また、対応表示させたい行を、複数選択可能としてもよい。この場合、選択した複数の行に対応するもう一方の領域内の行は、全て同じ表示方法で強調表示されていても良いし、選択した行ごとに色分けをするなど、各々の対応関係が区別できるようにしてもよい。また、選択する対象や対応表示する個所は、行単位でなくとも、文字列単位（例えば、”ｉ”や”ｔｍｐ”など）としても良い。選択方法は、マウス等のポインティングデバイスによる選択でなく、キーボードを用いても良い。この場合、カーソル位置による指定や、行番号を打ち込む、文字列を打ち込む、などの方法が考えられる。
【００５５】
尚、表示画面３００における各要素の配置される位置は、この例に限らず、任意の位置でもよい。また、動作レベル記述表示３０１とＲＴＬ記述表示３０２を別のウィンドウとしてもよく、さらに、動作レベル記述、ＲＴＬ記述のファイルごとに別のウィンドウとしてもよい。また、常に両方が表示される必要はなく、一方だけが表示されている状態でクリックすると、対応するもう一方が表示されるとしてもよい。
【００５６】
次に、図４に示すフローチャートを用いて、対応表示処理１１２の処理について説明する。この処理は、制御部１１０において、対応表示処理１１２のプログラムにより実行される。また、この処理は、ユーザが対応表示処理１１２のプログラムを起動することにより、開始してもよいし、動作合成処理１１１が終了したときに、開始してもよい。
【００５７】
まず、ユーザが対応情報を入力する（Ｓ４０１）。ユーザにより、対応表示処理１１２の入力である動作レベル−ＲＴＬ対応情報１２３のファイル名等が入力される。制御部１１０は、動作レベル−ＲＴＬ対応情報１２３に格納されているファイル名を読み取ることにより、表示すべき動作レベル記述情報１２１やＲＴＬ記述情報１２２を得ることができる。また、ユーザにより、動作レベル記述情報１２１やＲＴＬ記述情報１２２のファイル名等がそれぞれ入力されてもよい。
【００５８】
尚、動作レベル−ＲＴＬ対応情報１２３のファイル名等が、あらかじめ決まっている場合には、ユーザによる入力の必要はない。また、動作レベル−ＲＴＬ対応情報１２３のファイル名等から、動作レベル記述情報１２１やＲＴＬ記述情報１２２のファイル名が容易に類推できる仕組み（例えば、ファイルの拡張子等のサフィックスを付け替えるなど）としてもよい。この場合、この段階では、動作レベル−ＲＴＬ対応情報１２３に格納されているファイル名を読み取る必要はない。
【００５９】
次いで、動作レベル記述表示処理を実行する（Ｓ４０２）。この処理により、動作レベル記述情報１２１が、図３で示した動作レベル記述表示３０１に表示される。次いで、ＲＴＬ記述表示処理を実行する（Ｓ４０３）。この処理により、ＲＴＬ記述情報１２２が、図３で示したＲＴＬ記述表示３０２に表示される。次いで、ユーザ入力処理を実行する（Ｓ４０４）。この処理により、ユーザの選択に応じた対応表示が行われる。Ｓ４０２からＳ４０４の処理の詳細については、後述する。尚、Ｓ４０２からＳ４０４の処理の順序は、これに限らず、その他の順序で実行されてもよい。例えば、Ｓ４０２とＳ４０３を逆に実行してもよいし、Ｓ４０２あるいはＳ４０３のいずれか一方を実行した後、Ｓ４０４を実行し、ユーザが動作レベル記述表示３０１やＲＴＬ記述表示３０２を選択したときに、Ｓ４０２やＳ４０３を実行してもよい。
【００６０】
次いで、終了指示が入力されているか判定する（Ｓ４０５）。例えば、表示画面３００に終了ボタンが設けられており、ユーザがこの終了ボタンを選択したか否か判定する。ユーザが終了ボタンを選択していない場合には、再度Ｓ４０４を実行する。また、ユーザが終了ボタンを選択している場合には、当該処理を終了する。
【００６１】
次に、図４の動作レベル記述表示処理（Ｓ４０２）について、図５に示すフローチャートを用いて説明する。この処理は、図４で示した処理と同様に、制御部１１０において、対応表示処理１１２のプログラムにより実行される。
【００６２】
まず、動作レベル記述をテキスト表示する（Ｓ５０１）。Ｓ４０１で得られた動作レベル記述情報１２１を、表示部１３０上の動作レベル記述表示３０１に表示する。例えば、動作レベル−ＲＴＬ対応情報１２３に動作レベル記述情報１２１のファイルが複数存在する場合、全てのファイルを表示してもよい。また、動作レベル記述情報１２１の格納された形式にかかわらず、テキストの文字列として表示してもよい。
【００６３】
次いで、対応先が存在する行番号を検索する（Ｓ５０２）。動作レベル−ＲＴＬ対応情報１２３に含まれる動作レベル記述情報１２１の行番号リストから、対応するＲＴＬ記述情報１２２の行番号が存在する、動作レベル記述情報１２１の行番号を検索する。例えば、図２（ａ）のｍａｉｎ．ｃの行番号リストの場合、双方向ポインタの張られている行番号が、対応するＲＴＬ記述情報１２２の行番号が存在するものと判定できる。図２（ａ）で示した範囲では、ｍａｉｎ．ｃの行番号リストから、４０、４２、４３、４４、４６、４９、５０、５１、５２、５３、５７の行番号が見つかる。また、図２（ｂ）では、ファイル名ｍａｉｎ．ｃの行番号として列挙されているものが、対応するＲＴＬ記述情報１２２の行番号が存在するものと判定できる。図２（ｂ）で示した範囲では、４４、４６の行番号が見つかる。尚、図２（ｂ）の例では、全てを列挙していないため、ｍａｉｎ．ｃとｍａｉｎ．ｖが一致していない行もあるが、全ての情報が網羅された状態では、両者は一致する。
【００６４】
次いで、該当する行番号の行に下線を引く（Ｓ５０３）。Ｓ５０２で検索した動作レベル記述情報１２１の行番号に基づいて、動作レベル記述表示３０１において、該当する全ての行に下線を引く。このとき、該当する行の文字列の表示を、下線付きの表示に変更し、さらに、ユーザがマウス等により選択可能な文字列としてもよい。これにより、動作レベル記述表示３０１が表示され、当該表示をユーザが選択できる状態となる。
【００６５】
なお、Ｓ５０１〜Ｓ５０３は、必ずしもこの順番でなくともよい。例えば、Ｓ５０１とＳ５０２の順番は逆であっても良い。また、複数同時処理してもよい。例えば、Ｓ５０２の後、Ｓ５０１とＳ５０３とを並行して行っても良い。このとき、前述の説明で、一度Ｓ５０１で表示した文字列を、Ｓ５０３で下線付き表示に変更する処理を行う必要はなくなり、Ｓ５０３で下線付きで表示すべき行は、最初から下線付きで表示する、という処理が可能となる。
【００６６】
次に、図４のＲＴＬ記述表示処理（Ｓ４０３）について、図６に示すフローチャートを用いて説明する。この処理は、図４で示した処理と同様に、制御部１１０において、対応表示処理１１２のプログラムにより実行される。また、この処理は、図５の動作レベル記述表示処理と同様のため、簡単に説明する。
【００６７】
まず、ＲＴＬ記述をテキスト表示する（Ｓ６０１）。Ｓ４０１で得られたＲＴＬ記述情報１２２を、表示部１３０上のＲＴＬ記述表示３０２に表示する。次いで、対応先が存在する行番号を検索する（Ｓ６０２）。動作レベル−ＲＴＬ対応情報１２３に含まれるＲＴＬ記述情報１２２の行番号リストから、対応する動作レベル記述情報１２１の行番号が存在する、ＲＴＬ記述情報１２２の行番号を検索する。次いで、該当する行番号の行に下線を引く（Ｓ６０３）。Ｓ６０２で検索したＲＴＬ記述情報１２２の行番号に基づいて、ＲＴＬ記述表示３０２において、該当する全ての行に下線を引く。これにより、ＲＴＬ記述表示３０２が表示され、当該表示をユーザが選択できる状態となる。
【００６８】
次に、図４のユーザ入力処理（Ｓ４０４）について、図７に示すフローチャートを用いて説明する。この処理は、図４で示した処理と同様に、制御部１１０において、対応表示処理１１２のプログラムにより実行される。
【００６９】
まず、どの表示をユーザが選択したか判定する（Ｓ７０１）。ユーザによる入力部１４０を介した入力を受け付け、ユーザが図３の表示画面３００におけるどこの表示を選択したか判定する。選択された個所によりＳ７０２又はＳ７０５が実行される。ここでは、動作レベル記述表示３０１とＲＴＬ記述表示３０２以外を選択した場合の処理については省略する。
【００７０】
Ｓ７０１で動作レベル記述表示３０１が選択された場合、選択された行番号を取得する（Ｓ７０２）。ユーザにより動作レベル記述表示３０１が選択された場合、さらに、動作レベル記述表示３０１において、選択された行の行番号を取得する。このとき、取得した行番号の行の文字列を、赤色の太字等に強調表示してもよい。
【００７１】
次いで、選択された行番号に対応するＲＴＬ記述の行番号を検索する（Ｓ７０３）。動作レベル−ＲＴＬ対応情報１２３に含まれる動作レベル記述情報１２１の行番号リストから、Ｓ７０２で取得した行番号を検索し、当該行に対応するＲＴＬ記述情報１２２の全ての行番号を決定する。
【００７２】
次いで、ＲＴＬ記述表示３０２上の該当する行を全て強調表示する（Ｓ７０４）。Ｓ７０４で検索し決定したＲＴＬ記述情報１２２の行番号に基づいて、ＲＴＬ記述表示３０２において、該当する全ての行を強調表示する。例えば、該当する行の文字列の表示を、赤色の太字の表示に変更する。
【００７３】
Ｓ７０１でＲＴＬ記述表示３０２が選択された場合、選択された行番号を取得する（Ｓ７０５）。ユーザによりＲＴＬ記述表示３０２が選択された場合、さらに、ＲＴＬ記述表示３０２において、選択された行の行番号を取得する。また、Ｓ７０２と同様に、選択された行を強調表示してもよい。
【００７４】
次いで、選択された行番号に対応する動作レベル記述の行番号を検索する（Ｓ７０６）。動作レベル−ＲＴＬ対応情報１２３に含まれるＲＴＬ記述情報１２２の行番号リストから、Ｓ７０５で取得した行番号を検索し、当該行に対応する動作レベル記述情報１２１の全ての行番号を決定する。
【００７５】
次いで、動作レベル記述表示３０１上の該当する行を全て強調表示する（Ｓ７０７）。Ｓ７０６で検索し決定した動作レベル記述情報１２１の行番号に基づいて、動作レベル記述表示３０１において、該当する全ての行を、Ｓ７０４と同様に強調表示する。
【００７６】
このような方法により、ユーザの選択に応じて、動作レベル記述に対応するＲＴＬ記述、又は、ＲＴＬ記述に対応する動作レベル記述を表示することができるため、動作レベル記述の個所に対応するＲＴＬ記述の個所を容易に特定し、動作レベル記述がどのようなＲＴＬ記述となっているのか正確に確認することができる。
【００７７】
発明の実施の形態２．
次に、図８に示すブロック図を用いて、本発明の実施の形態２にかかる回路設計支援システムの構成について説明する。この回路設計支援システム１００は、図１の構成に加えて、制御部１１０に論理合成処理１１３を有し、記憶部１２０にＲＴＬ内対応情報１２４、ゲート−ＲＴＬ対応情報１２５及び遅延レポート情報１２６を有している。
【００７８】
遅延レポート情報１２６は、入力端子あるいは記憶素子を始点とし、出力端子あるいは記憶素子を終点とするパスの遅延情報であり、論理合成処理１１３により生成され、記憶部１２０に記憶されている。遅延レポート情報１２６は、任意の数のパスから構成され、その形式は、論理合成等の内部形式（バイナリ形式）である。このため、テキストの文字列解析などの入力処理をせずに、制御部１１０から直接、遅延時間等のデータを参照することができる。
【００７９】
遅延レポートは、論理合成時において各ゲートの動作が遅延解析された結果得られるものであり、１つ以上のパスに関する遅延情報からなる。パスの遅延情報には、例えば、パスの始点から終点までの各ゲートの階層とインスタンス名、各ゲートの遅延時間や、パスの全体の遅延時間、遅延違反か否か等が含まれている。遅延レポートの詳細については、後述する。
【００８０】
ＲＴＬ内対応情報１２４は、ＲＴＬ記述における部品（例えば、演算器やセレクタやレジスタや端子や配線など）のインスタンス名とＲＴＬ記述の行番号の対応情報であり、動作合成処理１１１により生成され、記憶部１２０に記憶されている。データ構造については、後述する。
【００８１】
尚、ＲＴＬ記述情報１２２から、ＲＴＬ記述における部品のインスタンス名とＲＴＬ記述の行番号の対応が認識できる場合には、ＲＴＬ内対応情報１２４を設けなくてもよい。この場合には、ＲＴＬ記述情報１２２を検索する必要がある。
【００８２】
ゲート−ＲＴＬ対応情報１２５は、遅延レポートにおけるゲートのインスタンス名とＲＴＬ記述における部品のインスタンス名の対応情報であり、論理合成処理１１３により生成され、記憶部１２０に記憶されている。データ構造については、後述する。
【００８３】
論理合成処理１１３は、制御部１１０において実行される処理であり、ＲＴＬ記述情報１２２が入力され、これを論理合成することにより、遅延レポート情報１２６を生成し、記憶部１２０に記憶する。同時に、論理合成処理１１３は、ゲート−動作レベル対応情報１２５を作成し、記憶部１２０に格納する。尚、論理合成処理１１３は、回路設計支援システム１００とは別のシステムにおいて、実行されてもよい。論理合成では、遅延レポート情報１２６やゲート−動作レベル対応情報１２５の他に、ゲート間の接続情報であるゲートネットリスト等が出力される。
【００８４】
本実施形態における動作合成処理１１１は、動作レベル記述情報１２１を動作合成する際に、ＲＴＬ記述情報１２２、動作レベル−ＲＴＬ対応情報１２３に加えて、ＲＴＬ内対応情報１２４を作成し、記憶部１２０に格納する。
【００８５】
本実施形態における対応表示処理１１２は、動作レベル記述情報１２１、ＲＴＬ記述情報１２２、動作レベル−ＲＴＬ対応情報１２３に加えて、遅延レポート情報１２６、ＲＴＬ内対応情報１２４、ゲート−ＲＴＬ対応情報１２５を入力し、動作レベル記述とＲＴＬ記述、遅延レポートをそれぞれ対応付けて、表示部１３０に表示する。詳細な動作については、後述する。
【００８６】
次に、図９を用いて、ＲＴＬ内対応情報１２４、ゲート−ＲＴＬ対応情報１２５のデータ構造について説明する。図９（ａ）はＲＴＬ内対応情報１２４のデータの例を示し、図９（ｂ）は、ゲート−ＲＴＬ対応情報１２５のデータの例を示している。
【００８７】
図９（ａ）に示すように、ＲＴＬ内対応情報１２４には、ＲＴＬ記述のファイル名、ＲＴＬ記述における部品のインスタンス名、当該インスタンス名が記述されているＲＴＬ記述の行番号が含まれ、それぞれ対応付けられ記憶されている。この例では、ＲＴＬ記述のファイルｍａｉｎ．ｖにおける部品のインスタンス名のＩＮＳＴ＿５は、ＲＴＬ記述の１０４行目に対応付けられている。なお、ＲＴＬ内対応情報１２４には、この他に、階層情報や、加算器か減算器かレジスタかといった機能種別や、インスタンスの入力や出力の端子名や、ビット幅情報などがあってもよい。
【００８８】
図９（ｂ）に示すように、ゲート−ＲＴＬ対応情報１２５には、パス名、遅延レポートにおけるゲートのインスタンス名、ＲＴＬ記述のファイル名、ＲＴＬ記述における部品のインスタンス名及びＲＴＬ記述における部品のビット位置が含まれ、それぞれ対応付けられ記憶されている。ＲＴＬ記述の部品が多ビットレジスタの場合、ＲＴＬ記述の部品のビット位置に何ビット目のＦＦ（フリップフロップ）であるか記憶されている。この例では、パス名ｐａｔｈ１およびｐａｔｈ２におけるゲートのインスタンス名のＲＧ＿２８＿ｒｅｇ１は、ＲＴＬ記述のファイルｍａｉｎ．ｖにおける部品のインスタンス名のＲＧ＿２８及び部品のビット位置の１に対応付けられている。
【００８９】
なお、ゲートレベルで１ビット毎に分解されることのないインスタンスは、ビット位置を空欄等にする。例えば、図９（ｂ）では、ＲＴＬ記述の部品のインスタンス名がＩＮＳＴ＿４およびＩＮＳＴ＿５のインスタンスは、ゲートレベルでも１ビット毎に分解されることはないため、ＲＴＬ記述の部品のビット位置は斜線を引き空欄となっている。また、図９（ｂ）の例は、遅延レポートのゲートのインスタンス名とＲＴＬ記述の部品のインスタンス名とは１対１に対応しているが、１対多や多対１、あるいは、多対多に対応していてもよい。この場合、遅延レポートのゲートのインスタンス名やＲＴＬ記述の部品のインスタンス名の欄には、複数のインスタンスを列挙して表現する。あるいは、どの欄もインスタンスは１つとし、行を分けて表現するとしてもよい。また、ゲート−ＲＴＬ対応情報１２５には、ＲＴＬ記述の部品のビット位置の情報がなくともよい。この場合、ＲＴＬ記述の部品が多ビットレジスタなどの場合には、遅延レポートのゲートのインスタンス名とＲＴＬ記述の部品のインスタンス名とは、多対１に対応することになる。
【００９０】
次に、図１０を用いて、対応表示処理１１２の表示画面の例について説明する。図１０（ａ）は遅延レポートを表示する表示画面の例であり、図１０（ｂ）は図１０（ａ）の遅延レポートのパスの模式図である。
【００９１】
図１０（ａ）に示す表示画面１０００は、遅延レポート情報１２６を表示する遅延レポート表示１００１を備えている。図１０（ａ）の１０００は、ｐａｔｈ１というパスが１つだけ表示されているが、実際には、表示している位置の前後に複数のパスが同様の表示形式で並んでいる。対応表示処理１１２は、動作レベル記述情報１２１、ＲＴＬ記述情報１２２及び遅延レポート情報１２６を表示するため、図３で示した、表示画面３００とともに、表示画面１０００を表示する。表示画面３００と表示画面１０００は、１つのウィンドウとしてもよいし、別のウィンドウとして表示してもよい。また、表示画面３００と同様に、パス毎にタブ３０３を設けたり、検索などのメニュー３０４を設けてもよい。
【００９２】
ここで、遅延レポート表示１００１に表示される遅延レポートの内容について説明する。ｐａｔｈ１というパスは、図１０（ｂ）に示すように、階層ＩＮＳＴ＿２における、レジスタＲＧ＿２８の１ビット目からレジスタＲＧ＿２８の３１ビット目の間のパスであり、階層ＩＮＳＴ＿５及び階層ＩＮＳＴ＿４を経由している。ＲＧ＿２８はフリップフロップ（ＦＦ）である。この遅延レポートにおいて、ＩＮＳＴ＿２で始まる行は、このパスが経由するゲートもしくは階層の端子を示している。各行に含まれる”／”は、階層の区切りを示している。
【００９３】
例えば、遅延レポート表示１００１の上から４行目において、”ＩＮＳＴ＿２”は階層、”ＲＧ＿２８＿ｒｅｇ１”はインスタンス名、”Ｎ０１”はインスタンスの端子名、”ＴＢＤＦＨＡＸ１”は素子名を示している。さらに、”ＲＧ＿２８＿ｒｅｇ１”は、ＲＴＬ記述で”ＲＧ＿２８”という多ビットレジスタの１ビット目のＦＦ（フリップフロップ）を示している。ＲＴＬ上はＲＧ＿２８というインスタンス名を持つ多ビットレジスタは、ゲートでは、１ビットのＦＦに分解される。そのとき、ゲートのインスタンス名として、ＲＴＬのインスタンス名＋”＿ｒｅｇ”＋ビット位置、という名前が与えられた例である。
【００９４】
遅延レポート表示１００１の右端から２列目のＩｎｃｒの列は、素子毎の遅延時間を示しており、遅延レポート表示１００１の右端の１列目のＰａｔｈの列は、素子毎の遅延時間の累積値である。遅延時間の右の”ｒ”は信号の立上がりにおける遅延時間を示し、”ｆ”は信号の立下がりにおける遅延時間を示している。
【００９５】
画面下から９行目の”ｄａｔａ  ａｒｒｉｖａｌ  ｔｉｍｅ”は、このパス全体の遅延時間である。画面下から３行目の”ｄａｔａ  ｒｅｑｕｉｒｅｄ  ｔｉｍｅ”は、動作周波数から求めた基準遅延値である。画面下から１行目の”ｓｌａｃｋ”は、このパスの遅延時間が遅延違反か否か示している。”ｓｌａｃｋ”の右の”（ＭＥＴ）”は、パスの遅延時間値が基準遅延値の範囲内であり、遅延違反ではないことを示している。例えば、パスの遅延時間が基準遅延値を超えている場合、遅延違反となり、”ｓｌａｃｋ”の右の表示は”（ＶＩＯＬ）”となる。
【００９６】
次に、図１２に示すフローチャートを用いて、対応表示処理１１２について説明する。この処理は、図４で示した処理と同様に、制御部１１０において、対応表示処理１１２のプログラムにより実行される。尚、Ｓ１２０１からＳ１２０３は図４のＳ４０１からＳ４０３と、Ｓ１２０６は図４のＳ４０５と、それぞれ同様であり適宜説明を省略する。
【００９７】
まず、ユーザが対応情報を入力する（Ｓ１２０１）。ユーザにより、対応表示処理１１２の入力である動作レベル−ＲＴＬ対応情報１２３、ＲＴＬ内対応情報１２４、ゲート−ＲＴＬ対応情報１２５のファイル名等を入力する。この動作レベル−ＲＴＬ対応情報１２３、ＲＴＬ内対応情報１２４により、表示すべき動作レベル記述情報１２１、ＲＴＬ記述情報１２２を取得でき、ゲート−ＲＴＬ対応情報１２５により、遅延レポート情報１２６を取得することができる。また、ユーザにより、動作レベル記述情報１２１、ＲＴＬ記述情報１２２、遅延レポート情報１２６のファイル名等がそれぞれ入力されるとしてもよい。
【００９８】
次いで、動作レベル記述表示処理を実行し（Ｓ１２０２）、動作レベル記述表示３０１を表示する。次いで、ＲＴＬ記述表示処理を実行し（Ｓ１２０３）、ＲＴＬ記述表示３０２を表示する。
【００９９】
次いで、遅延レポート表示処理を実行する（Ｓ１２０４）。この処理により、遅延レポート情報１２６が、図１０で示した遅延レポート表示１００１に表示される。次いで、ユーザ入力処理を実行する（Ｓ１２０５）。この処理により、ユーザの選択に応じた対応表示が行われる。Ｓ１２０４及び１２０５の処理の詳細については、後述する。
【０１００】
次いで、終了指示が入力されているか判定する（Ｓ１２０６）。ユーザにより終了指示が入力されていない場合には、再度Ｓ１２０５を実行し、終了指示が入力されている場合には、当該処理を終了する。
【０１０１】
次に、図１２の遅延レポート表示処理（Ｓ１２０４）について、図１３に示すフローチャートを用いて説明する。この処理は、図１２で示した処理と同様に、制御部１１０において、対応表示処理１１２のプログラムにより実行される。
【０１０２】
遅延レポート表示処理では、遅延レポートをテキスト表示する（Ｓ１３０１）。この処理は図５のＳ５０１と同様である。Ｓ１２０１で取得した遅延レポート情報１２６を表示部１３０上の遅延レポート表示１００１に表示する。また、本実施形態における遅延レポート情報１２６は、記憶部１２０に蓄積されたバイナリ形式等の内部形式のため、各データをテキスト形式に変換したり、必要な文字列を加えて、図１０のように表示する。
【０１０３】
尚、図５や図６と同様に、遅延レポートのインスタンス名の対応先が存在する行について下線を引いてもよい。
【０１０４】
次に、図１２のユーザ入力処理（Ｓ１２０５）について、図１４に示すフローチャートを用いて説明する。この処理は、図１２で示した処理と同様に、制御部１１０において、対応表示処理１１２のプログラムにより実行される。Ｓ１４０１からＳ１４０７は、図７のＳ７０１からＳ７０７とそれぞれ同様であり、説明を省略する。
【０１０５】
Ｓ１４０１で遅延レポート表示１００１が選択された場合、遅延レポート中の選択されたパスに含まれるインスタンス名を全て取得する（Ｓ１４０８）。
【０１０６】
次いで、取得したインスタンス名に対応するＲＴＬ記述のインスタンス名を検索する（Ｓ１４０９）。Ｓ１４０８で取得したインスタンス名のそれぞれについて、ゲート−ＲＴＬ対応情報１２５に含まれる遅延レポートのゲートのインスタンス名を検索し、遅延レポートのゲートのインスタンス名に対応するＲＴＬ記述の部品のインスタンス名を決定する。
【０１０７】
次いで、取得したインスタンス名に対応するＲＴＬ記述の行番号を検索する（Ｓ１４１０）。Ｓ１４０９で検索し決定したインスタンス名のそれぞれについて、ＲＴＬ内対応情報１２４に含まれるＲＴＬ記述の部品のインスタンス名を検索し、ＲＴＬ記述の部品のインスタンス名に対応するＲＴＬ記述の行番号を決定する。
【０１０８】
次いで、ＲＴＬ記述表示上の該当する行を全て強調表示する（Ｓ１４１１）。図７のＳ７０４と同様に、Ｓ１４１０で検索し決定したＲＴＬ記述情報１２２の行番号に基づいて、ＲＴＬ記述表示３０２において、該当する全ての行を強調表示する。尚、このとき、強調表示するＲＴＬ記述情報１２２の行に対応する動作レベル記述情報１２１について、該当する動作レベル記述表示３０１をさらに強調表示してもよい。
【０１０９】
このような方法により、ユーザの選択に応じて、動作レベル記述に対応するＲＴＬ記述及び遅延レポート、ＲＴＬ記述に対応する動作レベル記述及び遅延レポート、遅延レポートに対応する動作レベル記述及びＲＴＬ記述を表示することができ、遅延違反となっている個所を容易に特定することができる。したがって、遅延違反の個所を効率よく修正することができる。
【０１１０】
発明の実施の形態３．
次に、図１５に示すブロック図を用いて、本発明の実施の形態３にかかる回路設計支援システムの構成について説明する。この回路設計支援システム１００は、図８における、動作レベル−ＲＴＬ対応情報１２３、ＲＴＬ内対応情報１２４、ゲート−ＲＴＬ対応情報１２５に代えて、動作レベル−ＲＴＬ対応情報１２７とゲート−動作レベル対応情報１２８を有している。
【０１１１】
動作レベル−ＲＴＬ対応情報１２７は、図８等の動作レベル−ＲＴＬ対応情報１２３と異なり、ＲＴＬ記述の部品のインスタンス名と動作レベル記述の行番号の対応情報であり、動作合成処理１１１により生成され、記憶部１２０に記憶されている。データ構造については、後述する。
【０１１２】
ゲート−動作レベル対応情報１２８は、遅延レポートのゲートのインスタンス名と動作レベル記述の行番号の対応情報であり、論理合成処理１１３により生成され、記憶部１２０に記憶されている。データ構造については、後述する。
【０１１３】
本実施形態における動作合成処理１１１は、動作レベル記述情報１２１を動作合成する際に、ＲＴＬ記述情報１２２と動作レベル−ＲＴＬ対応情報１２７を作成し、記憶部１２０に格納する。
【０１１４】
本実施形態における論理合成処理１１３は、ＲＴＬ記述情報１２２に加えて、動作レベル−ＲＴＬ対応情報１２７を入力し、論理合成により、遅延レポート情報１２６、ゲート−動作レベル対応情報１２８を作成し、記憶部１２０に格納する。
【０１１５】
本実施形態における対応表示処理１１２は、動作レベル記述情報１２１、遅延レポート情報１２６、ゲート−動作レベル対応情報１２８を入力し、動作レベル記述と遅延レポートを対応付けて、表示部１３０に表示する。詳細な動作については、後述する。
【０１１６】
次に、図１６を用いて、動作レベル−ＲＴＬ対応情報１２７及びゲート−動作レベル対応情報１２８のデータ構造について説明する。図１６（ａ）は、動作レベル−ＲＴＬ対応情報１２７のデータの例を示し、図１６（ｂ）は、ゲート−動作レベル対応情報１２８のデータの例を示している。
【０１１７】
図１６（ａ）に示すように、動作レベル−ＲＴＬ対応情報１２７には、ＲＴＬ記述のファイル名、ＲＴＬ記述の部品のインスタンス名、動作レベル記述のファイル名、動作レベル記述の行番号が含まれ、それぞれ対応付けられている。この例では、ＲＴＬ記述のファイルｍａｉｎ．ｖにおける部品のインスタンス名のＩＮＳＴ＿５は、動作レベル記述のファイルｍａｉｎ．ｃの４４行目に対応付けられている。
【０１１８】
図１６（ｂ）に示すように、ゲート−動作レベル対応情報１２８には、遅延レポートのパス名、遅延レポートのゲートのインスタンス名、動作レベル記述のファイル名、動作レベル記述の行番号が含まれ、それぞれ対応付けられている。この例では、遅延レポートのパスｐａｔｈ１およびｐａｔｈ２におけるゲートのインスタンス名のＲＧ＿２８＿ｒｅｇ１は、動作レベル記述のファイルｍａｉｎ．ｃの１０および８５行目に対応している。
【０１１９】
ここで、本実施形態にかかる対応表示処理１１２は、動作レベル記述情報１２１と遅延レポート情報１２６とを対応付けて表示するため、この処理の表示画面は、図３、図１０のうちの動作レベル記述表示３０１と遅延レポート表示１００１となる。
【０１２０】
また、対応表示処理１１２の処理は、図１２で示したフローチャートのうちの、動作レベル記述情報１２１と遅延レポート情報１２６に関する処理、Ｓ１２０１、Ｓ１２０２、Ｓ１２０４、Ｓ１２０５及びＳ１２０６となる。
【０１２１】
ここでは、この処理におけるユーザ入力処理（Ｓ１２０５）について、図１７に示すフローチャートを用いて説明する。この処理は、図１４等で示した処理と同様に、制御部１１０において、対応表示処理１１２のプログラムにより実行される。尚、Ｓ１７０１からＳ１７０２は図１４のＳ１４０１からＳ１４０２と同様であり、Ｓ１７０５は図１４のＳ１４０８と同様であり、Ｓ１７０７は、図１４のＳ１４０７と同様であり、それぞれ適宜説明を省略する。Ｓ１７０３は、図１６（ｂ）のゲート−動作レベル対応情報１２８を用いて、動作レベル記述の行番号から、パス名と遅延レポートのゲートのインスタンス名とを検索する（詳細は後述）。Ｓ１７０４は、遅延レポート表示１００１の該当する行を全て協調表示する（詳細は後述）。Ｓ１７０６は、図１６（ｂ）のゲート−動作レベル対応情報１２８を用いて、パス名と遅延レポートのゲートのインスタンス名とから、動作レベル記述の行番号を検索する（詳細は後述）。
【０１２２】
まず、どの表示をユーザが選択したか判定し（Ｓ１７０１）、ユーザの選択した個所によりＳ１７０２又はＳ１７０５が実行される。Ｓ１７０１で動作レベル記述表示３０１が選択された場合、選択された行番号を取得する（Ｓ１７０２）。
【０１２３】
次いで、選択された行番号に対応する遅延レポートの行番号を検索する（Ｓ１７０３）。ゲート−動作レベル対応情報１２８に含まれる動作レベル記述情報１２１の行番号から、Ｓ１７０２で取得した行番号を検索し、当該行に対応するパス名と遅延レポートのゲートのインスタンス名とを全て決定する。
【０１２４】
次いで、遅延レポート表示１００１上の該当する行を全て強調表示する（Ｓ１７０４）。Ｓ１７０３で検索し決定したパス名および遅延レポートのゲートのインスタンス名に基づいて、遅延レポート情報１２６を検索し、遅延レポート表示１００１において、該当する全ての行について、強調表示する。
【０１２５】
Ｓ１７０１で遅延レポート表示１００１が選択された場合、遅延レポート中の選択されたパスのインスタンス名を全て取得する（Ｓ１７０５）。
【０１２６】
次いで、取得したインスタンス名に対応する動作レベル記述の行番号を検索する（Ｓ１７０６）。Ｓ１７０５で取得したインスタンス名のそれぞれについて、ゲート−動作レベル対応情報１２８から、選択されたパスに含まれる遅延レポートのゲートのインスタンス名を検索し、当該パス中の当該インスタンス名に対応する動作レベル記述情報１２１の行番号を全て取得する。
【０１２７】
次いで、動作レベル記述表示上の該当する行を全て強調表示する（Ｓ１７０７）。Ｓ１７０６で検索し決定した動作レベル記述情報１２１の行番号に基づいて、動作レベル記述表示３０１において、該当する全ての行を強調表示する。
【０１２８】
このような方法により、ユーザの選択に応じて、動作レベル記述に対応する遅延レポート、遅延レポートに対応する動作レベル記述を、ＲＴＬ記述を介さずに、表示することができ、遅延違反となっている箇所を容易に特定することができる。また、対応表示処理に必要な対応情報が、ゲート−動作レベル対応情報１２８のみでよいため、データ容量を小さくすることができる。
【０１２９】
発明の実施の形態４．
次に、図１８に示すブロック図を用いて、本発明の実施の形態４にかかる回路設計支援システムの構成について説明する。この回路設計支援システム１００は、図８における、制御部１１０には、論理合成処理１１３の代わりに、遅延レポート解析処理１１４を有し、記憶部１２０には、ゲート−ＲＴＬ対応情報１２５の代わりに、遅延レポート解析情報１２９を有している。
【０１３０】
遅延レポート解析情報１２９は、遅延レポート情報１２６をテキスト解析するための規則等の情報であり、ユーザにより入力され、記憶部１２０に記憶されている。データ構造については、後述する。
【０１３１】
本実施形態における遅延レポート情報１２６は、図８の遅延レポート情報と情報の内容は同じであるが、本システム（あるいは、本プログラム）とは別のシステム（あるいは、別のプログラム）から得られたものを、ファイルのコピー等の手段により記憶部１２０に入力したものである。そのため、記憶されている形式が異なり、ここでは、テキスト形式のファイルである例について述べる。遅延レポート情報１２６は、図示しないＳＴＡ（static timing analysis）等の他のツールや、他のシステムにより、遅延解析され生成されたものである。
【０１３２】
遅延レポート解析処理１１４は、遅延レポート情報１２６、遅延レポート解析情報１２９、ＲＴＬ内対応情報１２４を入力し、遅延レポート解析情報１２９に基づいて遅延レポート情報１２６のテキスト解析を行い、解析結果を対応表示処理１１２に出力する。
【０１３３】
本実施形態における対応表示処理１１２は、動作レベル記述情報１２１、ＲＴＬ記述情報１２２、動作レベル−ＲＴＬ対応情報１２３に加えて、遅延レポート解析処理１１４の解析結果を入力し、動作レベル記述、ＲＴＬ記述及び遅延レポートを対応付けて、表示部１３０に表示する。詳細な動作については、後述する。
【０１３４】
次に、図１９を用いて、遅延レポート解析情報１２９のデータ構造について説明する。図に示すように、遅延レポート解析情報１２９は、例えば、バス展開規則、階層区切り規則、インスタンス名リネーム規則、着目すべき階層規則等を有している。
【０１３５】
バス展開規則の”％ｓ％ｄ”は、インスタンス名を文字列と１０進数の数値で区切り、数値をバスのビット番号とすることを示している。階層区切り規則の”／、＄”は、／又は＄で区切られた文字列を階層とすることを示している。
【０１３６】
インスタンス名リネーム規則の”＿ｒｅｇ”は、この文字列を消去した文字列がＲＴＬ記述のインスタンス名となる可能性があることを示している。なお、インスタンス名リネーム規則には、文字列を複数列挙してもよい。また、文字列でなく正規表現等で表現されていてもよい。着目すべき階層規則の”ｌｅｖｅｌ２”は、上から２番目の階層以下の階層を解析対象とすることを示している。
【０１３７】
ここで、本実施形態にかかる対応表示処理１１２は、動作レベル記述情報１２１、ＲＴＬ記述情報１２２及び遅延レポート情報１２６とを対応付けて表示するため、この処理の表示画面は、図３、図１０と同様である。
【０１３８】
本実施形態では、図１０の他に図１１に示す遅延レポート表示１００１を表示することもできる。図１０と同様に、図１１（ａ）は遅延レポートを表示する表示画面の例であり、図１１（ｂ）は図１１（ａ）の遅延レポートのパスの模式図である。この例では、図１１（ａ）及び（ｂ）に示すように、遅延レポートのパスにおいて、階層ＩＮＳＴ＿２の上位に階層ＴＯＰが設けられており、遅延レポートにおける階層の区切りとして、"／"の他に"＄"が用いられている。
【０１３９】
また、対応表示処理１１２の処理は、図１２で示したフローチャートと同様である。なお、遅延レポート表示処理Ｓ１２０４のフローチャートは、図１３と同様であるが、遅延レポート情報１２６はテキスト形式であるため、Ｓ１３０１の処理では、テキスト形式の遅延レポートをそのまま表示すればよい。ここでは、この処理におけるユーザ入力処理（Ｓ１２０５）について、図２０に示すフローチャートを用いて説明する。この処理は、図１４等で示した処理と同様に、制御部１１０において、対応表示処理１１２のプログラムにより実行される。
【０１４０】
尚、Ｓ２００１からＳ２００７は、図１４のＳ１４０１からＳ１４０７と同様であり、説明を省略する。Ｓ２００８は図１４のＳ１４０８と、Ｓ２０１１は図１４のＳ１４１１と、同様であり適宜説明を省略する。なお、図１４では、Ｓ１４０８で取得したゲートのインスタンス名を、Ｓ１４０９でゲート−ＲＴＬ対応情報１２５を使ってＲＴＬ記述のインスタンス名に変換していたが、図２０では、この２つの処理をＳ２００９にて、一括して行う。
【０１４１】
Ｓ２００１で遅延レポート表示が選択された場合、遅延レポート解析情報１２９を用いて遅延レポート中の選択されたパスを解析し、ＲＴＬのインスタンス名を推定する（Ｓ２００９）。この処理により、選択されたパスから、ＲＴＬのインスタンス名の候補を全て列挙することができる。処理の詳細については、後述する。
【０１４２】
次いで、取得したインスタンス名の候補に対応するＲＴＬ記述の行番号を検索する（Ｓ２０１０）。Ｓ２０１０では、ＲＴＬのインスタンス名の候補の中から、ＲＴＬ内対応情報１２４のＲＴＬ記述の部品のインスタンス名と一致するものを見つけ、一致したインスタンスのＲＴＬ記述上の行番号をＳ２０１１へ渡す。次いで、ＲＴＬ記述表示上の該当する行を全て強調表示する（Ｓ２０１１）。
【０１４３】
次に、図２０の遅延レポート解析処理（Ｓ２００９）について、図２１に示すフローチャートを用いて説明する。この処理は、図２２の遅延レポート解析処理１１４の処理であり、図２０で示した処理と同様に、制御部１１０において、対応表示処理１１２のプログラムにより実行される。ここでは、遅延レポート情報１２６を図１１に示した遅延レポートとし、遅延レポート解析情報１２９を図１９で示した情報として、説明する。
【０１４４】
まず、階層区切り規則により、選択されたパスを解析する（Ｓ２１０１）。遅延レポート解析情報１２９の階層区切り規則に従い、遅延レポート情報１２６の各行を分割し、分割された文字列を階層とする。ここでは、階層区切り規則が”／、＄”であるため、図１１の”ＩＮＳＴ＿２”や”ＩＮＳＴ＿４”等が階層であると解析される。
【０１４５】
また、下から２番目の階層をゲートのインスタンスと認識し、一番下の階層を、そのインスタンスの端子と認識する。例えば、ＴＯＰ／ＩＮＳＴ＿２＄ＲＧ＿２８＿ｒｅｇ１＄Ｈ０２の場合、ＲＧ＿２８＿ｒｅｇ１を、階層ＩＮＳＴ＿２直下にあるインスタンスと認識し、Ｈ０２は、ＲＧ＿２８＿ｒｅｇ１の端子と認識する。
【０１４６】
次いで、着目すべき階層規則により、選択されたパスを解析する（Ｓ２１０２）。着目すべき階層規則の階層以下を解析対象とする。ここでは、着目すべき階層規則が”ｌｅｖｅｌ２”であるため、最上位の階層の文字列を消去したときに、さらにその下に２階層以上残っているもののみを対象とする。図１１では、階層ＩＮＳＴ＿２以下に２階層以上あるものだけが、以降の解析対象となる。
【０１４７】
次いで、バス展開規則により、Ｓ２１０２で解析対象とした部分パスを解析して、もとの（ＲＴＬ記述における）インスタンス名を推定する（Ｓ２１０３）。まず、Ｓ２１０２で解析対象として残った部分パスのうち、Ｓ２１０１でインスタンス名と認識した文字列を取得し、この文字列を、インスタンス名とビット位置とに分割する。ここでは、バス展開規則が”％ｓ％ｄ”であるため、文字列と１０進数で区切られ、文字列の最後の一文字をバスのビット番号とし、残りの文字列をインスタンス名とする。例えば、”ＲＧ＿２８＿ｒｅｇ１”という文字列は、ＲＧ＿２８＿ｒｅｇというインスタンス名で、ビット位置は１と解析される。
【０１４８】
なお、解析結果が一意に決まらない場合もある。例えば、”ＲＧ＿２８＿ｒｅｇ３１”は、ＲＧ＿２８＿ｒｅｇ３というインスタンス名で、ビット位置は１であるとも、ＲＧ＿２８＿ｒｅｇというインスタンス名で、ビット位置は３１であるとも、推定できる。また、もともとビット幅を持たないインスタンスである可能性もあり、ＲＧ＿２８＿ｒｅｇ３１というインスタンス名であるとも推定できる。これらの候補を全て列挙し、次のインスタンス名リネーム規則でさらに推定を進める。
【０１４９】
次いで、インスタンス名リネーム規則により、インスタンス名の候補を解析して、もとの（ＲＴＬ記述における）インスタンス名を推定する（Ｓ２１０４）。インスタンス名リネーム規則の文字列を、当該文字列から消去した候補を新たに作る。ここでは、インスタンス名リネーム規則が”＿ｒｅｇ”であるため、インスタンス名からこの文字列を消去した文字列も候補に加える。例えば、ＲＧ＿２８＿ｒｅｇというインスタンス名から、ＲＧ＿２８というインスタンス名を作り、候補に加える。
【０１５０】
なお、Ｓ２０１０では、ＲＴＬ内対応情報を使って、ここまでで得られた候補から、ＲＴＬ記述のインスタンス名として存在するもののみに絞り込む。例えば、図１１のｐａｔｈ１からは、ＲＧ＿２８＿ｒｅｇ１、ＲＧ＿２８＿ｒｅｇ、ＲＧ＿２８、ＩＮＳＴ＿５、ＩＮＳＴ＿、ａｄｄ＿２３５３、ａｄｄ＿２３５、ａｄｄ＿２３、ａｄｄ＿２、ａｄｄ＿、Ｕ１＿１、Ｕ１＿、Ｕ１＿３１、Ｕ１＿３、ＩＮＳＴ＿４、ａｄｄ＿２３４４、ａｄｄ＿２３４、Ｕ１＿２、Ｕ１８００８、Ｕ１８００、Ｕ１８０、Ｕ１８、Ｕ１、Ｕ１６３０４、Ｕ１６３０、Ｕ１６３、Ｕ１６、Ｕ１７５０４、Ｕ１７５０、Ｕ１７５、Ｕ１７、ＲＧ＿２８＿ｒｅｇ３１、ＲＧ＿２８＿ｒｅｇ３が候補として得られる。これら候補のうち、ＲＧ＿２８、ＩＮＳＴ＿５、ＩＮＳＴ＿４などが、図９（ａ）のＲＴＬ内対応情報１２４のＲＴＬ記述のインスタンス名とマッチすることが分かる。同時に、これらのインスタンスに対するＲＴＬ記述のファイル名やＲＴＬ記述の行番号が、ＲＴＬ内対応情報１２４から得られる。
【０１５１】
以上より、遅延レポート解析処理１１４から、ゲート−ＲＴＬ対応情報相当の情報が得られ、対応表示処理１１２へと渡される。
【０１５２】
このような方法により、ユーザの選択に応じて、動作レベル記述に対応するＲＴＬ記述及び遅延レポート、ＲＴＬ記述に対応する動作レベル記述及び遅延レポート、遅延レポートに対応する動作レベル記述及びＲＴＬ記述を表示することができる。特に、テキスト形式の遅延レポートを解析するため、論理合成による遅延レポートに限らず、レイアウト後のＳＴＡ等による遅延レポートについても、動作レベル記述、ＲＴＬ記述と対応付けて表示することができる。
【０１５３】
なお、以上で例として示した遅延レポート解析処理Ｓ２００９の処理は、遅延レポート解析情報が、バス展開規則、階層区切り規則、インスタンス名リネーム規則、着目すべき階層規則を有している場合であったが、いずれか１つ以上の規則がないとしてもよい。その場合には、対応する規則を用いた処理のみが省かれて、候補が列挙される。また、バス展開規則、階層区切り規則、インスタンス名リネーム規則、着目すべき階層規則以外の規則があってもよい。その場合には、当該規則に対応した処理が新たに付け加えられて、候補が列挙される。
【０１５４】
発明の実施の形態５．
次に、図２２のブロック図を用いて、本発明の実施の形態５にかかる回路設計支援システムの構成について説明する。この回路設計支援システム１００は、図１８の構成に加えて、記憶部１２０にゲート−ＲＴＬ対応情報１２５を有している。
【０１５５】
本実施形態におけるゲート−ＲＴＬ対応情報１２５は、情報の内容については、図８等と同様であるが、論理合成処理により生成されたものではなく、ユーザによって入力されたものである。
【０１５６】
その他、画面表示や処理については、実施形態４と同様である。尚、制御部１１０に論理合成処理を設けて、ゲート−ＲＴＬ対応情報１２５を作成してもよい。
【０１５７】
このような方法により、遅延レポート情報がテキスト形式であり、ＲＴＬの部品のインスタンス名が遅延レポートのゲートのインスタンス名と単純に対応していない場合でも、ユーザの選択に応じて、動作レベル記述に対応するＲＴＬ記述及び遅延レポート、ＲＴＬ記述に対応する動作レベル記述及び遅延レポート、遅延レポートに対応する動作レベル記述及びＲＴＬ記述を容易に表示することができる。したがって、様々な論理合成ツールやレイアウト設計ツールなどから得られる遅延レポートから、所望のパスを選択して、動作レベル、ＲＴＬ記述と対応付けて表示することができる。
【０１５８】
その他の発明の実施の形態．
尚、上述の例では、対応表示処理に遅延レポートを入力しているが、論理合成の出力であるゲートネットリストを対応表示処理１１２の入力としてもよい。これにより、動作レベル記述とＲＴＬ記述、ゲートネットリストを対応付けて表示することができる。
【０１５９】
上述の例では、動作レベル記述として、Ｃ言語で記述した例を用いたが、本発明は、動作レベル記述の言語に依存するものではない。すなわち、Ｃ言語の代わりに、Ｃ＋＋やＳｙｓｔｅｍＣ、ＳｐｅｃＣ、ＡＮＳＩ−Ｃ、それらの派生言語、ＳｙｓｔｅｍＶｅｒｉｌｏｇなどであっても良い。また、ＲＴＬ記述と同じＶｅｒｉｌｏｇやＶＨＤＬなどの言語を、動作レベル記述として用いた場合でも、本発明の有効性に変わりはない。
【０１６０】
また、上述の対応表示処理１１２の起動時に、図２３に示す、統計表示画面を表示してもよい。この表示画面２３００では、遅延レポートのパス毎に、遅延時間を棒グラフ２３０１で表示している。これにより、どのパスが遅延違反となっているか、明確にすることができる。また、パスの経路を示す部分がボタン２３０２となっており、このボタン２３０２をクリックすることにより、上述の対応表示の表示画面３００等を表示してもよい。
【０１６１】
上述した回路設計支援システム１００を実現するためのハードウェア構成の例を図２４に示す。回路設計支援システム１００は、典型的なコンピュータ・システムが利用可能であり、中央処理装置（ＣＰＵ）２０１とメモリ２０４とを含んでいる。
【０１６２】
ＣＰＵ２０１とメモリ２０４とは、バスを介して補助記憶装置としてのハードディスク装置２１３に接続される。フレキシブルディスク装置２２０、ハードディスク装置２１３・２３０、ＣＤ−ＲＯＭドライブ２２６・２２９、ＭＯドライブ２２８等の記憶媒体駆動装置は、フレキシブルディスク・コントローラ２１９、ＩＤＥコントローラ２２５、ＳＣＳＩコントローラ２２７等の各種コントローラを介してバスに接続される。フレキシブルディスク装置２２０等の記憶媒体駆動装置には、フレキシブルディスク等の可搬型記憶媒体が挿入される。
【０１６３】
記憶媒体にはオペレーティングシステムと共同してＣＰＵ２０１等に命令を与え、回路設計支援システム１００の機能を実施するためのコンピュータ・プログラムを記憶することができる。コンピュータ・プログラムは、メモリ２０４にロードされることによって実行される。コンピュータ・プログラムは圧縮し、又、複数に分割して記憶媒体に記憶することができる。ハードウェア構成は、典型的には、ユーザ・インターフェース・ハードウェアを備える。
【０１６４】
ユーザ・インターフェース・ハードウェアとしては、例えば、入力をするためのポインティングデバイス（マウス２０７、ジョイスティック等）やキーボード２０６、あるいは、視覚データをユーザに提示するための液晶ディスプレイなどの表示装置２１１やＣＲＴディスプレイ２１２がある。
【０１６５】
また、パラレルポート２１６を介してプリンタを接続するも可能である。このコンピュータ・システムは、シリアルポート２１５を介してモデムを接続することが可能であり、シリアルポート２１５およびモデムまたはトークンリングや通信アダプタ２１８等を介してネットワークに接続し、他のコンピュータ・システムと通信を行っている。尚、上記構成は必要に応じて省略することができる。
【０１６６】
上述のように、本発明により、動作合成を用いて設計した回路に対して、論理合成後のレポートや、レイアウト後のＳＴＡのレポートで、遅延違反が検出されたパスを、もとの動作レベル記述にさかのぼって確認／修正する際の作業が、迅速かつ容易に進めることができる。また、動作合成を用いて回路設計する際に、動作レベル記述の特定個所が、どのようなＲＴＬ記述として実現されるか確認でき、どのような動作レベル記述をするとどのようなＲＴＬ記述になるかなどを確認することもできる。
【図面の簡単な説明】
【０１６７】
【図１】本発明にかかる回路設計支援システムの機能ブロック図である。
【図２】本発明にかかる表示処理で用いるデータの構成を示す図である。
【図３】本発明にかかる表示処理における画面表示例を示す図である。
【図４】本発明にかかる表示処理の動作を示すフローチャートである。
【図５】本発明にかかる動作レベル記述表示処理の動作を示すフローチャートである。
【図６】本発明にかかるＲＴＬ記述表示処理の動作を示すフローチャートである。
【図７】本発明にかかるユーザ入力処理の動作を示すフローチャートである。
【図８】本発明にかかる回路設計支援システムの機能ブロック図である。
【図９】本発明にかかる表示処理で用いるデータの構成を示す図である。
【図１０】本発明にかかる表示処理における画面表示例を示す図である。
【図１１】本発明にかかる表示処理における画面表示例を示す図である。
【図１２】本発明にかかる表示処理の動作を示すフローチャートである。
【図１３】本発明にかかる遅延レポート表示処理の動作を示すフローチャートである。
【図１４】本発明にかかるユーザ入力処理の動作を示すフローチャートである。
【図１５】本発明にかかる回路設計支援システムの機能ブロック図である。
【図１６】本発明にかかる表示処理で用いるデータの構成を示す図である。
【図１７】本発明にかかるユーザ入力処理の動作を示すフローチャートである。
【図１８】本発明にかかる回路設計支援システムの機能ブロック図である。
【図１９】本発明にかかる表示処理で用いるデータの構成を示す図である。
【図２０】本発明にかかるユーザ入力処理の動作を示すフローチャートである。
【図２１】本発明にかかる遅延レポート解析処理の動作を示すフローチャートである。
【図２２】本発明にかかる回路設計支援システムの機能ブロック図である。
【図２３】本発明にかかる表示処理における画面表示例を示す図である。
【図２４】本発明にかかる回路設計支援システムのハードウェア構成図である。
【図２５】従来の回路設計支援システムの機能ブロック図である。
【符号の説明】
【０１６８】
１００  回路設計支援システム
１１０  制御部  １１１  動作合成処理  １１２  対応表示処理
１１３  論理合成処理  １２０  記憶部  １２１  動作レベル記述情報
１２２  ＲＴＬ記述情報  １２３  動作レベル−ＲＴＬ対応情報
１２４  ＲＴＬ内対応情報  １２５  ゲート−ＲＴＬ対応情報
１２６  遅延レポート情報  １３０  表示部  １４０  入力部
【図１】
2005242812.tif 000003
【図２】
2005242812.tif 000004
【図３】
2005242812.tif 000005
【図４】
2005242812.tif 000006
【図５】
2005242812.tif 000007
【図６】
2005242812.tif 000008
【図７】
2005242812.tif 000009
【図８】
2005242812.tif 000010
【図９】
2005242812.tif 000011
【図１０】
2005242812.tif 000012
【図１１】
2005242812.tif 000013
【図１２】
2005242812.tif 000014
【図１３】
2005242812.tif 000015
【図１４】
2005242812.tif 000016
【図１５】
2005242812.tif 000017
【図１６】
2005242812.tif 000018
【図１７】
2005242812.tif 000019
【図１８】
2005242812.tif 000020
【図１９】
2005242812.tif 000021
【図２０】
2005242812.tif 000022
【図２１】
2005242812.tif 000023
【図２２】
2005242812.tif 000024
【図２３】
2005242812.tif 000025
【図２４】
2005242812.tif 000026
【図２５】
2005242812.tif 000027