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

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

3天内不再提示

在Vivado中构建自定义AXI4-Stream FIR滤波器IP 2

jf_78858299 来源:OpenFPGA 作者:碎碎思 2023-02-10 14:51 次阅读

将自定义 RTL 添加到 AXI4-Stream IP

从Flow Navigator中选择Add Sources添加我们要设计的 FIR Verilog 文件。

在使用 Add Files 选项指向 FIR Verilog 文件后,取消选中Scan and add RTL include files into project复选框。由于这不是一个普通的 Vivado 项目,并且 Verilog 代码被打包到一个 IP 块中,因此选中该选项后将引发错误。

添加后,源层次结构更新并且 FIR Verilog 文件独立于 AXI Verilog 源文件。

根据生成 IP 编辑器 Vivado 项目时所做的选择,会为此 AXI4-Stream 外设生成三个 RTL 源文件:

  • 接口功能 RTL。
  • 主接口功能 RTL。
  • 具有物理接口声明和主从接口实例化的顶层文件。

在设计之前,需要将几个默认未启用的可选 AXI4-Stream 接口信号添加到主 AXI 端口和从 AXI 端口。大多数 DSP IP 模块,例如 DDS 利用了 AXI4-Stream 额外的keep 和 tlast信号。

添加这些可选信号很简单,但最初并不清楚。导航到Package IP窗口中的Customization Parameters选项卡。

主接口和从接口都需要添加它们,因此右键单击每个接口并选择Edit Interface 。

在“Parameters”选项卡中启用HAS_TKEEP ,方法是单击每个选项,然后单击单个箭头将其从左列移动到右列。

然后切换到Port Mapping选项卡,将 tkeep 和 tlast 映射到 AXI IP 块的物理接口。在Interface's Logical Ports列和IP's Physical Ports列中分别匹配 tkeep 和 tlast 信号。然后在下面的Mapped Ports Summary列中验证它们的映射。

由于默认情况下不启用 tkeep,因此还必须手动将其端口声明添加到所有三个 AXI 接口 RTL 源文件的用户定义端口声明部分。它还需要添加到顶级 AXI 包装器中的 AXI 主接口和从接口实例中。

在注释Add user logic here标记的部分中实例化 FIR Verilog 模块。

现在,虽然 AXI 接口的基本功能分别在每个 RTL 源文件中自动生成,但如何从输入数据流中提取数据并传递到自己的自定义逻辑中由自己来定义。以及如何将自定义逻辑的数据输出馈送到主 AXI 接口进行输出。因此,会在三个自动生成的 RTL 源文件中注意到相同的 Add user 逻辑。

另一点需要注意的是,AXI4-Stream 接口的功能需要进行一些修改,以便将 tkeep 和 tlast 信号功能添加到主 AXI 接口和从 AXI 接口。

这个项目的最后一个独特的要求是,因为这个逻辑的核心是一个 FIR 滤波器,所以主从 AXI 接口和 FIR 都需要由相同的时钟作为 FIR 采样时钟。所以只是将从 AXI 接口时钟传递给 FIR 和主 AXI 接口。

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

    关注

    1631

    文章

    21806

    浏览量

    606701
  • amd
    amd
    +关注

    关注

    25

    文章

    5505

    浏览量

    134755
  • 滤波器
    +关注

    关注

    161

    文章

    7884

    浏览量

    179148
