JP3851357B2 - トランジスタ回路のタイミング特性抽出方法、タイミング特性ライブラリを記憶した記憶媒体、lsiの設計方法、及びゲート抽出方法 - Google Patents
トランジスタ回路のタイミング特性抽出方法、タイミング特性ライブラリを記憶した記憶媒体、lsiの設計方法、及びゲート抽出方法 Download PDFInfo
- Publication number
- JP3851357B2 JP3851357B2 JP51299899A JP51299899A JP3851357B2 JP 3851357 B2 JP3851357 B2 JP 3851357B2 JP 51299899 A JP51299899 A JP 51299899A JP 51299899 A JP51299899 A JP 51299899A JP 3851357 B2 JP3851357 B2 JP 3851357B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- timing
- gate
- input
- clock
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
本発明は、CPUコアなどの部品設計資産(モジュール)のトランジスタ回路データから、タイミング特性を抽出する方法に関し、抽出されたタイミング特性は、抽出対象モジュールを含む回路のタイミング検証、論理合成又はタイミングドリブンレイアウトを行う際のタイミング制約に用いる。特に、シミュレーションでタイミング検証を行う時には、モジュールのタイミングルール適合条件がタイミング特性に含まれるので、疑似エラーのない検証を可能とする。また、本発明はタイミング特性ライブラリの構造、およびそれを記憶した記憶媒体、およびそれを用いたLSIの設計方法に関する。
背景技術
大規模なワンチップシステムの時代が到来しつつあり、設計済みのデータを活用して短期間にシステムLSIを提供することが、チップおよびシステムの競争力アップのために不可欠になりつつある。特に最近では、設計資産、あるいはIP(Intellectual Property)を利用したシステムLSIの設計が急速に立ち上がってきている。例えば、CPUコア等の部品設計資産(モジュール)を再利用したASIC(Application Specification Integrated Circuits)の設計においては、ASICメーカ側がモジュールを顧客(システムハウス等)に提供し、顧客はモジュールに顧客固有の論理を付加してASICを設計する。この時、顧客側には、論理機能の記述だけを提供するだけでは不十分である。なぜなら、チップ全体のタイミング検証を行う必要があるからである。この場合に、顧客側からみるCPUコアはブラックボックスであり、CPUコアのインタフェースにおけるタイミング特性なしにはチップ全体のタイミング検証を行うことができない。このタイミング特性を顧客に提供するためには、モジュールから特性を抽出しなければならないが、従来はこの抽出作業を人手で行っていた。このため、多大な工数が必要であり、同時にタイミング抽出結果についても常に誤りの混入する恐れがあった。
そこで、本発明では、モジュールのレイアウトデータからタイミング特性を抽出することを目的としている。本発明では、タイミング特性の抽出を行う方法として、セル毎にタイミング特性を抽出し、その抽出結果を利用する方法も検討された。
従来の方法として、セルレベルのタイミング特性抽出ツールを開示した特開平4−316166号公報等がある。これらの方法は、トランジスタ回路を入力して、全体回路の回路シミュレーションの自動実行を行ってタイミング特性を抽出するが、扱う回路の規模は、セルレベルであるので、数100トランジスタ程度までの回路が対象となり、数M規模の大規模トランジスタ回路は扱うことができない。以下に大規模トランジスタ回路とセルレベルの回路との相違点を示す。
(1)セルレベルでは、順序回路のセルは、セル=フリップフロップ(FF)と考えてもよく、セルの端子とFFの間にある他の回路の影響は考慮する必要はない。また、複数のFFがタイミングに影響を与えるケースも考慮する必要はない。
(2)セルレベルでは、数100トランジスタレベルであるので回路全体でシミュレーションを行ってもタイミング特性の抽出は可能である。これに対して、大規模回路では、全体の回路でのシミュレーションでの抽出では、処理時間が多大である。
(3)セルレベルでは、FFを組み合わせたような複雑な回路のタイミング抽出は対象外である。大規模回路では、分周クロックの発生回路等、複雑な順序回路が内在しており、この回路も取り扱う必要がある。
本発明では、これらの相違点を考慮して大規模回路のタイミング特性抽出を実現する方法を提供する。
従来技術は、小規模なセルレベルでのタイミング特性抽出方法であるので、上記の(1)〜(3)に述べたように、大規模回路には、そのままでは適用できない。大規模トランジスタ回路を取り扱う課題は、以下の3つである。
(1)FF以外の回路を含め、複数のFFが内在されていても、端子でのタイミング特性を規定するモデル化方法と処理方法の提供。
(2)数Mトランジスタ回路まで扱っても処理時間が実用範囲に収まるタイミング特性のモデル化方法と処理方法の提供。
(3)複雑な回路を含む場合の取り扱い方法の提供。
発明の開示
上記3つの課題を解決するための手段を以下に述べる。
まず、課題(1)、(2)を解決するためのモデル化方法を述べ、次に処理方法を述べる。
(1)モデル化方法
モジュールの対象は、図3に示すようなクロック同期回路に絞る。タイミング特性には、出力のディレイと入力のタイミングルール(セットアップ/ホールドタイム)の2種類がある。クロック同期回路であるので、タイミングは、クロック基準である。すなわち、出力ディレイは、クロックの変化時刻を起点(基準)とする出力のディレイであり、タイミングルールとは、クロックに対する入力のセットアップタイム、又はホールドタイムの制約を総称している名前である。
クロック同期回路では、タイミングとタイミングを決める回路は以下のようになる。
出力ディレイの場合は、図3に示すように、最後に出力に影響するlastFF(フリップフロップ)35がタイミングを決める基本回路になる。すなわち、クロック311がlastFF35を立ち上げてFFの出力の変化が出力313に伝搬するまでの時間が出力ディレイとなる。従って、関連する回路は、クロックからlastFFを通過して出力までのパス上の回路である。このパスは、複数存在する可能性があるため、これらのパス上の回路を全て考慮して、他の回路に最悪の影響を与えうる最大ディレイ値のパスのディレイ値を出力ディレイとする。
タイミングルールの場合は、図3に示すように、入力312が最初に到達する1stFF34がタイミングを決める基本回路になる。すなわち、クロックが変化した時間のセットアップ時間前からホールドタイム時間後まで、入力が安定しないと、1stFFの出力は変化をしてしまい、期待通りの出力が得られない。本モデル化方法では、このタイミングルール(セットアップタイムとホールドタイム)をFFを含んだ形で直接求めずに、FFのタイミングパラメタにdelay(クロック〜FFck)32とdelay(入力〜FFd)33のスキューを加減算して求める。図4にその算出方法を示す。さらに、FFと入力/クロック端子の間には、他の回路が長いパスを構成しており、端子でクロックと入力が変化しても、FFへ到達するとは限らない。このため、図4に示すようにルール適合条件をタイミングルールに入れ、変化が到達するかどうかを検査してルールチェックを行う。これがなければ、図18に示す形態でシミュレーション検証時に他の回路に使われる信号もチェック対象となり、疑似エラーが多発する。
上記のタイミングルールのモデル化を基本にして、複数の1stFFが存在する場合には、図4に示すように、複数の1stFFについて求めたタイミングパラメタの中で最大値をとり、ルール適合条件については、すべての1stFFについて求めた条件のor条件をとる。
(2)処理方法
(1)で述べたモデルを求めるために、図1に示す方法を採用する。
まず、Tr.回路データ102を入力して、ゲート・FF復元を行う(ステップ11)。その後、入力端子と出力端子からそれぞれ最初に到達する1stFFとlastFFを見つけ、各端子からこれらの各FFまでの回路を関連回路として認識する(ステップ12)。
課題(2)で述べたように、大規模トランジスタ回路の全体回路でのシミュレーションにおけるディレイ測定は処理時間が大であるので、これらの各FF〜入力/出力までの有効パスを探索して、高速なスタティックディレイ測定ツールにディレイ測定のためのパス104を入力する(ステップ13)。これにより、スタティックディレイ測定ツールは、論理的にありえないパスまでディレイ測定パスに含むことが避けられるのでこのステップは必要である。同時に、入力/クロックが1stFFまで変化を伝えるための条件(活性化条件105)を作成する(ステップ14)。ディレイ測定15で測定されたディレイ106、活性化条件105、FFタイミングルール107を元にして、(1)で求めたモデル化方法に従い、タイミング特性ライブラリ108を生成する(ステップ16)。
なお、課題(3)で述べた問題の解決手段は、ステップ12の認識方法とステップ14の活性化条件の作成方法である。この主要な課題は、分周クロック作成回路をどう取り扱うかと、組み合わせ回路以外の例外素子をどう取り扱うかである。これについては、以下の発明を実施するための最良の形態の項にて詳細に述べる。
【図面の簡単な説明】
図1は、タイミング特性抽出方法の全体フロー図であり、図2は、本発明が稼働する処理装置を示す図であり、図3は、回路例であり、図4は、タイミング特性のモデル化方法を示す図であり、図5は、Tr.回路情報と補助情報を示す図であり、図6は、タイミング特性ライブラリの構成を示す図であり、図7は、ゲート・FF復元11の処理例1:ゲート復元を示す図であり、図8は、ゲート・FF復元11の処理例2:FF復元を示す図であり、図9は、1stFFと関連回路の探索方法の説明図であり、図10は、1stFFと関連回路の探索範囲の説明をする図であり、図11は、lastFFと関連回路の探索方法の説明図であり、図12は、lastFFと関連回路の探索範囲の説明をする図であり、図13は、ディレイ測定パス探索1を示す図であり、図14は、ディレイ測定パス探索2を示す図であり、図15は、クロック活性化条件を示す図であり、図16は、クロック活性化条件の計算例を示す図であり、図17は、データ活性化条件を示す図であり、図18は、タイミング特性ライブラリの使用形態を示す図であり、図19は、クロック活性化条件作成の別の方法を示す図であり、図20は、タイミング特性抽出方法3の全体フロー図であり、図21は、タイミング特性抽出方法4の全体フロー図であり、図22は、タイミング特性抽出方法5の全体フロー図であり、図23は、タイミング特性抽出方法6の全体フロー図であり、図24は、活性化条件の構成要素を示す図であり、図25は、タイミング特性ライブラリのシミュレーション処理1を示すフロー図であり、図26は、タイミング特性ライブラリのシミュレーション処理2を示すフロー図であり、図27は、タイミング特性ライブラリのデータ構造を示す図であり、図28は、本発明に基づくゲート抽出全体の処理フローの前半部を示す図であり、図29は、本発明に基づくゲート抽出全体の処理フローの後半部を示す図であり、図30は、ステップ283の同一出力ゲートグループへの分割方法を示す図であり、図31は、ステップ284の同一出力ゲートグループの分割方法を示す図であり、図32は、ステップ3021の処理を行う際のペアチェーンへの統合条件を示す図であり、図33は、ステップ285のゲート変換処理方法を示す図であり、図34は、モジュール特性を使用したシステム全体シミュレーションを示す図である。
発明を実施するための最良の形態
以下、本発明の実施の形態を図面により詳細に説明する。
1.本発明が稼働する処理装置
本発明は、図2に示す処理装置上で稼働する。本発明は、図1に示すTr.回路(トランジスタレベルのレイアウトデータ)102、補助情報(P/Nmos区分データ、電源/GND信号等)101、クロック・入力・出力端子名103、およびFFタイミングルール107を入力ファイル群22として、図1のステップ11〜16の処理を実現するプログラムをプログラムファイル群25として格納し、CPU21によりこれらの処理を実行して、タイミング特性ライブラリ24を出力する。CPU21での処理実行時には、まず、プログラムファイル群25からプログラムを主記憶26に入力し、プログラムを実行する。各処理ステップのプログラムは、主記憶26から中間処理結果を入出力し、最後にプログラム実行結果をファイルに出力する。ステップ13、14、および15のプログラムは、次のステップのプログラムの入力となる中間ファイル104、105、および106をワークファイル群23として出力する。
2.タイミング特性モデル化方法
ここでは、タイミング特性抽出方法を説明する前にこの方法のベースとなるタイミング特性のモデル化方法について、図3と図4に従い述べる。
出力ディレイは、「発明の開示」の項で述べたように、クロック311からlastFF35を通って出力313までのディレイdelay(クロック〜出力)31である。これらのパス上の、lastFF35とゲート回路のパスによって複数のパスが存在する場合には、最大パスのディレイを出力ディレイとする。最大パスディレイを取る理由は、この回路が他の回路を接続されてタイミング検証を行うときに最悪の条件となるのが最もディレイの大きい最大パスディレイであるからである。
タイミングルールは、セットアップタイムルールとホールドタイムルールからなり、いずれも、タイミングを決めるクロックに対する制約時間であるタイミングパラメタと、端子でルールを適合するかどうかを決めるルール適合条件からなる。
タイミングパラメタは、図3に示すように、入力が最初に到達するフリップフロップ(順序回路素子の1種)1stFFのタイミングルールを、モジュールの入力時刻で換算した値である。すなわち、クロックディレイ(クロックから1stFFのクロック端子CKまでのディレイ)d_クロック(図3の32)と、入力ディレイ(入力312から1stFFのデータ端子Dまでのディレイ)d_データ(図3の33)の分を補正した値である。セットアップタイムを例にとり、入力のタイミングルールとフリップフロップのタイミングルールの関係を図4に示す。
図4内のタイムチャートから明らかなように、より具体的には、セットアップタイムは以下の式で表わされる。
入力のセットアップタイム=1stFFのセットアップタイムFFstup+(入力ディレイ−クロックディレイ)‥‥‥式1
同様にして、ホールドタイムは以下の式で表わされる。
入力のホールドタイム=1stFFのホールドタイムFFhold−(入力ディレイ−クロックディレイ) ‥‥‥式2
ディレイのパスや1stFFが複数存在する時には、式1、式2で求めた値の内一番厳しい最大値をとる。
ルール適合条件は、クロックとデータが変化したときに変化が1stFFに伝わるかどうかの条件であり、この条件がないと、他の回路と接続され、今対象になっている回路以外にファンアウトされるケースには、誤ってルールチェックを行ってしまう。
ルール適合条件は、1stFFからクロック・入力までのゲート回路によって決まる。すなわち、データ活性化条件とクロック活性化条件のand論理である。ここで、データ活性化条件は、データの変化が1stFFに伝わる条件であり、クロック活性化条件は、クロックの変化が1stFFに伝わり、かつ、1stFFのクロック端子がFFのタイミングルールの基準(立ち上がり↑、または、立下がり↓)になる条件である。例えば、図3の回路例では、データ活性化条件は、C2 or C3=1であり、クロック活性化条件は、FFのタイミング基準点が↑とすると,クロック↑かつC1=1である。活性化条件を求める方法は以下に詳細に述べる。
3.タイミング特性抽出方法
本発明に基づくタイミング特性抽出方法を図1に示し、以下に述べる。
タイミング特性抽出方法は、Tr.(トランジスタ)回路102、トランジスタのPMOS/NMOS区分とTr.回路内の電源/グラウンド(GND)信号名等からなる補助情報101、クロックとタイミング特性抽出の対象となる入力・出力端子指示情報103、およびTr.回路内のFFのタイミングルール107を入力として、タイミング特性ライブラリ108を出力する。
本方法は、Tr.回路102と補助情報101からゲート・FF復元を行うステップ11、復元されたゲート・FF回路から1stFFとlastFFの関連回路を認識するステップ12、この関連回路の中からディレイ測定パスを探索し、ディレイ測定パスファイル104に出力するステップ13、関連回路から活性化条件を作成し、活性化条件ファイル105に出力するステップ14、Tr.回路102とディレイ測定パスファイル104からタイミング特性に必要なディレイを測定し、ディレイファイル106に出力するステップ15、および測定されたディレイ、活性化条件105、FFタイミングルール107から、上記したモデル化方法に従ってタイミング特性ライブラリ108を出力するステップ16からなる。
以下では、まず、入出力102,101,103,107,および、108について述べ、次に各処理ステップについて詳細に述べる。
3.1 入出力
入力であるTr.回路102と補助情報101を図5(a)に示し、このTr.回路の回路イメージを図5(b)に示す。
このTr.回路例は、NMOSトランジスタ4021とPMOSトランジスタ4011のネットリストであり、サブ回路定義名41がEXSMPLで42で示す端子名を持ち、素子名43がMXX1とMXX2のトランジスタが2つある。それぞれ、ドレイン44、ゲート45、ソース46は図に示す信号に接続し、素子モデル47はpenhとnenhである。補助情報では、penhの素子モデルはPMOSをnenhの素子モデルはNMOSであり、VDD1は電源信号名、GND1はGND信号名であることを情報として与える。従って、図5(b)に示す回路図を表現していることになる。これらの情報により、図1のステップ11では、トランジスタ回路からのゲートの復元が可能になる。
補助情報には、関連回路探索指示情報40も含まれており、この情報については、後のステップ12の処理にて述べる。
他の入力情報、クロック・入力・出力端子103は、クロックとタイミング特性抽出の対象となる入力・出力端子名を指示する情報であり、FFタイミングルール107は、Tr.回路内のFFのタイミングパラメタである。これらの情報の必要性については2.で述べた。
出力であるタイミング特性ライブラリを図6に示す。この例は、ある種のハードウエア記述言語でライブラリの内容と使用方法を示したものである。ライブラリとして生成されるのは、タイミング特性ライブラリ部54で示されるものである。この例では、ユニットタイムと精度を示すタイムスケール51、インタフェース52、および下位階層の機能モデル呼びだし部53の中に挿入する形式で使われる。すなわち、回路の機能モデルの上位階層にタイミング特性を追加することにより、機能モデルと連動してタイミング検証用モデルとして使用される。
タイミング特性ライブラリのデータ構造は、図27に示すように、インタフェース52、インスタンス(下位階層の機能モデル呼び出し)53、タイミングルールチェック部56、ルール適合条件演算部55、および出力ディレイ部57から構成される。
インタフェース52は、図27に示すように、モジュール名、入力端子、および出力端子から構成される。図6では、ADCH8S2がモジュール名、input宣言されたCKMなどが入力端子、output宣言されたLFDINなどが出力端子である。
インスタンス53は機能モデルを本ライブラリの下位階層として呼び出す部分であり、図27に示すように、インスタンス名、入力端子、出力端子が主要な構成要素である。図6では、ADCH8S2_coreがインスタンス名、.CKM(CKM)の()内の信号名が入力端子または出力端子にあたる。.CKMは、上位階層である本ライブラリの信号であり、上記の記述により、上位階層のCKMが()内の機能モデルの端子に接続されることになる。これは、データ構造上、インスタンス内の端子が上位階層の信号を参照していることを示し、図27では参照されていることを、インタフェースへ向く矢印で示した。
タイミングルールチェック部56は、セットアップタイムとホールドタイムのタイミングチェックを行う部分である。図27に示すように、チェック信号、クロック信号、ルール適合条件、およびセットアップタイム(ホールドタイム)が主要な構成要素である。
図6では、セットアップタイムチェック記述$setupにおいて、PDB8がチェック信号、CKMがクロック信号、C_C_1がルール適合条件、1.572000がセットアップタイムを示す。この記述は、C_C_1が1の時に、CKMの立ち下がり(negedge構文)を基準にして、PDB8のセットアップタイムが1.57ns(51のtimescale文により単位がns)以下かどうかをチェックするということを意味する。
データ構造としては、図27の矢印の示すように、チェック信号とクロック信号がインタフェース信号の入力端子を参照し、ルール適合条件がルール適合条件演算部55の演算結果を参照する。
ルール適合条件演算部55は、図27に示すように、変数とブール演算子からなるブール演算式と演算結果から構成される。図6では、and...の一行が、ADCH0 and PDB8のブール演算式を示し、ADCH0とPDB8が変数、andがブール演算子を示す。C_C_1が演算結果を示す。データ構造としては、図27の矢印に示すように、変数がインタフェース52の入力端子を参照し、演算結果がタイミングルールチェック部56のルール適合条件で参照される。
最後に、出力ディレイ部57は、図27に示すように、クロック信号、ディレイ付加信号、および、ディレイが主要な構成要素である。図6では、CKMがクロック信号、LFADINがディレイ付加信号、(1.302,1.590)がディレイを示す。この記述は、CKMが変化後、立ち上がりディレイ1.302ns、立ち下がりディレイ1.590nsでLFADINが出力されることを示している。ここで、ディレイの単位nsは、タイムスケール51で指定される。
中間出力であるディレイ測定パス104の構成要素を図24に示す。この例は、図13のtri1を通過するCKからFF1までのパスのデータ表現である。クロックから1stFFまでのクロックパス、入力データから1stFFまでのデータパス、またはクロックから出力までの区分を示すパス属性241,始点から終点までのゲートまたは順序回路素子の出力の信号名を列挙したパス上信号242、および終点のFFの名称を示す終端FF243の3つのデータから構成する。
中間出力である活性化条件105の構成要素を図24に示す。この例は、図13のクロックCKのFF1に対する活性化条件のデータ表現である。FF名244、ディレイ出力パスデータと同一表現のパス属性241、始終点246、および信号名を変数とするブール式表現を示す活性化条件247の4つのデータから構成する。
タイミング特性ライブラリ部54を生成する方法が本実施例の主眼であり、次の3.2にて詳細に述べる。
3.2 タイミング特性抽出方法の各処理ステップ
図1の各処理ステップを以下に述べる。
3.2.1 ステップ11:ゲート・FF復元
このステップは、トランジスタ回路群からゲート回路を復元するゲート復元と、復元されたゲート回路からFF回路を復元するFF復元からなる。タイミング特性抽出の自動化はタイミング測定個所と活性化条件を取得すれば実現できる。このいずれを取得するのにもトランジスタレベルのレイアウトデータからでは困難であり、一旦ゲート、およびフリップフロップを抽出(復元)することが必要である。この抽出(復元)処理のうち、フリップフロップ抽出(復元)はゲート抽出(復元)結果を用いて処理するため、ゲート抽出(復元)が全ての処理の前提となる。
3.2.1.1 ゲート復元
MOSトランジスタ回路からのゲート回路の抽出(復元)方法は、レイアウトデータの検証支援、トランジスタ回路の論理シミュレーションの高速化、および形式検証を目的として、従来からさまざまな公知例がある。その中で、トライステートゲート(出力にトライステート状態を持つゲートで順序回路素子の一種)も対象とする本発明者による一例として、特開平9−179885号公報に記載された処理過程を図7に簡単に述べる。まず、図7に示すトランジスタ回路群のトランジスタ一個一個を仮想トライステート素子4003に変換する。次に、トライステート素子の直列接続群41を各トライステート素子の制御論理のAND論理43を制御論理にもつ一個のトライステート401に変換し、同一入力の並列接続群42を各制御論理のOR論理44を制御論理にもつトライステートに変換するという過程を繰返していくと、402の回路となる。第3番目に、異なる入力を持つ並列のトライステートについても並列変換の一般化変換によって、403の回路を得る。この過程の詳細は、省略するが、この例では、402の入力の反転論理を入力に持ち、401と402の制御論理C1とC2のor論理を制御論理に持つトライステート一個に変換できる。最後に、制御論理C1orC2=Cが1の時のみこの入力は出力に影響を与えることを考慮して、制御論理による入力論理の除算を行い、46に示す縮約ゲート論理を得る。
以上の方法は、レイアウトデータからゲートを抽出する方法であり、1個のゲートを構成するMOS群が決まったときに、MOSの接続形態に依存せず、スイッチング特性のみからゲートを抽出する。しかし、同一出力ゲートグループをゲート構成単位へ分割する方法は提示されていない。
以下に、本発明独自の同一出力ゲートグループのゲート構成単位への分割方法を、MOSの接続形態に依存しない形で開示する。まず分割方針を述べ、次に分割方法について述べる。
(1)分割方針
分割は、「0と1共に出力しうるが,0と1を同時には出力しない」というゲートが持つ条件(以降,ゲート条件と呼ぶ)を用いて行う。
同一出力ゲートグループへの分割は、まず「0と1共に出力しうる」という第一のゲート条件を用いて、MOS群内のゲートの出力点を決定する。出力点は同時に次のゲートへの論理値の発生源、すなわち論理ソースとなる。次に、論理ソースから各ゲート出力までの領域を同一出力ゲートグループとしてMOS群を分割する。
同一出力ゲートグループの分割は、ゲート出力の論理値を決める基本単位へ同一出力ゲートグループを分離し、その後、ゲート条件を満足する基本単位群を最大限集めてゲート構成単位を作成することにより、このゲート構成単位に同一出力ゲートグループを分割する。
(2)分割方法
(a)同一出力ゲートグループへの分割
この処理では、ゲート出力点と論理ソースの集合を決定し、次にMOS群を同一出力ゲートグループに分割する。
ゲート出力点と論理ソースの集合は、以下に述べる処理により決定する。
まず、これらの集合の初期値を設定する。MOSのゲート端子(以降、G端子と略す)との接続点はゲート条件とは無関係に他のゲート抽出基本単位に論理値を伝搬する点であるため、これをゲート出力点の初期値とする。電源は論理的な1のソース源でありグラウンドは0のソース源であるため、これらを論理ソースの初期値とする。
次に、ゲート出力点と論理ソースの探索を行う。MOSの有効方向に沿った経路をMOSトレース経路と定義すると、複数の異なる論理ソースからのMOSトレース経路が交差する点は、第一のゲート条件を満たすゲートの出力となりうる。このため、探索処理では、複数の異なる論理ソースからのMOSトレース経路が初めて交差する点を新たなゲート出力点とする。この交差点は新たな論理ソースともなりうるので、ゲート出力点と論理ソースの両方の集合に加える。この探索処理を新たなゲート出力点がなくなるまで繰り返すことにより、ゲート出力点と論理ソースの集合が得られる。
同一出力ゲートグループへの分割は、上記で求めたゲート出力点の各々に対し、ゲート出力点に到達するMOSトレース経路上の直前の論理ソースとこのゲート出力点に囲まれたMOS群を同一出力ゲートグループとして、MOS群を分割する。
(b)同一出力ゲートグループの分割
この処理は、ゲート出力の論理値を決める基本単位へ同一出力ゲートグループを分離し、基本単位をゲート変換単位へ順次統合してゆくという手順で行う。
ゲート出力の論理値を決める基本単位は、同一出力ゲートグループ内の各論理ソースからゲート出力点までの一つのMOSトレース経路上のMOS群であり、これをMOSチェーンと呼ぶ。従って、最初のステップは同一出力ゲートグループのMOSチェーンへの分離である。
MOSチェーンのゲート構成単位への統合は、二つのMOSチェーンのペアチェーンへの統合とペアチェーンの統合からなる。
ペアチェーンへの統合は以下のように処理する。
異なる論理ソースを持つMOSチェーンは「0と1を共に出力する」という第一のゲート条件を満足するため、異なる論理ソースを持つ二つのMOSチェーン(以降、パートナチェーン1と2と呼ぶ)をペアチェーンとして統合する。但し、「0と1を同時には出力しない」という第二のゲート条件を満足するため、論理ソースからゲート出力点まで論理値を転送する条件が同時には成立しないという制約を、統合対象に課す。
ペアチェーンの統合は、ペアチェーンを統合してゲート条件を満足する最大のMOS群を作成する処理である。この処理は、上記で求めたペアチェーンを統合し、統合されたペアチェーン群を新たなペアチェーンとして再定義する、という統合処理を、統合されるペアチェーンがなくなるまで繰り返す。以下でこの統合処理を述べる。
統合処理では、まず、全てのペアチェーンの中で同一のパートナチェーン(以降、SamePと呼ぶ)を持つペアチェーン群を新たなペアチェーンとして統合する。次に、SamePを新たなペアチェーンのパートナチェーン1として再定義し、統合前のペアチェーン群において、SamePのパートナチェーン群を新たなペアチェーンのパートナチェーン2として再定義する。最後に、新たなペアチェーン群と統合されていないペアチェーン群を合わせてペアチェーンの新たな集合と再定義して、次の統合処理に移る。
ペアチェーンの統合結果、最終的にできたペアチェーンをゲート構成単位として、同一出力ゲートグループの分割は終了する。
以下に、ゲート復元の一実施の形態を図面により詳細に説明する。
本発明は、図2に示す処理装置上で稼働する。本発明は、ハードディスクなどの入力ファイル群22からMOSトランジスタ回路データ102を主記憶26に入力し、入力されたMOSトランジスタ回路データを元に、中間データを主記憶26上との間で入出力しながらCPU21で各処理ステップを行う。最後に、変換結果であるゲート回路データをワークファイル群23へ出力する。
本発明に基づくゲート抽出の全体処理フローを図28と図29に示す。
ゲート抽出処理は、前処理として、ゲート抽出基本単位への分割281と有効方向決定282を行ったあと、基本単位の同一出力ゲートグループへの分割283とゲート構成単位への同一出力ゲートグループの分割284を行う。その後、ゲート変換285を行う。以下では、前処理(281と282)、ゲート抽出基本単位のゲート構成単位への分割(283と284)、およびゲート変換285に分けて各処理ステップを述べる。
3.2.1.1.1 前処理
ゲート抽出基本単位への分割281は、MOSトランジスタデータ102を互いにソースまたはドレインを接続するMOS群に分割する。図28のMOSトランジスタデータ102は2802に示す2つの基本単位に分割できる。
有効方向決定282は、基本単位内のMOS群に対して、論理的なソースとなる電源、またはグラウンドからG端子との接続点2801まで、互いにソースまたはドレインを接続するMOS群をトレースし、トレース方向をMOS群の有効方向とする。複数の有効方向を持つMOSは双方向トランジスタでありゲート抽出対象外となる。図28のゲート抽出基本単位1(2821)は、2803に示す矢印の方向が有効方向となる。
3.2.1.1.2 ゲート抽出基本単位のゲート構成単位への分割
以下の処理がゲート復元のキーであり、その処理手順は、上記3.2.1.1の節で述べた通りである。ここでは、回路例を通した具体的な処理手順を述べる。この処理を構成する「同一出力ゲートグループへの分割」283と「同一出力ゲートグループの分割」284の2つのステップを、以下に述べる。
3.2.1.1.2.1 同一出力ゲートグループへの分割283
これは、ゲート抽出基本単位を同一出力ゲートグループに分割する処理であり、ゲート出力点と論理ソースの決定、およびこれらを利用した同一出力ゲートグループへの分割の2つのステップからなる。図30に従いこれらのステップを以下で述べる。
(1)ゲート出力点と論理ソースの決定
図30(a)に示す例題回路3001に対するゲート出力点と論理ソースの探索過程を図30(b)に示す。
ゲート出力点の集合の初期値はG端子との接続点{O4}、論理ソースの集合の初期値は{0,1}である。
1回目の探索で、論理ソース0と1からのMOSトレース経路が初めて交差する点OとO2が、新たなゲート出力点として見つかる。これらをゲート出力点と論理ソースの両方の集合に加える。
2回目の探索では、論理ソースOとO2からのMOSトレース経路が初めて交差する点O3が、新たなゲート出力点として見つかる。これをゲート出力点と論理ソースの両方の集合に加える。
新たなゲート出力点はこれ以上見つからないので探索は終了する。この結果、ゲート出力点の集合{O4,O,O2,O3}と論理ソースの集合{0,1,O,O2,O3}が得られる。
(2)同一出力ゲートグループへの分割
上記で求めたゲート出力点の各々に対して、ゲート出力点に到達するMOSトレース経路上の直前の論理ソースとこのゲート出力点に囲まれたMOS群を求めると、図30(c)に示すM_O,M_O2,M_O3,およびM_O4の4つの同一出力ゲートグループが得られる。例題回路をこれらに分割して同一出力ゲートグループへの分割は終了する。
図28の2803は、同様な処理により2804と2806の2つの同一出力ゲートグループに分割できる。
3.2.1.1.2.2 同一出力ゲートグループの分割284
これは、同一出力ゲートグループをゲート構成単位に分割する処理であり、図31に示すように、MOSチェーンへの分離301とMOSチェーンのゲート構成単位への統合302の2つのステップからなる。図28で得られた同一出力ゲートグループ2804を例にとり、図31に従いこれらのステップを以下の(1)(2)で述べる。
(1)MOSチェーンへの分離301
これは、同一出力ゲートグループ2804を、各論理ソースからゲート出力点までの一つのMOSトレース経路上のMOS群、すなわちMOSチェーンに分離する処理である。2804は、3102に示すように、v1,v2,g1,g2,およびg3の5つのMOSチェーンに分離できる。ここで、v1とv2は論理ソース1のMOSチェーン、g1,g2,g3は論理ソース0のMOSチェーンである。
(2)MOSチェーンのゲート構成単位への統合302
これは、MOSチェーンをゲート構成単位へ順次統合してゆく処理であり、ペアチェーンへの統合3021とペアチェーンの統合3022からなる。
(a)ペアチェーンへの統合3021
これは2つのMOSチェーンを統合する処理であり、統合条件として図32(a)に示す条件を課す。1番目の条件は3.2.1.1の節の(2)(b)で述べた通りの条件であり、2番目の条件は、論理ソースの転送が同時に起こらないための条件である。2番目の条件で、論理ソースの転送論理とは、論理ソースの転送条件を決める論理であり、スイッチング特性の違いにより、NMOS構成とPMOS構成のMOSチェーンは各々図32(b)に示すようにして求める。
図31の3102に示す5つのMOSチェーンの中で、上記の統合条件を満足するMOSチェーンの組として(v1,g1),(v2,g2),および(v2,g3)の3つの組があり、これらを3104で示す(vg1,1),(vg2,2),(vg2,3)のペアチェーンに統合する。
(b)ペアチェーンの統合3022
これは、上記(a)でできたペアチェーンを統合し、ゲート条件を満足する最大のMOS群を作成する処理である。パートナチェーンが同一のペアチェーンを全て統合し、統合したものを新たなペアチェーンとして再定義し、再び統合を繰り返す。
図31に示すペアチェーン群3104には、同一のパートナチェーンv2を持つ2つのペアチェーン、(vg2,2)と(vg2,3)があり、これらを統合して新たなペアチェーン(vg2,23)を作成する。(vg2,23)の新たなパートナチェーン1はv2であり、新たなパートナチェーン2は元のペアチェーンでのv2のパートナチェーンg2とg3を統合したg23である。この結果、新たなペアチェーン群は(vg1,1)と(vg2,23)となり、これらは同一のパートナチェーンを持たないため、統合処理は終了する。仮に同一のパートナチェーンを持つペアチェーンがまだあれば、統合処理は続行する。
上記の処理詰果できたペアチェーン(vg1,1),(vg2,23)がゲート構成単位となる。元の同一出力ゲートグループ2804に基づいてこれらをMOS回路で表現すると、図29の2806に示すように、ゲート構成単位1とゲート構成単位2(2862)に分割できる。前者が(vg1,1),後者が(vg2,23)である。
3.2.1.1.3 ゲート変換285
3.2.1.1.2の節で記載した処理の結果できたゲート構成単位の各々について、図33に記載した処理手順にて、ゲートに変換する。
まず,MOS群をトライステート素子の表現に変換する。具体的には,同一の論理ソースをもつMOS群各々に対して,論理ソースの転送論理をコントロール論理に持つトライステート素子1個に変換する。(vg2,23)は図33(a)に示す結果となる。
この結果できた複数のトライステート素子を,図33(b)に示す統合ルールによりトライステート素子1個に統合する。この統合ルールは,トライステート素子の真理値表と,2つの素子が出力を共有する時の真理値表を組み合わせたルールである。
図33(b)の統合ルールを図33(a)の結果に適用すると,図33(c)に示すように,トライステートゲートを表わす変換結果となる。
この変換結果は,トライステート素子のコントロールC2がデータ論理331に混在している。この混在は,C2が1の時のみにゲート出力に対して意味を持つデータ論理331が,C2が0の時の冗長な論理を含むために起こる。この冗長な論理を除外するため,コントロールによるデータ論理の除算を行う。コントロールによる除算とは,データ論理をコントロールが1の時の論理に変換する処理である。
除算を行った結果,データ論理331にはコントロールC2の混在がなくなり,図33(d)に示すトライステートNORゲートとなる。
3.2.1.2 FF復元
FF復元は、処理装置内に、さまざまなパターン種別毎の変換ルールを内蔵することにより処理する過程であり、FFがゲート回路のループをベースにして構成されていることを利用する。ここでは、復元パターンの例のみを図8に示す。この例はNORのたすき掛けタイプとトライステートループタイプの変換例である。
3.2.2 ステップ12:1stFF/lastFFと関連回路の切り出し
このステップは、1stFFと関連回路の探索、lastFFと関連回路の探索の2つの処理を行い、関連回路を認識するステップである。2つの探索処理の概要と探索範囲について図9、図10、図11、および図12に示し、以下に述べる。
(a) 1stFFと関連回路の探索は、図9の1stFFサーチ81、クロック関連回路の探索83、85、およびデータ関連回路の探索82からなる。
1stFFサーチ81は、入力dを始点として、ゲート回路をファンアウト方向に探索していき、FFのデータ端子Dに到達した時にこれを1stFFとするステップである。但し、サーチ過程において、ゲート回路以外の例外素子に接続する信号があった場合には、図10の1stFF探索に従って取り扱う。このうち、ゲートが他のゲート又はFFと出力を共有しているマルチドライブ信号については、2001のように駆動能力を向上するために同一ゲートを並列に接続しているケースが多いため、補助情報101内の図5の40に示すマルチドライブ指定があれば、これを同一ゲートと見なしていずれかのゲートを対象にしてサーチを続行する。
クロック関連回路の探索は、1stFF80のクロック端子を始点として、ファンイン側にクロックckに到達するまで探索していき、探索範囲の回路を関連回路とするステップである。このステップは、ゲート回路だけではなく、2ndFF84も考慮に入れることに特徴がある。より一般的には、任意の個数のFFも同様にして扱うことは可能であるが、その一例として、ここでは2ndFFまでを考慮すれば十分なケースを扱っているものとする。2ndFFの考慮は、1stFFのクロックとしては、1サイクル区間のクロックを考慮していることと同じであり、分周回路にはこのような構成がよく使われる。
クロック関連回路の探索の処理は、1stFF80のクロック端子から全体回路の端子、または、2ndFF84まで探索するステップ83と、2ndFF84のクロック端子から全体回路の端子までを探索するステップ85からなる。但し、サーチ過程において、ゲート回路以外の例外素子に接続する信号があった場合には、図10に従って取り扱う。マルチドライブ信号の扱いは1stFF探索と同様である。
データ関連回路の探索は、1stFF80のデータ端子から、端子または、FFの端点までを、ファンイン方向にゲート回路を探索していくステップである。但し、サーチ過程において、ゲート回路以外の例外素子に接続する信号があった場合には、図10に従って取り扱う。
(b)lastFFと関連回路の探索は、図11のlastFFサーチ91、1stFFのクロック関連回路の探索と同一処理83、85によるlastFFのクロック関連回路の探索、およびlastFFの出力データ関連回路の探索94からなる。
lastFFサーチ91は、出力OUTを始点として、ゲート回路をファンイン方向に探索していき、FFの出力端子に到達したときにこれをlastFFとするステップである。但し、サーチ過程において、ゲート回路以外の例外素子に接続する信号があった場合には、図12のlastFF探索にしたがって、取り扱う。マルチドライブ信号の扱いは、1stFFのクロック関連回路の探索時と同様である。
lastFFのクロック関連回路の探索は、lastFFのクロック端子を始点として、1stFFのクロック関連回路の探索と全く同一の処理83,85を行う。
lastFFの出力データ関連回路の探索94は、出力OUTを頂点とし、図9のデータ関連回路の探索時と同一の端点と、lastFF全てを端点とするゲートのコーンを関連回路とするステップである。
3.2.3 ステップ13:ディレイ測定パス探索
このステップは、ステップ12で切り出された関連回路に対して、スタティックにTr.回路のディレイ測定を行うために、測定する端子から終点までの全てのパスをディレイ測定ステップ15に与える。通常、スタティックディレイ測定では、false pathと呼ばれる機能的にありえないパスに対してもディレイ測定を行うため、復元されたゲート回路のレベルでfalse pathを除去してディレイ測定ステップにパスを与える。
ここでは、まず、簡単な回路例で、組み合わせ回路での有効パスの探索方法の概要を示し、次にFFを通過するパスの探索方法について述べる。
組み合わせ回路でのパス探索は、Karl Funchs et al., ”DYNAMITE:An Efficient Automatic Test Pattern Generation System for Path Delay Faults”, IEEE Tansaction on CAD, vol10, No.10, pp1323−1335, Oct. 1991.等、数多くの公知例がある。ここでは、FFを含むパス探索の準備として、図13(a)に示す再収れん構造をもたない簡単な回路で探索方法の概要のみを示す。図13(a)では、Cがパスの到達点であり、CKIが始点である。今、Cが立ち上がる(↑)時のパスを求めるとする。この時、パスは、CKI→P1→Cがある。このパスをファンイン側に、一段ずつゲートを調べていき、出力側の変化を起こすためのパス上の信号変化とoffパス上の信号の満たすべき条件を求めていく。この図の場合には、一段目のゲートから、パス上の信号P1は↑、offパス信号C1=0でなければならない。二段目のゲートから、CKIは↑、offpath上の信号C2=1でなければならないことがわかる。したがって、このパスを通る条件(パス活性化条件)は始点CKI↑で(C1=0かつC2=1)である。後者の条件は、C1,C2が他のゲートの出力である時には、これらの条件が0かどうかの論理演算を行い、0でなければパスは有効パスとなる。
FFを通過するパスは、上記で述べた組み合わせ回路のパス探索を連鎖的に行っていくことにより探索ができる。今、図13(b)に示すような、クロックCKIから1stFFのクロック端子まで到達するパスを求めるものとする。この回路では、1stFFがFF1で2ndFFはtri1とFF2である。2ndFFを通過するパスの探索は、ある2ndFF,例えばtri1の出力が変化する時の有効パスの判定は、tri1の出力が始点で1stFFを到達点とする有効パスの判定条件と、CKIが始点でtri1を到達点とする有効パスの判定条件のand条件が0でないか否かで判断することができる。図13(b)の例では、FF1とtri1が共に立ち上がりアクティブであるとすると、S1〜FF1ck↑のパス活性化条件とCKI〜tri1ck(信号C1)↑のand条件が0かどうかの判定となる。前者の条件は、S1↑かつ(I1 and S2 and S3=1)であり、後者の条件はCKI↑かつ(I3=1)であり、これらのandが0でない時にこのパスは有効パスとなる。
図14は、以上のパス探索の方法を、求めたい3つの全体パス、すなわち、クロック→出力(出力ディレイ用)、クロック→1stFFck(タイミングルール用),および入力→1stFFd(タイミングルール用)に適用するための、各FF間のコーン111、112、113で何を求めるかと、有効パスを見つける条件を示す。例えば、クロック→1stFFckを求めるには、1stコーン内でクロックがあれば、(a)クロック→1stFFckアクティブ条件のパスを求め、2ndFFがあれば、(b)パスFF2out→1stFFckアクティブ条件のパスを求める。2ndコーンでは、(c)クロック→パスFF1ckアクティブのパスを求める。FFを通るパスは、(a)のパス活性化条件と(b)のパス活性化条件のandが0でない時に、有効となる。
図14は、出力ディレイ用、タイミングルール用共に、タイミングを決めるFFのクロック端子(前者は、パスFFのクロック端子,後者は到達点)から2番目のFFまでを考慮したが、より一般的に2n分周クロックを作るn個のFFを扱う場合にも、同様にしてパス活性化条件を連鎖的にandしてゆけば全体のパスの有効条件は求めることができる。
以上により求めた有効パスをディレイ測定パスファイル104に出力してこのステップは終了する。
3.2.4 ステップ14:活性化条件作成
このステップは、ステップ13で有効パスの判定に用いたパス活性化条件のすべてのorをとるという方法を用いずに行う。パス活性化条件のorを取る方法では、処理時間が大であるため、一括して活性化条件を求める方法を示す。活性化条件は、タイミングルールの作成のために用いるため、クロック〜1stFFまでのクロック活性化条件と入力〜1stFFまでのデータ活性化条件の作成からなる。
クロック活性化条件の作成方法を図15に示し、以下に述べる。この方法は、有効パスの判定条件を求めるのと同様に、FF間のコーンの活性化条件を連鎖的にandしていく。これまでと同様に、2ndFFまでしかない場合を求める。nthFFへの拡張もこれまでと同様に容易である。
クロック活性化条件は、図15の式121に示すように、1stコーンの入力にクロックCKがある場合の1stコーンの活性化条件と2ndFF考慮の活性化条件からなる。
1stコーンの活性化条件は、1stFFが立ち上がりアクティブ(on)か立ち下がりonか、始点CKが立ち下がりか立ち上がりかで4通りの条件がある。式122がその条件を示す。いずれも同様であるので、一番目の式のみを説明する。これは、1stFFのクロックが立ち上がりonであるので、1stコーンの論理関数をhとすると、変化前が0すなわちh(CK=変化前の値)=0で、h(CK=変化後の値)=1の時に1stFFのクロック端子が立ち上がる。したがって、CK立ち上がり条件では、not(h(CK=0))and h(CK=1)=1の時に1stFFがアクティブになる活性化が起こる。これを示すのが、式122の第一式である。
2ndFF考慮の活性化条件は、2ndFFがonし<1>、かつ、2ndFFの出力が変化して1stFFckがonする条件<2>によって求める。これを示したのが、式123である。<1><2>は、1stコーンと2ndコーンのおのおのについて式124と125によって求めることができる。ここで注意しなければならないことは、式125では、変化前の2ndFFの出力はSとしており、端子でクロックが変化する時の内部の状態Sが活性化条件に出現することである。これが、組み合わせ回路のみで活性化条件を求める場合と異なる点である。
図16にクロック活性化条件の計算例を示す。図15に示す式によって、順に1stコーンの活性化条件と2ndFFとしてtri1を通過するパスの活性化条件を求めた。いずれもCKが立ち上がり時のみ有効で、134と135に示す式になる。
次に、データ活性化条件の作成方法を図17に示す。データ活性化条件は、クロック活性化条件とは、2ndFFを考慮しないことと、変化到達点の立ち上がり/立ち下がりを限定せず変化が起こる条件を求めることが異なる。従って、クロック活性化条件、図15の1stコーンの活性化条件122の立ち上がり時と立ち下がり時の条件のorをとることになる。結局、142に示すように、入力IN=0の場合とIN=1の排他的論理和で表わされる。
3.2.5 ステップ15:ディレイ測定
このステップは、Tr.回路102を入力して、ステップ14により作成したディレイ測定パス104の有効パスのディレイを、トランジスタレベルのスタティックディレイ測定ツールにより測定する。求めたディレイをディレイファイル106へ格納する。トランジスタレベルのスタティックディレイ測定ツールは、公知のものがあり、それを利用する。
3.2.6 ステップ16:タイミング特性生成
このステップは、図4のモデル化方法で述べた方法を、ディレイファイル106、FFタイミングルール107、および活性化条件105を元に、各端子について行い、図6に示すタイミング特性ライブラリ108を生成するステップである。
タイミングパラメタについては、各入力の各1stFFについて、delay(クロック〜1stFFck)32とdelay(入力〜1stFFd)33のスキュー(信号のタイミングのずれ)を計算し、このスキューとFFタイミングルールから、図4に示す入力のタイミングパラメタを計算する。同時に、活性化条件105を元に図4のルール適合条件を作成して、適合条件とともに図6の55と56に示す記述をタイミング特性ライブラリ108に出力する。
出力ディレイについては、ディレイファイル106を元に、図4に示すように最大パスディレイ値を計算し、図6に示す出力ディレイ記述57をタイミング特性ライブラリ108に出力する。
できあがった、タイミング特性ライブラリは、図6の51〜53を自動付加もしくは、人手付加して、機能モデルと共にタイミング検証用のモデルとして使われる。タイミング特性ライブラリの使用の形態は、4.にて述べる。
4.タイミング特性ライブラリの使用形態
本発明の方法で生成されたタイミング特性ライブラリ108の使用形態の一例を図18に示す。
図18(a)は、システムLSIシミュレーション形態のイメージ図を示す。システムLSIは、CPUコア、DMAC、タイマなどの既存設計論理をLSI内にモジュールとして組み込み、新規設計論理を付加して作成する。システムLSIをシミュレーションで検証時には、CPUコア156の例で示すように、既存のモジュールは、機能モデルの上位階層に本発明で生成したタイミング特性を付加してシミュレーションを行う。
この時、機能モデルの出力結果にディレイを付加するのが出力ディレイ部1511であり、入力された信号がタイミングルールに適合するのかをチェックするのがタイミングルールチェック部1512である。タイミングルールチェック部によりタイミング違反が検出された時には、タイミングエラーが表示され、この結果を元に設計者は、設計回路の見直しを行う。
タイミング特性ライブラリのシミュレーション処理を図25と図26に示す。シミュレーションは、一般に単位時間を設定してこの単位時間ごとに行われる。図25と図26は、この単位時間内でのシミュレーション処理である。
まず、261でモジュール全体、および機能モデルインスタンスの入出力端子の値の変化を検出し、値が変化していれば263以下の処理を行い、無変化時には図26のB以下を処理する。
263以下の処理を述べる。263では、下位階層の機能モデルを呼び出し(2631)、機能モデルのシミュレーションを行い(2632)、最後に機能モデルの出力端子へ値を登録する。264でタイミングルールチェック部を参照し、まず、ルール適合条件が満足するかをチェックする(265)。満足していれば、セットアップタイムとホールドタイムのチェック(266)を行い、タイミングルール違反であれば(267),エラーメッセージを画面に出力し、タイミングルール違反でなければ図26のB以下の処理を行う。
図26のB以下の処理を述べる。これは出力ディレイ処理である。まず、出力ディレイ部を参照し(269)、機能モデルの出力が前回変化した時刻が現在よりディレイ値時間前であれば(2621)、モジュール全体の出力端子へ値を登録し1単位時間の処理は終了する。そうでなければ1単位時間の処理は終了する。
以上により、新規設計論理回路とモジュール間、またはモジュール間のタイミングのチェックが可能となる。すなわち、各モジュールのモデルに組み込まれているタイミングルールチェック部によりタイミング違反が検出された時には、タイミングエラーが表示され、この結果を元に設計者は、設計回路の見直し、または、モジュール間へのバッファ付加などを行う。
システムLSIシミュレーション時のシステム構成を、図18(b)に示す。モジュールライブラリ152と新規設計論理回路データ153の設計データ、および入力波形データ155を、HDL(Hardware Description Languageハードウェア記述言語)シミュレータに入力することにより、シミュレーション結果とタイミングエラーが出力される。生成したタイミング特性ライブラリと機能モデルライブラリは、それぞれ個別に、または統合したモジュールライブラリとして記憶媒体に記憶される。
5.第2の実施例
図19に第2の実施例を示し、以下に述べる。
図19に示すのは、図15に示すクロック活性化条件の作成の2ndFF考慮の活性化条件123の計算において、式123に含まれる<2>の計算からある条件のパスを除外する方法である。図16の回路を例にして除外する条件を説明する。
図16のパス133が活性化される時、パス137も同時に活性化して、ゲート138の入力が2つとも↑変化するために、FF1のクロック端子が↑変化するケースがある。これは、FFを通るパスが、1stコーン131内のクロックの変化によって助けられて変化を伝えるパスである。しかしながら、通常このようなクロックとの同時変化を起こすパスは抑制されており、特に順序回路を通るパスと、タイミングを決めるクロックとのパスの同時変化があるとタイミング設計が難しくなる。これはスタティックにパスを見ているために判定できないfalse pathと考えてもよいケースが多い。
上記の理由で、ここで述べる活性化条件は、式123の中の<2>からクロックとの同時変化によって起こるパスを除外する方法である。
このような同時変化を起こすパスを除外するには、<2>の条件を、クロックが立ち上がりであろうと、立下がりであろうと、成り立つ条件にすればよい。すなわち、式125を式161に変更する。これにより、図16の回路例によるS1を通るパスの2ndFFの活性化条件は、式162に示す通りとなる。この条件は、S2=0でないと成立しない。すなわち、ゲート139において、S2=0にすることにより、パス137を抑制しているのである。
上記に示す方法か、図15で示した方法のどちらがよいかは、スタティックに回路を解析しても解は得られない。設計回路の性質による。実際の実施状況では、どちらの選択とするかを回路毎に設計者に選択の余地がある。この実施は、よく見られる方法、すなわち、制御ファイルでシステム実行制御を行うことになる。この詳細は省略する。
6.第3の実施例
図20に第3の実施例を示し、以下に述べる。
この実施例は、ディレイ測定指示情報を、第1の実施例を示す図1でディレイ測定パス104であったものを、ディレイ測定用テストパターン109に変え、同時にこれを生成する処理として、ディレイ測定用テストパターン生成17に変更し、ディレイ測定方法をTr.回路レベルのダイナミックなシミュレーション方法に変更する。
テストパターンは、パスごとに存在し、図13に示すパス活性化条件を満たすパターンである。
例えば、図13(a)の例ではC1=0かつC2=1に初期設定するパターンとCKIを初期値0からディレイ測定時に1に立ち上げるパターンである。ディレイ測定時は、内部信号も含んで、シミュレーション前にC1,C2を上記のパターンに設定し、CKIを0から1に立ち上げるパターンをシミュレーションに印加してディレイを測定する。図13(b)に示すFFを通過するパターンは、各コーンの活性化条件を同様にして変更する。さらに、中間のFF(この図では、tri1)の出力S1を変化の初期値に設定し(この回路例では、0)、FFの入力をクロック端子C1がアクティブになった時にS1に変化後の値になるように設定する。
上記の方法は、関連する回路のみに初期設定、および変化後の設定を行うので、他の回路の影響は少なく、全体回路のシミュレーションに比べて、処理時間は問題とならない。
7.第4の実施例
図21に第4の実施例を示し、以下に述べる。
この実施例も、第3の実施例と同じくダイナミックなシミュレーションによりディレイ測定を行うアプローチであるが、第3の実施例と異なり、入力波形1001を与え、活性化条件を元に、活性化条件が満足する時間を自動的に決定する(ディレイ測定時間決定18)。但し、活性化条件は、内部信号も含むため、内部信号のスムージング172,すなわち活性化条件に含まれる内部信号が0の場合と1の場合の論理和演算を全ての内部信号について行い、端子の活性化条件171を元に時間を決定する。
8.第5の実施例
図22に第5の実施例を示し、以下に述べる。
この実施例は、Tr.回路の信号名と機能モデルの信号名が異なる場合に、Tr.回路の信号名を人手で修正しなければ図18で示した、シミュレーションが実現できないという問題を解決するための実施例である。特に、活性化条件に内部信号を含む場合には、人手で修正する工数が大であり、この方法は有効となる。活性化条件は、図10に示した、反点が、FFの出力/マルチドライブ信号/VCC/GND/浮きである場合と、クロック活性化条件で2ndFFを考慮した場合に、多数起こりうる。
この実施例は、図1のステップ14に活性化条件で使用されているTr.回路の信号名を出力する処理を付け加え、1004のステップに変更する。ステップ1004は、活性化条件105と使用されているTr.回路信号1005を出力する。次に、Tr.回路信号に対応する、機能モデル内の信号名を人手で入力し、Tr.回路−機能モデル信号対応表1006を作成する。最後に、他の入力ファイル106、107と共に、1006を入力として、タイミング特性生成181を実行する。タイミング特性生成181は、タイミング特性ライブラリ182を出力時に、活性化条件に出現するTr.回路信号名を、機能モデルの信号名に変換して、182を出力する。
9.第6の実施例
図23に第6の実施例を示し、以下に述べる。
この実施例は、FFタイミングルール107を自動で計算する処理をこれまでの実施例に追加した例である。
この実施例は、ディレイ測定パス探索13でディレイ測定パスを探索すると同時に、関連する1stFFの入出力端子情報も認識し、ディレイ測定パス・1stFF1002に出力する。その後、ディレイ測定と共に1stFFの入出力端子情報を元に、FFタイミングルール107も測定する。この測定方法は、少なくともシミュレーションを使う方法は公知例があり、ここでは省略する。
10.第7の実施例
図34にモジュールを含むシステム全体シミュレーションの第7の実施例を示す。図34(a)にシミュレーションのシステム構成を示す。特性抽出装置10が作成するモジュール特性22は
(1)独立したタイミング活性化条件用論理
(2)モジュール端子に直接設定してあるタイミング情報
(3)タイミング属性を分離するノード分離回路
等を備えた構造上の特徴より、モジュール機能21とは全く独立した論理階層としてライブラリ化出来る。これは従来のライブラリデータの表現上の分離とは異なり、論理階層の一部なので、後処理等で論理シミュレータに適合する形式に変更する必要がない。又、モジュール機能の表現方法も、特性情報を考慮する必要が全くないため自由度が極めて高い。
図34(b)にシステム全体回路のシミュレーション形態の例を示す。既存のMPUやメモリ等のモジュールを搭載し、新規のランダム論理を付加した全体回路において、システムクロック110とランダム論理部からのデータ111や他のモジュールからのデータ112の時間差と、セットアップやホールドの特性情報とが比較103され、違反がある場合はシミュレーション結果40の中にエラーが表示される。このとき違反をチェックしなくてよい状態であるかタイミング活性化条件用論理が演算し、もしチェックしなくてよい状態であれば、疑似エラーを抑止する。
本発明のモジュール特性表現手法と動作記述や機能記述と組み合わせることにより、高速で高精度なシミュレーションが可能になる。
産業上の利用可能性
以上のように、本発明によれば、従来に比べ、大規模回路モジュールのタイミング検証を高速に精度よく行うことができるタイミング特性ライブラリを提供可能である。従来のタイミング検証方法で、モジュールをセルレベルのタイミング付ライブラリの集合体として扱うと、シミュレーションにてタイミング検証を行う時には、シミュレーション処理時間が大であり、また、シミュレーションの高速化のために、モジュールを機能モデル+モジュール全体のタイミングで表現する時には、モジュール全体のタイミングを自動抽出する方法はなく、人手に頼っていたため、工数が大であり、かつ精度が落ちるという問題を本発明は克服している。本発明は、この問題を解決するための方法であり、これにより、モジュール全体のタイミングをタイミング特性ライブラリとして、精度よく高速に抽出することができ、ひいては、タイミング検証時に高速に精度よい検証方法を提供することができる。さらに、生成されたタイミング特性ライブラリにはタイミングルールの適合条件を含むため、モジュールに関与しないデータ変化時には疑似エラーを抑えることができるため、検証工数の削減が可能となる。
Claims (6)
- 入力ファイル群が格納される入力ファイル群格納手段と、
各ステップの処理を実現するプログラムが格納されるプログラムファイル群格納手段と、
主記憶と、
前記プログラムファイル群格納手段からプログラムを前記主記憶に入力して各処理ステップのプログラムを実行し出力するCPUとを備える処理装置により、トランジスタ回路で構成される第1の回路モジュールデータから回路モジュールのタイミング特性を抽出する方法であって、
前記CPUが、以下の(1)〜(5)の各処理ステップを実行することを特徴とするタイミング特性抽出方法。
(1).前記第1の回路モジュールデータを、ゲート回路と双安定回路で構成される第2の回路モジュールデータに復元するステップと、
(2).前記第2の回路モジュールデータの入力端子から最初に到達する第1双安定回路と前記第2の回路モジュールデータの出力端子から最初に到達する最後の双安定回路とを探索するステップと、
(3).前記入力端子と前記第1双安定回路との間のゲート回路からなる第1パス、前記第2の回路モジュールのクロック端子と前記第1双安定回路との間のゲート回路からなる第1クロックパス、前記最後の双安定回路と出力端子との間のゲート回路からなる第2パス、および、前記クロック端子と前記最後の双安定回路との間のゲート回路からなる第2クロックパスを探索するステップ及び入力/クロックが前記第1双安定回路まで変化を伝える為の活性化条件を作成するステップと、
(4).前記第2パスのディレイおよび前記第2クロックパスのディレイに基づいて前記第2の回路モジュールの出力ディレイを計算するステップと、
(5).前記双安定回路のセットアップタイム及びホールドタイムと、前記第1パスのディレイと、前記第1クロックパスのディレイとに基づいて前記第2の回路モジュールの入力タイミングルールを計算するステップとからなることを特徴とする回路モジュールのタイミング特性抽出方法。 - 請求項1において、
前記回路モジュールのタイミング特性データとして前記回路モジュールの出力ディレイ及び入力タイミングルールを登録するステップを有することを特徴とするタイミング特性抽出方法。 - 請求項1において、
前記出力ディレイと前記入力タイミングルールは、タイミングライブラリに登録されることを特徴とするタイミング特性抽出方法。 - 請求項3において、
前記回路モジュールはクロック同期回路であり、
前記双安定回路はフリップフロップであることを特徴とするタイミング特性抽出方法。 - 請求項1において、
前記出力ディレイは、前記クロック端子に入力されるクロック信号により前記最後の双安定回路が活性化されてから、前記最後の双安定回路の出力端子に出力変化が伝播するまでに要する時間であることを特徴とするタイミング特性データ抽出方法。 - 請求項1において、
前記回路モジュールの入力タイミングルールは、入力のセットアップ時間と入力のホールド時間とを含み、
前記入力のセットアップ時間は、前記第1双安定回路のセットアップ時間+(前記第1パスのディレイ−前記第1クロックパスのディレイ)であり、
前記入力のホールド時間は、前記第1双安定回路のホールド時間+(前記第1パス−前期第1クロックパスのディレイ)であることを特徴とするタイミング特性抽出方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22334997 | 1997-08-20 | ||
JP34250497 | 1997-12-12 | ||
PCT/JP1998/003455 WO1999009497A1 (fr) | 1997-08-20 | 1998-08-04 | Procede d'extraction de caracteristiques de synchronisation de circuits a transistors, support de stockage stockant une bibliotheque de caracteristiques de synchronisation, procede de conception de lsi et procede d'extraction par grille |
Publications (1)
Publication Number | Publication Date |
---|---|
JP3851357B2 true JP3851357B2 (ja) | 2006-11-29 |
Family
ID=26525412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51299899A Expired - Fee Related JP3851357B2 (ja) | 1997-08-20 | 1998-08-04 | トランジスタ回路のタイミング特性抽出方法、タイミング特性ライブラリを記憶した記憶媒体、lsiの設計方法、及びゲート抽出方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6557150B1 (ja) |
JP (1) | JP3851357B2 (ja) |
KR (1) | KR100521289B1 (ja) |
TW (1) | TW387076B (ja) |
WO (1) | WO1999009497A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4462745B2 (ja) * | 2000-10-13 | 2010-05-12 | 株式会社ルネサステクノロジ | 遅延時間計算方法及び記録媒体 |
US6684375B2 (en) * | 2000-11-22 | 2004-01-27 | Matsushita Electric Industrial Co., Ltd. | Delay distribution calculation method, circuit evaluation method and false path extraction method |
JP4237434B2 (ja) * | 2001-11-26 | 2009-03-11 | 富士通マイクロエレクトロニクス株式会社 | 集積回路のホールドタイムエラー修正方法及びその修正プログラム |
US6684615B1 (en) * | 2002-07-19 | 2004-02-03 | Lastec, Inc. | Hinge system for articulating mower decks |
US7117465B2 (en) * | 2003-06-30 | 2006-10-03 | Intel Corporation | Application of the retimed normal form to the formal equivalence verification of abstract RTL descriptions for pipelined designs |
KR100504117B1 (ko) * | 2003-07-31 | 2005-07-27 | 삼성전자주식회사 | 네거티브 셋업/홀드 타임을 가지는 하드 매크로 코어를고려한 에이치디엘 시뮬레이션 방법 |
JP2005196265A (ja) * | 2003-12-26 | 2005-07-21 | Matsushita Electric Ind Co Ltd | 遅延ライブラリ作成方法および遅延ライブラリ作成装置 |
US7421675B1 (en) | 2006-01-17 | 2008-09-02 | Xilinx, Inc. | Annotating timing information for a circuit design for increased timing accuracy |
US7451417B1 (en) * | 2006-05-12 | 2008-11-11 | Xilinx, Inc. | Timing annotation accuracy through the use of static timing analysis tools |
JP4388965B2 (ja) | 2007-02-13 | 2009-12-24 | 富士通株式会社 | クロックゲーティング解析プログラム、該プログラムを記録した記録媒体、クロックゲーティング解析装置、およびクロックゲーティング解析方法 |
JP4985211B2 (ja) * | 2007-08-16 | 2012-07-25 | 富士通株式会社 | 論理回路のシミュレーション |
US7840925B1 (en) | 2008-03-13 | 2010-11-23 | Xilinx, Inc. | Source specific timing checks on synchronous elements using a static timing analysis engine |
JP5148434B2 (ja) * | 2008-09-22 | 2013-02-20 | ルネサスエレクトロニクス株式会社 | ホールドタイムエラーの収束方法、収束装置、及び収束プログラム |
US8362622B2 (en) * | 2009-04-24 | 2013-01-29 | Synopsys, Inc. | Method and apparatus for placing transistors in proximity to through-silicon vias |
US9507897B2 (en) * | 2014-06-14 | 2016-11-29 | Taiwan Semiconductor Manufacturing Company Limited | Circuit arrangement for modeling transistor layout characteristics |
US9405871B1 (en) * | 2014-12-05 | 2016-08-02 | Xilinx, Inc. | Determination of path delays in circuit designs |
US9984194B2 (en) * | 2015-09-15 | 2018-05-29 | Arm Limited | Integrated circuit design |
US11704461B1 (en) * | 2022-01-04 | 2023-07-18 | International Business Machines Corporation | Dynamic control of coverage by a verification testbench |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2956228B2 (ja) * | 1991-01-16 | 1999-10-04 | 富士通株式会社 | デジタル回路のタイミングチェック方式 |
JPH04316166A (ja) | 1991-04-15 | 1992-11-06 | Dainippon Printing Co Ltd | Lsiにおけるタイミング情報算出装置 |
JPH0618617A (ja) * | 1992-07-01 | 1994-01-28 | Dainippon Printing Co Ltd | 集積回路クロックド素子動作検証方法 |
JP2891004B2 (ja) * | 1992-12-07 | 1999-05-17 | 日本電気株式会社 | 論理icのタイミングチェック方式 |
JPH06348775A (ja) * | 1993-06-11 | 1994-12-22 | Hitachi Ltd | ハイレベルモデル自動生成方法 |
JPH07287051A (ja) * | 1994-04-20 | 1995-10-31 | Fujitsu Ltd | 論理シミュレータ用入力データ作成装置 |
JPH08221456A (ja) * | 1995-02-17 | 1996-08-30 | Hitachi Ltd | タイミング検証方法及びタイミング検証システム |
JP2755237B2 (ja) * | 1995-11-29 | 1998-05-20 | 日本電気株式会社 | シミュレーション装置およびその方法 |
JPH09179885A (ja) * | 1995-12-22 | 1997-07-11 | Hitachi Ltd | Mosトランジスタ回路のゲート回路変換方法 |
EP0814420B1 (en) * | 1996-01-08 | 2008-03-12 | Fujitsu Limited | Interactive cad apparatus for designing packaging of logic circuits |
JP3161314B2 (ja) * | 1996-01-19 | 2001-04-25 | ヤマハ株式会社 | 論理シミュレーション装置および論理シミュレート方法 |
JP2853649B2 (ja) * | 1996-03-22 | 1999-02-03 | 日本電気株式会社 | 論理シミュレーション用モデルの作成方法 |
JP2882359B2 (ja) * | 1996-04-27 | 1999-04-12 | 日本電気株式会社 | レイアウト設計装置 |
JPH10327047A (ja) * | 1997-05-22 | 1998-12-08 | Sony Corp | 半導体集積回路およびその設計方法 |
US6167001A (en) * | 1999-01-26 | 2000-12-26 | Xilinx, Inc. | Method and apparatus for measuring setup and hold times for element microelectronic device |
-
1998
- 1998-08-04 JP JP51299899A patent/JP3851357B2/ja not_active Expired - Fee Related
- 1998-08-04 KR KR10-2000-7001718A patent/KR100521289B1/ko not_active IP Right Cessation
- 1998-08-04 WO PCT/JP1998/003455 patent/WO1999009497A1/ja active IP Right Grant
- 1998-08-04 US US09/485,169 patent/US6557150B1/en not_active Expired - Fee Related
- 1998-08-19 TW TW087113655A patent/TW387076B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO1999009497A1 (fr) | 1999-02-25 |
KR100521289B1 (ko) | 2005-10-17 |
KR20010023096A (ko) | 2001-03-26 |
US6557150B1 (en) | 2003-04-29 |
TW387076B (en) | 2000-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3851357B2 (ja) | トランジスタ回路のタイミング特性抽出方法、タイミング特性ライブラリを記憶した記憶媒体、lsiの設計方法、及びゲート抽出方法 | |
CN108830008B (zh) | 一种标准单元库全模型的测试方法及测试系统 | |
US7117466B2 (en) | System and method for correlated process pessimism removal for static timing analysis | |
US7937256B2 (en) | Systems and methods of efficient library characterization for integrated circuit cell libraries | |
US10031986B1 (en) | System and method for creating a spice deck for path-based analysis of an electronic circuit design using a stage-based technique | |
US8196076B2 (en) | Optimal flow in designing a circuit operable in multiple timing modes | |
JPH11353357A (ja) | 再コンフュギュレ―ション可能なハ―ドウェアの評価装置及び評価方法 | |
US6922665B1 (en) | Method and system for device-level simulation of a circuit design for a programmable logic device | |
CN114742001A (zh) | 一种基于多fpga的系统静态时序分析方法 | |
US6560571B1 (en) | Method and apparatus for prioritizing the order in which checks are performed on a node in an integrated circuit | |
US6842884B2 (en) | Combinational equivalence checking methods and systems with internal don't cares | |
US7747972B2 (en) | Methods and apparatuses for timing analysis of electronic circuits | |
US11347917B2 (en) | Determining and verifying metastability in clock domain crossings | |
CN107784185B (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
CN107844678B (zh) | 包含IP/Memory时序路径的spice仿真方法 | |
US10430535B2 (en) | Verification support program medium, verification support method, and information processing device for verification of a circuit | |
US8302049B2 (en) | Method for enabling multiple incompatible or costly timing environment for efficient timing closure | |
US10460060B2 (en) | Checking equivalence between changes made in a circuit definition language and changes in post-synthesis nets | |
JP3272915B2 (ja) | スタティックタイミング解析装置 | |
US20220327269A1 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
US7031889B1 (en) | Method and apparatus for evaluating the design quality of network nodes | |
Oh et al. | Efficient logic-level timing analysis using constraint-guided critical path search | |
US6279143B1 (en) | Method and apparatus for generating a database which is used for determining the design quality of network nodes | |
US6990643B1 (en) | Method and apparatus for determining whether an element in an integrated circuit is a feedback element | |
JP2872216B1 (ja) | マクロの設計方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060425 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060616 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060616 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060808 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060901 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |