当前位置: 首页 > news >正文

Vivado自定义IP核封装教程(超详细!)

Vivado自定义IP核封装

  • 一. 创建目标IP核工程及源代码文件
  • 二. IP核封装步骤
  • 三. 将封装的自定义IP添加到Vivado工具的IP库
  • 四. 如何修改已经完成封装的IP核

本文将使用简单的LED工程进行详细的用户自定义IP核封装流程介绍,用户可以将自己的逻辑代码封装为普通接口和AXI4接口,本文介绍封装普通接口IP核,后续后时间再出封装AXI4接口教程

Vivado版本: 2019.2

一. 创建目标IP核工程及源代码文件

二. IP核封装步骤

  • 点击菜单栏Tools —>Create and Package New IP
  • 点击下一步:

  • 选择生成的IP核存放路径

    如果要封装的工程里有调用其他IP核的话,选择存放路径的时候会有是否包含xci文件的选项,要勾选上:

    然后点击下一步,提示会打开一个新的IP核工程:

    点击Finish完成:

    然后就会自动打开一个封装IP核的新工程,这个工程位置就在刚才选择的IP核存放路径下
  1. 进入IP核工程界面
    在Package IP页面中会看到Packaging Setps下有几个步骤,下面介绍一下:
  • Identification:设置IP核在GUI界面中显示的名称,功能描述,版本号等信息
  • Compatibility:增加或者删除要封装的IP核兼容的FPGA芯片型号
  • File Groups:IP核文件分组,可以在该页面下选择是否将IP的源代码,综合和仿真文件包含进封装后的IP中
  • Customization Parameters:配置IP核的参数,默认值等
  • Ports and Interfaces:IP核的输入和输出端口
  • Addressing and Memory:IP核的地址,如果PS通过AXI总线访问PL,PS可通过这个地址识别到这个IP核
  • Customization GUI:IP核的GUI界面展示
  • Review and Package:要封装的自定义IP核的一些总结信息


(1) Identification页面设置,自行选择是否需要修改

(2) Compatibility页面设置,自行选择是否需要增加或删除FPGA芯片型号

(3) File Groups页面设置,可以在此界面增加或删除要包含的文件

(4) Customization Parameters页面设置,自行选择是否需要修改参数初值,我这里保持默认

(5) Ports and Interfaces页面设置,可以双击修改端口的信息和功能,这里保持默认

(6) Addressing and Memory页面设置,这里没有用到PS,所以啥也没有,需要可以根据提示自行添加

(7) Customization GUI页面展示封装后的IP核GUI界面

(8) Review and Package页面显示封装的IP核一些信息,点击Package IP即可完成自定义IP核封装

点击Package IP会自动关闭IP核工程,点击Yes

三. 将封装的自定义IP添加到Vivado工具的IP库

如果需要在其他Vivado工程中调用自定义封装的IP核,那就需要将自定义IP添加到Vivado的IP库中,否则只能在当前工程中调用封装的IP
在要调用自定义IP核的工程中打开Vivado设置界面,找到IP—>Repository,添加封装的IP核存放路径

然后在IP Catalog中就可以看见封装的自定义IP核了

双击即可打开IP设置界面即可像其他Xilinx IP核一样完成调用

四. 如何修改已经完成封装的IP核

当我们需要修改已经封装完成的IP核逻辑时,根据以下步骤进行:

  1. 打开IP Catalog找到封装的IP核,选择并点击右键选择Edit in IP Packager

    点击OK打开IP核工程
  2. 修改IP核逻辑后会看到Package IP界面Packaging Steps下有些步骤没有打勾


按照之前封装IP核的步骤重新走一遍流程即可,根据提示点一下即可重新加载参数


然后点击Re-Package IP即可重新封装

然后需要重新调用IP核修改才可以生效 ! ! !

http://www.cnnetsun.cn/news/861054.html

相关文章:

  • Sentinel 链路流控模式配置细节:关闭context整合
  • 微调之后还能做什么?大模型后训练完全指南:从理论到实践,小白也能懂
  • JAVA赋能易卡随行:重构名片管理新生态
  • 期刊写作破局指南:paperzz 期刊论文工具,让学术发表不再难
  • APP自动化测试详解
  • 红蓝对抗网络攻防实战演练简介
  • DOPE-FITC,FITC-PEG-DOPE,荧光素异硫氰酸酯标记二油酰基-3-二甲基氨基丙烷
  • DOPE-NBD,DOPE-PEG-NBD, 1,2‑油酸甘油‑3‑磷酸乙醇胺‑NBD
  • 【网络安全】常见文件上传漏洞处理与防范!
  • 探索PFC开关电源仿真之全桥LLC
  • 2026 程序员前景盘点 + 就业 10 大方向一览,技能转型指南在此
  • 【开源鸿蒙跨平台开发先锋训练营】Day 7:开源鸿蒙开发第一阶段复盘与技术深度总结
  • 在 VSCode 中配置 SSH 并实现 X11 转发:服务器程序远程桌面显示
  • 一个退休程序员,用AI写了个AI叫Clawd,然后带火了Mac Mini
  • 计算机等级考试(二级WPS)---第4章:创建与处理演示文档---第2节:演示文稿的外观设计
  • 毕业设计项目 基于单片机的太阳追光系统(源码+硬件+论文)
  • 2026软著代办平台推荐:5款高效工具让你30分钟搞定申请材料
  • 大学生寒假别再靠力气赚钱了,掌握这 3 个技能,比打零工挣得多
  • 4招搞定DeepSeek写的论文AI率太高问题
  • Time MCP
  • 基于单片机的酒精浓度检测仪的设计与实现
  • Arthas 全量包下载并离线部署
  • Agent Skills:从工具到同事,AI Agent的下一个转折点
  • 图片分割神器!免费开源支持多种分割方式
  • 智能建站平台如何实现自动SEO?外贸网站提升自然流量的关键技术
  • SQL语言分类思维脑图
  • 生成式AI重构汽车产业!七大引擎+体系化破局,单车企价值机遇达70亿美元
  • Firecrawl MCP
  • Spring项目别再乱注入Service了!用Lambda封装个统一调用组件,直接起飞!
  • 完整项目:安全通信中的二项分布随机噪声类型的概率分析与统计