Xilinx Vivado 硬件诊断( ila和vio的使用)

Xilinx Vivado 硬件诊断( ilavio的使用)

作者:OpenS_Lee

1背景知识

    在我们的FPGA设计项目中,硬件的诊断和校验可能会占去超过30%40%FPGA开发时间,FPGAdebug也是FPGA设计中重要的一环。掌握并灵活运用FPGA设计工具的debug功能也是加快FPGA设计的关键。

1.1 ILA(Integrated Logic Analyzer)

    FPGA设计中的信号连接到ILA核的时钟和探针输入如图1。这些信号附加到探针输入,以设计速度采样,并使用片上块RAMBRAM)存储。核参数指定探针的数量、跟踪样本深度和每个探针输入的宽度。使用与FPGAJTAG接口连接的自动实例化调试核心集线器与ILA核进行通信。

  

Xilinx Vivado 硬件诊断( ila和vio的使用)_第1张图片

1 ILA Core

1.2 VIO (Virtual Input/Output core)

   VIO核是一个可定制的核,可以实时监控和驱动内部FPGA信号。不像ILA核,不需要片上或片外RAM

   VIO核有两种类型的信号:

     . Input probes

     .Output probes  

   

 

Xilinx Vivado 硬件诊断( ila和vio的使用)_第2张图片

2 VIO Block Diagram

2 ila vio在工程中使用

  我们使用uart工程来做示例。

 

Xilinx Vivado 硬件诊断( ila和vio的使用)_第3张图片

3 uart示例模块图

如图3所示,整个串口工程包括波特率时钟产生模块,串口接收模块和串口发送模块。我们将使用ila IPuart_rx模块的接收数据进行debug,使用vio IPuart_tx模块进行debug

 

Xilinx Vivado 硬件诊断( ila和vio的使用)_第4张图片

我们使用Ila将对 rx_data的接收数据进行实时观测,以此来判断程序是否正确。

2.1 ila IPvio IP的创建

   Ila IP的创建,首先打开 IP Catalog如图4

 

Xilinx Vivado 硬件诊断( ila和vio的使用)_第5张图片

4 IP Catalog

   搜索ila如图5

 

Xilinx Vivado 硬件诊断( ila和vio的使用)_第6张图片

5 ila ip

   双击打开ila IP ,相关参数设置如图6

 

Xilinx Vivado 硬件诊断( ila和vio的使用)_第7张图片

6 ila IP参数设置

Ila IP的探头位宽设置如图7

 

Xilinx Vivado 硬件诊断( ila和vio的使用)_第8张图片

7 Ila IP位宽的设置

 

Vio的设置如图8和图9

 

Xilinx Vivado 硬件诊断( ila和vio的使用)_第9张图片

 

8 探头个数的设置

 

Xilinx Vivado 硬件诊断( ila和vio的使用)_第10张图片

9 探头数据位宽和初始化值的设置

Ila  IP vio IP的例化。

 

Xilinx Vivado 硬件诊断( ila和vio的使用)_第11张图片

然后我们综合实现完成后下载程序如图10

 

Xilinx Vivado 硬件诊断( ila和vio的使用)_第12张图片

10 programming FPGA

2.2 ila viouart的实时数据采集

Ila的调试,我们使用rx_done 信号作为触发信号,设置触发条件等于1,如图11所示。

 

Xilinx Vivado 硬件诊断( ila和vio的使用)_第13张图片

11 触发条件的设置

我们使用串口工具发送数据,触发以后我们可以观测到FPGA内部rx_data接收完成后的数据如图12

 

Xilinx Vivado 硬件诊断( ila和vio的使用)_第14张图片

12 ila IP 观测到FPGA内部信号的变化

Vio的调试,点击+号,添加三个数据端口如图所示13

 

Xilinx Vivado 硬件诊断( ila和vio的使用)_第15张图片

13 vio观测端口的设置

tx_en 1时将tx_data上的数据从FPGA内部发送到串口工具上,如图14所示。

 

Xilinx Vivado 硬件诊断( ila和vio的使用)_第16张图片

14 通过vio将数据从FPGA内部发送到串口工具

 

  学会对FPGA内部信号的debugFPGA设计过程中重要的一环。Vivadodebug相对于ISE更为简单,更加易用。

视频演示:


需要得到本实验原工程的同学可以在公众号下回复uart。

  

你可能感兴趣的:(Xilinx Vivado 硬件诊断( ila和vio的使用))