(57)【要約】【課題】シミュレーションと実デバイスとの間の遅延時間の誤差によって発生するタイミングエラーを回避するために、あらかじめマージンを含んだ値で解析することにより、正確にチェックする。【解決手段】複数のフリップフロップから構成される同期回路において、フリップフロップの入力信号に供給されるクロック信号の遅延時間をそれぞれ算出し、次に、フリップフロップのクロック入力端子まで到達するまでの間に存在する全てのセルに対して、タイミングマージンを含んだ係数を掛け合わせる、もしくは足し合わせることにより、クロックのＤＵＴＹが崩れた状態を仮想的に再現してフリップフロップ間のタイミング解析を行う。これにより、シミュレーションと、実デバイス間で多少の誤差が生じた場合にでも問題なく動作する回路となる。【選択図】図１
2006113785.tif 000002
【特許請求の範囲】
【請求項１】
複数のフリップフロップから構成される同期回路の、前段及び後段のフリップフロップのクロック入力端子に供給されるクロック信号の経路に、反転の論理を持つゲートが存在する構成の回路において、
前記クロック信号の経路上の遅延時間を算出し、
さらに、前記クロック信号の経路上にあるゲートのうち、立ち上がりで動作するゲートに対しては、立ち上がり用に設定した一定の係数を、前記立ち上がりで動作するゲートの遅延時間に掛け合わせ、
立ち上がりで動作するゲートに対しては、立ち下がり用に設定した一定の係数を、前記立ち下がりで動作するゲートの遅延時間に掛け合わせることによって、クロックＤＵＴＹが崩れた状態を、シミュレーション上で再現して、全てのフリップフロップ間のＳＥＴＵＰ及びＨＯＬＤタイミングのチェックを行うことを特徴とするタイミング解析方法。
【請求項２】
請求項１で記載のタイミング解析方法において、前記クロック信号の経路上に存在するゲートに、前記立ち上がり及び立ち下がり用に設定した一定の係数を掛け合わせて行う解析方法の代わりに、クロック信号の経路上にある各ゲート遅延時間に対し、各ゲートの立ち上がり及び立ち下がりの波形鈍り情報に一定の係数を掛け合わせて算出した値を、前記各ゲート立ち上がり及び立ち下がり遅延時間に足し合わせ、クロックＤＵＴＹが崩れた状態を、シミュレーション上で再現して、全てのフリップフロップ間のＳＥＴＵＰ及びＨＯＬＤタイミングのチェックを行うことを特徴とするタイミング解析方法。
【請求項３】
請求項１で記載のタイミング解析方法において、前記クロック信号の経路上に存在するゲートに、前記立ち上がり及び立ち下がり用に設定した一定の係数を掛け合わせて行う解析方法の代わりに、クロック信号の経路上にある各ゲート遅延時間に対し、ゲートの能力や種類に応じて、それぞれ異なる立ち上がり用、及び立ち下がり用の係数設定テーブルを準備し、前記各ゲート立ち上がり及び立ち下がり遅延時間に掛け合わせることにより、
クロックＤＵＴＹが崩れた状態を、シミュレーション上で再現して、全てのフリップフロップ間のＳＥＴＵＰ及びＨＯＬＤタイミングのチェックを行うことを特徴とするタイミング解析方法。
【請求項４】
請求項１で記載のタイミング解析方法において、前記クロック信号の経路上に存在するゲートに、前記立ち上がり及び立ち下がり用に設定した一定の係数を掛け合わせて行う解析方法の代わりに、クロック信号の経路上にある各ゲート遅延時間に対し、各ゲートのＶＤＤ及びＶＳＳの電圧変動量に一定の係数を掛け合わせて算出した値を、前記の各ゲート遅延時間に足し合わせ、クロックＤＵＴＹが崩れた状態を、シミュレーション上で再現して、全てのフリップフロップ間のＳＥＴＵＰ及びＨＯＬＤタイミングのチェックを行うことを特徴とするタイミング解析方法。
【請求項５】
請求項４で記載のタイミング解析方法において、各ゲートのＶＤＤ及びＶＳＳの電圧変動量に一定の係数を掛け合わせて算出した値を、前記の各ゲートに足し合わせる代わりに、前記電圧変動量と前記各ゲート遅延変動量の関係を定義した遅延変動テーブルを準備し、前記遅延変動テーブルより求められた遅延変動量を前記各ゲートの遅延時間に足し合わせ、クロックＤＵＴＹが崩れた状態を、シミュレーション上で再現して、全てのフリップフロップ間のＳＥＴＵＰ及びＨＯＬＤタイミングのチェックを行うことを特徴とするタイミング解析方法。
【請求項６】
請求項４で記載のタイミング解析方法において、各ゲートのＶＤＤ及びＶＳＳの電圧変動量に一定の係数を掛け合わせて算出した値を、前記の各ゲートに足し合わせる代わりに、
前記電圧変動量と前記各ゲート遅延変動量の関係を表す、遅延変動関数を定義し、前記遅延変動関数により求められた遅延変動量を前記各ゲートの遅延時間に足し合わせ、クロックＤＵＴＹが崩れた状態を、シミュレーション上で再現して、全てのフリップフロップ間のＳＥＴＵＰ及びＨＯＬＤタイミングのチェックを行うことを特徴とするタイミング解析方法。
【請求項７】
複数のフリップフロップから構成される同期回路の、前段及び後段のフリップフロップのクロック入力端子に供給されるクロック信号のうち、反転の論理を持つゲートが存在する構成の回路において、二つのフリップフロップのクロック信号が、一方は正転、他方が反転受け渡しを行う回路に限り、任意のタイミングマージンを設定した状態で、フリップフロップ間のＳＥＴＵＰタイミングのチェックを行うことを特徴とするタイミング解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路設計技術に関するものであり、特に、回路動作確認のタイミング解析方法に関する。
【背景技術】
【０００２】
半導体集積回路の設計開発において、回路動作確認をシミュレーションによる遅延計算及び解析にて行っているが、実際には、シミュレーションと実デバイスとの間に遅延時間の誤差が生じ、実デバイスで不良が発生することがある。遅延時間の誤差のために、セットアップタイムや、ホールドタイムで不足が生じるのである。
【０００３】
この遅延時間の誤差に起因する不良を避けるために、通常、周波数や遅延値に対して、ある一定のマージンを設定した状態での解析が行われている。
【特許文献１】特開２００３−３１８２８２号公報（第２―７頁、第五図）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
シミュレーションと、実デバイス間の遅延誤差を発生させる原因の一つに、Ｐｃｈトランジスタと、Ｎｃｈトランジスタの製造上の特性バラツキ（以下Ｐｃｈ−Ｎｃｈばらつき）がある。このＰｃｈ−Ｎｃｈのばらつきによって不具合を発生する回路は、クロックラインに正転・反転の論理が混合する回路構成に多く見られる。
【０００５】
通常、静的タイミング検証において、クロック信号のＤＵＴＹは、クロックソースからフリップフロップのクロック入力端子までの経路上のゲート、及び配線遅延時間のうち、立ち上がりの状態で発生した遅延時間と、立ち下がりの状態で発生した遅延時間により算出される。
【０００６】
例えば、正転・反転の論理が混合するフリップフロップ間のタイミングについて、Ｐｃｈ−Ｎｃｈばらつきが存在しないとすれば、クロック信号のＤＵＴＹは、それぞれの経路上の遅延時間から算出された、シミュレーション通りのＤＵＴＹを保った状態で各フリップフロップのクロック入力端子まで到達し、シミュレーション通りのタイミングの受け渡しとなる。
【０００７】
しかし、実デバイス上ではＰｃｈ−Ｎｃｈばらつきが存在するため、正転・反転の論理が混合する回路では、立ち上がり側と立ち下がり側にそれぞれ遅延誤差が生じ、それによりクロック信号のＤＵＴＹが崩れ、フリップフロップ間のタイミングは、シミュレーション時よりも厳しくなり、回路が正常に動作しないという不具合を生じる可能性がある。
【課題を解決するための手段】
【０００８】
本発明では、前記にあげられたＰｃｈ−Ｎｃｈばらつきにより不具合を発生する回路構成、例えばクロックラインに正転・反転の論理が混合する回路で、フリップフロップ間のタイミングを検証するにあたり、実デバイス上でのＰｃｈ−Ｎｃｈばらつきによる遅延誤差を加味した解析方法を提供する。
【０００９】
複数のフリップフロップから構成される同期回路において、それぞれのフリップフロップに供給されるクロック信号の遅延時間をそれぞれ算出し、次に、フリップフロップのクロック入力端子までの間に存在するそれぞれのゲートの遅延時間に対して、Ｐｃｈ−Ｎｃｈばらつきに対応させて設定した係数を掛け合わせる、もしくは、マージンとしてある法則に基づいて設定した値を足し合わせる。
【００１０】
この計算を繰り返すことにより、クロックの立ち上がり及び立ち下がりのそれぞれの遅延時間に差が生じ、ＤＵＴＹが崩れた状態を仮想的に再現させることにより、Ｐｃｈ−Ｎｃｈばらつきが発生した場合に不具合を起こす可能性のある回路において、マージンを確保してタイミング解析を行う方法である。
【００１１】
このＰｃｈ−Ｎｃｈばらつきに対応させて設定した値を掛け合わせる、もしくは足し合わせるといった操作は、クロック信号に対してのみ適応させる。
【発明の効果】
【００１２】
本発明のタイミング解析方法は、Ｐｃｈ−Ｎｃｈばらつきや、波形鈍り、セルの種類、電圧変動量に起因する、シミュレーションと実デバイス間の遅延誤差による不具合を、タイミングマージンを確保した状態で解析することにより、シミュレーションと実デバイス間で多少の誤差が生じた場合にも耐えるものとなる。
【００１３】
また、前記のタイミングマージンを、クロック信号に対してのみ適応させることにより、データラインの構成に関わらず、一律厳しめの検証が可能となる。
【発明を実施するための最良の形態】
【００１４】
図１は請求項１の発明の一実施例の、クロックライン上に反転のゲートを含む同期回路図である。
【００１５】
（ａ）のクロック信号が入力された端子（ＣＬＫ）から、２と４のフリップフロップに到達するまでの間に存在するゲート（１ａ、１ｂ、１ｃ、３ａ、３ｂ、３ｃ、３ｄ、３ｅ、３ｆ）の遅延時間を算出し、それぞれのゲートが立ち上がりで動作か立ち下りで動作かに応じて、（ｂ）で設定した立ち上がりと立ち下がりの一定の係数（値は任意）を掛け合わせていく。この際、反転のゲートはインバータに限らず、ＮＡＮＤ、ＮＯＲなど反転になるもの全てを含む。
【００１６】
図１の実施例の回路で遅延値を設定して例を挙げる。クロックライン上に存在するゲートのうち、立ち上がりで動作するゲートと立ち下がりで動作するゲートを分け、立ち上がりで動作するゲートに対しては、遅延時間に立ち上がり用に設定した係数（図１（ｂ）より１．１倍）を掛け合わせ、立ち下がりで動作するゲートに対しては、遅延時間に立ち下がり用に設定した係数（図１（ｂ）より０．９倍）を掛け合わせていく。
【００１７】
式：各ゲート遅延×立ち上がり（立ち下がり）係数
＝  Ｐｃｈ−Ｎｃｈばらつき考慮後ゲート遅延
ここで一例を挙げる。１００ＭＨｚで動作する回路において、全てのゲートの遅延時間を仮に１と置いた場合、Ｐｃｈ−Ｎｃｈばらつきが無ければ、図１の２、４のフリップフロップに到達する時点でのＤＵＴＹは１：１となる（図１（ｃ）の１）２））。
【００１８】
しかし、Ｐｃｈ−Ｎｃｈばらつきを想定して、（ｂ）で設定した係数を掛け合わせていくと、図１のＣＬＫソースから、２、４のフリップフロップまでの立ちあがりの遅延に差が生じるため、最終的にフリップフロップに到達した時点の波形は、図１（ｄ）の５ａの幅より、５ｂの幅のほうが狭くなるため、タイミングの受け渡しが厳しい方向にいく。
【００１９】
このように、最終的に図１の２、４のフリップフロップにクロックがクロック入力端子に到達した時点のＤＵＴＹが、通常に求められるＤＵＴＹよりも崩れた状態となるため、特に反転の受け渡しとなる回路においては、より厳しい条件での解析が可能となる。
【００２０】
次に、請求項２の発明の一実施例を挙げる。例として挙げる回路は、前記請求項１で使用した回路図１（ａ）と同じものとする。
【００２１】
前記請求項１で記載のタイミング解析方法において、クロック信号の経路上に存在するゲートに、立ち上がり及び立ち下がり用に設定した一定の係数を掛け合わせて行う解析方法の代わりに、図２に示すクロックライン上に存在するゲートの波形鈍り情報値６（Ｓｔｘ）に、立ち上がり及び立ち下がり用に設定した一定の係数（ｂ）をそれぞれ掛け合わせて算出した値と、ゲートの遅延時間を足し合わせていく。
【００２２】
式：各ゲート遅延  ＋（Ｓｔｘ  ×  立ち上がり（立ち下がり）係数
＝  Ｐｃｈ−Ｎｃｈばらつき考慮後ゲート遅延
請求項１の計算と同じ要領で、最終的に図１の２、４のフリップフロップにクロックがクロック入力端子に到達した時点のＤＵＴＹは、通常に求められるＤＵＴＹよりも崩れた状態となり、より厳しい条件での解析が可能となる。
【００２３】
次に、請求項３の発明の一実施例を挙げる。例として挙げる回路は、前記請求項１で使用した回路図１（ａ）と同じものとする。
【００２４】
前記請求項１で記載のタイミング解析方法において、クロック信号の経路上に存在するゲートに、立ち上がり及び立ち下がり用に設定した一定の係数を掛け合わせて行う解析方法の代わりに、クロックライン上に存在する各ゲートの能力や種類に応じて、それぞれ異なる係数設定テーブル（図３）を作成し、各ゲートの動作条件（立ち上がり、立ち下がり）と、セルの種類や能力に応じて、テーブルに設定された係数を、各ゲート遅延時間に掛け合わせていく。
【００２５】
式：各ゲート遅延  ×  種類・能力別立ち上がり（立ち下がり）係数
＝  Ｐｃｈ−Ｎｃｈばらつき考慮後ゲート遅延
請求項１の計算と同じ要領で、最終的に図１の２、４のフリップフロップにクロックがクロック入力端子に到達した時点のＤＵＴＹは、通常に求められるＤＵＴＹよりも崩れた状態となり、より厳しい条件での解析が可能となる。
【００２６】
次に、請求項４の発明の一実施例を挙げる。例として挙げる回路は、前記請求項１で使用した回路図１（ａ）と同じものとする。
【００２７】
前記請求項１で記載のタイミング解析方法において、クロック信号の経路上に存在するゲートに、立ち上がり及び立ち下がり用に設定した一定の係数を掛け合わせて行う解析方法の代わりに、クロックライン上に存在する各ゲートの電圧変動量に立ち上がりと立ち下がり用に設定した一定の係数（図４）を掛け合わせたものと、ゲートの遅延時間を足し合わせていく。
【００２８】
式：各ゲート遅延  ＋  （電圧変動量×立ち上がり（立ち下がり）係数）
＝  Ｐｃｈ−Ｎｃｈばらつき考慮後ゲート遅延
請求項１の計算と同じ要領で、最終的に図１の２、４のフリップフロップにクロックがクロック入力端子に到達した時点のＤＵＴＹは、通常に求められるＤＵＴＹよりも崩れた状態となり、より厳しい条件での解析が可能となる。
【００２９】
次に、請求項５の発明の一実施例を挙げる。前記請求項４で記載のタイミング解析方法において、電圧変動量に立ち上がりと立ち下がり用に設定した一定の係数を掛け合わせる代わりに、電圧変動量を遅延変動量に換算したテーブルを作成し（図５）、各ゲートの電圧変動量応じて、デーブルで設定した遅延変動量を、ゲート遅延時間にそれぞれ足し合わせていく。
【００３０】
式：各ゲート遅延  ＋  電圧変動量別の遅延変動量
＝  Ｐｃｈ−Ｎｃｈばらつき考慮後ゲート遅延
請求項１の計算と同じ要領で、最終的に２、４のフリップフロップにクロックがクロック入力端子に到達した時点のＤＵＴＹは、通常に求められるＤＵＴＹよりも崩れた状態となり、より厳しい条件での解析が可能となる。
【００３１】
次に、請求項６の発明の一実施例を挙げる。請求項４で記載のタイミング解析方法において、電圧変動量に立ち上がりと立ち下がり用に設定した一定の係数を掛け合わせる代わりに、電圧変動量から関数を用いて遅延変動量を算出した結果に立ち上がりと立ち下がり用に設定した一定の係数を掛け合わせたものと、それぞれ各ゲート遅延時間を足し合わせていく。ここで用いられる関数ｆ（ｘ）は、電圧変動量から遅延変動量を求める計算式を意味する。
【００３２】
式：各ゲート遅延  ＋  ｆ（ｘ）  ＝  Ｐｃｈ−Ｎｃｈばらつき考慮後ゲート遅延
請求項１の計算と同じ要領で、最終的に２、４のフリップフロップにクロックがクロック入力端子に到達した時点のＤＵＴＹは、通常に求められるＤＵＴＹよりも崩れた状態となり、より厳しい条件での解析が可能となる。
【００３３】
次に、請求項７の発明の一実施例を挙げる。複数のフリップフロップから構成される同期回路の、前段及び後段のフリップフロップのクロック入力端子に供給されるクロック信号のうち、反転の論理を持つゲート（インバータに限定されず）が存在する構成の回路において、正転と反転でタイミングの受け渡しを行うもの（図６ａ、図６ｂ）に限り、任意のタイミングマージンを設定した状態で、フリップフロップ間のＳＥＴＵＰタイミングのチェックを行う。
【００３４】
反転での受け渡しのフリップフロップ間に限定する理由は、上記請求項１から６までの通り、Ｐｃｈ−Ｎｃｈばらつきが発生した場合にタイミングが厳しくなる回路は反転での受け渡しの回路に多く見られるためである。そこで、正転と反転で受け渡しが行われるフリップフロップを判定し、反転との受け渡しが行われる回路に対してのみ、タイミングのチェックを行い誤動作を防止する。
【産業上の利用可能性】
【００３５】
本発明に係るタイミング解析方法は、ＰｃｈトランジスタとＮｃｈトランジスタの製造上での特性のバラツキよって起こるタイミング不具合を回避するために、タイミングマージンを確保して行う解析方法であるが、特に、データラインの構成を考慮しない場合の検証時に有効である。
【図面の簡単な説明】
【００３６】
【図１】クロックラインに反転・正転の論理ゲートを含む、複数のフリップフロップから構成される一般的な同期回路図
【図２】クロックライン上に存在する各ゲートの、波形鈍り情報を表した波形図
【図３】クロックライン上に存在する各ゲートの、種類と能力別に設定した係数値を示す図
【図４】クロックの電圧変動量に対応した立ち上がり、立ち下がり別に設定した一定の係数値を示す図
【図５】電圧変動量―遅延変動量を対応させた、遅延変動テーブルを示す図
【図６】二つのフリップフロップにおいて、一方が正転、他方が反転の受け渡しを行う回路図
【符号の説明】
【００３７】
１ａ，１ｂ，１ｃ，３ａ，３ｂ，３ｃ，３ｄ，３ｅ，３ｆ    クロック上に存在するゲート
２，４    フリップフロップ
５ａ    Ｐｃｈ−Ｎｃｈばらつき考慮無しでのＳＥＴＵＰタイム
５ｂ    Ｐｃｈ−Ｎｃｈばらつきを考慮し、係数を掛け合わせた後のＳＥＴＵＰタイム
【図１】
2006113785.tif 000003
【図２】
2006113785.tif 000004
【図３】
2006113785.tif 000005
【図４】
2006113785.tif 000006
【図５】
2006113785.tif 000007
【図６】
2006113785.tif 000008