九江论坛网
标题:
【讨论|求助】verilog怎么写能综合出异步的RAM
[打印本页]
作者:
若放弃
时间:
2020-4-8 19:37:36
标题:
【讨论|求助】verilog怎么写能综合出异步的RAM
先把代码貼出来,一段很簡单的代码
module asyn_ram
#(parameter DWIDTH=4,//data width
AWIDTH=10)//address width
(
input wr_clk,
input[DWIDTH-1:0] wr_data,
input wr_en,
input[AWIDTH-1:0] wr_addr,
input rd_clk,
output [DWIDTH-1:0] rd_data,
input rd_en,
input[AWIDTH-1:0] rd_addr
);
reg[DWIDTH-1:0] rw_mem [2**AWIDTH-1:0];//define the memory
reg[AWIDTH-1:0] raddr;
always@(posedge wr_clk )
begin
if(wr_en) begin
rw_mem[wr_addr]<=wr_data;
end
end
always@(posedge rd_clk)
begin
if(rd_en) begin
raddr<=rd_addr;
end
end
assign rd_data=rw_mem[raddr];
endmodule
复制代码
在quartus中综合后的RTL视图是这样的:
这个和我的逻辑对不上呢,读时钟不是驱动数据的输出的
在technology map viewer中是这样的
这个是在FPGA中实际生成的,应该是对的,可是RTL为什么是错的呢?有朋友知道原因吗?
作者:
853
时间:
2020-4-8 19:37:39
1# fucong_59
用modelsim仿真结果也是正确的
欢迎光临 九江论坛网 (http://www.ganzw.com/)
Powered by Discuz! X2