在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2474|回复: 6

[求助] 这样写Vivado会综合成BlockMemory吗

[复制链接]
发表于 2021-11-11 10:45:32 | 显示全部楼层 |阅读模式

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

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

x
如题,这样写我觉得可以Vivado综合成一个bm,但是是不是因为16行多了一句复位导致不能综合成bm?



  1. reg [ADDR - 1:0] wr_addr;
  2. wire [ADDR - 1:0] rd_addr;
  3. wire wr_en,rd_en;
  4. reg [DATA - :0] RAM [WIDTH - 1:0];
  5. // enable
  6. assign wr_en = w_en;
  7. assign rd_en = r_en;
  8. // addr
  9. always @(posedge clk or negedge rst_n) begin
  10.         if(!rst_n) wr_addr <= 'd0;
  11.         else wr_addr <= w_addr;
  12. end
  13. assign rd_addr = r_addr;
  14. // write
  15. always @(posedge clk) begin
  16.         if(!rst_n) RAM[wr_addr] <= 'h0; // 不该有复位?
  17.         else if(wr_en) RAM[wr_addr] <= data_in;
  18. end
  19. // read
  20. assign data_out = rd_en ? RAM[rd_addr] : 'h0;


复制代码




image.png
发表于 2021-11-11 13:50:27 | 显示全部楼层
lz去掉复位后,vivado可以综合处bm?我表示怀疑。一般这种定义二维数组的方式,仿真的时候没有任何问题,但是在实际工作中,这么做综合工具会用register代替,而不会综合成bm,如果想用bm,何不直接例化bm?
 楼主| 发表于 2021-11-11 14:21:43 | 显示全部楼层


smarthb 发表于 2021-11-11 13:50
lz去掉复位后,vivado可以综合处bm?我表示怀疑。一般这种定义二维数组的方式,仿真的时候没有任何问题,但 ...


谢谢。
为了增加可移植性先不考虑ip了。
我试了下,BM不行,只能是lut as memory.
发表于 2021-11-11 15:41:23 | 显示全部楼层
本帖最后由 fengbohan1 于 2021-11-11 15:44 编辑


PayPal 发表于 2021-11-11 14:21
谢谢。
为了增加可移植性先不考虑ip了。
我试了下,BM不行,只能是lut as memory.


image.png UG901文档中有提到,可以在寄存器mem声明前添加,



  1. (* ram_style = "block" *)


复制代码


引导vivado 将mem综合成bram。



 楼主| 发表于 2021-11-11 17:00:43 | 显示全部楼层


fengbohan1 发表于 2021-11-11 15:41
UG901文档中有提到,可以在寄存器mem声明前添加,

引导vivado 将mem综合成bram。


好,谢谢。
发表于 2021-11-19 10:04:35 | 显示全部楼层
缺少ram类型声明。 在vivado中有生成bm的模板,可以直接进行修改。vivado的官方文档上也有是用代码如何生成各种ram的模板,lz可以看看
 楼主| 发表于 2021-11-22 17:15:58 | 显示全部楼层


mudu86 发表于 2021-11-19 10:04
缺少ram类型声明。 在vivado中有生成bm的模板,可以直接进行修改。vivado的官方文档上也有是用代码如何生成 ...


好,谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-20 16:24 , Processed in 0.021942 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表