一、前言
本文介绍参考Altera的文档:Device Configuration User Guide Agilex™ 5 FPGAs and SoCs https://docs.altera.com/viewer/book-attachment/XbjAQgz2d1lAcDGafRnL0A/RGB4FFvfEylqY9dyWb450A-XbjAQgz2d1lAcDGafRnL0A
本文案例在 DE23_Lite_HDMI_block_move.rar (链接: https://pan.baidu.com/s/1Tq3V6lccIK_tyeuVE9aBmA 提取码: tera)的基础上进行验证。该案例来自教程:https://mp.weixin.qq.com/s/xy3jdeWJc84pLgvqx0ihZw
二、为什么需要Reset Release IP
Reset Release IP 的主要任务是防止你的逻辑在错误的时间启动。在FPGA配置完成、时钟稳定、电源电压达标之前,系统处于一个不确定的中间状态。如果没有这个IP,你的寄存器、状态机等逻辑可能会在电压不稳或时钟未锁定的情况下就开始工作,导致无法预料的错误。
这主要是由现代FPGA的架构决定的。像Agilex 5这样的大容量、高性能FPGA,其内核逻辑分布在多个不同的区域(Sector)。在配置过程中,这些区域是并行且独立地完成初始化的,它们不会在同一时刻精确地退出复位状态。
这个IP内部只有一个输出信号:INIT_DONE,由芯片的配置管理单元(SDM,Secure Device Manager)驱动,当整个器件完全进入用户模式(即配置完成,一切就绪)时,INIT_DONE信号才会被拉低。
用户可以将INIT_DONE信号直接连接到所有需要同步复位的模块上,确保它们只在器件完全就绪后才开始工作,从而构建一个稳定可靠的系统启动流程。
三、Reset Release IP 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
链接: https://pan.baidu.com/s/1cUH8ayTA8584EgZwAco3gg 提取码: tera
浙公网安备 33010602011771号