FPGA设计中RAM的一些基本概念

1、FPGA中双口RAM的基本概念

  在FPGA的设计中,常用的数据缓存IP有FIFO和RAM,其中RAM又分为单口RAM,伪双口RAM和双口RAM。

  单口RAM与双口RAM的区别在于,单口RAM只有一组数据线与地址线,因此读写不能同时进行。而双口RAM有两组数据线与地址线,读写可以同时进行。

  伪双口RAM(Xilinx称为Simple two-dual RAM),一个端口只读,另一个端口只写。

  双口RAM(Xilinx称为True two-dual RAM),其两个端口都支持读写。

2、双口RAM的时序总结

  • 写数据时,双口RAM的存储时在写时钟的上升沿到来时完成的。因此要在写时钟的上升沿到来前,数据跟写地址都已经是一个稳定的状态,即要准备好数据线和地址信号,这样才能保证数据的正确存储。
  • 读数据时,双口RAM的读取是在读时钟的上升沿到来前完成的,因此要在都市中的上升沿到来时,读地址已经处于稳定的状态,这样才能保证读到的数是相应地之内的数据,数据在读时钟的上升沿到来后输出。
  • 对于双端口RAM的数据输出,对于一个地址上数据会在读下一个地址的数据是才输出到数据线上,相当于数据的真正输出延时读时钟一个时钟周期。
  • 读地址模块的使能应延时的输出使能一个时钟周期,使得第一个地址0可以保持被时钟上升沿采集到,否则,输出时第一位输出不稳定的数据。

3、双口RAM的一些特点

  如果同时访问双口RAM的统一存储单元,必然会造成数据访问失真。为防止冲突的发生,采用Busy逻辑控制,也称硬件地址仲裁逻辑。此处只给出了地址总线选通信号线与片选脉冲信号的情况。而且,两端的片选信号至少相差仲裁最小时间间隔,内部仲裁器逻辑控制才可给后访问的一方输出Busy闭锁信号,将访问权交给另一方直至结束对该地址单元的访问,才撤销Busy闭锁信号。即使在极限情况,两个CPU几乎同时访问同一单元----地址匹配时片选信号低调变之差少于仲裁最小时间间隔,Busy闭锁信号也仅输出给其中任一CPU,只允许一个CPU访问该地址单元。仲裁器控制不会同时向两个CPU发Busy闭锁信号。

  存储单元数据块的访问权限分配至允许在某一时间段内由1个CPU对自定义的某一数据块进行读写操作,这将有助于存储数据的保护,更有效地避免地址冲突。信号量仲裁闭锁就是一种硬件电路结合软件实现访问权限分配方法。

  为了提高数据的交换能力,有些双端口RAM采用,命令交换逻辑来通知对方。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值