原因
在需要观测、调试FPGA内部逻辑时,2个工具ILA和VIO是非常有用的工具,ILA是内部逻辑分析仪,用于分析信号 抓取波形,VIO是虚拟IO,用于手动修改FPGA内部变量,可以大大方便调试。
https://docs.amd.com/r/en-US/ug908-vivado-programming-debugging
ILA
集成逻辑分析器(ILA)是一项强大的工具,允许工程师在目标硬件上实时监测和调试数字信号。这对于理解复杂设计的行为、定位故障和验证系统功能至关重要。ILA的核心功能包括但不限于:
- 信号监控:ILA可以监测设计内部的多个信号,帮助工程师了解信号在不同条件下的行为。
- 硬件事件触发:ILA支持基于特定硬件事件的触发机制,当这些事件发生时,ILA会自动开始数据捕获,这对于捕捉偶发或特定条件下的行为特别有用。
- 系统速度数据捕获:ILA能够以接近系统运行的实际速度捕获数据,这对于分析高速信号和瞬态行为至关重要。
- 灵活的部署方式:ILA核心既可以作为RTL代码的一部分直接在设计中实例化,也可以在综合后作为独立的模块插入到设计流程中,这提供了灵活性和便利性。
如何添加Debug 信号
在代码中实例化并调用ILA
创建ILA模块,自行设定位宽、需要debug的信号个数,这就类似你用示波器一样,自己设定要多少个通道。创建完成以后自己在代码中实例化并添加ILA。
(* MARK_DEBUG="true" *)
使用属性标识,在需要观测的信号前加上该属性标识,这样综合之后,就可以手动将其加入到ILA。这样的好处是可以观察更多的信号,且不需要手动去实例化ILA。
SYSTEM ILA
如果你是用block design进行的设计,可以在想要debug的信号上直接右键debug。然后选择让VIVADO自动帮你生成ILA。
VIO
虚拟IO,可以方便的手动设置输入输出值,注入信号,从而用来debug 内部逻辑。
标签:FPGA,ILA,VIO,实例,信号,debug From: https://www.cnblogs.com/xingce/p/18319349