一、前言本文介绍参考Altera的文档Device Configuration User Guide Agilex™ 5 FPGAs and SoCs 。本文实操是在 DE23_Lite_HDMI_block_move.rar 链接: https://pan.baidu.com/s/1Tq3V6lccIK_tyeuVE9aBmA 提取码: tera的基础上进行验证。该案例来自教程【教程】基于友晶Agilex 3开发板DE23-Lite的HDMI显示方块移动实验含完整工程免费下载。二、为什么需要Reset Release IP它的核心作用是在FPGA芯片完全配置完成并进入“用户模式”之前将你的整个用户设计Application Logic强制保持在复位Reset状态。换句话说Reset Release IP 的主要任务是防止你的逻辑在错误的时间启动。在FPGA配置完成、时钟稳定、电源电压达标之前系统处于一个不确定的中间状态。如果没有这个IP你的寄存器、状态机等逻辑可能会在电压不稳或时钟未锁定的情况下就开始工作导致无法预料的错误。这主要是由现代FPGA的架构决定的。像 Agilex 3、Agilex 5、Agilex 7、Stratix 10等 这样的大容量、高性能FPGA其内核逻辑分布在多个不同的区域Sector。在配置过程中这些区域是并行且独立地完成初始化的它们不会在同一时刻精确地退出复位状态。三、Reset Release IP nINIT_DONE的内部互联示意图这个IP内部只有一个输出信号nINIT_DONE由芯片的配置管理单元SDMSecure Device Manager驱动当整个器件完全进入用户模式即配置完成一切就绪时nINIT_DONE信号才会被拉低。用户可以将nINIT_DONE信号直接连接到所有需要同步复位的模块上这样就确保它们只在器件完全就绪后才开始工作从而构建一个稳定可靠的系统启动流程。四、在设计里面例化Reset Release IP本文案例使用Quartus Pro 25.3 版本。编译DE23_Lite_HDMI_block_move工程会提示Critical Warning(20759): Use the Reset Release IP in Intel Agilex 3 FPGA designs to ensure a successful configuration. For more information about the Reset Release IP, refer to the Configuration User Guide.在IP Catalog里面键入release 找到Reset Release IP双击进入IP 命名界面将其命名为reset_release_ip然后点击Create接下会自动进入Reset Release IP的设置界面 保持设置不变直接点击Generate HDL...点击Generate点击Close这时候当你打开Project——Add /Remove Files in Project菜单就可以看到reset_release_ip.ip文件已经被添加到工程了接下来是修改 Quartus 工程的top level文件先找到DE23_Lite_HDMI_block_move\reset_release_ip里面的reset_release_ip_inst.v文件拷贝reset_release_ip_inst.v文件的内容到top level文件修改如下将系统里面其他模块的复位信号都改成 sys_rst_n 即可重新编译工程将不会再出现Critical Warning(20759): Use the Reset Release IP in Intel Agilex 3 FPGA designs to ensure a successful configuration. For more information about the Reset Release IP, refer to the Configuration User Guide.的提示。虽然之前没有添加这个IP系统也可以正常运行但是添加这个IP才是规范操作防止开发板运行时出现意外。通过网盘分享的文件DE23_Lite_HDMI_block_move_reset_release_ip.rar链接: 百度网盘 请输入提取码 提取码: tera