首页 > 技术 > 内容

FPGA存储单元的四种调用方法

时间:2026-01-27  作者:Diven  阅读:0

什么是XPM?可能很多人没听过也没用过,全称是Xilinx Parameterized Macros,也就是Xilinx的参数化的宏,跟原语的例化和使用方式一样。可以在Vivado中的Tools->Language Templates中查看都有哪些XPM可以例化。

从上图中可以看出,目前可以例化的XPM主要有三种:跨时钟域处理、FIFO和MEMORY。

我们以MEMORY为例,在Vivado中可以通过下面四种方式调用FPGA中的存储单元,均可以选择是Block RAM还是Distributed RAM.

方法1:RTL代码

我们在定义一个memory变量后,可以在前面指定其资源类型:  

(*ram_style = "block" *)reg [3:0] mem_bram [15:0] ;(*ram_style = "distributed" *)reg [3:0] mem_DRAM [15:0] ;
 

 

使用RTL代码的方式非常灵活,但由于少了很多的控制项,综合后的结果可能不是最优的。

方法2:原语(Primitive)

使用原语也可以例化MEMORY,但没见几个工程师这么用过,因为接口实在太多了,所以实用性不高。

方法3:IP Core

这种方式应该是使用最多的,但缺点也很明显:

当修改参数时需要重新打开IP,然后Generate;

不同版本的Vivado之间还需要进行Update;

有时没注意到IP中的参数,导致结果并不是自己想要的;

最近在调试中就碰到这样一个问题,FIFO中的默认输出延迟是1,即输出数据比读使能晚一拍,而且Output Registers默认是不勾选的。但这个选项不知道什么时候被改了,导致程序最终的输出结果一直有问题,在debug时一直检查的是RTL代码,直到定位到FIFO模块时才发现了这个问题。如果此时我们使用的是XPM,那从代码中很容易就能看出来错误。

方法4:XPM_MEMORY

相对而言,XPM的缺点就不是很明显,纯代码例化的方式更加灵活、简单。

审核编辑:汤梓红

猜您喜欢


贴片电阻上的「104」并不是直接表示104欧姆,而是一种数字编码方式,代表电阻的阻值。理解这种编码方式的关键在于将其看作三位有效数字加上一个乘数。具体来说,「1...
2024-11-26 11:29:29
在科学研究和实验过程中,各类实验仪器和设备是非常重要的配件。种类繁多,功能各异,主要可以分为测量仪器、分析仪器和实验设备三大类。测量仪器,如温度计和压力计,主要...
2023-10-05 00:00:00
现代电子设备中,集成电路的尺寸不断缩小,以满足对更高性能和更小体积的需求。WSON8_2X2MM_EP(八引脚扁平封装)作为小型封装,因其优越的性能和灵活的应用...
2025-02-21 12:17:23
火灾等紧急情况下,断电是常有的事,而这往往会导致更大的恐慌和混乱,甚至阻碍逃生。集中电源集中控制型消防应急照明系统为您提供可靠的生命保障。什么是集中电源集中控制...
2024-10-09 00:00:00
内迫壁虎是颇具特色的生物,其主要优势体现在多个方面。内迫壁虎具有强大的适应能力,能够在各种环境中生存,无论是城市的高楼大厦还是乡村的树木上,都能灵活应对,寻找栖...
2013-05-04 00:00:00
贴片电阻上的数字和字母可不是随便印的,它们代表着电阻的阻值。学会解读这些代码,就能快速识别电阻大小,对于电子爱好者和工程师来说至关重要。一般来说,三位数的代码最...
2024-11-26 11:30:00
贴片电阻,因其体积小巧、易于自动化生产而应用于电子产品中。了解其封装方式对于选择合适的电阻很重要。贴片电阻的封装尺寸通常用四位数字或两位数字表示,例如0402、...
2024-11-29 10:26:18
LED灯具以其节能环保和使用寿命长的优势,已经逐渐取代传统照明设备,走进了千家万户。然而,即使是高质量的LED灯,其驱动器部分也可能出现故障,导致灯光闪烁、亮度...
2024-06-25 00:00:00
随着电子设备和电力系统的不断发展,功率传感器作为测量电力参数的重要工具,其精准性直接影响着系统的安全和效率。为了保证功率传感器的测量准确性,校准工作必不可少。本...
2025-12-02 18:30:38
电子元器件领域,国产贴片电阻品牌正以其卓越的品质和持续的创新,赢得越来越多的市场认可。这些品牌不仅致力于提供高精度、高可靠性的产品,更注重满足不同客户的个性化需...
2024-11-29 10:26:17