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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: linyuanfei

[求助] 请教-------双口RAM的疑惑!!!

[复制链接]
 楼主| 发表于 2012-3-6 09:19:56 | 显示全部楼层
回复 10# vongy


    谢谢您的回复!
本人是初学FPGA,未使用过FIFO。请教您:FIFO应该是按照次序来存储和读取数据的吧?如果要读取某个值,是不是要将前面的值都要读一次?
 楼主| 发表于 2012-3-6 09:29:05 | 显示全部楼层
回复 9# catcat_2


   感谢您的指导!忘了说明本项目用的FPGA器件为xc3s400a-4ft256!
   在Using Block RAM in Spartan-3 Generation FPGAS (XAPP463 (v2.0) March 1, 2005)文档有点老
As a dual-port RAM, the block RAM allows both ports to simultaneously access the same
memory cell. Potentially, conflicts arise under the following conditions.
1. If the clock inputs to the two ports are asynchronous, then conflicts occur if clock-to-clock
setup time requirements are violated.
2. Both memory ports write different data to the same RAM location during a valid write cycle.
3. If a port uses WRITE_MODE=NO_CHANGE or WRITE_FIRST, a write to the port
invalidates the read data output latches on the opposite port.
If Port A and Port B different memory organizations and consequently different widths, only the
overlapping bits are invalid when conflicts occur.
If Port A and Port B different memory organizations and consequently different widths, only the
overlapping bits are invalid when conflicts occur.
这个是针对的另外个端口的冲突说明!
发表于 2012-3-6 12:22:43 | 显示全部楼层
回复 12# linyuanfei


    那你不要用真双口ram吧,用两个简单双口ram去乒乓操作吧。就跟你说的一样,dsp操作ram0的时候,fpga操作ram1,反之依然。 这样就可以了。
发表于 2012-3-6 14:18:44 | 显示全部楼层
回复 11# linyuanfei

对,FIFO是需要按顺序读写,一般来说,假设DSP发送数据给FPGA,都是期望先发送的先被收到,除非有特殊需求。FIFO在这里的作用有两个:
1. 解决跨频问题。
2. 解决读写不同步的数据缓冲问题。


当FIFO满时不能写入,当FIFO空时不能读出,可以保证读写不会出错。FIFO的深度需要根据你读写速度和一次需要处理数据量的大小来决定。


到底使用几个FIFO,可以根据需求来决定。
举个例个,DSP透过FPGA上的VGA控制器为显示器绘图
使用两个FIFO会比较好,FIFO1, FIFO2,每个FIFO的深度都是一帧数据。
1. DSP写FIFO1,而FPGA从FIFO2读取数据
2. FIFO1被填满后,DSP写FIFO2,而FPGA从FIFO1读数据。
3. 重复1
4. 重复2
........
这其实就是乒乓操作。


假设FPGA也需要发送数据给DSP。
则需要另一组FPGA写而DSP读的FIFO。


再说双口RAM问题:
1. 可以解决亚稳态这类问题,但由于读写时钟的不一致性,读错数据是必然的,因为双口RAM没有做读写控制(即什么时候可以写什么时候可以读),如果加了这些,那其实还是FIFO。
2. 两个双口RAM,一个FPGA写,一个DSP写,这只是双向而已,并不是乒乓操作。
 楼主| 发表于 2012-3-6 15:48:30 | 显示全部楼层
回复 14# vongy


    非常感谢vongy !讲解的很详细!我按照FIFO考虑一下!再次感谢!!!感谢eetop!!!
发表于 2013-8-19 22:32:57 | 显示全部楼层
好帖!学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-19 13:39 , Processed in 0.021702 second(s), 6 queries , Gzip On, Redis On.

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