XILINX FPGA Debug 工具ILA和VIO

原因

在需要观测、调试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 内部逻辑。

posted @ 2024-07-23 18:58  Hello-FPGA  阅读(320)  评论(0编辑  收藏  举报