説明

遅延ライブラリの生成方法及び遅延ライブラリ生成装置

【課題】静的タイミング解析ツールの処理結果に対する後処理時間を短くすること。
【解決手段】本発明にかかる遅延ライブラリの生成方法は、入力クロック信号を内部で分周するマクロの遅延ライブラリの生成方法であって、マクロの設計情報に基づいて、入力クロック信号を内部で分周する分周回路を抽出するステップと、抽出された分周回路が静的タイミング解析においてクロックラインの一部とみなされるように設計情報を修正する修正ステップと、修正された設計情報を用いて遅延ライブラリを生成する生成ステップと、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遅延ライブラリの生成方法及び遅延ライブラリ生成装置に関し、特に、クロック分周回路を搭載したハードマクロにおける遅延ライブラリの生成方法及び遅延ライブラリ生成装置に関する。
【背景技術】
【0002】
特許文献1には、遅延シミュレーションにおいて精度を損なうことのない、データ量の少ないシミュレーション用ネットリストを生成するシステムに関する技術が開示されている。特許文献1にかかる生成システムは、プリレイアウトネットリスト1と、レイアウト寄生素子抽出結果のLPEネットリスト3と、LPEネットリスト3とプリレイアウトネットリスト1とを対応付けるLPE情報関連付けプロパティ2とを入力し、LPE情報関連付けプロパティ2の内容に応じて、プリレイアウトネットリスト1およびLPEネットリスト3より遅延モデルファイル5を生成する遅延モデル生成手段4と、遅延モデルファイル5およびプリレイアウトネットリスト1より遅延シミュレーション用ネットリスト7を生成する遅延シミュレーション用ネットリスト生成手段6とを備える。
【0003】
特許文献2には、FPGAを用いたLSI設計の検証において、LSI用RTLをFPGA用RTLとして用いる際のクロックスキューの対策を行い、安定動作するFPGA評価環境を実現するためのクロック変換方法に関する技術が開示されている。特許文献2にかかるクロック変換方法では、基本周波数のシステムクロックで動作するフリップフロップと、基本周波数を分周した分周クロックで動作するフリップフロップとが混在するLSI回路のRTLに対して、分周クロックで動作するフリップフロップをシステムクロックで動作させたときに分周クロックで動作するときと等価な動作をするように、分周クロックからシステムクロックを条件付ける分周イネーブル信号に変換し、分周クロックで動作するフリップフロップを、分周イネーブル信号を条件としてシステムクロックで動作するフリップフロップに変換してFPGA用RTLとする。
【0004】
特許文献3には、CPUコアなどの部品設計資産(モジュール)のトランジスタ回路データから、タイミング特性を抽出する方法に関する技術が開示されている。ここで、抽出されたタイミング特性は、抽出対象モジュールを含む回路のタイミング検証、論理合成又はタイミングドリブンレイアウトを行う際のタイミング制約に用いる。特に、シミュレーションでタイミング検証を行う時には、モジュールのタイミングルール適合条件がタイミング特性に含まれるので、擬似エラーのない検証を可能とする。また、特許文献3はタイミング特性ライブラリの構造およびそれを記憶した記憶媒体、およびそれを用いたLSIの設計方法に関する技術も開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−094402号公報
【特許文献2】特開2006−058932号公報
【特許文献3】国際公開第99/09497号
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、クロック分周回路を搭載したハードマクロに対して、STA(Static Timing Analyzer)ツールのExtract機能を利用したタイミング抽出により生成したタイミングモデルは、Verilogなどの論理シミュレーションで使用できない内部端子(端子属性がinternal)が生成されるため、Extract後に、内部端子関連のタイミングアークに関する後処理が発生する。
【0007】
タイミングアークに関する後処理は、電圧・温度条件数、状態遷移数(rise、fall)、タイミングアーク数、波形鈍り・負荷容量条件数分の処理が必要となり、処理数が膨大になる傾向にある。
【0008】
したがって、この膨大な後処理を省略し、Extract機能によるハードマクロのタイミングモデル作成を容易化する方法が必要となった。
【0009】
ここで、タイミングアークとは、回路の入力端子や回路内部のレジスタを始点として回路内部のレジスタや回路の出力端子を終点とした、始点の状態変化が終点の状態変化を発生させる信号伝播経路を意味する。
【0010】
また、タイミングモデルの1つであるExtracted Timing Modelを以下ではETMと称するものとする。Extractとは、指定した回路の境界に存在する(回路外部から見える)タイミングアークを抽出する機能を指す。したがって、Extractにより抽出されるタイミングアークは、指定した回路の内部Flip−Flop間のタイミングアークなど回路外部から見えないタイミングアークを含まない。ETMは、Libertyフォーマットのデータとして生成されるため、タイミングモデルとして使用することが出来る。
【0011】
図7は、関連技術にかかるETM作成処理の流れを示すフローチャートである。
【0012】
入力クロック処理部10は、記憶部2から、回路図情報NETLIST1(回路素子、入出力情報)、及び、クロック情報SDC1(入力クロック毎のクロック周波数及びDuty比の情報)を読み込み、ETM作成に必要な入力クロック情報を指定して処理を完了する。
【0013】
入力クロック処理部10内のステップS11では、記憶部2から、回路図情報NETLIST1を読み込み、回路図情報NETLIST1を構成するFlip−Flopのクロック端子をバックトレースして回路図情報NETLIST1の入力端子が抽出される。
【0014】
入力クロック処理部10内のステップS12では、記憶部2から、クロック情報SDC1を読み込み、ステップS11において抽出された入力端子に対して、入力クロックのクロック周波数やDuty比のクロック信号情報が指定される。
【0015】
内部クロック処理部20は、記憶部2から、回路図情報NETLIST1、及び、クロック情報SDC2(内部クロック毎のクロック周波数及びDuty比の情報)を読み込み、ETM作成に必要な内部クロック情報を指定して処理を完了する。
【0016】
内部クロック処理部20内のステップS13では、記憶部2から、回路図情報NETLIST1を読み込み、回路図情報NETLIST1を構成するFlip−Flopのクロック端子をバックトレースしてSTAツールが回路図情報NETLIST1の入力端子まで信号伝播経路をトレースできないクロック経路上のFlip−Flopが抽出される。
【0017】
内部クロック処理部20内のステップS14では、記憶部2から、クロック情報SDC2を読み込み、ステップS13において抽出したFlip−Flopの出力端子に対して、内部クロックのクロック周波数やDuty比のクロック信号情報が指定される。ここで、内部クロックの周波数及びDuty比は、前記ステップS11で指定した入力クロック情報を使用して、入力クロックに対する比率で指定される。
【0018】
条件設定部30内のステップS15では、記憶部2から、タイミングモデルLIB1(各回路素子のタイミングアーク情報)を読み込み、予めタイミングモデルLIB1に定義された複数の電圧及び温度条件の中から一つの条件が選択され、電圧及び温度条件(Best条件、Worst条件又はNormal(Typical)条件)のいずれかが設定される。尚、選択順番は任意だが、全ての条件が選択される(後述のステップS25)。
【0019】
ステップS16では、記憶部2から、回路図情報NETLIST1、配置配線情報DEF1(回路素子の配置座標、入出力端子及び回路素子間の配線情報)、及び、前述のステップS15で選択された電圧及び温度条件のタイミングモデルLIB1を読み込み、STAツールによりタイミング抽出が実行される。
【0020】
このとき、STAツールは、回路図情報NETLIST1に対して、前述のステップS14のクロック指定箇所に端子属性がInternalの内部端子を生成した上で、回路図情報NETLIST1の入力端子からレジスタ(Flip−FlopやLatch)、入力端子から出力端子、レジスタから出力端子、及び、入力端子から内部端子、内部端子からレジスタ、内部端子から出力端子へのタイミングアークを抽出し、ETM511(回路図情報NETLIST1のタイミングモデル)を生成して記憶部2へ保存する。
【0021】
タイミングアーク処理部41は、記憶部2から、前述のステップS16で生成されたETM511を読み込み、前述のステップS16で生成された内部端子に関わるタイミングアークの結合を行い、内部端子を削除して処理を完了する。具体的には、タイミングアーク処理部41は、後述するステップS17〜S24を実行する。
【0022】
図8は、関連技術にかかるタイミングアーク処理に対する内部端子関連のタイミングアークに関する後処理の流れを示すフローチャートである。
【0023】
タイミングアーク処理部41内のステップS17では、記憶部2から、前述のステップS16で生成されたETM511を読み込み、ETM511内の端子属性定義に基づき、端子属性がInternalの端子を検索し、前述のステップS16で生成された内部端子が抽出される。
【0024】
タイミングアーク処理部41内のステップS18では、記憶部2から、前述のステップS16で生成されたETM511を読み込み、ETM511内のタイミングアーク定義に基づき、前述のステップS17で抽出された内部端子を始点・終点とするタイミングアークが抽出される。
【0025】
タイミングアーク処理部41内のステップS19では、前述のステップS18で抽出したタイミングアークに基づき、前述のステップS17で抽出された内部端子を終点とするタイミングアークと、前述のステップS17で抽出された内部端子を始点とするタイミングアークが結合される。
【0026】
タイミングアーク処理部41内のステップS20では、前述のステップS16で生成されたETM511の波形鈍り定義数に基づき、前述のステップS19のタイミングアークの結合処理が行なわれ、全定義に対して処理が完了したか判断し、処理が完了していなければ前述のステップS19からステップS20を繰り返し実施し、波形鈍り条件に対するタイミングアーク結合処理を完了する。
【0027】
タイミングアーク処理部41内のステップS21では、前述のステップS16で生成されたETM511の負荷容量定義数に基づき、前述のステップS19のタイミングアークの結合処理が行なわれ、全定義に対して処理が完了したか判断し、処理が完了していなければ前述のステップS19からステップS21を繰り返し実施し、負荷容量条件に対するタイミングアーク結合処理を完了する。
【0028】
タイミングアーク処理部41内のステップS22では、前述のステップS16で生成されたETM511の出力状態遷移数(Rise、Fall)に基づき、前述のステップS19のタイミングアークの結合処理が行なわれ、全遷移に対して処理が完了したか判断し、処理が完了していなければ前述のステップS19からステップS22を繰り返し実施し、遷移条件に対するタイミングアーク結合処理を完了する。
【0029】
タイミングアーク処理部41内のステップS23では、前述のステップS16で生成されたETM511のタイミングアーク定義数に基づき、前述のステップS19のタイミングアークの結合処理が行なわれ、全タイミングアークに対して処理が完了したか判断し、処理が完了していなければ前述のステップS19からステップS23を繰り返し実施し、タイミングアーク条件に対するタイミングアーク結合処理を完了する。
【0030】
タイミングアーク処理部41内のステップS24では、前述のステップS17からステップS23までの処理が実行されたETM511から、前述のステップS16で生成された内部端子が削除される。
【0031】
図7に戻って説明する。ステップS25では、前述のステップS15で選択されたタイミングモデルLIB1に定義された電圧及び温度条件数に基づき、すべての条件で処理が完了したか判断し、処理が完了していなければ前述のステップS15からステップS25を繰り返し実施し、タイミングモデルLIB1に定義された全電圧・温度条件のETM512(回路図情報NETLIST1の最終タイミングモデル)が生成され、全ての処理を完了する。
【0032】
ここで、上述した図7及び図8の関連技術には、STAツールのExtract処理後、タイミングアークの結合処理数が膨大であり、処理TAT(Turn Around Time)が長いという問題点がある。その理由を順に説明する。
【0033】
まず、ステップS16は、ステップS14のクロック指定により内部端子を生成して、ETM511を生成する。このETM511をハードマクロのタイミングモデルとしてLSI設計に適用した場合、内部端子という概念の無い論理シミュレータは、ETM511内のステップS16にて生成された内部端子を入力端子又は出力端子であると解釈し、ETM511と回路図情報に端子定義不整合があると認識する。論理シミュレータは、ETMと回路図情報の端子情報やタイミングアークの整合が取れている場合に、ETMのタイミングアーク情報を論理シミュレーション結果に反映する事ができるものである。そのため、上述したETM511のように内部端子が存在する場合、論理シミュレータは、ETM511のタイミングアーク情報を論理シミュレーションに反映する事が出来ない。したがって、ステップS17〜ステップS25の処理が必要となる。これが、上述した関連技術において処理TATが長くなる理由である。
【0034】
ここで、内部端子として分断されたタイミングアーク統合の処理回数をTnとすると次の式(1)で示される。
Tn=(波形鈍り条件数×負荷容量条件数)
×(Arc(経路)数×遷移数(rise、fall))
×(電圧条件数×温度条件数) ・・・(1)
【課題を解決するための手段】
【0035】
本発明の第1の態様にかかる遅延ライブラリの生成方法は、
入力クロック信号を内部で分周するマクロの遅延ライブラリの生成方法であって、
前記マクロの設計情報に基づいて、前記入力クロック信号を内部で分周する分周回路を抽出するステップと、
前記抽出された分周回路が静的タイミング解析においてクロックラインの一部とみなされるように前記設計情報を修正する修正ステップと、
前記修正された設計情報を用いて前記遅延ライブラリを生成する生成ステップと、
を有する。
【0036】
本発明の第2の態様にかかる遅延ライブラリ生成装置は、
入力クロック信号を内部で分周するマクロにおける回路図情報、配置配線情報及びタイミングモデル並びに入力クロック毎のクロック周波数及びDuty比の情報を記憶する記憶部と、
前記記憶部に記憶された情報に基づき、前記回路図情報から前記入力クロック信号の入力端子を抽出後に、当該入力端子に当該入力クロック信号のクロック周波数及びDuty比を含むクロック信号情報を指定する入力処理部と、
前記記憶部に記憶された情報に基づき、内部クロック発生箇所における順序回路の属性について、順序回路属性から組合せ回路属性に変更する内部クロック処理部と、
電圧及び温度条件を設定する条件設定部と、
前記記憶部、前記入力処理部、前記内部クロック処理部及び前記条件設定部の結果に基づき、Extract処理を実施するExtract処理部と、
を備える。
【0037】
本発明の第1及び第2の態様により、クロックライン中に配置された順序回路について内部端子を生成することなく、STAツールによる静的タイミング解析において順序回路でないものとみなすことができる。それため、内部端子を削除するためのステップS17〜ステップS25の処理が不要となる。よって、関連技術に比べて処理TATを短くすることができる。
【発明の効果】
【0038】
本発明により、静的タイミング解析ツールの処理結果に対する後処理時間を短くするための遅延ライブラリの生成方法及び遅延ライブラリ生成装置を提供することができる。
【図面の簡単な説明】
【0039】
【図1】本発明の実施の形態1にかかる遅延ライブラリ生成システムの構成を示すブロック図である。
【図2】本発明の実施の形態1にかかるETM作成処理の流れを示すフローチャートである。
【図3】順序回路属性のFlip−Flopタイミングモデル記述例を示す図である。
【図4】組合せ回路属性のFlip−Flopタイミングモデル記述例を示す図である。
【図5】変更前の実際の回路動作のタイミングチャートである。
【図6】本発明の実施の形態1にかかる変更後のタイミングチャートである。
【図7】関連技術にかかるETM作成処理の流れを示すフローチャートである。
【図8】関連技術にかかるタイミングアーク処理に対する内部端子関連のタイミングアークに関する後処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0040】
図1は、本発明の実施の形態1にかかる遅延ライブラリ生成システムの構成を示すブロック図である。本発明の実施の形態1にかかる遅延ライブラリ生成システムは、コンピュータ装置3とサーバ1と記憶部2とネットワーク4とを備える。記憶部2は、実行プログラム、回路を構成するセルタイミングモデル、インバータやFlip−Flopなどの回路素子の接続情報や入出力情報を記した回路図情報、前記回路図情報に対する配置配線情報、前記セルタイミングモデルの加工データ、前記回路図情報の加工データ、前記配置配線情報の加工データ、生成したETMの提供及び保存に使用される。サーバ1は、インターネットなどのネットワーク4を介してエンジニアリングワークステーションなどのコンピュータ装置3と接続される。記憶部2に格納されている実行プログラムは、ネットワーク4を介してコンピュータ装置3からの命令により起動される構成となっている。
【0041】
本発明の実施の形態1にかかる遅延ライブラリ作成装置は、記憶部2と入力処理部10と内部クロック処理部20と条件設定部30とExtract処理部40とを備える。記憶部2は、回路図情報、配置配線情報及びタイミングモデル並びに入力クロック毎のクロック周波数及びDuty比の情報を記憶する。入力クロック処理部10は、記憶部2に記憶された情報に基づき、回路図情報から入力クロック信号の入力端子を抽出後に、当該入力端子に当該入力クロック信号のクロック周波数及びDuty比を含むクロック信号情報を指定する。内部クロック処理部20は、記憶部2に記憶された情報に基づき、内部クロック発生箇所における順序回路の属性について、順序回路属性から組合せ回路属性に変更する。条件設定部30は、電圧及び温度条件を設定する。Extract処理部40は、記憶部2、入力クロック処理部10、内部クロック処理部20及び条件設定部30の結果に基づき、Extract処理を実施する。
【0042】
また、遅延ライブラリ作成装置は、入力クロック信号を内部で分周するマクロの遅延ライブラリを生成するものである。すなわち、遅延ライブラリ作成装置は、マクロの設計情報に基づいて、入力クロック信号を内部で分周する分周回路を抽出し、抽出された分周回路が静的タイミング解析においてクロックラインの一部とみなされるように前記設計情報を修正し、前記修正された設計情報を用いて前記遅延ライブラリを生成する。
【0043】
特に、遅延ライブラリ作成装置は、前記設計情報内の前記分周回路における順序回路属性を組み合わせ回路属性へ置換することが望ましい。さらに、前記マクロにおける前記入力クロック信号の入力端子と当該マクロ内の順序回路のクロック端子とに接続された順序回路を含む回路を前記分周回路として抽出するとよい。
【0044】
図2は、本発明の実施の形態1にかかるETM作成処理の流れを示すフローチャートである。尚、以下では、上記分周回路に含まれる順序回路としてフリップフロップが用いられている場合を示すが、順序回路はこれに限定されない。また、分周回路は、別途、設計済みのハードマクロを用いても構わない。
【0045】
入力クロック処理部10は、記憶部2から、回路図情報NETLIST1(回路素子、入出力情報)、及び、クロック情報SDC1(入力クロック毎のクロック周波数やDuty比の情報)を読み込み、ETM作成に必要な入力クロック情報を指定して処理を完了する。
【0046】
入力クロック処理部10内のステップS1では、記憶部2から、回路図情報NETLIST1を読み込み、回路図情報NETLIST1を構成するFlip−Flopのクロック端子をバックトレースして回路図情報NETLIST1の入力端子が抽出される。
【0047】
入力クロック処理部10内のステップS2では、記憶部2から、クロック情報SDC1を読み込み、ステップS1において抽出された入力端子に対して、入力クロックのクロック周波数やDuty比のクロック信号情報が指定される。
【0048】
内部クロック処理部20は、記憶部2から、回路図情報NETLIST1を読み込み、内部クロック発生箇所のFlip−Flopを順序回路属性から組合せ回路属性に変更して処理を完了する。
【0049】
内部クロック処理部20内のステップS3では、記憶部2から、回路図情報NETLIST1を読み込み、回路図情報NETLIST1を構成するFlip−Flopのクロック端子をバックトレースしてSTAツールが回路図情報NETLIST1の入力端子まで信号伝播経路をトレースできないクロック経路上のFlip−Flopが抽出される。
【0050】
内部クロック処理部20内のステップS4では、記憶部2から、回路図情報NETLIST1、配置配線情報DEF1(回路素子の配置座標、入出力端子及び回路素子間の配線情報)、及び、タイミングモデルLIB1(各回路素子のタイミングアーク情報)を読み込み、前述のステップS3で抽出されたFlip−Flop情報に基づき、該当するFlip−Flopが組合せ回路属性に置換される。
【0051】
ここで、図3は、順序回路属性のFlip−FlopのタイミングモデルLIB1の記述例を示す図である。また、図4は、組合せ回路属性のFlip−FlopのタイミングモデルLIB2の記述例を示す図である。
【0052】
内部クロック処理部20内のステップS4を詳細に説明する。まず、前述のステップS3の抽出結果である順序回路属性のFlip−Flopのセル名称M1A(cell(FF_1))を組合せ回路属性のFlip−Flopのセル名称として任意の名称M1B(cell(DMY_FF_1))に置換する(本実施例では、抽出セル名FF_1の前に"DMY_"を追加している)。また、入力端子の出力端子に対する論理的影響に関する定義を順序回路属性のFlip−Flop記述M2A(図3:"timing_sense : non_unate")から組合せ回路属性のFlip−Flop記述M2B1及びM2B2に置換する(図4:"timing_sense : positive_unate"、"timing_sense : negative_unate")。そして、タイミングアークのタイプ定義を順序回路属性のFlip−Flop記述M3A(図3:"timing_type : rising_edge")から組合せ回路属性のFlip−Flop記述M3B1及びM3B2(図4:"timing_type : combinational_rise"、"timing_type : combinational_fall")に置換する。このように置換したセルタイミングモデルLIB2(順序回路属性から組合せ回路属性に置換したFlip−Flopのタイミングモデル)が生成される。
【0053】
併せて、本ステップS4におけるFlip−Flopのセル名称の置換("M1A"から"M1B")に伴い、回路図情報NETLIST1及び配置配線情報DEF1内に存在する前述のステップS3で抽出したFlip−Flop名称を"M1A"から"M1B"に置換した回路図情報NETLIST2(回路素子、入出力情報)、及び、回路図情報NETLIST2の配置配線情報DEF2(回路素子の配置座標、入出力端子及び回路素子間の配線情報)が生成される。
【0054】
なお、本ステップS4の生成物であるタイミングモデルLIB2、回路図情報NETLIST2、及び、配置配線情報DEF2において、回路図情報NETLIST2、配置配線情報DEF2は次工程のステップS5の条件設定に依存しない。そのため、後述するステップS7における設定条件の変更に際しては、タイミングモデルLIB2のみ設定条件に合わせて再生成し、回路図情報NETLIST2、回路図情報NETLIST2の配置配線情報DEF2は再作成を省略でき、1回目の処理で生成したデータを使用することが可能である。
【0055】
ここで、本ステップS4の回路図情報NETLIST1、配置配線情報DEF1に対するタイミングモデルLIB1からタイミングモデルLIB2への置き換え(回路図情報NETLIST2、配置配線情報DEF2の生成)は、内部クロック周波数(本説明では、クロック分周回路出力で生成するクロック周波数)を変更する事を意味する。
【0056】
図5は、変更前の実際の回路動作のタイミングチャートである。また、図6は、本発明の実施の形態1にかかる変更後のタイミングチャートである。
【0057】
まず、図5の動作を説明する。出力データは、時刻t1のクロック信号の変化に対して、時刻t2に分周回路出力が変化し、分周回路出力をクロックとしたFlip−Flopにドライブされ、時刻t3に出力データは変化する。つまり、出力データに対するタイミングアークの遅延時間は、入力変化(t1)に対する出力状態遷移(t3)の時間差(t3−t1)であり、クロック周波数には依存しない。
【0058】
同様に、図6の動作を説明すると、図5と同様に、出力データは、時刻t4のクロック信号の変化に対して、時刻t5に分周回路出力が変化し、分周回路出力をクロックとしたFlip−Flopにドライブされ、時刻t6に出力データは変化する。したがって、図5同様に、出力データに対するタイミングアークの遅延時間は、入力変化(t4)に対する出力状態遷移(t6)の時間差(t6−t4)であり、クロック周波数には依存しないと言えるため、本発明による分周回路出力の周波数変更は、タイミングアーク抽出に悪影響を与えないと言える。
【0059】
条件設定部30内のステップS5では、記憶部2から、タイミングモデルLIB1を読み込み、予めタイミングモデルLIB1に定義された複数の電圧・温度条件の中から一つの条件が選択され、電圧及び温度条件(Best条件、Worst条件又はNormal(Typical)条件)のいずれかが設定される。尚、選択順番は任意だが、全ての条件が選択される(後述のステップS7)。
【0060】
ステップS6では、記憶部2から、回路図情報NETLIST2、配置配線情報DEF2、及び、前述のステップS5で選択されたタイミングモデルLIB1と前述のステップS4で生成されたタイミングモデルLIB2を読み込み、STAツールによりタイミング抽出が実行される。このとき、STAツールは、回路図情報NETLIST2の入力端子からレジスタ(Flip−FlopやLatch)、入力端子から出力端子、レジスタから出力端子へのタイミングアークを抽出し、ETM51(回路図情報NETLIST2のタイミングモデル)を生成して記憶部2へ保存する。
【0061】
ステップS7では、前述のステップS5で選択されたタイミングモデルLIB1に定義された電圧及び温度条件数に基づき、すべての条件で処理が完了したか判断し、処理が完了していなければ前述のステップS5からステップS6を繰り返し実施し、タイミングモデルLIB1に定義された全電圧及び温度条件のETM51が生成され、全ての処理を完了する。例えば、電圧及び温度条件の組合せが5種類あった場合、その5条件の指定表などを作成し、各項目を処理したらフラグを付けるなどして何処まで実行したかを判断すれば可能となる。
【0062】
本発明の実施の形態1にかかる効果は、ETMをタイミングモデルとしてLSI設計に適用する際のETM生成処理TATの短縮である。そのメカニズムは、内部クロック処理部20において、STAツールが入力端子からFlip−Flopのクロック端子までの信号伝播経路をトレースできないクロック経路上の順序回路属性のFlip−Flopを、組合せ回路属性のFlip−Flopへの置換する事により、STAツールが入力端子からFlip−Flopのクロック端子までの信号伝播経路をトレースする事が可能となり、内部端子生成の原因となっている図7のステップS14における内部クロック指定が不要になる。本発明の実施の形態1では、STAツールは、内部端子を生成せずにタイミングアークを抽出するため、図7のステップS14及びステップS17からステップS23におけるタイミングアークの結合関連の処理が不要となる。
【0063】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、本発明は、ETMをタイミングモデルとしてLSI設計に適用する環境において、ETM化対象セル(ハードマクロ)に、STAツールが入力端子からFlip−Flopのクロック端子までをトレースできない回路(主にクロック分周回路)を搭載する場合のETM化手法である。そして、STAツールがクロック信号をトレースできないクロック経路上のFlip−Flopのタイミングモデルのタイミングアーク属性を順序回路記述(Edge記述)から組合せ回路記述(Combinational記述)に置換し、且つ、配置配線情報DEF、及び、回路図情報NETLIST内のSTAツールがクロックをトレースできないクロック経路上のFlip−Flopを前記置換Flip−Flopタイミングモデルに置換する手法と、置換したFlip−Flopのタイミングモデル、配置配線情報DEF、回路図情報NETLISTを使用してETM化する手法を有する。これにより、ETM化処理において、順序回路が組み合わせ回路として動作することにより、STAツールがクロックをトレースできないクロック経路上のFlip−Flopを経由するクロック経路をクロックバイパス経路とみなす事が可能となり、Flip−Flopを経由する経路もトレース可能となるため、内部端子生成の原因となるクロック指定を省略する事が可能となり、前記従来技術の問題を解決する事ができる。
【0064】
また、本発明は以下のように表現することもできる。すなわち、半導体装置の情報(回路を構成するセルタイミングモデル、回路図情報、配置配線情報)を元にExtractタイミング抽出して遅延ライブラリを生成する方法において、半導体装置のマクロ毎に、クロックライン上のFlip−FlopなどSTAツールで信号伝播をトレースできない回路(主にクロック分周回路)を抽出するステップと、該ステップで抽出した結果に基づき、該当する回路情報の属性を置換するステップと、を含んだExtractタイミング抽出による遅延ライブラリ化方法。
【0065】
さらに、前記置換する回路情報は、順序回路属性を組み合わせ回路属性に変更することである上記のExtractタイミング抽出による遅延ライブラリ化方法。
【0066】
また、回路図情報と配置配線情報とタイミングモデルと入力クロック毎のクロック周波数やDuty比の情報とを保存する記憶部と、記憶部情報に基づき回路情報のクロックの入力端子を抽出後に入力クロックのクロック周波数やDuty比のクロック信号情報が指定する入力処理部と、記憶部情報に基づき内部クロック発生箇所のFlip−Flopを順序回路属性から組合せ回路属性に変更する内部クロック処理部と、電圧や温度条件を設定する条件設定部と、記憶部、入力処理部、内部クロック処理部、条件設定部の結果に基づきExtract処理を実施するExtract処理部と、で構成される遅延ライブラリ生成装置。
【符号の説明】
【0067】
NETLIST1 回路図情報
NETLIST2 回路図情報
SDC1 クロック情報
SDC2 クロック情報
DEF1 配置配線情報
DEF2 配置配線情報
LIB1 タイミングモデル
LIB2 タイミングモデル
51 ETM
511 ETM
512 ETM
M1A セル名称
M2A 順序回路属性のFlip−Flop記述
M3A 順序回路属性のFlip−Flop記述
M1B セル名称
M2B1 組合せ回路属性のFlip−Flop記述
M3B1 組合せ回路属性のFlip−Flop記述
M2B2 組合せ回路属性のFlip−Flop記述
M3B2 組合せ回路属性のFlip−Flop記述
t1、t4 入力クロックの変化時刻
t2、t5 t1、t3に対する分周回路出力の変化時刻
t3、t6 t2、t5に対する出力データの変化時刻
1 サーバ
2 記憶部
3 コンピュータ装置
4 ネットワーク
10 入力クロック処理部
20 内部クロック処理部
30 条件設定部
40 Extract処理部
41 タイミングアーク処理部

