JPH0793380A - デジタル回路の静的経路解析の方法及びそのための回路素子 - Google Patents

デジタル回路の静的経路解析の方法及びそのための回路素子

Info

Publication number
JPH0793380A
JPH0793380A JP3128302A JP12830291A JPH0793380A JP H0793380 A JPH0793380 A JP H0793380A JP 3128302 A JP3128302 A JP 3128302A JP 12830291 A JP12830291 A JP 12830291A JP H0793380 A JPH0793380 A JP H0793380A
Authority
JP
Japan
Prior art keywords
path
circuit
breaker
cycle
integrated circuit
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.)
Granted
Application number
JP3128302A
Other languages
English (en)
Other versions
JP2727034B2 (ja
Inventor
Howard Landman
ハワード・ランドマン
Tim Bucher
ティム・ブッチャー
Ser-Hou Kuang
セェーホウ・クァン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH0793380A publication Critical patent/JPH0793380A/ja
Application granted granted Critical
Publication of JP2727034B2 publication Critical patent/JP2727034B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis

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)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【目的】 デジタル回路における多重サイクル経路と関
連する問題点を回避することにより静的経路解析の性能
を向上させる方法及び装置を提供すること。 【構成】 本発明は多重サイクル経路を単一サイクル経
路に変換するために、「経路ブレーカ」と呼ばれる概念
上のデバイスをデジタル回路に挿入した。この経路ブレ
ーカは誤った時点での多重サイクル経路へのアクセスが
全て未知の結果をもたらすようなシュミレーション行動
を実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデジタル回路の静的経路
解析に関し、特に、多重サイクル経路をシミュレーショ
ン、静的タイミング解析及び論理合成において処理する
改良された装置及び方法に関する。
【0002】
【従来の技術】デジタル回路を設計する場合、回路設計
の製造に先立ってタイミング解析及び論理合成に関して
シミュレーションを実行するのが有利である。デジタル
回路の製造に先立って回路設計の性能を評価するため
に、自動化シミュレーションプログラムや自動化タイミ
ング解析プログラムは既に開発されている。たとえば、
カリフォルニア州カマリロの Quad Design Technology
は、提案されたデジタル回路のタイミング解析を実行す
るための「MOTIVE」TMと呼ばれるプログラムを開
発している。論理合成プログラムは、多くの場合、回路
設計の性能を向上させようとする。プログラムは、その
ようにする間に、ある所定の機能を実現するための1つ
の回路が別の回路より高速であるか否かを考慮しなけれ
ばならない。そのため、論理合成プログラムはタイミン
グ解析を実行するサブプログラムを含んでいなければな
らないのである。
【0003】一般的には、2種類の論理シミュレーショ
ンがある。第1の種類は真に機能的なものであり、「ゼ
ロ遅延」又は「単位遅延」と呼ばれることもある。従っ
て、シミュレーションに際してはデジタル回路中の各ゲ
ートの厳密なタイミングを考慮しない。第2の形態の論
理シミュレーションは各論理ゲートの遅延のシミュレー
ションと、信号が回路中のある場所に到達する時点の確
定とを含む。この第2の種類の論理シミュレーションは
一般に「タイミング論理シミュレーション」として知ら
れている。タイミング論理シミュレーションはデジタル
回路において最も低速の電気的経路を確定しようとす
る。回路で、現れる可能性があるデータパターンをシミ
ュレーションするという目的のために、0と1とから成
る多用なパターンを回路に提供する。タイミング論理シ
ミュレーションを使用するにはプログラム時間を著しく
長くとらなければならず、ある特定のデータパターンが
偶然にも試験されなかった場合には、遅延に関して最悪
の経路は検出されない。
【0004】静的経路解析はタイミング論理シミュレー
ションを改善するものとして開発され、提案された回路
を1回静的に通過する間にデータ経路のあらゆる可能性
を評価する。静的経路解析の利点は、多数のデータパタ
ーンを回路に入力する必要がないということである。回
路を構成する全ての回路装置は、出力が真にその瞬時に
おける入力の関数であるような組み合わせ論理(ただ
し、信号が組み合わせ論理を通って駆動されてゆくとき
の幾分かの遅延時間が加わる)と、何らかのメモリ緩衝
が起こり得る後続論理とに分割される。回路を最も効率
よく設計するためには、遅延が関連クロックサイクル時
間を越えてしまうような組み合わせ論理の一部を構成す
る多重サイクル経路(MCP)を使用しなければならな
い場合が多い。しかしながら、静的経路解析は信号が1
サイクル以内に1つの順次素子から別の順次素子へ伝搬
することを前提としている。従って、多重サイクル経路
が存在することによって静的タイミング解析はさらに複
雑になる。
【0005】多重サイクル経路及び静止タイミング解析
プログラムを処理する現在の方法は不適切である。たと
えば、「例外ノーティング(exception noting)と呼ば
れる従来の1つの方法によれば、回路の設計者は、静止
経路解析プログラムによって、デジタル回路中のある経
路(すなわち、A地点からB地点まで)がN回のサイク
ルを必要とする多重サイクル経路であることをタイミン
グ解析ソフトウェアに通告することができる。設計者は
そのような多重サイクル経路を1つずつ手動操作で識別
し、全てのMCPをリストアップしたファイルを作成し
なければならない。このプロセスは誤りを生じやすく、
ある経路が実際には多重サイクルではないのに多重サイ
クルであると思い込んでしまった場合には、静的タイミ
ング解析は不正確になるであろう。さらに、ゼロ遅延シ
ミュレーションにおける多重サイクル経路からの値を、
それが現実に有効状態になる前に読み取った場合には、
誤りは検出されない。また、例外ノーティングは、時間
に関して本当に重大であるのは設計上のどの経路である
かを確定するための論理合成ソフトウェアを補助しな
い。たとえば、クロックサイクルが25ナノ秒であると
き、30ナノ秒を要する単一サイクル経路は最適化に当
たっては40ナノ秒を要する2サイクル経路よりはるか
に重要であるが、これを考慮に入れる合成ソフトウェア
用メカニズムはない。従って、合成ソフトウェアは双方
の経路を25ナノ秒の限界に適合させようとするのであ
る。「MOTIVE」TMプログラムは、多重サイクル経
路に関して例外ノーティングを要求する種類のプログラ
ムである。
【0006】「ラッチ挿入」として知られている従来の
別の方法は、経路を単一サイクルセグメントに分解する
ためにデジタル「フリップフロップ」を物理的に追加す
ることにより、数多くの回路から多重サイクル経路を排
除する。しかしながら、経路を単一サイクルセグメント
に分解するために回路に物理的フリップフロップを追加
した場合、フリップフロップはそのためのスペースを要
すると共に電力を消費し、また、フリップフロップの遅
延はゼロではないので、コストアップになり、ハードウ
ェアのかさは大きくなり、さらに性能は劣化してしま
う。その反面、現在使用されているあらゆるプログラム
はフリップフロップを有効回路素子として認識すること
ができるので、ラッチ挿入を適用すると、設計のシミュ
レーション、タイミング解析及び論理合成に一貫性が与
えられる。
【0007】
【発明が解決しようとする課題】本発明は、デジタル回
路における多重サイクル経路と関連する問題点を回避す
ることにより静的経路解析の性能を向上させる装置及び
方法を提供する。
【0008】
【課題を解決するための手段】本発明によれば、多重サ
イクル経路を単一サイクル経路に変換するために、「経
路ブレーカ」と呼ばれる概念上のデバイスをデジタル回
路に挿入する。経路ブレーカは誤った時点での多重サイ
クル経路へのアクセスが全て未知の結果をもたらすよう
なシミュレーション行動を実行する。本発明では、経路
ブレーカを使用することにより、デジタル回路の静的経
路解析は著しく改善され、また、従来の技術において知
られていた静的経路解析システムに付随する誤りも回避
されるのである。
【0009】
【発明の概要】本発明は、デジタル回路の設計に際して
静的経路解析シミュレーション技術と関連して使用する
と最も有利である装置及び方法を提供する。本発明の方
法は、回路設計者が標準の計算機援用設計(CAD)ツ
ールを使用して、多重サイクル経路(MCP)を含んで
いて良い回路を設計するステップを含む。設計者は「経
路ブレーカ」と呼ばれる概念上の回路素子を多重サイク
ル経路に挿入し、その結果、全ての多重サイクル経路は
単一サイクル経路に変換されることになる。次に、設計
者は機能シミュレーションソフトウェアを利用して、回
路設計を検査する。シミュレータに対しては、経路ブレ
ーカはラッチであるように現れ、このラッチの出力は入
力が変化したときに未知の状態に移行し、出力がクロッ
クされて入力と等しくなるまでその状態のままである。
次に、回路について従来通りの論理合成を実行して、経
路ブレーカを含むネットリストを生成する。ネットリス
トに基づいて、後処理プロセッサは、回路中のどの箇所
に多重サイクル経路が存在するかを確定し、経路ブレー
カを含まないネットリストと、多重サイクル経路のリス
トとを生成する。多重サイクル経路のリストは静的経路
解析プログラムに提供され、そこで、多重サイクル経路
の場所は例外を指示する。次に、タイミング解析を実行
し、回路が申し分のないものであれば、概念上の経路ブ
レーカを含まないネットリストを使用して製造を完了し
て良い。
【0010】〔表記法及び用語〕以下の詳細な説明の大
半は、コンピュータメモリの内部におけるデータに対す
る動作及び/又は回路設計者の活動をアルゴリズム及び
記号によって表示している。このようなアルゴリズムに
よる説明や表示は、データ処理技術の分野に熟達した人
がその作業の内容を他の当業者に最も有効に伝達するた
めに使用する手段である。
【0011】ここでは、また、一般にもアルゴリズムは
所望の結果に至る首尾一貫したステップのシーケンスで
あると考えられている。それらのステップは、物理的な
量の物理的操作を要求するステップである。通常、それ
らの量は記憶、転送、組み合わせ、比較及びその他の方
法による操作が可能である電気的信号又は磁気信号の形
態をとるが、必ずしもそうである必要はない。時によっ
ては、主に一般に広く使用されている用語であるという
理由により、それらの信号をビット、値、要素、記号、
文字、項、メモリセル、表示素子などと呼ぶと好都合で
あることがわかる。ただし、それらの用語及びそれに類
する用語は、全て、適切な物理的な量と関連させるべき
ものであり、そのような量に単に便宜上付されたラベル
であるにすぎないということを忘れてはならない。
【0012】さらに、実行される操作を、一般にオペレ
ータが実行する知的動作と関連している検出、走査、加
算又は比較などの用語で表す場合が多いが、ここで説明
する、本発明の一部を成す動作のいずれについても、そ
のようなオペレータの能力は不要であり、多くの場合に
望ましくない。動作は機械の動作である。本発明の動作
を実行するのに有用な機械には、汎用デジタルコンピュ
ータ又は他の同様の装置がある。いずれの場合にも、コ
ンピュータを動作させる際の方法動作と、計算それ自体
の方法との明確な区別に注目すべきである。本発明は、
コンピュータを動作させ、電気的信号又はその他の物理
的(たとえば、機械的、化学的)信号を処理して、別の
所望の物理的信号を発生する方法に関する。
【0013】また、本発明は、上記のような動作を実行
する装置にも関する。この装置は要求される目的のため
に特別に構成されても良いが、汎用コンピュータをそれ
に記憶したコンピュータプログラムにより選択的に活動
させる又は再構成しても良い。ここに提示するアルゴリ
ズムは、本来、何らかの特定のコンピュータ又は他の装
置とは関連していない。詳細にいえば、ここに示す教示
と共に様々な汎用機械を使用できる。あるいは、要求さ
れる方法ステップを実行するためにはより特殊化した装
置を構成するほうが好都合であるとわかる場合もあろ
う。このような様々な機械について必要な構造は以下の
説明から明白になるであろう。
【0014】〔符号化の詳細〕ここで説明する様々な手
順を実行するための特定のプログラミング言語は指示さ
れていない。これは、1つには、挙げうる全ての言語が
汎用言語として利用可能であるとは限らないためであ
る。特定のコンピュータのユーザーは、それぞれ、自身
の即時に満たすべき目的に最も適する言語を承知してい
るであろう。実際には、機械で実行可能なオブジェクト
コードを提供するアセンブリ言語により本発明を実質的
に実現するのが有用であるとわかっている。本発明を実
施するに際して使用しても良いコンピュータやモニタシ
ステムは数多くの多様な素子から構成されているので、
詳細なプログラムを列挙しなかった。ここで説明し且つ
添付の図面に示す動作及びその他の手順は、当業者がそ
の利用できる範囲内で本発明を実施できるように十分に
開示されていると考えられる。
【0015】
【実施例】デジタル回路の設計に関わる静的経路タイミ
ング解析技術及びシミュレーション技術と関連して使用
する場合を特定の適用用途とする改良された方法及び装
置を開示する。以下の説明の中で、説明の便宜上、本発
明を完全に理解させるために、特定のタイミング解析、
プログラム、設計方法論及びシーケンスなどの数多くの
詳細な事項を記載しているが、本発明を実施する上でそ
のような特定の詳細な事項は必要であることは当業者に
は明白であろう。また、場合によっては、本発明を無用
にわかりにくくするのを避けるために、周知の回路及び
構造をブロック線図の形で示すことがある。
【0016】先に述べたように、デジタル回路の設計に
当たっては、回路の製造に先立って、タイミング解析と
論理合成に関してシミュレーションを実行すると有利で
ある。図1に示す通り、本発明の一般に好ましい実施例
においては、デジタル回路の多重サイクル経路を単一サ
イクル経路に変換するための「経路ブレーカ」を使用す
る回路を設計する。図2に示すように、経路ブレーカ1
0はラッチと同じように動作し、誤った時点での多重サ
イクル経路に対するアクセスが全て未知の結果を発生さ
せるようにシミュレーション行動を実行する。実際に
は、経路ブレーカ10のタイミング解析行動は、経路ブ
レーカを含む回路において動作するタイミング解析器が
単一サイクル経路のみを検出するように行われる。尚、
複数の経路ブレーカ10を成すデバイスが挿入されるの
は回路設計時のみであり、経路ブレーカは現実には回路
の一部として全く製造されない真に概念上のデバイスで
あることに注意すべきである。経路ブレーカは入力ポー
トDと、図2には「Q」として示した出力ポートとを含
む。概念上の経路ブレーカ10は、入力ポートDと、先
のクロックサイクルのときに入力ポートDに印加された
値を得るように先にシステムクロックによりクロックさ
れているラッチ14の出力端子とに結合する比較器12
をさらに含む。比較器12はDの現在値とDの先行値と
を比較し、それらの値が等しくない場合には、比較器1
2は信号を発生する。その信号(diff A)は信号線16
に印加されて、非同期プリセットを伴ってフリップフロ
ップ14に結合される。図示する通り、フリップフロッ
プ14はシステムクロックに結合し、フリップフロップ
14の出力端子はマルチプレクサ18に結合している。
図2に示すように、いずれかの時点で、Dの現在値が先
行クロックサイクルから得たDの値と等しくなくなった
場合、比較器12は信号(diff A)を信号線16に印加
する。その結果、フリップフロップ14は1をラッチ
し、クロックサイクルの残り時間に信号(diff B)をマ
ルチプレクサ18に供給する。信号diff B が印加され
ないときには、マルチプレクサ18はDの先行値を選択
して、この値を出力ポートQに供給する。これに対し、
このクロックサイクルの間にDの現在値がDの先行値と
違ってきた場合には、フリップフロップ14は信号diff
B をマルチプレクサ18に供給し、その結果、未知の
値(X)が出力ポートQに印加されることになる。尚、
未知の値(X)が出力ポートQに結合されるのは、Dの
現在値と先行値とが異なっていた場合のみである。規則
的なクロック信号20が与えられ、入力ポートDの信号
はローからハイに変化し、再びローに戻ると仮定したと
きの経路ブレーカ10の動作を示すタイミング図によれ
ば、Dの現在値とDの旧値とが同等でない時間の間に限
って、出力ポートQの状態は未知の状態(X)とされる
のである。
【0017】要するに、複数のクロックサイクルにわた
って入力ポートDに入力された信号が同じ(たとえば、
ロー状態)であるときは、経路ブレーカ10の出力は一
貫している。入力ポートDの入力状態が(たとえば、ハ
イに)変化すると、1クロックサイクルまでの期間に出
力は未知の値(X)に移行し、これは、信号が多重サイ
クル経路を伝搬してゆくであろう時間を表す。2つ又は
3つ以上のクロックサイクルの間に入力ポートDの入力
が同じままであった後、出力ポートQの出力は入力ポー
トDの入力レベルと整合するように変化する。経路ブレ
ーカ10は、未知の期間(X)の終了時が、1つの信号
が回路中の多重サイクル経路を移動するのにとりうる最
も遅い時点であるように設計されている。
【0018】経路ブレーカ10の構造と動作を説明した
が、設計に当たっては回路設計中の多重サイクル経路相
互間に経路ブレーカを配置するものの、経路ブレーカ自
体は実際には物理的回路の上には全く製造されないとい
う点で、経路ブレーカ10は概念上のものであることが
理解されるであろう。設計する回路の多重サイクル経路
に経路ブレーカを挿入する目的は、後に実行される静的
経路解析及び論理合成に対して単一サイクル経路のみが
存在するように保証することである。
【0019】再び図1に戻って説明する。標準の計算機
援用設計(CAD)ツールを利用して回路を設計し、設
計の中で多重サイクル経路が存在すると考えられる箇所
に経路ブレーカを挿入した(ブロック30)ならば、設
計の機能シミュレーション及び編集を実行する(ブロッ
ク32)。一般に好ましい実施例では、既知の機能ブロ
ックを使用して回路を設計するので、回路の動作が適切
と思われたならば、論理合成プログラムによって現実の
回路を周知の方法により合成する(ブロック34)。論
理合成ソフトウェアは、論理を実現するために、1つの
特定の回路素子の機能の高レベル記述をセルライブラリ
に含まれている特定のセルに翻訳するのが一般的であ
る。良く知られているように、論理合成ソフトウェアを
利用すると、設計者は機能レベルで作業することがで
き、その後、機能記述を論理合成ツールにより実際の回
路にコンパイルするので、従来の技術で利用されていた
手動操作による回路設計方法を採用しなくとも良い。
尚、図1に示すシミュレート及び編集のステップと、論
理合成を実行するステップとは、先に設計者が本来の設
計の中に挿入した経路ブレーカ素子10を含んでいる。
【0020】図1に示すように、論理合成(ブロック3
4)から得られた出力(すなわち、経路ブレーカを含む
セルレベルの回路設計)を、回路設計のネットリストを
生成するための周知の標準的方法を使用してネットリス
トとして具現化する(ブロック36)。経路ブレーカは
標準のタイミング解析ソフトウェアに対してはフリップ
フロップとして現れるので、提案された回路のタイミン
グ解析を実行する目的で、ネットリスト36(経路ブレ
ーカを含む)をタイミング解析システムに直接結合でき
ることは明白であろう。しかしながら、図1に示す通
り、一般に好ましい実施例では、経路ブレーカを含むネ
ットリスト36をタイミング解析ソフトウェアに結合し
ない。周知のタイミング解析ソフトウェアはフリップフ
ロップにおいてデバイス間の経路を分解し、また、経路
ブレーカ10の入力ローディング及び出力駆動は先行す
る回路セル又は後続する回路セルと同じではないと思わ
れるので、入力ロードは経路ブレーカを含まない回路の
入力ロード及び出力と同等ではないであろう。タイミン
グ解析の精度を向上させるために、後処理プロセッサ
(ブロック40)はネットリスト36から経路ブレーカ
10を除去し、多重サイクル経路のリスト(ブロック4
2)と、経路ブレーカを含まない別個のネットリスト
(ブロック44)とを生成する(図1を参照)。
【0021】後処理プロセッサ40は、経路ブレーカを
求めてネットリスト36を走査し、単にリストから経路
ブレーカを削除するという方法により、経路ブレーカを
除去する。これに対し、多重サイクル経路のリスト42
を生成するには、後処理プロセッサ40は、まず、各経
路ブレーカ10から順方向と逆方向に追跡を実行して、
その経路ブレーカにより分解された多重サイクル経路の
始まりと終わりを見つけ出さなければならない。たとえ
ば、図3を参照すると、後処理プロセッサ40は経路ブ
レーカ10から探索を開始し、AからC,AからD,B
からC及びBからDの各経路を2サイクル経路として識
別する。しかしながら、図4に示すように、この単純な
方法を適用すると、回路素子Aから回路素子Cまでの直
接経路が存在する場合に誤りを生じるであろう。従っ
て、後処理プロセッサ40は、経路ブレーカから順方向
と逆方向にたどってゆくことにより、当初識別された回
路素子の間の分解のない経路をさらに検査しなければな
らない。図4に示す場合についていえば、AからC,B
からC及びBからDの各経路だけが2サイクル経路であ
る。AからCの経路は1サイクルであるので、後処理プ
ロセッサ40が生成する多重サイクル経路のリスト42
には含まれないと考えられる。
【0022】一般に、経路は2サイクルより長いと思わ
れる。多重サイクルの可能性がある経路ごとに、ソフト
ウェアは同じ終端点の間の「より短い」経路、すなわ
ち、より少ない回路ブレーカを通過する経路の有無を検
査しなければならない。
【0023】再び図1に戻って説明する。多重サイクル
経路42のリストは市販の静的経路タイミング解析ソフ
トウェア(MOTIVETMなど)に関する例示を指示
し、それらの例外はタイミング解析ソフトウェアに供給
される。次に、提案されたデジタル回路についてタイミ
ング解析を実行するのであるが、その中で例外(多重サ
イクル)に正しく注目し、それらを相応して処理する。
多重サイクル例外は機能シミュレーションを経て検査さ
れたときに始めて生成されるので、経路が多重サイクル
ではないにもかかわらず多重サイクル経路である(従っ
て、タイミング制約を軽減されている)と思い込むこと
により誤りをおかす恐れはない。従って、本発明に従っ
て多重サイクル経路のシミュレーション及びタイミング
解析を実行する方法は設計プロセス,シミュレーション
プロセス及び合成プロセスを通して完全に一貫してい
る。
【0024】図示するように、経路ブレーカを含まない
ネットリスト44を多重サイクル経路のリスト42(例
外を示す)と共にタイミング解析ソフトウェアに供給す
る。タイミング解析により申し分ない結果が得られたな
らば、現実の回路の製造を完了すれば良い。
【0025】図1のフローチャートに示すこの実施例は
多重サイクル経路の例外リストと、経路ブレーカを含ま
ないネットリストとを生成するために後処理プロセッサ
40を利用するが、経路ブレーカを含むネットリストを
利用して静的経路タイミング解析を実行しても良い。そ
のような場合、タイミング解析ソフトウェアは、固有遅
延がなく、セットアップ時間及びホールド時間が論理合
成ライブラリの中のいずれかの現実のフリップフロップ
の最大時間と等しいDフリップフロップとして経路ブレ
ーカを考えることになるであろう。さらに、タイミング
解析ソフトウェアは、さらに、出力駆動(Q)が論理合
成ライブラリの中のいずれかのラッチ又はバッファの最
も弱い出力駆動と等しいものと仮定するであろう。この
ような控え目の仮定をした上で、静止経路タイミング解
析を完了し、その後、経路ブレーカを回路から除去すれ
ば良い。経路ブレーカを除去しても、回路のタイミング
を改善できるだけであろう。従って静止タイミング解析
中に経路ブレーカがあり、その後、製造に先立って経路
ブレーカを除去した場合、製造後のデバイスにタイミン
グの問題が発生することはないであろう。
【0026】以上、デジタル回路の改良された静止経路
タイミング解析のための装置及び方法を開示した。図1
から図4を参照して本発明を説明したが、図は単に解説
を目的としているだけであり、本発明を限定するものと
して解釈されてはならないことを理解すべきである。上
述の本発明の趣旨から逸脱することなく、当業者により
数多くの変更や変形を実施しうると考えられる。
【図面の簡単な説明】
【図1】本発明の一実施例で採用されるステップのシー
ケンスを示すフローチャート。
【図2】経路ブレーカの概念上の構造と動作のブロック
線図及びタイミング図。
【図3】多重サイクル経路を2つの単一サイクル経路に
変換するための経路ブレーカの多重サイクル経路内での
配置を示す図。
【図4】多重サイクル経路に経路ブレーカが挿入されて
おり、回路素子間に単一サイクル経路も存在している場
合を示す図。
【符号の説明】
10 経路ブレーカ 12 比較器 14 ラッチ,フリップフロップ 18 マルチプレクサ D 入力ポート Q 出力ポート
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成6年1月27日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ティム・ブッチャー アメリカ合衆国 94560 カリフォルニア 州・ニュウアーク・バックアイ ストリー ト・36447 (72)発明者 セェーホウ・クァン アメリカ合衆国 95131 カリフォルニア 州・サン ホゼ・ファイネス コート・ 1189

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数の回路素子を含む集積回路について
    静的経路解析を実行する改良された方法において、 前記回路素子の相互間に成立している前記回路素子の組
    み合わせであり、前記組み合わせを信号が通過する時間
    は所定の時間周期を越えるような多重サイクル経路を検
    出する過程と;前記多重サイクル経路を単一サイクルセ
    グメントに分解するために経路ブレーカ回路手段を前記
    多重サイクル経路に挿入する過程と;前記経路ブレーカ
    がラッチとして働くような静的経路解析手段を使用して
    前記集積回路について静的経路解析を実行する過程と;
    前記経路ブレーカ回路手段を前記集積回路から除去する
    過程とから成る方法。
  2. 【請求項2】 複数の回路素子を含む集積回路を設計し
    且つ試験する改良された方法において、 前記集積回路を設計し、前記回路素子の組み合わせであ
    って、前記組み合わせを電気信号が通過する時間が所定
    の時間(T)周期を越えるようなものとして定義される
    多重サイクル経路を構成する前記集積回路の回路素子の
    間に経路ブレーカ回路手段を挿入する過程と;前記経路
    ブレーカ回路手段を含む前記集積回路のネットリストを
    生成する過程と;静的経路解析手段を使用して前記集積
    回路の静的経路解析を実行する過程と;前記経路ブレー
    カ回路手段を前記集積回路から除去し、前記集積回路を
    製造する過程とから成る方法。
  3. 【請求項3】 デジタル回路の設計に使用するための経
    路ブレーカと呼ばれる改良された回路素子において、 入力端子Dに結合し、第1のクロック信号を受信したと
    き、前記入力端子Dに印加された第1のデジタル信号を
    ラッチするラッチ手段と;前記入力端子Dと、前記ラッ
    チ手段の出力端子とに結合し、前記入力端子Dに印加さ
    れた前記第1のデジタル信号の現在状態を、前記ラッチ
    手段に記憶されている前記第1のデジタル信号の状態と
    比較し、前記入力端子Dに印加された前記第1のデジタ
    ル信号が前記ラッチ手段に記憶されている前記第1のデ
    ジタル信号の状態と同じ状態である場合に第1のセレク
    タ信号を供給する比較器手段と;前記比較器手段と、マ
    ルチプレクサ手段との間に結合し、前記第1のセレクタ
    信号を受信し、第2のクロック信号を受信したときに第
    2のセレクタ信号をマルチプレクサに供給するフリップ
    フロップ手段とを具備し、 前記マルチプレクサは、前記第2のセレクタ信号を受信
    すると、前記ラッチ手段の出力端子を前記経路ブレーカ
    回路手段の出力端子Qに結合し、前記マルチプレクサ
    は、前記セレクタ信号の受信に先立って、未知のデジタ
    ル値(X)を前記出力端子Qに結合する、改良された回
    路素子。
