比如如下代码:不知道和ram那样使用power-on initialization行不行。
module shift0_core (
clk,
ce,
din,
addr,
dout);
parameter DATA_WIDTH = 32'd18;
parameter ADDR_WIDTH = 32'd4;
parameter DEPTH = 32'd12;
input clk;
input ce;
input [DATA_WIDTH-1:0] din;
input [ADDR_WIDTH-1:0] addr;
output [DATA_WIDTH-1:0] dout;
reg[DATA_WIDTH-1:0] ShiftRegMem[0:DEPTH-1];
integer i;
always @ (posedge clk)
begin
if (ce)
begin
for(i=0;i<DEPTH-1;i=i+1)
ShiftRegMem[i+1] <= ShiftRegMem[i];
ShiftRegMem[0] <= din;
end
end
assign dout = ShiftRegMem[addr];
endmodule
|