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

    文章

    2206

    浏览量

    131900
  • XPM
    XPM
    +关注

    关注

    0

    文章

    12

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ATE系统中这三种测量卡的架构和功能

    测试仪行业面临的一个挑战是,如何在不显著增加测试仪时间、尺寸或成本的情况下,满足对大量测试通道的需求。尽管半导体测试仪(也称为自动测试器件(ATE))种类繁多,但在大多数测试仪都包含三种主要卡:电压
    的头像 发表于 04-09 15:12 150次阅读
    ATE系统中这<b class='flag-5'>三种</b>测量卡的架构和功能

    AI技术时代三种全新工作模式如何实现

    AI技术正在重塑我们的工作。前沿企业以“人类主导、智能体运营”为核心,形成三种AI技术的融合模式:人类+AI技术助手、人机混合、人类主导智能体运营,这些模式不仅提升效率,更在重构协作方式,帮助组织以更低的阻力迈向成功。
    的头像 发表于 01-29 15:08 748次阅读

    C语言中实现函数宏的三种方式

    ,在 {}、do{...}while(0) 和 ({}) 这三种函数宏的封装方式之中,应尽可能不使用 {},考虑兼容性一般选择使用 do{...}while(0),当需要函数宏返回时可以考虑使用 ({}) 或直接定义函数。
    发表于 12-29 07:34

    请问CW32芯片的三种工作模式是什么?

    CW32芯片的三种工作模式是什么?
    发表于 12-26 06:48

    宜科电子推出三种不同原理标签传感器

    在工业自动与智能包装领域,标签检测的精度、速度与适应性直接决定了生产线的效率与产品合规性。针对不同材质标签(如纸质、薄膜、金属箔)及复杂检测环境,我们推出超声波、光电、电容三种不同原理标签传感器,以多模融合、精准识别、智能适应为核心,为食品包装、医药制造、物流分拣等行业
    的头像 发表于 11-08 15:07 2093次阅读

    Xilinx BRAM IP核配置及其

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

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

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

    【干货】一文带你了解CAN、Modbus与LoRa三种通信协议的区别

    在工业自动与物联网领域,CAN、Modbus和LoRa是三种主流通信技术。而亿佰特在该行业具有丰富的产品供客户选择与使用,帮助客户进一步确定需求,本文将结合技术细节与实际案例解析其核心区别。一
    的头像 发表于 08-28 19:32 2304次阅读
    【干货】一文带你了解CAN、Modbus与LoRa<b class='flag-5'>三种</b>通信协议的区别

    TC377配置SMU FSP时,如何配置频率参数;三种模式有何区别,配置上有何区别?

    TC377配置SMU FSP时,如何配置频率参数;三种模式有何区别,配置上有何区别?
    发表于 08-08 07:48

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

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

    CAN总线电容过大?三种解决方案来了

    在新能源汽车路试中,CAN总线传输异常是一个常见问题。本期我们将探讨由于总线电容过大导致的下降沿过缓问题,并介绍三种有效的解决方案。CAN总线下降沿过缓问题新能源路试工程师在分析CAN总线波形
    的头像 发表于 07-22 11:36 867次阅读
    CAN总线电容过大?<b class='flag-5'>三种</b>解决方案来了

    MEMS中的三种测温方式

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

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

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

    HarmonyOS基础组件:Button三种类型的使用

    中的Button相较于Android原生来说,功能比较丰富,扩展性高,减少了开发者的代码数量,简化了使用方式。不仅可以自定义圆角还支持三种样式。 常用属性 名称 参数类型 描述 type
    的头像 发表于 06-09 15:48 2710次阅读
    HarmonyOS基础组件:Button<b class='flag-5'>三种</b>类型的使用

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

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