首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

在Spartan-3系列FPGA中使用LUT构建分布式RAM(2)---连载――我与FPGA活动

在Spartan-3系列FPGA中使用LUT构建分布式RAM(2)---连载――我与FPGA活动

  分布式RAM支持以下的单口RAM与双口RAM类型:
•带有异步写/同步读的SRAM,其中的同步读取可以使用与分布式RAM相关联的触发器实现。
•带有一个同步写端口与两个异步读端口的DRAM,其中同步同步读的原理与前者相同。

          图1给出了SRAM与DRAM的示意,可以看出DRAM有一个读/写端口和一个独立的读端口。任何对D输入端口的写操作和对SPO输出端口的读操作可以同时进行,并且和对另一个读端口即DPO的读操作是互相独立的。

      图1 SRAM与DRAM的示意
          写操作是在写使能信号WE控制下的单时钟沿操作。WE默认是高有效的。当写使能为高时,在时钟沿锁存写地址,并将数据写入所选择RAM区域的D端口。读操作则是纯组合的:单口或者双口模式的地址端口是异步访问的,其延迟时间与LUT是逻辑延迟是一致的。
          若读、写操作同时发生,则在同步写入信的数据时,输出反映的正在被写入内存单元的数据,这一机制与Spartan-3系列FPGA中块RAM的机制是类似的,在相应的User Guide中被称为“WRITE_MODE=WRITE_FIRST”。图2给出了这种操作的时序图。

          图2 读、写操作同时发生时的时序图
          总结上面提到的几种操作,可以得到以下特征:
•一次写操作只需要一个时钟沿。
•读操作只需要逻辑读取的时间。
•输出是异步的,并且其延只与LUT的逻辑延迟有关。
•数据与地址输入被写时钟所存,并且有特定的建立时间要求,但不需要保持时间。
•双口RAM的A[#:0]端口是读和写的地址,DPRA[#:0]端口是独立的只读的地址。

附件大小Tu_1_SRAMYu_DRAMShi_Yi_.jpg20.83 KBTu_2_Xie_Cao_Zuo_De_Shi_Xu_.jpg33.2 KB
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表