(57)【特許請求の範囲】
【請求項１】
コンピュータを用いて半導体集積回路の論理シミュレーションを実行する半導体集積回路のシミュレーション方法であって、
前記半導体集積回路にダイナミック回路が含まれている場合には、当該ダイナミック回路に係るダイナミックパスがデータを取り込むためのデータ取り込み時間と、前記ダイナミックパスの電位がスレッショルド電圧に達するまでの時間との和の逆数に基づき、前記コンピュータの最低動作周波数算出手段により最低動作周波数を算出する手順と、
前記コンピュータの比較手段により、論理検証用パタンのクロック周波数と前記算出した最低動作周波数との大小を比較する手順と、
前記比較した結果、前記算出した最低動作周波数が前記クロック周波数よりも大きい場合には、前記コンピュータの置換手段により、前記論理検証用パタンのクロック周波数を、前記算出した最低動作周波数に置き換える手順と、
を有することを特徴とする半導体集積回路のシミュレーション方法。
【請求項２】
ダイナミック回路に係るダイナミックパスがデータを取り込むためのデータ取り込み時間と、前記ダイナミックパスの電位がスレッショルド電圧に達するまでの時間との和の逆数によって算出された最低動作周波数を格納するライブラリを備えるコンピュータを用いて半導体集積回路の論理シミュレーションを実行する半導体集積回路のシミュレーション方法であって、
前記半導体集積回路にダイナミック回路が含まれている場合には、前記コンピュータの読み出し手段により、当該ダイナミック回路に係るダイナミックパスの最低動作周波数を前記ライブラリから読み出す手順と、
前記コンピュータの比較手段により、論理検証用パタンのクロック周波数と前記読み出した最低動作周波数との大小を比較する手順と、
前記比較した結果、前記読み出した最低動作周波数が前記クロック周波数よりも大きい場合には、前記コンピュータの置換手段により、前記論理検証用パタンのクロック周波数を、前記読み出した最低動作周波数に置き換える手順と、
を有することを特徴とする半導体集積回路のシミュレーション方法。
【請求項３】
前記半導体集積回路にダイナミック回路が含まれているか否かを、前記コンピュータのダイナミック回路判定手段により判定する手順を有することを特徴とする請求項１又は請求項２に記載の半導体集積回路のシミュレーション方法。
【請求項４】
前記各手順のいずれか一の手順が、前記半導体集積回路全体の遅延を計算するためのフローの中に含まれることを特徴とする請求項１乃至請求項３のいずれか一に記載の半導体集積回路のシミュレーション方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路のシミュレーション方法に関し、特にＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ）の回路シミュレーション方法に関する。
【０００２】
【従来の技術】
図８および図９は従来の半導体集積回路のシミュレーション方法を用いたＡＳＩＣの設計フローである。
仮配線遅延計算ａのフローは、半導体集積回路全体での遅延を計算するフローである。仮配線遅延計算ａのフローでは、まず、論理ブロック間の接続の記述されている回路接続情報１から配線長の見積もりを行う（ステップ５）。次に論理ブロック毎の配線負荷・容量のライブラリである配線・負荷容量情報２とステップ５の結果とを用いて半導体集積回路全体の配線容量を算出する（ステップ６）。続いて負荷容量の算出（ステップ７）、波形の立ち上がり立ち下がり時間（以下Ｔｒｆ）の算出（ステップ９）、遅延の算出（ステップ１０）を順次行い、仮配線遅延情報１６を出力する。
仮配線遅延計算ａのフローが終了すると、次に、仮配線遅延情報１６、回路接続情報１、論理検証用パタン３、シミュレーションモデル４を使用して論理シミュレーションを実行していた（ステップ１７）。論理検証用パタン３は、論理ブロック、または半導体集積回路の論理的は動作を波形で表したものである。またシミュレーションモデル４は、回路シミュレーションを行うために必要なモデルである。
実際にチップ配線を行い、その配線抵抗・負荷も考慮した遅延計算を行う実配線遅延計算ｂのフローにおいても仮配線遅延計算ａのフローと同様の方法でシミュレーションが行われていた。
【０００３】
しかし、従来の半導体集積回路のシミュレーション方法を用いたＡＳＩＣの論理シミュレータではスタティックモデルしか用意されておらず、ダイナミックとスタティック混載回路の論理評価は行えないという問題があった。そのためダイナミック回路構成を使用出来ず、回路規模が大きくなってしまうという問題が発生していた。さらに、ダイナミック回路構成を混載した場合、実レイアウトによる配線容量、負荷容量を考慮したシミュレーションを実行する事が出来ない為、回路の特性・精度に関して保証が出来ないという問題があった。
又、ＡＳＩＣにおいて、仮にダイナミック回路を混載した半導体集積回路の論理シミュレーションを実現しようとすると、ダイナミックモデルを構成する上で必要なコンデンサの充放電時間やリフレッシュ等、スタティックモデルと比較すると考慮すべき点が多い。そのため、実配線シミュレーション時に発生する実配線変更に伴う容量・抵抗の変化などの問題もあり、非常に多大な労力と工数を要するといった問題が発生していた。
【０００４】
かかる問題を解消することを目的として特開平０３−１９８１６０号では、各入力信号の値を記憶し且つプリチャージ信号がオンのときに記憶した値を出力する複数個の記憶部と前記記憶部の値を比較する複数個の比較部を有する入力信号チェック部と、前記入力信号チェック部の各比較部出力の演算処理を行なう演算処理部とを備えることを特徴とする論理シミュレータ、および、ダイナミック型の回路に対応した論理シミュレーションの動作モデルを有し、プリチャージ信号がオンのときの入力信号の値を記憶しておき、前記プリチャージ信号がオフになったときの入力信号の値と先に記憶していた前記プリチャージ信号がオンのときの入力信号の値とを比較する機能を有し、前記プリチャージ信号がオンのときの入力信号の値に特定の演算を施した結果を前記プリチャージ信号がオフのときに出力することを特徴とする論理シミュレーション方法が開示されている。この論理シミュレータおよび論理シミュレーション方法によれば、シミュレーションの負担増を縮小するとともに、セットアップタイムで確定した入力信号の値がホールドタイムの間保持されているか否かの検証をも可能とする。
また、同じく上述した問題を解消することを目的として特開平０５−１０１１３０号には、ＭＯＳディジタル回路を構成する素子の端子を、入力か出力か、出力ならばハイインピーダンス状態が存在するか否か等の条件によりタイプ分類し、ＭＯＳトランジスタについて、そのソース端子、ドレイン端子のそれぞれに直接接続する端子のタイプに従って信号の流れる向きを決定し、単方向素子に置き換え、ネットについて、当該ネットに直接接続する端子のタイプに従ってダイナミック回路としての性質を判定し、仮想的ラッチ素子を挿入する等価回路作成方法および論理シミュレーション方法が開示されている。この等価回路作成方法および論理シミュレーション方法によれば、ＭＯＳディジタル回路から論理シミュレータでシミュレーション可能な等価回路が作成し、ＭＯＳディジタル回路を論理シミュレーションすることができるとされている。
【０００５】
【発明が解決しようとする課題】
以上の特開平０３−１９８１６０号に開示された論理シミュレータおよび論理シミュレーション方法では、上述した問題を解消する可能性はあるが、ダイナミック論理検証を行うためにダイナミック型の回路に対応した論理シミュレーションの動作モデルを必要としていた。
さらに、以上の特開平０５−１０１１３０号に開示された等価回路作成方法および論理シミュレーション方法にあっては次のような問題があった。
特開平０５−１０１１３０号に開示された等価回路作成方法および論理シミュレーション方法では、ダイナミック論理検証を行うためにダイナミック回路に接続する端子タイプに応じて仮想的なラッチ素子を表現することが必要とされるため、やはり上述した問題を解消するための手段が煩雑になってしまうという不都合があった。
【０００６】
本発明は、このような従来技術における問題に鑑みてなされたものであって、ダイナミック回路とスタティック回路とを混載する半導体集積回路の論理シミュレーションを容易に実現することを可能とする半導体集積回路のシミュレーション方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
前記課題を解決する本出願第１の発明は、コンピュータを用いて半導体集積回路の論理シミュレーションを実行する半導体集積回路のシミュレーション方法であって、前記半導体集積回路にダイナミック回路が含まれている場合には、当該ダイナミック回路に係るダイナミックパスがデータを取り込むためのデータ取り込み時間と、前記ダイナミックパスの電位がスレッショルド電圧に達するまでの時間との和の逆数に基づき、前記コンピュータの最低動作周波数算出手段により最低動作周波数を算出する手順と、前記コンピュータの比較手段により、論理検証用パタンのクロック周波数と前記算出した最低動作周波数との大小を比較する手順と、前記比較した結果、前記算出した最低動作周波数が前記クロック周波数よりも大きい場合には、前記コンピュータの置換手段により、前記論理検証用パタンのクロック周波数を、前記算出した最低動作周波数に置き換える手順とを有することを特徴とする。
このように、本出願第１の発明の半導体集積回路のシミュレーション方法によれば、ダイナミックパスの論理が不定となる事を防ぐことができる。したがって、ダイナミック回路とスタティック回路とを混載する半導体集積回路の論理シミュレーションを容易に実現することが可能になる。しかも、スタティックシミュレーションモデルで代用出来る為、ダイナミックシミュレーションモデルが不要であるという利点も得られる。その上、ダイナミック回路を用いる事で回路規模を小さくすることができ、半導体集積回路の集積度を向上させることが可能となる。
【０００８】
また、データ保持保証の為にスレッショルド電圧Ｖｉｈへ達するまでの充放電時間から最低動作周波数を算出し、論理検証用パタンのクロック周波数とする。したがって、ダイナミックパスの論理が不定となる事を防ぐことができ、ダイナミック回路とスタティック回路とを混載する半導体集積回路の論理シミュレーションを容易に実現することが可能になる。
さらに、前記最低動作周波数が前記クロック周波数より大きい場合に限り、前記コンピュータの置換手段により、論理検証用パタンのクロック周波数を前記最低動作周波数に置き換える。したがって、必要なときに限り前記置き換える手順を行うことができるのでシミュレーションの効率が上がるという利点が得られる。
【０００９】
また本出願第２の発明は、ダイナミック回路に係るダイナミックパスがデータを取り込むためのデータ取り込み時間と、前記ダイナミックパスの電位がスレッショルド電圧に達するまでの時間との和の逆数によって算出された最低動作周波数を格納するライブラリを備えるコンピュータを用いて半導体集積回路の論理シミュレーションを実行する半導体集積回路のシミュレーション方法であって、前記半導体集積回路にダイナミック回路が含まれている場合には、前記コンピュータの読み出し手段により、当該ダイナミック回路に係るダイナミックパスの最低動作周波数を前記ライブラリから読み出す手順と、前記コンピュータの比較手段により、論理検証用パタンのクロック周波数と前記読み出した最低動作周波数との大小を比較する手順と、前記比較した結果、前記読み出した最低動作周波数が前記クロック周波数よりも大きい場合には、前記コンピュータの置換手段により、前記論理検証用パタンのクロック周波数を、前記読み出した最低動作周波数に置き換える手順とを有することを特徴とする。
このように、本出願第２の発明の半導体集積回路のシミュレーション方法によれば、ダイナミックパスの論理が不定となる事を防ぐことができる。したがって、ダイナミック回路とスタティック回路とを混載する半導体集積回路の論理シミュレーションを容易に実現することが可能になる。しかも、スタティックシミュレーションモデルで代用出来る為、ダイナミックシミュレーションモデルが不要であるという利点も得られる。その上、ダイナミック回路を用いる事で回路規模を小さくすることができ、半導体集積回路の集積度を向上させることが可能となる。
また、データ保持保証の為にスレッショルド電圧Ｖｉｈへ達するまでの充放電時間から最低動作周波数を算出し、論理検証用パタンのクロック周波数とする。したがって、ダイナミックパスの論理が不定となる事を防ぐことができ、ダイナミック回路とスタティック回路とを混載する半導体集積回路の論理シミュレーションを容易に実現することが可能になる。
さらに、前記最低動作周波数が前記クロック周波数より大きい場合に限り、前記コンピュータの置換手段により、論理検証用パタンのクロック周波数を前記最低動作周波数に置き換える。したがって、必要なときに限り前記置き換える手順を行うことができるのでシミュレーションの効率が上がるという利点が得られる。
また、最低動作周波数の算出が複雑な場合には、ダイナミックブロック毎の前記最低動作周波数の値を予め算出し、これらを予めライブラリとして用意し、このライブラリを適宜参照する。したがって、シミュレーション時間を短縮することができ、効率良く論理シミュレーションを行うことが可能になる。
ここでライブラリとは、ダイナミックブロック毎に入力波形の立ち上がりおよび立ち下り時間のばらつきの程度に応じて場合分けした前記最低動作周波数を予め算出し、その値を表形式にしたものである。
【００１１】
また本出願第３の発明は、本出願第１又は第２の発明の半導体集積回路のシミュレーション方法において、前記半導体集積回路にダイナミック回路が含まれているか否かを、前記コンピュータのダイナミック回路判定手段により判定する手順を有することを特徴とする。
このように、本出願第３の発明の半導体集積回路のシミュレーション方法によれば、半導体集積回路にダイナミックパスが含まれるか否かを確認するので、正確かつ効率の良いシミュレーションを行うことが可能になる。
【００１２】
また本出願第４の発明は、本出願第１乃至第３の何れか一の発明の半導体集積回路のシミュレーション方法において、前記各手順のいずれか一の手順が、前記半導体集積回路全体の遅延を計算するためのフローの中に含まれることを特徴とする。
したがって、本出願第４の発明の半導体集積回路のシミュレーション方法によれば、論理設計あるいはレイアウト設計へのフィードバックを適宜行うことが出来る。したがって、半導体集積回路の特性及び精度を向上することができ、さらに、設計効率を飛躍的に向上することができる。
【００１３】
【発明の実施の形態】
第一の実施の形態
次に、本発明の第一の実施の形態における半導体集積回路のシミュレーション方法を説明する。
本発明の第一の実施の形態は、論理ブロック間でダイナミック回路を構成した場合の半導体集積回路のシミュレーション方法である。
図１および図２は本発明の第一の実施の形態における半導体集積回路のシミュレーション方法を用いた設計フローである。
仮配線遅延計算ａのフローでは、はじめに従来の半導体集積回路のシミュレーション方法と同様にステップ５、６、７を行う。すなわち、まず回路接続情報１から配線長の見積もりを行い（ステップ５）、次に配線・負荷容量情報２とステップ５の結果とを用いて半導体集積回路全体の配線容量を算出し（ステップ６）、続いて負荷容量を算出する（ステップ７）。
次に、論理ブロック間にダイナミック回路が含まれるか否かを判定するステップ８を持つ。ステップ８においてダイナミック回路が含まれないと判定すると、従来の半導体集積回路のシミュレーション方法と同様に、Ｔｒｆ算出のステップ９、遅延算出のステップ１０へと進む。一方、ダイナミック回路が含まれると判定した場合、ステップ６、ステップ７により算出されたダイナミックパスの負荷容量及び抵抗から充放電時間を求め（ステップ１２）、充放電時間内で最低動作周波数（以下、ｆｍｉｎ）を算出する（ステップ１３）。更にステップ１３を経て仮配線遅延計算ａのフローに戻り、Ｔｒｆ算出のステップ９、遅延算出のステップ１０へと進み、仮配線遅延情報１６を出力する。
【００１４】
次に、論理検証用パタン３を読み込み、この論理検証用パタン３にダイナミック回路が含まれるか否かを判定する（ステップ１１）。論理検証用パタン３がスタティック回路のみであると判定した場合は、このパタンを論理シミュレーション１７へそのまま使用する。一方、論理検証用パタン３にダイナミック回路が含まれると判定した場合は、この論理検証用パタン３のクロック周波数（以下、ｆｃ）と、ステップ１３で決定したｆｍｉｎとの大小を比較する（ステップ１４）。ステップ１４にてｆｍｉｎ＞ｆｃの場合には、論理検証用パタン３をそのまま論理シミュレーションのステップ１７に用いると、ダイナミックパスの充放電により不定値を出力するためシミュレーションを実行できないため、論理検証用パタン３のｆｃをｆｍｉｎに置き換える（ステップ１５）。この、ｆｃをｆｍｉｎに置き換えた論理検証用パタン３と、回路接続情報１、シミュレーションモデル４、仮配線遅延情報１６により論理シミュレーションのステップ１７を実行する。
次に、論理シミュレーション結果に問題がないかどうかを判断する（ステップ１８）。論理シミュレーション結果に問題がある場合は回路接続情報１を修正するステップＡへと戻る。論理シミュレーション結果に問題がない場合には、回路接続情報１を用いたレイアウト設計のステップ１９へと進み、ここからレイアウト検証のステップ２０と実配線遅延計算ｂのフローに分岐する。レイアウト検証のステップ２０より検証結果を判定するステップ１８でエラーがあった場合にはレイアウト修正のステップＢに進む。
【００１５】
また、実配線遅延計算ｂのフローでは、レイアウト設計１９のデータから配線長を抽出するステップ２１、配線容量を抽出するステップ２２、負荷容量を抽出するステップ２３を順次行う。次に、仮配線遅延計算ａのフローと同様に、論理ブロック間にダイナミック回路が含まれるか否かを判定するステップ８を持つ。ステップ８においてダイナミック回路が含まれないと判定すると、仮配線遅延計算ａのフローと同様に、Ｔｒｆ算出のステップ９、遅延算出のステップ１０へと進む。一方、ダイナミック回路が含まれると判定した場合、ステップ２２、２３で抽出したデータからダイナミックパスに対する隣接配線容量を抽出する（ステップ２４）。ステップ２４で抽出されたデータと、ダイナミックパスに対して予め用意された隣接容量許容値ライブラリ２６とにより、隣接容量許容値を満足しているかを判定する（ステップ２５）。ダイナミック構成はダイナミックパスに対する隣接容量によるクロストークがダイナミックパスのデータ破壊を招く恐れが有るが、ステップ２４、２５によりレイアウト設計後のダイナミックパスへ対するクロストーク検証を行うことができる。ステップ２４によって抽出されるダイナミックパスの隣接容量と、ダイナミックパスのデータ保持を保証する隣接容量許容値ライブラリ２６（入力波形の立ち上がり、立ち下がり、Ｂｅｓｔ、Ｎｏｒｍａｌ、Ｗｏｒｓｔ条件それぞれに対して持つ）を比較する事でクロストークの影響を確認出来、誤動作の可能性を未然に防ぐ事が出来る。ステップ２５の結果がＮＧの場合はレイアウト修正Ｂへと戻る。ＯＫの場合は、配線容量抽出２２、負荷容量抽出２３の各ステップにより算出されたダイナミックパスの負荷容量・隣接容量及び抵抗から充放電時間を求め（ステップ１２）、充放電時間内でｆｍｉｎ２を決定する（ステップ１３）。その後実配線遅延計算ｂに戻り、Ｔｒｆ算出のステップ９、遅延算出のステップ１０へと進み、実配線遅延情報２７を出力する。
【００１６】
又、論理検証用パタン３を読み込み、このパタンがスタティック回路のみであれば論理シミュレーション１７へそのまま使用するが、ダイナミック回路を含む回路の場合は、この論理検証用パタン３のｆｃとステップ１３で決定したｆｍｉｎ２を比較する事でリフレッシュの調整を行う。具体的にはステップ１４にてｆｍｉｎ２＞ｆｃの場合には論理検証用パタン３をそのまま論理シミュレーション１７へ用いると、ダイナミックパスの充放電により不定値を出力し、シミュレーションを実行出来ないため、論理検証用パタン３のｆｃをｆｍｉｎ２に置き換える（ステップ１５）。この、ｆｃをｆｍｉｎ２に置き換えた論理検証用パタン３と回路接続情報１、シミュレーションモデル４、実配線遅延情報２７により論理シミュレーションのステップ１７を実行する。
論理シミュレーション結果（ステップ１８）がＮＧの場合は、レイアウト修正を行うステップＢへと戻る。シミュレーション結果がＯＫの場合にはレイアウト完了となり、フローを終える。
【００１７】
以上のフロー中、ステップ１３で設定するｆｍｉｎ及びｆｍｉｎ２はコンデンサ電圧がスレッショルド電圧Ｖｉｈ（Ｖｉｈ以下、又は以上まで放電すると論理は不定となる）に達するまでの時間より求まる為、ｆｍｉｎ及びｆｍｉｎ２以内でクロックを動作させる事でダイナミックパスが不定になる事を防ぎ、リフレッシュ機能の役割をする。このリフレッシュ機能について回路動作の詳細を説明する。
図３（ａ）は、ブロックＡとブロックＢでダイナミックフリップ・フロップ（以下、Ｆ／Ｆ）を構成したダイナミック回路の例である。この回路では、ダイナミックパスａのコンデンサ充電時に取り込んだ値を保持する為に定期的なリフレッシュ動作（ｃｌｋ）が必要になる。
図３（ｂ）は通常のダイナミックＦ／Ｆの動作である。ダイナミックパスａに着目すると放電によりスレッショルド電圧Ｖｉｈを下回ると論理は不定となる。しかし図３（ｃ）の様にＶｉｈを下回る前に、すなわち最低動作周波数以内でｃｌｋを動作させると放電がストップする為、ダイナミックパスａの値は保持され論理は固定される。
この原理により、ｃｌｋが最低動作周波数ｆｍｉｎ及びｆｍｉｎ２以内で動作する事でリフレッシュ動作の代わりとしてデータを保持出来るようになり、このパタンを用いてダイナミック回路の論理シミュレーションを行う事が出来る。
【００１８】
次に、図４（ａ）を用いて、ｆｍｉｎの算出方法及び周波数比較についての詳細を説明する。
遅延計算よりダイナミックパスａの配線抵抗及び容量を求め、充放電時間ｔを算出する。次にダイナミックパスａの電位がスレッショルド電圧Ｖｉｈに達するまでの時間ｔ２を求め、データ取り込み時間ｔ１とにより最低動作周波数ｆｍｉｎを求める。
ｆｍｉｎ＝１／（ｔ１＋ｔ２）      ［Ｈｚ］
ｆｍｉｎ２の求め方もｆｍｉｎの場合と同様に行う。
次にｆｍｉｎと論理検証用パタンのクロック周波数ｆｃとにより比較を行う。この時ｆｃがｆｍｉｎよりも遅い場合（ｆｍｉｎ＞ｆｃ）、ダイナミックパスａでは不定動作をする事になり、論理シミュレーションを行う事が出来ない。よって、ｆｍｉｎをｆｃに置き換える事（ｆｃ＝ｆｍｉｎ）でダイナミックパスａの論理を保持し続ける。
ｆｍｉｎ２の算出方法及び周波数比較についてもｆｍｉｎの場合と同様に行う。
【００１９】
次に、レイアウト設計後のダイナミックパスに対するクロストーク検証について図４（ｂ）、図４（ｃ）、表１を用いて詳細に説明する。
ダイナミックパスは容量の充放電がデータ保持を左右する為、クロストークの影響が顕著である。そこで、各ダイナミックパスの容量に対して、データ保証出来る隣接容量許容値を予めライブラリとして持ち、レイアウト設計後のダイナミックパスに対する隣接容量値がそれを満足しているかを判定するステップを持つ。もし許容値を超えていれば再レイアウト設計を行い、逆に許容内の隣接容量であれば、ダイナミックパスの容量・抵抗と隣接容量とにより最低動作周波数ｆｍｉｎ２を算出する。隣接容量許容値は、各ダイナミックパスの接続や隣接する容量成分により異なる。例えば、図４（ｂ）のダイナミックパスａと図４（ｃ）のダイナミックパスｂでは、データ保持保証出来る隣接容量値Ｃｒが異なる。したがって、各ダイナミックパスに対する許容隣接容量値をパラメータとして表１のように持ち、レイアウト設計後のダイナミックパスに付与される隣接容量がこれに収まるかどうか判定する。
【表１】
0003924404.tif 000002
仮に、ダイナミックパスａ自身の容量値が０．０１ｐＦだとすると、このダイナミックパスａの隣接容量許容値は０．００１ｐＦとなり、これをオーバーする場合は動作保証できない為ＮＧとなり、再レイアウト設計となる。
【００２０】
第二の実施の形態
次に、本発明の第二の実施の形態における半導体集積回路のシミュレーション方法を説明する。
本発明の第二の実施の形態は、ダイナミック回路をブロック内で構成した場合の半導体集積回路のシミュレーション方法である。
図５および図６は本発明の第二の実施の形態における半導体集積回路のシミュレーション方法を用いた設計フローである。
まず、従来の半導体集積回路のシミュレーション方法と同様に仮配線遅延計算ａのフローを行う。すなわち、回路接続情報１から配線長の見積もりを行い（ステップ５）、次に配線・負荷容量情報２とステップ５の結果とを用いて半導体集積回路全体の配線容量を算出し（ステップ６）、続いて負荷容量を算出する（ステップ７）。さらにＴｒｆ算出のステップ９、遅延算出のステップ１０へと進み、仮配線遅延情報１６を出力する。
【００２１】
次に、論理検証用パタン３を読み込み、この論理検証用パタン３にダイナミック回路が含まれるか否かを判定する（ステップ１１）。論理検証用パタン３がスタティック回路のみであると判定した場合は、このパタンを論理シミュレーション１７へそのまま使用する。一方、論理検証用パタン３にダイナミック回路が含まれると判定した場合は、該当ダイナミックブロックのｆｍｉｎをｆｍｉｎライブラリ２８より参照し、そのｆｍｉｎと、論理検証用パタン３のクロック周波数（以下、ｆｃ）との大小を比較する（ステップ１４）。ステップ１４にてｆｍｉｎ＞ｆｃの場合には、論理検証用パタン３をそのまま論理シミュレーションのステップ１７に用いると、ダイナミックパスの充放電により不定値を出力するためシミュレーションを実行できないため、論理検証用パタン３のｆｃをｆｍｉｎに置き換える（ステップ１５）。この、ｆｃをｆｍｉｎに置き換えた論理検証用パタン３と、回路接続情報１、シミュレーションモデル４、仮配線遅延情報１６により論理シミュレーションのステップ１７を実行する。
次に、論理シミュレーション結果に問題がないかどうかを判断する（ステップ１８）。論理シミュレーション結果に問題がある場合は回路接続情報１を修正するステップＡへと戻る。論理シミュレーション結果に問題がない場合には、回路接続情報１を用いたレイアウト設計のステップ１９へと進み、ここからレイアウト検証のステップ２０と実配線遅延計算ｂのフローに分岐する。レイアウト検証のステップ２０より検証結果を判定するステップ１８でエラーがあった場合にはレイアウト修正のステップＢに進む。
【００２２】
また、実配線遅延計算ｂのフローでは、レイアウト設計１９のデータから配線長を抽出するステップ２１、配線容量を抽出するステップ２２、負荷容量を抽出するステップ２３を順次行う。次に、論理ブロック間にダイナミック回路が含まれるか否かを判定するステップ８を持つ。ステップ８においてダイナミック回路が含まれないと判定すると、Ｔｒｆ算出のステップ９、遅延算出のステップ１０へと進む。一方、ダイナミック回路が含まれると判定した場合、ステップ２２、２３で抽出したデータからダイナミックパスに対する隣接配線容量を抽出する（ステップ２４）。ステップ２４で抽出されたデータと、ダイナミックパスに対して予め用意された隣接容量許容値ｆｍｉｎ２ライブラリ２９とにより、隣接容量許容値を満足しているかを判定する（ステップ２５）。
ステップ２５の結果がＮＧの場合はレイアウト修正Ｂへと戻る。ＯＫの場合は、実配線遅延計算ｂに戻り、Ｔｒｆ算出のステップ９、遅延算出のステップ１０へと進み、実配線遅延情報２７を出力する。
【００２３】
又、論理検証用パタン３を読み込み、このパタンがスタティック回路のみであれば論理シミュレーション１７へそのまま使用する。逆にダイナミック回路を含む回路の場合は、この論理検証用パタン３のｆｃと、隣接容量許容値ｆｍｉｎ２ライブラリ２９より参照した該当ダイナミックブロックの隣接容量に対するｆｍｉｎ２の値との大小を比較する（ステップ１４）。ステップ１４でｆｍｉｎ２＞ｆｃの場合には論理検証用パタン３のクロックｆｃをｆｍｉｎ２に置き換える（ステップ１５）。この論理検証用パタン３と回路接続情報１、シミュレーションモデル４、実配線遅延情報２７により論理シミュレーションのステップ１７を実行する。論理シミュレーション結果（ステップ１８）がＮＧの場合は、レイアウト修正を行うステップＢへと戻る。シミュレーション結果がＯＫの場合にはレイアウト完了となり、フローを終える。
【００２４】
次に、ステップ１４で使用するｆｍｉｎライブラリ２８に関して図７（ａ）、図７（ｂ）、および表２、３を用いて説明する。
ｆｍｉｎはダイナミックブロック設計時に夫々決定する為、ダイナミックブロック毎のｆｍｉｎの値をｆｍｉｎライブラリ２８としてもっている。表２は、図７（ａ）のダイナミックブロックＣのｆｍｉｎパラメータ、表３は図７（ｂ）のダイナミックブロックＤのｆｍｉｎパラメータであり、共にｆｍｉｎライブラリ２８の一部である。
【表２】
0003924404.tif 000003
【表３】
0003924404.tif 000004
図７（ａ）のダイナミックブロックＣではダイナミックパスの容量が１ｐＦであり、表２より、Ｂｅｓｔ条件でＴｒｆ＝０．０１ｎｓの時のｆｍｉｎの値は１００ＭＨｚ、Ｗｏｒｓｔ条件でＴｒｆ＝１ｎｓの時のｆｍｉｎの値は５０ＭＨｚである。
また、図７（ｂ）のダイナミックブロックＤではダイナミックパスの容量は２ｐＦであり、表３より、Ｂｅｓｔ条件でＴｒｆ＝０．０１ｎｓの時のｆｍｉｎの値は２００ＭＨｚ、Ｗｏｒｓｔ条件でＴｒｆ＝１ｎｓの時のｆｍｉｎの値は１００ＭＨｚという値になる。
このように、ダイナミックブロック毎に異なるｆｍｉｎをもち、これをｆｍｉｎライブラリ２８より参照する。半導体集積回路内で使用しているダイナミックブロックに対してｆｍｉｎの値をｆｍｉｎライブラリ２８より参照し、論理検証用パタンのクロック周波数と比較する。
【００２５】
次に、実配線遅延計算ｂのフロー中にもつクロストークの影響をチェックするステップ２４、２５に使用する隣接容量許容値ｆｍｉｎ２ライブラリ２９に関して詳細に説明する。
本発明では、ダイナミック構成はダイナミックパスに対する隣接容量によるクロストークがダイナミックパスのデータ破壊を招く恐れが有る為、レイアウト設計後のダイナミックパスへ対するクロストーク検証を行うステップ２４、２５を持つ。
隣接容量許容値ｆｍｉｎ２ライブラリ２９中のｆｍｉｎ２の値は、入力波形の立ち上がり、立ち下がり、Ｂｅｓｔ、Ｎｏｒｍａｌ、Ｗｏｒｓｔ条件それぞれに対して与えられる。ステップ２４によって抽出されるダイナミックブロックに対する隣接容量と、その該当ブロックのデータ保持を保証する隣接容量許容値ｆｍｉｎ２ライブラリ２９とを比較する事でクロストークの影響を未然に防ぐ事が出来る。
【００２６】
表４は隣接容量許容値ｆｍｉｎ２ライブラリ２９に含まれる、図７（ａ）のダイナミックブロックＣのｆｍｉｎ２パラメータである。
【表４】
0003924404.tif 000005
図７（ａ）のダイナミックブロックＣに対してダイナミックパスｃに対する各隣接容量がついた場合のｆｍｉｎ２の値を予めライブラリとして有する。
ｆｍｉｎライブラリ２８はダイナミックブロック自体のダイナミックパスに対するｆｍｉｎのみをライブラリとしてもっていたのに対し、隣接容量許容値ｆｍｉｎ２ライブラリ２９では、そのダイナミックブロックのダイナミックパスへ付与される隣接容量毎にｆｍｉｎ２を設定し予めライブラリとしてもっている。
実配線遅延計算ｂのフローのステップ２２、２３によって抽出された該当ダイナミックブロックに対する隣接容量に対し、隣接容量許容値ｆｍｉｎ２ライブラリ２９の隣接容量を照合しｆｍｉｎ２の値を決定する。もし該当ダイナミックブロックから抽出した隣接容量が隣接容量許容値ｆｍｉｎ２ライブラリ２９に含まれていない場合は、データ保持を保証出来ない隣接容量が付いているものとしてレイアウト修正が必要になる。
仮に図７（ａ）のダイナミックブロックＣに隣接容量Ｃｒ＝０．００１ｐＦが付与された場合を表４のダイナミックブロックＣの隣接容量許容値ｆｍｉｎ２ライブラリ２９でみてみると以下のようになる。
ｆｍｉｎライブラリ２８ではＢｅｓｔ条件／Ｔｒｆ＝０．０１ｎｓの時のｆｍｉｎ＝１００ＭＨｚであったのに対し、隣接容量Ｃｒ＝０．００１ｐＦの影響によりｆｍｉｎ２＝９８ＭＨｚとなる。また、Ｗｏｒｓｔ条件／Ｔｒｆ＝１ｎｓの時のｆｍｉｎ＝５０ＭＨｚであったのに対し、同じく隣接容量Ｃｒの影響でｆｍｉｎ２＝５３ＭＨｚとなる。このように、隣接容量許容値ｆｍｉｎ２ライブラリ２９は、該当ダイナミックブロックへ隣接容量Ｃｒが付与された場合のｆｍｉｎ２の値を持つ。
【００２７】
【発明の効果】
以上のように本発明の半導体集積回路のシミュレーション方法によれば、ダイナミックパスの論理が不定となる事を防ぐことができため、ダイナミック回路とスタティック回路とを混載する半導体集積回路の論理シミュレーションを容易に実現することが可能になる。しかも、スタティックシミュレーションモデルで代用できるため、ダイナミックシミュレーションモデルが不要であるという利点も得られる。その上、ダイナミック回路を用いる事で回路規模を小さくすることができ、半導体集積回路の集積度を向上させることが可能となる。
【図面の簡単な説明】
【図１】、
【図２】本発明の第一の実施の形態における半導体集積回路のシミュレーション方法を用いた設計フローである。
【図３】本発明の第一の実施の形態における半導体集積回路のシミュレーション方法に用いるダイナミック回路の動作を説明する図である。
【図４】本発明の第一の実施の形態における半導体集積回路のシミュレーション方法の説明図である。
【図５】、
【図６】本発明の第二の実施の形態における半導体集積回路のシミュレーション方法を用いた設計フローである。
【図７】本発明の第二の実施の形態における半導体集積回路のシミュレーション方法の説明図である。
【図８】、
【図９】従来の半導体集積回路のシミュレーション方法を用いた設計フローである。
【符号の説明】
１  回路接続情報
２  配線・負荷容量情報
３  論理検証用パタン
４  シミュレーションモデル
８、１１  第四の手順
１３  第二の手順
１４  第三の手順
１５  第一の手順
ａ  仮配線遅延計算
ｂ  実配線遅延計算
２８  ｆｍｉｎライブラリ
２９  隣接容量許容値ｆｍｉｎ２ライブラリ
【図１】
0003924404.tif 000006
【図２】
0003924404.tif 000007
【図３】
0003924404.tif 000008
【図４】
0003924404.tif 000009
【図５】
0003924404.tif 000010
【図６】
0003924404.tif 000011
【図７】
0003924404.tif 000012
【図８】
0003924404.tif 000013
【図９】
0003924404.tif 000014