明 細 書 トランジス夕回路のタイ ミ ング特性抽出方法、 タイミ ング特性ライブ ラリを記憶した記憶媒体、 L S I の設計方法、 及びゲ一ト抽出方法 技術分野
本発明は、 C P Uコアなどの部品設計資産 (モジュール) のトラン ジスタ回路データから、 タイ ミ ング特性を抽出する方法に関し、 抽出さ れたタイ ミ ング特性は、 抽出対象モジュールを含む回路のタイ ミ ング検 証、 論理合成又はタイ ミ ングドリブンレイァゥトを行う際のタイ ミ ング 制約に用いる。 特に、 シミ ユレーションでタィミ ング検証を行う時には、 モジュールのタイミ ングルール適合条件がタイミ ング特性に含まれるの で、 疑似エラ一のない検証を可能とする。 また、 本発明はタイ ミ ング特 性ライブラリの構造、 およびそれを記憶した記憶媒体、 およびそれを用 いた L S I の設計方法に関する。 背景技術
大規模なワンチップシステムの時代が到来しつつあり、 設計済みのデ —夕を活用して短期間にシステム L S Iを提供することが、 チップおよ びシステムの競争力アップのために不可欠になりつつある。 特に最近で は、 設計資産、 あるいは I P ( Intellectual Property)を利用したシステ ム L S Iの設計が急速に立ち上がってきている。 例えば、 C P Uコア等 の部品設計資産(モジュール)を再利用した A S I C (Application
Specification Integrated Circuits)の設計においては、 A S I Cメ一 力側がモジュールを顧客(システムハウス等)に提供し、 顧客はモジユー ルに顧客固有の論理を付加して A S I Cを設計する。 この時、 顧客側に
は、 論理機能の記述だけを提供するだけでは不十分である。 なぜなら、 チップ全体のタイ ミ ング検証を行う必要があるからである。 この場合に、 顧客側からみる C P Uコアはブラックボックスであり、 C P Uコアのィ ン夕フェースにおけるタイ ミ ング特性なしにはチップ全体のタイミ ング 検証を行うことができない。 このタイ ミ ング特性を顧客に提供するため には、 モジュールから特性を抽出しなければならないが、 従来はこの抽 出作業を人手で行っていた。 このため、 多大な工数が必要であり、 同時 にタイ ミ ング抽出結果についても常に誤りの混入する恐れがあった。 そこで、 本発明では、 モジュールのレイアウ トデータからタイ ミ ング 特性を抽出することを目的としている。 本発明では、 タイミ ング特性の 抽出を行う方法として、 セル毎にタイ ミ ング特性を抽出し、 その抽出結 果を利用する方法も検討された。
従来の方法として、 セルレベルのタイ ミ ング特性抽出ツールを開示し た特開平 4 一 3 1 6 1 6 6号公報等がある。 これらの方法は、 トランジ ス夕回路を入力して、 全体回路の回路シミ ュレーショ ンの自動実行を行 つてタイ ミ ング特性を抽出するカ^ 扱う回路の規模は、 セルレベルであ るので、 数 1 0 0 トランジスタ程度までの回路が対象となり、 数 M規模 の大規模トランジス夕回路は扱うことができない。 以下に大規模トラン ジスタ回路とセルレベルの回路との相違点を示す。
( 1 ) セルレベルでは、 順序回路のセルは、 セル =フリ ップフロップ(F F )と考えてもよく、 セルの端子と F Fの間にある他の回路の影響は考慮 する必要はない。 また、 複数の F Fがタイ ミ ングに影響を与えるケース も考慮する必要はない。
(2) セルレベルでは、 数 1 0 0 トランジスタレベルであるので回路全 体でシミュレ一ショ ンを行ってもタイミ ング特性の抽出は可能である。 これに対して、 大規模回路では、 全体の回路でのシミュレ一ションでの
抽出では、 処理時間が多大である。
(3) セルレベルでは、 F Fを組み合わせたような複雑な回路の夕イミ ング抽出は対象外である。 大規模回路では、 分周クロックの発生回路等- 複雑な順序回路が内在しており、 この回路も取り扱う必要がある。
本発明では、 これらの相違点を考慮して大規模回路のタイミング特性 抽出を実現する方法を提供する。
従来技術は、 小規模なセルレベルでのタイミ ング特性抽出方法である ので、 上記の(1 )〜(3)に述べたように、 大規模回路には、 そのままでは 適用できない。 大規模トランジスタ回路を取り扱う課題は、 以下の 3つ である。
(1 ) F F以外の回路を含め、 複数の F Fが内在されていても、 端子で のタイ ミ ング特性を規定するモデル化方法と処理方法の提供。
(2) 数 Mトランジスタ回路まで扱っても処理時間が実用範囲に収まる タイ ミ ング特性のモデル化方法と処理方法の提供。
(3) 複雑な回路を含む場合の取り扱い方法の提供。 発明の開示
上記 3つの課題を解決するための手段を以下に述べる。
まず、 課題(1 )、 (2)を解決するためのモデル化方法を述べ、 次に処理 方法を述べる。
( 1 ) モデル化方法
モジュールの対象は、 図 3に示すようなクロック同期回路に絞る。 夕 ィ ミ ング特性には、 出力のディ レイと入力のタイ ミ ングルール (セッ ト アップ/ホールドタイム) の 2種類がある。 クロック同期回路であるの で、 タイ ミ ングは、 グ.ロック基準である。 すなわち、 出力ディ レイは、 クロックの変化時刻を起点(基準)とする出力のディ レイであり、 タイ ミ
ングルールとは、 クロックに対する入力のセッ トアップタイム、 又はホ —ルドタイムの制約を総称している名前である。
クロック同期回路では、 タイ ミ ングと夕イ ミ ングを決める回路は以下 のようになる。
出力ディ レイの場合は、 図 3に示すように、 最後に出力に影響する I a s t F F (フリ ップフロップ) 3 5がタイ ミ ングを決める基本回路にな る。 すなわち、 クロック 3 1 1力、' 1 a s t F F 3 5を立ち上げて F Fの 出力の変化が出力 3 1 3に伝搬するまでの時間が出力ディ レイとなる。 従って、 関連する回路は、 クロックから 1 a s t F Fを通過して出力ま でのパス上の回路である。 このパスは、 複数存在する可能性があるため、 これらのパス上の回路を全て考慮して、 他の回路に最悪の影響を与えう る最大ディ レイ値のパスのディ レイ値を出力ディ レイとする。
タイ ミ ングルールの場合は、 図 3に示すように、 入力 3 1 2が最初に 到達する 1 s t F F 3 4がタイ ミ ングを決める基本回路になる。 すなわ ち、 クロックが変化した時間のセッ トアップ時間前からホールドタイム 時間後まで、 入力が安定しないと、 1 s t F Fの出力は変化をしてしま い、 期待通りの出力が得られない。 本モデル化方法では、 このタイミ ン グルール (セッ トアップタイムとホールドタイム) を F Fを含んだ形で 直接求めずに、 F Fの夕イミ ングパラメ夕に d e 1 a y (クロック〜 F F c k ) 3 2と d e l a y (入力〜 F F d ) 3 3のスキューを加減算し て求める。 図 4にその算出方法を示す。 さらに、 F Fと入力/クロック 端子の間には、 他の回路が長いパスを構成しており、 端子でクロックと 入力が変化しても、 F Fへ到達するとは限らない。 このため、 図 4に示 すようにルール適合条件をタイミングルールに入れ、 変化が到達するか どうかを検査してルールチェックを行う。 これがなければ、 図 1 8に示 す形態でシミュレーション検証時に他の回路に使われる信号もチェック
対象となり、 疑似エラーが多発する。
上記のタイミ ングルールのモデル化を基本にして、 複数の 1 s t F F が存在する場合には、 図 4に示すように、 複数の 1 s t F Fについて求 めたタイ ミ ングパラメ夕の中で最大値をとり、 ルール適合条件について は、 すべての 1 s t F Fについて求めた条件の o r条件をとる。
(2) 処理方法
( 1 )で述べたモデルを求めるために、 図 1に示す方法を採用する。
まず、 T r . 回路データ 1 0 2を入力して、 ゲート · F F復元を行う (ステップ 1 1 )。 その後、 入力端子と出力端子からそれぞれ最初に到達 する I s t F Fと l a s t F Fを見つけ、 各端子からこれらの各 F Fま での回路を関連回路として認識する (ステップ 1 2 ) 。
課題(2)で述べたように、 大規模卜ランジスタ回路の全体回路でのシミ ユレ一シヨンにおけるディ レイ測定は処理時間が大であるので、 これら の各 F F〜入力/出力までの有効パスを探索して、 高速なスタティ ック ディ レイ測定ツールにディ レイ測定のためのパス 1 0 4を入力する (ス テツプ 1 3 ) 。 これにより、 スタティ ックディレイ測定ツールは、 論理 的にありえないパスまでディ レイ測定パスに含むことが避けられるので このステップは必要である。 同時に、 入力/クロックが 1 s t F Fまで 変化を伝えるための条件 (活性化条件 1 0 5 ) を作成する (ステップ 1 4 ) 。 ディ レイ測定 1 5で測定されたディ レイ 1 0 6、 活性化条件 1 0 5、 F F夕イミ ングルール 1 0 7を元にして、 (1 )で求めたモデル化方法 に従い、 タイミ ング特性ライブラリ 1 0 8を生成する (ステップ 1 6 ) 。 なお、 課題(3)で述べた問題の解決手段は、 ステップ 1 2の認識方法と ステップ 1 4の活性化条件の作成方法である。 この主要な課題は、 分周 クロック作成回路をどう取り扱うかと、 組み合わせ回路以外の例外素子 どう取り扱うかである。 これについては、 以下の発明を実施するため
の最良の形態の項にて詳細に述べる。 図面の簡単な説明
図 1は、 夕イミ ング特性抽出方法の全体フロー図であり、 図 2は、 本発明が稼働する処理装置を示す図であり、 図 3は、 回路例であり、 図 4は、 タイ ミ ング特性のモデル化方法を示す図であり、 図 5は、 丁 に 回路情報と補助情報を示す図であり、 図 6は、 夕イ ミ ング特性ライブラ リの構成を示す図であり、 図 7は、 ゲート · F F復元 1 1の処理例 1 : ゲート復元を示す図であり、 図 8は、 ゲート · F F復元 1 1の処理例 2 : F F復元を示す図であり、 図 9は、 1 s t F Fと関連回路の探索方 法の説明図であり、 図 1 0は、 1 s t F Fと関連回路の探索範囲の説明 をする図であり、 図 1 1は、 1 a s t F Fと関連回路の探索方法の説明 図であり、 図 1 2は、 1 a s t F Fと関連回路の探索範囲の説明をする 図であり、 図 1 3は、 ディレイ測定パス探索 1を示す図であり、 図 1 4 は、 ディ レイ測定パス探索 2を示す図であり、 図 1 5は、 クロック活性 化条件を示す図であり、 図 1 6は、 クロック活性化条件の計算例を示す 図であり、 図 1 7は、 データ活性化条件を示す図であり、 図 1 8は、 夕 ィミング特性ライブラリの使用形態を示す図であり、 図 1 9は、 クロッ ク活性化条件作成の別の方法を示す図であり、 図 2 0は、 タイミ ング特 性抽出方法 3の全体フロー図であり、 図 2 1は、 夕イ ミ ング特性抽出方 法 4の全体フロー図であり、 図 2 2は、 タイミ ング特性抽出方法 5の全 体フロー図であり、 図 2 3は、 タイミ ング特性抽出方法 6の全体フロー 図であり、 図 2 4は、 活性化条件の構成要素を示す図であり、 図 2 5は、 夕イミ ング特性ライブラリのシミュレ一ション処理 1を示すフロー図で あり、 図 2 6は、 タイミ ング特性ライブラリのシミュレーション処理 2 を示すフロー図であり、 図 2 7は、 タイミ ング特性ライブラリのデータ
構造を示す図であり、 図 2 8は、 本発明に基づくゲート抽出全体の処理 フローの前半部を示す図であり、 図 2 9は、 本発明に基づくゲート抽出 全体の処理フローの後半部を示す図であり、 図 3 0は、 ステップ 28 3 の同一出力ゲートグループへの分割方法を示す図であり、 図 3 1は、 ス テツプ 2 8 4の同一出力ゲー トグループの分割方法を示す図であり、 図 3 2は、 ステップ 3 0 2 1の処理を行う際のペアチヱ一ンへの統合条件 を示す図であり、 図 3 3は、 ステップ 2 8 5のゲ一 卜変換処理方法を示 す図であり、 図 3 4は、 モジュール特性を使用したシステム全体シミュ レーションを示す図である。 発明を実施するための最良の形態
以下、 本発明の実施の形態を図面により詳細に説明する。
1. 本発明が稼働する処理装置
本発明は、 図 2に示す処理装置上で稼働する。 本発明は、 図 1に示す T r . 回路 ( トランジスタ レベルのレイアウ トデータ) 1 0 2、 補助情 報 (P/Nmos区分データ、 電源/ GND信号等) 1 0 1、 クロック ·入力 ' 出 力端子名 1 0 3、 および F F夕イ ミ ングルール 1 0 7を入力ファイル群 2 2として、 図 1のステップ 1 1〜 1 6の処理を実現するプログラムを プログラムファイル群 2 5として格納し、 C P U 2 1によりこれらの処 理を実行して、 タイミ ング特性ライブラリ 2 4を出力する。 C P U 2 1 での処理実行時には、 まず、 プログラムファイル群 2 5からプログラム を主記憶 2 6に入力し、 プログラムを実行する。 各処理ステップのプロ グラムは、 主記憶 2 6から中間処理結果を入出力し、 最後にプログラム 実行結果をファイルに出力する。 ステップ 1 3、 1 4、 および 1 5のプ ログラムは、 次のステ.ップのプログラムの入力となる中間ファイル 1 0 4、 1 0 5、 および 1 0 6をワークファイル群 2 3として出力する。
2. タイ ミ ング特性モデル化方法
ここでは、 タイ ミ ング特性抽出方法を説明する前にこの方法のベース となるタイ ミ ング特性のモデル化方法について、 図 3と図 4に従い述べ る。
出力ディ レイは、 「発明の開示」 の項で述べたように、 クロック 3 1 1カヽら 1 a s t F F 3 5を通って出力 3 1 3までのディ レイ d e 1 a y (クロック〜出力) 3 1である。 これらのパス上の、 l a s t F F 3 5 とゲート回路のパスによつて複数のパスが存在する場合には、 最大パス のディ レイを出力ディ レイとする。 最大パスディ レイを取る理由は、 こ の回路が他の回路を接続されてタイ ミ ング検証を行うときに最悪の条件 となるのが最もディ レイの大きい最大パスディ レイであるからである。 タイミ ングルールは、 セッ トアップタイムルールとホールド夕イムル —ルからなり、 いずれも、 タイミ ングを決めるクロックに対する制約時 間であるタイ ミ ングパラメ夕と、 端子でルールを適合するかどうかを決 めるルール適合条件からなる。
夕イミ ングパラメ夕は、 図 3に示すように、 入力が最初に到達するフ リ ップフロップ (順序回路素子の 1種) 1 s t F Fの夕イミ ングルール を、 モジュールの入力時刻で換算した値である。 すなわち、 クロックデ ィ レイ (クロックから 1 s t F Fのクロック端子 C Kまでのディ レイ) d—クロック (図 3の 3 2 ) と、 入力ディ レイ (入力 3 1 2から 1 s t F Fのデータ端子 Dまでのディ レイ) d—データ (図 3の 3 3 ) の分を 補正した値である。 セッ トアツプタイムを例にとり、 入力のタイ ミ ング ルールとフリ ップフ口ップのタイ ミ ングルールの関係を図 4に示す。 図 4内のタイムチャートから明らかなように、 より具体的には、 セッ トアップタイムは以下の式で表わされる。
入力のセッ トアップタイム = 1 s t F Fのセッ トアップタイム F F s
t u p + (入力ディ レイ一クロックディ レイ) 式 1
同様にして、 ホールドタイムは以下の式で表わされる。
入力のホールドタイム = 1 s t F Fのホールドタイム F F h o 】 d— (入力ディ レイ一クロックディ レイ) 式 2
ディ レイのパスや 1 s t F Fが複数存在する時には、 式 1、 式 2で求 めた値の内一番厳しい最大値をとる。
ルール適合条件は、 クロックとデータが変化したときに変化が 1 s t F Fに伝わるかどうかの条件であり、 この条件がないと、 他の回路と接 続され、 今対象になつている回路以外にファンァゥ 卜されるケースには、 誤ってルールチヱックを行ってしまう。
ルール適合条件は、 1 s t F Fからクロック ·入力までのゲ一 ト回路 によって決まる。 すなわち、 データ活性化条件とクロック活性化条件の a n d論理である。 ここで、 データ活性化条件は、 データの変化が 1 s t F Fに伝わる条件であり、 クロック活性化条件は、 クロックの変化が 1 s t F Fに伝わり、 かつ、 1 s t F Fのクロック端子が F Fの夕イミ ングルールの基準 (立ち上がり †、 または、 立下がり ) になる条件で ある。 例えば、 図 3の回路例では、 データ活性化条件は、 C 2 o r C 3 = 1であり、 クロック活性化条件は、 F Fのタイミング基準点が† とすると, クロック †かつ C 1 = 1である。 活性化条件を求める方法は 以下に詳細に述べる。
3. タイ ミ ング特性抽出方法
本発明に基づくタイ ミ ング特性抽出方法を図 1に示し、 以下に述べる。 タイミ ング特性抽出方法は、 T r. (トランジスタ) 回路 1 0 2、 ト ランジス夕の PM0 SZNM0 S区分と T r . 回路内の電源/グラウン ド ( G N D ) 信号名等からなる補助情報 1 0 1、 クロックとタイ ミ ング 特性抽出の対象となる入力 · 出力端子指示情報 1 0 3、 および T r . 回
路内の F Fの夕イミ ングルール 1 07を入力として、 夕イミ ング特性ラ ィブラリ 1 08を出力する。
本方法は、 T r . 回路 1 02と補助情報 1 0 1からゲート · F F復元 を行うステップ 1 1、 復元されたゲート · F F回路から 1 s t F Fと 1 a s t F Fの関連回路を認識するステップ 1 2、 この関連回路の中から ディ レイ測定パスを探索し、 ディ レイ測定パスフアイル 1 04に出力す るステップ 1 3、 関連回路から活性化条件を作成し、 活性化条件フアイ ル 1 05に出力するステツプ 1 4、 T r . 回路 1 0 2とディ レイ測定パ スファイル 1 04からタイ ミング特性に必要なディ レイを測定し、 ディ レイファイル 1 06に出力するステップ 1 5、 および測定されたディ レ ィ、 活性化条件 1 0 5、 F Fタイ ミ ングルール 1 07から、 上記したモ デル化方法に従ってタイ ミ ング特性ライブラリ 1 08を出力するステツ プ 1 6からなる。
以下では、 まず、 入出力 1 02, 1 0 1 , 1 0 3, 1 07, および、 1 08について述べ、 次に各処理ステップについて詳細に述べる。
3. 1 入出力
入力である T r . 回路 1 02と補助情報 1 0 1を図 5 (a ) に示し、 この T r. 回路の回路イメージを図 5 ( b ) に示す。
この T r. 回路例は、 NM0Sトランジスタ 4021と PM0Sトランジスタ 4011 のネッ トリストであり、 サブ回路定義名 4 1が E X SMP Lで 42で示 す端子名を持ち、 素子名 4 3が MXX 1と MXX 2 ©トランジスタが 2 つある。 それぞれ、 ドレイン 44、 ゲート 4 5、 ソース 46は図に示す 信号に接続し、 素子モデル 47は p e n hと n e n hである。 補助情報 では、 p e n hの素子モデルは PMO Sを n e n hの素子モデルは NM O Sであり、 VDD 1'は電源信号名、 GND 1は GND信号名であるこ とを情報として与える。 従って、 図 5 ( b ) に示す回路図を表現してい
ることになる。 これらの情報により、 図 1のステップ 1 1では、 卜ラン ジスタ回路からのゲ一卜の復元が可能になる。
補助情報には、 関連回路探索指示情報 4 0も含まれており、 この情報 については、 後のステップ 1 2の処理にて述べる。
他の入力情報、 クロック '入力 ' 出力端子 1 0 3は、 クロックとタイ ミ ング特性抽出の対象となる入力 · 出力端子名を指示する情報であり、 F Fタイ ミ ングルール 1 0 7は、 T r . 回路内の F Fの夕イ ミ ングパラ メタである。 これらの情報の必要性については 2 . で述べた。
出力であるタイ ミ ング特性ライブラリを図 6に示す。 この例は、 ある 種のハー ドウエア記述言語でライブラリの内容と使用方法を示したもの である。 ライブラリとして生成されるのは、 夕イ ミ ング特性ライブラリ 部 5 4で示されるものである。 この例では、 ュニッ トタイムと精度を示 すタイムスケール 5 1、 インタフェース 5 2、 および下位階層の機能モ デル呼びだし部 5 3の中に挿入する形式で使われる。 すなわち、 回路の 機能モデルの上位階層にタイ ミ ング特性を追加することにより、 機能モ デルと連動してタイミ ング検証用モデルとして使用される。
タイミ ング特性ライブラリのデータ構造は、 図 2 7に示すように、 ィン タフエース 5 2、 インスタンス (下位階層の機能モデル呼び出し) 5 3 、 タイ ミ ングルールチヱック部 5 6、 ルール適合条件演算部 5 5、 および 出力ディ レイ部 5 7から構成される。
インタフェース 5 2は、 図 2 7に示すように、 モジュール名、 入力端子、 および出力端子から構成される。 図 6では、 A D C H 8 S 2がモジュ一 ル名、 i n p u t宣言された C K Mなどが入力端子、 o u t p u t宣言 された L F D I Nなどが出力端子である。
インスタ ンス 5 3は機能モデルを本ライブラリの下位階層として呼び出 す部分であり、 図 2 7に示すように、 イ ンスタ ンス名、 入力端子、 出力
端子が主要な構成要素である。 図 6では、 A D C H 8 S 2— c o r eが イ ンスタ ンス名、 . C KM ( C KM) の () 内の信号名が入力端子また は出力端子にあたる。 . C KMは、 上位階層である本ライブラ リの信号 であり、 上記の記述により、 上位階層の C KMが () 内の機能モデルの 端子に接続されることになる。 これは、 データ構造上、 イ ンスタンス内 の端子が上位階層の信号を参照していることを示し、 図 2 7では参照さ れていることを、 インタフェースへ向く矢印で示した。
タイ ミ ングルールチヱック部 5 6は、 セッ トァップタイムとホールドタ ィ厶のタイ ミ ングチヱックを行う部分である。 図 2 7に示すように、 チ ェック信号、 クロック信号、 ルール適合条件、 およびセッ トアップタイ ム (ホールドタイム) が主要な構成要素である。
図 6では、 セッ トアツプタィムチヱック記述 $ s e t u pにおいて、 P D B 8がチヱック信号、 C KMがクロック信号、 C— C— 1力りレール適 合条件、 1. 5 7 2 0 0 0がセッ 卜アップタイムを示す。 この記述は、 C— C— 1カヽ' 1の時に、 C K Mの立ち下がり ( n e g e d g e構文) を 基準にして、 P D B 8のセッ トアップタイムが 1. 5 7 n s ( 5 1の 1 i m e s c a l e文により単位が n s ) 以下かどうかをチヱックすると いうことを意味する。
データ構造としては、 図 2 7の矢印の示すように、 チェック信号とクロ ック信号がイ ンタフェース信号の入力端子を参照し、 ルール適合条件が ルール適合条件演算部 5 5の演算結果を参照する。
ルール適合条件演算部 5 5は、 図 2 7に示すように、 変数とブール演算 子からなるブール演算式と演算結果から構成される。 図 6では、 a n d. . . の一行が、 AD C H O a n d P D B 8のブール演算式を示 し、 A D C H 0と P D.B 8が変数、 a n dがブール演算子を示す。 C— C 1が演算結果を示す。 データ構造としては、 図 2 7の矢印に示すよ
うに、 変数がィンタフヱース 5 2の入力端子を参照し、 演算結果が夕ィ ミ ングルールチ Xック部 5 6のルール適合条件で参照される。
最後に、 出力ディ レイ部 5 7は、 図 2 7に示すように、 クロック信号、 ディ レイ付加信号、 および、 ディ レイが主要な構成要素である。 図 6で は、 C KMがクロック信号、 L F A D I Nがディ レイ付加信号、 ( 1. 3 0 2, 1. 5 9 0 ) がディ レイを示す。 この記述は、 C KMが変化後、 立ち上がりディ レイ 1. 3 0 2 n s、 立ち下がりディ レイ 1. 5 9 0 η sで L F A D 1 Nが出力されることを示している。 ここで、 ディ レイの 単位 n sは、 タイムスケール 5 1で指定される。
中間出力であるディ レイ測定パス 1 0 4の構成要素を図 24に示す。 この例は、 図 1 3の t r i 1を通過する C Kから F F 1までのパスのデ 一夕表現である。 クロックから 1 s t F Fまでのクロックパス、 入力デ —夕から 1 s t F Fまでのデータハ。ス、 またはクロックから出力までの 区分を示すパス属性 2 4 1 ,始点から終点までのゲー トまたは順序回路素 子の出力の信号名を列挙したパス上信号 2 4 2、 および終点の F Fの名 称を示す終端 F F 24 3の 3つのデータから構成する。
中間出力である活性化条件 1 0 5の構成要素を図 2 4に示す。 この例 は、 図 1 3のクロック C Kの F F 1に対する活性化条件のデータ表現で ある。 ? 名 2 4 4、 ディ レイ出力パスデータと同一表現のパス属性 2 4 1、 始終点 2 4 6、 および信号名を変数とするブール式表現を示す活 性化条件 24 7の 4つのデータから構成する。
タイ ミ ング特性ライブラリ部 54を生成する方法が本実施例の主眼で あり、 次の 3. 2にて詳細に述べる。
3. 2 タイ ミング特性抽出方法の各処理ステップ
図 1の各処理ステヅプを以下に述べる。
3. 2. 1 ステップ 1 1 : ゲート · F F復元
このステップは、 トランジスタ回路群からゲート回路を復元するゲ一 卜復元と、 復元されたゲー 卜回路から F F回路を復元する F F復元から なる。 タイ ミ ング特性抽出の自動化はタイ ミ ング測定個所と活性化条件 を取得すれば実現できる。 このいずれを取得するのにも トランジスタレ ベルのレイァゥ トデータからでは困難であり、 一旦ゲート、 およびフリ ップフ口ップを抽出(復元)することが必要である。 この抽出(復元)処理 のうち、 フリ ップフロップ抽出(復元)はゲート抽出(復元)結果を用いて 処理するため、 ゲ一 ト抽出(復元)が全ての処理の前提となる。
3 . 2 . 1 . 1 ゲート復元
M O S トランジスタ回路からのゲート回路の抽 ¾ (復元)方法は、 レイ ァゥ トデータの検証支援、 トランジス夕回路の論理シミュレ一シヨンの 高速化、 および形式検証を目的として、 従来からさまざまな公知例があ る。 その中で、 トライステートゲート (出力にトライステート状態を持 っゲー卜で順序回路素子の一種) も対象とする本発明者による一例とし て、 特開平 9— 1 7 9 8 8 5号公報に記載された処理過程を図 7に簡単 に述べる。 まず、 図 7に示すトランジスタ回路群のトランジスタ一個一 個を仮想トライステー ト素子 4 0 0 3に変換する。 次に、 トライステ一 卜素子の直列接続群 4 1を各トライステ一卜素子の制御論理の A N D論 理 4 3を制御論理にもつ一個のトライステー卜 4 0 1に変換し、 同一入 力の並列接続群 4 2を各制御論理の 0 R論理 4 4を制御論理にもつトラ イステー卜に変換するという過程を操返していくと、 4 0 2の回路とな る。 第 3番目に、 異なる入力を持つ並列のトライステートについても並 列変換の一般化変換によって、 4 0 3の回路を得る。 この過程の詳細は、 省略するが、 この例では、 4 0 2の入力の反転論理を入力に持ち、 4 0 1 と 4 0 2の制御論理 C 1 と C 2の o r論理を制御論理に持つトライス テートー個に変換できる。 最後に、 制御論理 C 1 o r C 2 = Cが 1の時
のみこの入力は出力に影響を与えることを考慮して、 制御論理による入 力論理の除算を行い、 4 6に示す縮約ゲ一ト論理を得る。
以上の方法は、 レイアウ トデータからゲートを抽出する方法であり、 1個のゲートを構成する M O S群が決まったときに、 M O Sの接続形態 に依存せず、 スイッチング特性のみからゲートを抽出する。 しかし、 同 一出力ゲートグル一プをゲ一ト構成単位へ分割する方法は提示されてい ない。
以下に、 本発明独自の同一出力ゲートグル一プのゲ一ト構成単位への 分割方法を、 M O Sの接続形態に依存しない形で開示する。 まず分割方 針を述べ、 次に分割方法について述べる。
( 1 ) 分割方針
分割は、 「 0と 1共に出力しうる力、', 0と 1を同時には出力しない」 というゲートが持つ条件 (以降, ゲート条件と呼ぶ) を用いて行う。 同一出力ゲ一トグループへの分割は、 まず 「 0と 1共に出力しうる」 という第一のゲート条件を用いて、 M O S群内のゲートの出力点を決定 する。 出力点は同時に次のゲートへの論理値の発生源、 すなわち論理ソ —スとなる。 次に、 論理ソースから各ゲート出力までの領域を同一出力 ゲートグループとして M O S群を分割する。
同一出力ゲートグループの分割は、 ゲート出力の論理値を決める基本 単位へ同一出力ゲートグループを分離し、 その後、 ゲート条件を満足す る基本単位群を最大限集めてゲート構成単位を作成することにより、 こ のゲー卜構成単位に同一出力ゲートグル一プを分割する。
( 2 ) 分割方法
( a ) 同一出力ゲートグループへの分割
この処理では、 ゲ一.ト出力点と論理ソースの集合を決定し、 次に M 0 S群を同一出力ゲートグループに分割する。
ゲート出力点と論理ソースの集合は、 以下に述べる処理により決定す る。
まず、 これらの集合の初期値を設定する。 M O Sのゲート端子 (以降、 G端子と略す) との接続点はゲート条件とは無関係に他のゲ一ト抽出基 本単位に論理値を伝搬する点であるため、 これをゲート出力点の初期値 とする。 電源は論理的な 1のソース源でありグラゥンドは 0のソース源 であるため、 これらを論理ソースの初期値とする。
次に、 ゲート出力点と論理ソースの探索を行う。 M O Sの有効方向に 沿った経路を M O S トレース経路と定義すると、 複数の異なる論理ソ一 スからの M O S ト レース経路が交差する点は、 第一のゲート条件を満た すゲートの出力となりうる。 このため、 探索処理では、 複数の異なる論 理ソースからの M O S トレース経路が初めて交差する点を新たなゲ一ト 出力点とする。 この交差点は新たな論理ソースともなりうるので、 ゲー ト出力点と論理ソースの両方の集合に加える。 この探索処理を新たなゲ ート出力点がなくなるまで繰り返すことにより、 ゲート出力点と論理ソ ースの集合が得られる。
同一出力ゲートグループへの分割は、 上記で求めたゲ一ト出力点の 各々に対し、 ゲート出力点に到達する M O S トレース経路上の直前の論 理ソースとこのゲー卜出力点に囲まれた M O S群を同一出力ゲートグル —プとして、 M O S群を分割する。
( b ) 同一出力ゲートグループの分割
この処理は、 ゲート出力の論理値を決める基本単位へ同一出力ゲート グループを分離し、 基本単位をゲー ト変換単位へ順次統合してゆく とい う手順で行う。
ゲート出力の論理値を決める基本単位は、 同一出力ゲートグループ内 の各論理ソースからゲー 卜出力点までの一つの M O S トレース経路上の
M O S群であり、 これを M O Sチ x—ンと呼ぶ。 従って、 最初のステツ プは同一出力ゲートグループの M O Sチヱ一ンへの分離である。
M 0 Sチヱ一ンのゲ一 ト構成単位への統合は、 二つの M O Sチヱーン のペアチェーンへの統合とペアチヱ一ンの統合からなる。
ペアチェーンへの統合は以下のように処理する。
異なる論理ソースを持つ M O Sチェーンは 「0と 1を共に出力する」 という第一のゲート条件を満足するため、 異なる論理ソースを持つ二つ の M 0 Sチヱーン (以降、 パー トナチヱ一ン 1 と 2と呼ぶ) をペアチェ ーンとして統合する。 但し、 「 0と 1を同時には出力しない」 という第 二のゲート条件を満足するため、 論理ソースからゲート出力点まで論理 値を転送する条件が同時には成立しないという制約を、 統合対象に課す c ペアチェーンの統合は、 ペアチ X—ンを統合してゲ一ト条件を満足す る最大の M O S群を作成する処理である。 この処理は、 上記で求めたぺ ァチヱ一ンを統合し、 統合されたペアチヱ一ン群を新たなペアチヱーン として再定義する、 という統合処理を、 統合されるペアチ ーンがなく なるまで繰り返す。 以下でこの統合処理を述べる。
統合処理では、 まず、 全てのペアチヱ一ンの中で同一のパートナチヱ ーン (以降、 S a m e Pと呼ぶ) を持つペアチヱ一ン群を新たなペアチ エーンとして統合する。 次に、 S a m e Pを新たなペアチヱ一ンのパー 卜ナチヱーン 1 として再定義し、 統合前のペアチヱーン群において、 S a m e Pのパートナチヱ一ン群を新たなペアチェーンのパー卜ナチエー ン 2として再定義する。 最後に、 新たなペアチヱーン群と統合されてい ないペアチヱ一ン群を合わせてペアチェーンの新たな集合と再定義して、 次の統合処理に移る。
ペアチヱ一ンの統合結果、 最終的にできたペアチヱーンをゲ一 卜構成 単位として、 同一出力ゲートグループの分割は終了する。
以下に、 ゲート復元の一実施の形態を図面により詳細に説明する。 本発明は、 図 2に示す処理装置上で稼働する。 本発明は、 ハードディ スクなどの入力ファイル群 2 2から MO S トランジスタ回路データ 1 0 2を主記憶 2 6に入力し、 入力された M O S トランジス夕回路データを 元に、 中間データを主記憶 2 6上との間で入出力しながら C P U 2 1で 各処理ステップを行う。 最後に、 変換結果であるゲート回路データをヮ ークファイル群 2 3へ出力する。
本発明に基づくゲ一卜抽出の全体処理フローを図 28と図 2 9に示す c ゲ一ト抽出処理は、 前処理として、 ゲ一卜抽出基本単位への分割 2 8 1 と有効方向決定 2 8 2を行ったあと、 基本単位の同一出力ゲートグル —プへの分割 2 8 3とゲート構成単位への同一出力ゲートグループの分 割 2 84を行う。 その後、 ゲート変換 28 5を行う。 以下では、 前処理 ( 2 8 1 と 2 8 2 ) 、 ゲート抽出基本単位のゲー ト構成単位への分割 ( 2 83と 2 8 4 ) 、 およびゲ一卜変換 2 8 5に分けて各処理ステップ を述べる。
3. 2. 1. 1. 1 前処理
ゲ一ト抽出基本単位への分割 2 8 1は、 MO S トランジスタデータ 1 0 2を互いにソースまたはドレインを接続する M〇 S群に分割する。 図 2 8の MO S トランジスタデータ 1 0 2は 2 8 0 2に示す 2つの基本単 位に分割できる。
有効方向決定 28 2は、 基本単位内の MO S群に対して、 論理的なソ —スとなる電源、 またはグラウンドから G端子との接続点 28 0 1まで、 互いにソースまたはドレインを接続する MO S群をトレースし、 トレー ス方向を MO S群の有効方向とする。 複数の有効方向を持つ MO Sは双 方向トランジスタであ'.りゲート抽出対象外となる。 図 2 8のゲート抽出 基本単位 1 ( 2 82 1 ) は、 28 0 3に示す矢印の方向が有効方向とな
る。
3. 2. 1. 1. 2 ゲー ト抽出基本単位のゲ一 卜構成単位への分割 以下の処理がゲート復元のキーであり、 その処理手順は、 上記 3. 2. 1. 1の節で述べた通りである。 ここでは、 回路例を通した具体的な処 理手順を述べる。 この処理を構成する 「同一出力ゲートグループへの分 割」 28 3と 「同一出力ゲートグループの分割」 2 84の 2つのステツ プを、 以下に述べる。
3. 2. 1. 1. 2. 1 同一出力ゲー トグループへの分割 28 3 これは、 ゲー ト抽出基本単位を同一出力ゲートグループに分割する処 理であり、 ゲー ト出力点と論理ソースの決定、 およびこれらを利用した 同一出力ゲ一トグループへの分割の 2つのステツプからなる。 図 3 0に 従いこれらのステツプを以下で述べる。
( 1 ) ゲー 卜出力点と論理ソースの決定
図 30 ( a ) に示す例題回路 300 1に対するゲー卜出力点と論理ソ —スの探索過程を図 30 (b) に示す。
ゲート出力点の集合の初期値は G端子との接続点 (04 } 、 論理ソ一 スの集合の初期値は ( 0, 1 } である。
1回目の探索で、 論理ソース 0と 1からの MO S 卜レース経路が初め て交差する点 0と 02力、'、 新たなゲート出力点として見つかる。 これら をゲ一ト出力点と論理ソースの両方の集合に加える。
2回目の探索では、 論理ソース 0と 02からの MO S 卜レース経路が 初めて交差する点 03が、 新たなゲー卜出力点として見つかる。 これを ゲート出力点と論理ソースの両方の集合に加える。
新たなゲート出力点はこれ以上見つからないので探索は終了する。 こ の結果、 ゲー ト出力点の集合 〖04 , 0, 02, 03 } と論理ソースの 集合 { 0, 1 , 0, 02, 03 } が得られる。
( 2 ) 同一出力ゲートグループへの分割
上記で求めたゲート出力点の各々に対して、 ゲー卜出力点に到達する MO S 卜レース経路上の直前の論理ソースとこのゲート出力点に囲まれ た M0 S群を求めると、 図 3 0 ( c ) に示す M— 0, M_02, M— 0 3, および M—04の 4つの同一出力ゲートグループが得られる。 例題 回路をこれらに分割して同一出力ゲートグループへの分割は終了する。 図 2 8の 2 8 0 3は、 同様な処理により 2 8 0 4と 2 8 0 6の 2つの 同一出力ゲ一 トグル一プに分割できる。
3. 2. 1. 1. 2. 2 同一出力ゲートグループの分割 2 84
これは、 同一出力ゲートグループをゲート構成単位に分割する処理で あり、 図 3 1に示すように、 MO Sチェーンへの分離 3 0 1 と MO Sチ ヱ一ンのゲ一ト構成単位への統合 3 0 2の 2つのステツプからなる。 図 2 8で得られた同一出力ゲートグル一プ 2 8 04を例にとり、 図 3 1に 従いこれらのステップを以下の ( 1 ) ( 2 ) で述べる。
( 1 ) MO Sチヱーンへの分離 3 0 1
これは、 同一出力ゲートグル一プ 2 8 0 4を、 各論理ソースからゲー ト出力点までの一つの M〇 S トレース経路上の MO S群、 すなわち M0 Sチェーンに分離する処理である。 2 8 04は、 3 1 0 2に示すように- V 1 , V 2 , g 1 , g 2 , および g 3の 5つの MO Sチェーンに分離で きる。 ここで、 V 1 と V 2は論理ソース 1の M0 Sチェーン、 g l, 2, g 3は論理ソース 0の MO Sチェーンである。
( 2 ) M0 Sチヱ一ンのゲ一卜構成単位への統合 3 0 2
これは、 MO Sチェーンをゲ一ト構成単位へ順次統合してゆく処理で あり、 ペアチヱーンへの統合 3 0 2 1 とペアチヱーンの統合 3 0 2 2か らなる。
( a ) ペアチヱ一ンへの統合 3 0 2 1
これは 2つの MO Sチェーンを統合する処理であり、 統合条件として 図 3 2 ( a ) に示す条件を課す。 1番目の条件は 3. 2. 1. 1の節の ( 2 ) ( b ) で述べた通りの条件であり、 2番目の条件は、 論理ソース の転送が同時に起こらないための条件である。 2番目の条件で、 論理ソ —スの転送論理とは、 論理ソースの転送条件を決める論理であり、 スィ ッチング特性の違いにより、 NMO S構成と PMO S構成の MO Sチヱ —ンは各々図 3 2 ( b ) に示すようにして求める。
図 3 1の 3 1 0 2に示す 5つの MO Sチェーンの中で、 上記の統合条 件を満足する MO Sチヱ一ンの組として ( V 1 , g 1 ) , ( V 2 , g 2 ) , ぉょび ( 2, 2 3 ) の 3つの組があり、 これらを 3 1 0 4で示 す(v g l , l ), ( V g 2 , 2 ), ( v g 2, 3)のペアチヱ一ンに統合する。 ( b ) ペアチヱ一ンの統合 3 0 2 2
これは、 上記 ( a ) でできたペアチェーンを統合し、 ゲート条件を満 足する最大の MO S群を作成する処理である。 パートナチェーンが同一 のペアチェーンを全て統合し、 統合したものを新たなペアチェーンとし て再定義し、 再び統合を繰り返す。
図 3 1 に示すペアチェーン群 3 1 04には、 同一のパートナチェーン v 2を持つ 2つのペアチェーン、 ( ?[ 2, 2 )と(¥ 22, 3 )がぁり、 こ れらを統合して新たなペアチェーン(V g 2 , 2 3:)を作成する。 ( V g 2 , 2 3 )の新たなパートナチェーン 1は V 2であり、 新たなパ一トナチェ一 ン 2は元のペアチェーンでの v 2のパートナチェーン g 2と g 3を統合 した g 2 3である。 この結果、 新たなペアチヱ一ン群は( V g 1 , 1 )と ( V g 2 , 2 3 )となり、 これらは同一のパ一トナチヱ一ンを持たないため. 統合処理は終了する。 仮に同一のパー卜ナチヱーンを持つペアチヱーン がまだあれば、 統合処理は続行する。
上記の処理結果できたペアチヱ一ン(V g 1 , 1 ), (v g 2, 2 3 )がゲ
一卜構成単位となる。 元の同一出力ゲートグループ 2 8 0 4に基づいて これらを MO S回路で表現すると、 図 2 9の 2 8 0 6に示すように、 ゲ 一卜構成単位 1とゲー 卜構成単位 2 ( 28 6 2 ) に分割できる。 前者が ( V g 1 , 1 ), 後者力( V g 2 , 2 3 )である。
3. 2. 1. 1. 3 ゲ一卜変換 2 8 5
3. 2. 1. 1. 2の節で記載した処理の結果できたゲート構成単位 の各々について、 図 3 3に記載した処理手順にて、 ゲートに変換する。 まず, MO S群をトライステート素子の表現に変換する。 具体的には, 同一の論理ソースをもつ MO S群各々に対して, 論理ソースの転送論理 をコントロール論理に持つトライステート素子 1個に変換する。 (v g 2,
2 3 )は図 3 3 ( a ) に示す結果となる。
この結果できた複数の トライステ一ト素子を, 図 3 3 ( b ) に示す統 合ルールにより トライステ一ト素子 1個に統合する。 この統合ルールは, トライステー 卜素子の真理値表と, 2つの素子が出力を共有する時の真 理値表を組み合わせたルールである。
図 3 3 ( b ) の統合ルールを図 3 3 ( a ) の結果に適用すると, 図 3
3 (c ) に示すように, トライステートゲートを表わす変換結果となる。 この変換結果は, トライステート素子のコントロール C 2がデータ論 理 3 3 1に混在している。 この混在は, C 2が 1の時のみにゲート出力 に対して意味を持つデータ論理 3 3 1力, C 2が 0の時の冗長な論理を 含むために起こる。 この冗長な論理を除外するため, コントロールによ るデータ論理の除算を行う。 コントロールによる除算とは, データ論理 をコントロールが 1の時の論理に変換する処理である。
除算を行った結果, データ論理 3 3 1にはコントロール C 2の混在が なくなり, 図 3 3 ( d) に示すトライステート N 0 Rゲートとなる。
3. 2. 1. 2 F F復元
F F復元は、 処理装置内に、 さまざまなパターン種別毎の変換ルール を内蔵することにより処理する過程であり、 F Fがゲート回路のループ をベースにして構成されていることを利用する。 ここでは、 復元パター ンの例のみを図 8に示す。 この例は N 0 Rのたすき掛けタイプとトライ ステートループタイプの変換例である。
3 . 2 . 2 ステップ 1 2 : 1 s t F F / 1 a s t F Fと関連回路の切 り出し
このステップは、 1 s t F Fと関連回路の探索、 1 ' a s t F Fと関連 回路の探索の 2つの処理を行い、 関連回路を認識するステップである。 2つの探索処理の概要と探索範囲について図 9、 図 1 0、 図 1 1、 およ び図 1 2に示し、 以下に述べる。
( a ) 1 s t F Fと関連回路の探索は、 図 9の I s t F Fサーチ 8 1、 クロック関連回路の探索 8 3、 8 5、 およびデータ関連回路の探索 8 2 からなる。
1 s t F Fサーチ 8 1は、 入力 dを始点として、 ゲ一ト回路をファン ァゥ ト方向に探索していき、 F Fのデータ端子 Dに到達した時にこれを 1 s t F Fとするステツプである。 但し、 サーチ過程において、 ゲート 回路以外の例外素子に接続する信号があった場合には、 図 1 0の 1 s t F F探索に従って取り扱う。 このうち、 ゲートが他のゲート又は F Fと 出力を共有しているマルチドライブ信号については、 2 0 0 1のように 駆動能力を向上するために同一ゲートを並列に接続しているケースが多 いため、 補助情報 1 0 1内の図 5の 4 0に示すマルチドライブ指定があ れば、 これを同一ゲー 卜と見なしていずれかのゲートを対象にしてサ一 チを続行する。
クロック関連回路の'探索は、 1 s t F F 8 0のクロック端子を始点と して、 ファンィン側にクロック c kに到達するまで探索していき、 探索
範囲の回路を関連回路とするステップである。 このステップは、 ゲート 回路だけではなく、 2 n d F F 84も考慮に入れることに特徴がある。 より一般的には、 任意の個数の F Fも同様にして扱うことは可能である が、 その一例として、 ここでは 2 n d F Fまでを考慮すれば十分なケー スを扱っているものとする。 2 n d F Fの考慮は、 I s t F Fのクロッ クとしては、 1サイクル区間のクロックを考慮していることと同じであ り、 分周回路にはこのような構成がよく使われる。
クロック関連回路の探索の処理は、 1 s t F F 80のクロック端子か ら全体回路の端子、 または、 2 n d F F 84まで探索するステップ 83 と、 2 n d F F 84のクロック端子から全体回路の端子までを探索する ステップ 8 5からなる。 但し、 サーチ過程において、 ゲ一ト回路以外の 例外素子に接続する信号があった場合には、 図 1 0に従って取り扱う。 マルチドライブ信号の扱いは 1 s t F F探索と同様である。
データ関連回路の探索は、 1 s t F F 8 0のデータ端子から、 端子ま たは、 F Fの端点までを、 ファンイン方向にゲー ト回路を探索していく ステップである。 但し、 サーチ過程において、 ゲート回路以外の例外素 子に接続する信号があった場合には、 図 1 0に従って取り扱う。
( b ) 1 a s t F Fと関連回路の探索は、 図 1 1の 1 a s t F Fサーチ 9 1、 I s t F Fのクロック関連回路の探索と同一処理 83、 8 5によ る l a s t F Fのクロック関連回路の探索、 および 1 a s t F Fの出力 データ関連回路の探索 9 4からなる。
1 a s t F Fサーチ 9 1は、 出力 OUTを始点として、 ゲ一ト回路を ファンィン方向に探索していき、 F Fの出力端子に到達したときにこれ を 1 a s t F Fとするステップである。 伹し、 サーチ過程において、 ゲ ート回路以外の例外素子に接続する信号があった場合には、 図 1 2の a s t F F探索にしたがって、 取り扱う。 マルチドライブ信号の扱いは.
1 s t F Fのクロック関連回路の探索時と同様である。
l a s t F Fのクロック関連回路の探索は、 l a s t F Fのクロック 端子を始点として、 I s t F Fのクロック関連回路の探索と全く同一の 処理 8 3, 8 5を行う。
1 a s t F Fの出力データ関連回路の探索 9 4は、 出力 OUTを頂点 とし、 図 9のデータ関連回路の探索時と同一の端点と、 1 a s t F F全 てを端点とするゲ一卜のコーンを関連回路とするステツプである。 3. 2. 3 ステップ 1 3 : ディ レイ測定パス探索
このステップは、 ステップ 1 2で切り出された関連回路に対して、 ス タティ ックに T r. 回路のディ レイ測定を行うために、 測定する端子か ら終点までの全てのパスをディ レイ測定ステツプ 1 5に与える。 通常、 スタティ ックディ レイ測定では、 f a l s e p a t hと呼ばれる機能 的にありえないパスに対してもディ レイ測定を行うため、 復元されたゲ - ト回路のレベルで f a 1 s e p a t hを除去してディ レイ測定ステ ップにパスを与える。
ここでは、 まず、 簡単な回路例で、 組み合わせ回路での有効パスの探 索方法の概要を示し、 次に F Fを通過するパスの探索方法について述べ る。
組み合わせ回路でのパス探索は、 K a r 】 F u n c h s e t a 1. , " DYNAM I T E : An E f f i c i e n t A u t o m a t i c T e s t P a t t e r n G e n e r a t i o n S y s t e m f o r P a t h D e l a y F a u l t s" , I E E E T a n s a c t i o n o n CAD, v o l 1 0, N o. 1 0, P P 1 3 2 3 - 1 3 3 5 , O c t . 1 9 9 1. 等、 数多くの公知例 がある。 ここでは、 F .Fを含むパス探索の準備として、 図 1 3 ( a ) に 示す再収れん構造をもたない簡単な回路で探索方法の概要のみを示す。
図 1 3 ( a ) では、 Cがパスの到達点であり、 CK Iが始点である。 今. Cが立ち上がる ( ΐ ) 時のパスを求めるとする。 この時、 パスは、 CK I—Ρ 1→Cがある。 このパスをフアンイン側に、 一段ずっゲートを調 ベていき、 出力側の変化を起こすためのパス上の信号変化と 0 f f パス 上の信号の満たすべき条件を求めていく。 この図の場合には、 一段目の ゲートカ、ら、 パス上の信号 P 1は†、 o f f パス信号 C 1 = 0でなけれ ばならない。 二段目のゲー卜から、 C K Iは†、 o f f p a t h上の信 号 C 2 = 1でなければならないことがわかる。 したがって、 このパスを 通る条件 (パス活性化条件) は始点 C K I で (C 1 = 0かつ C 2 = 1 ) である。 後者の条件は、 C I , C 2が他のゲー トの出力である時に は、 これらの条件が 0かどうかの論理演算を行い、 0でなければパスは 有効パスとなる。
F Fを通過するパスは、 上記で述べた組み合わせ回路のパス探索を連 鎖的に行っていくことにより探索ができる。 今、 図 1 3 ( b ) に示すよ うな、 クロック C K Iから 1 s t F Fのクロック端子まで到達するパス を求めるものとする。 この回路では、 I s t F Fが F F 1で 2 n d F F は t r i 1と F F 2である。 2 n d F Fを通過するパスの探索は、 ある 2 n d F F, 例えば t r i 1の出力が変化する時の有効パスの判定は、 t r i 1の出力が始点で 1 s t F Fを到達点とする有効パスの判定条件 と、 C K Iが始点で t r i 1を到達点とする有効パスの判定条件の a n d条件が 0でないか否かで判断することができる。 図 1 3 ( b ) の例で は、 F F 1と t r i 1が共に立ち上がりアクティブであるとすると、 S 1〜F F 1 c k †のパス活性化条件と C K I〜 t r i 1 c k (信号 C 1 ) †の a n d条件が 0かどうかの判定となる。 前者の条件は、 S 1 † かつ ( I 1 a n d .S 2 a n d S 3 = 1 ) であり、 後者の条件は C K I tかつ ( I 3 = 1 ) であり、 これらの a n dが 0でない時にこの
パスは有効パスとなる。
図 1 4は、 以上のパス探索の方法を、 求めたい 3つの全体パス、 すな わち、 クロック→出力 (出力ディ レイ用) 、 クロック→1 s t F F c k (夕イ ミ ングルール用) , および入力— 1 s t F F d (夕イミ ングルー ル用) に適用するための、 各 F F間のコーン 1 1 1、 1 1 2、 1 1 3で 何を求めるかと、 有効パスを見つける条件を示す。 例えば、 クロック— 1 s t F F c kを求めるには、 1 s tコーン内でクロックがあれば、 ( a) クロック— 1 s t F F c kァクティブ条件のパスを求め、 2 n d F Fがあれば、 (b) ノ、。ス F F 2 o u t→l s t F F c kァクティブ条 件のパスを求める。 2 n dコーンでは、 ( c ) クロック→パス F F 1 c kアクティブのパスを求める。 F Fを通るパスは、 (a ) のパス活性化 条件と (b) のパス活性化条件の a n dが 0でない時に、 有効となる。 図 1 4は、 出力ディ レイ用、 タイ ミ ングルール用共に、 タイ ミ ングを 決める F Fのクロック端子 (前者は、 パス F F 1のクロック端子, 後者 は到達点) から 2番目の F Fまでを考慮したが、 より一般的に 2 n分周 クロックを作る n個の F Fを扱う場合にも、 同様にしてパス活性化条件 を連鎖的に a n dしてゆけば全体のパスの有効条件は求めることができ る。
以上により求めた有効パスをディ レイ測定パスファイル 1 04に出力 してこのステップは終了する。
3. 2. 4 ステップ 1 4 : 活性化条件作成
このステップは、 ステップ 1 3で有効パスの判定に用いたパス活性化 条件のすべての 0 rをとるという方法を用いずに行う。 パス活性化条件 の 0 rを取る方法では、 処理時間が犬であるため、 一括して活性化条件 を求める方法を示す。 活性化条件は、 タイミ ングルールの作成のために 用いるため、 クロック〜 1 s t F Fまでのクロック活性化条件と入力〜
1 s t F Fまでのデータ活性化条件の作成からなる。
クロック活性化条件の作成方法を図 1 5に示し、 以下に述べる。 この 方法は、 有効パスの判定条件を求めるのと同様に、 F F間のコーンの活 性化条件を連鎖的に a n dしていく。 これまでと同様に、 2 n d F Fま でしかない場合を求める。 n t h F Fへの拡張もこれまでと同様に容易 である。
クロック活性化条件は、 図 1 5の式 1 2 1に示すように、 1 s tコ一 ンの入力にクロック C Kがある場合の 1 s tコーンの活性化条件と 2 n d F F考慮の活性化条件からなる。
1 s tコーンの活性化条件は、 1 s t F Fが立ち上がりアクティブ
( o n) か立ち下がり o nか、 始点 C Kが立ち下がりか立ち上がりかで 4通りの条件がある。 式 1 22がその条件を示す。 いずれも同様である ので、 一番目の式のみを説明する。 これは、 1 s t F Fのクロックが立 ち上がり o nであるので、 1 s tコーンの論理関数を hとすると、 変化 前が 0すなわち h (C K=変化前の値) = 0で、 h (CK=変化後の 値) = 1の時に 1 s t F Fのクロック端子が立ち上がる。 したがって、 C K立ち上がり条件では、 n o t (h (CK= 0) ) a n d h ( C K = 1 ) = 1の時に 1 s t F Fがアクティブになる活性化が起こる。 これを示すのが、 式 1 2 2の第一式である。
2 n d F F考慮の活性化条件は、 2 n d F Fが o nしく 1 >、 かつ、 2 n d F Fの出力が変化して 1 s t F F c kが o nする条件く 2〉によ つて求める。 これを示したのが、 式 1 23である。 く 1 〉く 2 >は、 1 s tコーンと 2 n dコーンのおのおのについて式 1 24と 1 25によつ て求めることができる。 ここで注意しなければならないことは、 式 1 2 5では、 変化前の 2 ri d F Fの出力は Sとしており、 端子でクロックが 変化する時の内部の状態 Sが活性化条件に出現することである。 これが、
組み合わせ回路のみで活性化条件を求める場合と異なる点である。 図 1 6にクロック活性化条件の計算例を示す。 図 1 5に示す式によつ て、 順に 1 s tコーンの活性化条件と 2 n d F Fとして t r i 1を通過 するパスの活性化条件を求めた。 いずれも C Kが立ち上がり時のみ有効 で、 1 34と 1 3 5に示す式になる。
次に、 データ活性化条件の作成方法を図 1 7に示す。 データ活性化条 件は、 クロック活性化条件とは、 2 n d F Fを考慮しないことと、 変化 到達点の立ち上がり 立ち下がりを限定せず変化が起こる条件を求める ことが異なる。 従って、 クロック活性化条件、 図 1 5の 1 s tコーンの 活性化条件 1 22の立ち上がり時と立ち下がり時の条件の o rをとるこ とになる。 結局、 1 4 2に示すように、 入力 I N = 0の場合と I N = 1 の排他的論理和で表わされる。
3. 2. 5 ステップ 1 5 : ディ レイ測定
このステップは、 T r . 回路 1 02を入力して、 ステップ 1 4により 作成したディ レイ測定パス 1 04の有効パスのディ レイを、 トランジス 夕レベルのスタティ ックディ レイ測定ツールにより測定する。 求めたデ ィレイをディ レイファイル 1 06へ格納する。 トランジスタレベルのス タティ ックディ レイ測定ツールは、 公知のものがあり、 それを利用する 3. 2. 6 ステップ 1 6 : タイミ ング特性生成
このステップは、 図 4のモデル化方法で述べた方法を、 ディ レイファ ィル 1 0 6、 F F夕イミ ングルール 1 07、 および活性化条件 1 05を 元に、 各端子について行い、 図 6に示すタイ ミ ング特性ライブラリ 1 0 8を生成するステップである。
タイ ミ ングパラメタについては、 各入力の各 I s t F Fについて、 d e 1 a y (クロック〜.l s t F F c k) 32と d e l a y (入力〜 i s t F F d ) 33のスキュー(信号のタイミ ングのずれ)を計算し、 このス
キューと F Fタイ ミ ングルールから、 図 4に示す入力のタイミ ングパラ メタを計算する。 同時に、 活性化条件 1 0 5を元に図 4のルール適合条 件を作成して、 適合条件とともに図 6の 5 5と 5 6に示す記述をタイミ ング特性ライブラリ 1 0 8に出力する。
出力ディ レイについては、 ディ レイファイル 1 0 6を元に、 図 4に示 すように最大パスディレイ値を計算し、 図 6に示す出力ディ レイ記述 5 7をタイ ミ ング特性ライブラリ 1 0 8に出力する。
できあがった、 夕イミ ング特性ライブラ リは、 図 6の 5 1 〜 5 3を自 動付加もしくは、 人手付加して、 機能モデルと共にタイミ ング検証用の モデルとして使われる。 タイ ミ ング特性ライブラリの使用の形態は、 4 . にて述べる。
4 . タイ ミ ング特性ライブラリの使用形態
本発明の方法で生成されたタイミ ング特性ライブラリ 1 0 8の使用形 態の一例を図 1 8に示す。
図 1 8 ( a ) は、 システム L S I シミュレーション形態のイメージ図 を示す。 システム L S I は、 C P Uコア、 D M A C、 夕イマなどの既存 設計論理を L S I 内にモジュールとして組み込み、 新規設計論理を付加 して作成する。 システム L S Iをシミュレ一ションで検証時には、 C P Uコア 1 5 6の例で示すように、 既存のモジュールは、 機能モデルの上 位階層に本発明で生成したタイ ミング特性を付加してシミ ュ レーショ ン を行う。
この時、 機能モデルの出力結果にディ レイを付加するのが出力ディ レ ィ部 1 5 1 1であり、入力された信号がタイ ミ ングルールに適合するの かをチヱックするのがタイミ ングルールチヱック部 1 5 1 2である。 タ イ ミ ングルールチヱ 、 ク部によりタイミ ング違反が検出された時には、 タイ ミ ングエラーが表示され、 この結果を元に設計者は、 設計回路の見
直しを行う。
タイ ミ ング特性ライブラリのシミ ユレーショ ン処理を図 2 5と図 2 6 に示す。 シミ ュレーショ ンは、 一般に単位時間を設定してこの単位時間 ごとに行われる。 図 2 5 と図 2 6は、 この単位時間内でのシミュレーシ ョン処理である。
まず、 2 6 1でモジユール全体、 および機能モデルィンスタンスの入 出力端子の値の変化を検出し、 値が変化していれば 2 6 3以下の処理を 行い、 無変化時には図 2 6の B以下を処理する。
2 6 3以下の処理を述べる。 2 6 3では、 下位階層の機能モデルを呼 び出し ( 2 6 3 1 ) 、 機能モデルのシミ ュレーシ ョ ンを行い ( 2 6 3 2 ) 、 最後に機能モデルの出力端子へ値を登録する。 2 6 4でタイ ミ ン グルールチェック部を参照し、 まず、 ルール適合条件が満足するかをチ エックする ( 2 6 5 ) 。 満足していれば、 セッ トアップタイムとホール ドタイムのチェック ( 2 6 6 ) を行い、 夕ィ ミ ングルール違反であれば ( 2 6 7 ) . エラーメ ッセージを画面に出力し、 夕イ ミ ングルール違反 でなければ図 2 6の B以下の処理を行う。
図 2 6の B以下の処理を述べる。 これは出力ディ レイ処理である。 ま ず、 出力ディ レイ部を参照し ( 2 6 9 ) 、 機能モデルの出力が前回変化 した時刻が現在よりディ レイ値時間前であれば .( 2 6 2 1 ) 、 モジュ一 ル全体の出力端子へ値を登録し 1単位時間の処理は終了する。 そうでな ければ 1単位時間の処理は終了する。
以上により、 新規設計論理回路とモジュール間、 またはモジュール間 のタイ ミ ングのチェックが可能となる。 すなわち、 各モジュールのモデ ルに組み込まれているタイ ミ ングルールチヱック部によりタイミ ング違 反が検出された時には、 タイ ミ ングエラーが表示され、 この結果を元に 設計者は、 設計回路の見直し、 または、 モジュール間へのバッファ付加
などを行う。
システム L S I シミ ュレーショ ン時のシステム構成を、 図 1 8 ( b ) に示す。 モジュールライブラリ 1 5 2と新規設計論理回路デ一夕 1 5 3 の設計データ、 および入力波形データ 1 5 5を、 HD L(H a r d w a r e D e s c r i p t i o n L a n g u a g e ノヽ一ドゥエァ記述言 語) シミュレー夕に入力することにより、 シミュレーショ ン結果とタイ ミングエラーが出力される。 生成したタイミ ング特性ライブラリ と機能 モデルライブラリは、 それぞれ個別に、 または統合したモジュールライ ブラリとして記憶媒体に記憶される。
5. 第 2の実施例
図 1 9に第 2の実施例を示し、 以下に述べる。
図 1 9に示すのは、 図 1 5に示すクロック活性化条件の作成の 2 n d F F考慮の活性化条件 1 23の計算において、 式 1 2 3に含まれるく 2〉 の計算からある条件のパスを除外する方法である。 図 1 6の回路を例に して除外する条件を説明する。
図 1 6のパス 1 3 3が活性化される時、 パス 1 3 7も同時に活性化し て、 ゲート 1 3 8の入力が 2つとも †変化するために、 F F 1のクロッ ク端子が†変化するケースがある。 これは、 F Fを通るパスが、 1 s t コーン 1 31内のクロックの変化によって助けられて変化を伝えるパスで ある。 しかしながら、 通常このようなクロックとの同時変化を起こすパ スは抑制されており、 特に順序回路を通るパスと、 タイミ ングを決める クロックとのパスの同時変化があるとタイミ ング設計が難しくなる。 こ れはスタティ ックにパスを見ているために判定できない f a 1 s e p a t hと考えてもよいケースが多い。
上記の理由で、 ここで述べる活性化条件は、 式 1 2 3の中の < 2 >か らクロックとの同時変化によって起こるパスを除外する方法である。
このような同時変化を起こすパスを除外するには、 < 2 >の条件を、 クロックが立ち上がりであろうと、 立下がりであろうと、 成り立つ条件 にすればよい。 すなわち、 式 1 2 5を式 1 6 1に変更する。 これにより. 図 1 6の回路例による S 1を通るパスの 2 n d F Fの活性化条件は、 式 1 6 2に示す通りとなる。 この条件は、 S 2 = 0でないと成立しない。 すなわち、 ゲート 1 3 9において、 S 2 = 0にすることにより、 ノヽ。ス 1 3 7を抑制しているのである。
上記に示す方法か、 図 1 5で示した方法のどちらがよいかは、 スタテ ィ ックに回路を解析しても解は得られない。 設計回路の性質による。 実 際の実施状況では、 どちらの選択とするかを回路毎に設計者に選択の余 地がある。 この実施は、 よく見られる方法、 すなわち、 制御ファイルで システム実行制御を行うことになる。 この詳細は省略する。
6 . 第 3の実施例
図 2 0に第 3の実施例を示し、 以下に述べる。
この実施例は、 ディ レイ測定指示情報を、 第 1の実施例を示す図 1で ディレイ測定パス 1 0 4であったものを、 ディ レイ測定用テストパター ン 1 0 9に変え、 同時にこれを生成する処理として、 ディ レイ測定用テ ス トパターン生成 1 7に変更し、 ディ レイ測定方法を T r . 回路レベル のダイナミ ックなシミュレーション方法に変更する。
テス トパターンは、 パスごとに存在し、 図 1 3に示すパス活性化条件 を満たすパターンである。
例えば、 図 1 3 ( a ) の例では C 1 = 0かつ C 2 = 1に初期設定する パターンと C K Iを初期値 0からディ レイ測定時に 1に立ち上げるバタ 一ンである。 ディ レイ測定時は、 内部信号も含んで、 シミュレーショ ン 前に C l, C 2を上記のパターンに設定し、 C K Iを 0から 1に立ち上 げるパターンをシミ ユレーショ ンに印加してディ レイを測定する。 図 1
3 ( b ) に示す F Fを通過するパターンは、 各コーンの活性化条件を同 様にして変更する。 さらに、 中間の F F (この図では、 t r i 1 ) の出 力 S 1を変化の初期値に設定し (この回路例では、 0 ) 、 F Fの入力を クロック端子 C 1がァクティブになった時に S 1に変化後の値になるよ うに設定する。
上記の方法は、 関連する回路のみに初期設定、 および変化後の設定を 行うので、 他の回路の影響は少なく、 全体回路のシミュレ一ションに比 ベて、 処理時間は問題とならない。
7 . 第 4の実施例
図 2 1 に第 4の実施例を示し、 以下に述べる。
この実施例も、 第 3の実施例と同じくダイナミ ックなシミュレーショ ンによりディ レイ測定を行うアプローチである力 第 3の実施例と異な り、 入力波形 1 0 0 1を与え、 活性化条件を元に、 活性化条件が満足す る時間を自動的に決定する (ディ レイ測定時間決定 1 8 ) 。 但し、 活性 化条件は、 内部信号も含むため、 内部信号のスムージング 1 7 2 , すな わち活性化条件に含まれる内部信号が 0の場合と 1の場合の論理和演算 を全ての内部信号について行い、 端子の活性化条件 1 7 1を元に時間を 決定する。
8 . 第 5の実施例
図 2 2に第 5の実施例を示し、 以下に述べる。
この実施例は、 T r . 回路の信号名と機能モデルの信号名が異なる場 合に、 T r . 回路の信号名を人手で修正しなければ図 1 8で示した、 シ ミュレーションが実現できないという問題を解決するための実施例であ る。 特に、 活性化条件に内部信号を含む場合には、 人手で修正する工数 が大であり、 この方法は有効となる。 活性化条件は、 図 1 0に示した、 反点が、 F Fの出力 /マルチドライブ信号/ V C C Z G N D /浮きであ
る場合と、 クロック活性化条件で 2 n d F Fを考慮した場合に、 多数起 こりうる。
この実施例は、 図 1のステップ 1 4に活性化条件で使用されている T r . 回路の信号名を出力する処理を付け加え、 1 0 0 4のステップに変 更する。 ステップ 1 0 0 4は、 活性化条件 1 0 5と使用されている T r . 回路信号 1 0 0 5を出力する。 次に、 T r . 回路信号に対応する、 機能 モデル内の信号名を人手で入力し、 T r . 回路一機能モデル信号対応表 1 0 0 6を作成する。 最後に、 他の入力ファイル 1 0 6、 1 0 7と共に、 1 0 0 6を入力として、 タイ ミ ング特性生成 1 8 1を実行する。 タイ ミ ング特性生成 1 8 1は、 タイ ミ ング特性ライブラリ 1 8 2を出力時に、 活性化条件に出現する T r . 回路信号名を、 機能モデルの信号名に変換 して、 1 8 2を出力する。
9 . 第 6の実施例
図 2 3に第 6の実施例を示し、 以下に述べる。
この実施例は、 F Fタイ ミ ングルール 1 0 7を自動で計算する処理を これまでの実施例に追加した例である。
この実施例は、 ディ レイ測定パス探索 1 3でディ レイ測定パスを探索 すると同時に、 関連する 1 s t F Fの入出力端子情報も認識し、 ディ レ ィ測定パス · 1 s t F F 1 0 0 2に出力する。 その後、 ディ レイ測定と 共に 1 s t F Fの入出力端子情報を元に、 F F夕イ ミ ングルール 1 0 7 も測定する。 この測定方法は、 少なくともシミュレーションを使う方法 は公知例があり、 ここでは省略する。
1 0 . 第 7の実施例
図 3 4にモジュールを含むシステム全体シミ ュレ一ションの第 7の実 施例を示す。 図 3 4 ( a ) にシミ ュレーショ ンのシステム構成を示す。 特性抽出装置 1 0が作成するモジュール特性 2 2は
( 1 ) 独立したタイ ミ ング活性化条件用論理
( 2 ) モジュール端子に直接設定してあるタイ ミ ング情報
( 3 ) タイ ミ ング属性を分離するノ一ド分離回路
等を備えた構造上の特徴より、 モジュール機能 2 1 とは全く独立した論 理階層としてライブラリ化出来る。 これは従来のライブラリデータの表 現上の分離とは異なり、 論理階層の一部なので、 後処理等で論理シミュ レ一夕に適合する形式に変更する必要がない。 又、 モジュール機能の表 現方法も、 特性情報を考慮する必要が全くないため自由度が極めて高い。 図 3 4 ( b ) にシステム全体回路のシミュレ一ション形態の例を示す。 既存の M P Uやメモリ等のモジュールを搭載し、 新規のランダム論理を 付加した全体回路において、 システムクロック 1 1 0とランダム論理部 からのデータ 1 1 1や他のモジュールからのデータ 1 1 2の時間差と、 セッ トアツプゃホールドの特性情報とが比較 1 0 3され、 違反がある場 合はシミュレーション結果 4 0の中にエラ一が表示される。 このとき違 反をチェックしなくてよい状態であるかタイ ミ ング活性化条件用論理が 演算し、 もしチェック しなくてよい状態であれば、 疑似エラ一を抑止す る。
本発明のモジュール特性表現手法と動作記述や機能記述と組み合わせ ることにより、 高速で高精度なシミュレーションが可能になる。 産業上の利用可能性
以上のように、 本発明によれば、 従来に比べ、 大規模回路モジュール のタイ ミ ング検証を高速に精度よく行うことができるタイミング特性ラ イブラリを提供可能である。 従来のタイ ミ ング検証方法で、 モジュール をセルレベルのタイ ミ ング付ライブラリの集合体として扱うと、 シミュ レーションにてタイ ミ ング検証を行う時には、 シミュレーション処理時
間が大であり、 また、 シミ ュレーショ ンの高速化のために、 モジュール を機能モデル +モジュール全体のタイ ミ ングで表現する時には、 モジュ ール全体のタイ ミ ングを自動抽出する方法はなく、 人手に頼っていたた め、 工数が大であり、 かつ精度が落ちるという問題を本発明は克服して いる。 本発明は、 この問題を解決するための方法であり、 これにより、 モジュール全体のタイ ミ ングをタイミ ング特性ライブラリとして、 精度 よく高速に抽出することができ、 ひいては、 タイ ミ ング検証時に高速に 精度よい検証方法を提供することができる。 さらに、 生成されたタイミ ング特性ライブラリにはタイ ミ ングルールの適合条件を含むため、 モジ ユールに関与しないデータ変化時には疑似エラ一を抑えることができる ため、 検証工数の削減が可能となる。