我很久都没有写文章了,因为我最近工作比较繁忙,现在这里有点关于Verilog芯片设计干货分享给大家。
1.数据传输操作码:
LD (Load):从内存加载数据到寄存器
module memory_to_register (
input wire clk,
input wire rst,
input wire [31:0] addr,
output wire [31:0] data_out
);
reg [31:0] memory [0:1023];
reg [31:0] register;
always @(posedge clk) begin
if (rst)
register <= 0;
else
register <= memory[addr];
end
assign data_out = register;
endmodule
ST (Store):将寄存器中的数据存储到内存
module register_to_memory (
input wire clk,
input wire rst,
input wire [31:0] data_in,
input wire [31:0] addr,
output reg [31:0] memory_out
);
reg [31:0] memory [0:1023];
reg [31:0] register;
always @(posedge clk) begin
if (rst)
register <= 0;
else
register