完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,
我使用ram_style是“块”来推断块RAM,如下所示。 (* ram_style =“block”*)reg [8:0] ram_name [8191:0]; 运行实现任务后,Vivado工具报告BRAM36为阵列ram_name的2.5个块。 在我看来,如果我使用的算法类型是“Fixed primitves”,而primitve的类型是2kx9那么BRAM36就是2个块。 但是,我没有找到任何关于算法类型和基元类型的约束。 如果有,我将使用更少的BRAM资源。 Xilinx是否具有用于推断RAM的算法类型和原语类型? 我使用的是Vivado 2014.4和Kintex-7设备。 谢谢大家。 |
|
相关推荐
4个回答
|
|
嗨,
您正在尝试实现8kx9内存。 要实现此功能,您需要至少2个BRAM36。 需要将2个BRAM合并在一起才能生成8kx9内存。 这种合并可以通过两种方式完成。一种是深度扩展,第二种是宽度扩展。在深度扩展中,每个BRAM将实现为1kX36 RAM。在宽度扩展中,地址扇出所有BRAM但每一位读写数据 只有一个BRAM。(如8KX4)在深度扩展中,我们需要一些额外的逻辑来选择2 BRAMS输出中的输出。应该使用一些结构资源来实现这个MULTIPLEXER来选择2 BRAM的输出 output.Width扩展名义上更小,因为它不会使用结构逻辑,也会稍快。在宽度扩展中,我们遇到了BRAM的限制。 在8K深度处,最大宽度为4.So在每个BRAM最多4个数据位的限制下,需要2.5 BRAMS来实现8KX9 RAM。 如果打开合成设计,则可以看到BRAM的连接。 工具可能使用2.5 BRAM在宽度扩展中推断它。 如果要仅使用2个BRAMS来实现内存,则可以使用块内存生成器IP。另外还有一些LUTutilization用于选择2个BRAM的输出。 通常,存储器结构将有两个用例,更少的功率或时序驱动的推断。 无论Vivado选择何种时序驱动,所选的任何块存储器发生器IP都是低功耗或低功率区域。 您需要选择一个对您的设计很重要的一个。 |
|
|
|
嗨pulim,
我用BMG生成了Block RAM,我为这个数组获得了2个BRAMS。 但是,我有很多数组来推断具有不同地址和数据变量的块ram,因此我不能为每个推断的Block RAM创建一个IP。 我接受这将是MULTIPLEXER的一些额外逻辑,因为我需要减少使用的Block RAM。 我需要约束来选择Depth Expansion方法,我将为每个推断的bock RAM选择块RAM原语的深度(512x72,1Kx36,2kx9,...)。 Xilinx是否允许用户在推断的Block RAM中选择Depth Expansion或Width Expansion方法? 谢谢pulim |
|
|
|
|
|
|
|
嗨Manusha,
非常感谢你。 我不能在我的项目中使用BMG IP用于所有infferd RAM,因为有很多数组。 将来,赛灵思是否会支持它? 我看到Altera让用户修改RAM IP的参数,所以我只生成一个RAM IP并将其用于多种用途(选择宽度或深度)。 我认为这是一个很好的方法。 再一次,非常感谢你, 的Cuong |
|
|
|
只有小组成员才能发言,加入小组>>
2424 浏览 7 评论
2825 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2294 浏览 9 评论
3374 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2465 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1213浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
590浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
452浏览 1评论
2006浏览 0评论
731浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 03:23 , Processed in 1.299638 second(s), Total 82, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号