【发布时间】:2021-12-08 03:34:57
【问题描述】:
`时间刻度 1ns / 1ps
模块数据内存( 输入 [31:0] 地址, 输入 [31:0] 写入数据, 输入 MemRead, 输入 MemWrite, 输出 [31:0] 读取数据 );
reg [0:31] mem[15:0];
mem[0] = 32'haaaaaaaa;
mem[1] = 32'haaaaaaaa;
mem[2] = 32'haaaaaaaa;
mem[3] = 32'haaaaaaaa;
mem[4] = 32'haaaaaaaa;
mem[5] = 32'haaaaaaaa;
mem[6] = 32'haaaaaaaa;
mem[7] = 32'haaaaaaaa;
mem[8] = 32'haaaaaaaa;
mem[9] = 32'haaaaaaaa;
mem[10] = 32'haaaaaaaa;
mem[11] = 32'haaaaaaaa;
mem[12] = 32'haaaaaaaa;
mem[13] = 32'haaaaaaaa;
mem[14] = 32'haaaaaaaa;
mem[15] = 32'haaaaaaaa;
开始
process(MemWrite, MemRead) // pulse on write
begin
if (MemWrite = '1' ) then
DM( ( to_integer(unsigned(Address)) - 268500992)/4 <= WriteData;
end if;
if ( MemRead = '1') then
ReadData <= DM( ( to_integer(unsigned(Address)) - 268500992 ) /4 );
end if;
我正在调试这段代码,但无法弄清楚为什么这些行不起作用:
reg [0:31] mem[15:0];
mem[0] = 32'haaaaaaaa;
mem[1] = 32'haaaaaaaa;
mem[2] = 32'haaaaaaaa;
mem[3] = 32'haaaaaaaa;
mem[4] = 32'haaaaaaaa;
mem[5] = 32'haaaaaaaa;
mem[6] = 32'haaaaaaaa;
mem[7] = 32'haaaaaaaa;
mem[8] = 32'haaaaaaaa;
mem[9] = 32'haaaaaaaa;
mem[10] = 32'haaaaaaaa;
mem[11] = 32'haaaaaaaa;
mem[12] = 32'haaaaaaaa;
mem[13] = 32'haaaaaaaa;
mem[14] = 32'haaaaaaaa;
mem[15] = 32'haaaaaaaa;
提前谢谢你。
【问题讨论】:
-
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。