JP3015640B2 - 半導体集積回路の誤動作の判定方法 - Google Patents
半導体集積回路の誤動作の判定方法Info
- Publication number
- JP3015640B2 JP3015640B2 JP5283568A JP28356893A JP3015640B2 JP 3015640 B2 JP3015640 B2 JP 3015640B2 JP 5283568 A JP5283568 A JP 5283568A JP 28356893 A JP28356893 A JP 28356893A JP 3015640 B2 JP3015640 B2 JP 3015640B2
- Authority
- JP
- Japan
- Prior art keywords
- clock
- clock skew
- value
- flip
- malfunction
- 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.)
- Expired - Lifetime
Links
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【0001】
【産業上の利用分野】本発明は、半導体集積回路の誤動
作の判定方法に関する。近年、半導体集積回路の大規模
化に伴い、フリップフロップに供給されるクロック間の
時間のずれによって生ずる回路の誤動作が問題になって
いる。本発明は、パターンレイアウトの作成前に、半導
体集積回路が誤動作するか否かを予測する方法を提供す
ることを目的とする。
作の判定方法に関する。近年、半導体集積回路の大規模
化に伴い、フリップフロップに供給されるクロック間の
時間のずれによって生ずる回路の誤動作が問題になって
いる。本発明は、パターンレイアウトの作成前に、半導
体集積回路が誤動作するか否かを予測する方法を提供す
ることを目的とする。
【0002】
【従来の技術】近年の大規模半導体集積回路において
は、データ圧縮等を行うデータ処理LSIに代表される
ような、数百〜数千個のフリップフロップを含むものが
ある。この種の大規模半導体集積回路では、配線面積を
抑えるため、2層アルミ配線技術を適用してこれらフリ
ップフロップにクロック信号を供給するクロックライン
の集積化を図っている。しかし、一方でクロックスキュ
ーと呼ばれるクロック間の時間のずれによって生ずる回
路の誤動作が問題になっている。
は、データ圧縮等を行うデータ処理LSIに代表される
ような、数百〜数千個のフリップフロップを含むものが
ある。この種の大規模半導体集積回路では、配線面積を
抑えるため、2層アルミ配線技術を適用してこれらフリ
ップフロップにクロック信号を供給するクロックライン
の集積化を図っている。しかし、一方でクロックスキュ
ーと呼ばれるクロック間の時間のずれによって生ずる回
路の誤動作が問題になっている。
【0003】以下で、このクロックスキュ−による回路
の誤動作を図9乃至図11を参照しながら具体的に説明
する。今、図9に示す回路において、DFF1とDFF
2に供給されるクロックCLKのずれは全くないはずで
ある。ところが、図に示す回路をLSI化すると、図1
0に示す如く、配線の寄生抵抗Rと寄生容量Cが存在す
るようになり、このためクロックCLK1,CLK2の
間に時間のずれを生じる。この時間のずれが、クロック
スキューと呼ばれるものである。次に、図11に示すタ
イミング図を参照しながら、クロックスキューによる誤
動作の問題を説明する。(1)クロックスキューが無い
時(正常動作) DFF1の入力(IN1)の変化は、時刻t1で出力O
1の変化となる。そして、O1の変化は、時刻t2でD
FF2に取り込まれ、時刻t3でDFF2の出力O2と
して出力される。 (2)クロックスキュ−があるとき(誤動作) DFF1の出力O1が、時刻t1’より早くDFF2の
入力IN2へ到達してしまうと(本来ならば時刻t2で
DFF2へ取り込まれるはずであるが)、クロックスキ
ュー(t1〜t1')の間にDFF2に取り込まれ、時刻
t1’で出力O2として出てしまう。つまり、信号がつ
つ抜けになってしまう。これが、クロックスキューによ
る誤動作である。なお上記の誤動作は、クロックスキュ
ーの値が小さいか、あるいはDFF1の信号がO1から
IN2へ伝達される時間がクロックスキュー値よりも大
であれば、発生しない。
の誤動作を図9乃至図11を参照しながら具体的に説明
する。今、図9に示す回路において、DFF1とDFF
2に供給されるクロックCLKのずれは全くないはずで
ある。ところが、図に示す回路をLSI化すると、図1
0に示す如く、配線の寄生抵抗Rと寄生容量Cが存在す
るようになり、このためクロックCLK1,CLK2の
間に時間のずれを生じる。この時間のずれが、クロック
スキューと呼ばれるものである。次に、図11に示すタ
イミング図を参照しながら、クロックスキューによる誤
動作の問題を説明する。(1)クロックスキューが無い
時(正常動作) DFF1の入力(IN1)の変化は、時刻t1で出力O
1の変化となる。そして、O1の変化は、時刻t2でD
FF2に取り込まれ、時刻t3でDFF2の出力O2と
して出力される。 (2)クロックスキュ−があるとき(誤動作) DFF1の出力O1が、時刻t1’より早くDFF2の
入力IN2へ到達してしまうと(本来ならば時刻t2で
DFF2へ取り込まれるはずであるが)、クロックスキ
ュー(t1〜t1')の間にDFF2に取り込まれ、時刻
t1’で出力O2として出てしまう。つまり、信号がつ
つ抜けになってしまう。これが、クロックスキューによ
る誤動作である。なお上記の誤動作は、クロックスキュ
ーの値が小さいか、あるいはDFF1の信号がO1から
IN2へ伝達される時間がクロックスキュー値よりも大
であれば、発生しない。
【0004】
【発明が解決しようとする課題】しかしながら、フリッ
プフロップが数百〜数千個もあると、その接続関係も複
雑であり、回路の誤動作の判定をするのは極めて困難で
あった。このため、事前に定量的な評価が十分できず、
実際のLSIを試作して始めてクロックスキューによる
回路の誤動作が判明する場合が多かった。
プフロップが数百〜数千個もあると、その接続関係も複
雑であり、回路の誤動作の判定をするのは極めて困難で
あった。このため、事前に定量的な評価が十分できず、
実際のLSIを試作して始めてクロックスキューによる
回路の誤動作が判明する場合が多かった。
【0005】本発明は、上記の問題点に鑑みて創作され
たものであり、パターンレイアウトの作成前に、半導体
集積回路が誤動作するか否かを、迅速にかつ正確に予測
し得る方法を提供することを目的としている。
たものであり、パターンレイアウトの作成前に、半導体
集積回路が誤動作するか否かを、迅速にかつ正確に予測
し得る方法を提供することを目的としている。
【0006】
【課題を解決するための手段】本発明に係る半導体集積
回路の誤動作の判定方法は、相互に接続された2つのフ
リップフロップ間のクロックスキュー耐性値と前記クロ
ックラインのクロックスキュー値とを回路シミュレーシ
ョンから求め、前記クロックスキュー耐性値と前記クロ
ックスキュー値の大小を比較して判定することを特徴と
している。
回路の誤動作の判定方法は、相互に接続された2つのフ
リップフロップ間のクロックスキュー耐性値と前記クロ
ックラインのクロックスキュー値とを回路シミュレーシ
ョンから求め、前記クロックスキュー耐性値と前記クロ
ックスキュー値の大小を比較して判定することを特徴と
している。
【0007】
【作用】上述の手段によれば、従来では困難であったク
ロックスキューによる誤動作の判定を、パターンレイア
ウト前に迅速にかつ正確に行うことができる。さらに、
その判定結果に基づいて、パターンレイアウトを最適化
できるという利点を有する。
ロックスキューによる誤動作の判定を、パターンレイア
ウト前に迅速にかつ正確に行うことができる。さらに、
その判定結果に基づいて、パターンレイアウトを最適化
できるという利点を有する。
【0008】
【実施例】以下、本発明の実施例について詳細に説明す
る。図1は、本発明の一実施例の処理の流れを示すフロ
ー図である。まず、クロックスキュー耐性値を求める処
理の流れを説明する。1は回路シミュレータに入力する
プロセスパラメータ情報であって、例えばトランジスタ
のしきい値や拡散層のシート抵抗値、単位面積当りの容
量値等が含まれる。2は各種のフリップフロップの情報
を有するセルライブラリである。プロセスパラメータ情
報1とセルライブラリ2とから、それぞれ必要な情報を
取り出し、回路シミュレーションの条件設定を行う(図
中3)。ここでは、相互に接続された2つのフリップフ
ロップから成る第1の等価回路を構成している。具体的
な等価回路の構成は後で説明する。そして、その条件設
定に基づいて第1の回路シミュレーション(図中4)を
実行し、第1の回路シミュレーションの結果5であるク
ロックスキュー耐性値を得る。ここに、クロックスキュ
ー耐性値とは、フリップフロップが誤動作する限界のク
ロックスキューの値をいう。すなわち、クロックスキュ
ー値がクロックスキュー耐性値より大きい場合には誤動
作し、小さい場合には正常に動作する。次に、クロック
スキュー値を求める処理の流れを説明する。6は、クロ
ックラインに関する各種のレイアウトモデルを有するレ
イアウトモデル情報である。プロセスパラメータ情報1
とレイアウトモデル情報6に基づいて、レイアウトモデ
ル選択およびシミュレーションの条件設定を行う(図中
7)。ここでは、CR分布定数回路に置き換えられたク
ロックラインとクロックドライバーとから成る第2の等
価回路を構成している。そして、その条件設定に基づい
て第2の回路シミュレーション(図中8)を実行し、第
2の回路シミュレーションの結果9として、クロックス
キュー値を得る。ここに、クロックスキュー値とは、上
記第2の等価回路におけるクロックの最大伝搬遅延時間
と最小伝搬遅延時間との差をいう。次に、上記のクロッ
クスキュー値とクロックスキュー耐性値との大小を比較
する(図中10)。クロックスキュー値とクロックスキ
ュー耐性値がより小さい場合には、すべてのフリップフ
ロップが正常動作することが保証されるので、OKと判
定し、一連の処理を終了する(図中11)。クロックス
キュー値がクロックスキュー耐性値より大きい場合に
は、誤動作するフリップフロップが存在することになる
ので、NGと判定するとともに、モデルの選択またはシ
ミュレーションの条件設定(図中7)をもう一度変更し
て判定結果がOKとなるまで上記7乃至10の処理を繰
り返す。
る。図1は、本発明の一実施例の処理の流れを示すフロ
ー図である。まず、クロックスキュー耐性値を求める処
理の流れを説明する。1は回路シミュレータに入力する
プロセスパラメータ情報であって、例えばトランジスタ
のしきい値や拡散層のシート抵抗値、単位面積当りの容
量値等が含まれる。2は各種のフリップフロップの情報
を有するセルライブラリである。プロセスパラメータ情
報1とセルライブラリ2とから、それぞれ必要な情報を
取り出し、回路シミュレーションの条件設定を行う(図
中3)。ここでは、相互に接続された2つのフリップフ
ロップから成る第1の等価回路を構成している。具体的
な等価回路の構成は後で説明する。そして、その条件設
定に基づいて第1の回路シミュレーション(図中4)を
実行し、第1の回路シミュレーションの結果5であるク
ロックスキュー耐性値を得る。ここに、クロックスキュ
ー耐性値とは、フリップフロップが誤動作する限界のク
ロックスキューの値をいう。すなわち、クロックスキュ
ー値がクロックスキュー耐性値より大きい場合には誤動
作し、小さい場合には正常に動作する。次に、クロック
スキュー値を求める処理の流れを説明する。6は、クロ
ックラインに関する各種のレイアウトモデルを有するレ
イアウトモデル情報である。プロセスパラメータ情報1
とレイアウトモデル情報6に基づいて、レイアウトモデ
ル選択およびシミュレーションの条件設定を行う(図中
7)。ここでは、CR分布定数回路に置き換えられたク
ロックラインとクロックドライバーとから成る第2の等
価回路を構成している。そして、その条件設定に基づい
て第2の回路シミュレーション(図中8)を実行し、第
2の回路シミュレーションの結果9として、クロックス
キュー値を得る。ここに、クロックスキュー値とは、上
記第2の等価回路におけるクロックの最大伝搬遅延時間
と最小伝搬遅延時間との差をいう。次に、上記のクロッ
クスキュー値とクロックスキュー耐性値との大小を比較
する(図中10)。クロックスキュー値とクロックスキ
ュー耐性値がより小さい場合には、すべてのフリップフ
ロップが正常動作することが保証されるので、OKと判
定し、一連の処理を終了する(図中11)。クロックス
キュー値がクロックスキュー耐性値より大きい場合に
は、誤動作するフリップフロップが存在することになる
ので、NGと判定するとともに、モデルの選択またはシ
ミュレーションの条件設定(図中7)をもう一度変更し
て判定結果がOKとなるまで上記7乃至10の処理を繰
り返す。
【0009】以下、本発明の具体例について説明する。 (1)クロックスキュー耐性値の抽出 第1の等価回路の構成 プロセスパラメータ情報1とセルライブラリ2とから、
それぞれ必要な情報を取り出し、図2に示すような等価
回路を構成する。図2において、2つのDフリップフロ
ップを直列に接続し、データラインDLを抵抗R1およ
び容量C1とから成る3π型CR回路に置き換え、同様
にクロックラインCLを抵抗R2および容量C2とからな
る3π型CR回路に置き換え、クロックラインCLの一
端にクロックドライバーCDを接続し、初段のDフリッ
プフロップDFF1のクロック端子C1にはクロックド
ライバーCDの出力クロックCLK1を直接接続し、次
段のDフリップフロップDFF2のクロック端子C2に
は、CR回路を介した出力クロックCLK2を接続する
ことにより、第1の等価回路を構成している。ここで、
3π型CR回路は、π型CR回路を3段直列に接続して
成る回路であり、分布定数回路の計算精度を向上するた
めに利用している。
それぞれ必要な情報を取り出し、図2に示すような等価
回路を構成する。図2において、2つのDフリップフロ
ップを直列に接続し、データラインDLを抵抗R1およ
び容量C1とから成る3π型CR回路に置き換え、同様
にクロックラインCLを抵抗R2および容量C2とからな
る3π型CR回路に置き換え、クロックラインCLの一
端にクロックドライバーCDを接続し、初段のDフリッ
プフロップDFF1のクロック端子C1にはクロックド
ライバーCDの出力クロックCLK1を直接接続し、次
段のDフリップフロップDFF2のクロック端子C2に
は、CR回路を介した出力クロックCLK2を接続する
ことにより、第1の等価回路を構成している。ここで、
3π型CR回路は、π型CR回路を3段直列に接続して
成る回路であり、分布定数回路の計算精度を向上するた
めに利用している。
【0010】 第1の回路シミュレーションの実行 上記の等価回路に基づき、クロックラインCLに係る抵
抗R2および容量C2を可変にすることで故意にクロック
スキューを発生させ、2段目のDフリップフロップの出
力Q2が異常となる限界のクロックスキュー値を求め
る。まず、クロックドライバーCDのサイズ(トランジ
スタのチャンネル長さおよびチャンネル幅等)、R1,
C1の値、およびR2,C2の初期値を指定し、第1回目
の回路シミュレーションを実行し、正常動作であればR
2,C2の値を2倍する。そして、第2回目の回路シミュ
レーションを実行し、その結果、誤動作であれば前回の
R2’,C2’と今回のR2,C2の中間の値を用いて第3
回目の回路シミュレーションを実行する。このようにし
て、回路シミュレーションを繰り返して、出力Q2が誤
動作する限界のクロックスキュー値である、クロックス
キュー耐性値を求める。ここで、例えば前回のクロック
スキューの値と今回のクロックスキューの値との差があ
る一定値以下になったときに、限界に達したと判断し、
回路シミュレーションの実行を終了する。上記の計算手
法はいわゆるバイナリー・サーチを利用したものであ
る。
抗R2および容量C2を可変にすることで故意にクロック
スキューを発生させ、2段目のDフリップフロップの出
力Q2が異常となる限界のクロックスキュー値を求め
る。まず、クロックドライバーCDのサイズ(トランジ
スタのチャンネル長さおよびチャンネル幅等)、R1,
C1の値、およびR2,C2の初期値を指定し、第1回目
の回路シミュレーションを実行し、正常動作であればR
2,C2の値を2倍する。そして、第2回目の回路シミュ
レーションを実行し、その結果、誤動作であれば前回の
R2’,C2’と今回のR2,C2の中間の値を用いて第3
回目の回路シミュレーションを実行する。このようにし
て、回路シミュレーションを繰り返して、出力Q2が誤
動作する限界のクロックスキュー値である、クロックス
キュー耐性値を求める。ここで、例えば前回のクロック
スキューの値と今回のクロックスキューの値との差があ
る一定値以下になったときに、限界に達したと判断し、
回路シミュレーションの実行を終了する。上記の計算手
法はいわゆるバイナリー・サーチを利用したものであ
る。
【0011】なお、R2,C2のどちらか一方を固定し他
方を可変にすることも可能である。また、クロックスキ
ュー耐性値の最小値(最も厳しい条件)を求める場合
は、R 1,C1の値を0に設定し、R2を大きめ(波形が
急峻となる)に設定すると良い。 第1の回路シミュレーションの結果 このようにして、バイナリー・サーチの手法を採用した
ことにより、迅速にクロックスキュー耐性値を得ること
ができる。併せて、各クロックCLK1,CLK2の伝
搬遅延時間および遷移時間を得ている。これらは、クロ
ックスキューのチェックだけでなく、所定のクロック動
作周波数を満足できるか否かの判断にも使用される。図
3には、これらの特性値の関係を波形図とともに示し
た。クロックスキュー耐性値および伝搬遅延時間は、フ
ルスイング幅の50%を基準とし、遷移時間は10%〜
90%を基準としている。
方を可変にすることも可能である。また、クロックスキ
ュー耐性値の最小値(最も厳しい条件)を求める場合
は、R 1,C1の値を0に設定し、R2を大きめ(波形が
急峻となる)に設定すると良い。 第1の回路シミュレーションの結果 このようにして、バイナリー・サーチの手法を採用した
ことにより、迅速にクロックスキュー耐性値を得ること
ができる。併せて、各クロックCLK1,CLK2の伝
搬遅延時間および遷移時間を得ている。これらは、クロ
ックスキューのチェックだけでなく、所定のクロック動
作周波数を満足できるか否かの判断にも使用される。図
3には、これらの特性値の関係を波形図とともに示し
た。クロックスキュー耐性値および伝搬遅延時間は、フ
ルスイング幅の50%を基準とし、遷移時間は10%〜
90%を基準としている。
【0012】(2)クロックスキュー値の抽出 レイアウトモデル情報 レイアウトモデル情報は、クロックラインおよびクロッ
クラインドライバーのレイアウト(配置)に関する情報
であり、幹線のタイプ、クロックドライバーの位置、お
よびローカルバッファの有無を含む。本レイアウトモデ
ル情報によるクロックラインは、幹線とその幹線から分
岐し幹線の線幅よりも小さい線幅を有する複数の支線と
から成る。そして、幹線、幹線を駆動するためのクロッ
クドライバー、幹線から分岐した複数の支線とで構成さ
れ、複数の支線に接続される複数のフリップフロップを
付加することで、後に述べる第2の等価回路を構成す
る。
クラインドライバーのレイアウト(配置)に関する情報
であり、幹線のタイプ、クロックドライバーの位置、お
よびローカルバッファの有無を含む。本レイアウトモデ
ル情報によるクロックラインは、幹線とその幹線から分
岐し幹線の線幅よりも小さい線幅を有する複数の支線と
から成る。そして、幹線、幹線を駆動するためのクロッ
クドライバー、幹線から分岐した複数の支線とで構成さ
れ、複数の支線に接続される複数のフリップフロップを
付加することで、後に述べる第2の等価回路を構成す
る。
【0013】図4は、幹線のタイプの例を示す図であ
り、幹線(21)を支線(22)のサイドに設置した場
合(図中A)、幹線(21)を支線(22)の中央に設
置した場合(図中B)、幹線(21)をリング状に配線
し、垂直方向に支線(22)をn本通す場合(図中C)
および幹線(21)を他の配線と同様に蛇行させて配置
した場合(図中D)がある。図5は、クロックドライバ
ー(23)の位置の例を示す図であり、幹線(21)の
一端に配置した場合(図中A)、幹線(21)の両端に
配置した場合(図中B)、幹線(21)の中央に配置し
た場合(図中C)がある。
り、幹線(21)を支線(22)のサイドに設置した場
合(図中A)、幹線(21)を支線(22)の中央に設
置した場合(図中B)、幹線(21)をリング状に配線
し、垂直方向に支線(22)をn本通す場合(図中C)
および幹線(21)を他の配線と同様に蛇行させて配置
した場合(図中D)がある。図5は、クロックドライバ
ー(23)の位置の例を示す図であり、幹線(21)の
一端に配置した場合(図中A)、幹線(21)の両端に
配置した場合(図中B)、幹線(21)の中央に配置し
た場合(図中C)がある。
【0014】ローカルバッファ(24)は、支線を直接
駆動するために各支線に接続されるものであるが、図6
に示すように、その有無により2つのタイプに分類され
る(図中A,B)。従って、幹線(21)のタイプ、ク
ロックドライバー(23)の位置、およびローカルバフ
ァ(24)の有無の任意の組み合わせにより、(4+
n)×3×2=24+6n通りのレイアウトモデルが構
成可能である。 レイアウトモデルの選択と第1の回路シミュレーシ
ョンの条件設定 上記のレイアウトモデル情報の中から所望のモデルを選
択し、さらに次の項目について条件設定を行う。 (a)支線の本数、幅、長さ、材質 (b)幹線の本数(リングの場合)、幹線の幅、長さ、
材質 (c)クロックドライバーとローカルバッファのサイズ (d)フリップフロップの種類とその接続数(ファンア
ウト) (e)プロセスパラメータ、例えばポリシリコン、メタ
ル(1層、2層、3層)のシート抵抗、単位容量、コン
タクト抵抗、電源電圧、温度等であり、プロセスパラメ
ータ情報1から取り出される。
駆動するために各支線に接続されるものであるが、図6
に示すように、その有無により2つのタイプに分類され
る(図中A,B)。従って、幹線(21)のタイプ、ク
ロックドライバー(23)の位置、およびローカルバフ
ァ(24)の有無の任意の組み合わせにより、(4+
n)×3×2=24+6n通りのレイアウトモデルが構
成可能である。 レイアウトモデルの選択と第1の回路シミュレーシ
ョンの条件設定 上記のレイアウトモデル情報の中から所望のモデルを選
択し、さらに次の項目について条件設定を行う。 (a)支線の本数、幅、長さ、材質 (b)幹線の本数(リングの場合)、幹線の幅、長さ、
材質 (c)クロックドライバーとローカルバッファのサイズ (d)フリップフロップの種類とその接続数(ファンア
ウト) (e)プロセスパラメータ、例えばポリシリコン、メタ
ル(1層、2層、3層)のシート抵抗、単位容量、コン
タクト抵抗、電源電圧、温度等であり、プロセスパラメ
ータ情報1から取り出される。
【0015】 フリップフロップ分布(FF分布)と
等価回路の構成 フリップフロップは、各支線に接続されるが、個々に接
続位置を指定するのではなく、あらかじめメニューとし
て準備されたFF分布情報から選択する手法を採用する
ことで、等価回路の構成を迅速化している。FF分布
(25)は、図7に示すように、各支線に均一に分布さ
せたもの(図中A)を標準とし、B〜Dのような各種の
分布を選択できる。
等価回路の構成 フリップフロップは、各支線に接続されるが、個々に接
続位置を指定するのではなく、あらかじめメニューとし
て準備されたFF分布情報から選択する手法を採用する
ことで、等価回路の構成を迅速化している。FF分布
(25)は、図7に示すように、各支線に均一に分布さ
せたもの(図中A)を標準とし、B〜Dのような各種の
分布を選択できる。
【0016】そして、上記のレイアウトモデルとFF分
布とに基づいて、クロックスキュー値を求めるための第
2の等価回路を構成する。その第2の等価回路は、図8
に示すように、幹線、支線、およびFFの入力容量を3
π型RC回路に置き換えたものである。 第2の回路シミュレーションの実行 そして、図8に示すような第2の等価回路の基づいて、
第2の回路シミュレーションを実行し、各節点の伝搬遅
延を調べ、伝搬遅延時間の最大値と最小値の差として、
クロックスキュー値を求める。併せて、波形遷移時間の
最大値も求める。クロックスキュー値は、前記のクロッ
クスキュー耐性値との比較の都合上、同様にフルスイン
グ幅の50%を基準としている。
布とに基づいて、クロックスキュー値を求めるための第
2の等価回路を構成する。その第2の等価回路は、図8
に示すように、幹線、支線、およびFFの入力容量を3
π型RC回路に置き換えたものである。 第2の回路シミュレーションの実行 そして、図8に示すような第2の等価回路の基づいて、
第2の回路シミュレーションを実行し、各節点の伝搬遅
延を調べ、伝搬遅延時間の最大値と最小値の差として、
クロックスキュー値を求める。併せて、波形遷移時間の
最大値も求める。クロックスキュー値は、前記のクロッ
クスキュー耐性値との比較の都合上、同様にフルスイン
グ幅の50%を基準としている。
【0017】(3)誤動作の判定と設計の適正化 次に、上記のクロックスキュー値とクロックスキュー耐
性値との大小を比較する。クロックスキュー値とクロッ
クスキュー耐性値がより小さい場合には、すべてのフリ
ップフロップが正常動作することが保証されるので、O
Kと判定し、一連の処理を終了する。クロックスキュー
値がクロックスキュー耐性値より大きい場合には、誤動
作するフリップフロップが存在することになるので、N
Gと判定するとともに、モデルの選択またはシミュレー
ションの条件設定をもう一度変更して判定結果がOKと
なるまで回路シミュレーションを繰り返す。この場合、
具体的には、クロックドライバーのサイズ、幹線の幅、
レイアウトモデルで指定された範囲で指定された優先順
位にの高いものから順に変更していき、上記の判定条件
を満足するまで回路シミュレーションを繰り返す。
性値との大小を比較する。クロックスキュー値とクロッ
クスキュー耐性値がより小さい場合には、すべてのフリ
ップフロップが正常動作することが保証されるので、O
Kと判定し、一連の処理を終了する。クロックスキュー
値がクロックスキュー耐性値より大きい場合には、誤動
作するフリップフロップが存在することになるので、N
Gと判定するとともに、モデルの選択またはシミュレー
ションの条件設定をもう一度変更して判定結果がOKと
なるまで回路シミュレーションを繰り返す。この場合、
具体的には、クロックドライバーのサイズ、幹線の幅、
レイアウトモデルで指定された範囲で指定された優先順
位にの高いものから順に変更していき、上記の判定条件
を満足するまで回路シミュレーションを繰り返す。
【0018】
【発明の効果】以上説明したように、本発明によれば、
従来では困難であったクロックスキューによる誤動作の
判定をパターンレイアウト前に迅速にかつ正確に行うこ
とができる。これにより、多数のフリップフロップを含
む大規模半導体集積回路を誤動作を招くことなく、迅速
に設計することが可能となる。
従来では困難であったクロックスキューによる誤動作の
判定をパターンレイアウト前に迅速にかつ正確に行うこ
とができる。これにより、多数のフリップフロップを含
む大規模半導体集積回路を誤動作を招くことなく、迅速
に設計することが可能となる。
【図1】本発明の一実施例に係る処理の流れを示すフロ
ー図である。
ー図である。
【図2】本発明の一実施例に係る第1の等価回路を示す
回路図である。
回路図である。
【図3】本発明の一実施例に係るクロック波形図であ
る。
る。
【図4】本発明の一実施例に係るレイアウトモデルを示
す図である。
す図である。
【図5】本発明の一実施例に係るレイアウトモデルを示
す図である。
す図である。
【図6】本発明の一実施例に係るレイアウトモデルを示
す図である。
す図である。
【図7】本発明の一実施例に係るフリップフロップの分
布図である。
布図である。
【図8】本発明の一実施例に係る第2の等価回路を示す
回路図である。
回路図である。
【図9】クロックスキューの問題を説明するための回路
図である。
図である。
【図10】クロックスキューの問題を説明するための回
路図である。
路図である。
【図11】クロックスキューの問題を説明するためのタ
イミング図である。
イミング図である。
1 プロセスパラメータ情報 2 セルライブラリ 3 第1のシミュレーション条件設定 4 第1の回路シミュレーション 5 第1のシミュレーション結果 6 レイアウトモデル情報 7 モデル選択および第2のシミュレーション条件設
定 8 第2の回路シミュレーション 9 第2のシミュレーション結果 10 比較 11 終了 21 幹線 22 支線 23 クロックドライバー 24 ローカルバッファ 25 FF分布 DFF1,DFF2 Dフリップフロップ CD クロックドライバー CL クロックライン CLK1,CLK2 クロック
定 8 第2の回路シミュレーション 9 第2のシミュレーション結果 10 比較 11 終了 21 幹線 22 支線 23 クロックドライバー 24 ローカルバッファ 25 FF分布 DFF1,DFF2 Dフリップフロップ CD クロックドライバー CL クロックライン CLK1,CLK2 クロック
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平7−13654(JP,A) 特開 平3−173151(JP,A) 特開 平4−274567(JP,A) 特開 平4−355883(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 H01L 21/82 G01R 31/28
Claims (2)
- 【請求項1】 クロックラインと前記クロックラインに
接続される複数のフリップフロップを含む半導体集積回
路の誤動作の判定方法において、直列に接続された2つ
のフリップフロップ間のクロックスキュー耐性値と前記
クロックラインのクロックスキュー値とを回路シミュレ
ーションから求め、前記クロックスキュー耐性値と前記
クロックスキュー値の大小を比較することにより誤動作
の判定を行うことを特徴とする半導体集積回路の誤動作
の判定方法。 - 【請求項2】 幹線と前記幹線を駆動するためのクロッ
クドライバーと前記幹線から分岐した複数の支線と前記
各支線に接続される複数のフリップフロップとを含む半
導体集積回路の誤動作の判定方法において、 直列に接続した2つのフリップフロップと前記2つのフ
リップフロップにクロックを供給するクロックラインと
から成る第1の等価回路を構成し、 前記第1の等価回路に基づいて第1の回路シミュレーシ
ョンを実行することによりクロックスキュー耐性値を求
め、 前記幹線および複数の支線と前記クロックドライバーと
から成る第2の等価回路を構成し、 前記第2の等価回路に基づいて第2の回路シミュレーシ
ョンを実行することによりクロックスキュ−値を求め、 前記クロックスキュ−値と前記クロックスキュー耐性値
との大小を比較することにより、誤動作の判定を行うこ
とを特徴とする半導体集積回路の誤動作の判定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5283568A JP3015640B2 (ja) | 1993-11-12 | 1993-11-12 | 半導体集積回路の誤動作の判定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5283568A JP3015640B2 (ja) | 1993-11-12 | 1993-11-12 | 半導体集積回路の誤動作の判定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07141411A JPH07141411A (ja) | 1995-06-02 |
JP3015640B2 true JP3015640B2 (ja) | 2000-03-06 |
Family
ID=17667215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5283568A Expired - Lifetime JP3015640B2 (ja) | 1993-11-12 | 1993-11-12 | 半導体集積回路の誤動作の判定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3015640B2 (ja) |
-
1993
- 1993-11-12 JP JP5283568A patent/JP3015640B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH07141411A (ja) | 1995-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6477695B1 (en) | Methods for designing standard cell transistor structures | |
US6487705B1 (en) | Timing optimization and timing closure for integrated circuit models | |
US7587693B2 (en) | Apparatus and method of delay calculation for structured ASIC | |
JP3317948B2 (ja) | 半導体集積回路のレイアウト設計方法及び半導体集積回路 | |
US6751744B1 (en) | Method of integrated circuit design checking using progressive individual network analysis | |
US7526743B2 (en) | Method for routing data paths in a semiconductor chip with a plurality of layers | |
US5724557A (en) | Method for designing a signal distribution network | |
US6260181B1 (en) | Integrated circuit and the design method thereof | |
US10963610B1 (en) | Analyzing clock jitter using delay calculation engine | |
JP3015640B2 (ja) | 半導体集積回路の誤動作の判定方法 | |
US5917728A (en) | Method for designing path transistor logic circuit | |
US20040163018A1 (en) | Error portion detecting method and layout method for semiconductor integrated circuit | |
US20030188272A1 (en) | Synchronous assert module for hardware description language library | |
US6434728B1 (en) | Activation path simulation equipment and activation path simulation method | |
JP4316158B2 (ja) | 形式的検証方法 | |
JP2002198430A (ja) | 駆動力可変ブロックおよびこれを用いたlsi設計方法 | |
US20030074175A1 (en) | Simulation by parts method for grid-based clock distribution design | |
JPH07239865A (ja) | 論理シミュレータ | |
JP2000195960A (ja) | 半導体集積回路の遅延計算装置及びその方法並びにタイミング検証装置及びその方法 | |
JP3553010B2 (ja) | 半導体集積回路設計方法 | |
US20040210689A1 (en) | Timing information generating apparatus | |
US20030074643A1 (en) | Unified database system to store, combine, and manipulate clock related data for grid-based clock distribution design | |
JPH1092939A (ja) | 半導体集積回路の自動配置配線方法 | |
JP3102408B2 (ja) | 信号遅延低減方法及び装置 | |
JP4523290B2 (ja) | セルレイアウト、半導体集積回路装置、半導体集積回路の設計方法並びに半導体集積回路の半導体製造方法 |