完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,我正在xilinx virtex7上使用分布式RAM实现((深度)128x(宽度)8)位存储器结构。
从理论上讲,它应该占用128x8 = 1024; 1024年至1064年= 16; 16/4 =(4片)。 然而,实际上它适合12片。 我还试图在设计上使用4个切片进行物理约束,但是它给出了设计太大而无法适应约束区域的错误。 我需要知道这一点 为什么设计采用12片而不是4片? 是因为sliceL和sliceM? 怎么样? 另外,如果我需要同步读写,DRAM需要什么附加电路以及1个时钟周期的延迟开销? |
|
相关推荐
9个回答
|
|
嗨,
你尝试过定位分布式RAM的组件吗? 还要检查综合报告,找出“如何推断RAM”? 谢谢, 维奈 -------------------------------------------------- ------------------------------------------您是否尝试在Google中输入问题? ? 如果没有,你应该在发布之前。 此外,MARK这是一个答案,以防它有助于解决您的查询/问题。给予帮助您找到解决方案的帖子。 |
|
|
|
我正在使用'提前计划'来限制我的设计以适应区域(相当于4个切片)。根据综合报告; #RAMS:32#RAM64M:16#RAM64X1D:16
|
|
|
|
Vinay Q.你试过定位分布式RAM的组件吗?
我正在使用'提前计划'来约束我的设计以适应区域(相当于4个切片).Q。 还要检查综合报告,找出“如何推断出RAM”? 根据综合报告; #RAMS:32#RAM64M:16#RAM64X1D:16 |
|
|
|
嗨,而不是区域约束设计,尝试使用UCF中的LOC约束来定位各个组件?谢谢,Vinay
-------------------------------------------------- ------------------------------------------您是否尝试在Google中输入问题? ? 如果没有,你应该在发布之前。 此外,MARK这是一个答案,以防它有助于解决您的查询/问题。给予帮助您找到解决方案的帖子。 |
|
|
|
问:还要检查综合报告,找出“如何推断出RAM”?
正确的报告如下;(错误地在之前的回复中,我发送了更大设计的综合报告)#RAMS:8#RAM64M:4#RAM64X1D:4 |
|
|
|
看起来不对劲!
如果分布式存储器是128深(即具有7位地址),那么我希望看到使用的RAM128X1S原语(每位一个)。 请参见“7系列FPGA CLB用户指南”UG474(v1.6)2014年8月11日的第24页。 Ken Chapman英国Xilinx主要工程师 |
|
|
|
亲爱的Chapman,我使用ip core在简单的双端口配置中实现了128X8位内存。
所以预计它将使用8个RAM128x1D原语。 但根据UG474(v1.6),我们可以看到基本上RAM128x1D原语与两个并行的RAM64x1D原语相似。 这样它应该使用16个RAM64x1D原语。 但是,综合报告显示只有4个RAM64x1D和4个RAM64M。 我无法理解它是怎么来的??任何线索? |
|
|
|
现在您正在考虑实施128x8 SIMPLE DUAL端口内存。
SIMPLE DUAL端口存储器具有一个只写端口和一个只读端口。 相反,DUAL端口存储器具有一个读/写端口和第二个读端口。 RAM128X1D原语是一个128x1 DUAL端口内存,所以它有两个输出,但你只需要一个,所以工具试图做一些不同的事情。 挑战在于每个7系列Slice有4个LUT(A,B,C和D),但它们共享一个公共存储器写地址,必须提供给顶部LUT(D)。 在您的情况下,顶部LUT将不被使用,因为其输入用于为其输入连接到读取地址的其他三个LUT提供写地址。 因此,如果工具使用2个LUT(A和B)实现128深存储器,则顶部LUT(D)未使用,但其输入连接以提供写地址。 这使剩余的LUT(B)无法使用。 实际上,它实际上变成了一个配置了RAM128X1D原语但没有使用第一个读端口的Slice。 我个人认为这可能仍然是更好的实现,因此您可能更好地定义128x8 DUAL端口内存,然后将第一个读取端口断开(打开)。 至少就是这样,你的128x8双端口内存(带有一个未使用的输出)将以可预测的方式适应8个切片并具有最佳性能。 似乎这些工具试图通过实现64个深存储器中的存储器来利用每个Slice中的所有3个可用LUT(A,B和C)。 正如您所说,这仍然需要每128位两个LUT,因此它仍然需要16个LUT用于128x8内存。 最初我们可能会想到那些16个LUT适合(16/3 =)6个切片,但它并不那么简单。 现在,实现必须将上部和下部64个位置完全分开,并使用单独的写入启用,这需要少量可能对性能产生负面影响的附加逻辑。 最好它可以将每个64x8内存打包成(8/3 =)3个切片,但是然后需要其他LUT来组合它们并生成写入启用。 无论如何,包装成切片变得不那么明显了! 也许它可能占用少于8个切片但是为了包装而打包可能不利于布局和性能。 同样,我个人的意见是选择使用RAM128X1D原语进行更可预测的实现,或者更好的是,看看是否有办法调整我的设计,以便它可以更自然地适应设备架构。 Ken Chapman英国Xilinx主要工程师 |
|
|
|
亲爱的查普曼,
在尝试不同的内存深度和宽度选项时,检查DRAM的设备利用率和行为;我发现我们无法实现除大小之外的深度(即64的倍数)。 它就是这样 1.实现135x8内存; 我必须制作一个192x8的DRAM? 还有一个问题; 2. xilinx 7系列FPGA的最大可触发频率是多少? |
|
|
|
只有小组成员才能发言,加入小组>>
2380 浏览 7 评论
2797 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2262 浏览 9 评论
3335 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2428 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
756浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
545浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
366浏览 1评论
1963浏览 0评论
682浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 18:16 , Processed in 1.349149 second(s), Total 65, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号