instruction_memory.v

来自「流水线CPU的Verilog代码.rar」· Verilog 代码 · 共 21 行

V
21
字号
module instruction_memory(clk, instruction, addr, read, enable); //it's a rom, output 4 sequential bytes beginning at address of addr
	input clk;
	input[31:0] addr;
	input read, enable;
	output reg [31:0] instruction;
	reg [7:0] memory[8'b11111111-1:0];
	
	initial
	   begin
	       {memory[3],memory[2],memory[1],memory[0]} = 32'b00000010010100111000100000100000;  //the instruction means: add $17, $18, $19 #$17 = $ 18 + $19
	   end
	
	always @(posedge clk)
		begin
			instruction[7:0] <= (read && enable) ? memory[addr] : 8'bzzzzzzzz;
			instruction[15:8] <= (read && enable) ? memory[addr+1] : 8'bzzzzzzzz;
			instruction[23:16] <= (read && enable) ? memory[addr+2] : 8'bzzzzzzzz;
			instruction[31:24] <= (read && enable) ? memory[addr+3] : 8'bzzzzzzzz;
		end
	
endmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?