0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

三种可以例化的XPM

汽车玩家 来源:科学计算technomania 作者:猫叔 2020-03-08 16:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

首先,什么是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的缺点就不是很明显,纯代码例化的方式更加灵活、简单。

三种可以例化的XPM

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Xilinx
    +关注

    关注

    73

    文章

    2192

    浏览量

    129969
  • XPM
    XPM
    +关注

    关注

    0

    文章

    12

    浏览量

    8889
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Xilinx BRAM IP核配置及其

    )的,所以通过合理分配BRAM的大小,可以提高片上block的利用率。 完成以后,进行综合,可以
    发表于 10-24 06:10

    伺服电机的三种制动方式有什么区别?

    伺服电机作为自动控制系统中执行元件的核心部件,其制动性能直接影响设备的定位精度和安全可靠性。目前主流的伺服电机制动方式包括动态制动、再生制动和电磁机械制动三种,它们在制动原理、应用场景及技术特点上
    的头像 发表于 09-19 18:26 1146次阅读
    伺服电机的<b class='flag-5'>三种</b>制动方式有什么区别?

    三种SPWM波形生成算法的分析与实现

    摘要:变频技术作为现代电力电子的核心技术,集现代电子、信息和智能技术于一体。而SPW(正弦波脉宽调制)波的产生和控制则是变频技术的核心之一。本文对SPI波形生成的三种算法-对称规则采样法、不对称规则
    发表于 07-31 13:34

    MEMS中的三种测温方式

    在集成MEMS芯片的环境温度测量领域,热阻、热电堆和PN结原理是三种主流技术。热阻是利用热敏电阻,如金属铂或注入硅的温度电阻系数恒定,即电阻随温度线性变化的特性测温,电阻变化直接对应绝对温度,需恒流源供电。
    的头像 发表于 07-16 13:58 1309次阅读
    MEMS中的<b class='flag-5'>三种</b>测温方式

    开关电源三种控制模式:PWM/PFM/PSM

    摘要 本文详细介绍了开关电源的三种主要调制方式:PWM(脉冲宽度调制)、PFM(脉冲频率调制)和PSM(脉冲跨周期调制)。PWM通过调整脉冲宽度保持恒定频率,适用于重负载,但轻负载效率低。PFM则在
    发表于 06-09 16:11

    介绍三种常见的MySQL高可用方案

    在生产环境中,为了确保数据库系统的连续可用性、降低故障恢复时间以及实现业务的无缝切换,高可用(High Availability, HA)方案至关重要。本文将详细介绍三种常见的 MySQL 高可用
    的头像 发表于 05-28 17:16 1005次阅读

    信号隔离器三种供电方式的区别

    信号隔离器是一重要的信号隔离装置,其供电方式主要有独立供电、回路供电和输出回路供电三种。以下是这三种供电方式的详细区别: 一、独立供电 1. 定义:独立供电是指信号隔离器需要单独配备DC24V或
    的头像 发表于 04-17 16:23 1087次阅读
    信号隔离器<b class='flag-5'>三种</b>供电方式的区别

    双极型极管放大电路的三种基本组态的学习课件免费下载

      本文档的主要内容详细介绍的是双极型极管放大电路的三种基本组态的学习课件免费下载包括了:共集电极放大电路,共基极放大电路,三种基本组态的比较   输入信号ui 和输出信号uo 的公共端是集电极。
    发表于 04-11 16:39 27次下载

    redis三种集群方案详解

    在Redis中提供的集群方案总共有三种(一般一个redis节点不超过10G内存)。
    的头像 发表于 03-31 10:46 1277次阅读
    redis<b class='flag-5'>三种</b>集群方案详解

    CMOS,Bipolar,FET这三种工艺的优缺点是什么?

    在我用photodiode工具选型I/V放大电路的时候,系统给我推荐了AD8655用于I/V,此芯片为CMOS工艺 但是查阅资料很多都是用FET工艺的芯片,所以请教下用于光电信号放大转换(主要考虑信噪比和带宽)一般我们用哪种工艺的芯片, CMOS,Bipolar,FET这三种工艺的优缺点是什么?
    发表于 03-25 06:23

    GaN、超级SI、SiC这三种MOS器件的用途区别

    如果想要说明白GaN、超级SI、SiC这三种MOS器件的用途区别,首先要做的是搞清楚这三种功率器件的特性,然后再根据材料特性分析具体应用。
    的头像 发表于 03-14 18:05 2203次阅读

    光伏系统的三种类型及其应用分析

    ,即使在夜间或阴天也能持续供电,常用于离网或偏远地区的设置。第三种系统为交流电(AC)负载供电,使用逆变器将直流电转化为交流电,使其可以与住宅和商业电器兼容。仅日间
    的头像 发表于 01-20 11:40 1966次阅读
    光伏系统的<b class='flag-5'>三种</b>类型及其应用分析

    示波器的三种触发模式

    示波器的触发方式不仅影响波形捕捉的时机,还决定了显示的波形是否稳定。 常见的触发模式有三种: 单次触发 (Single)、 正常触发 (Normal)和 自动触发 (Auto)。下面将对这三种触发
    的头像 发表于 01-07 11:04 1.3w次阅读
    示波器的<b class='flag-5'>三种</b>触发模式

    Verilog说明

    Verilog说明 1.什么是模块?为什么要? 模块
    的头像 发表于 12-17 11:29 3131次阅读
    Verilog<b class='flag-5'>例</b><b class='flag-5'>化</b>说明

    ADS8688,ADS8688A,ADS8688AT三种型号有什么区别?如何选择?

    问一下官方,ADS8688有三种型号,ADS8688,ADS8688A,ADS8688AT,好像还不是同一个手册上的型号,请问这三种型号有什么区别?如何选择?如果芯片有区别,万一买错了怎么办?
    发表于 12-12 07:51