From 0224bdc664ffce141cbb5212850ff4cbc405baaa Mon Sep 17 00:00:00 2001 From: ChUrl Date: Thu, 30 Mar 2023 16:28:15 +0200 Subject: [PATCH] Make Program in ROM start at address 1 --- ROM.sv | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/ROM.sv b/ROM.sv index afaeef3..3659223 100644 --- a/ROM.sv +++ b/ROM.sv @@ -5,19 +5,26 @@ module ROM( output var logic[7:0] dataout ); - // Add and jump always @(address) case (address) - 8'b00000000: dataout = 8'b00000101; // reg0 = 5 - 8'b00000001: dataout = 8'b10000001; // Move reg0 to reg1 + // Add and Jump + // 8'b00000000: dataout = 8'b00000101; // reg0 = 5 + // 8'b00000001: dataout = 8'b10000001; // reg1 = reg0 + // 8'b00000010: dataout = 8'b00001010; // reg0 = 10 + // 8'b00000011: dataout = 8'b10000010; // reg2 = reg0 + // 8'b00000100: dataout = 8'b01000100; // reg3 = reg1 + reg2 + // 8'b00000101: dataout = 8'b10011001; // reg1 = reg3 + // 8'b00000110: dataout = 8'b00001111; // reg0 = 15 + // 8'b00000111: dataout = 8'b10000010; // reg2 = reg0 + // 8'b00001000: dataout = 8'b01000101; // reg3 = reg1 - reg2 + // 8'b00001001: dataout = 8'b00000000; // reg0 = 0 + // 8'b00001010: dataout = 8'b11000001; // Jump to 0 if reg3 == 0 + + // Input and Output + 8'b00000001: dataout = 8'b10110001; // reg1 = cpuin 8'b00000010: dataout = 8'b00001010; // reg0 = 10 - 8'b00000011: dataout = 8'b10000010; // Move reg0 to reg2 + 8'b00000011: dataout = 8'b10000010; // reg2 = reg0 8'b00000100: dataout = 8'b01000100; // reg3 = reg1 + reg2 - 8'b00000101: dataout = 8'b10011001; // Move reg3 to reg1 - 8'b00000110: dataout = 8'b00001111; // reg0 = 15 - 8'b00000111: dataout = 8'b10000010; // Move reg0 to reg2 - 8'b00001000: dataout = 8'b01000101; // reg3 = reg1 - reg2 - 8'b00001001: dataout = 8'b00000000; // reg0 = 0 - 8'b00001010: dataout = 8'b11000001; // Jump to 0 if reg3 == 0 + 8'b00000101: dataout = 8'b10011110; // cpuout = reg3 default: dataout = 8'b00000000; endcase