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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 11381|回复: 7

[求助] 新人求助,关于Quartus中RAM的几个问题。

[复制链接]
发表于 2014-7-7 00:29:46 | 显示全部楼层 |阅读模式

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

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

x
版本Quartus 11.0SP1 64bit新人,接触不久,还在学习中,现在做一个简单的将波形数据写入RAM中,再将RAM中数据读出,(给DAC产生波形的,这部分师兄做的,我直接拿来用的)。
现在遇到了两个问题,望各位帮个忙,不胜感激。
1.这里只有RAM:2-PORT的,首先遇到的问题就是这块RAM和我所想要的不是同一个效果。
4.jpg 5.jpg
我想要的是写一根地址线和数据线。将数据写入之后,再通过另外两根读地址线将数据读出,因为那个DAC的输入是两个输入,分别是一组数据中的奇偶两组数据。这个RAM如图所示,两个数据线两个写读共用的地址线,跟我想要的不一样,它这个感觉就像是两块RAM一样,各干各的。。。这个我只能在RAM前面加一个自己写的将数据分开的程序,麻烦是一点,主要是设计的频率降低了。

而我无意在Quartus 9.1中找到了一个RAM:3-PORT的,完美的达到了我想要的东西。
6.jpg 7.jpg


这个,我想能不能不换版本,解决我遇到的这个问题?。。。

2.RAM的问题,现在程序运行正常,使能我还没控制都拉高的,就是一直写一直读。波形能够输出我想要的,但是我一加使能就不对了。
我想的是RAM中写完波形数据后,WREN拉低。读是一直读的,但是写完一遍,然后让WREN一拉低之后,输出一直就为0了,好像RAM中没有数据了一样。不知道是不是我对RAM的理解有问题?我想只要每个地址写入一个数之后,这个RAM中写过一次之后,数据应该就存在了RAM中,不会变的吧?
发表于 2014-7-8 20:39:24 | 显示全部楼层
问题1:楼主你需要的是一个三端口的RAM,而三端口的RAM在QII 9.1之后就被ALTERA公司干掉了,所以你的QII 11.0里面肯定没有这个3-PROT的RAM了,至于解决这个问题有两个办法:办法一,你将同样的数据写到两个RAM里面,两个RAM读地址不一样就可以了。办法二,你用QII 9.1例化一个3-Port的RAM ,然后copy到QII 11.0工程中使用,这样就可以不更换版本了。
至于问题二,我没太看明白楼主的意思,所以你可以再描述详细点,后面就会有人给你答案了
发表于 2014-7-9 18:29:58 | 显示全部楼层
路过,门外看看
发表于 2014-7-10 15:51:41 | 显示全部楼层
不是特别理解LZ的意思。但我觉得LZ只需要一个SDP RAM即可。也就是一个读地址一个写地址,一个数据输入,一个数据输出和一些控制信号的RAM即可。

你的DAC两个输入数据的地址不是一样的吗?
发表于 2014-7-10 16:15:32 | 显示全部楼层
2:肯定是你的逻辑错了!不是RAM的问题!
发表于 2014-7-10 16:17:17 | 显示全部楼层
另外一个建议就是既然你不大了解RAM,直接用RTL写一个,让Quartus综合,你就不用去管细节了。
发表于 2014-7-13 16:55:53 | 显示全部楼层
楼主想发的是非连续信号,这个单个双口RAM是可以实现的,控制的话是肯定没问题的。不写的时候可以控制使能,也可以控制写地址。不行的话,就是你的程序的问题,另外,根据你的想法,如果数据量不是很大的话,那用ROM也是满足要求的。
发表于 2014-7-14 10:22:13 | 显示全部楼层
楼上是正解!工作在双端口一写一读模式下,读端口的使能信号是控制读使能的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-28 05:26 , Processed in 0.021540 second(s), 9 queries , Gzip On, Redis On.

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