收藏 人收藏

    评论

    相关推荐

    请问AXI4-Stream到Video核心的技巧有什么?

    ,这是一个由数据视频生成器卡携带的模块。在这种情况下,我只使用了四个内核来实现简单设计,即(1)。视频输入到Axi4-Stream核心,(2)视频缩放核心,(3)。 AXI4-Stream
    发表于 11-08 09:53

    如何吧AXI4-stream时钟转换tkeep设置为null?

    大家好,我正在两个时钟域之间穿过AXI4-Stream,并尝试使用AXI4-Stream时钟转换核心,使用tkeep端口但是合成时它被Vivad
    发表于 05-08 08:56

    axi4-stream互连问题如何解决

    你好,大家好。我正在使用EMI14.4和xc6v315t。我正在尝试模拟IP CORE.It的axi4-stream interconnect.I配置ip为6siand 4mi。但是当
    发表于 06-18 15:08

    AXI-stream数据传输过程

    的数据流标识符。xilinx封装的ip没有此信号。  9.TDEST 用于提供路由信息,xilinx封装的ip没有此信号。  10.TUSER
    发表于 01-08 16:52

    构建自定义AXI4-Stream FIR滤波器的步骤

    1、​构建自定义AXI4-Stream FIR滤波器  AMD-Xilinx 的 Vivado
    发表于 11-07 16:07

    如何使用Vivado功能创建AXI外设

    了解如何使用Vivado的创建和封装IP功能创建可添加自定义逻辑的AXI外设,以创建自定义IP
    的头像 发表于 11-29 06:48 7196次阅读
    如何使用<b class='flag-5'>Vivado</b>功能创建<b class='flag-5'>AXI</b>外设

    自定义sobel滤波IP核,IP接口遵守AXI Stream协议

    自定义sobel滤波IPIP接口遵守AXI Stream协议
    的头像 发表于 08-06 06:04 4007次阅读

    关于AXI4-Stream协议总结分享

    XI4-StreamAXI4的区别就是AXI4-Stream去除了地址线,这样就不涉及读写数据的概念了,只有简单的发送与接收说法,减少了延时。由于AXI4-Stream协议(amba
    的头像 发表于 06-23 10:08 2397次阅读

    AXI4-Stream Video 协议和AXI_VDMA的IP核介绍

    本文主要介绍关于AXI4-Stream Video 协议和AXI_VDMA的IP核相关内容。为后文完成使用带有HDMI接口的显示构建图像视
    的头像 发表于 07-03 16:11 8627次阅读

    AXI4AXI4-Lite 、AXI4-Stream接口

    AXI4 是一种高性能memory-mapped总线,AXI4-Lite是一只简单的、低通量的memory-mapped 总线,而 AXI4-Stream 可以传输高速数据流。从字面意思去理解
    的头像 发表于 07-04 09:40 8855次阅读

    构建自定义AXI4-Stream FIR滤波器

    为了方便用户进行相关设计,Vivado 提供了一个内置的 IP 封装编辑工具,它可以为 AXI IP 生成框架,只需将自己的 RTL 代码
    的头像 发表于 11-07 09:25 657次阅读

    构建自定义AXI4-Stream FIR滤波器

    的图形表示进行设计,block design中使用 RTL 模块的方便之处在于,它将自动检测某些类型的信号,例如时钟、复位和总线接口,然后,检测这些信号进行IP间的自动化连接。Vivado
    的头像 发表于 01-06 09:31 1028次阅读

    Vivado构建自定义AXI4-Stream FIR滤波器IP 1

    的图形表示进行设计,block design中使用 RTL 模块的方便之处在于,它将自动检测某些类型的信号,例如时钟、复位和总线接口,然后,检测这些信号进行IP间的自动化连接。Vivado
    发表于 02-10 14:50 1132次阅读
    <b class='flag-5'>在</b><b class='flag-5'>Vivado</b><b class='flag-5'>中</b><b class='flag-5'>构建</b><b class='flag-5'>自定义</b><b class='flag-5'>AXI4-Stream</b> <b class='flag-5'>FIR</b><b class='flag-5'>滤波器</b><b class='flag-5'>IP</b> 1

    Vivado构建自定义AXI4-Stream FIR滤波器IP 3

    的图形表示进行设计,block design中使用 RTL 模块的方便之处在于,它将自动检测某些类型的信号,例如时钟、复位和总线接口,然后,检测这些信号进行IP间的自动化连接。Vivado
    发表于 02-10 14:51 1402次阅读
    <b class='flag-5'>在</b><b class='flag-5'>Vivado</b><b class='flag-5'>中</b><b class='flag-5'>构建</b><b class='flag-5'>自定义</b><b class='flag-5'>AXI4-Stream</b> <b class='flag-5'>FIR</b><b class='flag-5'>滤波器</b><b class='flag-5'>IP</b> 3

    自定义AXI-Lite接口的IP及源码分析

    Vivado 自定义 AXI4-Lite 接口的 IP,实现一个简单的 LED 控制功能,
    发表于 06-25 16:31 3560次阅读
    <b class='flag-5'>自定义</b><b class='flag-5'>AXI</b>-Lite接口的<b class='flag-5'>IP</b>及源码分析