JP2005242812A - 回路設計支援システム、回路設計支援方法及びプログラム - Google Patents
回路設計支援システム、回路設計支援方法及びプログラム Download PDFInfo
- Publication number
- JP2005242812A JP2005242812A JP2004053481A JP2004053481A JP2005242812A JP 2005242812 A JP2005242812 A JP 2005242812A JP 2004053481 A JP2004053481 A JP 2004053481A JP 2004053481 A JP2004053481 A JP 2004053481A JP 2005242812 A JP2005242812 A JP 2005242812A
- Authority
- JP
- Japan
- Prior art keywords
- information
- level description
- rtl
- description information
- correspondence
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit 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
【課題】
動作レベル記述の回路情報を用いた設計において、設計効率を向上できるプログラムを提供すること。
【解決手段】
本発明にかかるプログラムは、回路設計における各設計レベルに応じて記述された回路の情報を表示する処理をコンピュータに実行させるプログラムであって、動作レベル記述情報121を取得するステップと、RTL記述情報122を取得するステップと、動作レベル−RTL対応情報123を取得するステップと、動作レベル−RTL対応情報123に基づいて、動作レベル記述情報121の行とRTL記述情報122の行とを対応付けて表示するステップと、を備えるものである。
【選択図】 図1
動作レベル記述の回路情報を用いた設計において、設計効率を向上できるプログラムを提供すること。
【解決手段】
本発明にかかるプログラムは、回路設計における各設計レベルに応じて記述された回路の情報を表示する処理をコンピュータに実行させるプログラムであって、動作レベル記述情報121を取得するステップと、RTL記述情報122を取得するステップと、動作レベル−RTL対応情報123を取得するステップと、動作レベル−RTL対応情報123に基づいて、動作レベル記述情報121の行とRTL記述情報122の行とを対応付けて表示するステップと、を備えるものである。
【選択図】 図1
Description
本発明は、回路設計支援システムに関し、特に、各設計レベルの記述により記述された回路情報を表示する回路設計支援システムに関する。
LSI等の半導体回路は、システム設計、機能設計、論理設計、レイアウト設計等の一連の設計工程を経た後、製造工程により製造される。このような一連の設計工程では、大規模集積回路の設計に対応するため、各種の設計支援システムやプログラムが用いられている。
各設計工程の設計レベルでは、その構成内容を明確化するために最適な記述方法がとられている。例えば、機能設計においては、動作レベル記述、機能レベル記述、論理設計においては、ゲートレベル記述、トランジスタレベル記述により記述された回路情報を用いて設計が行われている。
従来、機能レベル記述であるRTL(Register Transfer Level)記述を、設計者が「Verilog−HDL(Verilog Hardware Description Language)」や「VHDL(VHSIC Hardware Description Language)」等により記述し、これを論理合成によりゲートレベル記述に変換する手法が用いられている。近年、設計効率向上を図るため、設計者が動作レベル記述をC言語等により記述し、これを動作合成ツールによりRTL記述に変換する手法が注目されている(例えば、非特許文献1参照)。
論理合成では、各ゲートの動作がシミュレーション等により遅延解析され、入力端子あるいは記憶素子を始点とし、出力端子あるいは記憶素子を終点とするパス毎の処理時間である遅延時間が遅延レポートとして出力される。この遅延時間が設計基準値を超えている場合、遅延違反として、RTL記述を修正しなければならない。しかし、遅延レポートから遅延違反しているパスやゲートに対応するRTL記述を識別するのが困難であるという問題がある。そこで、遅延レポートとRTL記述を対応付ける方法が知られている(例えば、特許文献1参照)。
図25に、従来の回路設計支援システムの構成例を示す。この回路設計支援システム2500は、制御部2510、記憶部2520、表示部2530及び入力部2540を備えている。制御部2510は、論理合成処理2511、遅延解析処理2512及び対応表示処理2513を有しており、記憶部2520は、RTL記述情報2521、経路情報2522、論理回路情報2523、遅延レポート情報2524及び対応情報2525を有している。
例えば、RTL記述の回路情報であるRTL記述情報2521は、設計者により入力部2540を介して入力され、記憶部2520に記憶する。同様に設計者により入力され、遅延解析するパスの経路の始点及び終点の情報である経路情報2522が記憶部2520に記憶する。
論理合成処理2511において、RTL記述情報2521及び経路情報2522に基づいて、当該経路のゲートレベル記述の回路情報である論理回路情報2523を生成し、記憶部2520に記憶するとともに、RTL記述情報2521と論理回路情報2523との対応関係を示す対応情報2525を作成し、記憶部2520に記憶する。
遅延解析処理2512において、論理回路情報2523に基づいて、当該論理回路の遅延解析を行い遅延レポート情報2524を作成し、記憶部2520に記憶する。
対応表示処理2513において、RTL記述情報2521、遅延レポート情報2524、対応情報2525に基づいて、遅延しているゲートに対応するRTL記述を表示部2530に表示する。これにより、RTL記述の修正すべき箇所を明確にすることができる。
しかしながら、従来の回路設計支援システム2500を用いて、動作レベル記述を動作合成してRTL記述を生成し、設計を行った場合、動作合成前後の動作レベル記述とRTL記述との対応をとる手段がないため、各々の記述をエディタ等で開き、対応関係を設計者が推測しながら確認していた。
このように、従来の方法では、動作合成を用いて設計した回路に対して、論理合成後の遅延解析によって遅延違反が検出された場合、遅延違反となっているパスに該当するRTL記述は表示できても、動作レベル記述までは表示することはできなかった。このため、動作合成により生成されたRTL記述からもとの動作レベル記述へと対応をとるためには、煩雑な手作業が必要となり、作業に時間がかかり、作業に慣れていない者には困難である、という問題があった。
また、従来の方法では、レイアウト設計後に遅延解析して初めて検出される遅延違反(例えば、論理合成では発生していなかったが、配線を考慮すると遅延が長くなってしまうケース等)が検出された場合、そのパスに該当するRTL記述を表示する手段も、動作レベル記述を表示する手段も、提供することはできない、という問題があった。
さらに、従来の方法では、動作合成前後の動作レベル記述とRTL記述との対応関係を推測しながら確認していたため、作業に時間がかかる他に、誤った対応付けをしてしまう、などの問題があった。
ジョバンニ・デ・ミケリ(Giovanni De Micheli)著、「シンセサイズ・アンド・オプティマイゼイション・オブ・デジタル・サーキッツ(SYNTHESIS AND OPTIMIZATION OF DIGITAL CIRCUITS)」、(米国)、マックグロウ−ヒル インク(McGraw-Hill, Inc.)、1994年、p.141−266 特開平5−242183号公報
ジョバンニ・デ・ミケリ(Giovanni De Micheli)著、「シンセサイズ・アンド・オプティマイゼイション・オブ・デジタル・サーキッツ(SYNTHESIS AND OPTIMIZATION OF DIGITAL CIRCUITS)」、(米国)、マックグロウ−ヒル インク(McGraw-Hill, Inc.)、1994年、p.141−266
上述のように、従来の回路設計支援システムでは、動作レベル記述の回路情報を用いて設計を行った場合、設計効率が悪いという問題点があった。
本発明は、このような問題点を解決するためになされたものであって、本発明の目的は、動作レベル記述の回路情報を用いた設計において、設計効率を向上することである。
本発明にかかるプログラムは、回路設計における各設計レベルに応じて記述された回路の情報を表示する処理をコンピュータに実行させるプログラムであって、前記処理は、動作レベルの記述により回路の情報が記述された動作レベル記述情報を取得するステップと、前記動作レベルよりも下位の設計レベルにおいて、前記動作レベル記述情報と同じ回路に関する情報が記述された下位レベル記述情報を取得するステップと、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付ける対応情報を取得するステップと、前記対応情報に基づいて、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付けて表示するステップと、を備えるものである。これにより、動作レベル記述と下位レベル記述との対応が明確になり、設計効率を向上することができる。
上述のプログラムにおいて、前記対応付けて表示するステップは、ユーザが、前記下位レベル記述情報の部分を選択するステップと、前記選択された部分に基づき、前記対応情報を検索し、前記選択された部分に対応する前記動作レベル記述情報の部分を決定するステップと、前記決定した部分を強調表示するステップと、をさらに備えていてもよい。これにより、下位レベル記述に対応する動作レベル記述を容易に識別することができる。
上述のプログラムにおいて、前記対応付けて表示するステップは、ユーザが、前記動作レベル記述情報の部分を選択するステップと、前記選択された部分に基づき、前記対応情報を検索し、前記選択された部分に対応する前記下位レベル記述情報の部分を決定するステップと、前記決定した部分を強調表示するステップと、をさらに備えていてもよい。これにより、動作レベル記述に対応する下位レベル記述を容易に識別することができる。
上述のプログラムにおいて、前記動作レベル記述情報を表示するステップと、前記対応情報を検索し、対応する前記下位レベル記述情報の部分が有る、前記動作レベル記述情報の部分を決定するステップと、前記決定した部分を強調表示するステップと、をさらに備えていてもよい。これにより、動作レベル記述と下位レベル記述との対応の有無を容易に識別することができる。
上述のプログラムにおいて、前記下位レベル記述情報を表示するステップと、前記対応情報を検索し、対応する前記動作レベル記述情報の部分が有る、前記下位レベル記述情報の部分を決定するステップと、前記決定した部分を強調表示するステップと、をさらに備えていてもよい。これにより、動作レベル記述と下位レベル記述との対応の有無を容易に識別することができる。
上述のプログラムにおいて、前記下位レベル記述情報は、RTLの記述により記述されている回路の情報であってもよい。これにより、動作レベル記述とRTL記述を対応付けることができる。
上述のプログラムにおいて、前記下位レベル記述情報は、ゲートレベルにおけるゲートの遅延情報であってもよい。これにより、動作レベル記述と遅延情報を対応付けることができる。
上述のプログラムにおいて、前記下位レベル記述情報は、ゲートレベルにおけるゲートネットリストであってもよい。これにより、動作レベル記述とゲートネットリストを対応付けることができる。
上述のプログラムにおいて、前記下位レベル記述情報は、レイアウト設計におけるゲートの遅延情報であってもよい。これにより、動作レベル記述と遅延情報を対応付けることができる。
本発明にかかるプログラムは、回路設計における各設計レベルに応じて記述された回路の情報を表示する処理をコンピュータに実行させるプログラムであって、前記処理は、動作レベルの記述により回路の情報が記述された動作レベル記述情報を取得するステップと、RTLの記述により前記動作レベル記述情報と同じ回路に関する情報が記述されたRTL記述情報を取得するステップと、ゲートレベルにおける、前記RTL記述情報と同じ回路のゲートの遅延情報である、遅延レポート情報を取得するステップと、前記動作レベル記述情報の行と前記RTL記述情報の行とを対応付ける第1の対応情報を取得するステップと、前記RTL記述情報の行と前記RTL記述情報の部品とを対応付ける第2の対応情報を取得するステップと、前記第1の対応情報に基づいて、前記動作レベル記述情報の行と前記RTL記述情報の行とを対応付けて表示する第1の表示ステップと、前記第2の対応情報に基づいて、前記RTL記述情報の行と前記遅延レポート情報のゲートとを対応付けて表示する第2の表示ステップと、を備えるものである。これにより、動作レベル記述とRTL記述記述、遅延レポートの対応が明確になり、設計効率を向上することができる。
上述のプログラムにおいて、前記RTL記述情報の部品と前記遅延レポート情報のゲートとを対応付ける第3の対応情報を取得するステップをさらに備え、前記第2の表示ステップは、前記第2の対応情報及び前記第3の対応情報に基づいて、前記RTL記述情報の行と前記遅延レポート情報のゲートとを対応付けて表示してもよい。これにより、RTL記述情報の部品と遅延レポート情報のゲートが異なる場合でも、動作レベル記述とRTL記述記述、遅延レポートを対応付けることができる。
本発明にかかる回路設計支援方法は、回路設計における各設計レベルに応じて記述された回路の情報を表示する回路設計支援方法であって、動作レベルの記述により回路の情報が記述された動作レベル記述情報を取得するステップと、前記動作レベルよりも下位の設計レベルにおいて、前記動作レベル記述情報と同じ回路に関する情報が記述された下位レベル記述情報を取得するステップと、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付ける対応情報を取得するステップと、前記対応情報に基づいて、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付けて表示するステップと、を備えるものである。これにより、動作レベル記述と下位レベル記述との対応が明確になり、設計効率を向上することができる。
本発明にかかる回路設計支援システムは、回路設計における各設計レベルに応じて記述された回路の情報を表示する回路設計支援システムであって、動作レベルの記述により回路の情報が記述された動作レベル記述情報を取得する手段と、前記動作レベルよりも下位の設計レベルにおいて、前記動作レベル記述情報と同じ回路に関する情報が記述された下位レベル記述情報を取得する手段と、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付ける対応情報を取得する手段と、前記対応情報に基づいて、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付けて表示する手段と、を備えるものである。これにより、動作レベル記述と下位レベル記述との対応が明確になり、設計効率を向上することができる。
上述の回路設計支援システムにおいて、前記動作レベル記述情報に基づいて、前記下位レベル記述情報と前記対応情報とを生成する合成手段をさらに備えていてもよい。これにより、さらに、設計効率を向上することができる。
本発明によれば、動作レベル記述の回路情報を用いた設計において、設計効率を向上できるプログラムを提供することができる。
以下に、本発明を適用可能な実施の形態が説明される。以下の説明は、本発明の実施形態を説明するものであり、本発明が以下の実施形態に限定されるものではない。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、当業者であれば、以下の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。尚、各図において同一の符号を付されたものは同様の要素を示しており、適宜、説明を省略する。
発明の実施の形態1.
まず、図1に示すブロック図を用いて、本発明の実施の形態1にかかる回路設計支援システムの構成について説明する。この回路設計支援システム100は、パーソナルコンピュータやサーバコンピュータ等のコンピュータにより構成されており、動作レベル記述とRTL記述とを対応付けて表示する処理を実行するシステムである。尚、回路設計支援システム100は、単一のコンピュータでなくとも、複数のコンピュータによって構成することも可能である。
まず、図1に示すブロック図を用いて、本発明の実施の形態1にかかる回路設計支援システムの構成について説明する。この回路設計支援システム100は、パーソナルコンピュータやサーバコンピュータ等のコンピュータにより構成されており、動作レベル記述とRTL記述とを対応付けて表示する処理を実行するシステムである。尚、回路設計支援システム100は、単一のコンピュータでなくとも、複数のコンピュータによって構成することも可能である。
回路設計支援システム100は、図に示すように、制御部110、記憶部120、表示部130及び入力部140を備えている。表示部130は、ディスプレイ等の表示装置であり、入力部140は、キーボードやマウス等の入力装置である。
制御部110は、CPU等の制御処理装置であり、記憶部120に予め記憶されたOSプログラムやアプリケーションプログラムに基づき、各種の処理を実行する。例えば、動作合成処理111や対応表示処理112のプログラムが、記憶部120に格納されており、このプログラムに基づいて、動作合成処理111や対応表示処理112が実行される。
記憶部120は、ハードディスク等の内部記憶手段や光ディスク等の外部記憶手段により構成され、OSプログラムやアプリケーションプログラム、各プログラムの処理に必要な各種データ等が格納される。ここでは、各種データとして、動作レベル記述情報121、RTL記述情報122及び動作レベル−RTL対応情報123が格納されている。また、図示しないが、アプリケーションプログラムとして、動作合成処理111や対応表示処理112等のプログラムが格納されている。
動作レベル記述情報121は、動作レベル記述の回路情報であり、例えば、設計者等のユーザにより入力部140を介して入力され、記憶部120に記憶されている。動作レベル記述情報121は、任意の数のファイルから構成され、ファイルの形式は、例えば、テキスト形式である。動作レベル記述は、RTL記述よりも上位レベルの記述であり、システムの動作が記述されている。動作レベル記述は、例えば、C言語であるが、SystemC、SpecC、ANSI−C、それらの派生言語、System Verilog等でもよい。
RTL記述情報122は、RTL記述の回路情報であり、動作合成処理111により生成され、記憶部120に記憶されている。RTL記述情報122は、任意の数のファイルから構成され、ファイルの形式は、例えば、テキスト形式である。RTL記述は、組み合わせ回路とレジスタの接続が記述されている。例えば、RTL記述は、Verilog−HDLやVHDL等のHDL(Hardware Description Language)である。尚、RTL記述情報122は、RTL記述に限らず、動作レベルよりも下位の設計レベル、例えば、機能レベル、ゲートレベル、トランジスタレベル、レイアウト設計等における回路に関する情報であってもよい。
動作レベル−RTL対応情報123は、動作レベル記述の行番号とRTL記述の行番号の対応情報であり、動作合成処理111により生成され、記憶部120に記憶されている。データ構造については、後述する。
動作合成処理111は、制御部110において実行される処理であり、動作レベル記述情報121が入力され、これを動作合成することにより、RTL記述情報122を生成して記憶部120に記憶する。同時に、動作合成処理111は、動作レベル−RTL対応情報123を作成し、記憶部120に格納する。尚、動作合成処理111は、回路設計支援システム100とは別のシステムにおいて、実行されてもよい。
対応表示処理112は、制御部110において実行される処理であり、動作レベル記述情報121、RTL記述情報122及び動作レベル−RTL対応情報123が入力され、動作レベル記述とRTL記述とを対応付けて表示部130に表示する。詳細な動作については、後述する。
次に、図2を用いて、動作レベル−RTL対応情報123のデータ構造について説明する。図2(a)は、動作レベル−RTL対応情報123のデータ構造を模式的に示しており、図2(b)は、動作レベル−RTL対応情報123のデータの例である。
動作レベル−RTL対応情報123は、図2(a)に示すように、動作レベル記述(ここでは、main.c)の行番号と、RTL記述(ここでは、main.v)の行番号が、それぞれ双方向ポインタにより対応付けられている。また、1つの行と複数の行を対応付けることができる。例えば、main.cの44行目は、main.vの104行目及び114行目に対応付けられている。
動作レベル−RTL対応情報123は、図2(b)に示すように、対応元のファイル名と行番号、対応先のファイル名と行番号がそれぞれ対応付けられて、記憶される。
双方向ポインタとすることにより、動作レベル記述側からでも、RTL記述側からでも、容易に対応先の行番号を取得することができる。尚、この例に限らず、1つの行と複数の行の対応付けができれば、その他の構造でもよい。また、対応付ける単位は、行のみに限らず、例えば、行とカラム数、文字列等あるいは、記憶部120に格納された動作レベル記述情報121やRTL記述情報122の当該個所の位置情報(例えば、記憶部120がメモリであればそのアドレス番地、あるいは、例えば、記憶部120がハードディスクであればディスク上の物理位置等)としてもよい。
次に、図3を用いて、対応表示処理112の表示画面の例について説明する。この表示画面は、対応表示処理112によって表示部130に表示される画面であり、動作レベル記述情報121とRTL記述情報122とを対応付けて表示する画面の一例である。
この表示画面300は、図に示すように、例えば1つのウィンドウであり、動作レベル記述情報121を表示する動作レベル記述表示301と、RTL記述情報122を示すRTL記述表示302の2つの表示領域を備えている。図では、動作レベル表示301、RTL記述表示302には行番号が表示されているが、これらは無くても良い。
また、図では、動作レベル表示301、RTL記述表示302は、文字列として表示されているが、一方もしくは両方が図形表示されていてもよい。例えば、動作レベル記述情報121がフローチャートであったり、RTL記述表示302が回路図であってもよい。この場合、以降の動作の説明では、図形やテキストの一部をクリックすると、対応するテキストや図形の一部が強調表示される仕組みと読み替える。なお、図形表示されている場合には、図形には、行番号や文字列など、後述する動作レベル−RTL対応情報123で対応づけられている要素と同じ情報が埋め込まれているものとする。あるいは、後述する動作レベル−RTL対応情報123で、行番号の代わりに、図形の座標位置や図形構成要素の1つ1つに付けられた識別子が対応づけられているとしてもよい。
図に示すように、それぞれの表示領域の上部には、表示するファイル名を示すタブ303が設けられており、複数のファイルを選択して表示することができる。これにより、1つのファイルと複数のファイル、あるいは、複数のファイルと複数のファイルとが対応する場合でも、1つのウィンドウで表示することができる。なお、この図では、左側の領域だけ複数ファイルが存在する例であるが、右側の領域にも複数ファイルが存在する場合もある。また、複数のファイルをタブで表示せず、複数のウィンドウを重ねてもよいし、右や左の領域を分割して複数同時に表示させてもよい。
また、ここでは、メニュー304の例として、文字列を検索するためのFindコマンド、ファイルを再度読み込むためのReloadコマンドが設けられているが、これに限らず、その他の処理のためのメニューを設けてもよい。例えば、編集コマンドを設けて、各ファイルを編集できるようにしてもよい。これにより、表示画面300において、遅延違反の原因となっている箇所を見つけるとともに、修正することができ、効率よく設計することができる。
動作レベル記述表示301とRTL記述表示302は、対応付けられたファイルを表示しており、例えば、対応先が存在する行に、下線が引かれ、強調表示されている。この強調表示は、下線に限らず、任意の表示方法でもよい。対応先が存在する行を強調表示することにより、選択すべき範囲がユーザに対し明確にすることができる。尚、対応先が存在する行を強調表示せずに、選択のみできるようにしてもよい。また、動作レベル表示301やRTL記述表示302に、ファイルの内容のうち対応する行だけを表示する方式としても良いし、対応する行番号だけを表示してもよい。
入力部140のマウス等により、ユーザが所望の行を選択すると、選択した行が赤色の太字で強調表示され、さらに、当該行に対応する行が同様に強調表示される。動作レベル記述表示301の行をユーザが選択すると、対応するRTL記述表示302の行が強調表示され、RTL記述表示302の行をユーザが選択すると、対応する動作レベル記述表示301の行が強調表示される。これにより、動作レベル記述とRTL記述の対応する行を容易に識別することができる。
例えば、RTL記述表示302の104行目をユーザがクリックすると、クリックした行が赤色の太字になるとともに、図2の動作レベル−RTL対応情報123より、対応する行が動作レベル記述情報121の44行目であるから、動作レベル記述表示301の44行目が赤色の太字になる。尚、強調表示の表示方法は、この例に限らず、任意の表示方法でもよい。また、対応する行を示す下線のある行のみユーザが選択できるようにして、その他の行はユーザが選択できないようにしてもよい。
また、対応表示させたい行を、複数選択可能としてもよい。この場合、選択した複数の行に対応するもう一方の領域内の行は、全て同じ表示方法で強調表示されていても良いし、選択した行ごとに色分けをするなど、各々の対応関係が区別できるようにしてもよい。また、選択する対象や対応表示する個所は、行単位でなくとも、文字列単位(例えば、”i”や”tmp”など)としても良い。選択方法は、マウス等のポインティングデバイスによる選択でなく、キーボードを用いても良い。この場合、カーソル位置による指定や、行番号を打ち込む、文字列を打ち込む、などの方法が考えられる。
尚、表示画面300における各要素の配置される位置は、この例に限らず、任意の位置でもよい。また、動作レベル記述表示301とRTL記述表示302を別のウィンドウとしてもよく、さらに、動作レベル記述、RTL記述のファイルごとに別のウィンドウとしてもよい。また、常に両方が表示される必要はなく、一方だけが表示されている状態でクリックすると、対応するもう一方が表示されるとしてもよい。
次に、図4に示すフローチャートを用いて、対応表示処理112の処理について説明する。この処理は、制御部110において、対応表示処理112のプログラムにより実行される。また、この処理は、ユーザが対応表示処理112のプログラムを起動することにより、開始してもよいし、動作合成処理111が終了したときに、開始してもよい。
まず、ユーザが対応情報を入力する(S401)。ユーザにより、対応表示処理112の入力である動作レベル−RTL対応情報123のファイル名等が入力される。制御部110は、動作レベル−RTL対応情報123に格納されているファイル名を読み取ることにより、表示すべき動作レベル記述情報121やRTL記述情報122を得ることができる。また、ユーザにより、動作レベル記述情報121やRTL記述情報122のファイル名等がそれぞれ入力されてもよい。
尚、動作レベル−RTL対応情報123のファイル名等が、あらかじめ決まっている場合には、ユーザによる入力の必要はない。また、動作レベル−RTL対応情報123のファイル名等から、動作レベル記述情報121やRTL記述情報122のファイル名が容易に類推できる仕組み(例えば、ファイルの拡張子等のサフィックスを付け替えるなど)としてもよい。この場合、この段階では、動作レベル−RTL対応情報123に格納されているファイル名を読み取る必要はない。
次いで、動作レベル記述表示処理を実行する(S402)。この処理により、動作レベル記述情報121が、図3で示した動作レベル記述表示301に表示される。次いで、RTL記述表示処理を実行する(S403)。この処理により、RTL記述情報122が、図3で示したRTL記述表示302に表示される。次いで、ユーザ入力処理を実行する(S404)。この処理により、ユーザの選択に応じた対応表示が行われる。S402からS404の処理の詳細については、後述する。尚、S402からS404の処理の順序は、これに限らず、その他の順序で実行されてもよい。例えば、S402とS403を逆に実行してもよいし、S402あるいはS403のいずれか一方を実行した後、S404を実行し、ユーザが動作レベル記述表示301やRTL記述表示302を選択したときに、S402やS403を実行してもよい。
次いで、終了指示が入力されているか判定する(S405)。例えば、表示画面300に終了ボタンが設けられており、ユーザがこの終了ボタンを選択したか否か判定する。ユーザが終了ボタンを選択していない場合には、再度S404を実行する。また、ユーザが終了ボタンを選択している場合には、当該処理を終了する。
次に、図4の動作レベル記述表示処理(S402)について、図5に示すフローチャートを用いて説明する。この処理は、図4で示した処理と同様に、制御部110において、対応表示処理112のプログラムにより実行される。
まず、動作レベル記述をテキスト表示する(S501)。S401で得られた動作レベル記述情報121を、表示部130上の動作レベル記述表示301に表示する。例えば、動作レベル−RTL対応情報123に動作レベル記述情報121のファイルが複数存在する場合、全てのファイルを表示してもよい。また、動作レベル記述情報121の格納された形式にかかわらず、テキストの文字列として表示してもよい。
次いで、対応先が存在する行番号を検索する(S502)。動作レベル−RTL対応情報123に含まれる動作レベル記述情報121の行番号リストから、対応するRTL記述情報122の行番号が存在する、動作レベル記述情報121の行番号を検索する。例えば、図2(a)のmain.cの行番号リストの場合、双方向ポインタの張られている行番号が、対応するRTL記述情報122の行番号が存在するものと判定できる。図2(a)で示した範囲では、main.cの行番号リストから、40、42、43、44、46、49、50、51、52、53、57の行番号が見つかる。また、図2(b)では、ファイル名main.cの行番号として列挙されているものが、対応するRTL記述情報122の行番号が存在するものと判定できる。図2(b)で示した範囲では、44、46の行番号が見つかる。尚、図2(b)の例では、全てを列挙していないため、main.cとmain.vが一致していない行もあるが、全ての情報が網羅された状態では、両者は一致する。
次いで、該当する行番号の行に下線を引く(S503)。S502で検索した動作レベル記述情報121の行番号に基づいて、動作レベル記述表示301において、該当する全ての行に下線を引く。このとき、該当する行の文字列の表示を、下線付きの表示に変更し、さらに、ユーザがマウス等により選択可能な文字列としてもよい。これにより、動作レベル記述表示301が表示され、当該表示をユーザが選択できる状態となる。
なお、S501〜S503は、必ずしもこの順番でなくともよい。例えば、S501とS502の順番は逆であっても良い。また、複数同時処理してもよい。例えば、S502の後、S501とS503とを並行して行っても良い。このとき、前述の説明で、一度S501で表示した文字列を、S503で下線付き表示に変更する処理を行う必要はなくなり、S503で下線付きで表示すべき行は、最初から下線付きで表示する、という処理が可能となる。
次に、図4のRTL記述表示処理(S403)について、図6に示すフローチャートを用いて説明する。この処理は、図4で示した処理と同様に、制御部110において、対応表示処理112のプログラムにより実行される。また、この処理は、図5の動作レベル記述表示処理と同様のため、簡単に説明する。
まず、RTL記述をテキスト表示する(S601)。S401で得られたRTL記述情報122を、表示部130上のRTL記述表示302に表示する。次いで、対応先が存在する行番号を検索する(S602)。動作レベル−RTL対応情報123に含まれるRTL記述情報122の行番号リストから、対応する動作レベル記述情報121の行番号が存在する、RTL記述情報122の行番号を検索する。次いで、該当する行番号の行に下線を引く(S603)。S602で検索したRTL記述情報122の行番号に基づいて、RTL記述表示302において、該当する全ての行に下線を引く。これにより、RTL記述表示302が表示され、当該表示をユーザが選択できる状態となる。
次に、図4のユーザ入力処理(S404)について、図7に示すフローチャートを用いて説明する。この処理は、図4で示した処理と同様に、制御部110において、対応表示処理112のプログラムにより実行される。
まず、どの表示をユーザが選択したか判定する(S701)。ユーザによる入力部140を介した入力を受け付け、ユーザが図3の表示画面300におけるどこの表示を選択したか判定する。選択された個所によりS702又はS705が実行される。ここでは、動作レベル記述表示301とRTL記述表示302以外を選択した場合の処理については省略する。
S701で動作レベル記述表示301が選択された場合、選択された行番号を取得する(S702)。ユーザにより動作レベル記述表示301が選択された場合、さらに、動作レベル記述表示301において、選択された行の行番号を取得する。このとき、取得した行番号の行の文字列を、赤色の太字等に強調表示してもよい。
次いで、選択された行番号に対応するRTL記述の行番号を検索する(S703)。動作レベル−RTL対応情報123に含まれる動作レベル記述情報121の行番号リストから、S702で取得した行番号を検索し、当該行に対応するRTL記述情報122の全ての行番号を決定する。
次いで、RTL記述表示302上の該当する行を全て強調表示する(S704)。S704で検索し決定したRTL記述情報122の行番号に基づいて、RTL記述表示302において、該当する全ての行を強調表示する。例えば、該当する行の文字列の表示を、赤色の太字の表示に変更する。
S701でRTL記述表示302が選択された場合、選択された行番号を取得する(S705)。ユーザによりRTL記述表示302が選択された場合、さらに、RTL記述表示302において、選択された行の行番号を取得する。また、S702と同様に、選択された行を強調表示してもよい。
次いで、選択された行番号に対応する動作レベル記述の行番号を検索する(S706)。動作レベル−RTL対応情報123に含まれるRTL記述情報122の行番号リストから、S705で取得した行番号を検索し、当該行に対応する動作レベル記述情報121の全ての行番号を決定する。
次いで、動作レベル記述表示301上の該当する行を全て強調表示する(S707)。S706で検索し決定した動作レベル記述情報121の行番号に基づいて、動作レベル記述表示301において、該当する全ての行を、S704と同様に強調表示する。
このような方法により、ユーザの選択に応じて、動作レベル記述に対応するRTL記述、又は、RTL記述に対応する動作レベル記述を表示することができるため、動作レベル記述の個所に対応するRTL記述の個所を容易に特定し、動作レベル記述がどのようなRTL記述となっているのか正確に確認することができる。
発明の実施の形態2.
次に、図8に示すブロック図を用いて、本発明の実施の形態2にかかる回路設計支援システムの構成について説明する。この回路設計支援システム100は、図1の構成に加えて、制御部110に論理合成処理113を有し、記憶部120にRTL内対応情報124、ゲート−RTL対応情報125及び遅延レポート情報126を有している。
次に、図8に示すブロック図を用いて、本発明の実施の形態2にかかる回路設計支援システムの構成について説明する。この回路設計支援システム100は、図1の構成に加えて、制御部110に論理合成処理113を有し、記憶部120にRTL内対応情報124、ゲート−RTL対応情報125及び遅延レポート情報126を有している。
遅延レポート情報126は、入力端子あるいは記憶素子を始点とし、出力端子あるいは記憶素子を終点とするパスの遅延情報であり、論理合成処理113により生成され、記憶部120に記憶されている。遅延レポート情報126は、任意の数のパスから構成され、その形式は、論理合成等の内部形式(バイナリ形式)である。このため、テキストの文字列解析などの入力処理をせずに、制御部110から直接、遅延時間等のデータを参照することができる。
遅延レポートは、論理合成時において各ゲートの動作が遅延解析された結果得られるものであり、1つ以上のパスに関する遅延情報からなる。パスの遅延情報には、例えば、パスの始点から終点までの各ゲートの階層とインスタンス名、各ゲートの遅延時間や、パスの全体の遅延時間、遅延違反か否か等が含まれている。遅延レポートの詳細については、後述する。
RTL内対応情報124は、RTL記述における部品(例えば、演算器やセレクタやレジスタや端子や配線など)のインスタンス名とRTL記述の行番号の対応情報であり、動作合成処理111により生成され、記憶部120に記憶されている。データ構造については、後述する。
尚、RTL記述情報122から、RTL記述における部品のインスタンス名とRTL記述の行番号の対応が認識できる場合には、RTL内対応情報124を設けなくてもよい。この場合には、RTL記述情報122を検索する必要がある。
ゲート−RTL対応情報125は、遅延レポートにおけるゲートのインスタンス名とRTL記述における部品のインスタンス名の対応情報であり、論理合成処理113により生成され、記憶部120に記憶されている。データ構造については、後述する。
論理合成処理113は、制御部110において実行される処理であり、RTL記述情報122が入力され、これを論理合成することにより、遅延レポート情報126を生成し、記憶部120に記憶する。同時に、論理合成処理113は、ゲート−動作レベル対応情報125を作成し、記憶部120に格納する。尚、論理合成処理113は、回路設計支援システム100とは別のシステムにおいて、実行されてもよい。論理合成では、遅延レポート情報126やゲート−動作レベル対応情報125の他に、ゲート間の接続情報であるゲートネットリスト等が出力される。
本実施形態における動作合成処理111は、動作レベル記述情報121を動作合成する際に、RTL記述情報122、動作レベル−RTL対応情報123に加えて、RTL内対応情報124を作成し、記憶部120に格納する。
本実施形態における対応表示処理112は、動作レベル記述情報121、RTL記述情報122、動作レベル−RTL対応情報123に加えて、遅延レポート情報126、RTL内対応情報124、ゲート−RTL対応情報125を入力し、動作レベル記述とRTL記述、遅延レポートをそれぞれ対応付けて、表示部130に表示する。詳細な動作については、後述する。
次に、図9を用いて、RTL内対応情報124、ゲート−RTL対応情報125のデータ構造について説明する。図9(a)はRTL内対応情報124のデータの例を示し、図9(b)は、ゲート−RTL対応情報125のデータの例を示している。
図9(a)に示すように、RTL内対応情報124には、RTL記述のファイル名、RTL記述における部品のインスタンス名、当該インスタンス名が記述されているRTL記述の行番号が含まれ、それぞれ対応付けられ記憶されている。この例では、RTL記述のファイルmain.vにおける部品のインスタンス名のINST_5は、RTL記述の104行目に対応付けられている。なお、RTL内対応情報124には、この他に、階層情報や、加算器か減算器かレジスタかといった機能種別や、インスタンスの入力や出力の端子名や、ビット幅情報などがあってもよい。
図9(b)に示すように、ゲート−RTL対応情報125には、パス名、遅延レポートにおけるゲートのインスタンス名、RTL記述のファイル名、RTL記述における部品のインスタンス名及びRTL記述における部品のビット位置が含まれ、それぞれ対応付けられ記憶されている。RTL記述の部品が多ビットレジスタの場合、RTL記述の部品のビット位置に何ビット目のFF(フリップフロップ)であるか記憶されている。この例では、パス名path1およびpath2におけるゲートのインスタンス名のRG_28_reg1は、RTL記述のファイルmain.vにおける部品のインスタンス名のRG_28及び部品のビット位置の1に対応付けられている。
なお、ゲートレベルで1ビット毎に分解されることのないインスタンスは、ビット位置を空欄等にする。例えば、図9(b)では、RTL記述の部品のインスタンス名がINST_4およびINST_5のインスタンスは、ゲートレベルでも1ビット毎に分解されることはないため、RTL記述の部品のビット位置は斜線を引き空欄となっている。また、図9(b)の例は、遅延レポートのゲートのインスタンス名とRTL記述の部品のインスタンス名とは1対1に対応しているが、1対多や多対1、あるいは、多対多に対応していてもよい。この場合、遅延レポートのゲートのインスタンス名やRTL記述の部品のインスタンス名の欄には、複数のインスタンスを列挙して表現する。あるいは、どの欄もインスタンスは1つとし、行を分けて表現するとしてもよい。また、ゲート−RTL対応情報125には、RTL記述の部品のビット位置の情報がなくともよい。この場合、RTL記述の部品が多ビットレジスタなどの場合には、遅延レポートのゲートのインスタンス名とRTL記述の部品のインスタンス名とは、多対1に対応することになる。
次に、図10を用いて、対応表示処理112の表示画面の例について説明する。図10(a)は遅延レポートを表示する表示画面の例であり、図10(b)は図10(a)の遅延レポートのパスの模式図である。
図10(a)に示す表示画面1000は、遅延レポート情報126を表示する遅延レポート表示1001を備えている。図10(a)の1000は、path1というパスが1つだけ表示されているが、実際には、表示している位置の前後に複数のパスが同様の表示形式で並んでいる。対応表示処理112は、動作レベル記述情報121、RTL記述情報122及び遅延レポート情報126を表示するため、図3で示した、表示画面300とともに、表示画面1000を表示する。表示画面300と表示画面1000は、1つのウィンドウとしてもよいし、別のウィンドウとして表示してもよい。また、表示画面300と同様に、パス毎にタブ303を設けたり、検索などのメニュー304を設けてもよい。
ここで、遅延レポート表示1001に表示される遅延レポートの内容について説明する。path1というパスは、図10(b)に示すように、階層INST_2における、レジスタRG_28の1ビット目からレジスタRG_28の31ビット目の間のパスであり、階層INST_5及び階層INST_4を経由している。RG_28はフリップフロップ(FF)である。この遅延レポートにおいて、INST_2で始まる行は、このパスが経由するゲートもしくは階層の端子を示している。各行に含まれる”/”は、階層の区切りを示している。
例えば、遅延レポート表示1001の上から4行目において、”INST_2”は階層、”RG_28_reg1”はインスタンス名、”N01”はインスタンスの端子名、”TBDFHAX1”は素子名を示している。さらに、”RG_28_reg1”は、RTL記述で”RG_28”という多ビットレジスタの1ビット目のFF(フリップフロップ)を示している。RTL上はRG_28というインスタンス名を持つ多ビットレジスタは、ゲートでは、1ビットのFFに分解される。そのとき、ゲートのインスタンス名として、RTLのインスタンス名+”_reg”+ビット位置、という名前が与えられた例である。
遅延レポート表示1001の右端から2列目のIncrの列は、素子毎の遅延時間を示しており、遅延レポート表示1001の右端の1列目のPathの列は、素子毎の遅延時間の累積値である。遅延時間の右の”r”は信号の立上がりにおける遅延時間を示し、”f”は信号の立下がりにおける遅延時間を示している。
画面下から9行目の”data arrival time”は、このパス全体の遅延時間である。画面下から3行目の”data required time”は、動作周波数から求めた基準遅延値である。画面下から1行目の”slack”は、このパスの遅延時間が遅延違反か否か示している。”slack”の右の”(MET)”は、パスの遅延時間値が基準遅延値の範囲内であり、遅延違反ではないことを示している。例えば、パスの遅延時間が基準遅延値を超えている場合、遅延違反となり、”slack”の右の表示は”(VIOL)”となる。
次に、図12に示すフローチャートを用いて、対応表示処理112について説明する。この処理は、図4で示した処理と同様に、制御部110において、対応表示処理112のプログラムにより実行される。尚、S1201からS1203は図4のS401からS403と、S1206は図4のS405と、それぞれ同様であり適宜説明を省略する。
まず、ユーザが対応情報を入力する(S1201)。ユーザにより、対応表示処理112の入力である動作レベル−RTL対応情報123、RTL内対応情報124、ゲート−RTL対応情報125のファイル名等を入力する。この動作レベル−RTL対応情報123、RTL内対応情報124により、表示すべき動作レベル記述情報121、RTL記述情報122を取得でき、ゲート−RTL対応情報125により、遅延レポート情報126を取得することができる。また、ユーザにより、動作レベル記述情報121、RTL記述情報122、遅延レポート情報126のファイル名等がそれぞれ入力されるとしてもよい。
次いで、動作レベル記述表示処理を実行し(S1202)、動作レベル記述表示301を表示する。次いで、RTL記述表示処理を実行し(S1203)、RTL記述表示302を表示する。
次いで、遅延レポート表示処理を実行する(S1204)。この処理により、遅延レポート情報126が、図10で示した遅延レポート表示1001に表示される。次いで、ユーザ入力処理を実行する(S1205)。この処理により、ユーザの選択に応じた対応表示が行われる。S1204及び1205の処理の詳細については、後述する。
次いで、終了指示が入力されているか判定する(S1206)。ユーザにより終了指示が入力されていない場合には、再度S1205を実行し、終了指示が入力されている場合には、当該処理を終了する。
次に、図12の遅延レポート表示処理(S1204)について、図13に示すフローチャートを用いて説明する。この処理は、図12で示した処理と同様に、制御部110において、対応表示処理112のプログラムにより実行される。
遅延レポート表示処理では、遅延レポートをテキスト表示する(S1301)。この処理は図5のS501と同様である。S1201で取得した遅延レポート情報126を表示部130上の遅延レポート表示1001に表示する。また、本実施形態における遅延レポート情報126は、記憶部120に蓄積されたバイナリ形式等の内部形式のため、各データをテキスト形式に変換したり、必要な文字列を加えて、図10のように表示する。
尚、図5や図6と同様に、遅延レポートのインスタンス名の対応先が存在する行について下線を引いてもよい。
次に、図12のユーザ入力処理(S1205)について、図14に示すフローチャートを用いて説明する。この処理は、図12で示した処理と同様に、制御部110において、対応表示処理112のプログラムにより実行される。S1401からS1407は、図7のS701からS707とそれぞれ同様であり、説明を省略する。
S1401で遅延レポート表示1001が選択された場合、遅延レポート中の選択されたパスに含まれるインスタンス名を全て取得する(S1408)。
次いで、取得したインスタンス名に対応するRTL記述のインスタンス名を検索する(S1409)。S1408で取得したインスタンス名のそれぞれについて、ゲート−RTL対応情報125に含まれる遅延レポートのゲートのインスタンス名を検索し、遅延レポートのゲートのインスタンス名に対応するRTL記述の部品のインスタンス名を決定する。
次いで、取得したインスタンス名に対応するRTL記述の行番号を検索する(S1410)。S1409で検索し決定したインスタンス名のそれぞれについて、RTL内対応情報124に含まれるRTL記述の部品のインスタンス名を検索し、RTL記述の部品のインスタンス名に対応するRTL記述の行番号を決定する。
次いで、RTL記述表示上の該当する行を全て強調表示する(S1411)。図7のS704と同様に、S1410で検索し決定したRTL記述情報122の行番号に基づいて、RTL記述表示302において、該当する全ての行を強調表示する。尚、このとき、強調表示するRTL記述情報122の行に対応する動作レベル記述情報121について、該当する動作レベル記述表示301をさらに強調表示してもよい。
このような方法により、ユーザの選択に応じて、動作レベル記述に対応するRTL記述及び遅延レポート、RTL記述に対応する動作レベル記述及び遅延レポート、遅延レポートに対応する動作レベル記述及びRTL記述を表示することができ、遅延違反となっている個所を容易に特定することができる。したがって、遅延違反の個所を効率よく修正することができる。
発明の実施の形態3.
次に、図15に示すブロック図を用いて、本発明の実施の形態3にかかる回路設計支援システムの構成について説明する。この回路設計支援システム100は、図8における、動作レベル−RTL対応情報123、RTL内対応情報124、ゲート−RTL対応情報125に代えて、動作レベル−RTL対応情報127とゲート−動作レベル対応情報128を有している。
次に、図15に示すブロック図を用いて、本発明の実施の形態3にかかる回路設計支援システムの構成について説明する。この回路設計支援システム100は、図8における、動作レベル−RTL対応情報123、RTL内対応情報124、ゲート−RTL対応情報125に代えて、動作レベル−RTL対応情報127とゲート−動作レベル対応情報128を有している。
動作レベル−RTL対応情報127は、図8等の動作レベル−RTL対応情報123と異なり、RTL記述の部品のインスタンス名と動作レベル記述の行番号の対応情報であり、動作合成処理111により生成され、記憶部120に記憶されている。データ構造については、後述する。
ゲート−動作レベル対応情報128は、遅延レポートのゲートのインスタンス名と動作レベル記述の行番号の対応情報であり、論理合成処理113により生成され、記憶部120に記憶されている。データ構造については、後述する。
本実施形態における動作合成処理111は、動作レベル記述情報121を動作合成する際に、RTL記述情報122と動作レベル−RTL対応情報127を作成し、記憶部120に格納する。
本実施形態における論理合成処理113は、RTL記述情報122に加えて、動作レベル−RTL対応情報127を入力し、論理合成により、遅延レポート情報126、ゲート−動作レベル対応情報128を作成し、記憶部120に格納する。
本実施形態における対応表示処理112は、動作レベル記述情報121、遅延レポート情報126、ゲート−動作レベル対応情報128を入力し、動作レベル記述と遅延レポートを対応付けて、表示部130に表示する。詳細な動作については、後述する。
次に、図16を用いて、動作レベル−RTL対応情報127及びゲート−動作レベル対応情報128のデータ構造について説明する。図16(a)は、動作レベル−RTL対応情報127のデータの例を示し、図16(b)は、ゲート−動作レベル対応情報128のデータの例を示している。
図16(a)に示すように、動作レベル−RTL対応情報127には、RTL記述のファイル名、RTL記述の部品のインスタンス名、動作レベル記述のファイル名、動作レベル記述の行番号が含まれ、それぞれ対応付けられている。この例では、RTL記述のファイルmain.vにおける部品のインスタンス名のINST_5は、動作レベル記述のファイルmain.cの44行目に対応付けられている。
図16(b)に示すように、ゲート−動作レベル対応情報128には、遅延レポートのパス名、遅延レポートのゲートのインスタンス名、動作レベル記述のファイル名、動作レベル記述の行番号が含まれ、それぞれ対応付けられている。この例では、遅延レポートのパスpath1およびpath2におけるゲートのインスタンス名のRG_28_reg1は、動作レベル記述のファイルmain.cの10および85行目に対応している。
ここで、本実施形態にかかる対応表示処理112は、動作レベル記述情報121と遅延レポート情報126とを対応付けて表示するため、この処理の表示画面は、図3、図10のうちの動作レベル記述表示301と遅延レポート表示1001となる。
また、対応表示処理112の処理は、図12で示したフローチャートのうちの、動作レベル記述情報121と遅延レポート情報126に関する処理、S1201、S1202、S1204、S1205及びS1206となる。
ここでは、この処理におけるユーザ入力処理(S1205)について、図17に示すフローチャートを用いて説明する。この処理は、図14等で示した処理と同様に、制御部110において、対応表示処理112のプログラムにより実行される。尚、S1701からS1702は図14のS1401からS1402と同様であり、S1705は図14のS1408と同様であり、S1707は、図14のS1407と同様であり、それぞれ適宜説明を省略する。S1703は、図16(b)のゲート−動作レベル対応情報128を用いて、動作レベル記述の行番号から、パス名と遅延レポートのゲートのインスタンス名とを検索する(詳細は後述)。S1704は、遅延レポート表示1001の該当する行を全て協調表示する(詳細は後述)。S1706は、図16(b)のゲート−動作レベル対応情報128を用いて、パス名と遅延レポートのゲートのインスタンス名とから、動作レベル記述の行番号を検索する(詳細は後述)。
まず、どの表示をユーザが選択したか判定し(S1701)、ユーザの選択した個所によりS1702又はS1705が実行される。S1701で動作レベル記述表示301が選択された場合、選択された行番号を取得する(S1702)。
次いで、選択された行番号に対応する遅延レポートの行番号を検索する(S1703)。ゲート−動作レベル対応情報128に含まれる動作レベル記述情報121の行番号から、S1702で取得した行番号を検索し、当該行に対応するパス名と遅延レポートのゲートのインスタンス名とを全て決定する。
次いで、遅延レポート表示1001上の該当する行を全て強調表示する(S1704)。S1703で検索し決定したパス名および遅延レポートのゲートのインスタンス名に基づいて、遅延レポート情報126を検索し、遅延レポート表示1001において、該当する全ての行について、強調表示する。
S1701で遅延レポート表示1001が選択された場合、遅延レポート中の選択されたパスのインスタンス名を全て取得する(S1705)。
次いで、取得したインスタンス名に対応する動作レベル記述の行番号を検索する(S1706)。S1705で取得したインスタンス名のそれぞれについて、ゲート−動作レベル対応情報128から、選択されたパスに含まれる遅延レポートのゲートのインスタンス名を検索し、当該パス中の当該インスタンス名に対応する動作レベル記述情報121の行番号を全て取得する。
次いで、動作レベル記述表示上の該当する行を全て強調表示する(S1707)。S1706で検索し決定した動作レベル記述情報121の行番号に基づいて、動作レベル記述表示301において、該当する全ての行を強調表示する。
このような方法により、ユーザの選択に応じて、動作レベル記述に対応する遅延レポート、遅延レポートに対応する動作レベル記述を、RTL記述を介さずに、表示することができ、遅延違反となっている箇所を容易に特定することができる。また、対応表示処理に必要な対応情報が、ゲート−動作レベル対応情報128のみでよいため、データ容量を小さくすることができる。
発明の実施の形態4.
次に、図18に示すブロック図を用いて、本発明の実施の形態4にかかる回路設計支援システムの構成について説明する。この回路設計支援システム100は、図8における、制御部110には、論理合成処理113の代わりに、遅延レポート解析処理114を有し、記憶部120には、ゲート−RTL対応情報125の代わりに、遅延レポート解析情報129を有している。
次に、図18に示すブロック図を用いて、本発明の実施の形態4にかかる回路設計支援システムの構成について説明する。この回路設計支援システム100は、図8における、制御部110には、論理合成処理113の代わりに、遅延レポート解析処理114を有し、記憶部120には、ゲート−RTL対応情報125の代わりに、遅延レポート解析情報129を有している。
遅延レポート解析情報129は、遅延レポート情報126をテキスト解析するための規則等の情報であり、ユーザにより入力され、記憶部120に記憶されている。データ構造については、後述する。
本実施形態における遅延レポート情報126は、図8の遅延レポート情報と情報の内容は同じであるが、本システム(あるいは、本プログラム)とは別のシステム(あるいは、別のプログラム)から得られたものを、ファイルのコピー等の手段により記憶部120に入力したものである。そのため、記憶されている形式が異なり、ここでは、テキスト形式のファイルである例について述べる。遅延レポート情報126は、図示しないSTA(static timing analysis)等の他のツールや、他のシステムにより、遅延解析され生成されたものである。
遅延レポート解析処理114は、遅延レポート情報126、遅延レポート解析情報129、RTL内対応情報124を入力し、遅延レポート解析情報129に基づいて遅延レポート情報126のテキスト解析を行い、解析結果を対応表示処理112に出力する。
本実施形態における対応表示処理112は、動作レベル記述情報121、RTL記述情報122、動作レベル−RTL対応情報123に加えて、遅延レポート解析処理114の解析結果を入力し、動作レベル記述、RTL記述及び遅延レポートを対応付けて、表示部130に表示する。詳細な動作については、後述する。
次に、図19を用いて、遅延レポート解析情報129のデータ構造について説明する。図に示すように、遅延レポート解析情報129は、例えば、バス展開規則、階層区切り規則、インスタンス名リネーム規則、着目すべき階層規則等を有している。
バス展開規則の”%s%d”は、インスタンス名を文字列と10進数の数値で区切り、数値をバスのビット番号とすることを示している。階層区切り規則の”/、$”は、/又は$で区切られた文字列を階層とすることを示している。
インスタンス名リネーム規則の”_reg”は、この文字列を消去した文字列がRTL記述のインスタンス名となる可能性があることを示している。なお、インスタンス名リネーム規則には、文字列を複数列挙してもよい。また、文字列でなく正規表現等で表現されていてもよい。着目すべき階層規則の”level2”は、上から2番目の階層以下の階層を解析対象とすることを示している。
ここで、本実施形態にかかる対応表示処理112は、動作レベル記述情報121、RTL記述情報122及び遅延レポート情報126とを対応付けて表示するため、この処理の表示画面は、図3、図10と同様である。
本実施形態では、図10の他に図11に示す遅延レポート表示1001を表示することもできる。図10と同様に、図11(a)は遅延レポートを表示する表示画面の例であり、図11(b)は図11(a)の遅延レポートのパスの模式図である。この例では、図11(a)及び(b)に示すように、遅延レポートのパスにおいて、階層INST_2の上位に階層TOPが設けられており、遅延レポートにおける階層の区切りとして、"/"の他に"$"が用いられている。
また、対応表示処理112の処理は、図12で示したフローチャートと同様である。なお、遅延レポート表示処理S1204のフローチャートは、図13と同様であるが、遅延レポート情報126はテキスト形式であるため、S1301の処理では、テキスト形式の遅延レポートをそのまま表示すればよい。ここでは、この処理におけるユーザ入力処理(S1205)について、図20に示すフローチャートを用いて説明する。この処理は、図14等で示した処理と同様に、制御部110において、対応表示処理112のプログラムにより実行される。
尚、S2001からS2007は、図14のS1401からS1407と同様であり、説明を省略する。S2008は図14のS1408と、S2011は図14のS1411と、同様であり適宜説明を省略する。なお、図14では、S1408で取得したゲートのインスタンス名を、S1409でゲート−RTL対応情報125を使ってRTL記述のインスタンス名に変換していたが、図20では、この2つの処理をS2009にて、一括して行う。
S2001で遅延レポート表示が選択された場合、遅延レポート解析情報129を用いて遅延レポート中の選択されたパスを解析し、RTLのインスタンス名を推定する(S2009)。この処理により、選択されたパスから、RTLのインスタンス名の候補を全て列挙することができる。処理の詳細については、後述する。
次いで、取得したインスタンス名の候補に対応するRTL記述の行番号を検索する(S2010)。S2010では、RTLのインスタンス名の候補の中から、RTL内対応情報124のRTL記述の部品のインスタンス名と一致するものを見つけ、一致したインスタンスのRTL記述上の行番号をS2011へ渡す。次いで、RTL記述表示上の該当する行を全て強調表示する(S2011)。
次に、図20の遅延レポート解析処理(S2009)について、図21に示すフローチャートを用いて説明する。この処理は、図22の遅延レポート解析処理114の処理であり、図20で示した処理と同様に、制御部110において、対応表示処理112のプログラムにより実行される。ここでは、遅延レポート情報126を図11に示した遅延レポートとし、遅延レポート解析情報129を図19で示した情報として、説明する。
まず、階層区切り規則により、選択されたパスを解析する(S2101)。遅延レポート解析情報129の階層区切り規則に従い、遅延レポート情報126の各行を分割し、分割された文字列を階層とする。ここでは、階層区切り規則が”/、$”であるため、図11の”INST_2”や”INST_4”等が階層であると解析される。
また、下から2番目の階層をゲートのインスタンスと認識し、一番下の階層を、そのインスタンスの端子と認識する。例えば、TOP/INST_2$RG_28_reg1$H02の場合、RG_28_reg1を、階層INST_2直下にあるインスタンスと認識し、H02は、RG_28_reg1の端子と認識する。
次いで、着目すべき階層規則により、選択されたパスを解析する(S2102)。着目すべき階層規則の階層以下を解析対象とする。ここでは、着目すべき階層規則が”level2”であるため、最上位の階層の文字列を消去したときに、さらにその下に2階層以上残っているもののみを対象とする。図11では、階層INST_2以下に2階層以上あるものだけが、以降の解析対象となる。
次いで、バス展開規則により、S2102で解析対象とした部分パスを解析して、もとの(RTL記述における)インスタンス名を推定する(S2103)。まず、S2102で解析対象として残った部分パスのうち、S2101でインスタンス名と認識した文字列を取得し、この文字列を、インスタンス名とビット位置とに分割する。ここでは、バス展開規則が”%s%d”であるため、文字列と10進数で区切られ、文字列の最後の一文字をバスのビット番号とし、残りの文字列をインスタンス名とする。例えば、”RG_28_reg1”という文字列は、RG_28_regというインスタンス名で、ビット位置は1と解析される。
なお、解析結果が一意に決まらない場合もある。例えば、”RG_28_reg31”は、RG_28_reg3というインスタンス名で、ビット位置は1であるとも、RG_28_regというインスタンス名で、ビット位置は31であるとも、推定できる。また、もともとビット幅を持たないインスタンスである可能性もあり、RG_28_reg31というインスタンス名であるとも推定できる。これらの候補を全て列挙し、次のインスタンス名リネーム規則でさらに推定を進める。
次いで、インスタンス名リネーム規則により、インスタンス名の候補を解析して、もとの(RTL記述における)インスタンス名を推定する(S2104)。インスタンス名リネーム規則の文字列を、当該文字列から消去した候補を新たに作る。ここでは、インスタンス名リネーム規則が”_reg”であるため、インスタンス名からこの文字列を消去した文字列も候補に加える。例えば、RG_28_regというインスタンス名から、RG_28というインスタンス名を作り、候補に加える。
なお、S2010では、RTL内対応情報を使って、ここまでで得られた候補から、RTL記述のインスタンス名として存在するもののみに絞り込む。例えば、図11のpath1からは、RG_28_reg1、RG_28_reg、RG_28、INST_5、INST_、add_2353、add_235、add_23、add_2、add_、U1_1、U1_、U1_31、U1_3、INST_4、add_2344、add_234、U1_2、U18008、U1800、U180、U18、U1、U16304、U1630、U163、U16、U17504、U1750、U175、U17、RG_28_reg31、RG_28_reg3が候補として得られる。これら候補のうち、RG_28、INST_5、INST_4などが、図9(a)のRTL内対応情報124のRTL記述のインスタンス名とマッチすることが分かる。同時に、これらのインスタンスに対するRTL記述のファイル名やRTL記述の行番号が、RTL内対応情報124から得られる。
以上より、遅延レポート解析処理114から、ゲート−RTL対応情報相当の情報が得られ、対応表示処理112へと渡される。
このような方法により、ユーザの選択に応じて、動作レベル記述に対応するRTL記述及び遅延レポート、RTL記述に対応する動作レベル記述及び遅延レポート、遅延レポートに対応する動作レベル記述及びRTL記述を表示することができる。特に、テキスト形式の遅延レポートを解析するため、論理合成による遅延レポートに限らず、レイアウト後のSTA等による遅延レポートについても、動作レベル記述、RTL記述と対応付けて表示することができる。
なお、以上で例として示した遅延レポート解析処理S2009の処理は、遅延レポート解析情報が、バス展開規則、階層区切り規則、インスタンス名リネーム規則、着目すべき階層規則を有している場合であったが、いずれか1つ以上の規則がないとしてもよい。その場合には、対応する規則を用いた処理のみが省かれて、候補が列挙される。また、バス展開規則、階層区切り規則、インスタンス名リネーム規則、着目すべき階層規則以外の規則があってもよい。その場合には、当該規則に対応した処理が新たに付け加えられて、候補が列挙される。
発明の実施の形態5.
次に、図22のブロック図を用いて、本発明の実施の形態5にかかる回路設計支援システムの構成について説明する。この回路設計支援システム100は、図18の構成に加えて、記憶部120にゲート−RTL対応情報125を有している。
次に、図22のブロック図を用いて、本発明の実施の形態5にかかる回路設計支援システムの構成について説明する。この回路設計支援システム100は、図18の構成に加えて、記憶部120にゲート−RTL対応情報125を有している。
本実施形態におけるゲート−RTL対応情報125は、情報の内容については、図8等と同様であるが、論理合成処理により生成されたものではなく、ユーザによって入力されたものである。
その他、画面表示や処理については、実施形態4と同様である。尚、制御部110に論理合成処理を設けて、ゲート−RTL対応情報125を作成してもよい。
このような方法により、遅延レポート情報がテキスト形式であり、RTLの部品のインスタンス名が遅延レポートのゲートのインスタンス名と単純に対応していない場合でも、ユーザの選択に応じて、動作レベル記述に対応するRTL記述及び遅延レポート、RTL記述に対応する動作レベル記述及び遅延レポート、遅延レポートに対応する動作レベル記述及びRTL記述を容易に表示することができる。したがって、様々な論理合成ツールやレイアウト設計ツールなどから得られる遅延レポートから、所望のパスを選択して、動作レベル、RTL記述と対応付けて表示することができる。
その他の発明の実施の形態.
尚、上述の例では、対応表示処理に遅延レポートを入力しているが、論理合成の出力であるゲートネットリストを対応表示処理112の入力としてもよい。これにより、動作レベル記述とRTL記述、ゲートネットリストを対応付けて表示することができる。
尚、上述の例では、対応表示処理に遅延レポートを入力しているが、論理合成の出力であるゲートネットリストを対応表示処理112の入力としてもよい。これにより、動作レベル記述とRTL記述、ゲートネットリストを対応付けて表示することができる。
上述の例では、動作レベル記述として、C言語で記述した例を用いたが、本発明は、動作レベル記述の言語に依存するものではない。すなわち、C言語の代わりに、C++やSystemC、SpecC、ANSI−C、それらの派生言語、SystemVerilogなどであっても良い。また、RTL記述と同じVerilogやVHDLなどの言語を、動作レベル記述として用いた場合でも、本発明の有効性に変わりはない。
また、上述の対応表示処理112の起動時に、図23に示す、統計表示画面を表示してもよい。この表示画面2300では、遅延レポートのパス毎に、遅延時間を棒グラフ2301で表示している。これにより、どのパスが遅延違反となっているか、明確にすることができる。また、パスの経路を示す部分がボタン2302となっており、このボタン2302をクリックすることにより、上述の対応表示の表示画面300等を表示してもよい。
上述した回路設計支援システム100を実現するためのハードウェア構成の例を図24に示す。回路設計支援システム100は、典型的なコンピュータ・システムが利用可能であり、中央処理装置(CPU)201とメモリ204とを含んでいる。
CPU201とメモリ204とは、バスを介して補助記憶装置としてのハードディスク装置213に接続される。フレキシブルディスク装置220、ハードディスク装置213・230、CD−ROMドライブ226・229、MOドライブ228等の記憶媒体駆動装置は、フレキシブルディスク・コントローラ219、IDEコントローラ225、SCSIコントローラ227等の各種コントローラを介してバスに接続される。フレキシブルディスク装置220等の記憶媒体駆動装置には、フレキシブルディスク等の可搬型記憶媒体が挿入される。
記憶媒体にはオペレーティングシステムと共同してCPU201等に命令を与え、回路設計支援システム100の機能を実施するためのコンピュータ・プログラムを記憶することができる。コンピュータ・プログラムは、メモリ204にロードされることによって実行される。コンピュータ・プログラムは圧縮し、又、複数に分割して記憶媒体に記憶することができる。ハードウェア構成は、典型的には、ユーザ・インターフェース・ハードウェアを備える。
ユーザ・インターフェース・ハードウェアとしては、例えば、入力をするためのポインティングデバイス(マウス207、ジョイスティック等)やキーボード206、あるいは、視覚データをユーザに提示するための液晶ディスプレイなどの表示装置211やCRTディスプレイ212がある。
また、パラレルポート216を介してプリンタを接続するも可能である。このコンピュータ・システムは、シリアルポート215を介してモデムを接続することが可能であり、シリアルポート215およびモデムまたはトークンリングや通信アダプタ218等を介してネットワークに接続し、他のコンピュータ・システムと通信を行っている。尚、上記構成は必要に応じて省略することができる。
上述のように、本発明により、動作合成を用いて設計した回路に対して、論理合成後のレポートや、レイアウト後のSTAのレポートで、遅延違反が検出されたパスを、もとの動作レベル記述にさかのぼって確認/修正する際の作業が、迅速かつ容易に進めることができる。また、動作合成を用いて回路設計する際に、動作レベル記述の特定個所が、どのようなRTL記述として実現されるか確認でき、どのような動作レベル記述をするとどのようなRTL記述になるかなどを確認することもできる。
100 回路設計支援システム
110 制御部 111 動作合成処理 112 対応表示処理
113 論理合成処理 120 記憶部 121 動作レベル記述情報
122 RTL記述情報 123 動作レベル−RTL対応情報
124 RTL内対応情報 125 ゲート−RTL対応情報
126 遅延レポート情報 130 表示部 140 入力部
110 制御部 111 動作合成処理 112 対応表示処理
113 論理合成処理 120 記憶部 121 動作レベル記述情報
122 RTL記述情報 123 動作レベル−RTL対応情報
124 RTL内対応情報 125 ゲート−RTL対応情報
126 遅延レポート情報 130 表示部 140 入力部
Claims (14)
- 回路設計における各設計レベルに応じて記述された回路の情報を表示する処理をコンピュータに実行させるプログラムであって、前記処理は、
動作レベルの記述により回路の情報が記述された動作レベル記述情報を取得するステップと、
前記動作レベルよりも下位の設計レベルにおいて、前記動作レベル記述情報と同じ回路に関する情報が記述された下位レベル記述情報を取得するステップと、
前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付ける対応情報を取得するステップと、
前記対応情報に基づいて、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付けて表示するステップと、
を備えるプログラム。 - 前記対応付けて表示するステップは、
ユーザが、前記下位レベル記述情報の部分を選択するステップと、
前記選択された部分に基づき、前記対応情報を検索し、前記選択された部分に対応する前記動作レベル記述情報の部分を決定するステップと、
前記決定した部分を強調表示するステップと、
をさらに備える、請求項1に記載のプログラム。 - 前記対応付けて表示するステップは、
ユーザが、前記動作レベル記述情報の部分を選択するステップと、
前記選択された部分に基づき、前記対応情報を検索し、前記選択された部分に対応する前記下位レベル記述情報の部分を決定するステップと、
前記決定した部分を強調表示するステップと、
をさらに備える、請求項1又は2に記載のプログラム。 - 前記動作レベル記述情報を表示するステップと、
前記対応情報を検索し、対応する前記下位レベル記述情報の部分が有る、前記動作レベル記述情報の部分を決定するステップと、
前記決定した部分を強調表示するステップと、
をさらに備える、請求項1、2又は3に記載のプログラム。 - 前記下位レベル記述情報を表示するステップと、
前記対応情報を検索し、対応する前記動作レベル記述情報の部分が有る、前記下位レベル記述情報の部分を決定するステップと、
前記決定した部分を強調表示するステップと、
をさらに備える、請求項1乃至4のいずれかに記載のプログラム。 - 前記下位レベル記述情報は、RTLの記述により記述されている回路の情報である、請求項1乃至5のいずれかに記載のプログラム。
- 前記下位レベル記述情報は、ゲートレベルにおけるゲートの遅延情報である、請求項1乃至5のいずれかに記載のプログラム。
- 前記下位レベル記述情報は、ゲートレベルにおけるゲートネットリストである、請求項1乃至5のいずれかに記載のプログラム。
- 前記下位レベル記述情報は、レイアウト設計におけるゲートの遅延情報である、請求項1乃至5のいずれかに記載のプログラム。
- 回路設計における各設計レベルに応じて記述された回路の情報を表示する処理をコンピュータに実行させるプログラムであって、前記処理は、
動作レベルの記述により回路の情報が記述された動作レベル記述情報を取得するステップと、
RTLの記述により前記動作レベル記述情報と同じ回路に関する情報が記述されたRTL記述情報を取得するステップと、
ゲートレベルにおける、前記RTL記述情報と同じ回路のゲートの遅延情報である、遅延レポート情報を取得するステップと、
前記動作レベル記述情報の行と前記RTL記述情報の行とを対応付ける第1の対応情報を取得するステップと、
前記RTL記述情報の行と前記RTL記述情報の部品とを対応付ける第2の対応情報を取得するステップと、
前記第1の対応情報に基づいて、前記動作レベル記述情報の行と前記RTL記述情報の行とを対応付けて表示する第1の表示ステップと、
前記第2の対応情報に基づいて、前記RTL記述情報の行と前記遅延レポート情報のゲートとを対応付けて表示する第2の表示ステップと、
を備えるプログラム。 - 前記RTL記述情報の部品と前記遅延レポート情報のゲートとを対応付ける第3の対応情報を取得するステップをさらに備え、
前記第2の表示ステップは、
前記第2の対応情報及び前記第3の対応情報に基づいて、前記RTL記述情報の行と前記遅延レポート情報のゲートとを対応付けて表示する、
請求項10に記載のプログラム。 - 回路設計における各設計レベルに応じて記述された回路の情報を表示する回路設計支援方法であって、
動作レベルの記述により回路の情報が記述された動作レベル記述情報を取得するステップと、
前記動作レベルよりも下位の設計レベルにおいて、前記動作レベル記述情報と同じ回路に関する情報が記述された下位レベル記述情報を取得するステップと、
前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付ける対応情報を取得するステップと、
前記対応情報に基づいて、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付けて表示するステップと、
を備える回路設計支援方法。 - 回路設計における各設計レベルに応じて記述された回路の情報を表示する回路設計支援システムであって、
動作レベルの記述により回路の情報が記述された動作レベル記述情報を取得する手段と、
前記動作レベルよりも下位の設計レベルにおいて、前記動作レベル記述情報と同じ回路に関する情報が記述された下位レベル記述情報を取得する手段と、
前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付ける対応情報を取得する手段と、
前記対応情報に基づいて、前記動作レベル記述情報の部分と前記下位レベル記述情報の部分とを対応付けて表示する手段と、
を備える回路設計支援システム。 - 前記動作レベル記述情報に基づいて、前記下位レベル記述情報と前記対応情報とを生成する合成手段をさらに備える、請求項13に記載の回路設計支援システム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004053481A JP2005242812A (ja) | 2004-02-27 | 2004-02-27 | 回路設計支援システム、回路設計支援方法及びプログラム |
EP05003887A EP1569144A3 (en) | 2004-02-27 | 2005-02-23 | System, method and program to display correspondence between behavioral and low level descriptions of an integrated circuit |
US11/065,535 US7370297B2 (en) | 2004-02-27 | 2005-02-25 | Method, system, and computer program for validating correspondence information between behavior and lower level description of a circuit design |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004053481A JP2005242812A (ja) | 2004-02-27 | 2004-02-27 | 回路設計支援システム、回路設計支援方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005242812A true JP2005242812A (ja) | 2005-09-08 |
Family
ID=34747540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004053481A Pending JP2005242812A (ja) | 2004-02-27 | 2004-02-27 | 回路設計支援システム、回路設計支援方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US7370297B2 (ja) |
EP (1) | EP1569144A3 (ja) |
JP (1) | JP2005242812A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007102271A (ja) * | 2005-09-30 | 2007-04-19 | Nec Corp | 回路設計支援システム及び方法 |
JP2008077490A (ja) * | 2006-09-22 | 2008-04-03 | Nec Corp | 回路設計支援システム、回路設計支援方法及びプログラム |
JP2008234080A (ja) * | 2007-03-16 | 2008-10-02 | Ricoh Co Ltd | 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム、半導体集積回路、半導体集積回路の製造方法 |
JP2009211606A (ja) * | 2008-03-06 | 2009-09-17 | Nec Corp | 回路設計支援システム、回路設計支援システムの表示方法、及びプログラム |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007034584A (ja) * | 2005-07-26 | 2007-02-08 | Toshiba Corp | 高位合成装置、自動高位合成方法、高位合成プログラム及びゲートネットリスト自動検証方法 |
JP2010033540A (ja) * | 2008-06-25 | 2010-02-12 | Toshiba Corp | レジスタ転送レベル構造の変更量見積もり装置及び方法 |
US9189134B2 (en) * | 2011-09-30 | 2015-11-17 | Bmc Software, Inc. | Display window with multi-layer, parallel tab display |
US10078723B1 (en) * | 2016-09-30 | 2018-09-18 | Cadence Design Systems, Inc. | Method and apparatus for design rules driven interactive violation display |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2853431B2 (ja) | 1992-02-03 | 1999-02-03 | 日本電気株式会社 | 遅延解析結果表示方式 |
US5937190A (en) * | 1994-04-12 | 1999-08-10 | Synopsys, Inc. | Architecture and methods for a hardware description language source level analysis and debugging system |
US5727187A (en) * | 1995-08-31 | 1998-03-10 | Unisys Corporation | Method of using logical names in post-synthesis electronic design automation systems |
US5867395A (en) * | 1996-06-19 | 1999-02-02 | Lsi Logic Corporation | Gate netlist to register transfer level conversion tool |
US5912819A (en) * | 1996-12-03 | 1999-06-15 | Motorola, Inc. | Method for designing an architectural system |
US5940779A (en) * | 1997-03-05 | 1999-08-17 | Motorola Inc. | Architectural power estimation method and apparatus |
US6874135B2 (en) * | 1999-09-24 | 2005-03-29 | Nec Corporation | Method for design validation using retiming |
US6704908B1 (en) * | 1999-11-17 | 2004-03-09 | Amadala Limited | Method and apparatus for automatically generating a phase lock loop (PLL) |
US7137078B2 (en) * | 2003-03-27 | 2006-11-14 | Jasper Design Automation, Inc. | Trace based method for design navigation |
-
2004
- 2004-02-27 JP JP2004053481A patent/JP2005242812A/ja active Pending
-
2005
- 2005-02-23 EP EP05003887A patent/EP1569144A3/en not_active Withdrawn
- 2005-02-25 US US11/065,535 patent/US7370297B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007102271A (ja) * | 2005-09-30 | 2007-04-19 | Nec Corp | 回路設計支援システム及び方法 |
JP2008077490A (ja) * | 2006-09-22 | 2008-04-03 | Nec Corp | 回路設計支援システム、回路設計支援方法及びプログラム |
JP2008234080A (ja) * | 2007-03-16 | 2008-10-02 | Ricoh Co Ltd | 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム、半導体集積回路、半導体集積回路の製造方法 |
JP2009211606A (ja) * | 2008-03-06 | 2009-09-17 | Nec Corp | 回路設計支援システム、回路設計支援システムの表示方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP1569144A3 (en) | 2006-05-03 |
US20050193360A1 (en) | 2005-09-01 |
US7370297B2 (en) | 2008-05-06 |
EP1569144A2 (en) | 2005-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6516456B1 (en) | Method and apparatus for selectively viewing nets within a database editor tool | |
US6684376B1 (en) | Method and apparatus for selecting components within a circuit design database | |
US6473885B1 (en) | Digital circuit layout techniques using circuit decomposition and pin swapping | |
US6889370B1 (en) | Method and apparatus for selecting and aligning cells using a placement tool | |
US20050268269A1 (en) | Methods and systems for cross-probing in integrated circuit design | |
US7971178B1 (en) | System to merge custom and synthesized digital integrated circuit design data | |
US5737234A (en) | Method of optimizing resource allocation starting from a high level block diagram | |
CN102426582B (zh) | 数据操作管理装置和数据操作管理方法 | |
EP1569144A2 (en) | System, method and program to display correspondence between behavioral and low level descriptions of an integrated circuit | |
JP2007206771A (ja) | 情報要素処理プログラム、情報要素処理方法及び情報要素処理装置 | |
US9262359B1 (en) | Method and system for implementing pipeline flip-flops | |
US7493578B1 (en) | Correlation of data from design analysis tools with design blocks in a high-level modeling system | |
JP4495865B2 (ja) | 業者間アプリケーションサービスプロバイダ | |
US7340697B2 (en) | Integrated computer-aided circuit design kit facilitating verification of designs across different process technologies | |
US7000206B2 (en) | Timing path detailer | |
US20050010378A1 (en) | Method and apparatus for synthesizing a hardware system from a software description | |
JP6043899B2 (ja) | 情報管理装置並びに情報検索方法 | |
US20050223345A1 (en) | Circuit design assistant system, circuit design method, and program product for circuit design | |
US6968518B2 (en) | Method of resolving missing graphical symbols in computer-aided integrated circuit design | |
US20140019932A1 (en) | System and method for integrated circuit design and implementation using mixed cell libraries | |
Chen et al. | Simultaneous placement with clustering and duplication | |
Rubin | Using the ELECTRIC VLSI Design System | |
JP4777834B2 (ja) | 論理図面表示方法、プログラム及び装置 | |
JP4682245B2 (ja) | Hdl処理方法、プログラム及びコンピュータ読み取り可能な記憶媒体 | |
JP2016197427A (ja) | 情報管理装置並びに情報検索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061207 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090224 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090908 |