Add Scott's various test files.
This commit is contained in:
parent
b58f4df33e
commit
8285087e3f
51
final/testBuffer.cir
Normal file
51
final/testBuffer.cir
Normal file
@ -0,0 +1,51 @@
|
||||
|
||||
|
||||
* File includes subcircuits and technology definitions
|
||||
.include ./SRAM_bits.cir
|
||||
|
||||
|
||||
*this cell emulates load from SRAM cells,
|
||||
* Number refers to the load from than number of cells
|
||||
.subckt memLoad ttt fff number=254
|
||||
Xnt ttt gnd dead nn ww='number*5'
|
||||
Xnf fff gnd dead nn ww='number*5'
|
||||
.ends memLoad
|
||||
|
||||
|
||||
|
||||
*********begin: topLevel*****
|
||||
|
||||
* Parameters
|
||||
.global gnd vdd
|
||||
.param gnd=0
|
||||
|
||||
|
||||
*********begin: topLevel*****
|
||||
.param per = 20ns
|
||||
.param dataLead=500ps
|
||||
.param lw=1000
|
||||
.param wirew=12
|
||||
|
||||
vdd vdd 0 'supply'
|
||||
|
||||
Xclok clk dat1 period='per' start='per+dataLead' total=1 duty=0.5 sz=50
|
||||
Xrdwr rdw dat1 period='per' start='2*per' total=2 duty=1
|
||||
Xdii din dat1 period='per' start='per' total=4 duty=2 sz=30
|
||||
|
||||
|
||||
|
||||
Xwr bt1 bf1 din rdw clk write1
|
||||
Xw1 bt1 btt bf1 bff wire_dual len='lw' wid='wirew'
|
||||
Xmd btt bff memLoad number =254
|
||||
Xla btt bff clk mem1
|
||||
Xrd btt bff set rst rdw clk readSub
|
||||
Xrc dot set rst vdd vdd vdd vdd vdd vdd readCollect
|
||||
.ic V(la:tt)=0 V(la:ff)=1
|
||||
.ic V(bt2)=1
|
||||
.tran 1p 'per*10'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
47
final/testDecoder.cir
Normal file
47
final/testDecoder.cir
Normal file
@ -0,0 +1,47 @@
|
||||
|
||||
|
||||
* File includes subcircuits and technology definitions
|
||||
.include ./SRAM_bits.cir
|
||||
|
||||
|
||||
*this cell emulates load from SRAM cells,
|
||||
* Number refers to the load from than number of cells
|
||||
.subckt memLoad ttt fff number=254
|
||||
Xnt ttt gnd dead nn ww='number*5'
|
||||
Xnf fff gnd dead nn ww='number*5'
|
||||
.ends memLoad
|
||||
|
||||
|
||||
|
||||
|
||||
*********begin: topLevel*****
|
||||
|
||||
* Parameters
|
||||
.global gnd vdd
|
||||
.param gnd=0
|
||||
|
||||
|
||||
*********begin: topLevel*****
|
||||
.param per = 5ns
|
||||
.param lw=500
|
||||
.param wirew=3
|
||||
|
||||
|
||||
*DC supplies
|
||||
vdd vdd 0 'supply'
|
||||
Xclok clk dat1 period='per' start='per' total=1 duty=0.5 sz=120
|
||||
|
||||
Xbit ad0 dat1 period='per' start='0.5*per' total=3 duty=1
|
||||
Xde ope ad0 clk decModel size=20
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.tran 1p 25n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
61
final/testMem.cir
Normal file
61
final/testMem.cir
Normal file
@ -0,0 +1,61 @@
|
||||
|
||||
|
||||
* File includes subcircuits and technology definitions
|
||||
.include ./SRAM_bits.cir
|
||||
|
||||
|
||||
*this cell emulates load from SRAM cells,
|
||||
* Number refers to the load from than number of cells
|
||||
.subckt memLoad ttt fff number=254
|
||||
Xnt ttt gnd dead nn ww='number*5'
|
||||
Xnf fff gnd dead nn ww='number*5'
|
||||
.ends memLoad
|
||||
|
||||
|
||||
|
||||
|
||||
*********begin: topLevel*****
|
||||
|
||||
* Parameters
|
||||
.global gnd vdd
|
||||
.param gnd=0
|
||||
|
||||
|
||||
*********begin: topLevel*****
|
||||
.param per = 5ns
|
||||
.param lw=100
|
||||
.param wirew=3
|
||||
|
||||
|
||||
*DC supplies
|
||||
vdd vdd 0 'supply'
|
||||
Xclok clk dat1 period='0.5*per' total=1 duty=0.5 sz=120
|
||||
Xdii dii dat1 period='per' start='per' total=3 duty=1
|
||||
Xbit ad0 dat1 period='per' start='0.5*per' total=3 duty=1
|
||||
Xde ope ad0 clk decModel size=20
|
||||
|
||||
* hardwire rdw signal to gnd
|
||||
Xwr bt0 bf0 dii gnd clk write1
|
||||
Xw0 bt0 bt1 bf0 bf1 wire_dual len='lw' wid='wirew'
|
||||
|
||||
* Place memory cell at end of wire
|
||||
* First make sure it works with short wire and few memory cells
|
||||
* View on plotter
|
||||
*v(ope), v(dii)
|
||||
*v(la:ff) v(la:tt)
|
||||
*v(bf1) and v(bt1)
|
||||
Xla bt1 bf1 ope mem1 m=1
|
||||
Xmd bt1 bf1 memLoad number =254
|
||||
|
||||
|
||||
|
||||
*14.462274109131130
|
||||
|
||||
|
||||
.tran 1p 50n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
61
final/testRead.cir
Normal file
61
final/testRead.cir
Normal file
@ -0,0 +1,61 @@
|
||||
|
||||
|
||||
* File includes subcircuits and technology definitions
|
||||
.include ./SRAM_bits.cir
|
||||
|
||||
|
||||
*this cell emulates load from SRAM cells,
|
||||
* Number refers to the load from than number of cells
|
||||
.subckt memLoad ttt fff number=254
|
||||
Xnt ttt gnd dead nn ww='number*5'
|
||||
Xnf fff gnd dead nn ww='number*5'
|
||||
.ends memLoad
|
||||
|
||||
|
||||
|
||||
|
||||
*********begin: topLevel*****
|
||||
|
||||
* Parameters
|
||||
.global gnd vdd
|
||||
.param gnd=0
|
||||
|
||||
|
||||
*********begin: topLevel*****
|
||||
.param per = 3n
|
||||
.param lw=5000
|
||||
.param wirew=3
|
||||
|
||||
|
||||
*DC supplies
|
||||
vdd vdd 0 'supply'
|
||||
|
||||
Xclok clk dat1 period='per' start='per' total=1 duty=0.5 sz=120
|
||||
Xrdwr rdw dat1 period='per' start='per' total=2 duty=1
|
||||
Xdii dii dat1 period='per' start='per' total=3 duty=1
|
||||
|
||||
|
||||
* vary
|
||||
.param dip=0.05
|
||||
Vt bt2 0 PULSE('supply''supply-dip' 'per' 10p 10p '2*per' '4*per')
|
||||
Vf bf2 0 PULSE('supply-dip''supply' 'per' 10p 10p '2*per' '4*per')
|
||||
|
||||
Xbit ad0 dat1 period='per' start='0.5*per' total=3 duty=1
|
||||
Xde ope ad0 clk decModel size=20
|
||||
|
||||
|
||||
* Xrd bt2 bf2 dot vdd clk read1
|
||||
Xrd bt2 bf2 set rst vdd clk readSub
|
||||
|
||||
|
||||
.ic v(dot)=0
|
||||
|
||||
|
||||
|
||||
.tran 1p 50n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
58
final/testSRAM.cir
Normal file
58
final/testSRAM.cir
Normal file
@ -0,0 +1,58 @@
|
||||
|
||||
|
||||
* File includes subcircuits and technology definitions
|
||||
.include ./SRAM_bits.cir
|
||||
|
||||
|
||||
*this cell emulates load from SRAM cells,
|
||||
* Number refers to the load from than number of cells
|
||||
.subckt memLoad ttt fff number=254
|
||||
Xnt ttt gnd dead nn ww='number*5'
|
||||
Xnf fff gnd dead nn ww='number*5'
|
||||
.ends memLoad
|
||||
|
||||
|
||||
|
||||
|
||||
*********begin: topLevel*****
|
||||
|
||||
* Parameters
|
||||
.global gnd vdd
|
||||
.param gnd=0
|
||||
|
||||
|
||||
*********begin: topLevel*****
|
||||
.param per = 100ns
|
||||
.param lw=500
|
||||
.param wirew=3
|
||||
|
||||
|
||||
*DC supplies
|
||||
vdd vdd 0 'supply'
|
||||
Xclok clk dat1 period='0.5*per' total=1 duty=0.5 sz=120
|
||||
Xrdwr rdw dat1 period='per' start='per' total=2 duty=1
|
||||
*Vrdw rdw 0 'supply'
|
||||
Xbit ad0 dat1 period='per' start='per' total=3 duty=1
|
||||
Xdii dii dat1 period='4*per' total=1 duty=0.5 sz=120
|
||||
Xacc acc dat1 period='per' start='per+10ps' total=2 duty=1
|
||||
|
||||
*
|
||||
Xwr bt0 bf0 dii rdw clk write1
|
||||
Xw0 bt0 bt1 bf0 bf1 wire_dual len='lw' wid='wirew'
|
||||
Xla bt1 bf1 ope mem1
|
||||
Xmd bt1 bf1 memLoad number =1
|
||||
|
||||
Xw1 bt1 bt2 bf1 bf2 wire_dual len='lw' wid='wirew'
|
||||
Xrd bt2 bf2 dot rdw clk read1
|
||||
|
||||
Xde ope ad0 clk decModel size=10
|
||||
|
||||
|
||||
|
||||
.tran 1ps 1600ns
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
51
final/testWrite.cir
Normal file
51
final/testWrite.cir
Normal file
@ -0,0 +1,51 @@
|
||||
|
||||
|
||||
* File includes subcircuits and technology definitions
|
||||
.include ./SRAM_bits.cir
|
||||
|
||||
|
||||
*this cell emulates load from SRAM cells,
|
||||
* Number refers to the load from than number of cells
|
||||
.subckt memLoad ttt fff number=254
|
||||
Xnt ttt gnd dead nn ww='number*5'
|
||||
Xnf fff gnd dead nn ww='number*5'
|
||||
.ends memLoad
|
||||
|
||||
|
||||
|
||||
|
||||
*********begin: topLevel*****
|
||||
|
||||
* Parameters
|
||||
.global gnd vdd
|
||||
.param gnd=0
|
||||
|
||||
|
||||
*********begin: topLevel*****
|
||||
.param per = 1ns
|
||||
.param lw=500
|
||||
.param wirew=3
|
||||
|
||||
|
||||
*DC supplies
|
||||
|
||||
* make sure data signal is set up before clock signal triggers write
|
||||
* possible NOR rdw and Clk, and then maybe delay clk?
|
||||
* connect PMOS transistors to output of NOR gate, not directly to clk
|
||||
|
||||
|
||||
vdd vdd 0 'supply'
|
||||
Xclok clk dat1 period='per' start='per' total=1 duty=0.5 sz=120
|
||||
Xrdwr rdw dat1 period='per' start='per' total=2 duty=1
|
||||
Xdii dii dat1 period='per' start='per+0' total=3 duty=1
|
||||
|
||||
Xwr bt0 bf0 dii gnd clk write1
|
||||
|
||||
|
||||
.tran 1p 15n
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user