JP4268966B2 - 回路解析装置、回路解析方法、プログラム及びコンピュータ読取り可能な記録媒体 - Google Patents
回路解析装置、回路解析方法、プログラム及びコンピュータ読取り可能な記録媒体 Download PDFInfo
- Publication number
- JP4268966B2 JP4268966B2 JP2005503003A JP2005503003A JP4268966B2 JP 4268966 B2 JP4268966 B2 JP 4268966B2 JP 2005503003 A JP2005503003 A JP 2005503003A JP 2005503003 A JP2005503003 A JP 2005503003A JP 4268966 B2 JP4268966 B2 JP 4268966B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- input
- input signal
- circuit portion
- signal pattern
- 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
- 238000004458 analytical method Methods 0.000 title claims description 63
- 230000002093 peripheral effect Effects 0.000 claims description 37
- 238000012795 verification Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 5
- 238000000034 method Methods 0.000 description 37
- 238000004364 calculation method Methods 0.000 description 23
- 238000004088 simulation Methods 0.000 description 22
- 230000004913 activation Effects 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 16
- 238000013461 design Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 101100060179 Drosophila melanogaster Clk gene Proteins 0.000 description 5
- 101150038023 PEX1 gene Proteins 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 5
- 101150014555 pas-1 gene Proteins 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 238000000516 activation analysis Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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)
- Tests Of Electronic Circuits (AREA)
Description
このようなLSI等のトランジスタ回路の信号遅延時間解析においては、回路上、所定の入出力項目に直接関わる回路部分(以下「活性パス」と称する)の入力端の所定の入力値の印加から出力端に所定の出力値が現れるまでに要する時間を求めることが行なわれている。このような回路動作解析を行なうにあたって該当回路部分の所定の動作を実行することを「活性パス」の「活性化」と称する。ここで、通常大規模集積回路では一つの回路中に様々な活性パスが存在し、特定の活性パスにおける活性化による解析を行なう場合、回路解析上その周辺回路の状態をどのように設定するかが問題となる。
このような回路解析において、活性パスの活性化に論理的に影響を与えない入力の信号設定は論理回路動作解析においては不要である。従来のLSI回路ではそれ程動作の高速化に対する要求が厳しくなかったため、特に周辺回路の動作状況を考慮しなくても実回路評価に有用な信号遅延時間値、即ちディレイ値を得ることが可能であった。しかしながらクロック周波数が1GHzを超えるような超高速LSIにおいては周辺回路の信号設定の違いによって生じる実回路における実際の信号伝播動作遅延量、即ちディレイ値とシミュレーション計算で得られるディレイ値との差が大きくなり、実回路に促した信号伝播動作遅延時間解析、即ちディレイ解析を行うことが困難となる場合がある。そのため、超高速LSI回路設計において活性パスのディレイ解析を高精度に行うには周辺回路の動作状況を考慮する必要がある。
即ち、従来の回路設計解析においては、例えば信号伝播動作遅延時間、即ちディレイ計算対象の活性パスに沿って回路部分を切り出し、このように切り出された活性パスの回路部分についてのみディレイ解析を行なっていた。この手法では、当該活性パスの活性化に影響を与える可能性のある他の周辺回路部分の信号設定については特に考慮していなかった。ところが上記の如く、近年の超高速LSIの実回路では活性パスのディレイはその周辺回路の信号設定状況によって受ける影響が大きい。このため、上記の如くのディレイ計算対象のパスに沿って回路を切り出す方法では、必ずしも信号遷移に伴う負荷を正確に再現することは出来なかった。また、信号遷移や周辺回路の状態が十分考慮されておらず、パス上から見える負荷が一律であり、実回路と計算上の誤差が大きくなる傾向があった。又、これとは別に活性化パスに着目して活性化のパターン生成を行う手法が有り、この方法では上記回路を切り出す方法と比較して正確なディレイ計算を行えるものの、周辺回路の信号設定状況が考慮されていなかったため、必ずしもディレイ計算の精度が十分高いものとは言えなかった。
本発明では、所定の回路構成中、特定の回路部分の所定の動作における信号伝播動作遅延を解析する際、当該特定回路部分の所定の動作に対して論理的には影響を与えない入力項目についても着目し、その入力項目について所定の条件で信号設定を行ない、それによる影響も加味して当該特定回路部分の所定の動作における信号伝播動作遅延を解析する。
このように当該特定回路部分の所定の動作に対して論理的には影響を与えない入力項目についても考慮し且つ所定の条件でそれに対する信号設定を行なうため、特定の条件における周辺回路部分の入力信号設定状態による影響を加味した上で当該回路部分における信号伝播動作遅延を解析可能である。そのため、当該回路構成の実回路状態での実際の使用状態における信号伝播動作遅延についての高精度の解析結果を得ることが可能となる。
図1は本発明の一実施例による回路解析装置の概要を示すブロック図である。
図2は図1中、周辺回路信号設定部の動作を詳細に説明するためのフローチャートである。
図3は本発明の実施例の動作を説明するための、その解析対象としてのトランジスタ回路例を示す回路図である。
図4A,4B,4Cは、本発明の実施例による回路解析に適用可能な回路入力関連データについて説明するための図である。
図5は、本発明の実施例による回路解析に適用可能な回路異常動作防止のための信号設定ルールについて説明するための図である。
図6は、本発明の実施例による回路解析に適用可能な活性パスの分岐に対する信号設定ルールの記述例を説明するための図である。
図7は、本発明の実施例による回路解析に適用可能な活性パスの分岐に対する信号設定ルールの一例としての最大ディレイ計算用信号設定アルゴリズムについて説明するためのフローチャートである。
図8は、本発明の実施例による回路解析に適用可能な活性パスの分岐に対する信号設定ルールの一例としての最小ディレイ計算用信号設定アルゴリズムについて説明するためのフローチャートである。
図9は、本発明の実施例による回路解析に適用可能な活性パスの分岐に対する信号設定ルールの一例としての実回路動作を考慮した信号設定アルゴリズムについて説明するためのフローチャートである。
図10A,10Bは、図9に示す実回路動作を考慮した信号設定アルゴリズムを説明するための図である。
図11は本発明の実施例による回路解析動作を実行可能なコンピュータの一例の構成を示すブロック図である。
図1は、本発明の一実施例による回路設計解析システムのブロック図である。
同図に示す如く、本実施例による回路設計解析システムは、シミュレーション入力パターンデータ作成部10とアナログ回路シミュレータ20とよりなる。このシステムは例えば図11と共に後述する如く、汎用コンピュータとこれにインストールするソフトウェアプログラムによって実現可能である。
同図のシステムでは、先ず、所定の設計工程によって設計がなされたLSI回路設計データ31がシミュレーション入力パターンデータ作成部10のパス解析部11に与えられる。ここで与えられる回路データは、通常LSI回路を構成する実際の回路素子の物理特性、これらの回路素子間を接続する配線の物理特性等を除いた情報とされ、適用する回路素子種別の選定(NMOSトランジスタかPMOSトランジスタか等)、各回路素子間の接続構成等の論理的な回路構成を示すデータである。これを受けたシミュレーション入力パターンデータ作成部10のパス解析部11では当該入力回路データから所定の手法によって当該LSI回路の使用目的、基本的回路特性等に鑑み、当該回路構成における、シミュレーションにて検証すべき回路動作を起動(活性化)するための必要十分なシミュレーション入力パターンを求める。
一般に一つのLSI回路設計構成データにおいて、全ての可能なシミュレーション入力パターンの数はその回路規模に応じて指数関数的に増加する。特に近年の大規模LSI回路等においては、その可能な全ての入力パターンに対してシミュレーションによる回路動作検証を行なうと膨大な時間と工数を要する事となる。そのため、その回路の使用目的、基本的な回路特性等に鑑みて真に検証が必要な最小限の規模の入力パターンを予め決定しておくことが必要となる。この必要最小限な入力パターンを求める方法として、例えば前記の特許文献3にて本発明者等が提示した活性化パスシミュレーション方法における「活性化パターン作成方法」の適用が可能である。
次にこのようにして求められた基本的なシミュレーション入力パターンに対し、パス活性化解析部12にて、論理的見地からパス活性化解析処理を行なう。当該解析処理は回路遅延解析等、適用する各回路素子、配線等の詳細な物理的特性に基づいて行なうようなものではなく、各回路素子を純粋な論理素子と見なし、所望の論理動作が確実に実行され得るか否かのみを検証するものである。
次に周辺回路信号設定部13では、このようにして抽出、検証されたシミュレーション入力パターンデータに対し、当該入力パターンによってその動作を検証する対象の回路部分である活性パスの周辺の所定の回路部分に対する入力パターンを求める。即ち、検証すべき活性パスの基本的な論理動作を決定するノードに対する入力信号よりなるシミュレーション入力パターンに加え、当該活性パスの論理動作には影響を与えないが、活性パスの論理動作に関わる信号伝播動作遅延に対して実質的に影響を与えるノードに対する入力信号よりなるシミュレーション入力パターンを求める。
ここでは、活性パスの論理動作には影響を与えないが、その信号伝播動作遅延に対して影響を与えるノードを抽出し、更に、その信号設定値として、該当する活性パスの動作に関わる信号伝播動作遅延に影響を与える設定値又はその信号遷移を決定する。尚、この抽出設定動作は、オペレータ又は他の解析システム等によって予め設定される基本的な入力関連データ、信号設定ルール等に従ってアプリケーションプログラムが自動的に行なう。そして、このようにして設定された入力パターンデータ32(活性パスの論理動作に直接関わるノード入力信号設定、及び、直接関わらないが、その動作遅延に影響を与えるノード入力信号設定を含む)をアナログ回路シミュレータ20に入力する。
アナログ回路シミュレータ20では、当該シミュレーション入力パターンデータ32と、回路設計データ31とを基に、回路設計データ31にて示される回路構成(ここでは基本的論理構成に限らず、各適用回路素子、配線等の詳細な物理データを含む)に対して入力パターンデータに従った入力信号が与えられた際の回路動作をコンピュータの論理演算によって詳細にシミュレーションし、その結果をディレイライブラリ33として出力する。このディレイライブラリ33は活性パスの動作シミュレーション結果であり、この場合には単なる論理動作検証に止まらず、各適用素子及び配線材等の詳細な物理データ(インピーダンス値等)を加味したパス入出力間の信号伝播動作遅延状態を含めた解析結果である。
図2は、図1に示す周辺回路信号設定部13が実行する動作を示すフローチャートである。ここでは図3に示す如くの回路構成を本実施例による解析装置にて検証すべき回路構成の例として適用した場合の同設定部13の動作について説明する。図3の回路構成において、破線Pにて示す経路を、ここで検証すべき活性パスとする。この場合、ノードIN1、IN2以外のノードIN3,S1,S2,S3,IN4,S4は、全て当該活性パスPの論理動作に影響を与えないノードである。
図2中、ステップS1では回路入力関連データについて解析する。即ち、図4Aに示す如く、上記ノードIN1,IN3について考えるに、その入力にインバータINVが接続されていると仮定した場合、図4B、図4Cに示す如くこれらノードの入力信号パターンは互いに反転する信号となる。そのため、活性パスのノードIN1に“1”の信号を設定する場合、ノードIN3には、その反転値、即ち“0”を設定することとなる(ステップS2)。
即ちこれらステップS1,S2では、活性パス(P)に直接関わるノード(IN1、IN2)以外のノードに関し、図3に示す如くの解析対象回路構成に対する入力部分による条件によって必然的に決定される場合には、その条件に従って設定を行う。尚、活性パス(P1)に直接関わるノード(IN1、IN2)の入力信号設定については既に活性パスを活性化するノード又は活性パスの論理動作に直接影響を与えるノードに対する設定として図1に示すパス解析部11にて行われ、パス活性化解析部12にてその基本的論理動作が検証されている。
次にステップS3では、信号ルールの解析を行なう。即ち、例えば図6に示す如くの、活性パスに直接関わらないノードの入力信号として設定すべき値に対する条件を予め設けておき、当該条件(ルール)によって決定されるノード入力信号設定値を設定する。
次にステップS4では、活性パスからの分岐ノードを抽出する。これは、活性パスから分岐する回路部分の論理動作に対して影響を与えるノードを検出するものである。即ち、図3の例では活性パスPに対してノードIN3,S1,S2,D3,IN4,S4の各ノードがこれに該当する分岐ノードとして順次検出されることとなる。
そしてステップS5にて、このようにして順次検出されるノードに対し、これまでのステップの処理によって、その信号の設定が可能か否かを判定する。即ち、ステップS1,S2による回路入力関連データによる条件、並びにステップS3による信号設定ルールによる条件によって設定可か否かを判定する。そして、その結果判定可の場合、ステップS6にて、それらの条件に従って当該ノードの信号入力を設定する。
ステップS5の判定の結果、設定不可の場合、或いはステップS6にて設定済の場合、次にステップS7にて、回路異常動作防止の見地から、ノードの入力信号設定を検討する。即ち、図5に示す「貫流電流」の発生等、特定の入力パターンでは該当する回路が異常動作を行なう場合等、明らかにあり得ない入力設定を行なわないような条件の設定を行なう。
次にステップS8では既に全ての分岐ノードについて処理済みか否かを判定する。処理済みでない場合、ステップS4に戻って未処理のノードについて、上記ステップS4乃至S7の処理を実行する。
次に、図3の回路構成を例に採り、本発明の実施例による周辺回路信号設定部13における処理について以下に詳細に説明する。
上述の如くトランジスタ回路の活性パスの活性化に関し、該当する活性パスの論理動作に影響を与えない入力の信号設定は論理的には不要と考えられるが、超高速LSI回路等においては活性パスにおける信号伝播動作遅延(ディレイ)は、その周辺回路の動作状況によって受ける影響が大きい場合がある。従って正確なクリティカルパスのディレイを求めるためにはこの周辺回路の動作状況をも考慮する必要がある。本発明の実施例では活性パスの論理動作に影響を与えない入力ピンへの信号設定方法として以下の3種の方法を適用する。
(1)最大ディレイ計算用信号設定法(アルゴリズム)
(2)最小ディレイ計算用信号設定法(アルゴリズム)
(3)実回路動作を考慮した信号設定法(アルゴリズム)
以下にこれらの方法について具体的に説明する。図3の回路において、活性パスPはPMOSトランジスタP1とNMOSトランジスタN1とよりなる周知のCMOSインバータ回路を構成する。そのため、例えばその入力ピンであるIN1への印加値が「0」の場合、PMOSトランジスタP1はOFF状態となり、他方NMOSトランジスタN1はON状態となる。その結果、その出力ピンであるOUT1に現れる値は「1」となる。又、入力ピンIN2については当該活性化パスPの活性化に関する論理検討により、上記CMOSインバータの動作を可能にするためには、このピンIN2には常時「1」が印加されている必要があることが求められる。
この際、他のピンIN3,IN4,S1〜S4については、どのような信号設定を行っても、上記IN1→OUT1の活性化には論理的には影響を与えることはないが、正確なディレイを求めるにはこれらの入力に対する信号設定も重要となる。ここで、このディレイを求める上での上記「最大ディレイ計算用信号設定法(即ち上記活性パスの動作上の遅延量が最大となる信号設定)」では、ピンIN1の印加値が‘0’→‘1’に変化する場合、ピンIN1の電荷が‘1’(即ちプラス側のチャージ状態)に変化するのを妨げる信号設定、つまり、当該活性パス以外の分岐パスに信号が拡散伝播され、もって活性パスの充電に要する時間が余計に掛かってしまうような信号設定を行う。このような条件を満たす信号設定は、図3の場合においてはIN3=‘1’,S1=‘0’,S2=‘1’である。
即ち、IN3=‘1’とすることによってピンOUT2を出力とする2NAND(PMOSトランジスタP3,P4,NMOSトランジスタN3,N4よりなる回路)が稼動し、ピンOUT2にはIN1と逆相の信号、即ち‘0’が出力される。このためピンOUT2とピンIN1との間の見かけ上の容量が大きくなり、その結果ピンIN1から見た場合の電荷をチャージすべき負荷が大きく見える。又、S1=‘0’,S2=‘1’の信号設定によってパストランジスタPAS1が導通し、その結果ピンIN1→OUT3のパスが導通する。この状態においてはピンIN1が‘0’→‘1’に変化するときにピンIN1に電荷をチャージする必要があるが、IN1→OUT3のパスが導通しているためピンIN1へ供給する電荷の一部がOUT3側に抜けてしまい、結果的にピンIN1への充電が遅れ、その結果活性パスPの活性化が遅れてパスを構成するトランジスタの動作が遅れ、もってディレイが大きくなる。
他方、ピンIN1が‘1’→‘0’に変化する場合、ピンIN1の電荷が‘0’に変化するのを妨げる信号設定、つまり、当該活性パス以外のその分岐パスへの信号の拡散伝播が行われないような信号設定を行う。即ち、この場合ピンIN1の電荷を取り除くことによってその値を‘1’→‘0’に変化させることが実現されるが、当該ピンIN1から電荷が流出して拡散し得るパスを無くすことによってディレイが大きくなる。図3の例においてはIN3=‘1’,S1=‘1’,S2=‘0’の各設定を行なう。
ここで上記設定S1=‘1’,S2=‘0’によってパストランジスタPAS1が非導通となり、その結果ピンIN1→OUT3のパスが非導通となる。ピンIN1が‘1’→‘0’に変化する際上記の如くピンIN1からは電荷が抜けなければならないが、IN1→OUT3のパスが非導通のためこのパスを通ってピンOUT3に電荷が抜けることがなくなる。その結果、ピンIN1→OUT3へのパスが導通している場合と比較してパス活性化に対するディレイは大きくなる。
図7は、上記最大ディレイ計算用信号設定法の動作を示すフローチャートである。まずステップS31で活性パスを選択し、ステップS32にて当該パスをトレースしてpn接続(PMOSトランジスタとNMOSトランジスタとの双方との接続)ノードを得る。ステップS33では、当該ノード(着目ノード)がパス終端か否か判定する。終端で無い場合、当該着目ノードに接続されたトランジスタに着目し(ステップS35)、その際既に着目ノードに接続された全部のトランジスタについて処理済みの場合ステップS32に戻って次にノードへ移り、上記処理を繰り返す。それ以外の場合(ステップS36のNo)、ステップS37にて、当該着目トランジスタが活性パス上のトランジスタか否か判定し、活性パス上のものであればステップS35に戻って次の未処理トランジスタへ処理対象を移す。
そうでない場合、即ち分岐パス上のものである場合(ステップS37のYes)、ステップS38にて着目トランジスタが着目ノードにゲート端子接続しているか否かを判定し、Noの場合(即ち、図3の例のパストランジスタPAS1の場合等)にはステップS42にて着目ノードにソース接続しているか否かを判定し、そうでなければ(No)ステップS35に戻って次の未処理トランジスタに処理対象を移す。ソース接続の場合(図3の例におけるパストランジスタPAS1の場合等が該当)、ステップS43にてゲート端子が信号未設定端子か否か判定する。即ち、図4Aの例の如く他の条件にて既に決定されていないかどうかを確認する。Yesの場合(未設定の場合)、上記着目ノードの信号遷移が1→0か否かを判定する(ステップS44)。即ち、現在検証対象となっている活性パスの活性化動作が着目ノードから電荷を取り除く動作か否かを判定する。
その結果Yesなら着目トランジスタが導通しないような信号設定を行なう。即ち、電荷を取り除く場合着目トランジスタが導通しないようにすることによって着目ノードの電荷の逃げ場を無くし、その結果ディレイが大きくなるようにする。他方、逆の場合(ステップS44のNo)、上記と逆に着目トランジスタを導通させて着目ノードの電荷の逃げ場を作り、その結果着目ノードがチャージされにくくし、その結果ディレイが大きくなるうにする。
又、ステップS38のYesの場合、即ち着目ノードの信号によって直接その論理が決定されるトランジスタの場合(図3の例の場合、例えばIN1に対してP3が該当)、ステップS39にて着目トランジスタの端子間をソース−ドレイン方向にトレースし、電源−グランド−pn接続に至る経路上に存在するトランジスタを抽出する。そしてステップS40にて、抽出トランジスタの各々に対し、信号未決定端子に対する信号入出力のシミュレーションを実施し、その結果を格納する。ステップS41ではその結果に基づき、pn接続ノード(図3の例の場合、OUT2等)上に、着目ノード(この場合、IN1)と逆相の信号遷移を出力する信号入力を選択する。その結果、着目ノードとの間の容量値が見かけ上大きくなり、着目ノードから見た際、チャージしなくてはならない負荷容量が増加する。その結果この場合もディレイが大きくなる。他方、そのような信号入力が無い場合、所定の固定値(任意値)が出力される信号入力を選択する。
次に上記「最小ディレイ計算用信号設定法(即ち当該活性パスの動作における信号遅延量を最小とするための信号設定)では、ピンIN1の値が‘0’→‘1’に変化する場合には、ピンIN1の電荷が‘1’に変化するのを妨げない信号設定、つまり、活性パス以外の分岐パスへの信号の拡散伝播が行われないような信号設定を行う。図3の例においてはIN3=‘0’,S1=‘1’,S2=‘0’の各設定を行なう。ここで上記設定IN3=‘0’ではピンOUT2を出力とする2NAND(トランジスタP3,P4,N3,N4よりなる回路)は、常に‘1’を出力するように稼動するため、ピンOUT2には初期状態のピンIN1と同相の信号‘1’が現れる。この場合、上記の如く常に逆相の信号が現れる場合と比較するとピンIN1から見た見かけ上の要チャージ容量は小さくなり、もってチャージすべき負荷は小さく見えることとなる。その結果チャージ動作を高速化してディレイを小さくする。
又、上記設定S1=‘1’,S2=‘0’では上記パストランジスタPAS1が非導通化し、その結果ピンIN1→OUT3のパスが非導通となる。ピンIN1が‘0’→‘1’に変化するとき、ピンIN1には電荷がチャージされなければならず、このようにIN1→OUT3へのパスが非導通の場合電荷の逃げ場が無いため、導通している場合と比較してパス活性化に対するディレイは小さくなる。
他方、ピンIN1が‘1’→‘0’に変化する場合、ピンIN1の電荷が‘0’に変化するのを妨げないような信号設定、つまり、ピンIN1から活性パス以外の分岐パスに対して信号が拡散伝播され得るような信号設定を行う。図3の例においてはIN3=‘0’,S1=‘0’,S2=‘1’の各設定である。この設定S1=‘0’,S2=‘1’によって上記の如くピンIN1→OUT3のパスが導通する。IN1が‘1’→‘0’に変化するとき、ピンIN1からは電荷が抜けなければならない。ここで上記の如く、IN1→OUT3のパスが導通していれば、電荷の一部がOUT3にも抜け、ピンIN1→OUT3のパスが非導通の場合に比して結果的にディレイが小さくなる。
図8はこのような最小ディレイ用信号設定アルゴリズムを示すフローチャートである。動作の流れは基本的に上述の図7のアルゴリズムと同じである。但し、ステップS65,S66では、夫々、図7のステップS45、S46とは導通/非導通が逆であり、ステップS61では、図7のステップS41において「逆相」としているものを「同相」としている。いずれも最大ディレイ信号設定用アルゴリズムの場合とは逆に、着目ノードのチャージ時(0→1)には当該ノードからの電荷の逃げ場を作らないようにし、ディスチャージ時(1→0)には逆に積極的に逃げ場を作ることでディレイと小さくする。或いは、着目ノードから見たチャージ負荷容量を見かけ上小さくすることでチャージに要する時間を削減してディレイを小さくする。
又、図4Aに示す場合のようにピンIN1とピンIN3との可能な信号の関係が外部で決定されている場合、図3の回路での活性パスPに対する信号決定(IN1に対する信号設定)後のピンIN3に対する最大(最小)ディレイ計算用の信号設定等の検討は不要となる。
次に「実回路動作を考慮した信号設定方法(アルゴリズム)」では、実際の回路動作を考慮した信号設定を行う。即ち、図4A乃至4Cの場合、ピンIN1とIN3の反転関係を論理演算“IN1=!IN3”(図4B)、可能な信号の関係を表す表“(IN1,IN3):(1,0)、(0,1)”(図4C)等で記述されたものをアプリケーションにて解析出来るようにし、任意のノードに対する入力に関し、関連する他のノードの入力が決定された場合その信号値を一意、若しくは一定の範囲内に限定する処理を行う。
図9は上記実回路動作を考慮した信号設定アルゴリズムを示すフローチャートである。この場合、ステップS81では予め用意された、例えば図4B等に示される論理演算情報を読み込み、ステップS82では、図4C等に示される如くの入力信号として可能な組み合わせに関する情報を読み込む。そしてステップS83では、シミュレーション対象の回路に関して別途与えられた信号設定状態を基に、ステップS81,S82にて読み込んだ条件情報に鑑みて信号設定を拡張する。即ち当該動作検証対象回路構成(設計データ)について、その使用目的に合致した様々な入出力条件を設定し、それらの条件に合致する、可能な回路論理動作を演算により求め、その論理動作の結果として得られる新たな信号設定を基に更に可能な論理動作を求める工程を繰り返す(ステップS83、S84によるループ)。このような動作を行なうことで、対象回路の使用目的に応じた、使用条件に合致した信号設定を行なう。その結果、その使用目的を加味した上で実回路に即したシミュレーションを実行可能となり、より効率的に所望のディレイ情報を得ることが可能となる。
例えば図10Aの回路例において、ピンA1に“1”の信号が設定され、ピンA2,A3の信号が未決定の場合を考える。ここで、ピンA1が“1”である時、ピンA2は反転関係である“0”となることが、図10Bに示す回路入力関連データ(図9のステップS81にて読み込まれるものであり、図2中、データD1に該当する)の1行目より分かる。更に、同じく回路入力関連データの2行目より、ピンA2が“0”である時に、ピンA3がとり得る値は、“1”しかないので、A3は“1”であることが分かる。従って図10Aの回路で、ピンA1が“1”である時、ピンA2は“0”,ピンA3は“1”となる。このように、外部条件をその使用状態に基づいて指定することにより、実際の使用状態に即した信号設定が可能となる。
しかしながらこのように実回路動作を考慮した信号設定ではトランジスタ回路を論理代数に変換しなければならず。巨大なカスタムセルでは回路上の全ての構成を論理代数に変更することは困難な場合も発生し得る。そのような場合においては上記の如くの最大/最小ディレイ計算用信号設定法を適宜適用することにより、目的に応じたディレイ計算を比較的簡易な構成にて行うことが可能である。上記、最大/最小ディレイ計算用信号設定法、実回路動作を考慮した信号設定法をどのように適用するかについては、予めルールとして外部より与えられるようにしておき、個々の回路構成やその使用目的によって適用ルールを適宜変更することによって様々なケースに対応出来るようにしておくことが望ましい。
図6は“活性パスの分岐に対する信号設定ルール”(図2中、データD2)としてのアルゴリズムを示す。即ち、ここでは図中の上に位置するほどその条件を適用する際の優先順位が高い。▲1▼は固定値指定条件を示し、「ノードS1には“1”、S3には“0”が設定されるべき」との内容を示す。▲2▼は信号設定ノード指定条件を示し、「ノードINXについては上記最小ディレイ計算用信号設定アルゴリズムを適用すべき」との内容を示す。▲3▼は所定ルールの適用の要否を示す条件であり、「所定の回路入力関連データに従って信号設定を行なうべき」との内容を示す。尚、この記述(▲3▼)が無い場合、アプリケーションは「回路入力関連データ」を無視して信号設定を行なうことになる。▲4▼は一般的ノードに対する適用アルゴリズムを指定する項目であり、“MAX”の記述により、「特に指定の無かったノードについては最大ディレイ計算用信号設定アルゴリズムを適用すべき」との内容を示す。
又更に、他の条件によっては信号設定が行われなかった信号入力対象ノードについては、例えば図5に示す貫通電流対策条件による信号設定を適用する(図2のステップS7)。即ち、実際のCMOS回路では、回路が絶縁破壊を起こしてしまうような信号設定が行われることはない。具体的には異常動作の原因としては図5に示すようなパストランジスタで構成される回路について、本来想定していない電源ノード(VDD)→グランド(VSS)への電気的ショートが発生し、貫通電流が流れてしまうことが挙げられる。ここではこのような状況発生防止のため、そのような異常動作を防止するために活性パスに関係を持たないトランジスタについては可能な限り非導通とする信号設定を行うことが望ましい。又、信号設定の際に電源ノードからグランドノードへの導通パスが出来ないようにチェックを行い、そのような信号設定を禁止する。
即ち本発明による実施例は、所定の回路部分の所定の動作における信号遅延を解析するにあたり、該所定の回路部分の所定の動作に対して論理的には影響を与えない入力に対して所定の条件による信号設定を行なう周辺回路信号設定手段を含み、当該信号設定による信号入力による影響を加味して当該所定の回路部分の所定の動作における信号伝播動作遅延を解析する回路解析装置であって、前記周辺回路信号設定手段が所定の回路部分の所定の動作に対して論理的には影響を与えない入力に対して信号設定を行なう際の所定の条件は、当該回路部分に関連する条件によっては発生の可能性の無い信号設定を除いた範囲に限定するという条件、該当する所定の回路部分の所定の動作の遅延が最大となる信号設定を選択するという条件、該当する所定の回路部分の所定の動作の遅延が最小となる信号設定を選択するという条件、並びに当該回路部分の実際の使用条件に合致した信号設定を行うという条件の所定の組み合わせよりなる構成とすることが望ましい。
このように本発明では、ディレイ解析に必要なテストパターン生成についてパスの活性化という観点だけでなく、回路の負荷条件の再現という観点からも考慮を行い、より精度の高いディレイ計算を実現し得る。従って、超高速LSI回路等において回路のクロック周波数が増加しても実回路状態に近い精度でディレイ値を得ることが出来る。具体的には、ディレイ計算用のシミュレーションパターンについて、実回路では起こり得ない信号設定を行わないことにより、ディレイ計算用のパターンを正確に求めることが出来る。又、ディレイ計算用のシミュレーションパターンについて、回路の特徴によりパターン生成手法を切り替えることにより、ディレイ計算用のパターンをより実回路条件に即したものとして求めることができる。
図11は上述した本発明の実施例による回路解析動作を実行可能なコンピュータの一例の構成を示すブロック図である。同図に示す如く、当該コンピュータは上記回路解析動作を実施するCPU110と、ROM,RAM等よりなりCPU110の動作上必要となる一時的記憶手段等としての機能を有する記憶装置120と、キーボード、マウス等よりなり、操作者が所定の操作指示、データ等を当該コンピュータに入力するために入力装置130と、CRT,液晶表示装置等よりなり、CPU110による処理結果等を表示するための表示装置140と、補助記憶装置としてのハードディスク装置(以下、HDDと略称する)125と、外部からプログラム、データ等を取り込むためのCD−ROMドライブ(DVD−ROMドライブ等、同様の可搬記録媒体記録・再生装置でも良い)150と,インターネット、LAN等の通信網を介して遠方との情報のやりとりを可能とするための所定の情報処理を行なうモデム170とよりなる。尚、上記各部分はバス190によって互いに接続され、互いに必要な情報のやりとりが可能な構成とされている。
当該コンピュータによって上述の本発明の実施例による回路解析動作を実行する際には、まず、図1と共に説明したシュミレーション入力パターンデータ作成部10及びアナログ回路シュミレータ20としての機能をコンピュータに実行させるためのソフトウェアプログラムを準備する。尚、当該プログラムの具体的作成、準備方法については、上記本発明の実施例の構成に対する説明内容によって当該技術分野におけるプログラム設計者の通常の設計能力をもって十分実施可能であり、ここではその詳細に対する説明は省略する。
そして、このソフトウェアプログラムを予めCD−ROM160等の可搬式記録媒体に格納し、この場合CD−ROMドライブ150を介して読み込み、これを一旦HDD125に格納する。又同様にして図1に示す所定の回路データ31をCD−ROMドライブ150を介して読み込み、これも一旦HDD125に格納する。そして操作者の入力装置130を介した操作入力等により、CPU110が上記ソフトウェアプログラムをHDD125から読み出し、同様にHDD125から読み出した回路データ13に基づき、ソフトウェアプログラムに含まれる命令に従って上述の本発明の実施例による回路解析動作を順次実行するものである。
尚その間、図1と共に述べた如く、シミュレーション入力パターンデータ作成部10としてのプログラムによって作成された入力信号パターンデータ32が更に回路データ31と共にアナログ回路シミュレータ20としてのプログラムで処理され、その結果ディレイライブラリ33が作成される。このディレイライブラリ33はHDD125、CD−ROM160等に格納され、或いはモデム170を介してインターネット、LAN等の通信網を介して遠方の所定のクライアントに対して送信される。
尚、本発明の実施例としての回路解析動作をコンピュータに実行させるプログラム及び回路データ31等のコンピュータに対する取り込み方法としてCD−ROMドライブ150を介して行なう方法につき説明したが、この方法に限られず、このような可搬記録媒体を介さず、インターネット、LAN等の通信網200を介して遠方の所定のサーバから直接取り込むことも可能である。
尚、本発明は上記実施例に限られず、本発明の基本思想を踏襲する限りにおいて様々な他の実施例が考案可能なことは言うまでも無い。
Claims (12)
- 信号の入力線と信号の出力線とを複数有する回路部分に対する初期入力信号パターンである第1の入力信号パターンを予め作成する第1の入力信号パターン作成手段と、
前記第1の入力信号パターンを前記回路部分に入力し、前記回路部分を動作させ、前記回路部分の論理検証を行って、前記第1の入力信号パターンのうち、前記回路部分が論理的に取り得る入力信号パターンを検証するとともに、前記検証した前記回路部分が論理的に取り得る入力信号パターンのうち、前記回路部分の動作に対して論理的に影響を与えない前記回路部分の周辺回路の入力に対する周辺回路用の第2の入力信号パターンを抽出する活性パス抽出手段と、
前記活性パス抽出手段が抽出した前記第2の入力信号パターンの中から、前記回路部分の遅延時間が最大又は最小となる第3の入力信号パターンを選出して前記周辺回路の入力に対して信号設定を行う入力信号設定手段とを有することを特徴とする回路解析装置。 - 前記回路解析装置はさらに、
前記入力信号設定手段により前記周辺回路の入力に対して信号設定が行われた前記回路部分の遅延時間を解析する回路遅延解析手段を有することを特徴とする請求項1記載の回路解析装置。 - 前記回路は、パストランジスタを有する回路であり、
前記周辺回路の入力は、前記パストランジスタのゲート入力であることを特徴とする請求項1又は2記載の回路解析装置。 - 信号の入力線と信号の出力線とを複数有する回路部分の動作における信号遅延を解析する回路解析装置の回路解析方法において、
前記回路解析装置の入力信号パターン作成部が、前記回路部分に対する初期入力信号パターンである第1の入力信号パターンを予め作成するステップと、
前記回路解析装置の活性パス抽出部が、前記第1の入力信号パターンを前記回路部分に入力し、前記回路部分を動作させ、前記回路部分の論理検証を行って、前記第1の入力信号パターンのうち、前記回路部分が論理的に取り得る入力信号パターンを検証するステップと、
前記回路解析装置の活性パス抽出部が、前記回路部分が論理的に取り得る入力信号パターンのうち、前記回路部分の動作に対して論理的に影響を与えない前記回路部分の周辺回路の入力に対する周辺回路用の第2の入力信号パターンを抽出するステップと、
前記回路解析装置の入力信号設定部が、前記抽出した第2の入力信号パターンの中から、前記回路部分の遅延時間が最大又は最小となる第3の入力信号パターンを選出して前記周辺回路の入力に対して信号設定を行うステップとを有することを特徴とする回路解析方法。 - 前記回路解析方法はさらに、
前記回路解析装置の回路遅延解析部が前記周辺回路の入力に対して前記回路部分の遅延時間が最大又は最小となる第3の入力信号パターンを選出して信号設定を行なうステップにより前記周辺回路の入力に対して信号設定が行われた前記回路部分の遅延時間を解析するステップを有することを特徴とする請求項4記載の回路解析方法。 - 前記回路は、パストランジスタを有する回路であり、
前記周辺回路の入力は、前記パストランジスタのゲート入力であることを特徴とする請求項4又は5記載の回路解析方法。 - 信号の入力線と信号の出力線とを複数有する回路部分の動作における信号遅延を解析する回路解析プログラムにおいて、
前記回路部分に対する初期入力信号パターンである第1の入力信号パターンを予め作成するステップと、
前記第1の入力信号パターンを前記回路部分に入力し、前記回路部分を動作させ、前記回路部分の論理検証を行って、前記第1の入力信号パターンのうち、前記回路部分が論理的に取り得る入力信号パターンを検証するステップと、
前記回路部分が論理的に取り得る入力信号パターンのうち、前記回路部分の動作に対して論理的に影響を与えない前記回路部分の周辺回路の入力に対する周辺回路用の第2の入力信号パターンを抽出するステップと、
前記抽出した第2の入力信号パターンの中から、前記回路部分の遅延時間が最大又は最小となる第3の入力信号パターンを選出して前記周辺回路の入力に対して信号設定を行うステップとをコンピュータに実行させるための回路解析プログラム。 - 前記回路解析プログラムはさらに、
前記周辺回路の入力に対して前記回路部分の遅延時間が最大又は最小となる第3の入力信号パターンを選出して信号設定を行なうステップにより前記周辺回路の入力に対して信号設定が行われた前記回路部分の遅延時間を解析するステップを有することを特徴とする請求項7記載の回路解析プログラム。 - 前記回路は、パストランジスタを有する回路であり、
前記周辺回路の入力は、前記パストランジスタのゲート入力であることを特徴とする請求項7又は8記載の回路解析プログラム。 - 信号の入力線と信号の出力線とを複数有する回路部分の動作における信号遅延を解析する回路解析プログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記回路部分に対する初期入力信号パターンである第1の入力信号パターンを予め作成するステップと、
前記第1の入力信号パターンを前記回路部分に入力し、前記回路部分を動作させ、前記回路部分の論理検証を行って、前記第1の入力信号パターンのうち、前記回路部分が論理的に取り得る入力信号パターンを検証するステップと、
前記回路部分が論理的に取り得る入力信号パターンのうち、前記回路部分の動作に対して論理的に影響を与えない前記回路部分の周辺回路の入力に対する周辺回路用の第2の入力信号パターンを抽出するステップと、
前記抽出した第2の入力信号パターンの中から、前記回路部分の遅延時間が最大又は最小となる第3の入力信号パターンを選出して前記周辺回路の入力に対して信号設定を行うステップとをコンピュータに実行させるための回路解析プログラムを記録したコンピュータ読み取り可能な記録媒体。 - 前記回路解析プログラムはさらに、
前記周辺回路の入力に対して前記回路部分の遅延時間が最大又は最小となる第3の入力信号パターンを選出して信号設定を行なうステップにより前記周辺回路の入力に対して信号設定が行われた前記回路部分の遅延時間を解析するステップを有することを特徴とする請求項10記載の回路解析プログラムを記録したコンピュータ読み取り可能な記録媒体。 - 前記回路は、パストランジスタを有する回路であり、
前記周辺回路の入力は、前記パストランジスタのゲート入力であることを特徴とする請求項10又は11記載の回路解析プログラムを記録したコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2003/002654 WO2004079599A1 (ja) | 2003-03-06 | 2003-03-06 | 回路解析装置 |
JPPCT/JP03/02654 | 2003-03-06 | ||
PCT/JP2004/001939 WO2004079600A1 (ja) | 2003-03-06 | 2004-02-19 | 回路解析装置、回路解析方法、プログラム及びコンピュータ読取り可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2004079600A1 JPWO2004079600A1 (ja) | 2006-06-08 |
JP4268966B2 true JP4268966B2 (ja) | 2009-05-27 |
Family
ID=32948264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005503003A Expired - Fee Related JP4268966B2 (ja) | 2003-03-06 | 2004-02-19 | 回路解析装置、回路解析方法、プログラム及びコンピュータ読取り可能な記録媒体 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4268966B2 (ja) |
WO (2) | WO2004079599A1 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2792485B2 (ja) * | 1995-10-20 | 1998-09-03 | 日本電気株式会社 | 疑似エラー削減クロストーク検証方法及びシステム |
JP2000082089A (ja) * | 1998-09-07 | 2000-03-21 | Matsushita Electric Ind Co Ltd | Lsiの設計におけるタイミング検証方法 |
JP2000331044A (ja) * | 1999-05-18 | 2000-11-30 | Fujitsu Ltd | 集積回路のタイミング解析方法 |
-
2003
- 2003-03-06 WO PCT/JP2003/002654 patent/WO2004079599A1/ja not_active Application Discontinuation
-
2004
- 2004-02-19 JP JP2005503003A patent/JP4268966B2/ja not_active Expired - Fee Related
- 2004-02-19 WO PCT/JP2004/001939 patent/WO2004079600A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2004079600A1 (ja) | 2004-09-16 |
JPWO2004079600A1 (ja) | 2006-06-08 |
WO2004079599A1 (ja) | 2004-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7895551B2 (en) | Generation of standard cell library components with increased signal routing resources | |
US6427226B1 (en) | Selectively reducing transistor channel length in a semiconductor device | |
US6278964B1 (en) | Hot carrier effect simulation for integrated circuits | |
US10691855B2 (en) | Device and method for detecting points of failures | |
US7640476B2 (en) | Method and system for automated path delay test vector generation from functional tests | |
US11347917B2 (en) | Determining and verifying metastability in clock domain crossings | |
US20080104552A1 (en) | Power consumption optimizing method for semiconductor integrated circuit and semiconductor designing apparatus | |
US11907631B2 (en) | Reset domain crossing detection and simulation | |
US20170083651A1 (en) | Equivalence checking of analog models | |
JP2010170180A (ja) | 回路検証装置およびプログラム | |
US7213220B2 (en) | Method for verification of gate level netlists using colored bits | |
US20200151299A1 (en) | Testing system and testing method | |
US12073159B2 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
JP2008242903A (ja) | 回路設計検証システム、方法、及び、プログラム | |
US9417984B1 (en) | Preemptively generating statistical feedback on a design file and presenting the feedback in an input context | |
JP4268966B2 (ja) | 回路解析装置、回路解析方法、プログラム及びコンピュータ読取り可能な記録媒体 | |
US20080069277A1 (en) | Method and apparatus for modeling signal delays in a metastability protection circuit | |
US10796051B1 (en) | Adaptive model interface for a plurality of EDA programs | |
JP4899927B2 (ja) | テストパターン自動生成方法およびテストパターン自動生成プログラム | |
US9852259B2 (en) | Area and/or power optimization through post-layout modification of integrated circuit (IC) design blocks | |
US20030188276A1 (en) | Method and apparatus for identifying switching race conditions in a circuit design | |
US20080147373A1 (en) | Method for analyzing the design of an integrated circuit | |
Biswal et al. | A binary decision diagram approach to on-line testing of asynchronous circuits with dynamic and static C-elements | |
Stroud | AUSIM: Auburn University SIMulator-Version L2. 2 | |
JP2007213456A (ja) | ハイインピーダンス検出方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070425 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070619 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070816 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070827 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20071012 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090123 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090223 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120227 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130227 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140227 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |