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
    +关注

    关注

    70

    文章

    2117

    浏览量

    119318
  • XPM
    XPM
    +关注

    关注

    0

    文章

    12

    浏览量

    8623
收藏 人收藏

    评论

    相关推荐

    ARM、DSP、FPGA者有什么区别?

    ARM、DSP、FPGA三种是最常用的工业控制芯片甚至是物联网应用芯片,那么这三种芯片在原理上有什么异同?哪款芯片的功能最强?在功能上有哪些不同,主要是指引脚的功能和支持的扩展能力?
    发表于 02-25 20:19

    运放的三种应用

    运放在电路中主要存在三种应用,放大器,滤波器,振荡器。再这三种应用电路中,运放的两大特点虚短虚断仍然成立吗? 在阻尼振荡器中,工作过程是否按照我描述的这样,在反相输入端加一个近似锯齿波的电流源,正半
    发表于 01-26 16:18

    针对电平变频器中点电位平衡模式有哪些优缺点?

    电平结构的变频器有一个问题就是中点电位不平衡,在软件控制层面有三种平衡模式,默认模式、比例模式和PI模式,或许叫法有所不同,总之是这三种平衡模式吧,请问这三种平衡模式是什么意思,具体
    发表于 01-09 16:12

    请问如何用单片机让极管出现三种不同的电平状态?

    如何用单片机让极管出现三种不同的电平状态?
    发表于 10-10 06:56

    三种格式字符串方法总结#Python数据分析

    数据分析python
    未来加油dz
    发布于 :2023年09月02日 21:55:11

    极管三种工作状态!

    极管
    YS YYDS
    发布于 :2023年07月04日 21:12:56

    电工常见的三种电机

    电机
    YS YYDS
    发布于 :2023年06月25日 22:09:55

    我看MS51有三种Flash大小的,除了Flash大小不同外,其他配置一样吗?

    我看MS51有三种Flash大小的,除了Flash大小不同外,其他配置一样吗
    发表于 06-15 10:15

    00004 轻松学习极管三种工作状态截止、放大、饱和导通区,清晰明了!

    极管
    学习电子知识
    发布于 :2023年05月30日 22:12:13

    PLC的三种基本量  #自动  #干货分享  #PLC #硬声创作季

    plc电气
    或许
    发布于 :2023年05月30日 09:08:52

    XPM6传感器如何检测故障

    XPM6-350BS-/Z06传感器按预期工作时,我们几乎不会注意到它们的存在,而只会考虑系统没有它们就无法实现的优势。 但是,XPM6传感器有时仍会出现故障。 当传感器发生故障时,我们如何检测它,第一步是什么? 首先要测试什么? 传感器的检测过程如下所述。
    的头像 发表于 05-24 09:34 277次阅读
    <b class='flag-5'>XPM</b>6传感器如何检测故障

    XPM4压力传感器的特点及应用

    XPM4传感器全钛结构和齐平膜,可保护传感器免受大多数腐蚀环境的损害。可实质性消除安装扭矩造成的零点漂移。XPM4传感元件采用经过温度补偿,由具有微机械加工硅应变片组成的惠斯通电桥结构,尤其在低量程和高频情况下可优化。
    的头像 发表于 05-19 16:52 337次阅读
    <b class='flag-5'>XPM</b>4压力传感器的特点及应用

    XPM10压力传感器噪音的影响

    接下来我们来了解下XPM10-A1-5BA-/HA/L5M传感器电路噪声的来源,以便找到更好的方法来降低它。 一般来说,传感器电路噪声主要包括以下几种
    的头像 发表于 05-19 16:38 304次阅读
    <b class='flag-5'>XPM</b>10压力传感器噪音的影响

    常见大类放电管的特性与区别

    常见大类放电管是什么? 一般来说,常见的放电管就是这三种:陶瓷气体放电管、玻璃放电管、半导体放电管。下面浪拓详细介绍这三种放电管: 1、陶瓷气体放电管; 陶瓷气体放电管有两极和
    发表于 04-27 11:54

    今日说“法”:FPGA的三种配置方式

    ,有好的灵感以及文章随笔,欢迎投稿,投稿请标明笔名以及相关文章,投稿接收邮箱:1033788863@qq.com。今天带来的是“FPGA的三种配置方式”,话不多说,上货。 FPGA的三种配置方式
    发表于 04-24 15:34