diff --git a/labor_3/Übungen/ampel/sim/sim.tcl b/labor_3/Übungen/ampel/sim/sim.tcl index 1b31acb..5b719a5 100644 --- a/labor_3/Übungen/ampel/sim/sim.tcl +++ b/labor_3/Übungen/ampel/sim/sim.tcl @@ -20,4 +20,5 @@ vsim -c -t ps tb_ampel #get wave do wave.do -run 1500 us \ No newline at end of file +run 1500 us +#run 400 us \ No newline at end of file diff --git a/labor_3/Übungen/ampel/sim/vsim.wlf b/labor_3/Übungen/ampel/sim/vsim.wlf index 6d99a51..2f3114e 100644 Binary files a/labor_3/Übungen/ampel/sim/vsim.wlf and b/labor_3/Übungen/ampel/sim/vsim.wlf differ diff --git a/labor_3/Übungen/ampel/sim/wave.do b/labor_3/Übungen/ampel/sim/wave.do index 0af4593..7bac44f 100644 --- a/labor_3/Übungen/ampel/sim/wave.do +++ b/labor_3/Übungen/ampel/sim/wave.do @@ -3,18 +3,52 @@ quietly WaveActivateNextPane {} 0 add wave -noupdate /tb_ampel/CLK add wave -noupdate /tb_ampel/RSTn add wave -noupdate /tb_ampel/SW -add wave -noupdate -expand -subitemconfig {{/tb_ampel/HAUPTSTR_LINKS[2]} {-color Red} {/tb_ampel/HAUPTSTR_LINKS[1]} {-color Gold}} /tb_ampel/HAUPTSTR_LINKS -add wave -noupdate -expand -subitemconfig {{/tb_ampel/NEBENSTR_LINKS[2]} {-color Red} {/tb_ampel/NEBENSTR_LINKS[1]} {-color Gold}} /tb_ampel/NEBENSTR_LINKS -add wave -noupdate -expand -subitemconfig {{/tb_ampel/FUSSGAENGER_LINKS[1]} {-color Red}} /tb_ampel/FUSSGAENGER_LINKS -add wave -noupdate -expand -subitemconfig {{/tb_ampel/HAUPTSTR_RECHTS[2]} {-color Red} {/tb_ampel/HAUPTSTR_RECHTS[1]} {-color Gold}} /tb_ampel/HAUPTSTR_RECHTS -add wave -noupdate -expand -subitemconfig {{/tb_ampel/NEBENSTR_RECHTS[2]} {-color Red} {/tb_ampel/NEBENSTR_RECHTS[1]} {-color Gold}} /tb_ampel/NEBENSTR_RECHTS -add wave -noupdate -expand -subitemconfig {{/tb_ampel/FUSSGAENGER_RECHTS[1]} {-color Red}} /tb_ampel/FUSSGAENGER_RECHTS -add wave -position end sim:/tb_ampel/ampel/CLOCK_ENABLE +add wave -noupdate -subitemconfig {{/tb_ampel/HAUPTSTR_LINKS[2]} {-color Red -height 15} {/tb_ampel/HAUPTSTR_LINKS[1]} {-color Gold -height 15}} /tb_ampel/HAUPTSTR_LINKS +add wave -noupdate -subitemconfig {{/tb_ampel/NEBENSTR_LINKS[2]} {-color Red -height 15} {/tb_ampel/NEBENSTR_LINKS[1]} {-color Gold -height 15}} /tb_ampel/NEBENSTR_LINKS +add wave -noupdate -subitemconfig {{/tb_ampel/FUSSGAENGER_LINKS[1]} {-color Red -height 15}} /tb_ampel/FUSSGAENGER_LINKS +add wave -noupdate -subitemconfig {{/tb_ampel/HAUPTSTR_RECHTS[2]} {-color Red -height 15} {/tb_ampel/HAUPTSTR_RECHTS[1]} {-color Gold -height 15}} /tb_ampel/HAUPTSTR_RECHTS +add wave -noupdate -subitemconfig {{/tb_ampel/NEBENSTR_RECHTS[2]} {-color Red -height 15} {/tb_ampel/NEBENSTR_RECHTS[1]} {-color Gold -height 15}} /tb_ampel/NEBENSTR_RECHTS +add wave -noupdate -subitemconfig {{/tb_ampel/FUSSGAENGER_RECHTS[1]} {-color Red -height 15}} /tb_ampel/FUSSGAENGER_RECHTS +add wave -noupdate /tb_ampel/ampel/CLOCK_50 +add wave -noupdate /tb_ampel/ampel/KEY +add wave -noupdate /tb_ampel/ampel/LEDH_L +add wave -noupdate /tb_ampel/ampel/LEDH_R +add wave -noupdate /tb_ampel/ampel/LEDN_L +add wave -noupdate /tb_ampel/ampel/LEDN_R +add wave -noupdate /tb_ampel/ampel/LEDF_L +add wave -noupdate /tb_ampel/ampel/LEDF_R +add wave -noupdate /tb_ampel/ampel/DBG +add wave -noupdate /tb_ampel/ampel/CLKDIV1 +add wave -noupdate /tb_ampel/ampel/CLKDIV2 +add wave -noupdate /tb_ampel/ampel/CLKDIV3 +add wave -noupdate /tb_ampel/ampel/MELDER +add wave -noupdate /tb_ampel/ampel/MELDER_Q +add wave -noupdate /tb_ampel/ampel/MELDER_QQ +add wave -noupdate /tb_ampel/ampel/MELDER_ACK +add wave -noupdate /tb_ampel/ampel/CLOCK_ENABLE +add wave -noupdate /tb_ampel/ampel/START_WARTEN +add wave -noupdate /tb_ampel/ampel/STATE +add wave -noupdate /tb_ampel/ampel/HAUPTSTR +add wave -noupdate /tb_ampel/ampel/NEBENSTR +add wave -noupdate /tb_ampel/ampel/FUSSGAENGER +add wave -noupdate /tb_ampel/ampel/WARTEZAEHLER +add wave -noupdate /tb_ampel/ampel/WARTEWERT +add wave -noupdate /tb_ampel/ampel/en_div_1 +add wave -noupdate /tb_ampel/ampel/en_div_2 +add wave -noupdate /tb_ampel/ampel/en_div_3 +add wave -noupdate /tb_ampel/ampel/q_div_1 +add wave -noupdate /tb_ampel/ampel/q_div_2 +add wave -noupdate /tb_ampel/ampel/q_div_3 +add wave -noupdate /tb_ampel/ampel/tc_div_1 +add wave -noupdate /tb_ampel/ampel/tc_div_2 +add wave -noupdate /tb_ampel/ampel/tc_div_3 +add wave -noupdate /tb_ampel/ampel/RESET +add wave -noupdate /tb_ampel/ampel/WARTEN_FERTIG TreeUpdate [SetDefaultTree] -WaveRestoreCursors {{Cursor 1} {833117378 ps} 0} +WaveRestoreCursors {{Cursor 1} {157723025 ps} 0} quietly wave cursor active 1 configure wave -namecolwidth 150 -configure wave -valuecolwidth 100 +configure wave -valuecolwidth 39 configure wave -justifyvalue left configure wave -signalnamewidth 0 configure wave -snapdistance 10 @@ -27,4 +61,4 @@ configure wave -griddelta 40 configure wave -timeline 0 configure wave -timelineunits ns update -WaveRestoreZoom {0 ps} {1575 us} +WaveRestoreZoom {0 ps} {420 us} diff --git a/labor_3/Übungen/ampel/sim/work/_info b/labor_3/Übungen/ampel/sim/work/_info index 73594bc..60a6b75 100644 --- a/labor_3/Übungen/ampel/sim/work/_info +++ b/labor_3/Übungen/ampel/sim/work/_info @@ -4,10 +4,10 @@ K3 cModel Technology Z0 dC:\Users\Erdem\Desktop\labor_eds\labor_3\Übungen\ampel\sim vampel -Z1 IZGe1P?3miOhU2OZfIKL_U2 +Z1 IaQGYY?BdBf@agb6lTWYkz3 Z2 VRO2_FXGbKEQ9T48^e3 R3 -Z13 w1708631937 +Z13 w1708675165 8../src/mod_n_counter_10bit.v F../src/mod_n_counter_10bit.v L0 1 @@ -37,7 +37,7 @@ R7 r1 !s85 0 31 -!s108 1708639474.750000 +!s108 1708681485.276000 !s107 ../src/mod_n_counter_10bit.v| !s90 -reportprogress|300|../src/mod_n_counter_10bit.v| !s101 -O0 @@ -55,7 +55,7 @@ r1 31 o-O0 Z18 !s100 1oY2jolgFK??ee;z]EH8c2 -Z19 !s108 1708639474.609000 +Z19 !s108 1708681485.163000 Z20 !s107 tb_ampel.v| Z21 !s90 -reportprogress|300|tb_ampel.v| !i10b 1 diff --git a/labor_3/Übungen/ampel/sim/work/ampel/_primary.dat b/labor_3/Übungen/ampel/sim/work/ampel/_primary.dat index 985cf7c..3fc3b59 100644 Binary files a/labor_3/Übungen/ampel/sim/work/ampel/_primary.dat and b/labor_3/Übungen/ampel/sim/work/ampel/_primary.dat differ diff --git a/labor_3/Übungen/ampel/sim/work/ampel/_primary.dbs b/labor_3/Übungen/ampel/sim/work/ampel/_primary.dbs index 30a0ab8..03b7c1e 100644 Binary files a/labor_3/Übungen/ampel/sim/work/ampel/_primary.dbs and b/labor_3/Übungen/ampel/sim/work/ampel/_primary.dbs differ diff --git a/labor_3/Übungen/ampel/sim/work/ampel/verilog.prw b/labor_3/Übungen/ampel/sim/work/ampel/verilog.prw index 9581bbe..88ef793 100644 Binary files a/labor_3/Übungen/ampel/sim/work/ampel/verilog.prw and b/labor_3/Übungen/ampel/sim/work/ampel/verilog.prw differ diff --git a/labor_3/Übungen/ampel/sim/work/ampel/verilog.psm b/labor_3/Übungen/ampel/sim/work/ampel/verilog.psm index 812ac4e..fedc7cf 100644 Binary files a/labor_3/Übungen/ampel/sim/work/ampel/verilog.psm and b/labor_3/Übungen/ampel/sim/work/ampel/verilog.psm differ diff --git a/labor_3/Übungen/ampel/sim/work/mod_n_counter_10bit/_primary.dat b/labor_3/Übungen/ampel/sim/work/mod_n_counter_10bit/_primary.dat index 2bfdebb..e62cea9 100644 Binary files a/labor_3/Übungen/ampel/sim/work/mod_n_counter_10bit/_primary.dat and b/labor_3/Übungen/ampel/sim/work/mod_n_counter_10bit/_primary.dat differ diff --git a/labor_3/Übungen/ampel/sim/work/mod_n_counter_10bit/_primary.dbs b/labor_3/Übungen/ampel/sim/work/mod_n_counter_10bit/_primary.dbs index 46dc897..f4cd6eb 100644 Binary files a/labor_3/Übungen/ampel/sim/work/mod_n_counter_10bit/_primary.dbs and b/labor_3/Übungen/ampel/sim/work/mod_n_counter_10bit/_primary.dbs differ diff --git a/labor_3/Übungen/ampel/sim/work/tb_ampel/_primary.dat b/labor_3/Übungen/ampel/sim/work/tb_ampel/_primary.dat index f2bf391..c446305 100644 Binary files a/labor_3/Übungen/ampel/sim/work/tb_ampel/_primary.dat and b/labor_3/Übungen/ampel/sim/work/tb_ampel/_primary.dat differ diff --git a/labor_3/Übungen/ampel/sim/work/tb_ampel/_primary.dbs b/labor_3/Übungen/ampel/sim/work/tb_ampel/_primary.dbs index 69401eb..83df6f5 100644 Binary files a/labor_3/Übungen/ampel/sim/work/tb_ampel/_primary.dbs and b/labor_3/Übungen/ampel/sim/work/tb_ampel/_primary.dbs differ diff --git a/labor_3/Übungen/ampel/src/ampel.v b/labor_3/Übungen/ampel/src/ampel.v index 96e2703..c0a5880 100644 --- a/labor_3/Übungen/ampel/src/ampel.v +++ b/labor_3/Übungen/ampel/src/ampel.v @@ -104,13 +104,12 @@ assign en_div_1 = 1'b1; assign en_div_2 = tc_div_1; assign en_div_3 = tc_div_1 & tc_div_2; -always @(en_div_3) begin - CLOCK_ENABLE <= en_div_3; +always @(tc_div_3) begin + CLOCK_ENABLE <= tc_div_3; end - // synchronisze KEY to CLOCK_50 -always @(posedge CLOCK_50) begin +always @(posedge CLOCK_50 or posedge ~KEY[0]) begin MELDER_Q = ~KEY[0]; MELDER_QQ = MELDER_Q; end