从芯片器件的角度讲,FPGA本身构成了半定制电路中的典型集成电路,其中含有数字管理模块、内嵌式单元、输出单元以及输入单元等。关于FPGA芯片有必要全面着眼于综合性的芯片优化设计,通过改进当前的芯片设计来增设全新的芯片功能,据此实现了芯片整体构造的简化与性能提升。下面英尚微介绍FPGA开发板内部ram是如何操作的。

除逻辑外,所有新的FPGA都有专用的静态ram块,这些块在逻辑元素之间分布并由逻辑元素控制。

FPGA开发板内部ram操作_第1张图片

内部RAM操作
有许多参数会影响RAM操作。主要参数是可以同时访问RAM的代理数。

“单端口”RAM:只有一个代理可以读取/写入RAM。
“双端口”或“四端口”RAM:2个或4个代理可以读取/写入。非常适合跨时钟域获取数据(每个代理可以使用不同的时钟)。

这是双端口RAM的简化图。

FPGA开发板内部ram操作_第2张图片

要弄清楚有多少代理可用,请计算进入RAM的单独地址总线的数量。每个代理都有专用的地址总线。每个代理还具有读取和/或写入数据总线。

写入RAM通常是同步完成的。阅读通常是同步进行的,但有时可以异步进行。

Blockram与分布式RAM
现在,FPGA中有两种内部RAM:Blockrams和分布式RAM。通常需要的RAM大小决定使用哪种类型。

大的RAM块是Blockram,它们位于FPGA的专用区域中。每个FPGA都有有限数量的这些,如果不使用它们,则会“松开”它们(除了RAM之外,它们不能用于其他任何用途)。

较小的RAM块位于较小的Blockram中(Altera这样做),或者位于“分布式RAM”中(Xilinx这样做)。分布式RAM允许将FPGA逻辑单元用作微小的RAM,这在FPGA中提供了非常灵活的RAM分配,但是在面积方面效率不高(逻辑单元实际上可以容纳很少的RAM位)。Altera倾向于在器件周围构建不同尺寸的块状柱塞(面积效率更高,但灵活性较差)。哪种更适合您取决于您的FPGA应用程序。

对于FPGA开发板中的存储器,针对的可能是最简单的SDRAM:UMI UD408G5S1AF 32位 DDR4 SDRAM一款可用于Xilinx FPGA或AlteraFPGA中的32位 DDR4 SDRAM。如Kintex Ultrascale FPGA中的型号Kintex7可支持32位DDR4SDRAM。

FPGA在安防,工业等领域也有着比较广泛的应用,比如安防领域的视频编码解码等协议在前端数据采集和逻辑控制的过程中可以利用FPGA处理。由于FPGA具有比较高的可靠性,因此在军工以及航天领域也有比较广泛的应用。