77
Tanner Tools v16 事例ガイド Tanner EDA Division Tanner Research, Inc. 825 South Myrtle Avenue Monrovia, CA 91016-3424 Tel: (626) 471-9700 タナーリサーチジャパン株式会社 東京都千代田区麹町 3-5-2 BUREX 麹町 6 Tel (技術): 03-3239-2853 E-Mail (技術): [email protected] Web: www.tanner.jp

Tanner Tools Exam

Embed Size (px)

DESCRIPTION

examples to use tanner tools

Citation preview

Page 1: Tanner Tools Exam

Tanner Tools v16 –

事例ガイド

Tanner EDA Division Tanner Research, Inc. 825 South Myrtle Avenue Monrovia, CA 91016-3424 Tel: (626) 471-9700

タナーリサーチジャパン株式会社

東京都千代田区麹町 3-5-2

BUREX 麹町 6 階

Tel (技術): 03-3239-2853

E-Mail (技術): [email protected] Web: www.tanner.jp

Page 2: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

2

目次

Section 1 Designs ........................................................................................... 6

Section 1.1 ADC8 .......................................................................................... 6

Section 1.1.1 ADC8_Testbench .......................................................................... 6

Section 1.1.2 DAC8_Testbench .......................................................................... 7

Section 1.1.3 COMP_DC_Testbench .................................................................. 9

Section 1.1.4 COMP_TRAN_Testbench ........................................................... 10

Section 1.2 ADC – Behavioral ..................................................................... 11

Section 1.3 Bargraph .................................................................................. 11

Section 1.4 BusesAndArrays ...................................................................... 11

Section 1.4.1 シンプルバス ........................................................................... 11

Section 1.4.2 バスの分岐 ............................................................................... 12

Section 1.4.3 ポートバンドル ....................................................................... 13

Section 1.4.4 一次元のアレイ(直列アレイ) ............................................ 14

Section 1.4.5 二次元のアレイ ....................................................................... 15

Section 1.5 CCD Imager .............................................................................. 15

Section 1.6 Comparator – One Bit ............................................................. 15

Section 1.7 CPU .......................................................................................... 15

Section 1.8 DecayMeasurement-Verilog ................................................... 15

Section 1.9 DLatch ..................................................................................... 15

Section 1.10 GaAsAmp ................................................................................. 15

Section 1.11 グローバルネット ................................................................. 16

Section 1.11.1 シンプル グローバルネット ................................................... 16

Section 1.11.2 別々の電圧源 ........................................................................... 18

Section 1.11.3 別々の電圧源の名前の変更 .................................................... 20

Section 1.11.4 別々の電圧源の名前の変更(他の方法) ............................ 22

Section 1.12 ICResistors ............................................................................... 24

Section 1.13 Inverter .................................................................................... 24

Section 1.13.1 DC Operating Point Analysis ...................................................... 24

Section 1.13.2 DC Transfer Analysis and Parameter Sweep .............................. 28

Section 1.13.3 Transient Analysis ...................................................................... 31

Section 1.14 Lights (Traffic Light Controller) ............................................... 34

Section 1.15 LinearFeedbackShiftRegister................................................... 34

Section 1.16 MonitorVoltageRange-Verilog ................................................ 34

Section 1.17 MOS_Subthreshold ................................................................. 34

Section 1.18 マルチシンボルビュー ......................................................... 35

Section 1.18.1 4 端子と 3 端子 MOSFET シンボル ......................................... 35

Section 1.18.2 IEEE と IEC シンボルビューを持つ NMOS セル ..................... 36

Section 1.18.3 ピンが異なる方法で整理されたシンボルが3つ持つ Adder37

Section 1.19 OpAmp .................................................................................... 38

Section 1.19.1 AC Analysis ................................................................................. 38

Section 1.20 Parameterized_NAND ............................................................. 41

Section 1.20.1 Using Subcircuits ........................................................................ 41

Section 1.21 PLL-Behavioral ......................................................................... 45

Page 3: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

3

Section 1.22 Pseudo-random Bit Sequence-Verilog .................................... 45

Section 1.23 ReadTextFile-Verilog ............................................................... 45

Section 1.24 Resonator ................................................................................ 45

Section 1.25 RingOscillator .......................................................................... 45

Section 1.26 RingOscillator-Behavioral ........................................................ 45

Section 1.27 RingVCO................................................................................... 45

Section 1.28 SpiceOutput ............................................................................ 45

Section 1.28.1 SPICE プリミティブ .................................................................. 46

パラメータを下の階層のセルに引き渡す ............................ 50

Section 1.28.2 ......................................................................................... 50

Section 1.28.3 サブサーキット ....................................................................... 52

Section 1.28.4 エクスポート制御用プロパティ ............................................ 55

Section 1.29 Stimuli ..................................................................................... 57

Section 1.30 XOR .......................................................................................... 57

Section 2 Process ......................................................................................... 57

Section 2.1 Gallium Arsenide (GaAs) ......................................................... 57

Section 2.2 Generic 0.25um ....................................................................... 57

Section 2.2.1 Analog Symbols Library .............................................................. 57

Section 2.2.2 Device Symbols Library .............................................................. 57

Section 2.2.3 I/O Pad Symbols Library ............................................................. 57

Section 2.2.4 Logic Gate Symbols Library ........................................................ 57

Section 2.2.5 Technology Files ......................................................................... 57

Section 2.3 MOSIS Scalable AMIS 0.8um ................................................... 58

Section 2.4 MOSIS Scalable AMIS 1.2um ................................................... 58

Section 2.5 MOSIS Scalable HP 0.5um ....................................................... 58

Section 2.6 MOSIS Scalable Orbit 1.2um ................................................... 59

Section 2.7 MOSIS Scalable Orbit 2.0um ................................................... 59

Section 2.8 Native Orbit 1.2um.................................................................. 59

Section 2.9 Native Orbit 2.0um.................................................................. 59

Section 2.10 Generic Standard Libraries ...................................................... 60

Section 2.10.1 Device Symbols Library .............................................................. 60

Section 2.10.2 Miscellaneous Symbols Library .................................................. 60

Section 2.10.3 SPICE Command Symbols Library .............................................. 60

Section 2.10.4 SPICE Element Symbols Library .................................................. 60

Section 3 自動化された操作 ....................................................................... 60

Section 3.1 S-Edit TCL スクリプト ............................................................ 60

Section 3.1.1 Calculator - TK ............................................................................ 61

Section 3.1.2 Change Symbol Property Size .................................................... 61

Section 3.1.3 Change WhenNotEval Property ................................................. 61

Section 3.1.4 Copy Cells ................................................................................... 61

Section 3.1.5 Copy Cells – Traverse Hierarchy ................................................. 61

Section 3.1.6 Delete Empty Schematic View ................................................... 61

Section 3.1.7 Delete Property .......................................................................... 61

Section 3.1.8 Find Property on Instance - TK ................................................... 61

Page 4: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

4

Section 3.1.9 Find and Rename Instance ......................................................... 61

Section 3.1.10 ポートとネットラベルの変更 ................................................ 62

Section 3.1.11 Force Callback ............................................................................ 63

Section 3.1.12 Hello World - TK ......................................................................... 63

Section 3.1.13 Resizing Text - TK ....................................................................... 63

Section 3.2 L-Edit UPI Macros .................................................................... 65

Section 3.2.1 Add to Find ................................................................................. 65

Section 3.2.2 Boolean Operations ................................................................... 65

Section 3.2.3 Capacitor .................................................................................... 65

Section 3.2.4 Change Instance Name to Include Rotation Parameter ............ 65

Section 3.2.5 Change Layer .............................................................................. 65

Section 3.2.6 Change Layer and Duplicate ...................................................... 66

Section 3.2.7 Change Layer and Grow ............................................................. 66

Section 3.2.8 Create Contact ........................................................................... 66

Section 3.2.9 Copy Layer Rendering ................................................................ 66

Section 3.2.10 Create Derived Layer ................................................................. 66

Section 3.2.11 Delete Layer ............................................................................... 67

Section 3.2.12 Dialog Examples ......................................................................... 67

Section 3.2.13 Gear ......................................................................................... 67

Section 3.2.14 Generate Derived Layer in Subcell ............................................. 67

Section 3.2.15 Goto ......................................................................................... 68

Section 3.2.16 Grow Via ..................................................................................... 68

Section 3.2.17 Hello World ................................................................................ 68

Section 3.2.18 Hide Layer with GDS DataType = 1 ............................................ 68

Section 3.2.19 Hierarchical Instance Location ................................................... 68

Section 3.2.20 Import GDS Copy Cell ................................................................. 69

Section 3.2.21 Instance and Rotate a T-Cell ...................................................... 69

Section 3.2.22 Instance a Cell ............................................................................ 69

Section 3.2.23 Interface ..................................................................................... 69

Section 3.2.24 Drawing Mode Keyboard Shortcuts ........................................... 69

Section 3.2.25 MFC ......................................................................................... 70

Section 3.2.26 MOSFET ...................................................................................... 70

Section 3.2.27 Move ......................................................................................... 70

Section 3.2.28 Palette ........................................................................................ 70

Section 3.2.29 Perimeter ................................................................................... 70

Section 3.2.30 Place Ports ................................................................................. 70

Section 3.2.31 Polar Array ................................................................................. 71

Section 3.2.32 Port List ...................................................................................... 71

Section 3.2.33 Properties ................................................................................... 71

Section 3.2.34 Read from Text File and Instance T-Cell .................................... 71

Section 3.2.35 Rename Cell ............................................................................... 71

Section 3.2.36 Resistor ...................................................................................... 72

Section 3.2.37 Run L-Edit in Command Mode and Load a Macro ..................... 72

Section 3.2.38 Selected Polygon Vertex Summary Report ................................ 72

Section 3.2.39 Set Layer Rendering ................................................................... 72

Section 3.2.40 Spiral ......................................................................................... 72

Section 3.2.41 Spring ......................................................................................... 73

Section 3.3 L-Edit T-Cells ............................................................................ 73

Page 5: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

5

Section 3.3.1 Buffer ......................................................................................... 73

Section 3.3.2 Change T-Cell Name ................................................................... 73

Section 3.3.3 Concentric Tori ........................................................................... 73

Section 3.3.4 Decoder ...................................................................................... 73

Section 3.3.5 Ellipse ......................................................................................... 73

Section 3.3.6 Layout Text Generator ............................................................... 73

Section 3.3.7 Matched Dual Capacitor Array ................................................... 74

Section 3.3.8 MOSFET ...................................................................................... 74

Section 3.3.9 Rounded Rectangle .................................................................... 74

Section 3.3.10 Segmented Tori .......................................................................... 74

Section 3.3.11 Spiral ......................................................................................... 74

Section 3.3.12 T-Cell Builder .............................................................................. 74

Section 3.3.13 T-Cell Calls Another T-Cell .......................................................... 75

Section 3.3.14 Test Pattern Generator .............................................................. 75

Section 3.4 L-Edit Bindkeys ........................................................................ 75

Section 3.4.1 Cadence...................................................................................... 75

Section 4 Additional Examples ..................................................................... 75

Section 4.1 T-Spice External C Models ....................................................... 75

Section 4.1.1 Diode ......................................................................................... 75

Section 4.1.2 MOS1 ......................................................................................... 75

Section 4.1.3 Resistor ...................................................................................... 76

Section 4.1.4 Switch ......................................................................................... 76

Section 4.1.5 VCO 76

Section 4.2 L-Edit Layer Setup ................................................................... 76

Section 4.2.1 Black Background ....................................................................... 76

Section 4.2.2 Multiple Vias .............................................................................. 77

Section 4.2.3 Pastel Colors............................................................................... 77

Section 4.2.4 Stripes ........................................................................................ 77

Page 6: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

6

Section 1 Designs

Section 1.1 ADC8

DesignType: Mixed-Signal Features: S-Edit, T-Spice, W-Edit

Section 1.1.1 ADC8_Testbench

S-Edit Design: \Designs\BusesAndArrays\ADC8.tanner Cell: ADC8_Testbench

This example illustrates the transient analysis of T-Spice on an 8-bit successive approximation ADC. The ADC includes an 8-bit R2R DAC.

Page 7: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

7

Section 1.1.2 DAC8_Testbench

S-Edit Design: \Designs\BusesAndArrays\ADC8.tanner Cell: DAC8_Testbench

This example illustrates the calculation of the differential non-linearity (DNL) of an 8-bit R2R DAC across all 256 bit inputs.

Page 8: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

8

Page 9: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

9

Section 1.1.3 COMP_DC_Testbench

S-Edit Design: \Designs\BusesAndArrays\ADC8.tanner Cell: COMP_DC_Testbench

This example illustrates a DC simulation of the comparator used in the 8-bit ADC.

Page 10: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

10

Section 1.1.4 COMP_TRAN_Testbench

S-Edit Design: \Designs\BusesAndArrays\ADC8.tanner Cell: COMP_TRAN_Testbench

This example illustrates a transient simulation of the comparator used in the 8-bit ADC.

Page 11: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

11

Section 1.2 ADC – Behavioral

Section 1.3 Bargraph

Section 1.4 BusesAndArrays

DesignType: Digital Features: S-Edit

Section 1.4.1 シンプルバス

S-Edit Design: \Designs\BusesAndArrays\BusesAndArrays.tanner Cell: Top_SimpleBus

この事例はバスとアレイの基本的な記述と使用方法を示します。 バスやアレイの記述

で、最初の値は、バスのコンポーネントが始まる番号を、2 番目の値はコンポーネン

トの最後の番号を表します。3 番目の番号はステップを表します。オミットされてい

る場合ステップが 1 となります。

ここで、8-ビット広さのバス(In<1:8>)は、偶数ビットは一つのバスに、奇数ビッ

トはもう一つのバスに含まれるよう 2 つに分岐されています。この場合、分岐された

バスのステップが 2 ですので、両方とも 4 ビットのバスになります。 偶数ビットのバ

スは 4×インバータのアレイに、奇数ビットバスは 4×バッファのアレイに接続されてい

ます。 インバータとバッファがそれぞれ 1 つ入力と 1 つ出力を持っているので、それ

らのアレイは 4 ビット幅の入力と出力となり、接続されるバスの次元と一致します。

インバータの出力とバッファは結合され、8 ビット広さの出力バス(Out<1:8>)を構

成しています。

バスをインスタンス、あるいはインスタンスのアレイに接続する場合、次元が一致し

