在verilog中如何将数据放入到ram中去
假定我的ram是10位宽,容量是16,则:reg[9:0]ram[15:0];我如何写代码才能将我算出的数放个这个ram中?然后我又如何才能将其读出呢?...
假定我的ram是10位宽,容量是16,则:
reg [9:0] ram [15:0];
我如何写代码才能将我算出的数放个这个ram中?
然后我又如何才能将其读出呢? 展开
reg [9:0] ram [15:0];
我如何写代码才能将我算出的数放个这个ram中?
然后我又如何才能将其读出呢? 展开
1个回答
展开全部
如果是存数据的话,建议你把 ram 写成一个模块,比如:
module SRAM_test(
output reg [9:0] Q ,
input CLK ,
input CEN ,
input WEN ,
input [4:0] A ,
input [9:0] D
);
parameter FF_WIDTH = 10; // 宽度 10
parameter DEPTH = 16; // 深度 16
parameter ADDR_WIDTH = 4; // ram地址宽度 4, 2^4 = 16
reg [FF_WIDTH - 1:0] DPRAM [DEPTH - 1:0];
always @(posedge CLK)
if (~WEN & (~CEN))
DPRAM[A] <= #0.1 D;
always @(posedge CLK)
if (~CEN)
Q <= #0.1 DPRAM[A];
endmodule
这样就相当于用verilog写的RAM,和工具生成的RAM用法一致,很方便的就可以随意存取了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询