2013年2月8日金曜日

64bit版HSIMを使う方法

環境変数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のバイナリをインストールしてもらおう…

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とは異なり,周波数ドメインの事はあまり考えていないようだ(要調査).

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を再起動すると元に戻ってしまうので,どこかにデフォルト値が保存されているのかもしれない.

2013年2月2日土曜日

Calibre LVSでショートを見つける

Calibre LVSでショートが見つかった場合,2つのネットは1つのネットとして扱われてしまう.ショートしたネットを複数のネットとして扱うには,以下のオプションをつけると良いらしい.

LVS ISOLATE SHORTS YES BY LAYER

BY LAYERをつける事で,どのレイヤーでショートしているかがわかるようだ.
他には,どのセルでショートしているかがわかるBY CELL,レイヤーおよびセルの情報を出すALSOオプションがある.

Calibre Verificationのマニュアルが参考になる.
Calibre ® Verification User’s Manual, 2010, p369