JP3128302A 1990-05-14 1991-05-02 デジタル回路の静的経路解析の方法及びそのための回路素子 Expired - Fee Related JP2727034B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/523,015 US5191541A (en) 1990-05-14 1990-05-14 Method and apparatus to improve static path analysis of digital circuits
US523015 1990-05-14

Publications (2)

Publication Number Publication Date
JPH0793380A true JPH0793380A (ja) 1995-04-07
JP2727034B2 JP2727034B2 (ja) 1998-03-11

Family

ID=24083328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3128302A Expired - Fee Related JP2727034B2 (ja) 1990-05-14 1991-05-02 デジタル回路の静的経路解析の方法及びそのための回路素子

Country Status (4)

Country Link
US (1) US5191541A (ja)
JP (1) JP2727034B2 (ja)
GB (1) GB2244156B (ja)
HK (1) HK76194A (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367469A (en) * 1990-12-13 1994-11-22 Vlsi Technology, Inc. Predictive capacitance layout method for integrated circuits
JPH05181930A (ja) * 1991-04-26 1993-07-23 Motorola Inc 順次回路の特性決定
US6090150A (en) * 1991-12-28 2000-07-18 Nec Corporation Method of designing clock wiring and apparatus for implementing the same
US5561790A (en) * 1992-03-24 1996-10-01 International Business Machines Corporation Shortest path determination processes for use in modeling systems and communications networks
US5379231A (en) * 1992-05-29 1995-01-03 University Of Texas System Method and apparatus for simulating a microelectric interconnect circuit
US5355321A (en) * 1992-06-12 1994-10-11 Digital Equipment Corporation Static timing verification
US5448497A (en) * 1992-09-08 1995-09-05 Nec Research Institute, Inc. Exploiting multi-cycle false paths in the performance optimization of sequential circuits
US5629859A (en) * 1992-10-21 1997-05-13 Texas Instruments Incorporated Method for timing-directed circuit optimizations
US5657239A (en) * 1992-10-30 1997-08-12 Digital Equipment Corporation Timing verification using synchronizers and timing constraints
US5761079A (en) * 1993-02-09 1998-06-02 International Business Machines Corporation Engineering change management system employing a smart editor
US5396435A (en) * 1993-02-10 1995-03-07 Vlsi Technology, Inc. Automated circuit design system and method for reducing critical path delay times
US5457638A (en) * 1993-02-23 1995-10-10 Nec Research Institue, Inc. Timing analysis of VLSI circuits
JP3172617B2 (ja) * 1993-03-10 2001-06-04 三菱電機株式会社 論理記述変換装置及び方法並びに論理合成方法
US5579510A (en) * 1993-07-21 1996-11-26 Synopsys, Inc. Method and structure for use in static timing verification of synchronous circuits
JPH07114580A (ja) * 1993-10-18 1995-05-02 Fujitsu Ltd 論理装置の遅延時間解析システム
US5764525A (en) * 1994-01-28 1998-06-09 Vlsi Technology, Inc. Method for improving the operation of a circuit through iterative substitutions and performance analyses of datapath cells
US6132109A (en) * 1994-04-12 2000-10-17 Synopsys, Inc. Architecture and methods for a hardware description language source level debugging system
US5937190A (en) * 1994-04-12 1999-08-10 Synopsys, Inc. Architecture and methods for a hardware description language source level analysis and debugging system
JP3210172B2 (ja) * 1994-05-13 2001-09-17 富士通株式会社 ディレイ・レーシング・エラーリスト出力装置
AU2767295A (en) * 1994-06-03 1996-01-04 Synopsys, Inc. Method and apparatus for context sensitive text displays
DE69533567T2 (de) * 1994-08-09 2005-11-24 Sun Microsystems, Inc., Mountain View Vorrichtung und Verfahren zum Auffinden von False-Timing-Paths in digitalen Schaltkreisen
US6058252A (en) * 1995-01-19 2000-05-02 Synopsys, Inc. System and method for generating effective layout constraints for a circuit design or the like
US5644498A (en) * 1995-01-25 1997-07-01 Lsi Logic Corporation Timing shell generation through netlist reduction
US5898595A (en) * 1995-05-26 1999-04-27 Lsi Logic Corporation Automated generation of megacells in an integrated circuit design system
US5706476A (en) * 1995-06-05 1998-01-06 Synopsys, Inc. Method and apparatus for use of the undefined logic state and mixed multiple-state abstractions in digital logic simulation
US5805859A (en) * 1995-06-07 1998-09-08 Synopsys, Inc. Digital simulator circuit modifier, network, and method
US5825658A (en) * 1995-09-14 1998-10-20 Vlsi Technology, Inc. Method and a system for specifying and automatically analyzing multiple clock timing constraints in a VLSI circuit
US5650938A (en) * 1995-12-13 1997-07-22 Synopsys, Inc. Method and apparatus for verifying asynchronous circuits using static timing analysis and dynamic functional simulation
US5799170A (en) * 1996-06-18 1998-08-25 International Business Machines Corporation Simplified buffer manipulation using standard repowering function
US5819072A (en) * 1996-06-27 1998-10-06 Unisys Corporation Method of using a four-state simulator for testing integrated circuit designs having variable timing constraints
US5956256A (en) * 1996-11-19 1999-09-21 Unisys Corporation Method and apparatus for optimizing a circuit design having multi-paths therein
US6185723B1 (en) 1996-11-27 2001-02-06 International Business Machines Corporation Method for performing timing analysis of a clock-shaping circuit
US6014510A (en) * 1996-11-27 2000-01-11 International Business Machines Corporation Method for performing timing analysis of a clock circuit
US5946475A (en) * 1997-01-21 1999-08-31 International Business Machines Corporation Method for performing transistor-level static timing analysis of a logic circuit
US5903577A (en) * 1997-09-30 1999-05-11 Lsi Logic Corporation Method and apparatus for analyzing digital circuits
US6714902B1 (en) 2000-03-02 2004-03-30 Cadence Design Systems, Inc. Method and apparatus for critical and false path verification
US7328415B2 (en) * 2001-02-20 2008-02-05 Intel Corporation Modeling blocks of an integrated circuit for timing verification
US6832361B2 (en) 2001-05-21 2004-12-14 International Business Machines Corporation System and method for analyzing power distribution using static timing analysis
JP4083544B2 (ja) * 2002-11-18 2008-04-30 富士通株式会社 マルチサイクルパス解析方法
US6865725B2 (en) * 2003-04-28 2005-03-08 International Business Machines Corporation Method and system for integrated circuit design
US7155691B2 (en) * 2003-06-06 2006-12-26 Nascentric, Inc. Apparatus and methods for compiled static timing analysis
US7325207B1 (en) 2004-12-09 2008-01-29 Sun Microsystems, Inc. Automatic device strength based sensitization generation for sequential elements
US20080005709A1 (en) * 2006-06-30 2008-01-03 International Business Machines Corporation Verification of logic circuits using cycle based delay models
US7573294B2 (en) * 2007-12-26 2009-08-11 Tier Logic, Inc. Programmable logic based latches and shift registers
US9710579B1 (en) * 2013-12-02 2017-07-18 Cadence Design Systems, Inc. Using smart timing models for gate level timing simulation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61240337A (ja) * 1985-04-17 1986-10-25 Hitachi Ltd 論理回路シミユレ−シヨン方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4703435A (en) * 1984-07-16 1987-10-27 International Business Machines Corporation Logic Synthesizer
US4698760A (en) * 1985-06-06 1987-10-06 International Business Machines Method of optimizing signal timing delays and power consumption in LSI circuits
US4961156A (en) * 1987-10-27 1990-10-02 Nec Corporation Simulation capable of simultaneously simulating a logic circuit model in response to a plurality of input logic signals
US4924430A (en) * 1988-01-28 1990-05-08 Teradyne, Inc. Static timing analysis of semiconductor digital circuits
US4970664A (en) * 1988-06-10 1990-11-13 Kaiser Richard R Critical path analyzer with path context window

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61240337A (ja) * 1985-04-17 1986-10-25 Hitachi Ltd 論理回路シミユレ−シヨン方法

Also Published As

Publication number Publication date
GB9103950D0 (en) 1991-04-10
JP2727034B2 (ja) 1998-03-11
GB2244156A (en) 1991-11-20
HK76194A (en) 1994-08-12
GB2244156B (en) 1994-01-26
US5191541A (en) 1993-03-02

Similar Documents

Publication Publication Date Title
JPH0793380A (ja) デジタル回路の静的経路解析の方法及びそのための回路素子
Corno et al. RT-level ITC'99 benchmarks and first ATPG results
US5831869A (en) Method of compacting data representations of hierarchical logic designs used for static timing analysis
US5809283A (en) Simulator for simulating systems including mixed triggers
Tseng et al. Bridge: A versatile behavioral synthesis system
Ghosh et al. Automatic test pattern generation for functional register-transfer level circuits using assignment decision diagrams
US5784593A (en) Simulator including process levelization
Chappell et al. LAMP: Logic‐Circuit Simulators
US6964027B2 (en) System and method for optimizing exceptions
Jiang et al. PyH2: Using PyMTL3 to create productive and open-source hardware testing methodologies
Liu et al. On multiplexed signal tracing for post-silicon validation
He et al. Protocol-inspired hardware testing
US7257786B1 (en) Method and apparatus for solving constraints
Kishinevsky et al. Partial-scan delay fault testing of asynchronous circuits
US6546514B1 (en) Integrated circuit analysis and design involving defective circuit element replacement on a netlist
Klenke et al. An integrated design environment for performance and dependability analysis
Dobai et al. Deductive fault simulation for asynchronous sequential circuits
Oh et al. Efficient logic-level timing analysis using constraint-guided critical path search
Glaser et al. Mixed level test generation for synchronous sequential circuits using the FOGBUSTER algorithm
Harris Hardware-software covalidation: Fault models and test generation
Singh et al. SIS: A system for sequential circuit synthesis
Hung et al. Transparent in-circuit assertions for FPGAs
Aziz et al. Efficient control state-space search
Min Register-transfer-level design verification: Coverage and acceleration
Corno et al. SymFony: A hybrid topological-symbolic ATPG exploiting RT-level information

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees