找回密码
 立即注册
查看: 153|回复: 2

FPGA 单口RAM模型实现技巧

[复制链接]

5

主题

23

回帖

130

积分

版主

积分
130
发表于 2025-3-17 17:26:18 | 显示全部楼层 |阅读模式
本帖最后由 CrazyTiming 于 2025-3-17 17:30 编辑

在FPGA设计中,一般选择使用RTL(寄存器传输级)模型而非直接例化厂商提供的宏模块(如Xilinx的IP核或Altera的宏功能模块),
这样可以增加设计灵活性与可定制性,方便跨平台移植。

下面结合实际参与项目遇到的单口RAM模型问题,系统讲讲单口RAM模型实现技巧。
曾经在原型验证项目遇到单口RAM模型实现如下图所示:



该模型地址通过rd_en 控制,由时钟打拍输入,这样综合资源结果如下图所示

从资源结果可知用到了寄存器,显然这种模型不是最优的。
于是修改下得到如下所示模型:

对应资源利用情况如下图所示:


对比第一种方式,不用消耗额外的寄存器  , LUT资源也节省了一半。


本帖子中包含更多资源

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

×

6

主题

108

回帖

291

积分

壮年

积分
291
发表于 2025-3-17 18:33:50 | 显示全部楼层
其实我想问,xilinx如果Bram设置成了读优先,或者写优先,能否也不消耗触发器和lut资源, ip生成的是没有生成多余的,但是rtl推断的是否也能呢

16

主题

95

回帖

344

积分

管理员

积分
344
发表于 2025-3-17 22:43:18 | 显示全部楼层
xxppno1 发表于 2025-3-17 18:33
其实我想问,xilinx如果Bram设置成了读优先,或者写优先,能否也不消耗触发器和lut资源, ip生成的是没有生成多 ...

你不如PR一下 看下实际synopsis出来的Cicuit不就OK了嘛?
JUST TRY
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|CrazyFPGA ( 粤ICP备2023025753号 )

GMT+8, 2025-4-3 16:25 , Processed in 0.049142 second(s), 21 queries .

Powered by CrazyFPGA X3.5

© 2001-2025 Discuz! Team.

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