ているかどうかとチェックすることはとても重要です。S-Edit メニューの Tools >

Design Checks を実行すると、ミスマッチしているバスとインスタンスの次元に関して

検証されます。

Page 12: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

12

Section 1.4.2 バスの分岐

S-Edit Design: \Designs\BusesAndArrays\BusesAndArrays.tanner Cell: Top_SplitBus

この事例は、バスを分岐する際に、バスやネットのラベルの設定条件を示します。 8

ビット幅のバス(In<0:7>)は 8×インバータのアレイに入力されています。 D<0:7> は

出力です。 8 ビットのバス、D<0:7> は 5 ビット幅のバス (D<3:7>) と 3 ビットのバス

(D<0:2>) に分岐されています。分岐されたバスのコンポーネントの合計と元のバス

のコンポーネントの数、名前と番号が一致しなければなりません。これは各ブランチ

の次元はあいまいにならないように必要です。 バス D<0:2>は各々のビット D<2>, D<1>,

D<0> に分岐され、バッファ(Buf1), インバータ(Inv3)、 バッファ(Buf2)に接続さ

れています。 それらの出力は Q, R, S 出力ポートに接続されています。

Page 13: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

13

Section 1.4.3 ポートバンドル

S-Edit Design: \Designs\BusesAndArrays\BusesAndArrays.tanner Cell: Top_PortBundle

この事例はシンボルのポートバンドルを示しています。Top_PortBundle は Top_SplitBus

に似ていますが、ここで 8 ビット入力バス(In<0:7>)はインスタンスのアレイでは

なく、1 つのインスタンス(Inv8a)に接続されています。 しかし、Inv8_1 のシン

ボルの入力は、8 ビットのポートバンドル(A<0:7>)に接続されているので次元一致

しています。この事例にあるように、ポートバンドルは一つのバス(A<0:7>)であっ

てもいいです。または、A<0:4:2>, B<0:3>, C のようにいくつかのバスやネット

の組合せでもいいです。

インスタンスの出力は、8 ビットのポートバンドル(Out<0:7>)として、8 ビット幅のバ

ス(Qu,Rb,Su,D<3:7>)に接続されます。それから、8 ビットのバス(Qu,Rb,Su,D<3:7>)は、

5 ビット幅のバス(D<3:7>)と 3 ビット幅のバス(Qu,Rb,Su)に分割されます。それか

ら、それぞれのビット(Qu、Rb および Su)はバスではなくネット(Q、R および S)とし

てバッファ、インバータ、もう一つのバッファに接続されます。

Page 14: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

14

Section 1.4.4 一次元のアレイ(直列アレイ)

S-Edit Design: \Designs\BusesAndArrays\BusesAndArrays.tanner Cell: Top_1DArrays

この事例は、直列に接続を構成するために、アレイの入力と出力の接続仕方を示しま

す。5×インバータアレイの入力は In ポートと N<0> バスでなるバンドル(In,

N<0:3>)に接続されています(詳細には In, N<0>, N<1>, N<2>, N<3> です)。

アレイの出力は N<0:3> と Out ポートでなるバンドルに接続されています(詳細に

は N<0>, N<1>, N<2>, N<3>, Out です)。 つまり一つのインバータの出力は次

のインバータの入力に接続され、並列に並んだアレイとなります。

さらに、入力においては、In ポートとバスの間に物理的な配線は行われていません。

出力においては、配線接続が行われ、ネットが Out ポートと一致するように Out と

ラベルされています。どちらの方法でも同じ結果になります。

Page 15: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

15

Section 1.4.5 二次元のアレイ

S-Edit Design: \Designs\BusesAndArrays\BusesAndArrays.tanner Cell: Top_2DArrays

この事例は、2 次元のアレイの記述と使用方法を示します。Left, Top, Bottom, と

Right という名前のインスタンスのアレイは、それぞれが 4 つのインスタンスでなる

1 次元のアレイです。それらは 2 次元のアレイ(Cen<0:3><0:3>)の周りに、直接で

はなく、Top_1DArrays にあったように名前を定義した方法で接続されています。下記

の SPICE ネットリストでは、アレイの構造と接続性が容易にわかるように内部のネッ

トを色別に描いています。

Section 1.5 CCD Imager

Section 1.6 Comparator – One Bit

Section 1.7 CPU

Section 1.8 DecayMeasurement-Verilog

Section 1.9 DLatch

Section 1.10 GaAsAmp

Page 16: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

16

Section 1.11 グローバル ネット

DesignType: Digital Features: S-Edit

Section 1.11.1 シンプル グローバルネット

S-Edit Design: \Designs\GlobalNets\GlobalNets.tanner Cell: Top_GlobalNets

S-Edit で、グローバルネットがデザイン階層を通して接続されます。それらを接続する

ために各レベルでポートを配置する必要はないです。この事例では、セル

Top_GlobalNets では CoreHV_Global と CoreLV_Global セルがインスタンス

されています。

トップセル CoreHV_Global の中に Block2 と Block3, そして CoreLV_Global の

中に Block1 と Block2 のインスタンスがあります。Block1, Block2, と Block3

の回路図では Vdd と Gnd というグローバルシンボルがあります。

このデザインでは、Vdd と Gnd はグローバルネットであって、デザイン階層を通して

接続されます。

セル Toplevel の回路図

セル CoreHV_Global の回路図 セル CoreLV_Global の回路図

Page 17: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

17

*************** Subcircuits *****************

.subckt Block1 In Out Gnd Vdd

.ends

.subckt Block2 In1 In2 Out1 Out2 Gnd Vdd

.ends

.subckt Block3 In1 In2 Out Gnd Vdd

.ends

.subckt CoreHV_Global A1 A2 A3 B1 B2 B3 Gnd Vdd

XU1 A1 A2 B1 Gnd Vdd Block3

XU2 A2 A3 B2 B3 Gnd Vdd Block2

.ends

.subckt CoreLV_Global A1 A2 A3 B1 B2 B3 Gnd Vdd

XU1 A1 B1 Gnd Vdd Block1

XU2 A2 A3 B2 B3 Gnd Vdd Block2

.ends

XCoreHV_Global_1 N_3 N_5 N_2 N_4 N_1 N_6 Gnd Vdd CoreHV_Global

XCoreLV_Global_1 N_10 N_8 N_11 N_9 N_12 N_7 Gnd Vdd CoreLV_Global

.end

Page 18: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

18

Section 1.11.2 別々の電圧源

S-Edit Design: \Designs\GlobalNets\GlobalNets.tanner Cell: Top_VddIsolation

この事例は、2 つのセルに含まれているグローバル Vdd ネットの切り離す方法を示し

ます。デザイン Top_GlobalNets にあった 2 つのセルを考慮しましょう。

CoreHV_Global にあるグローバル Vdd を CoreLV_Global にあるグローバル Vdd か

ら切り離したいです。

トップセル Top_VddIsolation は トップセル Top_GlobalNets の セル

CoreHV_VddNetCap と CoreLV_VddNetCap で Vdd のキャップネットを配置するこ

とによって得られたものです。グローバルネットを正しくキャップするために、ネッ

トヤップの名前とキャップされるネットの名前は一致しなければなりません(大文字

と小文字の区別を含めて)。下記に SPICE ネットリストが記載されています。

CoreHV_VddNetCap と CoreLV_VddNetCap の定義でパラメータリストの中に Vdd

はもうないです。そしてさらに、親回路 Toplevel で CoreHV_VddNetCap と

CoreLV_VddNetCap コールの中にもないことにご注意ください。従って、

CoreHV_VddNetCap の中の Vdd と CoreLV_VddNetCap の中の Vdd は接続されてい

ません。同じ名前ですが、別々のネットになっています。

Top_VddIsolation の回路図

CoreHV_VddNetCap の回路図 CoreLV_VddNetCap の回路図

Page 19: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

19

*************** Subcircuits *****************

.subckt Block1 In Out Gnd Vdd

.ends

.subckt Block2 In1 In2 Out1 Out2 Gnd Vdd

.ends

.subckt Block3 In1 In2 Out Gnd Vdd

.ends

.subckt CoreHV_VddNetCap A1 A2 A3 B1 B2 B3 Gnd

XU1 A1 A2 B1 Gnd Vdd Block3

XU2 A2 A3 B2 B3 Gnd Vdd Block2

.ends

.subckt CoreLV_VddNetCap A1 A2 A3 B1 B2 B3 Gnd

XU1 A1 B1 Gnd Vdd Block1

XU2 A2 A3 B2 B3 Gnd Vdd Block2

.ends

XCoreHV_VddNetCap_1 N_2 N_3 N_4 N_1 N_5 N_6 Gnd CoreHV_VddNetCap

XCoreLV_VddNetCap_1 N_12 N_11 N_10 N_7 N_8 N_9 Gnd CoreLV_VddNetCap

.end

CoreHV_VddNetCap と CoreLV_VddNetCap の中の Vdd ネットは、ネットキャップ

を削除することによって、或いは SPICE ネットリストの中に次のコマンドを追加する

ことによって再接続できます。 .global Vdd

ネットリストの中に上記のコマンドを自動的に入れたい場合、次のプロパティのある

シンボルを作ります: SPICE.OUTPUT = .global Vdd

そのシンボルを設計のトップレベルにインスタンスします。これの例としている

Top_VddReconnectNetCap のデザインの事例を参照してください。

Page 20: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

20

Section 1.11.3 別々の電圧源の名前の変更

S-Edit Design: \Designs\GlobalNets\GlobalNets.tanner Cell: Top_VddIsolationRename

この事例は、2 つのセルに含まれているグローバル Vdd ネットを切り離し、別々の名

前にする方法を示します。Top_VddIsolationRename の 2 つの core セルを利用します。

前のデザイン Top_VddIsolation で はセル CoreHV_VddNetCap で Vdd を

CoreLV_VddNetCap の Vdd から切り離しました。今、CoreHV_VddNetCap に Vdd_5v、

CoreLV_VddNetCap に Vdd_3v という名前のネットを接続したいです。

このサンプルで、Top_VddIsolationRename は CoreHV_VddRename に Vdd_HV、

CoreLV_VddRename に Vdd_LV という名前で入力ポートを回路図とシンボルビューに

追加することによって得られたものです。回路図ビューで、新しいポートはネットキ

ャップに接続されています。だから、Vdd ネットは階層の中で別の名前で接続してい

るということになっています。トップの回路図で Vdd_5v が CoreHV_VddRename に、

Vdd_3v が CoreLV_VddRename に接続されていることを確認できます。

Top_VddIsolationRename の回路図

CoreHV_VddNetCap の回路図 CoreLV_VddNetCapの回路図

Page 21: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

21

*************** Subcircuits *****************

.subckt Block1 In Out Gnd Vdd

.ends

.subckt Block2 In1 In2 Out1 Out2 Gnd Vdd

.ends

.subckt Block3 In1 In2 Out Gnd Vdd

.ends

.subckt CoreHV_VddRename A1 A2 A3 B1 B2 B3 Vdd Gnd

XU1 A1 A2 B1 Gnd Vdd Block3

XU2 A2 A3 B2 B3 Gnd Vdd Block2

.ends

.subckt CoreLV_VddRename A1 A2 A3 B1 B2 B3 Vdd Gnd

XU1 A1 B1 Gnd Vdd Block1

XU2 A2 A3 B2 B3 Gnd Vdd Block2

.ends

XCoreHV_VddRename_1 N_2 N_3 N_4 N_1 N_5 N_6 Vdd_5v Gnd

CoreHV_VddRename

XCoreLV_VddRename_1 N_12 N_11 N_10 N_7 N_8 N_9 Vdd_3v Gnd CoreLV_VddRename

.end

Page 22: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

22

Section 1.11.4 別々の電圧源の名前の変更(他の方法)

S-Edit Design: \Designs\GlobalNets\GlobalNets.tanner Cell: Top_VddIsolationRenameAlt

この事例は、2 つのセルに含まれているグローバル Vdd ネットを切り離し、別々の名

前にするもう一つの方法を示します。

トップセル Top_VddIsolationRenameAlt は トップセル Top_VddIsolation の 2 つの セル そ

れぞれに Vdd_HV、と Vdd_LV という名前のグローバルポートを回路図ビューだけで

追加することによって得られたものです。回路図ビューで、新しいポートはネットキ

ャップに接続されています。だから、Vdd ネットは階層の中で別の名前で接続してい

るということになっています。グローバルポートの名前はネットキャップの名前に優

先されます。トップセルの回路図で、 CoreHV_VddRenameGlobal と

CoreLV_VddRenameGlobal へのコールの行では、Vdd_5v は CoreHV_VddRenameGlobal に、

Vdd_3v は CoreLV_VddRenameGlobal に接続されていることを確認できます。

Top_VddIsolationRenameAlt の回路図

