惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
The Cloudflare Blog
博客园_首页
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Jina AI
Jina AI
美团技术团队
博客园 - 【当耐特】
博客园 - Franky
T
Tailwind CSS Blog
雷峰网
雷峰网
小众软件
小众软件
阮一峰的网络日志
阮一峰的网络日志
Apple Machine Learning Research
Apple Machine Learning Research
Last Week in AI
Last Week in AI
V
V2EX
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)

博客园 - 所长

xilinx axi qspi V3.2 slave interrupt lwip 快速 高频 短帧发送 测试 If your port already typedef's in_addr_t, define IN_ADDR_T_DEFINED to prevent this code from redefining it. FPGA Verilog 线性反馈移位寄存器(LFSR) Libero FIFO Controller without Memory Software-Defined Radio for Engineers 一 频谱仪 N9020A 操作步骤记录 FPGA-CAN MAC 层 IP 核测试(二) 源码阅读 libero reg 编译时 占用 RAM 资源 而不是 LUT 资源 加扰和解扰 FPGA-CAN MAC 层 IP 核测试(一) 上板实测 Microchip SoftConsole v2022.2-RISC-V-747 polarfire soc 裸机例程中 链接文件 mpfs-envm-lma-scratchpad-vma.ld 分析 FlashPro5 导致 window11 蓝屏 libero verilog 模块例化时,信号不存在 默认是 不连接 A3P250 在线 debug 抓取信号 Identify 在线逻辑分析仪 MPFS250T MSS 引脚 上下拉配置 如何在 libero 中 写一个 axi4 slave 总线的 IP核 可以 和 CoreAXI4Interconnect 连接 (五) 官方参考 verilog 按键消抖模块 如何在 libero 中 写一个 axi4 slave 总线的 IP核 可以 和 CoreAXI4Interconnect 连接 (四) axi-lite 信号抓取 libero Active Probes 如何在 libero 中 写一个 axi4 slave 总线的 IP核 可以 和 CoreAXI4Interconnect 连接 (三) C代码测试 访问卡死 如何在 libero 中 写一个 axi4 slave 总线的 IP核 可以 和 CoreAXI4Interconnect 连接 (二) axi-lite 如何在 libero 中 写一个 axi4 slave 总线的 IP核 可以 和 CoreAXI4Interconnect 连接(一)libero 设置把模块信号变总线方式 libero 2025.2 Macro Library User Guide for SmartFusion 2 and IGLOO 2 FPGAs 如何在 libero 中 写一个 axi4 slave 总线的 IP核 可以 和 CoreAXI4Interconnect 连接 (零) MSS CFG MPFS250T FLASH 只有 128KB 调整代码优化 AD9361 SPI no-os 文件移植 SoftConsole MPFS250T 初学(七) 初始化日志记录 AD9361 SPI no-os 文件移植 SoftConsole MPFS250T 初学(六) 开启 日志打印 Calibration TIMEOUT (0x247, 0x2) AD9361 SPI no-os 文件移植 SoftConsole MPFS250T 初学(五) ad9361_check_cal_done 卡死
vivado axi PS-PL 封装IP 创造自定义 外设
所长 · 2026-04-20 · via 博客园 - 所长

1、IP 封装 方法 和  工程调用方法

  参考 FPGA 嵌入式开发实战指南 - 野火 , 第8章 自定义IP核 

2、封装总结:

  1、单独新建一个文件夹 用于存放 封装 IP 的工程

  2、修改 封装 IP 的 顶层文件 ,将封装 模块 的 输出信号引出, 例子是 封装一个 LED 开关 的 模块

  3、

IP 封装 代码编写

image

 顶层引出信号 

image

 次顶层引出

image

 次顶层 例化 自己写的模块, 将 寄存器 0 的 bit0  传递给 LED 模块 

image

 编写 自己的 模块

image

 IP调用时,系统 block design 框图

image

PS 端 写寄存器方法

// 下面参数  在 #include "xparameters.h" 文件中

/* Definitions for driver LED */
#define XPAR_LED_NUM_INSTANCES 1

/* Definitions for peripheral LED_0 */
#define XPAR_LED_0_DEVICE_ID 0

// LED IP  寄存器的地址 
#define XPAR_LED_0_S00_AXI_BASEADDR 0x43C00000
#define XPAR_LED_0_S00_AXI_HIGHADDR 0x43C0FFFF

Xil_Out32( XPAR_LED_0_S00_AXI_BASEADDR, 0x01 ); // 关闭 LED

Xil_Out32( XPAR_LED_0_S00_AXI_BASEADDR, 0x00 ); // 打开 LED

image

image

vivado 更新文件 到 SDK 中时,SDK 没反应, 可以  change HardWare Platform specification 来主动 更新文件 

image

image