【特許請求の範囲】
【請求項1】
入力クロック信号を内部で分周するマクロの遅延ライブラリの生成方法であって、
前記マクロの設計情報に基づいて、前記入力クロック信号を内部で分周する分周回路を抽出するステップと、
前記抽出された分周回路が静的タイミング解析においてクロックラインの一部とみなされるように前記設計情報を修正する修正ステップと、
前記修正された設計情報を用いて前記遅延ライブラリを生成する生成ステップと、
を有する遅延ライブラリの生成方法。
【請求項2】
前記修正ステップは、前記設計情報内の前記分周回路における順序回路属性を組み合わせ回路属性へ置換することにより前記設計情報を修正することを特徴とする請求項1に記載の遅延ライブラリの生成方法。
【請求項3】
前記抽出ステップは、前記マクロにおける前記入力クロック信号の入力端子と当該マクロ内の順序回路のクロック端子とに接続された順序回路を含む回路を前記分周回路として抽出することを特徴とする請求項1又は2に記載の遅延ライブラリの生成方法。
【請求項4】
入力クロック信号を内部で分周するマクロにおける回路図情報、配置配線情報及びタイミングモデル並びに入力クロック毎のクロック周波数及びDuty比の情報を記憶する記憶部と、
前記記憶部に記憶された情報に基づき、前記回路図情報から前記入力クロック信号の入力端子を抽出後に、当該入力端子に当該入力クロック信号のクロック周波数及びDuty比を含むクロック信号情報を指定する入力処理部と、
前記記憶部に記憶された情報に基づき、内部クロック発生箇所における順序回路の属性について、順序回路属性から組合せ回路属性に変更する内部クロック処理部と、
電圧及び温度条件を設定する条件設定部と、
前記記憶部、前記入力処理部、前記内部クロック処理部及び前記条件設定部の結果に基づき、Extract処理を実施するExtract処理部と、
を備える遅延ライブラリ生成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate