Scanner, 1.2mm
*** SCANNER, Christian Karl, 1998 .include ~/TUTORIAL/SPICE/MODELS/ml3_12.md .include ~/TUTORIAL/SPICE/SCANNERLIB.sp
xSCANNER IN1 IN2 IN3 IN4 IN5 CLK notCLK SET SCANNER
VCLK CLK 0 PULSE(5V 0V 50ns 1ns 1ns 10ns 20ns) VnotCLK notCLK 0 PULSE(0V 5V 50ns 1ns 1ns 10ns 20ns) VSET SET 0 PWL(0n 5V 10n 5V 11n 0V 35ns 0V 36ns 5V 1000ns 5V)
.tran 2n 200n .print tran v(IN1) v(IN2) v(IN3) v(IN4) v(IN5) .print tran v(CLK) v(notCLK) v(SET) .end
*** SCNNERLIB - Christian Karl 1998
.SUBCKT INV IN OUT Vdd 1 0 DC 5V M1 OUT IN 1 1 pmos W=3.6u L=1.2u M2 OUT IN 0 0 nmos W=1.8u L=1.2u .ENDS INV
.SUBCKT NAND IN1 IN2 OUT Vdd 1 0 DC 5V M1 OUT IN1 1 1 pmos W=3.6u L=1.2u M2 OUT IN2 1 1 pmos W=3.6u L=1.2u M3 OUT IN1 2 0 nmos W=1.8u L=1.2u M4 2 IN2 0 0 nmos W=1.8u L=1.2u .ENDS NAND
.SUBCKT NOR IN1 IN2 OUT Vdd 1 0 DC 5V M1 2 IN1 1 1 pmos W=3.6u L=1.2u M2 OUT IN2 2 1 pmos W=3.6u L=1.2u M3 OUT IN1 0 0 nmos W=1.8u L=1.2u M4 OUT IN2 0 0 nmos W=1.8u L=1.2u .ENDS NOR
.SUBCKT T L CLK R Vdd 1 0 DC 5V M1 L CLK R 1 pmos W=3.6u L=1.2u M2 L notCLK R 0 nmos W=1.8u L=1.2u xINV CLK notCLK INV .ENDS T
.SUBCKT DLATCH1 IN OUT CLK SET xT1 IN CLK 2 T xT2 2 notCLK OUT T xNOR 2 SET 3 NOR xINV1 3 OUT INV xINV2 CLK notCLK INV .ENDS DLATCH1
.SUBCKT DLATCH2 IN OUT CLK SET xT1 IN CLK 2 T xT2 2 notCLK OUT T xNAND 2 SET 3 NAND xINV1 3 OUT INV xINV2 CLK notCLK INV .ENDS DLATCH2
.SUBCKT SRBIT1 IN OUT CLK notCLK SET xDLATCH1 IN 1 CLK SET DLATCH1 xDLATCH2 1 OUT notCLK SET DLATCH1 .ENDS SRBIT1
.SUBCKT SRBIT2 IN OUT CLK notCLK SET xDLATCH1 IN 1 CLK SET DLATCH2 xDLATCH2 1 OUT notCLK SET DLATCH2 .ENDS SRBIT2
.SUBCKT SCANNER IN1 IN2 IN3 IN4 IN5 CLK notCLK SET xSRBIT2_1 IN1 IN2 CLK notCLK SET SRBIT2 xSRBIT2_2 IN2 IN3 CLK notCLK SET SRBIT2 xSRBIT2_3 IN3 IN4 CLK notCLK SET SRBIT2 xSRBIT2_4 IN4 IN5 CLK notCLK SET SRBIT2 xSRBIT1_1 IN5 IN1 CLK notCLK notSET SRBIT1 xINV SET notSET INV .ENDS SCANNER
karl@vlsi.bu.edu ,16.09.98