フルカスタム回路設計 |
Cadence ICツール(統合開発環境) + Mentor Calibre(設計規則チェッカー)を作業ディレクトリで起動する。
vlsi> setlic Cadence IC6に相当する番号を入力 vlsi> setlic Mentor Calibreに相当する番号を入力 vlsi> cd ~/d vlsi> virtuoso &
以上で、Cadence ICツールのCIW(Command Interpreter Window)が起動する。
[参考] インバータを奇数段接続して、フィードバックさせることにより、リングオシレータと呼ばれる発振回路を構成できる。インバータ段数が多いほど、発振周波数は低くなる(1段では発振せず、3段のとき発振周波数が最大)。上記回路図のように、インバータの電流経路にMOSFETを追加し、外部からインバータの電流を変更することにより、インバータの遅延時間を調整し、リングオシレータの発振周波数を制御する回路は、リングVCO (Voltage Controlled Oscillator)と呼ばれる。さらに、上記の例では、カレントミラー回路を使用して、F_CTRLに流し込む電流値で、発振周波数を制御しているので、厳密には、Current Controlled Oscillatorになっている。
使用部品(iキーで呼び出し)
Library | Cell | View | Description |
---|---|---|---|
vdecRO180PDK | nmos18 | hspiceD | 1.8V仕様n-ch MOSFETモデル |
vdecRO180PDK | pmos18 | hspiceD | 1.8V仕様p-ch MOSFETモデル |
analogLib | vdd | symbol | |
analogLib | vss | symbol |
[参考] 入力および出力ピンのシンボルは、pキーで呼び出すことができる。
MOSFETの寸法を設定(qキーで設定フォームを開く)
Type | L | W | Multiplier(並列接続数) |
---|---|---|---|
n-ch MOSFET | 180n | 1u | 1 |
p-ch MOSFET | 180n | 2u | 2 |
MOSFETのドレイン面積AD、ドレイン周囲長PD、ソース面積AS、ソース周囲長PSは、以下の計算式で求めて代入すること。
AD = AS = 0.5um*W (ex. W=1um のとき、AD = AS = 0.5p) PD = PS = 1u + W (ex. W=1um のとき、PD = PS = 2u)
使用部品(iキーで呼び出し, qキーで値設定)
Library | Cell | View | Description |
---|---|---|---|
Lticka | rosc | symbol | |
analogLib | res | symbol | Resitance = rbias |
analogLib | cap | symbol | Capacitance = 6f |
analogLib | vdc | symbol | DC Voltage = 0.9 |
analogLib | vdd | symbol | |
analogLib | vss | symbol | |
analogLib | gnd | symbol |
Test Editorの設定
Model File | Section |
---|---|
spice/hspice/bu40n1.mdl | |
spice/hspice/bu40n1.skw | NT |
spice/hspice/bu40n1.skw | PT |
[参考] 正帰還回路の回路方程式は、複数の解を持つため、初期条件を指定しないとシミュレーションができない。回路シミュレータは、自動的にバイアス点を求めて初期条件とし、Transient解析を行うが、バイアス点を初期状態とした場合には、発振状態の解は得られない。このため、正帰還ループ内のノードにバイアス点からずらした初期電圧を与える。ここでは、OUT端子に0.9Vを与えた。初期電圧の与え方によって、定常状態になるまでの時間が違ってくるので注意。
vlsi> emacs rosc.sp &
変更箇所は、.OPTION 以下の部分と.END の前の部分である。
+ ARTIST=2 → 行頭に * を追加 + PSF=2 → 行頭に * を追加 .END の前に、.ALTER と .PARAM ディレクティブを追加[参考] HSPICEは、.ALTER行までシミュレーションを実行すると一時停止し、設定を変更して再度シミュレーションを行う。この例では、.PARAM で、次々とrbiasの値を変更してシミュレーションを繰り返している。
vlsi>cd ~/d/sim vlsi> setlic Synopsys HSPICEに相当する番号を入力 vlsi> hspice rosc.sp . . . . >info: ***** hspice job concluded上記のように、hspice job concluded が表示されたら、シミュレーションが成功している。 エラーが表示される場合は、ファイル名が正しいか、ネットリストが正しく編集されているかを確認する。
vlsi> cscope &
Copyright (C) 2016- Akio Kitagawa, Kanazawa Univ.