CoreHV_VddRenameGlobalの回路図 ` CoreLV_VddRenameGlobal の回路図

Page 23: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

23

*************** Subcircuits *****************

.subckt Block1 In Out Gnd Vdd

.ends

.subckt Block2 In1 In2 Out1 Out2 Gnd Vdd

.ends

.subckt Block3 In1 In2 Out Gnd Vdd

.ends

.subckt CoreHV_VddRenameGlobal A1 A2 A3 B1 B2 B3 Gnd Vdd

XU1 A1 A2 B1 Gnd Vdd Block3

XU2 A2 A3 B2 B3 Gnd Vdd Block2

.ends

.subckt CoreLV_VddRenameGlobal A1 A2 A3 B1 B2 B3 Gnd Vdd

XU1 A1 B1 Gnd Vdd Block1

XU2 A2 A3 B2 B3 Gnd Vdd Block2

.ends

XCoreLV_VddRenameGlobal_1 N_12 N_11 N_10 N_7 N_8 N_9 Gnd Vdd_3v

CoreLV_VddRenameGlobal

XCoreHV_VddRenameGlobal_1 N_2 N_3 N_4 N_1 N_5 N_6 Gnd Vdd_5v

CoreHV_VddRenameGlobal

.end

Page 24: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

24

Section 1.12 ICResistors

Section 1.13 Inverter

DesignType: Digital Features: S-Edit

T-Spice – Analysis Examples – DC_Op_Point, DC_Sweep, Monte_Carlo, Parameter_Sweep, Transient

Section 1.13.1 DC Operating Point Analysis

S-Edit Design: \Designs\Inverter\Inverter.tanner T-Spice Netlist: \Designs\Inverter\SimulationResults\InverterOP.sp Cell: Inverter_TestBench – OperatingPoint Schematic DC operating point analysis finds a circuit’s steady-state condition, obtained (in principle) after the input voltages have been applied for an infinite amount of time. Each of the components visible in the schematic has properties associated with it. Properties are textual elements, created in S-Edit, that are attached to an object and provide key information about its design and simulation commands in T-Spice. If you "push in" to open a specific instance, you can see that the physical dimensions of the component M1n in the inverter are defined by the properties:

M = 1 W = 1.5u L = 0.25u

M1n is an instance of the symbol NMOS_2_5v, which represents an n-channel MOSFET transistor. Properties that describe the operation of a generic n-channel MOSFET are defined at the symbol level. Properties specific to component M1n, such as length and width, are defined when M1n is created. Property values defined at the component level take precedence over default (symbol) values.

1.13.1.1. SPICE Simulation Setup in S-Edit

Prior to running the T-Spice simulation, the analysis commands and all processing options need to be established. This is accomplished using the Setup SPICE Simulation dialog in S-Edit. Ensure that you are viewing the top level schematic. For this example, the top level cell is named Inverter_TestBench. Right-click on Inverter_TestBench in the Libraries window and use Open View to select the schematic OperatingPoint. Use Setup > SPICE Simulation… to launch the Setup SPICE Simulation dialog. The proper simulation settings for the Inverter_TestBench example have already been entered for you. Note that the DC Operating Point Analysis box is checked. Also note the settings in the General options for File Search Path and Library Files. Export the Netlist to T-Spice.

Page 25: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

25

1.13.1.2. Export Netlist to T-Spice

In the Inverter_Testbench - Operating Point schematic, use Tools > Design Checks > View and Hierarchy to execute the Design Checker. The Design Checker will display any violation or errors in the Command window. There should not be any errors in Inverter_Testbench - Operating Point.

Press the T-Spice icon ( ) to export a T-Spice netlist file named InverterOP.sp. S-Edit will launch T-Spice with the InverterOP.sp netlist open:

1.13.1.3. T-Spice Input

********* Simulation Settings - General section *********

.option search="…\Process\Generic250nm\Generic250nmTech"

.lib "Generic_025.lib" TT

*-------- Devices: SPICE.ORDER < 0 --------

* Design: Inverter / Cell: Inverter_TestBench / View: OperatingPoint /

Page:

* Designed by: Tanner EDA Library Development Team

* Organization: Tanner EDA - Tanner Research, Inc.

* Info: Operating point analysis testbench of an inverter

Page 26: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

26

* Date: 10/15/2008 9:49:36 AM

* Revision: 46

*************** Subcircuits *****************

.subckt INV A Out Gnd Vdd

*-------- Devices: SPICE.ORDER < 0 --------

* Design: Generic250nmLogicGates / Cell: INV / View: Main / Page:

* Designed by: Tanner EDA Library Development Team

* Organization: Tanner EDA - Tanner Research, Inc.

* Info: Inverter

* Date: 5/30/2008 4:06:39 PM

* Revision: 13

*-------- Devices: SPICE.ORDER == 0 --------

MM1n Out A Gnd 0 NMOS25 W=1.5u L=250n AS=975f PS=4.3u AD=975f PD=4.3u

MM2p Out A Vdd Vdd PMOS25 W=3u L=250n M=2 AS=3.9p PS=14.6u AD=2.25p

PD=7.5u

.ends

********* Simulation Settings - Parameters and SPICE Options *********

.param Vpwr = 3.3v

*-------- Devices: SPICE.ORDER == 0 --------

XX1 N_2 N_1 Gnd Vdd INV

*-------- Devices: SPICE.ORDER > 0 --------

CC1 N_1 Gnd 1p

VVin N_2 Gnd DC 1

VVpower Vdd Gnd DC Vpwr

********* Simulation Settings - Analysis section *********

.op

********* Simulation Settings - Additional SPICE commands *********

.end

Two transistors, MM2p and MM1n, are defined in InverterOP.sp. These are MOSFETs, as indicated by the key letter M that begins their names. Following each transistor name are the names of its terminals in the required order: drain–gate–source–bulk. Then the model name (PMOS25 or NMOS25 in this example) and physical characteristics, such as length and width, are specified. A capacitor CC1 (signified by the key letter C) connects nodes N_1 and GND with a capacitance of 1p. Strictly speaking, the capacitor could be omitted from the circuit for this example, since it does not affect the DC operation of the inverter. Two DC voltage sources are defined: VVin, which sets node N_2 to 1.0 volt relative to ground and VVpower, which sets node Vdd to 3.3 volts as defined by the variable Vpwr. Notice that the simulation settings which were entered in the SPICE Simulation Setup dialog resulted in .option, .lib, and .op commands being written to the T-Spice input file. The .lib command causes T-Spice to read the contents of the Generic_025.lib library file for the evaluation of transistors MM2p and MM1n, and the search option identifies the path to the library files. In this case, the library file contains two device .model commands, describing MOSFET models PMOS25 and NMOS25, as shown below for PMOS25:

Page 27: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

27

.MODEL PMOS25 PMOS ( LEVEL = 49

+VERSION = 3.1 TNOM = 27 TOX = 5.6E-9

+XJ = 1E-7 NCH = 4.1589E17 VTH0 = '-

0.4935548+dVthP'

+K1 = 0.6143278 K2 = 6.804492E-4 K3 = 0

+K3B = 5.8844074 W0 = 1E-6 NLX = 6.938169E-9

+DVT0W = 0 DVT1W = 0 DVT2W = 0

+DVT0 = 2.3578746 DVT1 = 0.7014778 DVT2 = -0.1881376

+U0 = 100 UA = 9.119231E-10 UB = 1E-21

+UC = -1E-10 VSAT = 1.782051E5 A0 = 0.9704347

+AGS = 0.1073973 B0 = 2.773991E-7 B1 = 8.423987E-7

+KETA = 0.0104811 A1 = 0.0193128 A2 = 0.3

+RDSW = 694.5830247 PRWG = 0.3169639 PRWB = -0.1958978

+WR = 1 WINT = 0 LINT = 2.971337E-8

+XL = 'dxl' XW = '-4E-8+dxw' DWG = -2.967296E-8

+DWB = -2.31786E-10 VOFF = -0.1152095 NFACTOR = 1.1064678

+CIT = 0 CDSC = 2.4E-4 CDSCD = 0

+CDSCB = 0 ETA0 = 0.3676411 ETAB = -0.0915241

+DSUB = 1.1089801 PCLM = 1.3226289 PDIBLC1 = 9.913816E-3

+PDIBLC2 = -1.499968E-6 PDIBLCB = -1E-3 DROUT = 0.1276027

+PSCBE1 = 8E10 PSCBE2 = 5.772776E-10 PVAG = 0.0135936

+DELTA = 0.01 RSH = 3 MOBMOD = 1

+PRT = 0 UTE = -1.5 KT1 = -0.11

+KT1L = 0 KT2 = 0.022 UA1 = 4.31E-9

+UB1 = -7.61E-18 UC1 = -5.6E-11 AT = 3.3E4

+WL = 0 WLN = 1 WW = 0

+WWN = 1 WWL = 0 LL = 0

+LLN = 1 LW = 0 LWN = 1

+LWL = 0 CAPMOD = 2 XPART = 0.5

+CGDO = 5.59E-10 CGSO = 5.59E-10 CGBO = 5E-10

+CJ = 1.857995E-3 PB = 0.9771691 MJ = 0.4686434

+CJSW = 3.426642E-10 PBSW = 0.871788 MJSW = 0.3314778

+CJSWG = 2.5E-10 PBSWG = 0.871788 MJSWG = 0.3314778

+CF = 0 PVTH0 = 4.137981E-3 PRDSW = 7.2931065

+PK2 = 2.600307E-3 WKETA = 0.0192532 LKETA = -5.972879E-3)

Generic_025.lib assigns values to various Level 49 MOSFET model parameters for both n- and p-channel devices. T-Spice uses these parameters to evaluate Level 49 MOSFET model

equations. The .op command performs a DC operating point calculation and writes the results to the file specified in the Simulation > Run Simulation dialog.

1.13.1.4. Run the Simulation in T-Spice

With InverterOP.sp open in T-Spice, use File > Save to save the file. Click the Run Simulation

button ( ) in the T-Spice simulation toolbar. T-Spice will open a new window displaying the simulation log.

1.13.1.5. Output

The output file lists the DC operating point information for the circuit. You can read this file in T-Spice or any text editor.

1.13.1.6. Open the Output File

If not already displayed, select View > Simulation Manager from the T-Spice menu to open the Simulation Manager:

Page 28: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

28

Right-click the InverterOP.out display line in the window, then click Show Output… to open the output file InverterOP.out in a new T-Spice window. If you prefer to view the output in a text editor, simply open InverterOP.out as a text file. It is located in the same directory as the input file. The output file contains the following DC operating point information (in addition to comments of various kinds, not shown here. (You can also view DC operating voltages, currents and small-signal parameters in S-Edit.) DC ANALYSIS - temperature=25.0

v(N_1) = 3.1819e+000

v(N_2) = 1.0000e+000

v(Vdd) = 3.3000e+000

i1(VVin) = -0.0000e+000

i2(VVin) = 0.0000e+000

i1(VVpower) = -1.9514e-004

i2(VVpower) = 1.9514e-004

Section 1.13.2 DC Transfer Analysis and Parameter Sweep

S-Edit Design: \Designs\Inverter\Inverter.tanner T-Spice Netlist: \Designs\Inverter\SimulationResults\InverterDC.sp Cell: Inverter_TestBench – DCAnalysis Schematic DC transfer analysis is used to study the voltage or current at one set of points in a circuit as a function of the voltage or current at another set of points. This is done by sweeping the source variables over specified ranges and recording the output. This schematic includes a .print command, which measures and records voltages at the input and output nodes of the circuit. The command is contained within the DC analysis output cell.

1.13.2.1. Run Simulation from S-Edit

Press the S-Edit icon ( ) to run the simulation from S-Edit. S-Edit will automatically launch T-Spice and will create and run a T-Spice netlist file named InverterOP.sp. The netlist will be exported as follows:

1.13.2.2. T-Spice Input

Page 29: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

29

********* Simulation Settings - General section *********

.option search="…\Process\Generic250nm\Generic250nmTech"

.probe

.option probev

.lib "Generic_025.lib" TT

*-------- Devices: SPICE.ORDER < 0 --------

* Design: Inverter / Cell: Inverter_TestBench / View: DCAnalysis /

Page:

* Designed by: Tanner EDA Library Development Team

* Organization: Tanner EDA - Tanner Research, Inc.

* Info: DC analysis testbench of an inverter

* Date: 10/15/2008 9:49:36 AM

* Revision: 6

*************** Subcircuits *****************

.subckt INV A Out Gnd Vdd

*-------- Devices: SPICE.ORDER < 0 --------

* Design: Generic250nmLogicGates / Cell: INV / View: Main / Page:

* Designed by: Tanner EDA Library Development Team

* Organization: Tanner EDA - Tanner Research, Inc.

* Info: Inverter

* Date: 5/30/2008 4:06:39 PM

* Revision: 13

*-------- Devices: SPICE.ORDER == 0 --------

MM1n Out A Gnd 0 NMOS25 W=1.5u L=250n AS=975f PS=4.3u AD=975f PD=4.3u

MM2p Out A Vdd Vdd PMOS25 W=3u L=250n M=2 AS=3.9p PS=14.6u AD=2.25p

PD=7.5u

.ends

********* Simulation Settings - Parameters and SPICE Options *********

.param Vpwr = 3.3v

*-------- Devices: SPICE.ORDER == 0 --------

XX1 In Out Gnd Vdd INV

*-------- Devices: SPICE.ORDER > 0 --------

CC1 Out Gnd 1p

VVin In Gnd DC 1

VVpower Vdd Gnd DC Vpwr

.PRINT DC V(Out)

.PRINT DC V(In)

********* Simulation Settings - Analysis section *********

.dc lin VVin 0.0 Vpwr 0.02

.step lin Vpwr 2.3 4.3 0.5

********* Simulation Settings - Additional SPICE commands *********

.end

The .DC command, indicating transfer analysis, is followed by the parameter lin, which specifies a linear sweep. Next is a list of sources to be swept, and the voltage ranges across which the sweeps are to take place. In this example, VVin will be swept from 0 to Vpwr volts in 0.02 volt increments. The .step command then sweeps Vpwr from 2.3 to 4.3 volts in 0.5 volt increments.

Page 30: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

30

The transfer analysis will be performed as follows: Vpwr will be set at 2.3 volts and VVin will be swept over its specified range; Vpwr will then be incremented to 2.5 volts and VVin will be reswept over its range; and so on, until Vpwr reaches the upper limit of its range. The .DC command ignores the values assigned to the voltage sources Vpwr and VVin in the voltage source statements; however, they must be declared in those statements. The resulting

voltages for nodes “In” and “Out” are reported by the .PRINT DC command to the specified destination.

1.13.2.3. Output

When W-Edit launches, simulation results of the same data type, which in this case is voltage, are automatically plotted on a single chart. In this example, traces were separated into different charts and reorganized (according to data type) using the commands in Chart > Expand Chart (page 109) of the W-Edit menu. The charts below show input and output voltages to the circuit, with separate traces for each sweep of v(Out). To view detailed information about a trace, double-click on the trace or on the trace label located in the upper right corner of the chart.

The Trace Properties dialog displays the value of parameter v(Out) corresponding to each trace, as well as labels and line properties. For more information on trace properties, see "Properties" on page 100 of the W-Edit User Guide.

Page 31: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

31

Section 1.13.3 Transient Analysis

S-Edit Design: \Designs\Inverter\Inverter.tanner T-Spice Netlist: \Designs\Inverter\SimulationResults\InverterTRAN.sp Cell: Inverter_TestBench – TransientAnalysis Schematic Transient analysis provides information on how circuit elements vary with time. The basic T-Spice command for transient analysis has three modes. In the Op mode (default), the DC operating point is computed, and T-Spice uses this as the starting point for the transient simulation. This example illustrates this option. The other startup modes, Powerup and Preview, are shown in the proceeding examples titled Transient Analysis, Powerup Mode and Transient Analysis, Preview Mode.

1.13.3.1. Run Simulation from S-Edit

Press the S-Edit icon ( ) to run the simulation from S-Edit. S-Edit will automatically launch T-Spice and will create and run a T-Spice netlist file named InverterTRAN.sp. The netlist will be exported as follows:

Page 32: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

32

1.13.3.2. T-Spice Input

********* Simulation Settings - General section *********

.option search="…\Process\Generic250nm\Generic250nmTech"

.probe

.option probev

.option probei

.lib "Generic_025.lib" TT

*-------- Devices: SPICE.ORDER < 0 --------

* Design: Inverter / Cell: Inverter_TestBench / View:

TransientAnalysis / Page:

* Designed by: Tanner EDA Library Development Team

* Organization: Tanner EDA - Tanner Research, Inc.

* Info: Transient analysis testbench of an inverter

* Date: 10/15/2008 9:49:36 AM

* Revision: 8

*************** Subcircuits *****************

.subckt INV A Out Gnd Vdd

*-------- Devices: SPICE.ORDER < 0 --------

* Design: Generic250nmLogicGates / Cell: INV / View: Main / Page:

* Designed by: Tanner EDA Library Development Team

* Organization: Tanner EDA - Tanner Research, Inc.

* Info: Inverter

* Date: 5/30/2008 4:06:39 PM

* Revision: 13

*-------- Devices: SPICE.ORDER == 0 --------

MM1n Out A Gnd 0 NMOS25 W=1.5u L=250n AS=975f PS=4.3u AD=975f PD=4.3u

MM2p Out A Vdd Vdd PMOS25 W=3u L=250n M=2 AS=3.9p PS=14.6u AD=2.25p

PD=7.5u

.ends

********* Simulation Settings - Parameters and SPICE Options *********

.param Vpwr = 3.3v

*-------- Devices: SPICE.ORDER == 0 --------

XX1 In Out Gnd Vdd INV

*-------- Devices: SPICE.ORDER > 0 --------

CC1 Out Gnd 1p

VVpower Vdd Gnd DC Vpwr

VVin In Gnd PULSE(0 Vpwr 0 1n 1n 49n 100n)

.PRINT TRAN V(Out)

.PRINT TRAN V(In)

.MEASURE TRAN RiseDelay_MeasureDelay_1 TRIG v(In) VAL='(Vpwr-

0)*50/100+0' TD='0' RISE=1 TARG v(Out) VAL='(Vpwr-0)*50/100+0' TD='0'

FALL=1 OFF

.MEASURE TRAN FallDelay_MeasureDelay_1 TRIG v(In) VAL='(Vpwr-

0)*50/100+0' TD='0' FALL=1 TARG v(Out) VAL='(Vpwr-0)*50/100+0' TD='0'

RISE=1 OFF

.MEASURE TRAN AvgDelay

PARAM='(RiseDelay_MeasureDelay_1+FallDelay_MeasureDelay_1)/2.0' ON

.MEASURE TRAN RiseTime TRIG v(Out) VAL='(Vpwr-0)*10/100+0' TD=0 RISE=1

TARG v(Out) VAL='(Vpwr-0)*90/100+0' TD=0 RISE=1 ON

.MEASURE TRAN FallTime TRIG v(Out) VAL='(Vpwr-0)*90/100+0' TD=0 Fall=1

TARG v(Out) VAL='(Vpwr-0)*10/100+0' TD=0 FALL=1 ON

Page 33: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

33

********* Simulation Settings - Analysis section *********

.tran 250p 300n

********* Simulation Settings - Additional SPICE commands *********

.end

This circuit is similar to that of DC Operating Point Analysis, except that voltage source VVin in this schematic generates a pulse (indicated by the keyword PULSE) to “In”, rather than setting a constant value. The times and voltages that define the “legs” of the waveform are specified in the arguments

to PULSE. The initial current is zero amperes and the peak current is Vpwr, with an initial delay of zero seconds. The rise and fall times are one nanosecond, with a pulse width of 49 nanoseconds and a pulse period of 100 nanoseconds. The .tran command specifies the characteristics of the transient analysis to be performed. In this example, the maximum time step allowed is 250 pico with a total duration of 300 nanoseconds.

1.13.3.3. Output

Page 34: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

34

Section 1.14 Lights (Traffic Light Controller)

DesignType: Digital Features: S-Edit

L-Edit – SPR, StdDRC, StdExtract, HiPer Verify LVS

S-Edit Design: \Designs\Lights\Lights.tanner Cell: Lights This example shows the organization of a project into libraries. Here Lights is the main design. The schematic can be exported to a TPR netlist for use in Standard Place and Route in L-Edit. L-Edit Design: \Designs\Lights\Lights.tdb Cell: Lights This example shows how to perform Standard Cell Place and Route. Use netlist file Lights.tpr exported from S-Edit with Standard Cell Library Lightslb.tdb to perform SPR. DRC can be performed using Standard DRC or HiPer DRC using \Process\Generic250nm\Generic250nm_Tech\Generic_250nm_DRC-Main.cal Completed layout can be extracted with Standard Extraction using extraction definition file Lights.ext. LVS Database : \Designs\Lights\Lights.vdb Compare the extracted layout netlist Lights.spc with the schematic netlist Lights.sp to track down any discrepancies.

Section 1.15 LinearFeedbackShiftRegister

Section 1.16 MonitorVoltageRange-Verilog

Section 1.17 MOS_Subthreshold

Page 35: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

35

Section 1.18 マルチシンボルビュー

DesignType: Digital Features: S-Edit

Section 1.18.1 4 端子と 3 端子 MOSFET シンボル

S-Edit Design: \Designs\MultipleSymbolViews\MultipleSymbolViews.tanner Cell: Toplevel, Devices\NMOS

この事例はセルの中でマルチビューの使用を示します。セル NMOS MOSFET には、4 端

子のシンボルと 3 端子のシンボルがあります。3 端子のシンボルの 4 端子目は

SPICE.OUTPUT プロパティによってグラウンドに接続されています。

セル NMOS には次のように、2 つインターフェースビューと 2 つシンボルビューがあ

ります。

4端子 NMOS MOSFET インターフェースビュー名 : NMOS4

4端子 NMOS MOSFET シンボルビュー 名 : NMOS4

3端子 NMOS MOSFET インターフェースビュー名 : NMOS3

3端子 NMOS MOSFET シンボルビュー 名 : NMOS3

セル NMOS はプリミティブセルですので、回路図ビューはないです。

NMOS MOSFET の4端子と、3端子シンボルビュー

3 端子のシンボルの 4 端子目は SPICE.OUTPUT プロパティで %{B} の代わりに 0 を書

くことによってショートされています。それぞれのシンボルの SPICE.OUTPUT プロパテ

ィは下記に記載されています。

Page 36: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

36

Section 1.18.2 IEEE と IEC シンボルビューを持つ NMOS セル

S-Edit Design: \Designs\MultipleSymbolViews\MultipleSymbolViews.tanner Cell: NOR2

この事例はセルの中でマルチシンボルのビューの使用を示します。セル NOR2 は 2 つ

入力の NOR ゲートです。セル NOR2 には IEEE と IEC という 2 つシンボルがあります。

セル NOR2 は次のようにインターフェースビューが 1 つと、シンボルビューが 2 つと、

回路図ビューが 1 つでできています。 インターフェース ビュー : Main

IEEE シンボルビュー : IEEE

IEC シンボルビュー : IEC

回路図ビュー : Main

セル NOR の IEEE と IEC シンボル

両方のシンボルも同じインターフェースと回路図を参照しています。違いは回路図に

インスタンスされた時の見えかただけです。

Page 37: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

37

Section 1.18.3 ピンが異なる方法で整理されたシンボルが3つ持つ Adder

S-Edit Design: \Designs\MultipleSymbolViews\MultipleSymbolViews.tanner Cell: Adder

この事例はセルの中でマルチシンボルビューの使用方法を示します。セル Adder には、

次のようにインターフェースビューが 1 つと、シンボルビューが 2 つと、回路図ビュ

ーが 1 つあります。

インターフェースビュー名 : Main

回路図ビュー名 : Main

ピンが整理されたシンボルビュー名 : Pins_Sequential

ピンが別の方法で整理されたシンボルビュー名 : Pins_Interleaved

シンボルユー バス名 : Pins_Bus

回路図を描くとき、シンボルを接続するために、都合によって、あるときはシンボル

のピンを一つの方法で、他の時は別の方法で整理する必要があります。これは、ピン

がそれぞれに異なった方法で整理されたマルチシンボルビューを持たつことによって

達成できます。

ここで 1 番目のシンボルが左側で入力ピンを

A0, A1, A2, A3, B0, B1, B2, B3 の順で整理しています。

そして 2 番目のシンボルがピンを

A0, B0, A1, B1, A2, B2, A3, B3 の順で整理しています。

そして 3 番目のシンボルのピンはバスでグループされています。

これは単純に便利のためであって、SPICE に出力されるピンの順番に影響が与えられま

せん。

Page 38: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

38

Section 1.19 OpAmp

DesignType: Analog Features: S-Edit

T-Spice – Analysis Examples – AC, AC_Noise, DC_Op_Point, DC_Sweep

Section 1.19.1 AC Analysis

S-Edit Design: \Designs\OpAmp\Inverter.tanner T-Spice Netlist: \Designs\OpAmp\SimulationResults\OpAmpAC.sp Cell: OpAmp_TestBench – AC_Noise_Analysis Schematic AC analysis characterizes the circuit’s behavior dependence on small-signal input frequency. It involves three steps: (1) calculating the DC operating point; (2) linearizing the circuit; and (3) solving the linearized circuit for each frequency. This example involves a standard operational amplifier, consisting of one PMOS, one NMOS, a transconductance amplifier and one capacitor.

1.19.1.1. T-Spice Input

********* Simulation Settings - General section *********

.option Accurate

.option search="…\Process\Generic250nm\Generic250nmTech"

.probe

.option probev

.option probei

.lib "Generic_025.lib" TT

*-------- Devices: SPICE.ORDER < 0 --------

* Design: OpAmp / Cell: OpAmp_TestBench / View: AC_Noise_Analysis /

Page:

* Designed by: Tanner EDA Library Development Team

* Organization: Tanner EDA - Tanner Research, Inc.

* Info: AC & Noise Testbench for Op Amp

* Date: 10/15/2008 9:48:41 AM

* Revision: 7

*************** Subcircuits *****************

.subckt TransAmp in1 in2 out vbias Gnd Vdd

*-------- Devices: SPICE.ORDER < 0 --------

* Design: OpAmp / Cell: TransAmp / View: Main / Page:

* Designed by: Tanner EDA Library Development Team

* Organization: Tanner EDA - Tanner Research, Inc.

* Info: Transconductance Amplifier

* Date: 10/15/2008 9:24:13 AM

* Revision: 4

*-------- Devices: SPICE.ORDER > 0 --------

MMN1 vm1 in1 vn1 0 NMOS25 W=2u L=2u AS=1.8p PS=5.8u AD=1.8p PD=5.8u

MMN2 out in2 vn1 0 NMOS25 W=2u L=2u AS=1.8p PS=5.8u AD=1.8p PD=5.8u

MMN3 vn1 vbias Gnd 0 NMOS25 W=2u L=3u AS=1.8p PS=5.8u AD=1.8p PD=5.8u

Page 39: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

39

MMP1 vm1 vm1 Vdd Vdd PMOS25 W=2u L=2u AS=1.8p PS=5.8u AD=1.8p PD=5.8u

MMP2 out vm1 Vdd Vdd PMOS25 W=2u L=2u AS=1.8p PS=5.8u AD=1.8p PD=5.8u

.ends

.subckt OpAmp Out in1 in2 vbias Gnd Vdd

*-------- Devices: SPICE.ORDER < 0 --------

* Design: OpAmp / Cell: OpAmp / View: Main / Page:

* Designed by: Tanner EDA Library Development Team

* Organization: Tanner EDA - Tanner Research, Inc.

* Info: Operational Amplifier

* Date: 10/15/2008 9:24:13 AM

* Revision: 54

*-------- Devices: SPICE.ORDER == 0 --------

XX1 in1 in2 vf1 vbias Gnd Vdd TransAmp

*-------- Devices: SPICE.ORDER > 0 --------

CComp vf1 Out 200f

MMN1 Out vbias Gnd 0 NMOS25 W=3u L=2u AS=2.7p PS=7.8u AD=2.7p PD=7.8u

MMP1 Out vf1 Vdd Vdd PMOS25 W=6u L=2u AS=5.4p PS=13.8u AD=5.4p

PD=13.8u

.ends

********* Simulation Settings - Parameters and SPICE Options *********

.param Vpwr = 3.3v

*-------- Devices: SPICE.ORDER == 0 --------

XX1 Out in1 in2 Bias Gnd Vdd OpAmp

*-------- Devices: SPICE.ORDER > 0 --------

CCout Out Gnd 200f

VVcm in2 Gnd DC Vpwr/2

VVbias Bias Gnd DC 700m

VVpwrPos Vdd Gnd DC Vpwr

VVdiff in1 in2 DC 0 AC 1 0

.PRINT AC Vdb(Out)

.PRINT AC Vp(Out)

.PRINT NOISE INOISE

.PRINT NOISE ONOISE

.PRINT NOISE TRANSFER dn(XX1.XX1.MMN3)

.MEASURE AC Gain<db> MAX vdb(Out) ON

.MEASURE AC PhaseMargin<deg> FIND 'vp(Out)' WHEN vdb(Out)=0 ON

.MEASURE AC UnityGainFrequency<Hz> WHEN Vdb(Out)=0 ON

.MEASURE AC MeasureGainBandwidthProduct_1_Gain MAX vdb(Out) OFF

.MEASURE AC MeasureGainBandwidthProduct_1_UGFreq WHEN Vdb(Out)=0 OFF

.MEASURE AC GainBandwidth<Hz>

PARAM='MeasureGainBandwidthProduct_1_Gain*MeasureGainBandwidthProduct_

1_UGFreq' ON

.MEASURE NOISE InputNoise<nv/Hz^0.5> FIND 'inoise/1E-9' WHEN

Vdb(Out)=0 ON

********* Simulation Settings - Analysis section *********

.op

.ac dec 10 1 100Meg

.noise v(Out) VVdiff 5

********* Simulation Settings - Additional SPICE commands *********

.end

Page 40: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

40

Three voltage sources (in addition to Vdd) are defined. Vdiff sets the DC voltage difference between nodes “in2” and “in1” to 0 volts. The AC magnitude is 1 volt and its AC phase is 0 degrees. Vcm sets node “in2” to 2 volts, relative to GND. Vbias sets node “vbias” to 700 millevolts, relative to GND.

The .ac command performs an AC analysis. Following the .ac keyword is information concerning the frequencies to be swept during the analysis. In this case, the frequency is swept logarithmically, by decades (dec); 10 data points are to be included per decade; the starting frequency is 1 Hz and the ending frequency is 100 MHz. The .PRINT command writes the voltage magnitude (in decibels) and phase (in degrees), respectively, for the node “Out” to the specified file. The other print and measurement commands are discussed in alternate examples.

1.19.1.2. Output

The AC simulation will result in AC small-signal model parameters being written to the output file, in addition to all output generated from the .print statements.

Page 41: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

41

Section 1.20 Parameterized_NAND

DesignType: Digital Features: S-Edit

T-Spice – Analysis Examples – Transient

Section 1.20.1 Using Subcircuits

S-Edit Design: \Designs\Parameterized_NAND\Parameterized_NAND.tanner T-Spice Netlist: \Designs\Parameterized_NAND\SimulationResults\SubcircuitTRAN.sp Cell: Subcircuit_TestBench Subcircuit definitions allow arbitrarily complex arrangements of nodes and devices to be easily reused multiple times in a circuit. A subcircuit definition in S-Edit is contained within a cell definition, and is comprised of both a schematic view and a symbol view. Each instance of the symbol encapsulates the subcircuit schematic, allowing a simple but complete representation of subcircuit dynamics. This example uses a NAND gate to illustrate the use of subcircuit definitions and subcircuit parameters. An instance of the subcircuit NAND2C is created in the schematic and labeled X1. To access NAND2C from the main schematic, double-click on the NAND2C item in the Libraries list.

Page 42: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

42

As discussed in DC Operating Point Analysis, symbol properties are used to define component properties such as length and width. This example introduces a new symbol property, SPICE.PARAMETERS, which allows parameters to be passed through a hierarchical netlist. The symbol that represents NAND2C has the SPICE parameter property:

SPICE.PARAMETER = L= NW= PW= This property specifies that the cell properties L, NW, and PW are subcircuit parameters of NAND2C. The cell also contains the three additional property definitions:

L = 0.5u NW = 4.0u PW = 8.0u

These parameters define properties of all n-channel and p-channel MOSFETS within the subcircuit such that L represents the length property of both n- and p-channel MOSFETS, NW represents n-channel width and PW represents p-channel width. Attaching these parameters to NAND2C allows component properties within the subcircuit definition to be controlled in the subcircuit call.

1.20.1.1. T-Spice Input

********* Simulation Settings - General section *********

.option

search="…\TannerToolsShippingFiles.NEW\Process\Generic250nm\Generic250nmTech"

.probe

.option probev

.option probei

.lib "Generic_025.lib" TT

*-------- Devices: SPICE.ORDER < 0 --------

* Design: Parameterized_NAND / Cell: Subcircuit_TestBench / View: Main / Page:

* Designed by: Tanner EDA Library Development Team

* Organization: Tanner EDA - Tanner Research, Inc.

* Info: Testbench for subcircuit example

* Date: 1/12/2009 10:57:20 AM

* Revision: 9

*************** Subcircuits *****************

.subckt NAND2C A B Out Outbar Gnd Vdd L=0.5u NW=4.0u PW=8.0u

*-------- Devices: SPICE.ORDER < 0 --------

* Design: Parameterized_NAND / Cell: NAND2C / View: Main / Page:

* Designed by: Tanner EDA Library Development Team

* Organization: Tanner EDA - Tanner Research, Inc.

* Info: 2 Input NAND with complementary output.

* Date: 1/12/2009 2:09:59 PM

* Revision: 12

*-------- Devices: SPICE.ORDER == 0 --------

MM4p Out B Vdd Vdd PMOS25 W=PW L=L M=2 AS='if(0,

(650n*if(0,PW/1,PW)+floor(2/2)*750n*if(0,PW/1,PW)),

(2*650n*if(0,PW/1,PW)+(floor(2/2)-1)*750n*if(0,PW/1,PW)))' PS='if(0,

(2*650n+if(0,PW/1,PW)+if(0,PW/1,PW)*1+floor(2/2)*2*(750n+if(0,PW/1,PW)*1)),

(2*2*650n+if(0,PW/1,PW)+if(0,PW/1,PW)*1+(floor(2/2)-

1)*2*(750n+if(0,PW/1,PW)*1)))' AD='if(0,

(650n*if(0,PW/1,PW)+floor(2/2)*750n*if(0,PW/1,PW)),

floor(2/2)*750n*if(0,PW/1,PW))' PD='if(0,

Page 43: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

43

(2*650n+if(0,PW/1,PW)+if(0,PW/1,PW)*1+floor(2/2)*2*(750n+if(0,PW/1,PW)*1)),

floor(2/2)*2*(750n+if(0,PW/1,PW)*1))'

MM2n Out A 1 0 NMOS25 W=NW L=L AS='if(1,

(650n*if(0,NW/1,NW)+floor(1/2)*750n*if(0,NW/1,NW)),

(2*650n*if(0,NW/1,NW)+(floor(1/2)-1)*750n*if(0,NW/1,NW)))' PS='if(1,

(2*650n+if(0,NW/1,NW)+if(0,NW/1,NW)*1+floor(1/2)*2*(750n+if(0,NW/1,NW)*1)),

(2*2*650n+if(0,NW/1,NW)+if(0,NW/1,NW)*1+(floor(1/2)-

1)*2*(750n+if(0,NW/1,NW)*1)))' AD='if(1,

(650n*if(0,NW/1,NW)+floor(1/2)*750n*if(0,NW/1,NW)),

floor(1/2)*750n*if(0,NW/1,NW))' PD='if(1,

(2*650n+if(0,NW/1,NW)+if(0,NW/1,NW)*1+floor(1/2)*2*(750n+if(0,NW/1,NW)*1)),

floor(1/2)*2*(750n+if(0,NW/1,NW)*1))'

MM3p Out A Vdd Vdd PMOS25 W=PW L=L M=2 AS='if(0,

(650n*if(0,PW/1,PW)+floor(2/2)*750n*if(0,PW/1,PW)),

(2*650n*if(0,PW/1,PW)+(floor(2/2)-1)*750n*if(0,PW/1,PW)))' PS='if(0,

(2*650n+if(0,PW/1,PW)+if(0,PW/1,PW)*1+floor(2/2)*2*(750n+if(0,PW/1,PW)*1)),

(2*2*650n+if(0,PW/1,PW)+if(0,PW/1,PW)*1+(floor(2/2)-

1)*2*(750n+if(0,PW/1,PW)*1)))' AD='if(0,

(650n*if(0,PW/1,PW)+floor(2/2)*750n*if(0,PW/1,PW)),

floor(2/2)*750n*if(0,PW/1,PW))' PD='if(0,

(2*650n+if(0,PW/1,PW)+if(0,PW/1,PW)*1+floor(2/2)*2*(750n+if(0,PW/1,PW)*1)),

floor(2/2)*2*(750n+if(0,PW/1,PW)*1))'

MM1n 1 B Gnd 0 NMOS25 W=NW L=L AS='if(1,

(650n*if(0,NW/1,NW)+floor(1/2)*750n*if(0,NW/1,NW)),

(2*650n*if(0,NW/1,NW)+(floor(1/2)-1)*750n*if(0,NW/1,NW)))' PS='if(1,

(2*650n+if(0,NW/1,NW)+if(0,NW/1,NW)*1+floor(1/2)*2*(750n+if(0,NW/1,NW)*1)),

(2*2*650n+if(0,NW/1,NW)+if(0,NW/1,NW)*1+(floor(1/2)-

1)*2*(750n+if(0,NW/1,NW)*1)))' AD='if(1,

(650n*if(0,NW/1,NW)+floor(1/2)*750n*if(0,NW/1,NW)),

floor(1/2)*750n*if(0,NW/1,NW))' PD='if(1,

(2*650n+if(0,NW/1,NW)+if(0,NW/1,NW)*1+floor(1/2)*2*(750n+if(0,NW/1,NW)*1)),

floor(1/2)*2*(750n+if(0,NW/1,NW)*1))'

MM5n Outbar Out Gnd 0 NMOS25 W=NW L=L AS='if(1,

(650n*if(0,NW/1,NW)+floor(1/2)*750n*if(0,NW/1,NW)),

(2*650n*if(0,NW/1,NW)+(floor(1/2)-1)*750n*if(0,NW/1,NW)))' PS='if(1,

(2*650n+if(0,NW/1,NW)+if(0,NW/1,NW)*1+floor(1/2)*2*(750n+if(0,NW/1,NW)*1)),

(2*2*650n+if(0,NW/1,NW)+if(0,NW/1,NW)*1+(floor(1/2)-

1)*2*(750n+if(0,NW/1,NW)*1)))' AD='if(1,

(650n*if(0,NW/1,NW)+floor(1/2)*750n*if(0,NW/1,NW)),

floor(1/2)*750n*if(0,NW/1,NW))' PD='if(1,

(2*650n+if(0,NW/1,NW)+if(0,NW/1,NW)*1+floor(1/2)*2*(750n+if(0,NW/1,NW)*1)),

floor(1/2)*2*(750n+if(0,NW/1,NW)*1))'

MM6p Outbar Out Vdd Vdd PMOS25 W=PW L=L M=2 AS='if(0,

(650n*if(0,PW/1,PW)+floor(2/2)*750n*if(0,PW/1,PW)),

(2*650n*if(0,PW/1,PW)+(floor(2/2)-1)*750n*if(0,PW/1,PW)))' PS='if(0,

(2*650n+if(0,PW/1,PW)+if(0,PW/1,PW)*1+floor(2/2)*2*(750n+if(0,PW/1,PW)*1)),

(2*2*650n+if(0,PW/1,PW)+if(0,PW/1,PW)*1+(floor(2/2)-

1)*2*(750n+if(0,PW/1,PW)*1)))' AD='if(0,

(650n*if(0,PW/1,PW)+floor(2/2)*750n*if(0,PW/1,PW)),

floor(2/2)*750n*if(0,PW/1,PW))' PD='if(0,

(2*650n+if(0,PW/1,PW)+if(0,PW/1,PW)*1+floor(2/2)*2*(750n+if(0,PW/1,PW)*1)),

floor(2/2)*2*(750n+if(0,PW/1,PW)*1))'

.ends

********* Simulation Settings - Parameters and SPICE Options *********

.param Vpwr = 3.3v

*-------- Devices: SPICE.ORDER == 0 --------

XX1 A N_1 Out N_2 Gnd Vdd NAND2C L=0.5u NW=4.0u PW=8.0u

*-------- Devices: SPICE.ORDER > 0 --------

VVb N_1 Gnd DC 5

VVpower Vdd Gnd DC Vpwr

VVin A Gnd PULSE(0 Vpwr 0 1n 1n 49n 100n)

Page 44: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

44

.PRINT TRAN V(Out)

.PRINT TRAN V(A)

.PRINT TRAN V(X1/1)

********* Simulation Settings - Analysis section *********

.tran/Powerup 250p 300n

********* Simulation Settings - Additional SPICE commands *********

.end

Subcircuits are defined by blocks of device statements bracketed with the .subckt and .ends commands, and instanced by statements beginning with the key letter X. The .subckt command includes the name of the subcircuit being defined (NAND2C), a list of terminals, and three subcircuit parameters. The terminals do not have a predefined order, but whatever order is used in the definition must be used in instances. Parameters can be written in any order in both the definition and the instances. If a parameter value is not specified in the instance the value in the definition is used as the default. Within the subcircuit definition, four MOSFETs are defined in the usual manner—and in these statements the order of terminals is important: drain–gate–source–bulk. Node 1 is the source of transistor MM2n and the drain of transistor MM1n. Subcircuit parameters, enclosed by single quotes, are used in place of numerical values.After the subcircuit is defined, you can create an instance of the subcircuit. The instance statement begins with the key letter X. The name of the instance, by which it is to be identified in the rest of the input file, is X1 (not "XX1.") The list of terminals in the instance statement must have the same order as on the first line of the subcircuit definition so that A B Out Gnd in the definition corresponds to Vin N_1 OUT Gnd in the instance. The next argument of the instance statement is the original subcircuit name NAND. The default subcircuit parameter values, as specified by the definition, are overridden by instance specific value assignments, which can appear in any order. Any parameters omitted from the instance statement retains its default value. A standard DC operating point calculation (.OP) analysis is carried out on this circuit, with a duration of 300 nanoseconds and a maximum timestep of 250 picoseconds. The .param command sets the initial node voltages to 3.3 volts. The .PRINT command reports simulation results for the voltages at nodes Vin, OUT, and X1/N_1.

1.20.1.2. Output

Page 45: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

45

Section 1.21 PLL-Behavioral

Section 1.22 Pseudo-random Bit Sequence-Verilog

Section 1.23 ReadTextFile-Verilog

Section 1.24 Resonator

Section 1.25 RingOscillator

Section 1.26 RingOscillator-Behavioral

Section 1.27 RingVCO

Section 1.28 SpiceOutput

DesignType: Digital Features: S-Edit

Page 46: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

46

Section 1.28.1 SPICE プリミティブ

S-Edit Design: \Designs\SpiceOutput\SpiceOutput.tanner Cell: NMOS4, PMOS4, INV

この事例はプリミティブデバイスを出力するための SPICE.OUTPUT プロパティの使用方

法を示します。 プリミティブデバイスは最下階層レベルのデバイスのことであって、

その下に他の回路図がありません。 SPICE ネットリストに出力されるテキストは、シ

ンボルの SPICE.OUTPUT プロパティによって定義されます。つまり、シンボルの

SPICE.OUTPUT プロパティは、シンボルがインスタンスされたすべての親回路で利用さ

れる SPICE 出力テキストの定義をします。そして、SPICE.PRIMITIVE = True プロパティは、

デバイスがプリミティブであって、その下に他の回路図がないことを意味します。 下

図に NMOS4 セルの NMOS4 シンボルビューが表示されています。このシンボルはいく

つかプロパティを持っています。 M = 1

W = 2.5u

L = 0.25u

Model = NMOS

PS = 2*(${W}+1.25u)*${M}

AS = ${W}*1.25u*${M}

PD = 2*(${W}+1.25u)*${M}

AD = ${W}*1.25u*${M}

NRD = 0

NRS = 0

RDC = 0

RSC = 0

RSH = 0

NMOS4 トランジスタ(NMOS4 ビュー)のシンボル

このシンボルはいくつかプロパティを持っています。 M = 1

W = 2.5u

L = 0.25u

Model = NMOS

PS = 2*(${W}+1.25u)*${M}

AS = ${W}*1.25u*${M}

PD = 2*(${W}+1.25u)*${M}

AD = ${W}*1.25u*${M}

NRD = 0

Page 47: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

47

NRS = 0

RDC = 0

RSC = 0

RSH = 0

このシンボルの SPICE.OUTPUT と SPICE.PRIMITIVE プロパティは次のようになっています。 SPICE.OUTPUT = M${Name} %{D} %{G} %{S} %{B} ${Model} W=${W}

L=${L} M=${M} AS=${AS} PS=${PS} AD=${AD} PD=${PD}

SPICE.PRIMITIVE = True

SPICE ネットリストをエクスポートする際に、SPICE エクスポート制御専用プロパティ

の名前を入力しますが、それは .OUTPUT と .PRIMITIVE というサブプロパティを持って

いるプロパティの事です。ここでは、“SPICE” は エクスポート制御専用プロパティで

す。詳細は事例 3.4 をご参照ください。

SPICE.OUTPUT プロパティの定義を詳細に調べるとこのプロパティの各エレメントは

SPICE ネットリストに次のように書いているとわかります。

M “M” と書きます

${Name} このインスタンスの“Name” というプロパティの値を書きます(インスタ

ンス名)

%{D}, %{G}, %{S}, %{B} D, G, S, と B ピンに接続しているネットの名前を

書きます

${Model} このインスタンスで “Model”というプロパティの値を書きます

W= “W=” と書きます

${W} このインスタンスの“W” というプロパティの値を書きます

L= “L=” と書きます

${L} このインスタンスの“L” というプロパティの値を書きます M= “M=” と書きます

${M} このインスタンスの“M” というプロパティの値を書きます

AS= “AS=” と書きます

${AS} このインスタンスの“AS=” というプロパティの値を書きます

PS= “PS=” と書きます

${PS} このインスタンスの“PS” というプロパティの値を書きます

セル PMOS4 のシンボルは、セル NMOS4 のシンボルと似た SPICE.OUTPUT プロパティを

持っています。さらに、 SPICE.OUTPUT プロパティも同じです。 セル INV には、セル

NMOS4 と セル PMOS4 がインスタンスされています。 INV の SPICE 出力は次のとおりで

す。 MP1 Out A Vdd Vdd PMOS W=2.5u L='0.25u-(10n*match)' M=1

AS=3.125p PS=7.5u AD=3.125p PD=7.5u

MN1 Out A Gnd Gnd NMOS W=2.5u L='0.25u-(10n*match)' M=1

AS=3.125p PS=7.5u AD=3.125p PD=7.5u .end

上記では、インスタンス名、ネット名とプロパティの値が各々の SPICE ラインに、

SPICE.OUTPUT の定義が代用されていることがわかります。

Page 48: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

48

SPICE コールを指定するために SPICE.OUTPUT プロパティを定義する代わりに利用でき

る代替法として、SPICE.PREFIX、SPICE.PINORDER、SPICE.MODEL、SPICE.PARAMETERS プ

ロパティを定義する方法があります。これらの 4 つのプロパティもまた、お互いに使

用されると、シンボルのそれぞれのインスタンスに対して記述された SPICE コールを

指定します。例として、NMOS4 のシンボル、NMOS4 展開ビューを示します。

NMOS4 トランジスタのシンボル、NMOS4 展開ビュー

SPICE.PREFIX、SPICE.PINORDER、SPICE.MODEL、SPICE.PARAMETERS プロパティは次のと

おりです。

SPICE.PREFIX = M SPICE.PINORDER = D G S B SPICE.MODEL = $Model SPICE.PARAMETERS = W= L= M~ AS= PS= AD= PD= NRD~ NRS~ RDC~ RSC~ RSH~

SPICE.PREFIX 記述について、プロパティは次のように記述されます。

M “M” の後には、インスタンス名が逐語的続きます。

SPICE.PREFIX 出力の後に SPICE.PINORDER 記述が続き、SPICE.PINORDER プロパティは次

のように記述されます。

D G S B ピン D、G、S および B に接続されるネット名を記述しま

す。

SPICE.PINORDER 出力の後に SPICE.MODEL 記述が続き、SPICE.MODEL プロパティは次の

ように記述されます。

$Model このインスタンスのプロパティ”Model”の値を記述します。

SPICE.MODEL 出力の後に SPICE.PARAMETERS 記述に続き、SPICE.PARAMETERS プロパティ

は次のように記述されます。

Page 49: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

49

W= “W=” の後には、このインスタンスのプロパテ

ィ”W”値が逐語的続きます。

L= “L=” の後には、このインスタンスのプロパティ”L”

値が逐語的続きます。

M~ “M=” の後には、M 値がデフォルト値と異なる場

合のみ、このインスタンスのプロパティ”M”値が

逐語的続きます。

AS= “AS=” の後には、このインスタンスのプロパテ

ィ”AS”値が逐語的続きます。

PS= “PS =” の後には、このインスタンスのプロパティ”

PS”値が逐語的続きます。

AD= “AD =” の後には、このインスタンスのプロパティ”

AD”値が逐語的続きます。

PD= “PD =” の後には、このインスタンスのプロパティ”

PD”値が逐語的続きます。

NRD~ “NRD =” の後には、NRD 値がデフォルト値と異な

る場合のみ、このインスタンスのプロパティ”

NRD”値が逐語的続きます。

NRS~ “NRS =” の後には、NRS 値がデフォルト値と異な

る場合のみ、このインスタンスのプロパティ” NRS”

値が逐語的続きます。

RDC~ “RDC =” の後には、RDC 値がデフォルト値と異な

る場合のみ、このインスタンスのプロパティ”

RDC”値が逐語的続きます。

RSC~ “RSC =” の後には、RSC 値がデフォルト値と異なる

場合のみ、このインスタンスのプロパティ” RSC”

値が逐語的続きます。

RSH~ “RSH =” の後には、RSH 値がデフォルト値と異な

る場合のみ、このインスタンスのプロパティ” RSH”

値が逐語的続きます。

Page 50: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

50

Section 1.28.2 パラメータを下の階層のセルに引き渡す

S-Edit Design: \Designs\SpiceOutput\SpiceOutput.tanner Cell: Top_Inverters

この事例はパラメータを下の階層へ引渡す方法を示します。セル Inverters はセル INV

のインスタンスを 3 つ含んでいます。セル INV のシンボルビューには “match=0” と

いうプロパティがあります(求められたプロパティの表示 ボタンをオフにしてくださ

い)。セル INV のインスタンスされているセル PMOS4 と NMOS4 のシンボルビューに

は“L='0.25u-(10n*?{match})'” というプロパティがあるのです。 “?”字で始まるプロパ

ティは親回路図のプロパティを優先するという意味です。

回路図 Top_ Inverters で、一番目のインスタンス(インスタンス名 INV1)は、“match”

のデフォルトのプロパティを使っているので、パラメータの引渡しによって上書きさ

れていません(プロパティブラウザでそのプロパティの色が緑であることを確認して

ください)。

一方、2 番目のインスタンス(INV2)では、match プロパティがプロパティブラウザで

1 に変更されています(プロパティブラウザ でそのプロパティの色が黒になっている

ことを確認してください)。それで、 セル INV の元のパラメータ“match=0” が、イ

ンスタンス INV2 で、“match=1”に変更されます。

3 番目のインスタンス(INV3)でも INV2 と同様に、“match=0” を“match=2”に変更

されています。

Page 51: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

51

セルINVのシンボルビュー セルINVの回路図ビュー

Top_Invertersの回路図ビュー

.subckt INV A Out Gnd Vdd match=0

MP1 Out A Vdd Vdd PMOS W=2.5u L='0.25u-(10n*match)' M=1 AS=3.125p

PS=7.5u AD=3.125p PD=7.5u

MN1 Out A Gnd Gnd NMOS W=2.5u L='0.25u-(10n*match)' M=1 AS=3.125p

PS=7.5u AD=3.125p PD=7.5u

.ends

XINV1 In Out1 Gnd Vdd INV match=0

XINV2 In Out2 Gnd Vdd INV match=1

XINV3 In Out3 Gnd Vdd INV match=2

Page 52: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

52

Section 1.28.3 サブサーキット

S-Edit Design: \Designs\SpiceOutput\SpiceOutput.tanner Cell: Dig0, Dig1, Dig2, Top_Subcircuits

この事例は SPICE.OUTPUT と SPICE.DEFINITION プロパティを使ってサブサーキットの

SPICE 出力を制御する方法を示します。「サブサーキット」はプリミティブではないシ

ンボルですので、SPICE.PRIMITIVE=True プロパティが不要です。

SPICE.DEFINITION プロパティはサブサーキットの構成を定義するために使われます。

SPICE.OUTPUT あるいは

SPICE.DEFINITION プロパティ

どちらもないシンボル Dig0

SPICE.DEFINITION プロパテ

ィだけのあるシンボル Dig1

SPICE.DEFINITION と SPICE.OUTPUT

プロパティが両方ともあるシンボル Dig2

セル Dig0, Dig1, Dig2 がインスタンスされた回路図

セル Dig0,Dig1,Dig2 の回路図

Page 53: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

53

◆ セル Dig0

セル Dig0 のシンボルは SPICE.OUTPUT あるいは SPICE.DEFINITION プロパティどちらも持

っていません。

SPICE.DEFINITION プロパティがない場合、サブサーキットの定義は全てのピンを ABC 順

に含みます(グローバルポートは最後に ABC 順です)。

SPICE.OUTPUT プロパティがない場合(SPICE.PREFIX, SPICE.PINORDER, SPICE.MODEL, または

SPICE.PARAMETERS プロパティもない場合)、エクスポートされる SPICE ネットリストに、

インスタンスされたシンボルの全てのピンと、それに続けてインターフェースのパラ

メータが書かれます。インターフェースパラメータは、 サブプロパティが IsInterface =

True となっているパラメータです(プロパティブラウザで、SPICE の各々のプロパティ

の下にあります)。

セル Top_Subcircuits をエクスポートすると、インスタンス Dig0 のサブサーキット定義

とそれのコールは次のようになります。 サブサーキットの定義は: .subckt Dig0 Clk Data<0> Data<1> Data<2> Data<3> Out<0> Out<1> Out<2>

Out<3> Vdd

.ends

...

XXdig0 Clock A<0> A<1> A<2> A<3> BA<0> BA<1> BA<2> BA<3> PWR Dig0

◆ セル Dig1

セル Dig1 は、SPICE.DEFINITION プロパティを使ってサブサーキットの定義の中にパラ

メータの引渡し方法を示しています。

セル Dig1 のシンボルは次のような SPICE.DEFINITION プロパティを持っています。 SPICE.DEFINITION = .subckt $Cell %% $$ Level = 5

ここで、 SPICE.DEFINITION プロパティのステートメントの各エレメントは、SPICE 定義

インターフェースに次のように書かれます。

.subckt “.subckt” と書きます

$Cell セルの名前を書きます

%% シンボルのポートの名前をデフォルト順に書きます

$$ 全てのインターフェース プロパティを次のように書きます “property_name1 = property_value1, …”

Level = 5 “Level = 5” と書きます

セル Subcircuits をエクスポートすると、インスタンス Dig1 のサブサーキット定義と、

それのコールは次のようになります。 .subckt Dig1 Clk Data<0> Data<1> Data<2> Data<3> Out<0> Out<1> Out<2> Out<3> Vdd P1=10

P2=20 Level = 5

.ends

...

XXdig1 Clock A<0> A<1> A<2> A<3> BB<0> BB<1> BB<2> BB<3> PWR Dig1 P1=10 P2=20

Page 54: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

54

◆ セル Dig2

セル Dig2 は SPICE.OUTPUT と SPICE.DEFINITION プロパティを持ってピン順のカスタマイ

ズと、サブサーキットの定義とサブサーキットのコールに特別な記述を追加する方法

を示しています。

SPICE.DEFINITION = .subckt $Cell (%{Data<3:0>}) %{Vdd} %{Clk}

(%{Out<0:3>})

SPICE.OUTPUT = X${Name} (%{Data<3:0>}) %{Vdd} %{Clk} (%{Out<0:3>})

$MasterCell

SPICE.DEFINITION プロパティのステートメントの各エレメントは、SPICE 定義インター

フェースに次のように書かれます。

.subckt “.subckt” と書きます

$Cell セルの名前を書きます

( “(“ と書きます

%{Data<3:0>} } デフォルト順を逆転し、データポートを書きます

“)” と書きます

%{Vdd} Vdd ポートを書きます

%{Clk} Clk ポートを書きます

( “(“ と書きます

%{Out<0:3>} “Out” ポートを書きます

) “)” と書きます

SPICE.OUTPUT プロパティのステートメントの各エレメントも同様に構成されています。

セル“Subcircuits”をエクスポートすると、インスタンス Dig2 のサブサーキット定義と、

それのコールは次のようになります。 .subckt Dig2 (Data<3> Data<2> Data<1> Data<0>) Vdd Clk (Out<0> Out<1>

Out<2> Out<3>)

.ends

...

XXdig2 (A<3> A<2> A<1> A<0>) PWR Clock (BC<0> BC<1> BC<2> BC<3>) Dig2

Page 55: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

55

Section 1.28.4 エクスポート制御用プロパティ

S-Edit Design: \Designs\SpiceOutput\SpiceOutput.tanner Cell: PMOS4

この事例はデバイスの SPICE 出力を制御するために「エクスポート制御用プロパティ」

の使用方法を示します。 あるデバイスの SPICE 出力のために、いくつかの SPICE 出力プ

ロパティを定義することができます。例えば、デフォルトプロパティ、基本的なプロ

パティと詳細なプロパティなどです。 それぞれのプロパティがシミュレーションの異

なったレベルのために異なったパラメータを持つように設定できます。 「エクスポー

ト制御用プロパティ」は SPICE を書き上げる時どの出力プロパティが使われるかを決

定します。 プロパティ名のリストが「エクスポート制御用プロパティ」に入力されと、

SPICE は最初の「エクスポート制御用プロパティ」に従ってエクスポートされます。

シンボルが下に表示されているセル PMOS4 (PMOS トランジスタ)を考慮しましょう。

下記に表示されるように、このシンボルで 3 つの .OUTPUT プロパティが定義されてい

ます。それぞれの .OUTPUT プロパティのための SPICE エクスポート制御用プロパティ

は、SPICE, SPICE_BASIC, と SPICE_DETAILED です。

PMOS4 セルの PMOS4_Expand シンボルビュー

SPICE_BASIC.OUTPUT = M${Name} %{D} %{G} %{S} %{B} ${Model} W=${W} L=${L}

SPICE.OUTPUT = M${Name} %{D} %{G} %{S} %{B} ${Model} W=${W} L=${L}

M=${M} AS=${AS} PS=${PS} AD=${AD} PD=${PD}

SPICE_DETAILED.OUTPUT = M${Name} %{D} %{G} %{S} %{B} ${Model} W=${W} L=${L}

M=${M} AS=${AS} PS=${PS} AD=${AD} PD=${PD} NRD=${NRD}

NRS=${NRS} RDC=${RDC} RSC=${RSC} RSH=${RSH}

◆ セル INV を SPICE にエクスポートするとき、SPICE エクスポート制御用プロパティを

「SPICE_DETAILED, SPICE, SPICE_BASIC」として入力すると、次のようにエクスポートさ

れます。 MP1 Out A Vdd Vdd PMOS W=2.5u L='0.25u-(10n*match)' M=1

AS=3.125p PS=7.5u AD=3.125p PD=7.5u NRD=0 NRS=0 RDC=0 RSC=0

RSH=0

Page 56: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

56

MN1 Out A Gnd Gnd NMOS W=2.5u L='0.25u-(10n*match)' M=1

AS=3.125p PS=7.5u AD=3.125p PD=7.5u

インスタンス PMOS4 の出力には、SPICE_DETAILED.OUTPUT が利用されます。それはリ

ストで先に設定された SPICE エクスポート制御用プロパティであり、PMOS4 のシンボ

ルに定義されているからです。NMOS4 シンボルに、SPICE.OUTPUT プロパティしか定義

されていないので、インスタンス NMOS4 の出力で SPICE.OUTPUT プロパティが利用さ

れています。

◆ セル INV を SPICE にエクスポートするとき、SPICE エクスポート制御用プロパティを

「SPICE_BASIC, SPICE」として入力すると、次のようにエクスポートされます。 MP1 Out A Vdd Vdd PMOS W=2.5u L='0.25u-(10n*match)'

MN1 Out A Gnd Gnd NMOS W=2.5u L='0.25u-(10n*match)' M=1

AS=3.125p PS=7.5u AD=3.125p PD=7.5u

ここで、インスタンス PMOS4 の出力のために、SPICE_BASIC.OUTPUT が利用されました。

なぜなら、それはリストで最初に設定された SPICE エクスポート制御用プロパティで

あり、PMOS4 のシンボルに定義されているからです。NMOS4 シンボルに、

SPICE.OUTPUT プロパティしか定義されていないので、インスタンス NMOS4 の出力で

SPICE.OUTPUT プロパティが利用されています。

◆ セル INV を SPICE にエクスポートするとき、SPICE エクスポート制御用プロパティと

して単に「SPICE」と入力すると、次の出力が得られます。 MP1 Out A Vdd Vdd PMOS W=2.5u L='0.25u-(10n*match)' M=1

AS=3.125p PS=7.5u AD=3.125p PD=7.5u

MN1 Out A Gnd Gnd NMOS W=2.5u L='0.25u-(10n*match)' M=1

AS=3.125p PS=7.5u AD=3.125p PD=7.5u

PMOS4 と NMOS4 の インスタンスの出力に、 SPICE.OUTPUT プロパティが利用されてい

ます。

Page 57: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

57

Section 1.29 Stimuli

Section 1.30 XOR

Section 2 Process

Section 2.1 Gallium Arsenide (GaAs)

Folder Path: \Process\ProcessName\GaAs\GaAsTech GaAs.tdb Description Description

Section 2.2 Generic 0.25um

Section 2.2.1 Analog Symbols Library

Folder Path: \Process\Generic250nm\Generic250nmAnalogLib Generic250nmAnalogLib.tanner Description Description

Section 2.2.2 Device Symbols Library

Folder Path: \Process\Generic250nm\Generic250nmDevices Generic250nmDevices.tanner Description Description

Section 2.2.3 I/O Pad Symbols Library

Folder Path: \Process\Generic250nm\Generic250nmIO_Pads Generic250nmIO_Pads.tanner Description Description

Section 2.2.4 Logic Gate Symbols Library

Folder Path: \Process\Generic250nm\Generic250nmLogicGates Generic250nmLogicGates.tanner Description Description

Section 2.2.5 Technology Files

Page 58: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

58

Description Folder Path: \Process\Generic250nm\Generic250nm_Tech Generic_250nm_DRC-Main.cal Calibre フォーマット DRC ルールファイル Generic_250nm_DRC.dra Dracula フォーマット DRC ルールファイル Generic_025umTCells.dll 32bit L-Edit 用にコンパイルされた T-Cell を含むファイル。 Generic_250nm.drf Generic_250nm.ext Generic_250nm.lib Generic_250nm.tdb Generic_250nm.tf Generic_250nm.xst Generic_250nm_DRC-Antenna.cal Generic_250nm_DRC-Density.cal Generic_250nm-Ext.cal SpecialDevices.md Description

Section 2.3 MOSIS Scalable AMIS 0.8um

Folder Path: \Process\MOSIS_Scalable_AMIS_0800nm\ MOSIS_Scalable_AMIS_0800nmTech

mamin08.ext Description mamin08.tdb Description mamin08.xst Description Description

Section 2.4 MOSIS Scalable AMIS 1.2um

Folder Path: \Process\MOSIS_Scalable_AMIS_1200nm\ MOSIS_Scalable_AMIS_1200nmTech

mamin12.ext Description mamin12.tdb Description mamin12.xst Description Description

Section 2.5 MOSIS Scalable HP 0.5um

Page 59: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

59

Folder Path: \Process\MOSIS_Scalable_HP_500nm\ MOSIS_Scalable_HP_500nmTech

mhp_n05.ext Description mhp_n05.tdb Description mhp_n05.xst Description mhp_n05-soft.ext Description Description

Section 2.6 MOSIS Scalable Orbit 1.2um

Folder Path: \Process\MOSIS_Scalable_Orbit_1200nm\ MOSIS_Scalable_Orbit_1200nmTech

morbn12.ext Description morbn12.tdb Description morbn12.xst Description Description

Section 2.7 MOSIS Scalable Orbit 2.0um

Folder Path: \Process\MOSIS_Scalable_Orbit_2000nm\ MOSIS_Scalable_Orbit_2000nmTech

morb20cc.ext Description morbn20.ext Description morbn20.xst Description Description

Section 2.8 Native Orbit 1.2um

Folder Path: \Process\Orbit_1200nm\Orbit_1200nmTech orbtn12.ext Description orbtn12.tdb Description orbtn12.xst Description orbtp12.ext Description orbtp12.tdb Description orbtp12.xst Description Description

Section 2.9 Native Orbit 2.0um

Page 60: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

60

Folder Path: \Process\Orbit_2000nm\Orbit_2000nmTech orbtn20.ext Description orbtn20.tdb Description orbtn20.xst Description orbtp20.ext Description orbtp20.tdb Description orbtp20.xst Description Description

Section 2.10 Generic Standard Libraries

Section 2.10.1 Device Symbols Library

Folder Path: \Process\StdLibraries\Devices Devices.tanner Description Description

Section 2.10.2 Miscellaneous Symbols Library

Folder Path: \Process\StdLibraries\Misc Misc.tanner Description Description

Section 2.10.3 SPICE Command Symbols Library

Folder Path: \Process\StdLibraries\SPICE_Commands SPICE_Commands.tanner Description Description

Section 2.10.4 SPICE Element Symbols Library

Folder Path: \Process\StdLibraries\SPICE_Elements SPICE_Elements.tanner Description Description

Section 3 自動化された操作

Section 3.1 S-Edit TCL スクリプト

Page 61: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

61

Section 3.1.1 Calculator - TK

TCL Script Path: \Features By Tool\S-Edit\Calculator_TK.tcl

Section 3.1.2 Change Symbol Property Size

TCL Script Path: \Features By Tool\S-Edit\ChangeSymbolPropertySize.tcl

Section 3.1.3 Change WhenNotEval Property

TCL Script Path: \Features By Tool\S-Edit\ChangeWhenNotEvalProperty.tcl

Section 3.1.4 Copy Cells

TCL Script Path: \Features By Tool\S-Edit\CopyCells.tcl

Section 3.1.5 Copy Cells – Traverse Hierarchy

TCL Script Path: \Features By Tool\S-Edit\CopyCells_Traverse.tcl

Section 3.1.6 Delete Empty Schematic View

TCL Script Path: \Features By Tool\S-Edit\DeleteEmptySchematicView.tcl

Section 3.1.7 Delete Property

TCL Script Path: \Features By Tool\S-Edit\DeleteProperty.tcl

Section 3.1.8 Find Property on Instance - TK

TCL Script Path: \Features By Tool\S-Edit\FindInstance_TK.tcl

Section 3.1.9 Find and Rename Instance

TCL Script Path: \Features By Tool\S-Edit\FindInstance_ModifyName.tcl

Page 62: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

62

Section 3.1.10 ポートとネットラベルの変更

TCL Script Path: \Features By Tool\S-Edit\TCLScripts\Fixup_Vdd_Labels.tcl

このサンプルスクリプトは、アクティブセル、あるいは、デザインのすべての回路図

のビューで「vdd」という名のすべてのポートとネットラベルを「VDD」に変えます。

スクリプトをロードしたら、3 つのファンクションが利用できます。

fix_vdd_names : 現在アクティブのセルの中にある、すべてのポートとネットラ

ベル「vdd」 から 「VDD」 に変更します

ForEachSchematicView: データベースにある全ての回路図を開いてパラメータの

“UserProcName” を実行します。

fixall : ForEachSchematicView に fix_vdd_names パラメータを

引き渡すことによって、データベースにある全ての回路図で

fix_vdd_names を実行します。

このスクリプトを実行するために、コマンドウィンドーの中にスクリプトのファイル

をドラッグして(または メニューの File > Open > Execute Script を使ってロードして)

関数をロードします。次にコマンドウィンドーで “fixall” と入力します。コマンド

ウィンドーで“help”と入力するとタイプすることによって、S-Edit TCL で利用可能な

コマンドの全てがリストされます。特定のコマンドやサブコマンドやオプションに関

する詳細な情報を得るためにコマンド名 と続けて“-help” と入力します。

Page 63: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

63

Section 3.1.11 Force Callback

TCL Script Path: \Features By Tool\S-Edit\ForceCallback.tcl

Section 3.1.12 Hello World - TK

TCL Script Path: \Features By Tool\S-Edit\ HelloWorld_TK.tcl

Section 3.1.13 Resizing Text - TK

TCL Script Path: \Features By Tool\S-Edit\TCLScripts\ResizeText.tcl This sample TCL script illustrates how to cycle through all views in a design (schematic and symbol views) and modify the size of Ports, Netlabels, and Textlabels. It also shows how to use TK to write a dialog to enter parameters into a script. Note the use of the toplevel command

Page 64: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

64

to declare a window to write into. This is required for all TK scripts as the default toplevel window is the S-Edit application window, which the user is not permitted to modify. After loading the script by dragging-and-dropping it into the command window, the following dialog appears:

Enter appropriate text sizes, then press OK to resize Ports, Netlabels, and Textlabels in all views. A button to run the script can be created on a toolbar by removing the comment symbol (#) from the workspace command. Also comment out the ResizeText command so the script does not execute immediately when it is loaded, but only when the button is pressed.

… workspace userbutton set ResizeText

# ResizeText

The button can then be added to the toolbar by right-clicking the toolbar and selecting Customize…, selecting the Commands tab and then the category Custom. Drag the command Execute button text as Tcl to the location the button should appear on the toolbar. Right-Click the new button and change the name to ResizeText. To use the button the TCL script must first be loaded by dragging-and-dropping it into the command window.

If this is a commonly used script, it can be placed in the scripts\startup folder to automatically load when S-Edit starts up. The location of the startup folder is:

C:\Documents and Settings\<username>\Application Data\Tanner EDA\scripts\startup Scripts can also be loaded automatically whenever a design is opened, or when S-Edit is shutdown. The location of the folders for these scripts is: C:\Documents and Settings\<username>\Application Data\Tanner EDA\scripts\open.design

Page 65: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

65

C:\Documents and Settings\<username>\Application Data\Tanner EDA\scripts\shutdown

Section 3.2 L-Edit UPI Macros

Section 3.2.1 Add to Find

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\AddToFind\Filename.c Layout Path: \Features By Tool\L-Edit\UPIMacros\AddToFind\Filename.tdb Description

Section 3.2.2 Boolean Operations

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\ BooleanOpSelectObjects\Filename.c

Layout Path: \Features By Tool\L-Edit\UPIMacros\ BooleanOpSelectObjects\Filename.tdb

Description

Section 3.2.3 Capacitor

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\Capacitor\capacitr.c DLL Path: \Features By Tool\L-Edit\UPIMacros\Capacitor\release\capacitr.dll Description

Section 3.2.4 Change Instance Name to Include Rotation Parameter

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\ ChangeInstanceNameToIncludeRotationParameter\Filename.c

Layout Path: \Features By Tool\L-Edit\UPIMacros\ ChangeInstanceNameToIncludeRotationParameter\Filename.tdb

DLL Path: \Features By Tool\L-Edit\UPIMacros\ ChangeInstanceNameToIncludeRotationParameter\Filename.dll

Description

Section 3.2.5 Change Layer

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\ ChangeLayer\chnglayr.c.c

DLL Path: \Features By Tool\L-Edit\UPIMacros\ ChangeLayer\release\chnglayr.dll.dll

Page 66: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

66

Description

Section 3.2.6 Change Layer and Duplicate

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\ ChangeLayerAndDuplicate\Filename.c

Layout Path: \Features By Tool\L-Edit\UPIMacros\ ChangeLayerAndDuplicate\Filename.tdb

DLL Path: \Features By Tool\L-Edit\UPIMacros\ ChangeLayerAndDuplicate\release\Filename.dll

Description

Section 3.2.7 Change Layer and Grow

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\ ChangeLayerAndGrow\Filename.c

Layout Path: \Features By Tool\L-Edit\UPIMacros\ ChangeLayerAndGrow\Filename.tdb

DLL Path: \Features By Tool\L-Edit\UPIMacros\ ChangeLayerAndGrow\release\Filename.dll

Description

Section 3.2.8 Create Contact

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\Contact\Contact.c Description

Section 3.2.9 Copy Layer Rendering

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\ CopyRendering\Filename.c

Layout Path: \Features By Tool\L-Edit\UPIMacros\ CopyRendering\Filename.tdb

DLL Path: \Features By Tool\L-Edit\UPIMacros\ CopyRendering\release\Filename.dll

Description

Section 3.2.10 Create Derived Layer

Page 67: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

67

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\ CreateDerivedLayer\Filename.c

Layout Path: \Features By Tool\L-Edit\UPIMacros\ CreateDerivedLayer\Filename.tdb

DLL Path: \Features By Tool\L-Edit\UPIMacros\ CreateDerivedLayer\release\Filename.dll

Description

Section 3.2.11 Delete Layer

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\DeleteLayer\Filename.c Layout Path: \Features By Tool\L-Edit\UPIMacros\DeleteLayer\Filename.tdb DLL Path: \Features By Tool\L-Edit\UPIMacros\DeleteLayer\release\Filename.dll Description

Section 3.2.12 Dialog Examples

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\DialogExamples\Filename.c Layout Path: \Features By Tool\L-Edit\UPIMacros\DialogExamples\Filename.tdb DLL Path: \Features By Tool\L-Edit\UPIMacros\

DialogExamples\release\Filename.dll Description

Section 3.2.13 Gear

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\Gear\Filename.c Layout Path: \Features By Tool\L-Edit\UPIMacros\Gear\Filename.tdb DLL Path: \Features By Tool\L-Edit\UPIMacros\Gear\release\Filename.dll Description

Section 3.2.14 Generate Derived Layer in Subcell

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\ GenerateDerivedLayerInSubCell\Filename.c

Layout Path: \Features By Tool\L-Edit\UPIMacros\ GenerateDerivedLayerInSubCell\Filename.tdb

DLL Path: \Features By Tool\L-Edit\UPIMacros\ GenerateDerivedLayerInSubCell\release\Filename.dll

Description

Page 68: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

68

Section 3.2.15 Goto

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\goto\goto.c DLL Path: \Features By Tool\L-Edit\UPIMacros\goto\release\goto.dll Description

Section 3.2.16 Grow Via

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\GrowVia\Filename.c Layout Path: \Features By Tool\L-Edit\UPIMacros\GrowVia\Filename.tdb DLL Path: \Features By Tool\L-Edit\UPIMacros\GrowVia\release\Filename.dll Description

Section 3.2.17 Hello World

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\HelloWorld\HelloWorld.c DLL Path: \Features By Tool\L-Edit\UPIMacros\HelloWorld\

Release-VC6\HelloWorld-VC6.dll Description

Section 3.2.18 Hide Layer with GDS DataType = 1

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\ HideLayerWithGDSDataType1\Filename.c

Layout Path: \Features By Tool\L-Edit\UPIMacros\ HideLayerWithGDSDataType1\Filename.tdb

DLL Path: \Features By Tool\L-Edit\UPIMacros\ HideLayerWithGDSDataType1\release\Filename.dll

Description

Section 3.2.19 Hierarchical Instance Location

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\ HierarchicalInstanceLocation\Filename.c

Layout Path: \Features By Tool\L-Edit\UPIMacros\ HierarchicalInstanceLocation\Filename.tdb

DLL Path: \Features By Tool\L-Edit\UPIMacros\ HierarchicalInstanceLocation\release\Filename.dll

Description

Page 69: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

69

Section 3.2.20 Import GDS Copy Cell

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\ImportGDSCopyCell\Filename.c Layout Path: \Features By Tool\L-Edit\UPIMacros\

ImportGDSCopyCell\Filename.tdb DLL Path: \Features By Tool\L-Edit\UPIMacros\

ImportGDSCopyCell\release\Filename.dll Description

Section 3.2.21 Instance and Rotate a T-Cell

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\ Instance&RotateT-Cell\Filename.c

Layout Path: \Features By Tool\L-Edit\UPIMacros\ Instance&RotateT-Cell\Filename.tdb

DLL Path: \Features By Tool\L-Edit\UPIMacros\ Instance&RotateT-Cell\release\Filename.dll

Description

Section 3.2.22 Instance a Cell

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\InstanceCell\Filename.c Layout Path: \Features By Tool\L-Edit\UPIMacros\InstanceCell\Filename.tdb DLL Path: \Features By Tool\L-Edit\UPIMacros\InstanceCell\release\Filename.dll Description

Section 3.2.23 Interface

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\Interface\intrface.c DLL Path: \Features By Tool\L-Edit\UPIMacros\Interface\release\ intrface.dll Description

Section 3.2.24 Drawing Mode Keyboard Shortcuts

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\ Layer-DrawingMode Keyboard Shortcuts\Filename.c

Layout Path: \Features By Tool\L-Edit\UPIMacros\ Layer-DrawingMode Keyboard Shortcuts\Filename.tdb

DLL Path: \Features By Tool\L-Edit\UPIMacros\ Layer-DrawingMode Keyboard Shortcuts\release\Filename.dll

Description

Page 70: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

70

Section 3.2.25 MFC

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\MFC\mfcupi.cpp DLL Path: \Features By Tool\L-Edit\UPIMacros\MFC\release\mfcupi.dll Description

Section 3.2.26 MOSFET

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\Mosfet\Mosfet.c Layout Path: \Features By Tool\L-Edit\UPIMacros\Mosfet\Filename.tdb DLL Path: \Features By Tool\L-Edit\UPIMacros\Mosfet\release\Filename.dll Description

Section 3.2.27 Move

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\Move\move.c DLL Path: \Features By Tool\L-Edit\UPIMacros\Move\release\move.dll Description

Section 3.2.28 Palette

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\Palette\Palette.c DLL Path: \Features By Tool\L-Edit\UPIMacros\Palette\release\Palette.dll Description

Section 3.2.29 Perimeter

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\Perimeter\perimetr.c DLL Path: \Features By Tool\L-Edit\UPIMacros\Perimeter\release\perimetr.dll Description

Section 3.2.30 Place Ports

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\PlacePorts\Filename.c Layout Path: \Features By Tool\L-Edit\UPIMacros\PlacePorts\Filename.tdb DLL Path: \Features By Tool\L-Edit\UPIMacros\PlacePorts\release\Filename.dll Description

Page 71: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

71

Section 3.2.31 Polar Array

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\PolarArray\PolarArray.c DLL Path: \Features By Tool\L-Edit\UPIMacros\

PolarArray\VC++7\Release\PolarArray.dll Description

Section 3.2.32 Port List

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\PortList\Filename.c Layout Path: \Features By Tool\L-Edit\UPIMacros\PortList\Filename.tdb DLL Path: \Features By Tool\L-Edit\UPIMacros\PortList\release\Filename.dll Description

Section 3.2.33 Properties

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\Properties\Filename.c Layout Path: \Features By Tool\L-Edit\UPIMacros\Properties\Filename.tdb DLL Path: \Features By Tool\L-Edit\UPIMacros\Properties\release\Filename.dll Description

Section 3.2.34 Read from Text File and Instance T-Cell

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\ ReadfromFileAndInstanceT-Cell\Filename.c

Layout Path: \Features By Tool\L-Edit\UPIMacros\ ReadfromFileAndInstanceT-Cell\Filename.tdb

DLL Path: \Features By Tool\L-Edit\UPIMacros\ ReadfromFileAndInstanceT-Cell\release\Filename.dll

Description

Section 3.2.35 Rename Cell

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\RenameCell\Filename.c Layout Path: \Features By Tool\L-Edit\UPIMacros\RenameCell\Filename.tdb DLL Path: \Features By Tool\L-Edit\UPIMacros\RenameCell\release\Filename.dll Description

Page 72: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

72

Section 3.2.36 Resistor

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\Resistor\Resistor.c DLL Path: \Features By Tool\L-Edit\UPIMacros\Resistor\release\Resistor.dll Description

Section 3.2.37 Run L-Edit in Command Mode and Load a Macro

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\ RunL-EditCmdModeLoadMacro\Filename.c

Layout Path: \Features By Tool\L-Edit\UPIMacros\ RunL-EditCmdModeLoadMacro\Filename.tdb

DLL Path: \Features By Tool\L-Edit\UPIMacros\ RunL-EditCmdModeLoadMacro\release\Filename.dll

Description

Section 3.2.38 Selected Polygon Vertex Summary Report

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\ SelectedPolygonVertexSummary\Filename.c

Layout Path: \Features By Tool\L-Edit\UPIMacros\ SelectedPolygonVertexSummary\Filename.tdb

DLL Path: \Features By Tool\L-Edit\UPIMacros\ SelectedPolygonVertexSummary\release\Filename.dll

Description

Section 3.2.39 Set Layer Rendering

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\SetRendering\Filename.c Layout Path: \Features By Tool\L-Edit\UPIMacros\SetRendering\Filename.tdb DLL Path: \Features By Tool\L-Edit\UPIMacros\

SetRendering\release\Filename.dll Description

Section 3.2.40 Spiral

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\Spiral\Spiral.c DLL Path: \Features By Tool\L-Edit\UPIMacros\Spiral\release\Spiral.dll Description

Page 73: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

73

Section 3.2.41 Spring

UPI Macro Path: \Features By Tool\L-Edit\UPIMacros\Spring\Spring.c DLL Path: \Features By Tool\L-Edit\UPIMacros\Spring\release\Spring.dll Description

Section 3.3 L-Edit T-Cells

Section 3.3.1 Buffer

T-Cell Layout Path: \Features By Tool\L-Edit\TCells\Buffer.tdb Cell: BUFFER Generator Description

Section 3.3.2 Change T-Cell Name

T-Cell Layout Path: \Features By Tool\L-Edit\TCells\ChangeTCellName.tdb Cell: Rules Description

Section 3.3.3 Concentric Tori

T-Cell Layout Path: \Features By Tool\L-Edit\TCells\ConcentricTori.tdb Cell: Concentric Tori Description

Section 3.3.4 Decoder

T-Cell Layout Path: \Features By Tool\L-Edit\TCells\Decoder.tdb Cell: Decoder Generator Description

Section 3.3.5 Ellipse

T-Cell Layout Path: \Features By Tool\L-Edit\TCells\Ellipse.tdb Cell: Ellipse Generator Description

Section 3.3.6 Layout Text Generator

Page 74: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

74

T-Cell Layout Path: \Features By Tool\L-Edit\TCells\LayoutText.tdb Cell: LayoutText Generator Description

Section 3.3.7 Matched Dual Capacitor Array

T-Cell Layout Path: \Features By Tool\L-Edit\TCells\MatchedDualCapacitorArray.tdb Cell: MatchedDualCapacitorArray Description

Section 3.3.8 MOSFET

T-Cell Layout Path: \Features By Tool\L-Edit\TCells\Mosfet.tdb Cell: NFET Generator Description

Section 3.3.9 Rounded Rectangle

T-Cell Layout Path: \Features By Tool\L-Edit\TCells\RoundedRectangle.tdb Cell: Rounded Rectangle Description

Section 3.3.10 Segmented Tori

T-Cell Layout Path: \Features By Tool\L-Edit\TCells\SegmentedTori.tdb Cell: Segmented2Torii, SegmentedTest, SegmentedTest2, SegmentedTest3,

SegmentedTest4, SegmentedTorus Description

Section 3.3.11 Spiral

T-Cell Layout Path: \Features By Tool\L-Edit\TCells\Spiral.tdb Cell: Spiral Generator Description

Section 3.3.12 T-Cell Builder

Page 75: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

75

T-Cell Layout Path: \Features By Tool\L-Edit\TCells\T-CellBuilder.tdb Cell: Contacts, MOSFET, Res Description

Section 3.3.13 T-Cell Calls Another T-Cell

T-Cell Layout Path: \Features By Tool\L-Edit\TCells\T-CellCallsT-Cell.tdb Cell: TCellCallTCell Description

Section 3.3.14 Test Pattern Generator

T-Cell Layout Path: \Features By Tool\L-Edit\TCells\TestPatternGen_v2.2.tdb Cell: LineGrating, LineGratingVaryWidth, TestPatternGenerator Description

Section 3.4 L-Edit Bindkeys

Section 3.4.1 Cadence

Bindkey Path: \ Features By Tool\L-Edit\BindKeys\Cadence\Cadence.ini Description

Section 4 Additional Examples

Section 4.1 T-Spice External C Models

Section 4.1.1 Diode

C Model Path: \Features By Tool\T-Spice\External_C_Models\Diode Diode.c Description Diode.dll Description Diode_DLL.sp Description Diode_Interpreted.sp Description Description

Section 4.1.2 MOS1

Page 76: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

76

C Model Path: \Features By Tool\T-Spice\External_C_Models\MOS1\ mos1.c Description mos1.dll Description mos1_DLL.sp Description mos1_Interpreted.sp Description Description

Section 4.1.3 Resistor

C Model Path: \Features By Tool\T-Spice\External_C_Models\Resistor\ resistor.c Description resistor.dll Description Resistor_DLL.sp Description Resistor_Interpreted.sp Description Description

Section 4.1.4 Switch

C Model Path: \Features By Tool\T-Spice\External_C_Models\Switch\ switch.c Description switch.dll Description Switch_DLL.sp Description Switch_Interpreted.sp Description Description

Section 4.1.5 VCO

C Model Path: \Features By Tool\T-Spice\External_C_Models\VCO\ vco.c Description vco.dll Description VCO_DLL.sp Description VCO_Interpreted.sp Description Description

Section 4.2 L-Edit Layer Setup

Section 4.2.1 Black Background

Page 77: Tanner Tools Exam

Tanner Tools v16 –事例ガイド

77

Layout Path: \Features By Tool\L-Edit\LayerSetup\BlackBackground.tdb Description

Section 4.2.2 Multiple Vias

Layout Path: \Features By Tool\L-Edit\LayerSetup\Multivias.tdb Description

Section 4.2.3 Pastel Colors

Layout Path: \Features By Tool\L-Edit\LayerSetup\Pastel.tdb Description

Section 4.2.4 Stripes

Layout Path: \Features By Tool\L-Edit\LayerSetup\Stripe.tdb Description