JP3964483B2 - 集積回路の論理シミュレーション方法 - Google Patents

集積回路の論理シミュレーション方法 Download PDF

Info

Publication number
JP3964483B2
JP3964483B2 JP27719896A JP27719896A JP3964483B2 JP 3964483 B2 JP3964483 B2 JP 3964483B2 JP 27719896 A JP27719896 A JP 27719896A JP 27719896 A JP27719896 A JP 27719896A JP 3964483 B2 JP3964483 B2 JP 3964483B2
Authority
JP
Japan
Prior art keywords
cell
value
delay
delay value
parameter
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
Application number
JP27719896A
Other languages
English (en)
Other versions
JPH10105581A (ja
Inventor
直樹 下袴田
安男 神保
秀樹 酒井
登山  伸人
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP27719896A priority Critical patent/JP3964483B2/ja
Publication of JPH10105581A publication Critical patent/JPH10105581A/ja
Application granted granted Critical
Publication of JP3964483B2 publication Critical patent/JP3964483B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は集積回路の論理シミュレーション方法に関し、特に、複数のセルを相互に接続してなる半導体集積回路について、個々のセルごとに、そのセル自身によって生じる固有遅延値と、所定の遅延因子に基づいて発生する状態依存遅延値とを考慮して論理シミュレーションを行う方法に関する。
【0002】
【従来の技術】
半導体集積回路を設計する場合、設計段階の集積回路に対して論理シミュレーションを実行し、その結果に基づいて必要な設計変更を施し、変更後の集積回路について再び論理シミュレーションを実行する、という過程を繰り返すことにより、回路の最適化が図られる。こうして最適化された回路図が得られたら、この回路図に基づいて、集積回路マスクパターンが設計される。そして、このマスクパターンに含まれる個々の図形から、配線に付随する抵抗値Rや容量値Cなどを求め、これらの値に基づいて実遅延時間を演算により求め、再び論理シミュレーションを行って動作検証を行うことになる。
【0003】
通常、半導体集積回路は、複数のセルによって構成されており、論理シミュレーションにおける遅延時間の算出は、個々のセルごとに行われる。各セルについての種々の情報は、セルライブラリとして用意されており、遅延時間に関する情報もこのセルライブラリに収容されている。シミュレータ装置は、セルライブラリ内に用意された遅延時間に関する情報を参照して、個々のセルについての遅延時間を決定し、論理シミュレーションを実行することになる。
【0004】
ところで、個々のセルについて実際に生じる遅延時間Tは、そのセル自身によって生じる遅延値(以下、固有遅延値t0と呼ぶ)と、所定の遅延因子によって生じる遅延値(以下、状態依存遅延値teと呼ぶ)との和として取り扱われている。ここで、セルの固有遅延値t0は、そのセルの出力負荷容量(そのセルの後段に接続される配線の容量)や、そのセルに与えられる入力信号波形の歪み(いわゆる波形なまり)といった要素を一切考慮しないセル自身の固有の遅延値である。したがって、1つのセルを単独で取り出した場合には、この固有遅延値t0は、適切な遅延時間を示すことになる。ところが、複数のセルを相互に接続してなる集積回路では、固有遅延値t0の他に状態依存遅延値teを考慮しなければ、適切な遅延時間を求めることができず、個々のセルについての遅延時間Tは、固有遅延値t0と状態依存遅延値teとの和として求められることになる。ここで、固有遅延値t0は、個々のセルに固有の一定値になるが、状態依存遅延値teは、遅延因子を示すパラメータ値Pの関数となる。通常、所定の依存係数kを用いたte=k・Pなる線形関数が定義される。したがって、個々のセルについての遅延時間Tは、T=t0+k・Pなる式で表わされることになる。たとえば、遅延因子を示すパラメータ値Pとして、出力負荷容量Cを用いた場合、個々のセルについての遅延時間Tは、T=t0+k・Cなる式で表わされる。
【0005】
このように、実際の集積回路内の個々のセルについての遅延時間Tを求めるためには、そのセルについての固有遅延値t0と状態依存遅延値teとが必要になる。ここで、固有遅延値t0は、セルライブラリ内の遅延情報として予め用意しておくことができるが、状態依存遅延値teは、出力負荷容量や入力波形の歪みといった遅延因子によって変動するために、セルライブラリ内に予め用意しておくことはできない。このため、実際の集積回路の回路図が確定した段階で、その集積回路を構成する個々のセルごとに遅延因子を示すパラメータ値Pを定め、状態依存遅延値teを演算によって求める作業が必要になる。通常、この演算はディレイカリキュレータ装置を用いて行われる。たとえば、遅延因子を示すパラメータとして、出力負荷容量を用いた場合は、セル後段の配線についての寄生容量Cに基づいて、状態依存遅延値teが演算されることになる。なお、この寄生容量Cの値は、マスクパターンが既に設計されている段階では、そのマスクパターンを構成する配線図形から求めることができるが、マスクパターンの設計前の段階では、標準的な容量値が用いられる。
【0006】
結局、シミュレータ装置は、セルライブラリから得られる固有遅延値t0と、ディレイカリキュレータ装置から与えられる状態依存遅延値teとに基づいて、個々のセルごとの遅延時間Tを求めることができるので、個々のセル内部の動作をシミュレートする必要がなくなり、演算負担が軽減されることになる。
【0007】
【発明が解決しようとする課題】
集積回路の微細化、大規模化の需要は益々高まってきており、より高精度な論理シミュレーションが要求されるようになってきている。特に、個々のセルの出力負荷容量や入力波形歪みといった遅延因子に基づく状態依存遅延値teを正確に考慮した論理シミュレーションが望まれるようになってきている。ところが、従来の論理シミュレーションでは、上述したように、各セルの状態依存遅延値teは、遅延因子を示すパラメータ値Pのとるべき全範囲について、所定の依存係数kを用いたte=k・Pなる単一の線形関数で定義されているため、精度の高い遅延時間を求めることができないという問題がある。すなわち、実際には、状態依存遅延値teを求めるための依存係数kは、パラメータ値Pのとるべき全範囲について一定ではなく、個々の領域ごとに異なるのにもかかわらず、従来は、全範囲についてほぼ平均的な依存係数kを適用する近似的な手法を採っていたため、高精度な論理シミュレーションを行うことができなかったのである。
【0008】
そこで本発明は、個々のセルについての遅延時間をより高精度に求めることができる集積回路の論理シミュレーション方法を提供することを目的とする。
【0009】
【課題を解決するための手段】
(1) 本発明の第1の態様は、複数のセルを相互に接続してなる半導体集積回路について、個々のセルごとに、そのセル自身によって生じる固有遅延値t0と、所定の遅延因子を示すパラメータPを引数とする関数f(P)とを定義し、個々のセルごとの遅延時間Tを、固有遅延値t0と関数f(P)との和として求め、この遅延時間Tを用いて論理シミュレーションを行う方法において、
個々のセルについて、パラメータPのとるべき全範囲にわたって共通の固有遅延値t0を定義し、この固有遅延値t0を収容した第1のセルライブラリを作成する第1の段階と、
パラメータPのとるべき範囲を複数n個の領域に分割し、i番目(1≦i≦n)の領域についてのセルの遅延時間Tiが、Ti=t0i+fi(P)なる演算に基づいて定まるように、個々のセルごとに、それぞれn組の固有遅延値t0iおよび関数fi(P)を定義し、これらn組の固有遅延値t0iおよび関数fi(P)を収容した第2のセルライブラリを作成する第2の段階と、
半導体集積回路を構成する個々のセルについて、それぞれ適用すべきパラメータPを決定し、決定したパラメータPに基づいて、第2のセルライブラリから特定の固有遅延値t0iおよび関数fi(P)を選択し、第1のセルライブラリ内の固有遅延値t0を用いて、te=fi(P)+(t0i−t0)なる演算によって状態依存遅延値teを求める第3の段階と、
各セルごとに一義的に定義されている固有遅延値を用いて演算を行うように設計されているシミュレータ装置に対して、前段階で求めた状態依存遅延値teと第1のセルライブラリ内の固有遅延値t0との和をセルの遅延時間Tとして与え、論理シミュレーションを実行する第4の段階と、
を行うようにしたものである。
【0010】
(2) 本発明の第2の態様は、上述の第1の態様に係る論理シミュレーション方法において、
パラメータPを、複数m個の遅延因子に関するm組の値p1,p2,…,pmによって構成し、このm組の各値をそれぞれ座標軸にとったm次元空間を定義し、このm次元空間を複数n個の領域に分割し、i番目(1≦i≦n)の領域についての関数として、m組の値p1,p2,…,pmを引数とした関数fi(p1,p2,…,pm)を定義するようにしたものである。
【0011】
(3) 本発明の第3の態様は、複数のセルを相互に接続してなる半導体集積回路について、個々のセルごとに、そのセル自身によって生じる固有遅延値t0と、所定の遅延因子を示すパラメータ値Pおよびこのパラメータ値Pに対する依存係数kとを定義し、個々のセルごとの遅延時間Tを、固有遅延値t0と、パラメータ値Pおよび依存係数kとの積k・Pからなる状態依存遅延値teと、の和として求め、この遅延時間Tを用いて論理シミュレーションを行う集積回路の論理シミュレーション方法において、
個々のセルについて、パラメータPのとるべき全範囲にわたって共通の固有遅延値t0を定義し、この固有遅延値t0を収容した第1のセルライブラリを作成する第1の段階と、
パラメータ値Pのとるべき範囲を複数n個の領域に分割し、パラメータ値Pがi番目(1≦i≦n)の領域に属する場合の遅延時間Tiが、Ti=t0i+ki・Pなる演算に基づいて定まるように、個々のセルごとに、それぞれn組の固有遅延値t0iおよび依存係数kiを定義し、これらn組の固有遅延値t0iおよび依存係数kiを収容した第2のセルライブラリを作成する第2の段階と、
半導体集積回路を構成する個々のセルについて、それぞれ適用すべきパラメータ値Pを決定し、決定したパラメータ値Pに基づいて、第2のセルライブラリから特定の固有遅延値t0iおよび依存係数kiを選択し、第1のセルライブラリ内の固有遅延値t0を用いて、te=ki・P+(t0i−t0)なる演算によって状態依存遅延値teを求める第3の段階と、
各セルごとに一義的に定義されている固有遅延値を用いて演算を行うように設計されているシミュレータ装置に対して、前段階で求めた状態依存遅延値teと第1のセルライブラリ内の固有遅延値t0との和をそのセルについての遅延時間Tとして与え、論理シミュレーションを実行する第4の段階と、
を行うようにしたものである。
【0012】
(4) 本発明の第4の態様は、上述の第1〜第3の態様に係る集積回路の論理シミュレーション方法において、
第1のセルライブラリ内の固有遅延値t0を、第2のセルライブラリ内にも収容するようにし、第3の段階における状態依存遅延値teの演算を、第2のセルライブラリのみを用いて行うようにしたものである。
【0013】
(5) 本発明の第5の態様は、上述の第1〜第4の態様に係る集積回路の論理シミュレーション方法において、
所定の遅延因子を示すパラメータ値Pとして、個々のセルの出力負荷容量Cを用いるようにし、セル間の配線に基づく遅延値を状態依存遅延値teとして定義するようにしたものである。
【0014】
(6) 本発明の第6の態様は、上述の第1〜第4の態様に係る集積回路の論理シミュレーション方法において、
所定の遅延因子を示すパラメータ値Pとして、個々のセルへの入力波形の歪みを示す値を用いるようにし、この入力波形の歪みに基づく遅延値を状態依存遅延値teとして定義するようにしたものである。
【0015】
【発明の実施の形態】
以下、本発明を図示する実施形態に基づいて説明する。
【0016】
§1. 従来の回路設計および論理シミュレーション方法
はじめに、説明の便宜上、従来の一般的な集積回路の設計および論理シミュレーションの基本手順を図1の流れ図に基づいて述べる。まず、ステップS1において、半導体集積回路の構成部品となる個々のセルについてのセルマスクパターンaが準備される。続くステップS2では、このセルマスクパターンaに基づいて、このセルの動作特性を示す情報をもったセルライブラリbが作成される。具体的には、セルライブラリbを作成するために、次のような処理が行われる。まず、セルマスクパターンaに基づいて、そのセル内の回路素子を認識し、それらの図形寸法から素子サイズ、抵抗値あるいは容量値などの素子パラメータを算出する。更に、これら各回路素子の相互接続関係を記述したネットリストを抽出し、このネットリストを用いて回路シミュレーションを実行してセル内の動作特性を求める。
【0017】
ここでは、図2に示すような単純なセルを例にとって、より具体的な説明を行うことにする。このセルは、「INV」なる名称をもったセルであり、単一のインバータ素子のみから構成され、1つの入力端子Iおよび1つの出力端子Oを有するセルである(図では、各端子をX印で示してある)。もちろん、通常の一般的なセルは、より多数の回路素子から構成されているが、ここでは説明の便宜上、このような単純なセル「INV」について以下の説明を行うことにする。ステップS1で準備されるセルマスクパターンaは、たとえば、このセル「INV」の場合、インバータを構成するトランジスタなどの回路素子の図形パターンになる。ステップS2では、この図形パターンに基づいて、個々のトランジスタ素子のサイズ、抵抗値あるいは容量値などが算出され、個々のトランジスタ素子の相互接続関係を示すネットリストが抽出される。そして、このネットリストを利用して回路シミュレーションが実行され、このセルの動作特性、すなわち遅延時間Tが求められる。
【0018】
既に述べたように、あるセルについての遅延時間Tは、そのセル自身によって生じる遅延値(固有遅延値t0)と、所定の遅延因子によって生じる遅延値(状態依存遅延値te)との和として取り扱われる。遅延因子として機能する要素としては、そのセルの出力負荷容量(そのセルの後段に接続される配線の容量)や、そのセルに与えられる入力信号波形の歪み(いわゆる波形なまり)などがあげられる。なお、以下の説明では、便宜上、出力負荷容量を代表的な遅延因子として取り上げ、遅延因子を示すパラメータ値Pとして出力負荷容量の容量値Cを例にとることにするが、本発明における遅延因子は、出力負荷容量に限定されるものではない。
【0019】
図3は、図2に示すセル「INV」の後段に、出力負荷容量Cを接続した状態を示す回路図である。この出力負荷容量Cは、セル「INV」と次段のセルとを相互接続する配線に付随する寄生容量に相当するものであり、この出力負荷容量Cの容量値C(ここでは、容量素子自身も、その容量値も、同じ記号Cで表わすことにする)の大きさによって、セル「INV」についての遅延時間Tは変化することになる。図4は、出力負荷容量Cとセル「INV」についての遅延時間Tとの関係を示すグラフである。このグラフに示されているように、セル「INV」についての遅延時間Tは、T=t0+k・Cなる線形関数で近似できる。ここでは、右辺第1項を、固有遅延値t0と呼び、右辺第2項を、状態依存遅延値teと呼ぶことにする。固有遅延値t0は、セル「INV」自身によって生じる遅延値であり、図4のグラフにおけるT軸(縦軸)についての切片値を示すものである。一方、状態依存遅延値teは、所定の依存係数kと出力負荷容量Cとの積k・Cで定義され、依存係数kは図4のグラフの傾きを示すものである。
【0020】
ステップS2で実施される回路シミュレーションでは、図4に示すようなグラフが求められ、その結果、図5に示すような遅延情報がセル「INV」のセルライブラリb内に用意される。図5に示す例では、セル名「INV」に続いて、このセルの固有遅延値t0=1.0(ns)と、出力負荷容量依存係数k=1.0(ns/pF)という具体的な数値が示されている。実際には、多数のセルのそれぞれについて、この図5に示すような遅延情報が求められ、セルライブラリbが作成されることになる。
【0021】
続いて、ステップS3において、集積回路の回路図を作成する作業が行われる。すなわち、回路の設計者は、セルライブラリb内に用意された多数のセルを組み合わせることにより所望の集積回路を構築する。別言すれば、この回路図を作成する作業は、多数のセル間の相互接続関係を規定する作業ということになる。通常、このセル間の相互接続関係は、階層構造をもったネットリストという形式で表現される。そこで、続くステップS4では、この回路図についての階層展開処理が行われ、階層構造をもたない回路図(個々のセルを相互接続してなる回路図)が得られることになる。ここでは、図2に示すセル「INV」を2組直列接続することによって、図6に示すようなTOPなる最上位階層で示される集積回路が構成されたものとして、以下の説明を続けることにする。この図6に示すTOPなる階層で示される集積回路は、インスタンス名「X1」および「X2」が付与された2組のセル「INV」のみから構成された単純な回路であるが、実際の集積回路は、多重階層で表現された多数のセルの相互接続によって構成されることになる。
【0022】
こうして個々のセルレベルにまで展開された回路図が得られると、ステップS5において、セル間配線についての配線遅延時間が算出される。この配線遅延時間は、前述した状態依存遅延値teに相当するものであり、ディレイカリキュレータ装置によって求められる。図7は、図6に示す回路図において、各セルの後段の配線部分の寄生容量(出力負荷容量)を示す容量素子を付記したものである。この例では、インスタンス名「X1」なるセルの後段には、出力負荷容量CL1が接続されており、インスタンス名「X2」なるセルの後段には、出力負荷容量CL2が接続されている。これらの各出力負荷容量の値は、セル間配線のマスクパターンが作成されている段階であれば、そのマスクパターンの図形寸法に基づいて演算することができるが、セル間配線のマスクパターンがまだ作成されていない段階であれば、各セルの後段に接続する標準的なセル間配線の容量値として設定することができる。ここでは、図7に示す出力負荷容量CL1については、標準的なセル間配線層の容量値として0.5pFなる容量値が設定され、出力負荷容量CL2については、集積回路の出力端子OUTへの標準的な配線層の容量値として2pFなる容量値が設定されたものとする。
【0023】
ディレイカリキュレータ装置は、このように、個々の配線層についての具体的な容量値を設定した上で、図5に示すようなセルライブラリ内の遅延情報に基づいて、各経路ごとの配線遅延値(状態依存遅延値te)を求める演算を行う。すなわち、セルX1の出力端子OからセルX2の入力端子Iに至るまでの経路(出力負荷容量CL1に対応する経路)については、配線遅延値te=k・CL1=1.0*0.5=0.5(ns)が求まり、セルX2の出力端子Oから集積回路の出力端子OUTに至るまでの経路(出力負荷容量CL2に対応する経路)については、配線遅延値te=k・CL2=1.0*2.0=2.0(ns)が求まる。図8は、このようにして求められた各経路ごとの配線遅延値を示す図表である。こうしてディレイカリキュレータ装置によって求まった配線遅延値は、図1に示すように、配線遅延情報cとして出力される。
【0024】
最後に、ステップS6において、論理シミュレーションが行われる。すなわち、シミュレータ装置に対して、ステップS2で作成されたセルライブラリbと、ステップS5で作成した配線遅延情報cとを与えると、集積回路全体についてのトータルの遅延時間を求めるシミュレーションが実行される。もっとも、この論理シミュレーションでは、個々のセルを構成する各回路素子内の電気信号の流れが実際にシミュレートされるわけではなく、個々のセルの固有の遅延時間については、セルライブラリbによって与えられる固有遅延値t0を用い、セル間配線層に起因した遅延時間については、配線遅延情報cによって与えられる配線遅延値(状態依存遅延値te)を用い、模擬的なシミュレートが行われるだけである。図7に示す集積回路の場合、セルX1およびセルX2についての固有遅延値t0は、セルライブラリb内に定義されているとおり、いずれも1.0(ns)であり(図5参照)、セルX1の出力端子OからセルX2の入力端子Iに至るまでの経路についての配線遅延値teは0.5(ns)であり、セルX2の出力端子Oから集積回路の出力端子OUTに至るまでの経路についての配線遅延値teは2.0(ns)であるから(図8参照)、結局、集積回路全体の遅延時間は、1.0+0.5+1.0+2.0=4.5(ns)となる。
【0025】
§2. 従来方法の問題点とその改善方法
上述の例では、図4のグラフに示すように、各セルについての遅延時間Tを、T=t0(固有遅延値)+k・C(状態依存遅延値)なる線形関数に近似させて取り扱っているが、より精度の高い結果を得るためには、このような単一の線形関数による近似では不十分である。本願発明者は、出力負荷容量や入力波形の歪みといった一般的な遅延因子に関しては、この遅延因子を示すパラメータ値Pのとるべき範囲を複数n個の領域に分割し、各領域ごとに異なる依存係数kを設定すると、より精度の高い結果を得ることができることを見出だした。実用上は、n=2に設定し、パラメータ値Pについての座標軸を、所定の閾値を境にして、閾値未満の領域と閾値以上の領域とに分割し、各領域ごとにそれぞれ異なる依存係数kを設定するようにすれば十分である。
【0026】
図9は、出力負荷容量Cをパラメータ値Pとして用いたときの、出力負荷容量Cと遅延時間Tとの関係を示すグラフである。図に一点鎖線で示すグラフは、図4に示した従来のグラフであり、横軸の全領域にわたって共通の依存係数kを用い、
T=t0+k・C (1)
なる線形関数で遅延時間Tを一義的に定義したものである。これに対して、図に実線で示すグラフは、出力負荷容量値CLXを閾値として、横軸を2つの領域に分割し、各領域ごとに異なる依存係数を用いて遅延時間Tを定義したものであり、遅延時間Tは、
T=t01+k1・C (C<CLX) (2)
T=t02+k2・C (C≧CLX) (3)
なる関数で定義されることになる。出力負荷容量や入力波形の歪みといった一般的な遅延因子に関しては、図9に実線で示す関数を用いた方がより正確な遅延時間Tを表現することが可能になる。従来は、出力負荷容量Cの全領域にわたって共通の依存係数k(全領域にわたる平均的な係数値)を用いていたため、図9に一点鎖線で示すように、本来の遅延時間Tに対してかなりの誤差が生じていたことになる。
【0027】
このように、本発明の基本的な手法は、パラメータ値Pの領域ごとにそれぞれ異なる依存係数kを設定するという点にある。しかしながら、この手法を従来の論理シミュレーションプロセスにそのまま取り入れることはできない。たとえば、図1の流れ図に示す従来の手順において、ステップS5における配線遅延時間の算出処理では、上述した式(1) の右辺第2項「k・C」によって配線遅延値(状態依存遅延値te)を算出していた。この算出処理に、本発明の基本的な手法をそのまま取り入れるのであれば、式(1) の代わりに、式(2) もしくは式(3) を用いて「k1・C」もしくは「k2・C」によって配線遅延値(状態依存遅延値te)を算出することになる。ところが、配線遅延値の算出に式(2) もしくは式(3) を用いてしまうと、ステップS6の論理シミュレーションにおいても、式(2) 内の固有遅延値t01もしくは式(3) 内の固有遅延値t02を用いる必要がある。たとえば、ある特定のセルについて、ステップS5における配線遅延時間を、式(2) を用いた「k1・C」なる演算で求めた場合、ステップS6の論理シミュレーションでは、この特定のセルについての固有遅延値として式(2) 内の固有遅延値t02を用いる必要がある。
【0028】
図9に示されているように、各式における固有遅延値t0,t01,t02は、各グラフの遅延時間軸Tの切片値に相当するものであり、いずれの式を適用するかによって用いるべき固有遅延値の値はそれぞれ異なることになる。このため、ステップS5において、出力負荷容量Cの値に応じて異なる式を適用して配線遅延値を算出した場合には、ステップS6においても、それぞれ異なる固有遅延値を用いた演算を行う必要がある。ところが、ステップS6の論理シミュレーションを実行するシミュレータ装置は、セルライブラリb内の固有遅延値(各セルごとに一義的に定義されている)を用いて演算を行うように設計されているため、複数とおりの固有遅延値を用いた演算を行うことはできない。このような問題を解決するために、シミュレータ装置のプログラムを書き替えて、複数とおりの固有遅延値を用いた演算を実行する機能を付加することも可能である。しかしながら、本発明では、より単純な方法でこのような問題を解決し、従来のシミュレータ装置に何ら改変を施すことなく、上述した本発明の基本的な手法を取り込むことができるようにしている。以下、この方法を具体例に即して説明する。
【0029】
§3. 本発明に係る論理シミュレーション方法
図10は、本発明に係る集積回路の設計および論理シミュレーションの基本手順を示す流れ図である。まず、ステップS11において、半導体集積回路の構成部品となる個々のセルについてのセルマスクパターンaが準備される(このステップS11は、図1の流れ図のステップS1と同様である)。続くステップS12では、このセルマスクパターンaに基づいて、このセルの動作特性を示す情報をもったセルライブラリが作成される。ただし、図1のステップS2とは異なり、このステップS12では、第1のセルライブラリb1と第2のセルライブラリb2との2つのライブラリが作成される。
【0030】
第1のセルライブラリb1は、図1の流れ図のステップS2で作成されるセルライブラリbと同一のものであり、たとえば、図2に示すセル「INV」については、図5に示すような遅延情報をもった第1のセルライブラリb1が作成されることになる(もっとも、本発明では、第1のセルライブラリb1内の出力負荷容量依存係数kの値は不要である)。ここで、この第1のセルライブラリb1内の固有遅延値t0は、出力負荷容量Cのとるべき全範囲にわたって共通の値となり、この値は、最終的にシミュレータ装置においてそのまま利用されることになる。
【0031】
一方、第2のセルライブラリb2は、出力負荷容量Cのとるべき範囲を複数n個の領域に分割し、Cがi番目(1≦i≦n)の領域に属する場合の遅延時間Tiが、Ti=t0i+ki・Cなる演算に基づいて定まるように、個々のセルごとに、それぞれn組の固有遅延値t0iおよび依存係数kiを定義し、これらn組の固有遅延値t0iおよび依存係数kiを収容したものである。ここに示す例では、前述したように、出力負荷容量Cのとるべき範囲を2個の領域に分割し(n=2)、
T=t01+k1・C (C<CLX) (2)
T=t02+k2・C (C≧CLX) (3)
なる演算式によって遅延時間Tを求めるようにしている。したがって、第2のセルライブラリb2内には、上記式(2) および式(3) に基づいて、固有遅延値t01,t02と、依存係数k1,k2とが収容されることになる。
【0032】
これを、より具体的な数値を用いた例で示そう。たとえば、出力負荷容量Cと遅延時間Tとの関係が図11の実線で表わされるようなセルを考える。この例では、C=1.0(pF)を閾値として2つの領域が定義されており、各領域ごとに異なった固有遅延値および依存係数が定義されている。すなわち、C<1.0の領域では、
T=t01+k1・C=1.2+0.5*C (4)
なる式が定義され、C≧1.0の領域では、
T=t02+k2・C=0.2+1.5*C (5)
なる式が定義されている。
【0033】
この図11の実線で表わされるような動作特性をもったセルについて、従来は、図11に一点鎖線で示すように、出力負荷容量Cの全範囲にわたっての近似直線を当てはめ、
T=t0+k・C=1.0+1.0*C (6)
なる単一の線形近似式を定義していた。したがって、第1のセルライブラリb1内のセル「INV」の遅延情報としては、この式(6) に対応した固有遅延値t0=1.0(ns)と、出力負荷容量依存係数k=1.0(ns/pF)とが収容されることになる。図12(a) は、この第1のセルライブラリb1内に収容された遅延情報のフォーマットの一例を示す図である。これに対して、第2のセルライブラリb2内のセル「INV」の遅延情報としては、前述の式(4) ,(5) に対応した固有遅延値t01=1.2(ns),t02=0.2(ns)と、出力負荷容量依存係数k1=0.5(ns/pF),k2=1.5(ns/pF)とが収容されることになる。図12(b) は、この第2のセルライブラリb2内に収容された遅延情報のフォーマットの一例を示す図である。ここに示す例では、第2のセルライブラリb2内に、各固有遅延値t01,t02および各係数k1,k2が、それぞれ出力負荷容量の条件(「1pF未満」または「1pF以上」)とともに収容されており、また、第1のセルライブラリb1内の固有遅延値t0の値(この例では、1.0(ns))も併せて収容されている。
【0034】
こうして、ステップS12において、第1のセルライブラリb1および第2のセルライブラリb2が作成されると、続くステップS13において、集積回路の回路図を作成する作業が行われ、ステップS14において、回路図の階層展開が行われる。これらの各処理は、図1に示すステップS3およびステップS4の処理と同一であり、ここでは説明を省略する。
【0035】
階層展開により、個々のセルレベルにまで展開された回路図が得られると、ステップS15において、セル間配線についての配線遅延時間が、ディレイカリキュレータ装置によって求められる。このステップS15の処理は、図1のステップS5の処理とほぼ同じであるが、第1のセルライブラリb1の代わりに、第2のセルライブラリb2内の遅延情報を用いた演算が行われる点が異なる。すなわち、図7に示す例において、セルX1の出力端子OからセルX2の入力端子Iに至るまでの経路(出力負荷容量CL1に対応する経路:以下、第1の経路と呼ぶ)については、出力負荷容量CL1=0.5pFであるから、図12(b) に示す第2のセルライブラリ内の遅延情報を参照すると、出力負荷容量が1pF未満という条件が適用され、依存係数k1=0.5(ns/pF)を用いた演算により、配線遅延値te=k1・CL1=0.5*0.5=0.25(ns)なる値が得られることになる。同様に、セルX2の出力端子Oから集積回路の出力端子OUTに至るまでの経路(出力負荷容量CL2に対応する経路:以下、第2の経路と呼ぶ)については、出力負荷容量CL2=2.0pFであるから、図12(b) に示す第2のセルライブラリ内の遅延情報を参照すると、出力負荷容量が1pF以上という条件が適用され、依存係数k2=1.5(ns/pF)を用いた演算により、配線遅延値te=k2・CL2=1.5*2.0=3.0(ns)なる値が得られることになる。
【0036】
図13は、こうして得られた各経路についての配線遅延値を示す図表である。図8に示す図表と比較すると、各値にかなりの差があることがわかる。このように、図8に示す配線遅延値に比べ、図13に示す配線遅延値はより精度の高い値になっている。しかしながら、この図13に示す配線遅延値をそのまま配線遅延情報として出力し、これを論理シミュレーションに用いることは好ましくない。§2においても述べたように、出力負荷容量Cの領域により異なる依存係数kを設定すると、グラフのT軸切片値も異なることになるので、論理シミュレーションを行う上で、各領域ごとに異なる固有遅延値を採用しなければならなくなるためである。
【0037】
たとえば、図13に示す例では、第1の経路についての配線遅延値として0.25(ns)、第2の経路についての配線遅延値として3.0(ns)なる値がそれぞれ得られているが、これらの値は、それぞれ異なる固有遅延値を採用することを前提として得られた値である。したがって、第1の経路について0.25(ns)なる配線遅延値を採るのであれば、第1のセルX1の固有遅延値としては、t01=1.2(ns)なる値(図11の実線上のT軸切片値)を採り、第2の経路について3.0(ns)なる配線遅延値を採るのであれば、第2のセルX2の固有遅延値としては、t02=0.2(ns)なる値(図11の破線上のT軸切片値)を採る必要がある。しかしながら、従来から利用されている一般的なシミュレータ装置は、1つのセルについて1つの固有遅延値が定義されていることを前提とした処理を行うため、同一の「INV」なるセルについて、t01=1.2(ns)なる第1の固有遅延値と、t02=0.2(ns)なる第2の固有遅延値とを、集積回路内の遅延因子を考慮して使い分けるという処理を行うことはできず、第1のセルライブラリb1内に設定された共通の固有遅延値t0=1.0(ns)を用いた処理を行わざるを得ない。
【0038】
そこで本発明では、ステップS15において配線遅延時間を算出する段階で、固有遅延値t0との差を補正する処理を行うようにしている。すなわち、第1の経路については、出力負荷容量が1pF未満という条件が適用されているので、本来は、t01=1.2(ns)なる第1の固有遅延値を用いる必要があるので、この第1の固有遅延値t01と、第1のセルライブラリb1内に設定された共通の固有遅延値t0との差(t01−t0)=1.2−1.0=0.2(ns)を求め、この差を補正値として、図13に示す配線遅延値0.25(ns)に加えることにより、補正後の配線遅延値0.45(ns)を求める。同様に、第2の経路については、出力負荷容量が1pF以上という条件が適用されているので、本来は、t02=0.2(ns)なる第2の固有遅延値を用いる必要があるので、この第2の固有遅延値t02と、第1のセルライブラリb1内に設定された共通の固有遅延値t0との差(t02−t0)=0.2−1.0=−0.8(ns)を求め、この差を補正値として、図13に示す配線遅延値3.0(ns)に加えることにより、補正後の配線遅延値2.2(ns)を求める。図14は、こうして得られた補正後の配線遅延値を示す図表である。
【0039】
結局、ステップS15では、ディレイカリキュレータ装置を用いて、個々の経路について、次のような演算が行われることになる。まず、その経路の出力負荷容量Cが1pF未満か、1pF以上かを判断する。そして、1pF未満の場合には、
te=k1・C+(t01−t0) (7)
なる式に基づいて、配線遅延値teを求める。逆に、1pF以上の場合には、
te=k2・C+(t02−t0) (8)
なる式に基づいて、配線遅延値teを求める。上述の具体例の場合、第1の経路については、出力負荷容量CL1=0.5pF(1pF未満)なので、式(7) を適用して、
te=0.5*0.5+(1.2−1.0)=0.45
なる演算が行われ、第2の経路については、出力負荷容量CL2=2.0pF(1pF以上)なので、式(8) を適用して、
te=1.5*2.0+(0.2−1.0)=2.2
なる演算が行われ、最終的に、図14に示すような補正後の配線遅延値が得られることになる。ステップS15で作成される配線遅延情報cは、各配線について、このような補正後の配線遅延値を収容したものである。なお、ここに示す例では、図12(b) に示すように、第2のセルライブラリb2内に、第1のセルライブラリb1内の固有遅延値t0の値も収容するようにしているので、ディレイカリキュレータ装置を用いてステップS15の演算処理を行う上では、第2のセルライブラリb2のみを用いるだけで十分である。もちろん、このステップS15の処理において、第1のセルライブラリb1を参照して固有遅延値t0の値を得るようにするのであれば、第2のセルライブラリb2内に固有遅延値t0の値を収容しておく必要はない。
【0040】
最後に、ステップS16において、論理シミュレーションが行われる。すなわち、シミュレータ装置に対して、ステップS12で作成された第1のセルライブラリb1と、ステップS15で作成した配線遅延情報cとを与えると、集積回路全体についてのトータルの遅延時間を求めるシミュレーションが実行される。このシミュレーションは、図1の手順におけるステップS6のシミュレーションと同一である。すなわち、図7に示す集積回路の場合、セルX1およびセルX2についての固有遅延値としては、第1のセルライブラリb1内に定義されている共通の固有遅延値t0が用いられる。図5に示すように、この共通の固有遅延値t0=1.0(ns)である。また、図14に示すとおり、第1の経路についての補正後の配線遅延値teは0.45(ns)であり、第2の経路についての補正後の配線遅延値teは2.2(ns)であるから、結局、集積回路全体の遅延時間は、
1.0+0.45+1.0+2.2=4.65(ns) (9)
となる。
【0041】
上述の演算式(9) の左辺を構成する各項は、必ずしも理論的には正しい意味合いをもった数値ではない。式(9) に対応した正しい意味合いをもった演算式を記述すると、次に示す式(10)のようになる。
【0042】
1.2+0.25+0.2+3.0=4.65(ns) (10)
この式(10)における左辺第1項は、図12(a) に示すように、出力負荷容量が1pF未満という条件における固有遅延値t01の値であり、左辺第2項は、同条件における依存係数k1と出力負荷容量CL1との積(0.5*0.5)であり、これら2項は、セルX1についての固有遅延値および状態依存遅延値を示すものである。同様に、左辺第3項は、図12(a) に示すように、出力負荷容量が1pF以上という条件における固有遅延値t02の値であり、左辺第4項は、同条件における依存係数k2と出力負荷容量CL2との積(2.0*1.5)であり、これら2項は、セルX2についての固有遅延値および状態依存遅延値を示すものである。これに対し、式(9) の左辺各項は、必ずしも理論的な正しい意味合いをもつ数値にはなっていない。しかしながら、式(9) を用いた演算を行えば、同一のセルについては、第1のセルライブラリb1内に収容されている共通の固有遅延値t0(左辺第1項および第3項)を用いることができるので、従来のシミュレータ装置をそのまま利用することが可能になる。しかも、式(9) を用いた演算結果は、式(10)を用いた演算結果と同じになり、正しい演算結果が得られることになる。
【0043】
§4. 複数のパラメータ値を用いる場合への拡張
以上、本発明を図示する実施形態に基づいて説明したが、本発明はこの実施形態に限定されるものではなく、この他にも種々の形態で実施可能である。特に、上述の実施形態では、遅延因子を示すパラメータ値Pとして出力負荷容量、すなわち、セル後段に接続される配線についての寄生容量値を用いているが、パラメータ値Pとしては、この他にも、たとえば、各セルの入力信号波形の歪みを示す値などを用いることも可能である。
【0044】
また、本発明は、遅延因子を示す複数のパラメータ値を用いる場合にも適用可能である。たとえば、第1の遅延因子を示すパラメータ値p1として、セル後段に接続される出力負荷容量値を用い、第2の遅延因子を示すパラメータ値p2として、セルの入力信号波形の歪みを示す値を用いた場合を考える。この場合、遅延因子を示すパラメータPは、2つのパラメータ値p1,p2から構成されることになり、これら2つのパラメータ値を引数とする関数f(p1,p2)を定義することにより、1つのセルについての遅延時間Tは、固有遅延値t0とこの関数f(p1,p2)との和として定義されることになる。ここで、パラメータ値p1をX軸上にとり、パラメータ値p2をY軸上にとり、遅延時間TをZ軸上にとれば、T=t0+f(p1,p2)なる式で定義される遅延時間Tは、このXYZ三次元空間において面で表される関数になる。
【0045】
このように、2つのパラメータ値p1,p2を用いたシミュレーションに本発明を適用する場合には、次のような手法をとればよい。まず、XY平面(p1・p2平面)を複数n個の領域に分割し、各領域ごとにそれぞれ別個の関数を用いて各セルの遅延時間Tを定義する。すなわち、i番目(1≦i≦n)の領域についてのセルの遅延時間Tiが、Ti=t0i+fi(p1,p2)なる演算に基づいて定まるように、合計n組の固有遅延値t01,t02,…,t0i,…,t0nと、合計n組の関数f1(p1,p2),f2(p1,p2),…,fi(p1,p2),…,fn(p1,p2)とを、個々のセルごとに定義し、これらn組の固有遅延値t0iおよび関数fi(p1,p2)を収容した第2のセルライブラリを作成する。なお、第1のセルライブラリには、従来どおり、1つのセルについて1つの固有遅延値t0のみが定義されている。
【0046】
続いて、半導体集積回路を構成する個々のセルについて、それぞれ適用すべき一対のパラメータ値p1,p2を決定し、決定した一対のパラメータ値の組み合わせが、XY平面(p1・p2平面)上のどの領域に所属するかを特定する。たとえば、i番目の領域に所属する場合には、第2のセルライブラリから、このi番目の領域について定義された固有遅延値t0iおよび関数fi(p1,p2)を選択し、第1のセルライブラリ内の固有遅延値t0を用いて、te=fi(p1,p2)+(t0i−t0)なる演算によって状態依存遅延値teを求める。そして、こうして求めた状態依存遅延値teと第1のセルライブラリ内の固有遅延値t0との和をそのセルの遅延時間Tとして、論理シミュレーションを実行すればよい。もちろん、第1のセルライブラリ内の固有遅延値t0を、第2のセルライブラリ内にも収容するようにしておけば、状態依存遅延値teの演算を、第2のセルライブラリのみを用いて行うようにすることも可能である。
【0047】
以上、パラメータPとして、2つのパラメータ値p1,p2を用いる例を述べたが、本発明は、パラメータPを、複数m個の遅延因子に関するm個のパラメータ値p1,p2,…,pmによって構成する一般的な場合にも拡張して適用可能である。この場合には、このm個の各パラメータ値をそれぞれ座標軸にとったm次元空間を定義し、このm次元空間を複数n個の領域に分割し、i番目(1≦i≦n)の領域についての関数として、m組の値p1,p2,…,pmを引数とした関数fi(p1,p2,…,pm)を定義するようにすればよい。
【0048】
結局、本発明の第1の要点は、パラメータP(単一のパラメータ値によって表されるパラメータでもよいし、複数のパラメータ値の組み合わせによって表されるパラメータでもよい)のとるべき範囲を複数n個の領域に分割し、各領域ごとに、それぞれ異なる関数を適用して遅延時間の算出を行い、より精度の高い論理シミュレーションを行うことにある。そこで、n個の分割領域のうちのi番目の分割領域についての遅延時間Tiを、Ti=t0i+fi(P)なる式で定義できるように、それぞれn組の固有遅延値t0iおよび関数fi(P)を定義し(1≦i≦n)、これら固有遅延値t0iおよび関数fi(P)によって第2のセルライブラリを作成する。原理的には、この第2のセルライブラリを用いて、各セルの実際の遅延時間を求めることが可能である。たとえば、実際の半導体集積回路を構成する具体的なセルCについての実際のパラメータPがi番目の領域に属していた場合には、第2のセルライブラリから得られるi番目の固有遅延値t0iを、このセルC自身によって生じる固有遅延値とし、同じく第2のセルライブラリから得られるi番目の関数fi(P)の値を、このセルCについての状態依存遅延値とし、このセルCについての全遅延時間Tiを、Ti=t0i+fi(P)なる和として求めることができる。
【0049】
しかしながら、従来から利用されているシミュレータ装置をそのまま利用したシミュレーションを実行できるようにするためには、セル自身によって生じる固有遅延値としては、第1のライブラリ内に用意された単一の値t0(パラメータPのとるべき範囲にかかわらず共通の値)を用いる必要がある。そこで、(t0i−t0)なる差分を加味した状態依存遅延値teを、te=fi(P)+(t0i−t0)なる式で定義し、差分を補正するようにしている。これが本発明の第2の要点である。したがって、本発明によれば、シミュレータ装置による演算では、従来と同様に、第1のセルライブラリ内の固有遅延値t0が用いられるが、ディレイカリキュレータ装置による演算では、上述した補正後の状態依存遅延値te=fi(P)+(t0i−t0)が用いられることになり、最終的に、このセルについてのトータルな遅延時間Tiとしては、Ti=t0+te=t0i+fi(P)なる値が得られることになり、前述の第1の要点で述べた所期の遅延値を得ることが可能になる。
【0050】
結局、上述した第1の要点と第2の要点とを組み合わせることにより、従来から利用されているシミュレータ装置をそのまま利用しつつ、各セルについて得られる遅延時間の精度を高めることが可能になる。
【0051】
【発明の効果】
以上のとおり本発明に係る集積回路の論理シミュレーション方法によれば、従来から利用されているシミュレータ装置をそのまま利用して、個々のセルについての遅延時間をより高精度に求めることができるようになる。
【図面の簡単な説明】
【図1】従来の一般的な集積回路の設計および論理シミュレーションの基本手順を示す流れ図である。
【図2】図1に示す手順で利用されるセル「INV」の一例を示す回路図である。
【図3】図2に示すセル「INV」の後段に、出力負荷容量Cを接続した状態を示す回路図である。
【図4】図3に示す回路において、出力負荷容量Cと遅延時間Tとの関係を示すグラフである。
【図5】図4に示すグラフに基づいてセルライブラリ内に用意される遅延情報を示す図表である。
【図6】図2に示すセルを組み合わせて構成された集積回路の一例を示す回路図である。
【図7】図6に示す回路において、各セルの後段の配線部分の寄生容量(出力負荷容量)を示す容量素子を付記した回路図である。
【図8】図1に示す手順のステップS5において得られた各経路についての配線遅延値を示す図表である。
【図9】出力負荷容量Cをパラメータ値Pとして用いたときの、出力負荷容量Cと遅延時間Tとの関係を示すグラフである。
【図10】本発明に係る集積回路の設計および論理シミュレーションの基本手順を示す流れ図である。
【図11】出力負荷容量Cをパラメータ値Pとして用いたときの、出力負荷容量Cと遅延時間Tとの関係を具体的な数値で示すグラフである。
【図12】図10のステップS12で作成される第1のセルライブラリb1および第2のセルライブラリb2に収容された遅延情報のフォーマット例を示す図である。
【図13】図10に示す手順のステップS15において得られた各経路についての補正前の配線遅延値を示す図表である。
【図14】図10に示す手順のステップS15において得られた各経路についての補正後の配線遅延値を示す図表である。
【符号の説明】
a…セルマスクパターン
b…セルライブラリ
b1…第1のセルライブラリ
b2…第2のセルライブラリ
c,c…配線遅延情報
t0,t01,t02…セルの固定遅延値
k,k1,k2…出力負荷容量依存係数
,CL1,CL2…出力負荷容量
LX…出力負荷容量の閾値
INV…インバータ素子,セル名
T…1つのセルについての遅延時間
TOP…半導体集積回路の最上位階層
X1,X2…セルのインスタンス名

Claims (6)

  1. 複数のセルを相互に接続してなる半導体集積回路について、個々のセルごとに、そのセル自身によって生じる固有遅延値t0と、所定の遅延因子を示すパラメータPを引数とする関数f(P)とを定義し、個々のセルごとの遅延時間Tを、前記固有遅延値t0と前記関数f(P)との和として求め、この遅延時間Tを用いて論理シミュレーションを行う方法において、
    個々のセルについて、前記パラメータPのとるべき全範囲にわたって共通の固有遅延値t0を定義し、この固有遅延値t0を収容した第1のセルライブラリを作成する第1の段階と、
    前記パラメータPのとるべき範囲を複数n個の領域に分割し、i番目(1≦i≦n)の領域についてのセルの遅延時間Tiが、Ti=t0i+fi(P)なる演算に基づいて定まるように、個々のセルごとに、それぞれn組の固有遅延値t0iおよび関数fi(P)を定義し、これらn組の固有遅延値t0iおよび関数fi(P)を収容した第2のセルライブラリを作成する第2の段階と、
    半導体集積回路を構成する個々のセルについて、それぞれ適用すべきパラメータPを決定し、決定したパラメータPに基づいて、前記第2のセルライブラリから特定の固有遅延値t0iおよび関数fi(P)を選択し、前記第1のセルライブラリ内の固有遅延値t0を用いて、te=fi(P)+(t0i−t0)なる演算によって状態依存遅延値teを求める第3の段階と、
    各セルごとに一義的に定義されている固有遅延値を用いて演算を行うように設計されているシミュレータ装置に対して、前段階で求めた状態依存遅延値teと前記第1のセルライブラリ内の固有遅延値t0との和をセルの遅延時間Tとして与え、論理シミュレーションを実行する第4の段階と、
    を有することを特徴とする集積回路の論理シミュレーション方法。
  2. 請求項1に記載の論理シミュレーション方法において、
    パラメータPを、複数m個の遅延因子に関するm組の値p1,p2,…,pmによって構成し、このm組の各値をそれぞれ座標軸にとったm次元空間を定義し、このm次元空間を複数n個の領域に分割し、i番目(1≦i≦n)の領域についての関数として、m組の値p1,p2,…,pmを引数とした関数fi(p1,p2,…,pm)を定義するようにしたことを特徴とする集積回路の論理シミュレーション方法。
  3. 複数のセルを相互に接続してなる半導体集積回路について、個々のセルごとに、そのセル自身によって生じる固有遅延値t0と、所定の遅延因子を示すパラメータ値Pおよびこのパラメータ値Pに対する依存係数kとを定義し、個々のセルごとの遅延時間Tを、前記固有遅延値t0と、前記パラメータ値Pおよび依存係数kとの積k・Pからなる状態依存遅延値teと、の和として求め、この遅延時間Tを用いて論理シミュレーションを行う方法において、
    個々のセルについて、前記パラメータPのとるべき全範囲にわたって共通の固有遅延値t0を定義し、この固有遅延値t0を収容した第1のセルライブラリを作成する第1の段階と、
    前記パラメータ値Pのとるべき範囲を複数n個の領域に分割し、パラメータ値Pがi番目(1≦i≦n)の領域に属する場合の遅延時間Tiが、Ti=t0i+ki・Pなる演算に基づいて定まるように、個々のセルごとに、それぞれn組の固有遅延値t0iおよび依存係数kiを定義し、これらn組の固有遅延値t0iおよび依存係数kiを収容した第2のセルライブラリを作成する第2の段階と、
    半導体集積回路を構成する個々のセルについて、それぞれ適用すべきパラメータ値Pを決定し、決定したパラメータ値Pに基づいて、前記第2のセルライブラリから特定の固有遅延値t0iおよび依存係数kiを選択し、前記第1のセルライブラリ内の固有遅延値t0を用いて、te=ki・P+(t0i−t0)なる演算によって状態依存遅延値teを求める第3の段階と、
    各セルごとに一義的に定義されている固有遅延値を用いて演算を行うように設計されて いるシミュレータ装置に対して、前段階で求めた状態依存遅延値teと前記第1のセルライブラリ内の固有遅延値t0との和をそのセルについての遅延時間Tとして与え、論理シミュレーションを実行する第4の段階と、
    を有することを特徴とする集積回路の論理シミュレーション方法。
  4. 請求項1〜3のいずれかに記載の論理シミュレーション方法において、
    第1のセルライブラリ内の固有遅延値t0を、第2のセルライブラリ内にも収容するようにし、第3の段階における状態依存遅延値teの演算を、第2のセルライブラリのみを用いて行うようにしたことを特徴とする集積回路の論理シミュレーション方法。
  5. 請求項1〜4のいずれかに記載の論理シミュレーション方法において、
    所定の遅延因子を示すパラメータ値Pとして、個々のセルの出力負荷容量Cを用いるようにし、セル間の配線に基づく遅延値を状態依存遅延値teとして定義することを特徴とする集積回路の論理シミュレーション方法。
  6. 請求項1〜4のいずれかに記載の論理シミュレーション方法において、
    所定の遅延因子を示すパラメータ値Pとして、個々のセルへの入力波形の歪みを示す値を用いるようにし、この入力波形の歪みに基づく遅延値を状態依存遅延値teとして定義することを特徴とする集積回路の論理シミュレーション方法。
JP27719896A 1996-09-27 1996-09-27 集積回路の論理シミュレーション方法 Expired - Fee Related JP3964483B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27719896A JP3964483B2 (ja) 1996-09-27 1996-09-27 集積回路の論理シミュレーション方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27719896A JP3964483B2 (ja) 1996-09-27 1996-09-27 集積回路の論理シミュレーション方法

Publications (2)

Publication Number Publication Date
JPH10105581A JPH10105581A (ja) 1998-04-24
JP3964483B2 true JP3964483B2 (ja) 2007-08-22

Family

ID=17580181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27719896A Expired - Fee Related JP3964483B2 (ja) 1996-09-27 1996-09-27 集積回路の論理シミュレーション方法

Country Status (1)

Country Link
JP (1) JP3964483B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5272913B2 (ja) * 2009-06-15 2013-08-28 富士通セミコンダクター株式会社 設計支援プログラム、設計支援装置、および設計支援方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2948437B2 (ja) * 1993-03-18 1999-09-13 富士通株式会社 論理シミュレーション用のデータ作成方法
JPH09293092A (ja) * 1996-04-30 1997-11-11 Oki Electric Ind Co Ltd 電子回路のモデル化方法及び電子回路のシミュレーション方法
JPH1049555A (ja) * 1996-07-31 1998-02-20 Sanyo Electric Co Ltd 回路設計におけるタイミング解析方法
JPH1049561A (ja) * 1996-08-07 1998-02-20 Mitsubishi Electric Corp 信号遅延計算方法

Also Published As

Publication number Publication date
JPH10105581A (ja) 1998-04-24

Similar Documents

Publication Publication Date Title
US6026228A (en) Integrated circuit design method, database apparatus for designing integrated circuit and integrated circuit design support apparatus
US5274568A (en) Method of estimating logic cell delay time
US6047247A (en) Method of estimating degradation with consideration of hot carrier effects
US6278964B1 (en) Hot carrier effect simulation for integrated circuits
JPH0743742B2 (ja) 自動配線方法
US6629299B1 (en) Delay library representation method, delay library generation method and delay calculation method using the delay library
US7369974B2 (en) Polynomial generation method for circuit modeling
JP3001351B2 (ja) シミュレーション方法
JP4969416B2 (ja) 動作タイミング検証装置及びプログラム
JP3964483B2 (ja) 集積回路の論理シミュレーション方法
JPH1049561A (ja) 信号遅延計算方法
JP2002269162A (ja) 動作合成方法
US8745558B1 (en) Deployment of transmission gate logic cells in application specific integrated circuits
US7082589B2 (en) Method of generating a schematic driven layout for a hierarchical integrated circuit design
JPH07287051A (ja) 論理シミュレータ用入力データ作成装置
US7266479B2 (en) System and method for high-order accurate device model approximation
CN116882356B (zh) 一种版图布局中高压电平转换影响低压信号的预测方法
JP3702475B2 (ja) 回路自動生成装置
JP2001357093A (ja) 回路シミュレーション方法、回路シミュレーション装置、及び記憶媒体
JPH11272725A (ja) ライブラリ生成方法およびシミュレーション方法
JPH09319775A (ja) 半導体集積回路の設計方法および装置
JP2001290855A (ja) 階層化設計の遅延計算方法
JP3102408B2 (ja) 信号遅延低減方法及び装置
JP2863239B2 (ja) 半導体集積回路のシミュレーション方法
JP3927263B2 (ja) 集積回路の端子間遅延特性の測定方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070420

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: 20070522

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070524

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