ET创芯网论坛(EETOP)

找回密码

  登录   注册  

搜帖子
汽车电子资料大全(下载奖励300信元)
查看: 1511|回复: 4

[求助] 双端口RAM可仿真无法综合

[复制链接]
发表于 2015-1-23 17:25:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
在SDRAM controller 里碰到一个dual port RAM, 仿真可以通过,但无法综合。

仿真器:iverilog + vvp
综合报错如下:
dpram_generic.v:23: Net 'mem3[7][7]' or a directly connected net is driven by more than one source, and not all drivers are three-state. (ELAB-366)

有什么办法解决吗?

这是开源项目wb_sdram_ctrl里的dual port ram。

dpram_generic.v:

module dpram_generic #(

parameter ADDR_WIDTH = 3
)
(

input
clk_a,

input  [ADDR_WIDTH-1:0]
addr_a,

input  [3:0]
we_a,

input  [31:0]
di_a,

output reg [31:0]
do_a,


input
clk_b,

input  [ADDR_WIDTH-1:0]
addr_b,

input  [3:0]
we_b,

input  [31:0]
di_b,

output reg [31:0]
do_b
);


reg [7:0]
mem0[(1<<ADDR_WIDTH)-1:0];

reg [7:0]
mem1[(1<<ADDR_WIDTH)-1:0];

reg [7:0]
mem2[(1<<ADDR_WIDTH)-1:0];

reg [7:0]
mem3[(1<<ADDR_WIDTH)-1:0];


always @(posedge clk_a) begin

if (we_a[3])

mem3[addr_a] <= di_a[31:24];

if (we_a[2])

mem2[addr_a] <= di_a[23:16];

if (we_a[1])

mem1[addr_a] <= di_a[15:8];

if (we_a[0])

mem0[addr_a] <= di_a[7:0];

do_a <= {mem3[addr_a], mem2[addr_a],

mem1[addr_a], mem0[addr_a]};

end


always @(posedge clk_b) begin

if (we_b[3])

mem3[addr_b] <= di_b[31:24];

if (we_b[2])

mem2[addr_b] <= di_b[23:16];

if (we_b[1])

mem1[addr_b] <= di_b[15:8];

if (we_b[0])

mem0[addr_b] <= di_b[7:0];

do_b <= {mem3[addr_b], mem2[addr_b],

mem1[addr_b], mem0[addr_b]};

end
endmodule
发表于 2015-1-23 17:47:08 | 显示全部楼层
本帖最后由 工大鱼肉 于 2015-1-23 17:48 编辑

mem0-3是reg型,写在了两个always模块中,这种错误叫多驱动,一般情况下,仿真也是会有提示的。通常情况下,双口ram需要综合或者仿真,习惯用工艺厂商或者DW里面的memgen来生成相关的v文件和db文件回答不一定专业,看看其他人怎么说
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-23 22:15:37 | 显示全部楼层
你说的我知道,用Two port memory compiler产生,但是这么小的dpram, 用2PRF不核算,如果能用FF搭建最好。
回复 支持 反对

使用道具 举报

发表于 2018-12-14 13:11:40 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2018-12-22 18:06:52 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

小黑屋| 关于我们| 联系我们| 在线咨询 |  ET创芯网 ( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2019-12-15 22:07 , Processed in 0.071738 second(s), 12 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表