updated greycnt.sch example
This commit is contained in:
parent
7402385a82
commit
a66b4bb39b
File diff suppressed because it is too large
Load Diff
|
|
@ -19,53 +19,39 @@ v {xschem version=3.4.6 file_version=1.2
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
}
|
||||
G {process
|
||||
begin
|
||||
if now = 0 ns then
|
||||
A <= "00000000";
|
||||
elsif A = "00000000" and now > 100 ns then
|
||||
wait;
|
||||
end if;
|
||||
wait for 100 ns;
|
||||
A <= A + 1;
|
||||
end process;}
|
||||
G {}
|
||||
K {}
|
||||
V {initial begin
|
||||
$dumpfile("dumpfile.vcd");
|
||||
$dumpvars(0, greycnt);
|
||||
A=0;
|
||||
end
|
||||
|
||||
always begin
|
||||
#100000;
|
||||
$display("%08b %08b %08b", A, B, C);
|
||||
A=A + 1;
|
||||
if(A==0) $finish;
|
||||
end
|
||||
}
|
||||
S {
|
||||
.tran 1n 2000n
|
||||
|
||||
* to generate following file copy .../share/doc/xschem/examples/stimuli.greycnt
|
||||
* to the simulation directory and run simulation -> Utile Stimuli Editor (GUI),
|
||||
* and press 'Translate'
|
||||
.include stimuli_greycnt.cir
|
||||
|
||||
.model nmos NMOS
|
||||
+ LEVEL=1
|
||||
+ LMIN=0.5e-6 LMAX=50e-6 WMIN=0.9e-6 WMAX=1
|
||||
+ VTO=0.7 GAMMA=0.45 PHI=0.9
|
||||
+ NSUB=9e14 LD=0.08e-6 UO=350 LAMBDA=0.1
|
||||
+ TOX=9e-9 PB=0.9 CJ=0.56e-3 CJSW=0.35e-11
|
||||
+ MJ=0.45 MJSW=0.2 CGDO=0.4e-9 JS=1.0e-8
|
||||
.model pmos PMOS
|
||||
+ LEVEL=1
|
||||
+ LMIN=0.5e-6 LMAX=50e-6 WMIN=0.9e-6 WMAX=1
|
||||
+ VTO=-0.8 GAMMA=0.4 PHI=0.8
|
||||
+ NSUB=5e14 LD=0.09e-6 UO=100 LAMBDA=0.2
|
||||
+ TOX=9e-9 PB=0.9 CJ=0.94e-3 CJSW=0.32e-11
|
||||
+ MJ=0.5 MJSW=0.3 CGDO=0.3e-9 JS=0.5e-8}
|
||||
V {}
|
||||
S {}
|
||||
E {}
|
||||
B 2 0 -670 530 -450 {flags=graph
|
||||
y1=0
|
||||
y2=3
|
||||
ypos1=0.13175071
|
||||
ypos2=2.0823094
|
||||
divy=5
|
||||
subdivy=1
|
||||
unity=1
|
||||
x1=0
|
||||
x2=1.2u
|
||||
|
||||
subdivx=4
|
||||
xlabmag=1.2
|
||||
ylabmag=1.0
|
||||
node="A;a[7],a[6],a[5],a[4],a[3],a[2],a[1],a[0]
|
||||
B;b[7],b[6],b[5],b[4],b[3],b[2],b[1],b[0]
|
||||
C;c[7],c[6],c[5],c[4],c[3],c[2],c[1],c[0]
|
||||
a[0]
|
||||
b[0]
|
||||
c[0]"
|
||||
|
||||
dataset=-1
|
||||
unitx=1
|
||||
logx=0
|
||||
logy=0
|
||||
digital=1
|
||||
color="4 4 4 4 4 4"
|
||||
divx=4}
|
||||
T {BINARY} 500 -780 0 0 0.4 0.4 {}
|
||||
T {GRAY} 830 -780 0 0 0.4 0.4 {}
|
||||
T {BINARY} 1210 -780 0 0 0.4 0.4 {}
|
||||
|
|
@ -185,7 +171,7 @@ C {xnor.sym} 1060 -310 0 0 {name=x11}
|
|||
C {xnor.sym} 1060 -390 0 0 {name=x12}
|
||||
C {xnor.sym} 1060 -150 0 0 {name=x13}
|
||||
C {lab_pin.sym} 150 -190 0 1 { name=l26 lab=C[7:0] }
|
||||
C {use.sym} 60 -650 0 0 {library ieee;
|
||||
C {use.sym} 60 -770 0 0 {library ieee;
|
||||
use std.TEXTIO.all;
|
||||
use ieee.std_logic_1164.all;
|
||||
use ieee.std_logic_arith.all;
|
||||
|
|
@ -212,3 +198,83 @@ C {bus_tap.sym} 560 -520 1 1 {name=l18 lab=[5]}
|
|||
C {bus_tap.sym} 560 -600 1 1 {name=l19 lab=[6]}
|
||||
C {bus_tap.sym} 560 -680 1 1 {name=l20 lab=[7]}
|
||||
C {lab_pin.sym} 520 -80 0 0 {name=p1 lab=A[7:0]}
|
||||
C {launcher.sym} 130 -430 0 0 {name=h5
|
||||
descr="load waves"
|
||||
tclcommand="xschem raw_read $netlist_dir/greycnt.raw tran"
|
||||
}
|
||||
C {simulator_commands.sym} 240 -210 0 0 {name=COMMANDS
|
||||
verilog_ignore=1
|
||||
vhdl_ignore=1
|
||||
spice_ignore="tcleval([regexp -nocase \{xyce\} $sim(spice,$sim(spice,default),name)])"
|
||||
simulator=ngspice
|
||||
only_toplevel=false
|
||||
value="
|
||||
* ngspice commands
|
||||
.options save all
|
||||
.control
|
||||
tran 1n 2000n
|
||||
remzerovec
|
||||
write greycnt.raw
|
||||
.endc
|
||||
|
||||
* to generate following file copy .../share/doc/xschem/examples/stimuli.greycnt
|
||||
* to the simulation directory and run simulation -> Utile Stimuli Editor (GUI),
|
||||
* and press 'Translate'
|
||||
.include stimuli_greycnt.cir
|
||||
|
||||
.model nmos nmos level=49 version=3.3.0 vth0=0.8
|
||||
.model pmos pmos level=49 version=3.3.0 vth0=-0.8
|
||||
"}
|
||||
C {simulator_commands.sym} 370 -210 0 0 {name=COMMANDS1
|
||||
verilog_ignore=1
|
||||
vhdl_ignore=1
|
||||
spice_ignore="tcleval([regexp -nocase \{ngspice\} $sim(spice,$sim(spice,default),name)])"
|
||||
|
||||
simulator=xyce
|
||||
only_toplevel=false
|
||||
value="
|
||||
* Xyce commands
|
||||
VGND GND 0 0
|
||||
.tran 0.1n 2000n
|
||||
.print tran format=raw
|
||||
+ file=greycnt.raw v(*) i(*)
|
||||
|
||||
* to generate following file copy .../share/doc/xschem/examples/stimuli.greycnt
|
||||
* to the simulation directory and run simulation -> Utile Stimuli Editor (GUI),
|
||||
* and press 'Translate'
|
||||
.include stimuli_greycnt.cir
|
||||
|
||||
.model nmos nmos level=49 version=3.3.0 vth0=0.8
|
||||
.model pmos pmos level=49 version=3.3.0 vth0=-0.8
|
||||
|
||||
"}
|
||||
C {code.sym} 240 -380 0 0 {name=VHDL
|
||||
only_toplevel=false
|
||||
spice_ignore=1
|
||||
verilog_ignore=1
|
||||
value="process
|
||||
begin
|
||||
if now = 0 ns then
|
||||
A <= \\"00000000\\";
|
||||
elsif A = \\"00000000\\" and now > 100 ns then
|
||||
wait;
|
||||
end if;
|
||||
wait for 100 ns;
|
||||
A <= A + 1;
|
||||
end process;"}
|
||||
C {code.sym} 370 -380 0 0 {name=Verilog
|
||||
only_toplevel=false
|
||||
vhdl_ignore=1
|
||||
spice_ignore=1
|
||||
value="initial begin
|
||||
$dumpfile(\\"dumpfile.vcd\\");
|
||||
$dumpvars(0, greycnt);
|
||||
A=0;
|
||||
end
|
||||
|
||||
always begin
|
||||
#100000;
|
||||
$display(\\"%08b %08b %08b\\", A, B, C);
|
||||
A=A + 1;
|
||||
if(A==0) $finish;
|
||||
end"}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
|
||||
unit n
|
||||
voltage 5
|
||||
voltage 3
|
||||
slope 1
|
||||
format hspice_simple
|
||||
|
||||
buswidth A 8 [ ]
|
||||
|
||||
beginfile stimuli_greycnt.cir
|
||||
set VDD 5
|
||||
set VDD 3
|
||||
; set GND 0
|
||||
s 100
|
||||
set A 00
|
||||
|
|
@ -26,9 +26,28 @@ set A 06
|
|||
s 100
|
||||
set A 07
|
||||
s 100
|
||||
|
||||
|
||||
|
||||
set A 08
|
||||
s 100
|
||||
set A 09
|
||||
s 100
|
||||
set A 0A
|
||||
s 100
|
||||
set A 0B
|
||||
s 100
|
||||
set A 0C
|
||||
s 100
|
||||
set A 0D
|
||||
s 100
|
||||
set A 0E
|
||||
s 100
|
||||
set A 0F
|
||||
s 100
|
||||
set A 10
|
||||
s 100
|
||||
set A 11
|
||||
s 100
|
||||
set A 12
|
||||
s 100
|
||||
endfile
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue