summaryrefslogtreecommitdiff
path: root/eater_cpu/eater_computer.sv
diff options
context:
space:
mode:
authoruvok2026-01-16 10:58:40 +0100
committeruvok2026-01-16 10:58:40 +0100
commit9b15a4330d23bb9ef04f51e89a00243b75eacc8e (patch)
treeb53b1dc054b09f5003ab9d1de1aa0a5e3cf5e124 /eater_cpu/eater_computer.sv
parent03e6d71e8fc98769a76e8099a1c10e8af2e43264 (diff)
Better tb for eater cpu
Diffstat (limited to 'eater_cpu/eater_computer.sv')
-rw-r--r--eater_cpu/eater_computer.sv37
1 files changed, 37 insertions, 0 deletions
diff --git a/eater_cpu/eater_computer.sv b/eater_cpu/eater_computer.sv
index b2f9a5a..cace515 100644
--- a/eater_cpu/eater_computer.sv
+++ b/eater_cpu/eater_computer.sv
@@ -23,6 +23,7 @@ eater_register A (
.en_output_i(A_to_bus),
.data_i(bus),
.data_o(bus)
+ // .data(bus)
);
eater_register B (
@@ -31,6 +32,7 @@ eater_register B (
.en_output_i(B_to_bus),
.data_i(bus),
.data_o(bus)
+ // .data(bus)
);
tri [7:0] ins_bus_out;
@@ -42,24 +44,59 @@ eater_register INS (
.en_output_i(INS_to_bus),
.data_i(bus),
.data_o(ins_bus_out)
+ // .data(ins_bus_out)
);
`ifdef VERILATOR
+
+logic [7:0] debug_value;
+logic debug_enable;
+
+bus_writer debugger (
+ .in_value(debug_value),
+ .in_write_to_output(debug_enable),
+ .out_value(bus)
+);
+
initial begin
$dumpfile("simpc.vvp");
$dumpvars();
A_to_bus = 0;
B_to_bus = 0;
+ INS_to_bus = 0;
bus_to_A = 0;
bus_to_B = 0;
+ bus_to_INS = 0;
clk_in = 0;
+ debug_enable = 0;
+ debug_value = 'z;
end
always #2 clk_in = ~clk_in;
initial begin
+ @(negedge clk_in);
+ debug_value = 'haa;
+ debug_enable = 1;
+
+ bus_to_A = 1;
+ @(negedge clk_in);
+ bus_to_A = 0;
+ debug_value = 'hbb;
+ bus_to_B = 1;
+ @(negedge clk_in);
+ bus_to_B = 0;
+ debug_value = 'hcc;
+ bus_to_INS = 1;
+ @(negedge clk_in);
+ debug_enable = 0;
+ debug_value = 'z;
+ bus_to_INS = 0;
+ @(negedge clk_in);
+ A_to_bus = 1;
+ @(negedge clk_in);
#10
$finish();
end