summaryrefslogtreecommitdiff
path: root/nandgame/computer.sv
diff options
context:
space:
mode:
Diffstat (limited to 'nandgame/computer.sv')
-rw-r--r--nandgame/computer.sv68
1 files changed, 35 insertions, 33 deletions
diff --git a/nandgame/computer.sv b/nandgame/computer.sv
index acb9bbd..0be2a11 100644
--- a/nandgame/computer.sv
+++ b/nandgame/computer.sv
@@ -1,3 +1,5 @@
+// represents the final nandgame computer
+
`timescale 1us/1us
`include "../my_mem.v"
@@ -6,69 +8,69 @@
`include "counter.sv"
module computer (
- input clk_i
+ input clk_in
);
-wire nclk;
-assign nclk = ~clk_i;
+wire nclk_int;
+assign nclk_int = ~clk_in;
-logic [15:0] PC_addr;
-logic [15:0] PC_content;
+logic [15:0] PC_addr_int;
+logic [15:0] PC_content_int;
my_mem #(
.DATA_WIDTH(16)
) ROM (
- .clk_i(nclk),
+ .clk_i(nclk_int),
.write_en_i(0),
.read_en_i(1),
- .r_read_addr(PC_addr),
+ .r_read_addr(PC_addr_int),
.r_write_addr(0),
.data_i(0),
- .data_o(PC_content)
+ .data_o(PC_content_int)
);
-logic [15:0] out_A, out_D, out_pA;
-logic in_store_A, in_store_D, in_store_pA;
-logic [15:0] CPU_RES;
+logic [15:0] reg_A_int, reg_D_int, reg_pA_int;
+logic store_to_A_int, store_to_D_int, store_to_pA_int;
+logic [15:0] result_int;
comb_mem #(
.DATA_WIDTH(16)
) RAM (
- .cl(clk_i),
+ .clk_in(clk_in),
- .A_o(out_A),
- .D_o(out_D),
- .pA_o(out_pA),
+ .reg_A_out(reg_A_int),
+ .reg_D_out(reg_D_int),
+ .reg_pA_out(reg_pA_int),
- .a_i(in_store_A),
- .d_i(in_store_D),
- .pa_i(in_store_pA),
+ .store_to_a_in(store_to_A_int),
+ .store_to_d_in(store_to_D_int),
+ .store_to_pa_in(store_to_pA_int),
- .X(CPU_RES)
+ .X_in(result_int)
);
-logic cpu_jump;
+logic cpu_do_jump_int;
instruction_decode CPU (
- .instruction(PC_content),
- .do_jump(cpu_jump),
+ .instruction_in(PC_content_int),
+ .do_jump_out(cpu_do_jump_int),
- .dst_a(in_store_A),
- .dst_d(in_store_D),
- .dst_pa(in_store_pA),
+ .dst_A_out(store_to_A_int),
+ .dst_D_out(store_to_D_int),
+ .dst_pA_out(store_to_pA_int),
- .A_i(out_A),
- .D_i(out_D),
- .pA_i(out_pA),
+ .A_in(reg_A_int),
+ .D_in(reg_D_int),
+ .pA_in(reg_pA_int),
- .RES(CPU_RES)
+ .result_out(result_int)
);
counter PC (
- .cl(clk_i),
- .count(PC_addr),
- .X(out_A),
- .st(cpu_jump)
+ .clk_in(clk_in),
+ .counter_out(PC_addr_int),
+ .X_in(reg_A_int),
+ .st_store_X_in(cpu_do_jump_int)
);
endmodule