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

 


Home Library             Back to Spice

karl@vlsi.bu.edu ,16.09.98