关于FPGA中的块RAM和分布式RAM

简介:

在Spartan-3系列FPGA中使用LUT构建分布式RAM http://xilinx.eetrend.com/tag/846?quicktabs_1=0


利用块RAM实现数据延迟的一些问题 http://bbs.eetop.cn/thread-431323-1-1.html


分布式RAM是如何产生的及其与Block RAM的区别

- 问 -
分布式和Block RAM的区别

- 答 -
CLB单元生成的distribute ram ,CLB是FPGA的基本单元,blockram也是基本单元,但分布ram要由CLB单元生成。由CLB生成分布式ram,消耗逻辑资源。而blockram则固定在fpga内,无论使用与否都存在于那里。当block ram不够用时可以用逻辑资源生成分布式ram。

- 问 -
分布式RAM是如何产生的

- 答 -
这里以Virtex4为例说明:一个CLB由4个Slice组成,这4个Slice又分SliceM和SliceL,其中M是Memory的首字母,L是Logic的首字母,比较SliceM和SliceL,他们的区别就是SliceM的查找表具有RAM和ROM的功能,而SliceL的则不具备。所以SliceM比SliceL多的功能就是做存储器和移位。这样就很清楚了:SliceM可实现DistributRAM,而Distribut RAM是由SliceM中的LUT实现。CLB的结构下所示:

                  Matric   -------SliceM(2)   SliceL(3)--------Y1
                  Switch   ------SliceM(0)   SliceL(1)--------Y0
                                 |              |
                                 |              |
                                 X0              X1
这里XNYM,X--列,N--列号,Y--行,M--行号,Xilinx FPGA内部结构是一种阵列结构。

- 问 -
请问SliceM除了可实现Distribut RAM之外还能实现什么功能?
SliceM实现Distribut RAM时使用SliceM中的SRL16存储单元么?


- 答 -
如果看SliceM的图,是看不到里面有专么这个SRL16的。其实SRL16就是一个基于查找表结构的移位寄存器。而SRL16以primitive形式存在而已。在userguide中,也画了SRLC16的图,它就是一个查找表。比较SliceM和SliceL,他们的区别就是SliceM的查找表具有RAM和ROM的功能,而SliceL的则不具备。所以SliceM比SliceL多的功能就是做存储器和移位。“SliceM实现DistributRAM时使用SliceM中的SRL16存储单元么?”  因为SRL16用的就是LUT,所以,如果这个LUT作为DistributeRAM使用了,则就不能再作为SRL16使用了。
  

目录
相关文章
|
8月前
|
异构计算
FPGA片内RAM读写测试实验 2
FPGA片内RAM读写测试实验
122 0
|
8月前
|
存储 异构计算
FPGA片内RAM读写测试实验 1
FPGA片内RAM读写测试实验
191 0
|
10月前
|
存储 算法 计算机视觉
m基于FPGA的各类存储器纯Verilog实现,包含testbench,包括RAM,SRAM等
m基于FPGA的各类存储器纯Verilog实现,包含testbench,包括RAM,SRAM等
328 2
|
算法 异构计算
m基于FPGA的分布式FIR滤波器verilog设计,对比普通结构以及DA结构
m基于FPGA的分布式FIR滤波器verilog设计,对比普通结构以及DA结构
147 0
m基于FPGA的分布式FIR滤波器verilog设计,对比普通结构以及DA结构
|
算法 异构计算
m基于FPGA的多级抽取滤波器组verilog设计,包括CIC滤波,HB半带滤波以及DA分布式FIR滤波
m基于FPGA的多级抽取滤波器组verilog设计,包括CIC滤波,HB半带滤波以及DA分布式FIR滤波
121 0
m基于FPGA的多级抽取滤波器组verilog设计,包括CIC滤波,HB半带滤波以及DA分布式FIR滤波
FPGA-片内ROM FIFO RAM连用
FPGA-片内ROM FIFO RAM连用
110 0
|
21天前
|
机器学习/深度学习 算法 异构计算
m基于FPGA的多通道FIR滤波器verilog实现,包含testbench测试文件
本文介绍了使用VIVADO 2019.2仿真的多通道FIR滤波器设计。展示了系统RTL结构图,并简述了FIR滤波器的基本理论,包括单通道和多通道的概念、常见结构及设计方法,如窗函数法、频率采样法、优化算法和机器学习方法。此外,还提供了Verilog核心程序代码,用于实现4通道滤波器模块,包含时钟、复位信号及输入输出接口的定义。
38 7
|
3月前
|
算法 异构计算
基于FPGA的ECG信号滤波与心率计算verilog实现,包含testbench
基于FPGA的ECG信号滤波与心率计算verilog实现,包含testbench
|
2月前
|
算法 异构计算
m基于FPGA的电子钟verilog实现,可设置闹钟,包含testbench测试文件
该文介绍了基于FPGA的电子钟设计,利用Vivado2019.2平台进行开发并展示测试结果。电子钟设计采用Verilog硬件描述语言,核心包括振荡器、分频器和计数器。时间显示为2个十进制格式,闹钟功能通过存储器和比较器实现,当当前时间等于设定时间时触发。文中给出了Verilog核心程序示例,展示了时钟信号、设置信号及输出的交互。
36 2
|
4月前
|
算法 异构计算 索引
m基于FPGA的Hamming汉明编译码verilog实现,包含testbench测试文件,不使用IP核
m基于FPGA的Hamming汉明编译码verilog实现,包含testbench测试文件,不使用IP核
51 1

热门文章

最新文章