環境変数HSIM_64に1をセットする事で,64bit版HSIMを利用可能である.
% setenv HSIM_64 1 # csh. tcsh
% export HSIM_64=1 # ksh, bash
これさえあれば,チップレベルのシミュレーションも怖くない!
試しにやってみた.
[11:00]% export HSIM_64=1
[11:00]% hsim
================
**************************************************************************
ERROR : amd64/bin/hsim is not installed under
/mnt/cad/synopsys/hsim_vE-2010.12/hsimplus/platform
and no compatible binary can be found
**************************************************************************
[11:00]%
orz
amd64のバイナリをインストールしてもらおう…
2013年2月8日金曜日
HSPICE/HSIMでRC Reductionを行う(.OPTION SIM_LA/.PARAM HSIMPOSTL)
ポストレイアウトシミュレーションを行う場合,レイアウトから大量のRCが抽出されるためシミュレーションに時間がかかる.HSPICEでは,ネットリスト中の大量のRCを縮約(Reduction)する事でノード数を減らし,シミュレーションを高速化することができる.この場合,SIM_LAオプションを利用する.LAとはLinear Accelerationの略である.
.OPTION SIM_LA = value
valueは[PACT | PI | 0 | 1 | 2]を取り,以下の対応となる.
PACT: PACT(Pole Analysis via Congruence Transforms)アルゴリズムでRC Reductionを行う.PACTアルゴリズムでは,DCでの特性を完全に合わし,同時に指定された周波数f0以下の範囲に存在する極を保存するようにReductionを行う.以下に示すPIより高精度.
f0はLA_FREQオプションで以下のように指定する.
.OPTION LA_FREQ=value
valueが0である場合,Cの情報は消えてしまう.
PI: RCネットワークから等価パイ型モデルを作る.
0: SIM_LAオプションを無効にする(default).
1: PACTを有効にする(.OPTION LA_FREQ=PACTと同じ).
2: PIを有効にする(.OPTION LA_FREQ=PACTと同じ).
HSIMの場合,SIM_LAオプションではなく,変数HSIMPOSTLを指定する事でRC Reductionを行う.
.PARAM HSIMPOSTL = value
valueは[0 | 1 | 2 | 3]を取り,以下の対応となる.
0: RC Reductionを無効にする.
1: RC Reductionを有効にする.
2: RC Reductionを有効にする.
このオプションは,一つのネットに大量のMOSFETのドレイン/ソースがつながっているときに有効.
3: RC Reductionを有効にする.
このオプションは,RC Reductionを行う閾値となる電圧を1mVから10mVに緩和することで,より高速にポストレイアウトシミュレーションを実行可能にする.
マニュアルを読む限り,HSIMのRC Reductionはメモリーやデジタル回路のクロックツリーのシミュレーションを対象としている様だ.従ってHSPICEとは異なり,周波数ドメインの事はあまり考えていないようだ(要調査).
.OPTION SIM_LA = value
valueは[PACT | PI | 0 | 1 | 2]を取り,以下の対応となる.
PACT: PACT(Pole Analysis via Congruence Transforms)アルゴリズムでRC Reductionを行う.PACTアルゴリズムでは,DCでの特性を完全に合わし,同時に指定された周波数f0以下の範囲に存在する極を保存するようにReductionを行う.以下に示すPIより高精度.
f0はLA_FREQオプションで以下のように指定する.
.OPTION LA_FREQ=value
valueが0である場合,Cの情報は消えてしまう.
PI: RCネットワークから等価パイ型モデルを作る.
0: SIM_LAオプションを無効にする(default).
1: PACTを有効にする(.OPTION LA_FREQ=PACTと同じ).
2: PIを有効にする(.OPTION LA_FREQ=PACTと同じ).
HSIMの場合,SIM_LAオプションではなく,変数HSIMPOSTLを指定する事でRC Reductionを行う.
.PARAM HSIMPOSTL = value
valueは[0 | 1 | 2 | 3]を取り,以下の対応となる.
0: RC Reductionを無効にする.
1: RC Reductionを有効にする.
2: RC Reductionを有効にする.
このオプションは,一つのネットに大量のMOSFETのドレイン/ソースがつながっているときに有効.
3: RC Reductionを有効にする.
このオプションは,RC Reductionを行う閾値となる電圧を1mVから10mVに緩和することで,より高速にポストレイアウトシミュレーションを実行可能にする.
マニュアルを読む限り,HSIMのRC Reductionはメモリーやデジタル回路のクロックツリーのシミュレーションを対象としている様だ.従ってHSPICEとは異なり,周波数ドメインの事はあまり考えていないようだ(要調査).
2013年2月3日日曜日
Calibre LVSでNetlist Extractionに失敗する(抽出素子を選択する)
Calibre LVS (Interactive)にてNetlist Extractionに失敗するとき,もしくはCalibre LVSでトランジスタが抽出されないときは,Calibreのオプションをチェックすると良いらしい.Calibre Interactiveのメニューから,[Setup]→[Netlist Export]を選択すると,以下のメニューが出てくる.
例えばSchematic viewおよびCDL viewからセルおよび素子を抽出するのであれば,View Listに[auCdl schematic]と入力すると,指定したviewの素子が抽出される.逆に言うと,View Listに抽出対象のViewが指定されていなかったら,Netlist Extractionに失敗に失敗するか,動作はするものの素子が抽出されなくなる.
某65nmプロセスでLVSができなくて困っていたが,ココをいじると直るよ!と教えてもらった.AnalogArtistを再起動すると元に戻ってしまうので,どこかにデフォルト値が保存されているのかもしれない.
例えばSchematic viewおよびCDL viewからセルおよび素子を抽出するのであれば,View Listに[auCdl schematic]と入力すると,指定したviewの素子が抽出される.逆に言うと,View Listに抽出対象のViewが指定されていなかったら,Netlist Extractionに失敗に失敗するか,動作はするものの素子が抽出されなくなる.
某65nmプロセスでLVSができなくて困っていたが,ココをいじると直るよ!と教えてもらった.AnalogArtistを再起動すると元に戻ってしまうので,どこかにデフォルト値が保存されているのかもしれない.
2013年2月2日土曜日
Calibre LVSでショートを見つける
Calibre LVSでショートが見つかった場合,2つのネットは1つのネットとして扱われてしまう.ショートしたネットを複数のネットとして扱うには,以下のオプションをつけると良いらしい.
LVS ISOLATE SHORTS YES BY LAYER
BY LAYERをつける事で,どのレイヤーでショートしているかがわかるようだ.
他には,どのセルでショートしているかがわかるBY CELL,レイヤーおよびセルの情報を出すALSOオプションがある.
Calibre Verificationのマニュアルが参考になる.
LVS ISOLATE SHORTS YES BY LAYER
BY LAYERをつける事で,どのレイヤーでショートしているかがわかるようだ.
他には,どのセルでショートしているかがわかるBY CELL,レイヤーおよびセルの情報を出すALSOオプションがある.
Calibre Verificationのマニュアルが参考になる.
Calibre ® Verification User’s Manual, 2010, p369