diff options
Diffstat (limited to 'nandgame/computer.sv')
| -rw-r--r-- | nandgame/computer.sv | 68 |
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 |
