Browse Source
Add counter test. Check for usage of $d_lo, $d_hi, $d_nc usage with dff, jkff, dltch which will not translate to Xspice.
pre-master-46
Add counter test. Check for usage of $d_lo, $d_hi, $d_nc usage with dff, jkff, dltch which will not translate to Xspice.
pre-master-46
committed by
Holger Vogt
3 changed files with 108 additions and 12 deletions
-
57examples/p-to-n-examples/counter.cir
-
10examples/p-to-n-examples/nggtk.tcl
-
53src/frontend/udevices.c
@ -0,0 +1,57 @@ |
|||
counter.cir |
|||
|
|||
.subckt counter high clear clk qa qb qc qd 5 7 9 11 |
|||
U1 JKFF(1) $G_DPWR $G_DGND HIGH CLEAR CLK HIGH HIGH QA 5 |
|||
+ D0_EFF IO_STD IO_LEVEL=0 MNTYMXDLY=2 |
|||
U2 JKFF(1) $G_DPWR $G_DGND HIGH CLEAR QA HIGH HIGH QB 7 |
|||
+ D0_EFF IO_STD IO_LEVEL=0 MNTYMXDLY=2 |
|||
U3 JKFF(1) $G_DPWR $G_DGND HIGH CLEAR QB HIGH HIGH QC 9 |
|||
+ D0_EFF IO_STD IO_LEVEL=0 MNTYMXDLY=2 |
|||
U4 JKFF(1) $G_DPWR $G_DGND HIGH CLEAR QC HIGH HIGH QD 11 |
|||
+ D0_EFF IO_STD IO_LEVEL=0 MNTYMXDLY=2 |
|||
.MODEL D0_EFF UEFF () |
|||
.ends counter |
|||
|
|||
*** input sources *** |
|||
vclk 100 0 pulse( 0.0 1.0 50ns 0ns 0ns 50ns 100ns ) |
|||
vreset 200 0 pulse( 1.0 0.0 10ns 0ns 0ns 50ns ) |
|||
vhigh 300 0 DC 1.0 |
|||
|
|||
*** adc_bridge blocks *** |
|||
aconverter [100 200 300] [clock clr hi] adc_bridge1 |
|||
.model adc_bridge1 adc_bridge (in_low=0.1 in_high=0.9 |
|||
+ rise_delay=1.0e-12 fall_delay=1.0e-12) |
|||
|
|||
*** resistors to ground *** |
|||
r1 100 0 1k |
|||
r2 200 0 1k |
|||
r3 300 0 1k |
|||
|
|||
x1 hi clr clock q1 q2 q3 q4 q1b q2b q3b q4b counter |
|||
|
|||
*.TRAN 1e-008 4u 0 |
|||
.save all |
|||
|
|||
.control |
|||
TRAN 1e-008 4u 0 |
|||
run |
|||
listing |
|||
display |
|||
edisplay |
|||
*eprint hi clr clock q1 q2 q3 q4 |
|||
* save data to input directory |
|||
cd $inputdir |
|||
eprvcd hi clr clock q1 q2 q3 q4 > counter.vcd |
|||
* plotting the vcd file with GTKWave |
|||
if $oscompiled = 1 | $oscompiled = 8 ; MS Windows |
|||
shell start gtkwave counter.vcd --script nggtk.tcl |
|||
else |
|||
if $oscompiled = 7 ; macOS, manual tweaking required (mark, insert, Zoom Fit) |
|||
shell open -a gtkwave counter.vcd |
|||
else ; Linux and others |
|||
shell gtkwave counter.vcd --script nggtk.tcl & |
|||
end |
|||
end |
|||
quit |
|||
.endc |
|||
.END |
|||
@ -0,0 +1,10 @@ |
|||
# tcl script for gtkwave: show vcd file data created by ngspice |
|||
set nfacs [ gtkwave::getNumFacs ] |
|||
|
|||
for {set i 0} {$i < $nfacs } {incr i} { |
|||
set facname [ gtkwave::getFacName $i ] |
|||
set num_added [ gtkwave::addSignalsFromList $facname ] |
|||
} |
|||
|
|||
gtkwave::/Edit/UnHighlight_All |
|||
gtkwave::/Time/Zoom/Zoom_Full |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue