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

Posted 浩瀚之水_csdn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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采用,命令交换逻辑来通知对方。

以上是关于FPGA设计中RAM的一些基本概念的主要内容,如果未能解决你的问题,请参考以下文章

FPGA面试笔试一些基础概念题目

关于FPGA的一些你必须知道的概念

IOC和AOP的一些基本概念

FPGA开发板自身产生一路信号,差分两路完全一样的方波,但其中一路延时10ns,请问如何设计程序?

SOC芯片的FPGA原型验证

js程序设计01——基本概念