(57)【特許請求の範囲】
【請求項１】
複数の部品を含む回路のＲＴレベルにおける信号遅延時間を求める回路解析装置であって、
前記複数の部品の種類と数および部品間の接続関係の情報を含む接続情報、該複数の部品の種類毎に単体の遅延時間および他の部品との接続によりチェイン遅延効果が発生する場合の遅延時間であるチェイン遅延時間の情報を含む遅延情報、ならびに、チェイン遅延効果を通す部品であるチェイン効果伝播部品の種類の情報を含むチェイン効果伝播部品情報を格納するための記憶部と、
前記接続情報、前記複数の部品の種類毎の前記遅延情報、および前記チェイン効果伝播部品情報が入力されると、これらの情報を前記記憶部に格納し、該記憶部に格納した情報を参照し、前記回路内の信号経路に沿って前記部品の遅延時間を順に加算する総遅延時間算出処理を行い、該総遅延時間算出処理の際、前記信号経路の途中に前記チェイン効果伝播部品があると、該チェイン効果伝播部品の前段の部品および後段の部品との接続関係を調べ、該接続関係に対応して後段の部品の遅延時間を決定するデータ処理部と、
を有する回路解析装置。
【請求項２】
複数の部品を含む回路のＲＴレベルにおける信号遅延時間を求める回路解析装置であって、
前記複数の部品の種類と数および部品間の接続関係の情報を含む接続情報、該複数の部品の種類毎に単体の遅延時間および他の部品との接続によりチェイン遅延効果が発生する場合の遅延時間であるチェイン遅延時間の情報を含む遅延情報、ならびに、チェイン遅延効果を通す部品であるチェイン効果伝播部品の種類の情報を含むチェイン効果伝播部品情報を格納するための記憶部と、
前記回路の動作記述の情報、前記複数の部品の種類毎の前記遅延情報、および前記チェイン効果伝播部品情報が入力されると、これらの情報を前記記憶部に格納し、前記動作記述の情報から前記接続情報を生成する合成処理を行って該接続情報を該記憶部に格納し、該記憶部に格納した情報を参照し、前記回路内の信号経路に沿って前記部品の遅延時間を順に加算する総遅延時間算出処理を行い、該総遅延時間算出処理の際、前記信号経路の途中に前記チェイン効果伝播部品があると、該チェイン効果伝播部品の前段の部品および後段の部品との接続関係を調べ、該接続関係に対応して後段の部品の遅延時間を決定するデータ処理部と、
を有する回路解析装置。
【請求項３】
前記記憶部に前記回路の性能仕様の情報が格納され、
前記データ処理部は、
前記総遅延時間算出処理の結果と前記性能仕様を比較し、該性能仕様を満たさない場合、前記合成処理および前記総遅延時間算出処理を再度行い、該性能仕様を満たす場合、合成処理の結果を出力部に出力させる、請求項２記載の回路解析装置。
【請求項４】
前記データ処理部は、
前記総遅延時間算出処理の際、前記信号経路の途中に前記チェイン効果伝播部品が接続されていると、該チェイン効果伝播部品の前段の部品および後段の部品の接続がチェイン遅延効果を発生する接続関係にあるか否かを判定し、該接続関係にある場合、該後段の部品の遅延時間を前記チェイン遅延時間に置換し、該接続関係にない場合、該後段の部品の遅延時間を単体の遅延時間にする、請求項１から３のいずれか１項記載の回路解析装置。
【請求項５】
前記チェイン効果伝播部品がバスを介して信号を入出力する部品である、請求項１から４のいずれか１項記載の回路解析装置。
【請求項６】
前記チェイン効果伝播部品は、入力から出力に至る経路を複数備え、経路毎にチェイン遅延効果を伝播するか否かの性質を有し、
前記チェイン効果伝播部品情報は、前記チェイン効果伝播部品の経路毎にチェイン遅延効果を伝播するか否かの情報を含む、請求項１から５のいずれか１項記載の回路解析装置。
【請求項７】
複数の部品を含む回路のＲＴレベルにおける信号遅延時間を求めるための、データ処理部および記憶部を有する回路解析装置による回路解析方法であって、
前記データ処理部は、前記複数の部品の種類と数および部品間の接続関係の情報を含む接続情報、該複数の部品の種類毎に単体の遅延時間および他の部品との接続によりチェイン遅延効果が発生する場合の遅延時間であるチェイン遅延時間の情報を含む遅延情報、ならびにチェイン遅延効果を通す部品であるチェイン効果伝播部品の種類の情報を含むチェイン効果伝播部品情報を前記記憶部に格納し、
前記データ処理部は、前記記憶部に格納した情報を参照し、前記回路内の信号経路に沿って前記部品の遅延時間を順に加算する総遅延時間算出処理を行い、該総遅延時間算出処理の際、前記信号経路の途中に前記チェイン効果伝播部品があると、該チェイン効果伝播部品の前段の部品および後段の部品との接続関係を調べ、該接続関係に対応して後段の部品の遅延時間を決定する、回路解析方法。
【請求項８】
複数の部品を含む回路のＲＴレベルにおける信号遅延時間を求めるための、データ処理部および記憶部を有する回路解析装置による回路解析方法であって、
前記データ処理部は、前記回路の動作記述の情報、前記複数の部品の種類毎に単体の遅延時間および他の部品との接続によりチェイン遅延効果が発生する場合の遅延時間であるチェイン遅延時間の情報を含む遅延情報、ならびにチェイン遅延効果を通す部品であるチェイン効果伝播部品の種類の情報を含むチェイン効果伝播部品情報を前記記憶部に格納し、
前記データ処理部は、前記動作記述の情報から前記複数の部品の種類と数および部品間の接続関係の情報を含む接続情報を生成する合成処理を行って該接続情報を前記記憶部に格納し、
前記データ処理部は、前記記憶部に格納した情報を参照し、前記回路内の信号経路に沿って前記部品の遅延時間を順に加算する総遅延時間算出処理を行い、該総遅延時間算出処理の際、前記信号経路の途中に前記チェイン効果伝播部品があると、該チェイン効果伝播部品の前段の部品および後段の部品との接続関係を調べ、該接続関係に対応して後段の部品の遅延時間を決定する、回路解析方法。
【請求項９】
前記データ処理部は、前記回路の性能仕様の情報を前記記憶部に格納し、
前記データ処理部は、前記総遅延時間算出処理の結果と前記性能仕様を比較し、該性能仕様を満たさない場合、前記合成処理および前記総遅延時間算出処理を再度行い、該性能仕様を満たす場合、合成処理の結果を出力部に出力させる、請求項８記載の回路解析方法。
【請求項１０】
前記データ処理部は、前記総遅延時間算出処理の際、前記信号経路の途中に前記チェイン効果伝播部品が接続されていると、該チェイン効果伝播部品の前段の部品および後段の部品の接続がチェイン遅延効果を発生する接続関係にあるか否かを判定し、該接続関係にある場合、該後段の部品の遅延時間を前記チェイン遅延時間に置換し、該接続関係にない場合、該後段の部品の遅延時間を単体の遅延時間にする、請求項７から９のいずれか１項記載の回路解析方法。
【請求項１１】
前記チェイン効果伝播部品がバスを介して信号を入出力する部品である、請求項７から１０のいずれか１項記載の回路解析方法。
【請求項１２】
前記チェイン効果伝播部品は、入力から出力に至る経路を複数備え、経路毎にチェイン遅延効果を伝播するか否かの性質を有し、
前記チェイン効果伝播部品情報は、前記チェイン効果伝播部品の経路毎にチェイン遅延効果を伝播するか否かの情報を含む、請求項７から１１のいずれか１項記載の回路解析方法。
【請求項１３】
複数の部品を含む回路のＲＴレベルにおける信号遅延時間を求めるためにコンピュータに実行させるためのプログラムであって、
前記複数の部品の種類と数および部品間の接続関係の情報を含む接続情報、該複数の部品の種類毎に単体の遅延時間および他の部品との接続によりチェイン遅延効果が発生する場合の遅延時間であるチェイン遅延時間の情報を含む遅延情報、ならびにチェイン遅延効果を通す部品であるチェイン効果伝播部品の種類の情報を含むチェイン効果伝播部品情報を記憶部に格納するステップと、
前記記憶部に格納した情報を参照し、前記回路内の信号経路に沿って前記部品の遅延時間を順に加算する総遅延時間算出処理を行い、該総遅延時間算出処理の際、前記信号経路の途中に前記チェイン効果伝播部品があると、該チェイン効果伝播部品の前段の部品および後段の部品との接続関係を調べ、該接続関係に対応して後段の部品の遅延時間を決定するステップと、
を有する処理を前記コンピュータに実行させるためのプログラム。
【請求項１４】
複数の部品を含む回路のＲＴレベルにおける信号遅延時間を求めるためにコンピュータに実行させるためのプログラムであって、
前記回路の動作記述の情報、前記複数の部品の種類毎に単体の遅延時間および他の部品との接続によりチェイン遅延効果が発生する場合の遅延時間であるチェイン遅延時間の情報を含む遅延情報、ならびにチェイン遅延効果を通す部品であるチェイン効果伝播部品の種類の情報を含むチェイン効果伝播部品情報を記憶部に格納するステップと、
前記動作記述の情報から前記複数の部品の種類と数および部品間の接続関係の情報を含む接続情報を生成する合成処理を行って該接続情報を該記憶部に格納するステップと、
前記記憶部に格納した情報を参照し、前記回路内の信号経路に沿って前記部品の遅延時間を順に加算する総遅延時間算出処理を行い、該総遅延時間算出処理の際、前記信号経路の途中に前記チェイン効果伝播部品があると、該チェイン効果伝播部品の前段の部品および後段の部品との接続関係を調べ、該接続関係に対応して後段の部品の遅延時間を決定するステップと、
を有する処理を前記コンピュータに実行させるためのプログラム。
【請求項１５】
前記回路の性能仕様の情報を前記記憶部に格納するステップと、
前記総遅延時間算出処理の結果と前記性能仕様を比較し、該性能仕様を満たさない場合、前記合成処理および前記総遅延時間算出処理を再度行い、該性能仕様を満たす場合、合成処理の結果を出力部に出力させるステップと、
を有する請求項１４記載のプログラム。
【請求項１６】
前記総遅延時間算出処理の際、前記信号経路の途中に前記チェイン効果伝播部品が接続されていると、該チェイン効果伝播部品の前段の部品および後段の部品の接続がチェイン遅延効果を発生する接続関係にあるか否かを判定するステップと、
前記接続がチェイン遅延効果を発生する接続関係にある場合、前記後段の部品の遅延時間を前記チェイン遅延時間に置換し、前記接続がチェイン遅延効果を発生する接続関係にない場合、該後段の部品の遅延時間を単体の遅延時間にするステップと、
を有する請求項１３から１５のいずれか１項記載のプログラム。
【請求項１７】
前記チェイン効果伝播部品がバスを介して信号を入出力する部品である、請求項１３から１６のいずれか１項記載のプログラム。
【請求項１８】
前記チェイン効果伝播部品は、入力から出力に至る経路を複数備え、経路毎にチェイン遅延効果を伝播するか否かの性質を有し、
前記チェイン効果伝播部品情報は、前記チェイン効果伝播部品の経路毎にチェイン遅延効果を伝播するか否かの情報を含む、請求項１３から１７のいずれか１項記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数ビットを束ねた配線を含むディジタル回路に対して遅延時間を解析する回路解析装置、回路解析方法、およびその方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
半導体プロセス技術の進化に伴って、年々、ディジタル回路の設計規模が大きくなるとともに、ディジタル回路の複雑さが増している。ディジタル回路が製造後に正しく動作するように設計の初期段階から見積もる技術に対する要求も、回路の設計規模および複雑さに呼応して高まっている。現在の主流である同期式のディジタル回路は、クロックとよばれる周期的なパルス信号によって回路を同期させながら処理を進めるため、クロック１周期分の時間で回路の単位動作を必ず終了させる必要がある。設計した回路が製造後に正しく動作することを保障するために、設計段階で回路の最大動作周波数を解析する静的遅延解析（ＳＴＡ；STAtic Timing Analysis）と呼ばれる手法が一般に用いられる。
【０００３】
ＳＴＡは、クロック周期やその整数倍の時間など与えられた時間内に動作を完了させなければならない回路内の経路の遅延時間を解析する技術である。このＳＴＡは、従来用いられている遅延シミュレーションよりも時間をかけることなく、遅延解析を実行できる。与えられた時間内に動作を完了しなければならない経路は、一般に、回路中の外部入力端子から記憶素子へ至る経路、または記憶素子から外部出力端子へ至る経路である。遅延解析の対象となる経路の始点から終点方向に信号を発信するときを時刻の基準とすると、その経路上にある部品への信号到着時刻を見積もることにより遅延時間を解析する。
【０００４】
従来の回路設計システムの一例が特許文献１および非特許文献１に記載されている。図１９は従来の回路設計システムの一構成例を示すブロック図である。
【０００５】
図１９に示すように、従来の回路設計システムは、入力手段としての入力装置５００と、データ処理装置５１０と、記憶装置５２０と、出力手段としての出力装置５３０とを有する。データ処理装置５１０は、回路入力手段５１１と、遅延解析手段５１２と、結果出力手段５１３とを有する構成である。以下に、従来の回路設計システムの動作を簡単に説明する。
【０００６】
入力装置５００を介して、論理回路の部品の接続関係を示す接続情報５２１が入力されると、データ処理装置５１０は接続情報５２１を記憶装置５２０に転送して格納する。一般に、論理回路の接続情報５２１は、ハードウェア記述言語などを用いて記述されており、回路を構成する部品と部品間の結線関係とが規定されている。次に、回路中に存在する各部品の遅延時間を示す遅延情報５２２が入力されると、データ処理装置５１０は遅延情報５２２を記憶装置５２０に転送して格納する。データ処理装置５１０は、上記部品毎の遅延情報５２２を参照しながら、回路中の外部入力端子から記憶素子へ至る経路、または記憶素子から外部出力端子へ至る経路のうち、最も長いものを計算する。最長経路を効率よく計算する手法は数多く提案されており、例えば、特許文献１に開示されている。このようにして、最長信号経路を求めることが可能である。
【０００７】
続いて、データ処理装置５１０はＳＴＡの手法により回路の遅延を算出するが、最も一般的なＳＴＡの手法の動作を説明する。回路を構成する各部品の遅延時間を予め計測して、上述したように記憶装置５２０に格納しておく。回路の接続関係の情報を元にして、外部入力端子等の始点から外部出力端子およびレジスタ等の終点まで、経路上の部品毎に信号到着時刻を求める。複数の経路からそれぞれ信号を受け取る部品では、始点からの信号到着時刻が最も遅いものを採用し、採用した信号到着時刻を次の部品に伝播させる。このようにして、回路の全ての端子における最も遅い信号到着時刻を終点側へ順に伝播させて、終点における信号到着時刻を見積もる。このとき、求めた最長信号経路を参照することで、回路全体の信号到着時刻の最も遅い時刻を高速に決定できる。
【０００８】
ＳＴＡの手法は、ゲートレベルと呼ばれる、入力数の少ない論理ゲートを回路部品とする抽象レベルの回路表現に対して実施されてきた。ゲートレベルの回路においては、回路部品間の結線は、物理的な一本の配線に対応するものとされ、意味的にまとまりを持つ複数本の信号線を束にしたバスと呼ばれる信号線は想定されていなかった。バスは一定幅のビット数の信号を並行して伝送する。このゲートレベルの回路では、回路部品の遅延時間は、一般に回路部品によってのみ決まり、信号がどのような経路を辿って該当回路部品に到着したかには依存しない。従来提案されているＳＴＡ手法では、経路の遅延時間は、経路上の部品の遅延時間に依存するが、配線構成に非依存であることを前提としている。
【０００９】
近年、回路の大規模化、複雑化に伴い、回路設計は、ＲＴ（Register Transfer）レベルと呼ばれるゲートレベルより抽象度の高いレベルで実施されるようになっており、ＲＴレベルにおける高速な遅延解析が求められている。特に、Ｃ言語による動作記述を入力としてＲＴレベルの回路を自動合成する動作合成ＣＡＤ（Computer Aided Design）においては、多数のＲＴレベルの回路を生成して評価しながら最適な回路を探索する必要があるため、ＲＴレベルでの高速なＳＴＡの実行が求められる。
【００１０】
ＲＴレベルにおいては、回路の部品は基本論理素子に加え演算器やセレクタと呼ばれる、より大規模な部品とその接続によって回路構成が表現される。また、複数のビット線が並列に入力されるような場合でも複数のビット線を束ねて１つの信号線として記述するため、回路表現上１本の接続であっても物理的には複数本の信号線が用いられていることがある。これにより遅延の見積もり誤差が生じる場合がある。
【００１１】
ＲＴレベルにおける遅延見積もり誤差の原因の１つにチェイン遅延効果がある。チェインとは、ビット線を束ねて信号を入出力する部品同士を、記憶素子を間に挟まないで、直列に接続することである。チェイン遅延効果とは、上記チェインされた部品群全体の遅延時間が、部品単体の遅延時間をチェインされた部品全部について加算した値とは異なる値になる現象をいう。このチェイン遅延効果については、例えば、特許文献２や非特許文献２に開示されている。以下では、２つの部品の接続によりチェイン遅延効果が発生するときの一方の部品に対して見積もる遅延時間を、チェイン遅延時間と称する。
【００１２】
チェイン遅延効果を桁上げ計算式加算器のチェイン接続の例を用いて説明する。図２０は桁上げ計算式加算器のチェイン接続の回路例を示す図である。図２０（ａ）がＲＴレベルでの表現を示し、図２０（ｂ）がゲートレベルでの回路表現を示す。以下では、桁上げ計算式加算器を、単に加算器と称する。
【００１３】
図２０（ａ）に示す回路では、4ビットの加算器５５１、５５２が２段直列に接続されている。この加算器５５１、５５２の単体の遅延時間は、計測により4dであった。図２０（ｂ）で１つのブロックとして表現されている1ビットの加算ゲート５５３の遅延時間を一様にdとする。図２０（ｂ）に示すように、この回路全体の最長信号経路は点線で示される経路であり、最長遅延時間は5dとなる。一方、ＲＴレベルの回路でＳＴＡを実施した場合、回路の遅延時間は、遅延時間4dの加算器５５１、５５２が２段接続されていることから、4d + 4d= 8dと求まる。この結果からわかるように、ＲＴレベルの回路にＳＴＡ手法で遅延時間を求めると、ゲートレベルでのＳＴＡ結果である5dに対して大きな誤差を含むことになる。
【００１４】
チェイン遅延効果を考慮した部品の遅延情報については、非特許文献３に開示された内容から類推すると、チェイン遅延効果の存在する部品を他の部品と直列に接続させた状態で遅延時間を予め計測し、その遅延情報を部品単体の遅延とは別に記憶装置５２０に格納しておけばよい。
【特許文献１】米国特許４２６３６５１号公報
【特許文献２】特開平１１−９６２０３号公報
【非特許文献１】Robert B. Hitchcock, Sr.著、「Timing Verification and the Timing Analysis Program」、Proceedings of 19th Design Automation Conference, pp. 594-604.
【非特許文献２】Mukund Sivaraman, Shail Aditya著、「Cycle-time Aware Architecture Synthesis of Custom Hardware Accelerators」、Proceedings of the 2002 international conference on Compilers, architecture, and synthesis for embedded systems, pp. 35-42.
【非特許文献３】Stefaan Note, Francky Catthoor, Gert Goossens, Hugo De Man著、「Combined Hardware selction and Pipelining in High Performance Data-Path Design」、IEEE Transactions on Computer-Aided Design, vol.9, pp. 413-423, April 1992.
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかし、非特許文献３で類推した手法と上述した一般的なＳＴＡ手法を組み合わせても遅延が正しく計測できない場合がある。それは、２つの部品の接続関係により発生するチェイン遅延効果が、それらの部品間に別の種類の部品を挟んだ場合においても起こるためである。以下に、その一例を説明する。
【００１６】
図２１は図２０で説明した２段の加算器の直列接続の間に他の部品を接続した例である。図２１に示すように、加算器５５１と加算器５５２の間に別の種類の部品としてマルチプレクサ５５５が接続されている。マルチプレクサ５５５は、ゲートレベルにおいては、各ビットに同じ論理の部品を並列にならべた構造をしている。図２１（ａ）に示すＲＴレベルの回路では、加算器５５１と加算器５５２は直列に接続されていないにもかかわらず、加算器同士の接続によるチェイン遅延効果が存在する。
【００１７】
一般的なＳＴＡ手法においては、与えられた回路の中にある部品の遅延は一般に経路に独立であることを前提としている。部品とその直前に接続されている部品を参照すれば上記従来のＳＴＡ手法でチェイン遅延効果を考慮することは可能である。しかし、チェイン遅延効果が直接接続されていない部品間に存在する場合には、それらの部品間の経路上に存在する部品の信号到着時刻は経路に依存するため、該当部品における信号到着時刻のうち最も遅いものを始点側にある部品のみから決定することはできない。よって、例えば、回路中に存在する全ての経路を数え上げるなどの効率の悪い手法でしかこのような回路の遅延を正しく計測することができない。
【００１８】
本発明は上述したような従来の技術が有する問題点を解決するためになされたものであり、ゲートレベルよりも抽象度の高いＲＴレベルにおける回路の信号伝播遅延をより正確に解析可能にした回路解析装置、回路解析方法、およびその方法をコンピュータに実行させるためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
上記目的を達成するための本発明の回路解析装置は、複数の部品を含む回路のＲＴレベルにおける信号遅延時間を求める回路解析装置であって、
前記複数の部品の種類と数および部品間の接続関係の情報を含む接続情報、該複数の部品の種類毎に単体の遅延時間および他の部品との接続によりチェイン遅延効果が発生する場合の遅延時間であるチェイン遅延時間の情報を含む遅延情報、ならびに、チェイン遅延効果を通す部品であるチェイン効果伝播部品の種類の情報を含むチェイン効果伝播部品情報を格納するための記憶部と、
前記接続情報、前記複数の部品の種類毎の前記遅延情報、および前記チェイン効果伝播部品情報が入力されると、これらの情報を前記記憶部に格納し、該記憶部に格納した情報を参照し、前記回路内の信号経路に沿って前記部品の遅延時間を順に加算する総遅延時間算出処理を行い、該総遅延時間算出処理の際、前記信号経路の途中に前記チェイン効果伝播部品があると、該チェイン効果伝播部品の前段の部品および後段の部品との接続関係を調べ、該接続関係に対応して後段の部品の遅延時間を決定するデータ処理部と、
を有する構成である。
【００２０】
本発明では、総遅延時間算出処理の際、経路の途中にチェイン効果伝播部品があると、その前後の接続関係がチェイン遅延効果を発生するものであるか否かを判定し、接続関係にチェイン遅延効果が発生する場合にはチェイン遅延効果を考慮して後段の部品の遅延時間が決定される。その結果、チェイン遅延効果が考慮されないことで含まれる誤差が計算結果から取り除かれる。
【００２１】
また、本発明の回路解析装置は、複数の部品を含む回路のＲＴレベルにおける信号遅延時間を求める回路解析装置であって、
前記複数の部品の種類と数および部品間の接続関係の情報を含む接続情報、該複数の部品の種類毎に単体の遅延時間および他の部品との接続によりチェイン遅延効果が発生する場合の遅延時間であるチェイン遅延時間の情報を含む遅延情報、ならびに、チェイン遅延効果を通す部品であるチェイン効果伝播部品の種類の情報を含むチェイン効果伝播部品情報を格納するための記憶部と、
前記回路の動作記述の情報、前記複数の部品の種類毎の前記遅延情報、および前記チェイン効果伝播部品情報が入力されると、これらの情報を前記記憶部に格納し、前記動作記述の情報から前記接続情報を生成する合成処理を行って該接続情報を該記憶部に格納し、該記憶部に格納した情報を参照し、前記回路内の信号経路に沿って前記部品の遅延時間を順に加算する総遅延時間算出処理を行い、該総遅延時間算出処理の際、前記信号経路の途中に前記チェイン効果伝播部品があると、該チェイン効果伝播部品の前段の部品および後段の部品との接続関係を調べ、該接続関係に対応して後段の部品の遅延時間を決定するデータ処理部と、
を有する構成である。
【００２２】
本発明では、回路の動作記述の状態から遅延解析が行われ、総遅延時間算出処理の際、経路の途中にチェイン効果伝播部品があると、その前後の接続関係がチェイン遅延効果を発生するものであるか否かを判定し、接続関係にチェイン遅延効果が発生する場合にはチェイン遅延効果を考慮して後段の部品の遅延時間が決定される。
【００２３】
一方、上記目的を達成するための本発明の回路解析方法は、複数の部品を含む回路のＲＴレベルにおける信号遅延時間を求めるための、データ処理部および記憶部を有する回路解析装置による回路解析方法であって、
前記データ処理部は、前記複数の部品の種類と数および部品間の接続関係の情報を含む接続情報、該複数の部品の種類毎に単体の遅延時間および他の部品との接続によりチェイン遅延効果が発生する場合の遅延時間であるチェイン遅延時間の情報を含む遅延情報、ならびにチェイン遅延効果を通す部品であるチェイン効果伝播部品の種類の情報を含むチェイン効果伝播部品情報を前記記憶部に格納し、
前記データ処理部は、前記記憶部に格納した情報を参照し、前記回路内の信号経路に沿って前記部品の遅延時間を順に加算する総遅延時間算出処理を行い、該総遅延時間算出処理の際、前記信号経路の途中に前記チェイン効果伝播部品があると、該チェイン効果伝播部品の前段の部品および後段の部品との接続関係を調べ、該接続関係に対応して後段の部品の遅延時間を決定するものである。
【００２４】
また、本発明の回路解析方法は、複数の部品を含む回路のＲＴレベルにおける信号遅延時間を求めるための、データ処理部および記憶部を有する回路解析装置による回路解析方法であって、
前記データ処理部は、前記回路の動作記述の情報、前記複数の部品の種類毎に単体の遅延時間および他の部品との接続によりチェイン遅延効果が発生する場合の遅延時間であるチェイン遅延時間の情報を含む遅延情報、ならびにチェイン遅延効果を通す部品であるチェイン効果伝播部品の種類の情報を含むチェイン効果伝播部品情報を前記記憶部に格納し、
前記データ処理部は、前記動作記述の情報から前記複数の部品の種類と数および部品間の接続関係の情報を含む接続情報を生成する合成処理を行って該接続情報を前記記憶部に格納し、
前記データ処理部は、前記記憶部に格納した情報を参照し、前記回路内の信号経路に沿って前記部品の遅延時間を順に加算する総遅延時間算出処理を行い、該総遅延時間算出処理の際、前記信号経路の途中に前記チェイン効果伝播部品があると、該チェイン効果伝播部品の前段の部品および後段の部品との接続関係を調べ、該接続関係に対応して後段の部品の遅延時間を決定するものである。
【００２５】
また、上記目的を達成するための本発明のプログラムは、複数の部品を含む回路のＲＴレベルにおける信号遅延時間を求めるためにコンピュータに実行させるためのプログラムであって、
前記複数の部品の種類と数および部品間の接続関係の情報を含む接続情報、該複数の部品の種類毎に単体の遅延時間および他の部品との接続によりチェイン遅延効果が発生する場合の遅延時間であるチェイン遅延時間の情報を含む遅延情報、ならびにチェイン遅延効果を通す部品であるチェイン効果伝播部品の種類の情報を含むチェイン効果伝播部品情報を記憶部に格納するステップと、
前記記憶部に格納した情報を参照し、前記回路内の信号経路に沿って前記部品の遅延時間を順に加算する総遅延時間算出処理を行い、該総遅延時間算出処理の際、前記信号経路の途中に前記チェイン効果伝播部品があると、該チェイン効果伝播部品の前段の部品および後段の部品との接続関係を調べ、該接続関係に対応して後段の部品の遅延時間を決定するステップと、
を有する処理を前記コンピュータに実行させるものである。
【００２６】
さらに、本発明のプログラムは、複数の部品を含む回路のＲＴレベルにおける信号遅延時間を求めるためにコンピュータに実行させるためのプログラムであって、
前記回路の動作記述の情報、前記複数の部品の種類毎に単体の遅延時間および他の部品との接続によりチェイン遅延効果が発生する場合の遅延時間であるチェイン遅延時間の情報を含む遅延情報、ならびにチェイン遅延効果を通す部品であるチェイン効果伝播部品の種類の情報を含むチェイン効果伝播部品情報を記憶部に格納するステップと、
前記動作記述の情報から前記複数の部品の種類と数および部品間の接続関係の情報を含む接続情報を生成する合成処理を行って該接続情報を該記憶部に格納するステップと、
前記記憶部に格納した情報を参照し、前記回路内の信号経路に沿って前記部品の遅延時間を順に加算する総遅延時間算出処理を行い、該総遅延時間算出処理の際、前記信号経路の途中に前記チェイン効果伝播部品があると、該チェイン効果伝播部品の前段の部品および後段の部品との接続関係を調べ、該接続関係に対応して後段の部品の遅延時間を決定するステップと、
を有する処理を前記コンピュータに実行させるものである。
【発明の効果】
【００２７】
本発明によれば、ＲＴレベルなどのゲートレベルよりも抽象度の高いレベルにおいても、チェイン遅延効果が存在する回路に対してより正確な回路伝播遅延を効率よく解析でき、回路の性能をより正確に見積もることができる。
【発明を実施するための最良の形態】
【００２８】
本発明の回路解析装置は、回路の接続情報および遅延情報の他に、チェイン遅延効果が発生する接続関係の部品間に設けられても、そのチェイン遅延効果を起こさせる部品の種類の情報を予め記憶部に登録し、登録した情報を参照して経路の遅延時間を算出することを特徴とする。
（第１の実施形態）
本実施形態の回路設計システムの構成について図面を参照して詳細に説明する。図１は本実施形態の回路設計システムの一構成例を示すブロック図である。
【００２９】
図１に示すように、本実施形態の回路設計システムは、キーボードおよびフロッピィディスク読み取り装置等の入力装置１００と、プログラム制御により動作するデータ処理装置１１０と、入力装置１００から入力される情報を保存するための記憶装置１２０と、ディスプレイ装置などの出力装置１３０とを有する構成である。データ処理装置１１０は、回路入力手段１１１と、遅延解析手段１１２と、結果出力手段１１３とを含む。
【００３０】
データ処理装置１１０は、プログラムにしたがって所定の処理を実行するＣＰＵ（Central Processing Unit）（不図示）と、プログラムを格納するためのメモリ（不図示）とを有する。ＣＰＵがプログラムを実行することで、回路入力手段１１１、遅延解析手段１１２、および結果出力手段１１３がデータ処理装置１１０内に仮想的に構成される。これらの手段の動作を簡単に説明する。
【００３１】
回路入力手段１１１は、回路の接続情報１２１と、回路内の各部品の遅延情報１２２と、信号到着時刻の確定できない部品の情報１２３とが入力装置１００を介して入力されると、これらの情報を記憶装置１２０に格納する。接続情報１２１は、回路を構成する部品の種類と数、および部品間の接続関係の情報を含む。接続情報１２１の記述形式には様々な種類があるため、回路入力手段１１１は、入力される接続情報１２１を遅延解析手段１１２が処理可能な形式に加工する。遅延情報１２２には、部品単体の遅延の他に、他の部品との接続によりチェイン遅延効果が発生する部品については、そのチェイン遅延の情報が含まれている。
【００３２】
ここで、信号到着時刻の確定できない部品の性質について説明する。この部品の前後に接続される部品間にチェイン遅延効果が発生しない場合、後段に接続される部品の遅延時間がその単体の遅延時間となるが、前後に接続される部品間にチェイン遅延効果が発生する場合には、後段に接続される部品の遅延時間がチェイン遅延時間に置き換えられる。このように、信号到着時刻の確定できない部品はチェイン遅延効果が通り抜けてしまう性質があることから、以下では、この部品をチェイン効果伝播部品と称する。例えば、バスを介して信号を入出力する部品にチェイン効果伝播部品の性質が現れる。従来技術で説明したマルチプレクサは、チェイン効果伝播部品の一種である。信号到着時刻の確定できない部品の情報１２３とは、チェイン効果伝播部品の種類を示す情報となる。
【００３３】
遅延解析手段１１２は、回路の終点での信号到着時刻を求める旨の指示が入力されると、回路の始点から終点までの経路について、回路の接続情報１２１、部品毎の遅延情報１２２、およびチェイン効果伝播部品の情報１２３を参照しながら、各部品単体の遅延時間を順に加算して信号到着時刻を求める。その際、始点から終点までの経路途中に、チェイン効果伝播部品があると、その前後に接続される部品間の接続関係を調べる。その接続関係がチェイン遅延効果を発生しないものである場合、チェイン効果伝播部品の後段に接続された部品の単体の遅延時間を加算対象とする。一方、その接続関係がチェイン遅延効果を発生するものである場合、チェイン効果伝播部品の後段に接続された部品の遅延時間をチェイン遅延時間に置き換える。
【００３４】
結果出力手段１１３は、経路毎に求めた信号到着時刻のうち、最も遅い時刻の信号到着時刻を決定し、決定した信号到着時刻をユーザに分かりやすいように出力装置１３０に出力させる。
【００３５】
次に、本実施形態の回路設計システムの全体の動作を説明する。図２は本実施形態の回路設計システムの動作手順を示すフローチャートである。ここでは、回路内の始点となる部品が複数設けられ、終点まで複数の経路があるものとする。
【００３６】
ユーザの操作により、入力装置１００を介して、遅延時間の測定対象となる回路の接続関係を示す接続情報１２１がデータ処理装置１１０に入力される。接続情報１２１の記述形式には、Verilog ？HDLおよびVHDLなどのハードウェア記述言語などを用いた言語形式の記述、図形形式の記述、ならびにバイナリ形式の記述などがあるが、いずれの形式でもよい。回路入力手段１１１は、いずれかの記述による接続情報１２１を、データ処理装置１１０が処理可能な形式に変換して記憶装置１２０に転送する（ステップ１００１）。次に、入力装置１００を介して、回路中の各部品の遅延情報１２２と、チェイン効果伝播部品の情報１２３が入力される。回路入力手段１１１は、遅延情報１２２とチェイン効果伝播部品の情報１２３を、データ処理装置１１０が処理可能な形式に変換して記憶装置１２０に転送する（ステップ１００２、１００３）。
【００３７】
続いて、回路の終点での信号到着時刻を求める旨の指示が入力されると、遅延解析手段１１２が、接続情報１２１、部品毎の遅延情報１２２、およびチェイン効果伝播部品の情報１２３を用いて、回路中の信号の始点となる複数の部品からそれぞれの経路を辿って順に遅延時間を加算して、終点の信号到着時刻をそれぞれ求める（ステップ１００４）。ただし、経路途中にチェイン効果伝播部品があると、その部品の前後の接続関係を調べ、接続関係に対応して後段の部品の遅延時間を決定する。このようにして、各経路の終点の信号到着時刻を求め、求めた信号到着時刻の中で最も遅い信号到着時刻を出力装置１３０に出力させる（ステップ１００５）。ステップ１００５で、全ての回路部品の信号到着時刻を出力してもよく、信号の始点から最も遅く信号が到着する終点までの経路を出力するようにしてもよい。なお、終点の信号到着時刻は、その経路の総遅延時間に相当する。
【００３８】
次に、ステップ１００４における遅延解析の処理内容を詳しく説明する。図３は遅延解析の処理手順を示すフローチャートである。
【００３９】
次の部品がチェイン効果伝播部品であるか否かを判定する（ステップ１０１１）。チェイン効果伝播部品であると、その前後に接続される部品間の接続関係がチェイン遅延効果を発生させるものであるか否かを判定する（ステップ１０１２）。接続関係がチェイン遅延効果を発生させるものである場合、後段に接続される部品の遅延時間をチェイン遅延時間に置換して、チェイン効果伝播部品までの信号到着時刻にチェイン遅延時間を加算する（ステップ１０１３）。一方、ステップ１０１１で次の部品がチェイン効果伝播部品でない場合、その部品の遅延時間を前段の部品の信号到着時刻に加算する。また、ステップ１０１２で前後の接続関係がチェイン遅延効果を発生させるものでない場合、後段に接続された部品の遅延時間を単体の遅延時間とする（ステップ１０１４）。
【００４０】
次に、本実施形態の効果を説明する。本実施形態では、上述したように、チェイン効果伝播部品の情報を予め記憶装置に格納するようにしている。そのため、チェイン効果伝播部品を含む回路の遅延解析において、チェイン遅延効果を考慮にいれた精度の高い信号到着時刻の予測ができる。
【００４１】
また、バスを介して信号が入出力される部品間にチェイン遅延効果が存在する接続関係において、その部品間に他の部品を挟んだ場合にも遅延に影響を及ぼすが、本発明では、その効果を考慮に入れながら効率よく回路の信号伝播遅延を計測することができる。
（第２の実施形態）
本実施形態の回路設計システムの構成について図面を参照して詳細に説明する。図４は本実施形態の回路設計システムの一構成例を示すブロック図である。
【００４２】
図４に示すように、本実施形態の回路設計システムは、キーボードおよびフロッピィディスク読み取り装置等の入力装置２００と、プログラム制御により動作するデータ処理装置２１０と、入力装置２００から入力される情報を保存するための記憶装置２２０と、ディスプレイ装置などの出力装置２３０とを有する構成である。データ処理装置２１０は、回路入力手段２１１と、動作合成手段２１２と、遅延解析手段２１３と、結果出力手段２１４とを含む。
【００４３】
データ処理装置２１０は、プログラムにしたがって所定の処理を実行するＣＰＵ（不図示）と、プログラムを格納するためのメモリ（不図示）とを有する。ＣＰＵがプログラムを実行することで、回路入力手段２１１、動作合成手段２１２、遅延解析手段２１３、および結果出力手段２１４がデータ処理装置２１０内に仮想的に構成される。これらの手段の動作を簡単に説明する。
【００４４】
回路入力手段２１１は、回路の動作記述２２１の情報と、合成する回路の各部品の遅延情報２２３と、チェイン効果伝播部品の情報２２４とが入力装置２００を介して入力されると、これらの情報を記憶装置２２０に格納する。
【００４５】
回路の動作記述２２１の形式には、C言語、C++言語、SystemC言語、およびSpecC言語などの高位言語、Verilog - HDL、およびVHDLなどのハードウェア記述言語などを用いた言語形式の記述、状態遷移図などの図形形式の記述、ならびにバイナリ形式の記述などがある。
【００４６】
動作合成手段２１２は、回路部品の遅延情報２２３などを参照して、動作記述２２１の情報からＲＴレベル回路の接続情報２２２を生成して記憶部２２０に格納する。
【００４７】
なお、遅延解析手段２１３は、第１の実施形態の遅延解析手段１１３と同様な構成であるため、ここでは、詳細な説明を省略する。また、結果出力手段２１４は、第１の実施形態の結果出力手段２１３と同様な構成であるため、詳細な説明を省略する。
【００４８】
また、本実施形態のデータ処理装置２１０は、各経路の終点の信号到着時刻を求めると、得られた信号到着時刻と設計者によって与えられた回路の性能仕様とを比較し、性能仕様を満足しているか否かを判定する。性能仕様を満足していない場合、動作合成処理を再実行する。性能仕様を満たしている場合、合成結果を出力装置２３０に出力させる。なお、性能仕様の情報は予め記憶装置２２０に格納されている。性能仕様には、各経路の総遅延時間、総遅延時間の最も大きい時間などの目標値の情報が含まれている。
【００４９】
次に、本実施形態の回路設計システムの全体の動作を説明する。図５は本実施形態の回路設計システムの動作手順を示すフローチャートである。
【００５０】
ユーザの操作により、入力装置２００を介して、遅延時間の測定対象となる回路の動作記述２２１の情報と、回路中の各部品の遅延情報２２３と、チェイン効果伝播部品の情報２２４が入力される。回路入力手段２１１は、これらの情報をデータ処理装置２２０が処理可能な形式にして記憶装置２２０に転送する（ステップ１１０１）。
【００５１】
続いて、動作合成手段２１２は、動作記述２２１を元に部品の遅延情報２２３などを利用し、動作記述２２１の情報からＲＴレベルの回路を合成し、回路の接続情報２２３を生成して記憶装置２２０に格納する（ステップ１１０２）。そして、回路の終点での信号到着時刻を求める旨の指示が入力されると、遅延解析手段２１３が、接続情報２２２、部品毎の遅延情報２２３、およびチェイン効果伝播部品の情報２２４を用いて、回路中の信号の始点となる複数の部品からそれぞれの経路を辿って順に遅延時間を加算して、終点の信号到着時刻をそれぞれ求める（ステップ１１０３）。ただし、経路途中にチェイン効果伝播部品があると、その部品の前後の接続関係を調べ、接続関係に対応して後段の部品の遅延時間を決定する。このようにして、各経路の終点の信号到着時刻を求める。
【００５２】
ステップ１１０３の結果、得られた信号到着時刻と設計者によって与えられた回路の性能仕様とを比較し、性能仕様を満足しているか否かを判定する（ステップ１１０４）。性能仕様を満足していない場合、ステップ１１０２に戻り動作合成処理を再実行する。ステップ１１０４において性能仕様を満たしている場合、合成結果を出力装置２３０に出力させる（ステップ１１０５）。
【００５３】
次に、本実施形態の効果について説明する。本実施形態では、上述したように、チェイン効果伝播部品の情報を予め記憶装置に格納し、動作合成によって得られた回路の性能に対してチェイン遅延効果を考慮することで、遅延時間を高い精度で予測することができる。また、全パスを網羅的に検証するなどの時間のかかる処理を必要としないため、図５に示したステップ１１０２からステップ１１０４の間の処理を繰り返し、多数実行でき、より高品質の回路を合成する動作合成手段を実現できる。
【実施例１】
【００５４】
本実施例において、第１および第２の実施形態で述べた遅延解析の方法を具体的に説明する。本実施例においては、部品nの遅延時間をdelay(n)と表記し、部品mから部品nというチェインにおける部品nの遅延時間をdelay(m, n)と表記し、最も遅い信号が部品nの出力端子に到着する時刻をatime(n)と表記する。
【００５５】
図６は回路の接続情報を示す一例である。図６に示すように、回路は、演算部品add1, add2, sub1, mux1の部品、およびレジスタa, b, c, d, e, f, gの部品からなる。そして、a→add1, b→add1, c→sub1, d→sub1, add1→mux1,sub1→mux1, mux1→f, mux1→add2, e→add2, add2→gという接続がある。演算部品add1, add2, sub1, mux1の遅延時間がそれぞれ10, 10, 8, 5である。また、add1→add2というチェインにおけるadd2の遅延時間は2であり、sub1→add2というチェインにおけるadd2の遅延時間は5である。これらの遅延時間をまとめた遅延情報を図７に示す。add2単体の遅延時間は、add1と等しいため、図７ではその表記を省略している。なお、これらの遅延時間の値は、基準となる遅延時間に対する相対値を示しているため、単位を省略している。
【００５６】
そして、本実施例では、チェイン遅延効果が通り抜けるために信号到着時刻が確定できない部品となるチェイン効果伝播部品はmux1である。図８は、チェイン効果伝播部品の情報を示す例であり、この情報が記憶装置に格納される。
【００５７】
この回路の最大動作周波数を決定するレジスタ間の最大遅延は、例えば、以下の手順で求められる。
【００５８】
はじめに、特許文献１に述べられている手法同様、始点および終点となる部品を決定した後、全ての部品を始点に近いほうから順になるようにソートして、始点になる部品と、経路途中にある部品と、終点になる部品とに分類し、その結果をリストに保存する。このリストをソートリストと称する。始点となる部品は、例えば、レジスタおよび外部入力端子などである。終点となる部品は、例えば、レジスタおよび外部出力端子などである。ここで、本発明においては、チェイン効果伝播部品の情報を参照することで、チェイン効果伝播部品をソートリストの対象から除外する。図６に示す例の場合、ソートの結果得られるリストは、a, b, c, d, e, add1, sub1, f, add2, gのようになる。
【００５９】
次に、ソートリストの順に各部品における信号到着時刻の最も遅いものを、以下のようにして決定する。なお、信号到着時刻の最も遅いものを最遅信号到着時刻と称する。
【００６０】
予めソートした順に遅延時間の計算処理をすると、ソートリストにある部品毎の遅延時間は図７により確定されるため、経路上の任意の部品より始点に近い全ての部品における最遅信号到着時刻を効率よく求めることができる。ただし、チェイン効果伝播部品のようにチェイン遅延効果が通り抜ける部品については、その部品より始点側に接続された前段側の部品と終点側に接続された後段側の部品とがチェインする可能性がある。そのため、後段側にチェイン効果伝播部品が接続されている部品については、最遅信号到着時刻を始点側にある部品のみから決定することはできない。後段にチェイン効果伝播部品が接続された部品の最遅信号到着時刻を確定することができないことから、上述のソートリストの対象からチェイン効果伝播部品を除外している。
【００６１】
図６に示した回路における各部品の最遅信号到着時刻の求め方を説明する。図９から図１２は最遅信号到着時刻を求める手順を説明するための図である。
【００６２】
図６に示す例では、上記ソートリストにしたがって、レジスタa, b, c, d, eの信号到着時刻を0と設定し、次にadd1の出力端子における遅延を決定する。この際、add1の入力端子はそれぞれ始点a, bに直接接続されているためチェイン遅延効果は存在しない。よって、add1の出力端子における最遅信号到着時刻は、atime(add1) = max (atime(a) + delay(add1), atime(b) + delay(add1)) = max (0+10, 0+10) = 10となる（図９）。
【００６３】
同様にしてsub1の最遅信号到着時刻を求めると、sub1の最遅信号到着時刻は、atime(sub1) = max (atime(c) + delay(sub1), atime(d) + delay(sub1)) = max (0+8, 0+8) = 8となる（図１０）。図１０に示すように、演算部品add1を経由してmux1に到着する信号の到着時刻の方が、演算部品sub1を経由してmux1に到着する信号の到着時刻よりも遅いことがわかる。同様にしてfの最遅信号到着時刻を求めると、fの最遅信号到着時刻はatime(f) = max (atime(add1) + delay(mux1), atime(sub1) + delay(mux1)) = max(10+5, 8+5) = 15となる（図１１）。
【００６４】
次に、add2の最遅信号到着時刻を、以下のようにして決定する。ここで、図６に示した回路を参照すると、add2の入力端子の一方にはチェイン効果伝播部品であるmux1が接続されている。そのため、mux1の最遅信号到着時刻が確定されないため、mux1の入力端子を辿り、mux1の入力側に接続されているadd1およびsub1のそれぞれとadd2との接続関係を調べる必要がある。図７に示した遅延情報を参照すると、add1とadd2との接続、およびsub1とadd2との接続には、それぞれチェイン遅延効果が存在する。そのため、add2の遅延時間は、add1との接続ではチェイン遅延時間2となり、sub1との接続ではチェイン遅延時間5となる。よって、add2の最遅信号到着時刻 atime(add2)は、atime(add2) = max(atime(add1) + delay(mux1) + delay(add2, add1), atime(sub1) + delay(mux1) + delay(add2, sub1), atime(e) + delay(add2) ) = max (10+5+2, 8+5+5, 0+10) = 18となる（図１２）。最後に、終点gの信号到着時刻は、atime(g) = atime(add2) = 18と求まる。よって、図１２に示す結果から、図６に示した回路の最大遅延時間は18であると決定される。
【００６５】
図１３は従来の方法による遅延結果を示す図である。従来の方法では、図１３（ｂ）に示す遅延情報を利用すると、終点gの最遅信号到着時刻は、atime(g) = atime(add2)= max(atime(add1) + delay(mux1) + delay(add2), atime(sub1) + delay(mux1) + delay(add2), atime(e) + delay(add2) ) = max (10+5+10, 8+5+10, 0+10) = 25と計算される（図１３（ａ））。これは、本実施例の結果と比べて、遅延時間７の誤差を含むことになる。
【００６６】
上記のように、各部品においてチェイン効果伝播部品の情報を記憶装置に保存し、遅延計測時にそれを参照することによってチェイン遅延を考慮してより精度の高い演算器の遅延を求めることができる。
【実施例２】
【００６７】
本実施例は、チェイン効果伝播部品の中に複数の経路があり、経路によってチェイン遅延効果を伝播するか否か異なる場合である。
【００６８】
本実施例においても、部品nの遅延をdelay(n)と記し、部品mから部品nというチェインにおける部品nの遅延をdelay(m, n)と記し、最も遅い信号が部品nの出力端子に到着する時刻をatime(n)と記す。
【００６９】
図１４は回路の接続情報を示す一例である。図１４に示すように、回路は、演算部品add1, sub1, sft1, add2およびレジスタ部品a, b, c, d, e, f, gからなる。そして、a→add1, b→add1, add1→sft1, sft1→f, sft1→add2, c→sub1, d→sub1, e→add2, add2→gという接続がある。演算部品add1, add2, sub1の遅延は、実施例１と同様に、それぞれ10, 10, 8である。また、add1→add2, sub1→add2というチェインにおけるadd2のチェイン遅延も、実施例１と同様に、それぞれ2, 5である。演算部品sft1の遅延は図１５に示すとおり6である。
【００７０】
本実施例では、チェイン効果が通り抜けるために信号到着時刻が確定できない部品となるチェイン効果伝播部品はsft1である。図１６は、記憶装置に格納される、本実施例のチェイン効果伝播部品の情報の一例を示す図である。ここで、演算部品sft1の性質を説明する。演算部品sft1は２つの入力端子を有している。そして、この演算部品sft1は、２つの入力端子のうち一方の入力端子から出力端子にいたる経路においてはチェイン遅延効果を伝播するが、もう一方の入力端子から出力端子に至る経路においてはチェイン遅延効果を伝播しない性質がある。演算部品sft1のように、チェイン効果伝播部品の中に複数の経路があり、経路によってチェイン遅延効果の伝播機能の有無が異なる場合がある。このような場合、図１６に示すように、経路毎のチェイン効果伝播機能の有無の情報をチェイン効果伝播部品の情報に含めて記憶装置に保存しておく。
【００７１】
図１４に示した回路の最大動作周波数を決定するレジスタ間の最大遅延は、例えば、以下の手順で求められる。
【００７２】
はじめに、実施例１と同様に、信号到着時刻の確定できる部品に対してソートリストを作成する。図１４に示した例の場合、ソートの結果得られるリストは、a, b, c, d, e, add1, sub1, f, add2, gのようになる。
【００７３】
次に、上記ソートリストにしたがって、レジスタa, b, c, d, e, の到着時刻を0と設定する。実施例１と同様に、add1, sub1の信号到着時刻を求めれば、add1の出力端子における信号到着時刻は、atime(add1) = max (atime(a) + delay(add1), atime(b) + delay(add1)) = 10となる。また、sub1の信号到着時刻は、atime(sub1) = max (atime(c) + delay(sub1), atime(d) + delay(sub1)) = 8となる。そして、fの信号到着時刻は、atime(f) = max (atime(add1) + delay(sft1), atime(add2) + delay(sft1)) = 16となる。図１７は、fの信号到着時刻が求まった時点での回路および各部品の信号到着時刻を示す図である。
【００７４】
次に、add2の信号到着時刻を、以下のようにして決定する。ここで、図１４に示された回路を参照すると、add2の入力端子の一方にはチェイン効果伝播部品であるsft1が接続されている。図１６に示したチェイン効果伝播部品の情報を参照すると、sft1の入力の内、sub1が接続されている端子はチェイン遅延効果を伝播することがわかる。そのため、sub1とadd2との接続関係を調べる必要がある。図7に示した遅延情報を参照すると、sub1とadd2との接続にはチェイン遅延効果が存在する。そのため、add2の遅延時間は、sub1との接続ではチェイン遅延5となる。
【００７５】
一方、図１６を参照すると、部品sft1のadd1と接続されている端子はチェイン遅延を伝播しないことがわかる。よって、add1とadd2との接続にはチェイン遅延効果が存在しない。そのため、add2の遅延時間は、add1との接続では単体の遅延と同じ10となる。よって、add2の信号到着時刻は、atime(add2) = max(atime(add1) + delay(sft1) + delay(add2))、atime(sub1) + delay(sft1) + delay(sub1, add2)、atime(e) + delay(add2)) = max(10+6+10, 8+6+5, 0+10) = 26となる。よって、図１８に示すように、図１４に示した回路の最大遅延時間は26であると決定される。
【００７６】
本実施例では、上述したように、チェイン遅延効果を伝播する部品の情報に部品の経路別のその効果の伝播の有無も含めることにより、経路毎にチェイン遅延効果伝播の有無が異なる部品を含む回路においても、その回路の遅延を高い精度で求めることができる。
【００７７】
本発明によれば、チェイン遅延効果を伝播する部品の情報を参照することで、経路上にチェイン遅延効果によって信号到着時刻の確定できない箇所の遅延時間を計測する際、チェイン遅延効果を考慮に入れた遅延解析を行っている。そのため、チェイン遅延効果が存在する回路に対してより正確な回路伝播遅延を効率よく解析できる。その結果、ＲＴレベルなどのゲートレベルよりも抽象度の高いレベルにおいて表現された回路の性能をより正確に見積もることができる。
【００７８】
なお、本発明を回路の性能を見積もるための回路解析装置や、回路解析方法をコンピュータに実効させるためのプログラムに適用可能である。また、動作記述からＲＴレベルの記述を自動合成する動作合成装置や、動作合成装置をコンピュータに実行させるためのプログラムにも適用可能である。回路解析装置および動作合成装置には、データ処理装置１１０、２１０に相当するデータ処理部、および記憶装置１２０、２２０に相当する記憶部等が設けられている。
【図面の簡単な説明】
【００７９】
【図１】第１の実施形態の回路設計システムの一構成例を示すブロック図である。
【図２】第１の実施形態の回路設計システムの全体の動作を示すフローチャートである。
【図３】遅延解析の処理手順を示すフローチャートである。
【図４】第２の実施形態の回路設計システムの一構成例を示すブロック図である。
【図５】第２の実施形態の回路設計システムの全体の動作を示すフローチャートである。
【図６】実施例１における、回路の接続情報を示す一例である。
【図７】図６に示した回路の遅延情報を示す図である。
【図８】実施例１の信号到着時刻の確定できない部品の情報である。
【図９】実施例１の部品add1の信号到着時刻を求める手順を説明するための図である。
【図１０】実施例１の部品sub1の信号到着時刻を求める手順を説明するための図である。
【図１１】実施例１の部品mux1の信号到着時刻を求める手順を説明するための図である。
【図１２】実施例１の部品add2の信号到着時刻を求める手順を説明するための図である。
【図１３】従来の方法で遅延時間を算出した場合を説明するための図である。
【図１４】実施例２における、回路の接続情報を示す一例である。
【図１５】実施例２において追加された部品の遅延情報を示す図である。
【図１６】本実施例のチェイン効果伝播部品の情報の一例を示す図である。
【図１７】実施例２において、部品fの信号到着時刻が求まった時点での回路および各部品の信号到着時刻を示す図である。
【図１８】図１４に示した回路の最大遅延時間を求めた結果を示す図である。
【図１９】従来の回路設計システムの一構成例を示すブロック図である。
【図２０】桁上げ計算式加算器のチェイン接続の回路例を示す図である。
【図２１】図２０で説明した２段の加算器の直列接続の間に他の部品を接続した例である。
【符号の説明】
【００８０】
１００、２００    入力装置
１１０、２１０    データ処理装置
１１１、２１１    回路入力手段
１１２、２１３    遅延解析手段
１１３、２１４    結果出力手段
２１２    動作合成手段
１２０、２２０    記憶装置
１２１、２２２    接続情報
１２２、２２３    遅延情報
１２３、２２４    チェイン効果伝播部品の情報
２２１    動作記述
１３０、２３０    出力装置
【図１】
0004771076.tif 000002
【図２】
0004771076.tif 000003
【図３】
0004771076.tif 000004
【図４】
0004771076.tif 000005
【図５】
0004771076.tif 000006
【図６】
0004771076.tif 000007
【図７】
0004771076.tif 000008
【図８】
0004771076.tif 000009
【図９】
0004771076.tif 000010
【図１０】
0004771076.tif 000011
【図１１】
0004771076.tif 000012
【図１２】
0004771076.tif 000013
【図１３】
0004771076.tif 000014
【図１４】
0004771076.tif 000015
【図１５】
0004771076.tif 000016
【図１６】
0004771076.tif 000017
【図１７】
0004771076.tif 000018
【図１８】
0004771076.tif 000019
【図１９】
0004771076.tif 000020
【図２０】
0004771076.tif 000021
【図２１】
0004771076.tif 000022