Cpu
Cpu
IR <= memory[PC];
PC <=PC + 1;
case (opcode)
4'b0000: regA <= 4'b0010 + value;
4'b1111: regA <= regA;
default: regA <= 4'b0000;
endcase
initial begin
memory[0] = 8'b00000001;
memory[1] = 8'b00000010;
memory[2] = 8'b11110000;
end
endmodule
module tb_cpu;
reg clk;
reg reset;
wire [3:0] acc;
// Clock generation
initial begin
clk = 0;
forever #5 clk = ~clk;
end
// Reset logic
initial begin
reset = 1;
#10 reset = 0;
#200;
end
endmodule