完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
最近我写的一个程序要用比较大的table,所有要用一定的记忆体去存储。由于我的table在操作过程中是不变的,所以我选用rom。为了提高工作频率,我使用了并行处理。比如现在我的table要占1Mb的rom,当我要并行处理41个模块时,那么就使用了41Mb的记忆体。所以我想如果能有一个多输入多输出,便能共享1个1Mb的记忆体。所以我自己写了个41输入41输出的rom,然而系统给的综合报告和之前用的内存大小相差无几。 但是我又看到系统的IP核有一个2输入2输出的rom,我试着例化,即使用20个2输入2输出的rom,1个1输入1输出的rom,和41个1输入1输出的rom的相比,能存占用真的减少了一半。所以我的问题是,这个IP核的2输入2输出的rom的设计原理是什么呢,为什么就能做到共享一个记忆体呢?我问我老师,他认为一个时钟只能有一个进一个出望各位不吝赐教,然而这里我只给了一个时钟,他同时有两个输入和输出,而且资源利用提高了,工作频率也没降低,感谢!
|
|
相关推荐
13个回答
|
|
|
此问答贴被选为3月1日的每日一答贴,活动详情见:https://bbs.elecfans.com/jishu_1111064_1_1.html 希望大家可以踊跃帮助坛友解决问题,谢谢。
|
|
|
|
|
|
|
|
|
但是我自己写的多口rom ram不能实现共享 我的问题是Ip core 的rom是怎样做的, 或者怎样的原理, 谢谢! |
|
|
|
|
ElecFans处女座 发表于 2017-3-1 10:12 感激不尽! |
|
|
|
|
|
|
|
|
|
|
|
双口ram虽然有两个写口,但使用时不可以同一时间对同一地址进行写操作,否则会出现不定的值,这点应该仿真就可以看出来,读的时候无所谓,你两个口都读一个地址,他的值也不变,你也可以assign给100个端口。。。
|
|
|
|
|
reallmy 发表于 2017-3-2 11:31 我经过综合后都下到板子上测试了,结果是正确的。 |
|
|
|
|
|
|
|
|
|
|
|
应该是一个芯片只是写入,一个芯片进行读取。
|
|
|
|
|
|
如果你是想将“同一个rom”中的内容并行赋值给多个模块使用,那么只需要一个rom ,一套读操作,将输出的数据同时赋值给不同的模块即可,即多个assign ;
如果不同的模块所使用的rom 中内容不一样,那么一个多输入多输出的rom 和多个单输入单输出的rom 是没有区别的。 |
|
|
|
|
|
你可以调用IP核,看看里面的代码会怎么实现的 |
|
|
|
|
|
|
|
|
|
|
1072271062 发表于 2017-8-22 20:23 很少登陆这个论坛 这个应该很简单 rom初始化好了 按你的需要给两个地址 输出两个output |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
NVMe高速传输之摆脱XDMA设计51:主要功能测试结果与分析3 nvmePCIe高速存储 PCIe高速存储
464 浏览 0 评论
NVMe高速传输之摆脱XDMA设计50:主要功能测试结果与分析2 nvmePCIe高速存储
430 浏览 0 评论
NVMe高速传输之摆脱XDMA设计49:主要功能测试结果与分析1
1533 浏览 0 评论
972 浏览 0 评论
911 浏览 0 评论
4446 浏览 63 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-4 06:38 , Processed in 0.890780 second(s), Total 68, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1775