(57)【要約】【課題】半導体設計のセルの遅延解析を精度良く且つ高速に行うことのできる遅延解析システムを提供する。【解決手段】セル遅延モデル生成手段１０３は、セルを、そのセルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し且つ遷移を開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想電源と、仮想入力波形が印加される内部抵抗Rdと内部容量Cdとの直列回路とで近似したセル遅延モデル１０４を生成する。遅延計算手段１０６は、セル遅延モデル１０４を使用して、回路データ１０５中のセルの出力端子を１以上含むネットワークの信号伝達遅延を計算する。【選択図】図１
2009199300.tif 000002
【特許請求の範囲】
【請求項１】
セルを、前記セルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し且つ該開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想電源と、前記仮想入力波形が印加される内部抵抗Rdと内部容量Cdとの直列回路とで近似した遅延モデルを生成するセル遅延モデル生成手段と、
前記セル遅延モデル生成手段で生成された遅延モデルを記憶する遅延モデル記憶手段と、
前記遅延モデルを使用して、セルの出力端子を１以上含むネットワークの信号伝達遅延を計算する遅延計算手段とを備えることを特徴とする遅延解析システム。
【請求項２】
前記セル遅延モデル生成手段は、
セルを、前記セルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し且つ該開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想電源と、前記仮想入力波形が印加される内部抵抗Rdと内部容量Cdとの直列回路とで近似した遅延モデルであって、駆動容量Cloadを前記内部容量Cdに並列に接続し、遷移時間tinの入力波形を前記仮想電源に入力したときに前記内部抵抗Rdと前記内部容量Cdとの接続点で観測される出力波形が、前記駆動容量Cloadを接続した前記セルに遷移時間tinの入力波形を入力したときに前記セルの出力で観測される出力波形と一致するように、前記t0、tr、Rd、Cdの値が定められている遅延モデルを、遷移時間tinと駆動容量Cloadの複数の組み合わせについて生成する手段であって、同じ遷移時間tinを含む遷移時間tinと駆動容量Cloadの全ての組み合わせどうしでは前記Rd、Cdの値が等しくなるように遅延モデルを生成し、
前記遅延モデル記憶手段は、前記セル遅延モデル生成手段で生成された前記セルの遅延モデルの前記Rd、Cdの値を前記遷移時間tinに対応付けて記憶し、前記t0、trの値を前記遷移時間tinおよび前記駆動容量Cloadの組に対応付けて記憶することを特徴とする請求項１に記載の遅延解析システム。
【請求項３】
前記遅延計算手段は、
セルおよび配線情報を含む回路データを記憶する回路データ記憶手段と、
前記回路データに含まれるセルの入力波形を所定形状の入力波形に変換する入力波形変換手段と、
前記変換されて得られた入力波形の遷移時間に対応する前記Rd、Cdの値を前記遅延モデル記憶手段から取得する第１のセル遅延モデル参照手段と、
前記第１のセル遅延モデル参照手段で取得された前記Rd、Cdの値を含んだＲＣネットワークを生成するＲＣネットワーク生成手段と、
前記生成されたＲＣネットワークからセルの実効駆動容量を計算する実効駆動容量計算手段と、
前記変換されて得られた入力波形の遷移時間と前記計算された実効駆動容量との組に対応する前記t0、trの値を前記遅延モデル記憶手段から取得する第２のセル遅延モデル参照手段と、
前記求められた前記t0、trで定まる入力波形を、前記Rd、Cdの値を含んだ前記ＲＣネットワークの前記Rdの一端に印加して前記ＲＣネットワークの遅延解析を行う計算手段とを有することを特徴とする請求項２に記載の遅延解析システム。
【請求項４】
前記セル遅延モデル生成手段は、前記駆動容量Cloadを接続した前記セルに遷移時間tinの入力波形を入力したときに前記セルの出力で観測される出力波形を、前記セル用の回路シミュレータ用アナログ部品モデルを使用したシミュレーションによって取得することを特徴とする請求項１乃至３の何れか１項に記載の遅延解析システム。
【請求項５】
前記所定レベルは、理想電源電圧の半分の電圧であることを特徴とする請求項１乃至４に記載の遅延解析システム。
【請求項６】
前記入力波形および前記仮想入力波形は、ランプ波形であることを特徴とする請求項１乃至５の何れか１項に記載の遅延解析システム。
【請求項７】
前記セル遅延モデル生成手段は、理想電源電圧とグラウンド電位との間の或る電圧を第１の電圧、グラウンド電位と前記第１の電圧との間の或る電圧を第２の電圧、理想電源電圧と前記第１の電圧との間の或る電圧を第３の電圧として設定し、入力波形が第１の電圧に達してから出力波形が第１の電圧に達するまでの第１の時間、入力波形が第１の電圧に達してから出力波形が第２の電圧に達するまでの第２の時間、入力波形が第１の電圧に達してから出力波形が第３の電圧に達するまでの第３の時間について、前記観測される出力波形と前記シミュレートして得られた前記出力波形とが一致するように、前記t0、tr、Rd、Cdの値を定めることを特徴とする請求項１乃至６の何れか１項に記載の遅延解析システム。
【請求項８】
前記第１のセル遅延モデル参照手段は、前記変換されて得られた入力波形の遷移時間と一致する遷移時間に対応する前記Rd、Cdの値が前記遅延モデル記憶手段に記憶されている場合には、該記憶されている前記Rd、Cdの値を取得し、記憶されていない場合には、前記変換されて得られた入力波形の遷移時間に近い複数の遷移時間に対応して前記遅延モデル記憶手段に記憶されている複数の前記Rd、Cdの値から線形補間によって、前記変換されて得られた入力波形の遷移時間に対応する前記Rd、Cdの値を計算することを特徴とする請求項３に記載の遅延解析システム。
【請求項９】
前記第２のセル遅延モデル参照手段は、前記変換されて得られた入力波形の遷移時間および実効駆動容量の組と一致する遷移時間および実効駆動容量の組に対応する前記t0、trの値が前記遅延モデル記憶手段に記憶されている場合には、該記憶されている前記t0、trの値を取得し、記憶されていない場合には、前記変換されて得られた入力波形の遷移時間に近い複数の遷移時間と前記実効駆動容量に近い複数の実効駆動容量との各組に対応して前記遅延モデル記憶手段に記憶されている複数の前記Rd、Cdの値から二次元線形補間によって、前記変換されて得られた入力波形の遷移時間と前記計算された実効駆動容量との組に対応する前記t0、trの値を計算することを特徴とする請求項３に記載の遅延解析システム。
【請求項１０】
前記入力波形変換手段は、理想電源電圧とグラウンド電位との間の或る電圧を第１の電圧、グラウンド電位と前記第１の電圧との間の或る電圧を第２の電圧、理想電源電圧と前記第１の電圧との間の或る電圧を第３の電圧として設定し、入力波形が第１の電圧に達する時刻と等しい時刻で第１の電圧に達するランプ波形に変換し、且つ、入力波形が上昇波形である場合、入力波形の電圧が第２の電圧に達してから第３の電圧に達するまでの時間と、ランプ波形の電圧が第２の電圧に達してから第３の電圧に達するまでの時間が等しく、入力波形が下降波形である場合、入力波形の電圧が第３の電圧に達してから第２の電圧に達するまでの時間と、ランプ波形の電圧が第３の電圧に達してから第２の電圧に達するまでの時間が等しくなるようにすることを特徴とする請求項３に記載の遅延解析システム。
【請求項１１】
前記実効駆動容量計算手段は、前記ＲＣネットワークがセルの出力端子を一つ含む場合、セルの実効駆動容量を以下の反復収束手法により計算することを特徴とする請求項３に記載の遅延解析システム。
(1)前記Cdより大きく、前記ＲＣネットワークの総容量より小さな値の実効駆動容量の候補を一つ選択する。
(2)前記選択した実効駆動容量の候補と前記入力波形変換手段で変換されて得られた入力波形の遷移時間との組に対応する前記trの値を前記遅延モデル記憶手段から取得する。
(3)前記ＲＣネットワーク生成手段で生成されたＲＣネットワークの前記Rdの一端に前記入力波形変換手段で変換されて得られた入力波形を印加したときの前記Rdの他端の出力波形を遅延解析により求めると共に、前記Rdと前記Cdとの直列回路の前記Cdと並列に前記実効駆動容量の候補を接続したＲＣネットワークの前記Rdの一端に前記入力波形変換手段で変換されて得られた入力波形を印加したときの前記Rdの他端の出力波形を遅延解析により求め、双方の出力波形を比較する。
(4)双方の出力波形が一致した場合には、前記実効駆動容量の候補をセルの実効駆動容量とし、一致しなかった場合は実効駆動容量の別の候補を一つ選択し、前記(2)に戻る。
【請求項１２】
前記実効駆動容量計算手段は、前記ＲＣネットワークがセルの出力端子を複数含む場合、セルの実効駆動容量を以下の反復収束手法により計算することを特徴とする請求項１１に記載の遅延解析システム。
(5)前記ＲＣネットワークの総容量をセル数で割った値を、各セルの実効駆動容量の候補とする。
(6)各セルに順番に注目し、注目中のセル以外のセルの実効駆動容量は固定し、注目中のセルについて、請求項１１に記載する反復収束手法により実効駆動容量を更新する。
(7)所定の収束条件が成立したか否かを判定し、成立していればその時点の各セルの実効駆動容量の候補を各セルの実効駆動容量とし、成立していなければ前記(6)に戻る。
【請求項１３】
セルを、前記セルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し且つ該開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想電源と、前記仮想入力波形が印加される内部抵抗Rdと内部容量Cdとの直列回路とで近似した遅延モデルであって、駆動容量Cloadを前記内部容量Cdに並列に接続し、遷移時間tinの入力波形を前記仮想電源に入力したときに前記内部抵抗Rdと前記内部容量Cdとの接続点で観測される出力波形が、前記駆動容量Cloadを接続した前記セルに遷移時間tinの入力波形を入力したときに前記セルの出力で観測される出力波形と一致するように、前記t0、tr、Rd、Cdの値が定められている遅延モデルを、遷移時間tinと駆動容量Cloadの複数の組み合わせについて生成する手段であって、同じ遷移時間tinを含む遷移時間tinと駆動容量Cloadの全ての組み合わせどうしでは前記Rd、Cdの値が等しくなるように遅延モデルを生成するセル遅延モデル生成手段と、
前記セル遅延モデル生成手段で生成された前記セルの遅延モデルの前記Rd、Cdの値を前記遷移時間tinに対応付けて記憶し、前記t0、trの値を前記遷移時間tinおよび前記駆動容量Cloadの組に対応付けて記憶する遅延モデル記憶手段とを備えたセル遅延モデル生成装置。
【請求項１４】
前記セル遅延モデル生成手段は、前記駆動容量Cloadを接続した前記セルに遷移時間tinの入力波形を入力したときに前記セルの出力で観測される出力波形を、前記セル用の回路シミュレータ用アナログ部品モデルを使用したシミュレーションによって取得することを特徴とする請求項１３に記載のセル遅延モデル生成装置。
【請求項１５】
前記所定レベルは、理想電源電圧の半分の電圧であることを特徴とする請求項１３または１４に記載のセル遅延モデル生成装置。
【請求項１６】
前記入力波形および前記仮想入力波形は、ランプ波形であることを特徴とする請求項１３乃至１５の何れか１項に記載のセル遅延モデル生成装置。
【請求項１７】
前記セル遅延モデル生成手段は、理想電源電圧とグラウンド電位との間の或る電圧を第１の電圧、グラウンド電位と前記第１の電圧との間の或る電圧を第２の電圧、理想電源電圧と前記第１の電圧との間の或る電圧を第３の電圧として設定し、入力波形が第１の電圧に達してから出力波形が第１の電圧に達するまでの第１の時間、入力波形が第１の電圧に達してから出力波形が第２の電圧に達するまでの第２の時間、入力波形が第１の電圧に達してから出力波形が第３の電圧に達するまでの第３の時間について、前記観測される出力波形と前記シミュレートして得られた前記出力波形とが一致するように、前記t0、tr、Rd、Cdの値を定めることを特徴とする請求項１３乃至１６の何れか１項に記載のセル遅延モデル生成装置。
【請求項１８】
半導体設計のセルを、前記セルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し且つ該開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想電源と、前記仮想入力波形が印加される内部抵抗Rdと内部容量Cdとの直列回路とで近似した遅延モデルであって、駆動容量Cloadを前記内部容量Cdに並列に接続し、遷移時間tinの入力波形を前記仮想電源に入力したときに前記内部抵抗Rdと前記内部容量Cdとの接続点で観測される出力波形が、前記駆動容量Cloadを接続した前記セルに遷移時間tinの入力波形を入力したときに前記セルの出力で観測される出力波形と一致するように、前記t0、tr、Rd、Cdの値が定められている遅延モデルであり、しかも、遷移時間tinと駆動容量Cloadの複数の組み合わせについて生成された遅延モデルのうち、同じ遷移時間tinを含む遷移時間tinと駆動容量Cloadの全ての組み合わせどうしでは前記Rd、Cdの値が等しくなるように生成された複数の遅延モデルを記憶する遅延モデル記憶手段と、
セルおよび配線情報を含む回路データを記憶する回路データ記憶手段と、
前記回路データに含まれるセルの入力波形を所定形状の入力波形に変換する入力波形変換手段と、
前記変換されて得られた入力波形の遷移時間に対応する前記Rd、Cdの値を前記遅延モデル記憶手段から取得する第１のセル遅延モデル参照手段と、
前記第１のセル遅延モデル参照手段で取得された前記Rd、Cdの値を含んだＲＣネットワークを生成するＲＣネットワーク生成手段と、
前記生成されたＲＣネットワークからセルの実効駆動容量を計算する実効駆動容量計算手段と、
前記変換されて得られた入力波形の遷移時間と前記計算された実効駆動容量との組に対応する前記t0、trの値を前記遅延モデル記憶手段から取得する第２のセル遅延モデル参照手段と、
前記求められた前記t0、trで定まる入力波形を、前記Rd、Cdの値を含んだ前記ＲＣネットワークの前記Rdの一端に印加して前記ＲＣネットワークの遅延解析を行う遅延計算手段とを備えたことを特徴とする遅延計算装置。
【請求項１９】
前記第１のセル遅延モデル参照手段は、前記変換されて得られた入力波形の遷移時間と一致する遷移時間に対応する前記Rd、Cdの値が前記遅延モデル記憶手段に記憶されている場合には、該記憶されている前記Rd、Cdの値を取得し、記憶されていない場合には、前記変換されて得られた入力波形の遷移時間に近い複数の遷移時間に対応して前記遅延モデル記憶手段に記憶されている複数の前記Rd、Cdの値から線形補間によって、前記変換されて得られた入力波形の遷移時間に対応する前記Rd、Cdの値を計算することを特徴とする請求項１８に記載の遅延計算装置。
【請求項２０】
前記第２のセル遅延モデル参照手段は、前記変換されて得られた入力波形の遷移時間および実効駆動容量の組と一致する遷移時間および実効駆動容量の組に対応する前記t0、trの値が前記遅延モデル記憶手段に記憶されている場合には、該記憶されている前記t0、trの値の値を取得し、記憶されていない場合には、前記変換されて得られた入力波形の遷移時間に近い複数の遷移時間と前記実効駆動容量に近い複数の実効駆動容量との各組に対応して前記遅延モデル記憶手段に記憶されている複数の前記Rd、Cdの値から二次元線形補間によって、前記変換されて得られた入力波形の遷移時間と前記計算された実効駆動容量との組に対応する前記t0、trの値を計算することを特徴とする請求項１８に記載の遅延計算装置。
【請求項２１】
前記入力波形変換手段は、理想電源電圧とグラウンド電位との間の或る電圧を第１の電圧、グラウンド電位と前記第１の電圧との間の或る電圧を第２の電圧、理想電源電圧と前記第１の電圧との間の或る電圧を第３の電圧として設定し、入力波形が第１の電圧に達する時刻と等しい時刻で第１の電圧に達するランプ波形に変換し、且つ、入力波形が上昇波形である場合、入力波形の電圧が第２の電圧に達してから第３の電圧に達するまでの時間と、ランプ波形の電圧が第２の電圧に達してから第３の電圧に達するまでの時間が等しく、入力波形が下降波形である場合、入力波形の電圧が第３の電圧に達してから第２の電圧に達するまでの時間と、ランプ波形の電圧が第３の電圧に達してから第２の電圧に達するまでの時間が等しくなるようにすることを特徴とする請求項１８に記載の遅延計算装置。
【請求項２２】
前記実効駆動容量計算手段は、前記ＲＣネットワークがセルの出力端子を一つ含む場合、セルの実効駆動容量を以下の反復収束手法により計算することを特徴とする請求項１８に記載の遅延計算装置。
(1)前記Cdより大きく、前記ＲＣネットワークの総容量より小さな値の実効駆動容量の候補を一つ選択する。
(2)前記選択した実効駆動容量の候補と前記入力波形変換手段で変換されて得られた入力波形の遷移時間との組に対応する前記trの値を前記遅延モデル記憶手段から取得する。
(3)前記ＲＣネットワーク生成手段で生成されたＲＣネットワークの前記Rdの一端に前記入力波形変換手段で変換されて得られた入力波形を印加したときの前記Rdの他端の出力波形を遅延解析により求めると共に、前記Rdと前記Cdとの直列回路の前記Cdと並列に前記実効駆動容量の候補を接続したＲＣネットワークの前記Rdの一端に前記入力波形変換手段で変換されて得られた入力波形を印加したときの前記Rdの他端の出力波形を遅延解析により求め、双方の出力波形を比較する。
(4)双方の出力波形が一致した場合には、前記実効駆動容量の候補をセルの実効駆動容量とし、一致しなかった場合は実効駆動容量の別の候補を一つ選択し、前記(2)に戻る。
【請求項２３】
前記実効駆動容量計算手段は、前記ＲＣネットワークがセルの出力端子を複数含む場合、セルの実効駆動容量を以下の反復収束手法により計算することを特徴とする請求項２２に記載の遅延計算装置。
(5)前記ＲＣネットワークの総容量をセル数で割った値を、各セルの実効駆動容量の候補とする。
(6)各セルに順番に注目し、注目中のセル以外のセルの実効駆動容量は固定し、注目中のセルについて、請求項２２に記載する反復収束手法により実効駆動容量を更新する。
(7)所定の収束条件が成立したか否かを判定し、成立していればその時点の各セルの実効駆動容量の候補を各セルの実効駆動容量とし、成立していなければ前記(6)に戻る。
【請求項２４】
ａ）セル遅延モデル生成装置が、セルを、前記セルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し且つ該開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想電源と、前記仮想入力波形が印加される内部抵抗Rdと内部容量Cdとの直列回路とで近似した遅延モデルであって、駆動容量Cloadを前記内部容量Cdに並列に接続し、遷移時間tinの入力波形を前記仮想電源に入力したときに前記内部抵抗Rdと前記内部容量Cdとの接続点で観測される出力波形が、前記駆動容量Cloadを接続した前記セルに遷移時間tinの入力波形を入力したときに前記セルの出力で観測される出力波形と一致するように、前記t0、tr、Rd、Cdの値が定められている遅延モデルを、遷移時間tinと駆動容量Cloadの複数の組み合わせについて生成する手段であって、同じ遷移時間tinを含む遷移時間tinと駆動容量Cloadの全ての組み合わせどうしでは前記Rd、Cdの値が等しくなるように遅延モデルを生成し、該生成した前記セルの遅延モデルの前記Rd、Cdの値を前記遷移時間tinに対応付けて遅延モデル記憶手段に記憶し、前記t0、trの値を前記遷移時間tinおよび前記駆動容量Cloadの組に対応付けて前記遅延モデル記憶手段に記憶するステップと、
ｂ）遅延計算装置が、遅延計算を行うステップとを含み、
前記ステップｂは、
ｂ−１）入力波形変換手段が、セルおよび配線情報を含む回路データに含まれるセルの入力波形を所定形状の入力波形に変換するステップと、
ｂ−２）第１のセル遅延モデル参照手段が、前記変換されて得られた入力波形の遷移時間に対応する前記Rd、Cdの値を前記遅延モデル記憶手段から取得するステップと、
ｂ−３）ＲＣネットワーク生成手段が、前記第１のセル遅延モデル参照手段で取得された前記Rd、Cdの値を含んだＲＣネットワークを生成するステップと、
ｂ−４）実効駆動容量計算手段が、前記生成されたＲＣネットワークからセルの実効駆動容量を計算するステップと、
ｂ−５）第２のセル遅延モデル参照手段が、前記変換されて得られた入力波形の遷移時間と前記計算された実効駆動容量との組に対応する前記t0、trの値を前記遅延モデル記憶手段から取得するステップと、
ｂ−６）遅延計算手段が、前記求められた前記t0、trで定まる入力波形を、前記Rd、Cdの値を含んだ前記ＲＣネットワークの前記Rdの一端に印加して前記ＲＣネットワークの遅延解析を行うステップとを含むことを特徴とする遅延解析方法。
【請求項２５】
遅延モデル記憶手段を備えたコンピュータを、
セルを、前記セルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し且つ該開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想電源と、前記仮想入力波形が印加される内部抵抗Rdと内部容量Cdとの直列回路とで近似した遅延モデルであって、駆動容量Cloadを前記内部容量Cdに並列に接続し、遷移時間tinの入力波形を前記仮想電源に入力したときに前記内部抵抗Rdと前記内部容量Cdとの接続点で観測される出力波形が、前記駆動容量Cloadを接続した前記セルに遷移時間tinの入力波形を入力したときに前記セルの出力で観測される出力波形と一致するように、前記t0、tr、Rd、Cdの値が定められている遅延モデルを、遷移時間tinと駆動容量Cloadの複数の組み合わせについて生成する手段であって、同じ遷移時間tinを含む遷移時間tinと駆動容量Cloadの全ての組み合わせどうしでは前記Rd、Cdの値が等しくなるように遅延モデルを生成し、該生成した前記セルの遅延モデルの前記Rd、Cdの値を前記遷移時間tinに対応付けて遅延モデル記憶手段に記憶し、前記t0、trの値を前記遷移時間tinおよび前記駆動容量Cloadの組に対応付けて前記遅延モデル記憶手段に記憶する遅延モデル生成手段として機能させるための遅延モデル生成プログラム。
【請求項２６】
半導体設計のセルを、前記セルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し且つ該開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想電源と、前記仮想入力波形が印加される内部抵抗Rdと内部容量Cdとの直列回路とで近似した遅延モデルであって、駆動容量Cloadを前記内部容量Cdに並列に接続し、遷移時間tinの入力波形を前記仮想電源に入力したときに前記内部抵抗Rdと前記内部容量Cdとの接続点で観測される出力波形が、前記駆動容量Cloadを接続した前記セルに遷移時間tinの入力波形を入力したときに前記セルの出力で観測される出力波形と一致するように、前記t0、tr、Rd、Cdの値が定められている遅延モデルであり、しかも、遷移時間tinと駆動容量Cloadの複数の組み合わせについて生成された遅延モデルのうち、同じ遷移時間tinを含む遷移時間tinと駆動容量Cloadの全ての組み合わせどうしでは前記Rd、Cdの値が等しくなるように生成された複数の遅延モデルを記憶する遅延モデル記憶手段と、セルおよび配線情報を含む回路データを記憶する回路データ記憶手段とを備えたコンピュータを、
前記回路データに含まれるセルの入力波形を所定形状の入力波形に変換する入力波形変換手段と、
前記変換されて得られた入力波形の遷移時間に対応する前記Rd、Cdの値を前記遅延モデル記憶手段から取得する第１のセル遅延モデル参照手段と、
前記第１のセル遅延モデル参照手段で取得された前記Rd、Cdの値を含んだＲＣネットワークを生成するＲＣネットワーク生成手段と、
前記生成されたＲＣネットワークからセルの実効駆動容量を計算する実効駆動容量計算手段と、
前記変換されて得られた入力波形の遷移時間と前記計算された実効駆動容量との組に対応する前記t0、trの値を前記遅延モデル記憶手段から取得する第２のセル遅延モデル参照手段と、
前記求められた前記t0、trで定まる入力波形を、前記Rd、Cdの値を含んだ前記ＲＣネットワークの前記Rdの一端に印加して前記ＲＣネットワークの遅延解析を行う遅延計算手段として機能させるための遅延計算プログラム。
【請求項２７】
半導体設計のセルを、前記セルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し且つ該開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想電源と、前記仮想入力波形が印加される内部抵抗Rdと内部容量Cdとの直列回路とで近似した遅延モデルであって、駆動容量Cloadを前記内部容量Cdに並列に接続し、遷移時間tinの入力波形を前記仮想電源に入力したときに前記内部抵抗Rdと前記内部容量Cdとの接続点で観測される出力波形が、前記駆動容量Cloadを接続した前記セルに遷移時間tinの入力波形を入力したときに前記セルの出力で観測される出力波形と一致するように、前記t0、tr、Rd、Cdの値が定められている遅延モデルであり、しかも、遷移時間tinと駆動容量Cloadの複数の組み合わせについて生成された遅延モデルのうち、同じ遷移時間tinを含む遷移時間tinと駆動容量Cloadの全ての組み合わせどうしでは前記Rd、Cdの値が等しくなるように生成された複数の遅延モデルを記憶するデータ記録媒体であって、前記セルの遅延モデルの前記Rd、Cdの値を前記遷移時間tinに対応付けて第１のテーブルに記憶し、前記t0、trの値を前記遷移時間tinおよび前記駆動容量Cloadの組に対応付けて第２のテーブルに記憶するデータ記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体設計時に使用される遅延解析システムに関し、特にセルの出力端子を１以上含むネットの信号伝達遅延計算に使用する遅延解析システムに関する。
【背景技術】
【０００２】
半導体集積回路の設計においては、遅延時間の計算は重要であり、高性能な半導体集積回路を設計するためには高速かつ高精度な遅延解析装置が要求される。近年のLSI技術の発展に伴い、非ツリー型のクロック構造が注目されており、遅延時間計算の重要性はより一層増大している。
【０００３】
一般に、この種の遅延解析装置は、回路シミュレータ方式と静的遅延解析方式の二つに大別される。
【０００４】
回路シミュレータ方式による遅延解析装置の一例が非特許文献１に記載されている。回路シミュレータ方式では、セル内のアナログ部品を専用のモデルによりモデル化し、モデル化されたアナログ部品の動作をシミュレートして遅延解析結果を得る。
【０００５】
静的遅延解析方式による遅延解析装置の一例が特許文献１に記載されている。静的遅延解析方式では、回路シミュレータ方式のようにセル内のアナログ部品を専用のモデルでモデル化するのではなく、セルをより単純にモデル化する。例えば特許文献１では、セルを抵抗と容量の直列回路で近似したモデルを使用し、抵抗の一端にセルの入力波形を印加し、抵抗の他端から出力される波形をセルの出力波形として扱う。
【０００６】
【非特許文献１】Nagal,L.W.,''SPICE2:A Computer Program to Simulate Semiconductor Circuits,''Berkeley,Univ. of California, Electronic Research Laboratory. ERL-M520, 1975.
【非特許文献２】Lawrence T.Pillage and Ronald.A.Rohrer,''Asymptotic Waveform Evaluation for Timing Analysis,''IEEE transactions on computer aided design,1990.
【非特許文献３】Kevin J.Kerns and Andrew T.Yang,''Stable and Efficient Reduction of Large,Multiport RC Networks by Pole Analysis via Congruence Transformations,''ACM proc of 33rd Design Automation Conference,1996.
【非特許文献４】A.Odabasioglu,M.Celik and L.T.Pillegi,''PRIMA:passive reduced-order interconnect macromodeling algorithm'',Proc of ICCAD,1997.
【特許文献１】特開2003-58596号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、回路シミュレータ方式と静的遅延解析方式とにはそれぞれ一長一短がある。回路シミュレータ方式では、セル内のアナログ部品を専用の部品でモデル化するため、解析精度は高いが、モデルは一般に多数のパラメタにより構成されるために複雑になり、その分、解析時間が長くなる。他方、静的遅延解析方式は、単純なモデルを使用するため、解析時間は短くなるが、解析精度が回路シミュレータ方式よりも低くなる。特に、特許文献１のように、セルを抵抗と容量の直列回路で近似し、抵抗の一端にセルの入力波形そのものを印加するモデルでは、抵抗と容量の値の組み合わせのみでセルの遅延特性を近似するため、精度を高めるのは困難である。
【０００８】
本発明の目的は、半導体設計のセルの遅延解析を精度良く且つ高速に行うことのできる遅延解析システムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の第１の遅延解析システムは、セルを、前記セルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し且つ該開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想電源と、前記仮想入力波形が印加される内部抵抗Rdと内部容量Cdとの直列回路とで近似した遅延モデルを生成するセル遅延モデル生成手段と、前記セル遅延モデル生成手段で生成された遅延モデルを記憶する遅延モデル記憶手段と、前記遅延モデルを使用して、セルの出力端子を１以上含むネットワークの信号伝達遅延を計算する遅延計算手段とを備える。
【００１０】
本発明の第１のセル遅延モデル生成装置は、セルを、前記セルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し且つ該開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想電源と、前記仮想入力波形が印加される内部抵抗Rdと内部容量Cdとの直列回路とで近似した遅延モデルであって、駆動容量Cloadを前記内部容量Cdに並列に接続し、遷移時間tinの入力波形を前記仮想電源に入力したときに前記内部抵抗Rdと前記内部容量Cdとの接続点で観測される出力波形が、前記駆動容量Cloadを接続した前記セルに遷移時間tinの入力波形を入力したときに前記セルの出力で観測される出力波形と一致するように、前記t0、tr、Rd、Cdの値が定められている遅延モデルを、遷移時間tinと駆動容量Cloadの複数の組み合わせについて生成する手段であって、同じ遷移時間tinを含む遷移時間tinと駆動容量Cloadの全ての組み合わせどうしでは前記Rd、Cdの値が等しくなるように遅延モデルを生成するセル遅延モデル生成手段と、前記セル遅延モデル生成手段で生成された前記セルの遅延モデルの前記Rd、Cdの値を前記遷移時間tinに対応付けて記憶し、前記t0、trの値を前記遷移時間tinおよび前記駆動容量Cloadの組に対応付けて記憶する遅延モデル記憶手段とを備える。
【００１１】
本発明の遅延計算装置は、半導体設計のセルを、前記セルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し且つ該開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想電源と、前記仮想入力波形が印加される内部抵抗Rdと内部容量Cdとの直列回路とで近似した遅延モデルであって、駆動容量Cloadを前記内部容量Cdに並列に接続し、遷移時間tinの入力波形を前記仮想電源に入力したときに前記内部抵抗Rdと前記内部容量Cdとの接続点で観測される出力波形が、前記駆動容量Cloadを接続した前記セルに遷移時間tinの入力波形を入力したときに前記セルの出力で観測される出力波形と一致するように、前記t0、tr、Rd、Cdの値が定められている遅延モデルであり、しかも、遷移時間tinと駆動容量Cloadの複数の組み合わせについて生成された遅延モデルのうち、同じ遷移時間tinを含む遷移時間tinと駆動容量Cloadの全ての組み合わせどうしでは前記Rd、Cdの値が等しくなるように生成された複数の遅延モデルを記憶する遅延モデル記憶手段と、セルおよび配線情報を含む回路データを記憶する回路データ記憶手段と、前記回路データに含まれるセルの入力波形を所定形状の入力波形に変換する入力波形変換手段と、前記変換されて得られた入力波形の遷移時間に対応する前記Rd、Cdの値を前記遅延モデル記憶手段から取得する第１のセル遅延モデル参照手段と、前記第１のセル遅延モデル参照手段で取得された前記Rd、Cdの値を含んだＲＣネットワークを生成するＲＣネットワーク生成手段と、前記生成されたＲＣネットワークからセルの実効駆動容量を計算する実効駆動容量計算手段と、前記変換されて得られた入力波形の遷移時間と前記計算された実効駆動容量との組に対応する前記t0、trの値を前記遅延モデル記憶手段から取得する第２のセル遅延モデル参照手段と、前記求められた前記t0、trで定まる入力波形を、前記Rd、Cdの値を含んだ前記ＲＣネットワークの前記Rdの一端に印加して前記ＲＣネットワークの遅延解析を行う遅延計算手段とを備える。
【００１２】
本発明の第１の遅延解析方法は、ａ）セル遅延モデル生成装置が、セルを、前記セルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し且つ該開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想電源と、前記仮想入力波形が印加される内部抵抗Rdと内部容量Cdとの直列回路とで近似した遅延モデルであって、駆動容量Cloadを前記内部容量Cdに並列に接続し、遷移時間tinの入力波形を前記仮想電源に入力したときに前記内部抵抗Rdと前記内部容量Cdとの接続点で観測される出力波形が、前記駆動容量Cloadを接続した前記セルに遷移時間tinの入力波形を入力したときに前記セルの出力で観測される出力波形と一致するように、前記t0、tr、Rd、Cdの値が定められている遅延モデルを、遷移時間tinと駆動容量Cloadの複数の組み合わせについて生成する手段であって、同じ遷移時間tinを含む遷移時間tinと駆動容量Cloadの全ての組み合わせどうしでは前記Rd、Cdの値が等しくなるように遅延モデルを生成し、該生成した前記セルの遅延モデルの前記Rd、Cdの値を前記遷移時間tinに対応付けて遅延モデル記憶手段に記憶し、前記t0、trの値を前記遷移時間tinおよび前記駆動容量Cloadの組に対応付けて前記遅延モデル記憶手段に記憶するステップと、ｂ）遅延計算装置が、遅延計算を行うステップとを含み、前記ステップｂは、ｂ−１）入力波形変換手段が、セルおよび配線情報を含む回路データに含まれるセルの入力波形を所定形状の入力波形に変換するステップと、ｂ−２）第１のセル遅延モデル参照手段が、前記変換されて得られた入力波形の遷移時間に対応する前記Rd、Cdの値を前記遅延モデル記憶手段から取得するステップと、ｂ−３）ＲＣネットワーク生成手段が、前記第１のセル遅延モデル参照手段で取得された前記Rd、Cdの値を含んだＲＣネットワークを生成するステップと、ｂ−４）実効駆動容量計算手段が、前記生成されたＲＣネットワークからセルの実効駆動容量を計算するステップと、ｂ−５）第２のセル遅延モデル参照手段が、前記変換されて得られた入力波形の遷移時間と前記計算された実効駆動容量との組に対応する前記t0、trの値を前記遅延モデル記憶手段から取得するステップと、ｂ−６）遅延計算手段が、前記求められた前記t0、trで定まる入力波形を、前記Rd、Cdの値を含んだ前記ＲＣネットワークの前記Rdの一端に印加して前記ＲＣネットワークの遅延解析を行うステップとを含む。
【００１３】
本発明の第１のセル遅延モデル生成プログラムは、遅延モデル記憶手段を備えたコンピュータを、セルを、前記セルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し且つ該開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想電源と、前記仮想入力波形が印加される内部抵抗Rdと内部容量Cdとの直列回路とで近似した遅延モデルであって、駆動容量Cloadを前記内部容量Cdに並列に接続し、遷移時間tinの入力波形を前記仮想電源に入力したときに前記内部抵抗Rdと前記内部容量Cdとの接続点で観測される出力波形が、前記駆動容量Cloadを接続した前記セルに遷移時間tinの入力波形を入力したときに前記セルの出力で観測される出力波形と一致するように、前記t0、tr、Rd、Cdの値が定められている遅延モデルを、遷移時間tinと駆動容量Cloadの複数の組み合わせについて生成する手段であって、同じ遷移時間tinを含む遷移時間tinと駆動容量Cloadの全ての組み合わせどうしでは前記Rd、Cdの値が等しくなるように遅延モデルを生成し、該生成した前記セルの遅延モデルの前記Rd、Cdの値を前記遷移時間tinに対応付けて遅延モデル記憶手段に記憶し、前記t0、trの値を前記遷移時間tinおよび前記駆動容量Cloadの組に対応付けて前記遅延モデル記憶手段に記憶する遅延モデル生成手段として機能させる。
【００１４】
本発明の遅延計算プログラムは、半導体設計のセルを、前記セルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し且つ該開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想電源と、前記仮想入力波形が印加される内部抵抗Rdと内部容量Cdとの直列回路とで近似した遅延モデルであって、駆動容量Cloadを前記内部容量Cdに並列に接続し、遷移時間tinの入力波形を前記仮想電源に入力したときに前記内部抵抗Rdと前記内部容量Cdとの接続点で観測される出力波形が、前記駆動容量Cloadを接続した前記セルに遷移時間tinの入力波形を入力したときに前記セルの出力で観測される出力波形と一致するように、前記t0、tr、Rd、Cdの値が定められている遅延モデルであり、しかも、遷移時間tinと駆動容量Cloadの複数の組み合わせについて生成された遅延モデルのうち、同じ遷移時間tinを含む遷移時間tinと駆動容量Cloadの全ての組み合わせどうしでは前記Rd、Cdの値が等しくなるように生成された複数の遅延モデルを記憶する遅延モデル記憶手段と、セルおよび配線情報を含む回路データを記憶する回路データ記憶手段とを備えたコンピュータを、前記回路データに含まれるセルの入力波形を所定形状の入力波形に変換する入力波形変換手段と、前記変換されて得られた入力波形の遷移時間に対応する前記Rd、Cdの値を前記遅延モデル記憶手段から取得する第１のセル遅延モデル参照手段と、前記第１のセル遅延モデル参照手段で取得された前記Rd、Cdの値を含んだＲＣネットワークを生成するＲＣネットワーク生成手段と、前記生成されたＲＣネットワークからセルの実効駆動容量を計算する実効駆動容量計算手段と、前記変換されて得られた入力波形の遷移時間と前記計算された実効駆動容量との組に対応する前記t0、trの値を前記遅延モデル記憶手段から取得する第２のセル遅延モデル参照手段と、前記求められた前記t0、trで定まる入力波形を、前記Rd、Cdの値を含んだ前記ＲＣネットワークの前記Rdの一端に印加して前記ＲＣネットワークの遅延解析を行う遅延計算手段として機能させる。
【００１５】
本発明の第１のデータ記録媒体は、半導体設計のセルを、前記セルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し且つ該開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想電源と、前記仮想入力波形が印加される内部抵抗Rdと内部容量Cdとの直列回路とで近似した遅延モデルであって、駆動容量Cloadを前記内部容量Cdに並列に接続し、遷移時間tinの入力波形を前記仮想電源に入力したときに前記内部抵抗Rdと前記内部容量Cdとの接続点で観測される出力波形が、前記駆動容量Cloadを接続した前記セルに遷移時間tinの入力波形を入力したときに前記セルの出力で観測される出力波形と一致するように、前記t0、tr、Rd、Cdの値が定められている遅延モデルであり、しかも、遷移時間tinと駆動容量Cloadの複数の組み合わせについて生成された遅延モデルのうち、同じ遷移時間tinを含む遷移時間tinと駆動容量Cloadの全ての組み合わせどうしでは前記Rd、Cdの値が等しくなるように生成された複数の遅延モデルを記憶するデータ記録媒体であって、前記セルの遅延モデルの前記Rd、Cdの値を前記遷移時間tinに対応付けて第１のテーブルに記憶し、前記t0、trの値を前記遷移時間tinおよび前記駆動容量Cloadの組に対応付けて第２のテーブルに記憶する。
【発明の効果】
【００１６】
本発明によれば、半導体設計のセルの遅延解析を高速に行うことができる。その理由は、必要なセル遅延モデルを事前に作成しておけば、回路データの遅延計算時には、回路シミュレータを用いることなく静的遅延解析により遅延計算が行えるからである。
【００１７】
また本発明によれば、半導体設計のセルの遅延解析を高精度に行うことができる。その理由は、内部抵抗と内部容量に加えて、セルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し且つ該開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想電源を特徴付けるt0とtrの合計４つのパラメタで規定されるセル遅延モデルを使用しているため、内部抵抗と内部容量の２パラメタで規定されるセル遅延モデルを使用する場合に比べて、モデル精度が向上するためである。
【発明を実施するための最良の形態】
【００１８】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００１９】
図１を参照すると、本発明の実施の形態に係る遅延解析システムは、セル遅延モデル生成手段１０３および遅延計算手段１０６を有するデータ処理装置ＣＯＮＴと、回路シミュレータ１０１、回路シミュレータ用アナログ部品モデル１０２、セル遅延モデル１０４、回路データ１０５および遅延解析結果１０７を記憶する記憶装置ＭＥＭ１〜ＭＥＭ５とから構成される。
【００２０】
データ処理装置ＣＯＮＴは、例えばコンピュータのＣＰＵで構成され、記憶装置ＭＥＭ１〜ＭＥＭ５は、例えばコンピュータの主記憶や補助記憶で構成される。また、セル遅延モデル生成手段１０３および遅延計算手段１０６は、ＣＰＵ上で実行されるプログラムで実現される。プログラムは、ＣＤ−ＲＯＭ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、コンピュータの動作を制御することにより、コンピュータ上にセル遅延モデル生成手段１０３および遅延計算手段１０６を実現する。
【００２１】
セル遅延モデル生成手段１０３は、セル遅延モデル１０４を生成する手段であり、遅延計算手段１０６は、生成されたセル遅延モデル１０４を使用して、回路データ１０５の遅延計算を行う手段である。
【００２２】
セル遅延モデル１０４は、セルを、仮想電源と内部抵抗Rdと内部容量Cdとの直列回路で近似したモデルである。仮想電源は、セルの入力波形が所定レベルに達した時点からt0時間の経過後に遷移を開始し、遷移を開始した時点からtr時間の経過後に遷移を終了する仮想入力波形を生成する仮想的な電源である。従って、セル遅延モデル１０４は、Rd、Cd、t0、trの合計４つのパラメタで構成される。
【００２３】
ここで、セル遅延モデル１０４は、駆動容量Cloadを内部容量Cdに並列に接続し、遷移時間tinの入力波形を仮想電源に入力したときに内部抵抗Rdと内部容量Cdとの接続点で観測される出力波形が、実際のセルに同じ駆動容量Cloadを接続して同じ遷移時間tinの入力波形を入力したときにセルの出力で観測される出力波形と一致するように、t0、tr、Rd、Cdの値が定められている。ここで、実際のセルに同じ駆動容量Cloadを接続して同じ遷移時間tinの入力波形を入力したときにセルの出力で観測される出力波形は、セル用の回路シミュレータ用アナログ部品モデル１０２を使用して正確にモデル化したセルに、駆動容量Cloadを接続して、遷移時間tinの入力波形を入力したときに観測される出力波形を回路シミュレータ１０１によってシミュレートすることによって取得する。
【００２４】
また、セル遅延モデル１０４は、半導体設計の各種類のセル（例えばナンドゲートなど）毎に、遷移時間tinと駆動容量Cloadの複数の組み合わせについて生成される。そして、一つのセルについて、同じ遷移時間tinを含む遷移時間tinと駆動容量Cloadの全ての組み合わせどうしでは、Rd、Cdの値が等しくなるように生成されている。このため、記憶装置ＭＥＭ３は、セル遅延モデル１０４のRd、Cdの値を遷移時間tinに対応付けて記憶し、t0、trの値を遷移時間tinおよび駆動容量Cloadの組に対応付けて記憶している。
【００２５】
回路データ１０５は、設計されたセルおよび配線の情報を含んでいる。回路データ１０５は、半導体設計において、回路の物理設計を行い、配線情報に基づいて各ネットの抵抗と容量を決定した段階で作成される。遅延計算手段１０６は、セル遅延モデル１０４を用いて回路データ１０５に対して遅延計算を行い、遅延解析結果１０７を出力する。この遅延解析結果１０７により、回路データ１０５が設計要求を満たすかどうかの判定が行われる。
【００２６】
図２を参照すると、セル遅延モデル生成手段１０３は、回路シミュレータ用回路データ生成手段２０１、回路シミュレータ実行手段２０３およびセル遅延モデル生成手段２０５とで構成される。また、セル遅延モデル生成の過程で生成される中間データを記憶する記憶装置ＭＥＭ２１が接続されている。
【００２７】
このように構成されたセル遅延モデル生成手段１０３は、概ね以下のように動作する。すなわち、まず回路シミュレータ用回路データ生成手段２０１は、回路シミュレータ用回路データ２０２を生成して記憶装置ＭＥＭ２１に保存する。次に、回路シミュレータ実行手段２０３は、回路シミュレータ用回路データ２０２中のセルを回路シミュレータ用アナログ部品モデル１０２を使ってモデル化した上で、回路シミュレータ用回路データ２０２を回路シミュレータ１０１によってシミュレートし、その実行結果２０４を記憶装置ＭＥＭ２１に保存する。次に、セル遅延モデル生成手段２０５は、回路シミュレータ実行結果２０４に基づいてセル遅延モデル１０４を生成し、記憶装置ＭＥＭ３に保存する。
【００２８】
以下、回路シミュレータ用回路データ生成手段２０１、回路シミュレータ実行手段２０３、セル遅延モデル生成手段２０５の詳細について説明する。
【００２９】
まず、回路シミュレータ用回路データ生成手段２０１について説明する。
【００３０】
回路シミュレータ用回路データ生成手段２０１は、図４に示す回路を表現する回路シミュレータ用回路データ２０２を生成する。図４において、セルAは、遅延モデルを生成する対象のセルである。電圧源Vinは、RAMP波形を発生する。RAMP波形とは、時刻t1からt2にかけて一定の速度で電圧が上昇する波形である。tin=t2-t1とし、tinを電圧源Vinの遷移時間と呼ぶ。Cloadは、セルの出力端子に取り付ける容量値である。VDDは、理想電源であり、その電圧は常にセルAに印加するための標準電圧を維持する。GNDは、接地を示す。
【００３１】
回路シミュレータ用回路データ生成手段２０１は、CloadをN通りに変化させ、電圧源Vinの遷移時間tinをM通りに変化させ、電圧源Vinの遷移形態を上昇波形と下降波形の2通りに変化させ、回路シミュレータ用回路データ２０２を生成する。上記のように変化させるため、合計で2xMxN通りの回路シミュレータ用回路データ２０２が生成される。それらをDATA(w,m,n)と呼ぶことにする。ただしw={R,F},m={1,2,…,M},n={1,2,…,N}である。Rは電圧源Vinの遷移形態が上昇波形の場合を示し、Fは下降波形の場合を示す。典型的にはMとNはそれぞれ5以上かつ10以下である。
【００３２】
次に、回路シミュレータ実行手段２０３について説明する。
【００３３】
回路シミュレータ実行手段２０３は、回路シミュレータ用回路データ２０２と遅延モデル生成対象セルの回路シミュレータ用アナログ部品モデル１０２とを入力として、図４に示した回路の遅延のシミュレーションを回路シミュレータ１０１により実行する。具体的には、図４の電圧源Vinを、回路シミュレータ用回路データ２０２に含まれるw、tinに一致する入力波形を発生する電圧源に設定し、また図４のCloadを、回路シミュレータ用回路データ２０２に含まれるCloadに一致する容量に設定し、電圧源Vinで生成された入力波形がセルAに入力された場合のセルAの出力波形を、セルAの回路シミュレータ用アナログ部品モデルに基づいてシミュレーションする。
【００３４】
回路シミュレータ１０１による出力波形の遷移形態が上昇波形になる場合の解析結果例を図５に示す。図５において、破線で示す入力波形は図４の電圧源VinからセルAに入力された波形、実線で示す出力波形は、シミュレートされたセルAの出力波形である。出力波形を特定するために、予め三つの電圧V1,VC,V2を決めておく。典型的には、VDD*0.1≦V1≦VDD*0.3、VC=VDD*0.5、VDD*0.7≦V2≦VDD*0.9とする。回路シミュレータ１０１は、出力波形の遷移形態が上昇波形ならば次の三つの数値を回路シミュレータ実行結果として抽出する。
【００３５】
1.入力波形の電圧がVCになってから出力波形の電圧がV1になるまでの時間t1(w,m,n)。
2.入力波形の電圧がVCになってから出力波形の電圧がVCになるまでの時間tc(w,m,n)。
3.入力波形の電圧がVCになってから出力波形の電圧がV2になるまでの時間t2(w,m,n)。
【００３６】
また、出力波形の遷移時間が下降波形ならば、図６に示すように次の三つの数値を抽出する。
【００３７】
1.入力波形の電圧がVCになってから出力波形の電圧がV2になるまでの時間t1(w,m,n)。
2.入力波形の電圧がVCになってから出力波形の電圧がVCになるまでの時間tc(w,m,n)。
3.入力波形の電圧がVCになってから出力波形の電圧がV1になるまでの時間t2(w,m,n)。
【００３８】
抽出されたt1(w,m,n),tc(w,m,n),t2(w,m,n)は回路シミュレータ実行結果２０４として保存される。
【００３９】
回路シミュレータ１０１は、回路シミュレータ用回路データ２０２に含まれる2xMxN個のデータ全てに適用される。従って、回路シミュレータ実行結果２０４の総数は、１種類のセル当たり、2xMxN個になる。
【００４０】
次に、遅延モデル生成手段２０５について説明する。
【００４１】
図７に示す回路において、Naに現れる波形Va(t)が図８に示すように、
Va(t)=(t-t0)/tr    (t0≦t≦t0+tr)
Va(t)=1            (t＞t0+tr)
で表されるRAMP波形である場合、Nbに現れる波形Vb(t)は、
Vb(t)=(t-t0)/tr+1/tr/p*(1-exp(p(t-t0)))    (t0≦t≦t0+tr)
Vb(t)=1-(1-Vr)exp(p(t-t0))                (t＞t0+tr)
で表される。ただしVr=Vb(tr),p=-1/R/Cである。
【００４２】
セル遅延モデル生成手段２０５は、回路シミュレータ実行結果２０４に格納された全てのt1(w,m,n),tc(w,m,n),t2(w,m,n)について、|Vb(t1(w,m,n))-V1|+|Vb(tc(w,m,n))-VC|+|Vb(t2(w,m,n))-V2|がもっとも小さくなるt0(w,m,n),tr(w,m,n),p(w,m,n)の組み合わせを求める。これにより、図９に示すように、Vinで示される入力波形tin(w,m)と容量Cload(n)が与えられた場合のVvirで示される仮想電源波形t0(w,m,n),tr(w,m,n)が求められ、またVoutで示される出力波形が回路シミュレータ実行結果２０４に近くなるように、p(w,m,n)が決定される。
【００４３】
次に、各入力波形tin(w,m)について、Rd(w,m)、Cd(w,m)を求める。この計算は、p(w,m,n)=-1/Rd(w,m)(Cd(w,m)+Cload(n))に基づく。
n=1について、p(w,m,1)=-1/Rd(w,m)(Cd(w,m)+Cload(1))である。
n=Nについて、p(w,m,N)=-1/Rd(w,m)(Cd(w,m)+Cload(N))である。
【００４４】
上の２つの式は、Cloadは相違するが、RdとCdは同じである。従って、上の式を連立させて解けば、各入力波形tin(w,m)について１種類のRd(w,m)、Cd(w,m)が求まる。ここでは、RdをCdより精度良く求めるために、上記連立式からは、次式により、Cd(w,m)のみを求める。
Cd(w,m)=(-p(w,m,1)Cload(1)+p(w,m,N)Cload(N))/(p(w,m,1)-p(w,m,N))
【００４５】
次に、全てのn(1≦n≦N)について、Rn=-1/p(w,m,n)(Cd(w,m)+Cload(n))を求め、その平均をRd(n)とする。したがって、Rd(n)=(R1+R2+...+RN)/Nである。
【００４６】
セル遅延モデル生成手段２０５は、回路シミュレータ実行結果２０４に格納された全てのt1(w,m,n),tc(w,m,n),t2(w,m,n)について求めた、仮想電源波形t0(w,m,n)、tr(w,m,n)、Rd(w,m)、Cd(w,m)をセル遅延モデルとして保存する。
【００４７】
セル遅延モデル１０４は、以下のような形式で記憶装置ＭＥＭ３に格納される。まず、セル遅延モデル生成手段２０５により計算されたRd(w,m)およびCd(w,m)は、入力波形の遷移時間tinに対する一次元テーブルとして、入力波形の遷移形態が上昇波形か下降波形かに応じて、図１０（ａ）、図１０（ｂ）のように格納される。次に、t0(w,m,n)およびtr(w,m,n)は、入力波形の遷移時間tinとセルの出力端子に取り付けた容量Cloadに対する二次元テーブルとして、入力波形の遷移形態が上昇波形か下降波形かに応じて、図１１（ａ）、図１１（ｂ）のように格納される。なお、図１０（ａ）、図１０（ｂ）、図１１（ａ）、図１１（ｂ）で示される４つのテーブルは、或る１つのセルに対応する遅延モデルであり、このようなテーブルが種類の異なるセル毎に作成されて、ライブラリとして保存される。
【００４８】
図３−１を参照すると、遅延計算手段１０６は、入力波形変換手段３０２、セル遅延モデル一次元テーブル参照手段３０４、ＲＣネットワーク生成手段３０６、実効駆動容量計算手段３０８、セル遅延モデル二次元テーブル参照手段３１０およびＭＯＲ（Model Order Reduction）遅延計算手段３１２で構成される。また、遅延計算の過程で生成される中間データを記憶する記憶装置ＭＥＭ３１が接続されている。
【００４９】
このように構成された遅延計算手段１０６は、概ね以下のように動作する。すなわち、まず入力波形変換手段３０２は、遅延計算対象となるセルの入力波形をRAMP波形に変換して記憶装置ＭＥＭ３１に記憶する。次に、セル遅延モデル一次元テーブル参照手段３０４は、セルの種類および入力RAMP波形３０３のtinに基づいてセル遅延モデル１０４から内部抵抗Rd、内部容量Cdを取得して記憶装置ＭＥＭ３１に記憶する。次に、ＲＣネットワーク生成手段３０６は、回路データ１０５と内部抵抗Rd、内部容量CdとからＲＣネットワーク３０７を生成して記憶装置ＭＥＭ３１に記憶する。次に、実効駆動容量計算手段３０８は、ＲＣネットワーク３０７の実効駆動容量３０９を計算して記憶装置ＭＥＭ３１に記憶する。次に、セル遅延モデル二次元テーブル参照手段３１０は、実効駆動容量３０９と入力RAMP波形３０３のtinに基づいてセル遅延モデル１０４から仮想電源波形のto、trを取得して記憶装置ＭＥＭ３１に記憶する。次に、ＭＯＲ遅延計算手段３１２は、ＲＣネットワーク３０７と仮想電源波形のto、trとから遅延計算対象となるセルを含むＲＣネットワークの遅延計算を行い、その結果を記憶装置ＭＥＭ５に記憶する。なお、実効駆動容量計算手段３０８の処理の過程で、実効駆動容量計算手段３０８からセル遅延モデル二次元テーブル参照手段３１０およびＭＯＲ遅延計算手段３１２が呼び出される場合がある。
【００５０】
図３−２は、遅延計算手段１０６の上記の処理の流れを示す動作説明図である。以下、遅延計算手段１０６を構成する各要素について、その機能を説明する。
【００５１】
まず、入力波形変換手段３０２について説明する。
【００５２】
セルの入力波形は、図１２に示すように、一般的に曲線である。入力波形変換手段３０２は、この曲線をRAMP波形に変換する。その際、入力波形の電圧がVcに到達する時刻とRAMP波形の電圧がVcに到達する時刻とが一致し、入力波形の電圧がV1に達してからV2に達するまでの時間とRAMP波形の電圧がV1に達してからV2に達するまでの時間とが一致するように、すなわち図１２の補助線とRAMP波形が平行になるように、遷移時間tinを計算する。なお、セルの入力波形は、回路の先頭のセルについては回路データ１０５に記述されており、先頭以外のセルの入力波形はその直前のセルの出力波形により決定される。
【００５３】
次に、セル遅延モデル一次元テーブル参照手段３０４について説明する。
【００５４】
セル遅延モデル一次元テーブル参照手段３０４は、RAMP波形の遷移形態と遷移時間tinを入力として与えられ、セル遅延モデル１０４を参照して、セルの内部抵抗Rdと内部容量Cdを返す。具体的には、以下のような線形補間処理によってRdとCdを求める。
【００５５】
tin(i)≦tin≦tin(i+1)となるiを求める。ただしtin＜tin(1)の場合は、i=1とし、tin＞tin(M)の場合は、i=M-1とする。
Rd=(1-r)Rd(w,i)+rRd(w,i+1)
Cd=(1-r)Cd(w,i)+rCd(w,i+1)
を計算する。ここで
r=(tin-tin(i))/(tin(i+1)-tin(i))
である。
【００５６】
次に、RCネットワーク生成手段３０６について説明する。
【００５７】
図３−２中のRCネットワーク３０７は、回路データ１０５に含まれるネットの一つである。ネットに接続されるセルの出力端子それぞれについて、そのセルの内部抵抗Rdと内部容量Cdはセル遅延モデル一次元テーブル参照手段３０４によって求められている。RCネットワーク生成手段３０６は、ネットが本来持つRCネットワークにRdとCdを接続し、一つのRCネットワークとする。
【００５８】
次に、実効駆動容量計算手段３０８について、ネットがセルの出力端子を一つ含む場合と複数含む場合とにわけて説明する。
【００５９】
まず、ネットがセルの出力端子を一つ含む場合の実効駆動容量計算手段３０８の動作について説明する。
【００６０】
実効駆動容量計算手段３０８は、まず、図１３（ａ）に示すように、RCネットワークの総容量Ctotを計算する。次に、セルの実効駆動容量Ceffを、Ceff=Ctotであると仮定し、セルの実効駆動容量Ceffと入力RAMP波形tinとをセル遅延モデル二次元テーブル参照手段３１０に入力し、仮想電源波形３１１のtrを取得する。このときt0=0とし、セル遅延モデル二次元テーブル参照手段３１０からはt0を取得しない。
【００６１】
次に実効駆動容量計算手段３０８は、RCネットワーク３０７と仮想電源波形３１１とをMOR遅延計算手段３１２に入力し、出力波形Voutを得る。また、抵抗値Rdの抵抗と容量値Ctotの一つの容量とを電圧源に接続した回路と上と同じ仮想電源波形をMOR遅延計算手段に入力し、波形Vmodelを得る。VoutとVmodelを比較すると、Vmodelの方が変化が遅い。この現象はシールド効果と呼ばれ、セルの駆動する容量の一部が抵抗により隠され、セルはCtotよりも小さな容量を駆動するように見える現象である。
【００６２】
一方、図１３（ｂ）に示すように、セルの実効駆動容量Ceffを、Ceff=Cdであると仮定し、上記の操作と同じことを行った場合、Vmodelの波形はVoutの波形より速く変化する。これはセルの駆動する容量の全部は隠されないことを意味する。
【００６３】
したがって、セルの実効駆動容量CeffはCd＜Ceff＜Ctotを満たす。実効駆動容量計算手段３０８は、二分探索法などの手段により、さまざまなCeffを仮定し、上記の操作を繰り返し、図１３（ｃ）に示すようにVoutの波形とVmodelの波形が最も近くなるCeffを探索する。このとき、0≦t≦trを満たす時刻tにおいて、Voutの波形とVmodelの波形の誤差を調べれば、高速かつ十分に精度の良い計算ができる。
【００６４】
次に、ネットがセルの出力端子をJ個(J≧2)含む場合の実効駆動容量計算手段３０８の動作について説明する。
【００６５】
ネットがセルの出力端子を複数含む場合、実効駆動容量計算手段３０８は、反復的な計算手法により各出力セルj(1≦j≦J)の実効駆動容量Ceff(j)を計算する。以下、図１４のフローチャートに沿って説明する。
【００６６】
初期値算出ステップS1では、各セルjについてCeff(j)=Ctot/J（=各ネットの総容量をセル数で割った値）とし、入力RAMP波形の遷移時間tin(j)とCeff(j)をセル遅延モデル二次元テーフル参照手段３１０に入力し、仮想電源波形trを得る。
【００６７】
次に、jを1とし、1番目のセルに注目する（ステップS2）。
【００６８】
次に、Ceff(j)更新ステップS3では、注目中のセル以外のセルの実効駆動容量は固定し、注目中のセルについて、前述のセルの出力端子を一つ含むネットと同様の処理を行い、注目中のセルの実効駆動容量を更新する。具体的には、図１５にj=1の場合の例を示すように、Cd(j)からCtotの範囲でさまざまなCeff(j)を仮定し、実効駆動容量Ceff(j)と出力セルjの入力RAMP波形tin(j)をセル遅延モデル二次元テーブル参照手段３１０に入力し、出力セルjの仮想電源波形tr(j)を取得する。RCネットワークと全ての出力セルの仮想電源波形tr(i)(1≦i≦J)とをMOR遅延計算手段３１２に入力し、出力セルjの出力波形Vout(j)を得る。また、抵抗値Rd(j)の抵抗と容量値Ceff(j)の容量を電圧源に接続した回路とセルjの仮想電源波形をMOR遅延計算手段３１２に入力し、波形Vmodel(j)を得る。Ceff(j)をVout(j)とVmodel(j)が最も近くなるものに置き換える。
【００６９】
次に、jがセル数Jでなければ（ステップS4でno）、jを+1し（ステップS5）、ステップS3に戻って、上述した処理と同様の処理を行う。
【００７０】
全てのセルに注目した処理を終えると（ステップS4でyes）、実効駆動容量計算手段３０８は、収束判定ステップS6に進む。収束判定ステップS6における判定条件は、必要な精度と計算速度を考慮して予め決められている。例えば、計算速度が必要なときは、常にyesを返すことにしても良いし、一回目の収束判定はnoを返し、二回目の収束判定はyesを返すなどにしても良い。他方、精度が必要なときは、任意のjについてCeff(j)の変化量が10%以下ならば、yesを返すなどにしても良い。
【００７１】
次に、セル遅延モデル二次元テーブル参照手段３１０について説明する。
【００７２】
セル遅延モデル二次元テーブル参照手段３１０は、RAMP波形を表現する遷移形式w、遷移時間tin、セルの実効駆動容量Ceffを入力として与えられ、セル遅延モデル１０４を参照して、仮想電源波形の遷移開始時間t0および遷移時間trを返す。具体的には、以下のような二次元線形補間処理によってt0、trを求める。
【００７３】
tin(i)≦tin≦tin(i+1)となるiを求める。ただしtin＜tin(1)の場合は、i=1とし、tin＞tin(M)の場合は、i=M-1とする。
【００７４】
Ceff(j)≦Ceff≦Ceff(j+1)となるjを求める。ただしCeff＜Ceff(1)の場合は、j=1とし、Ceff＞Ceff(N)の場合は、j=N-1とする。
【００７５】
t0=(t0(w,i+1,j+1)-t0(w,i+1,j)-t0(w,i,j+1)+t0(w,i,j))xy+(t0(w,i,j+1)-t0(w,i,j))x+(t0(w,i+1,j)-t0(w,i,j))y+t0(w,i,j)
tr=(tr(w,i+1,j+1)-tr(w,i+1,j)-tr(w,i,j+1)+tr(w,i,j))xy+(tr(w,i,j+1)-tr(w,i,j))x+(tr(w,i+1,j)-tr(w,i,j))y+tr(w,i,j)
を計算する。ここで
x=(Ceff-Ceff(i))/(Ceff(i+1)-Ceff(i))
y=(tin-tin(i))/(tin(i+1)-tin(i))
である。
【００７６】
MOR遅延計算手段３１２は仮想電源波形t0,trとRCネットワークを入力し、Model Order Reductionと呼ばれる手法により、次段のセルの入力端子の信号波形を計算する。MOR遅延計算手段３１２の動作については、既に良く知られているので、その説明を省略する。Model Order Reductionは非特許文献２、非特許文献３、非特許文献４を始めとしてさまざまな手法が公知であるが、本システムにはそのどれを組み込んでも良い。
【００７７】
次に本実施の形態の効果を説明する。
【００７８】
本実施の形態によれば、半導体設計のセルの遅延解析を高速に行うことができる。その理由は、必要なセル遅延モデル１０４を事前に作成しておけば、回路データ１０５の遅延計算時には、回路シミュレータを用いることなく静的遅延解析により遅延計算が行えるからである。
【００７９】
また本実施の形態によれば、半導体設計のセルの遅延解析を高精度に行うことができる。その理由は、内部抵抗と内部容量に加えて、セルの入力波形から仮想入力波形を生成する仮想電源を特徴付けるt0とtrの合計４つのパラメタで規定されるセル遅延モデルを使用しているため、内部抵抗と内部容量の２パラメタで規定されるセル遅延モデルを使用する場合に比べて、モデル精度が向上するためである。
【００８０】
また本実施の形態によれば、図１６に例示するようなセルの出力端子を複数含むネットの信号伝達遅延を解析することができる。その理由は、セルの出力端子を含むネットの解析ではセル内部の抵抗成分をモデル化することが必要であるが、本実施の形態では内部抵抗Cdとしてモデル化しているためである。また、セルの出力端子を複数含むネットにおける各セルの実効駆動容量を計算する手法を確立し、遅延計算にＭＯＲ遅延計算を使用しているためである。
【００８１】
また本実施の形態によれば、図１７に例示するようなループを含むネットの信号伝達遅延を解析することができる。その理由は、遅延計算にＭＯＲ遅延計算を使用しているためである。
【図面の簡単な説明】
【００８２】
【図１】本発明の実施の形態の構成を示すブロック図である。
【図２】本発明の実施の形態におけるセル遅延モデル生成手段の構成を示すブロック図である。
【図３−１】本発明の実施の形態における遅延計算手段の構成を示すブロック図である。
【図３−２】本発明の実施の形態における遅延計算手段の処理の流れの説明図である。
【図４】本発明の実施の形態における回路シミュレータ用回路データ生成手段が生成する回路データを示す図である。
【図５】入力波形の遷移形式が上昇である場合の、本発明の実施の形態における回路シミュレータ実行手段による解析結果を示す図である。
【図６】入力波形の遷移形式が下降である場合の、本発明の実施の形態における回路シミュレータ実行手段による解析結果を示す図である。
【図７】本発明の実施の形態におけるセル遅延モデル生成手段の説明に使用する回路図である。
【図８】図７の回路において、NaとNbに現れる波形を示す図である。
【図９】本発明の実施の形態におけるセル遅延モデル生成手段が生成するセル遅延モデルの説明図である。
【図１０】本発明の実施の形態におけるセル遅延モデル生成手段が生成するセル遅延モデルを示す図である。
【図１１】本発明の実施の形態におけるセル遅延モデル生成手段が生成する遅延モデルを示す図である。
【図１２】本発明の実施の形態における入力波形変換手段の入力波形変換処理の説明図である。
【図１３】本発明の実施の形態において、ネットがセルの出力端子を一つだけ含む場合の、実効駆動容量計算手段の動作説明図である。
【図１４】本発明の実施の形態において、ネットがセルの出力端子を複数含む場合の実効駆動容量計算手段の動作のフローチャートである。
【図１５】セルの出力端子を複数含むネットの各セルの実行駆動容量を計算する処理の説明図である。
【図１６】セルの出力端子を複数含むネットの例を示す図である。
【図１７】ループを含むネットの例を示す図である。
【符号の説明】
【００８３】
１０１…回路シミュレータ
１０２…回路シミュレータ用アナログ部品モデル
１０３…セル遅延モデル生成手段
１０４…セル遅延モデル
１０５…回路データ
１０６…遅延計算手段
１０７…遅延解析結果
【図１】
2009199300.tif 000003
【図２】
2009199300.tif 000004
【図３−１】
2009199300.tif 000005
【図３−２】
2009199300.tif 000006
【図４】
2009199300.tif 000007
【図５】
2009199300.tif 000008
【図６】
2009199300.tif 000009
【図７】
2009199300.tif 000010
【図８】
2009199300.tif 000011
【図９】
2009199300.tif 000012
【図１０】
2009199300.tif 000013
【図１１】
2009199300.tif 000014
【図１２】
2009199300.tif 000015
【図１３】
2009199300.tif 000016
【図１４】
2009199300.tif 000017
【図１５】
2009199300.tif 000018
【図１６】
2009199300.tif 000019
【図１７】
2009199300.tif 000020