*FPGA* vivado 2017.4 ILA使用例程

1.打开vivado,新建项目(选择对应的芯片型号)

2.添加源文件,编写RTL代码


   
   
   
   
  1. `timescale 1ns / 1ps
  2. //////////////////////////////////////////////////////////////////////////////////
  3. // Company:
  4. // Engineer:
  5. //
  6. // Create Date: 2019/03/29 14:03:40
  7. // Design Name:
  8. // Module Name: counter
  9. // Project Name:
  10. // Target Devices:
  11. // Tool Versions:
  12. // Description:
  13. //
  14. // Dependencies:
  15. //
  16. // Revision:
  17. // Revision 0.01 - File Created
  18. // Additional Comments:
  19. //
  20. //////////////////////////////////////////////////////////////////////////////////
  21. module counter(
  22. input clk,
  23. output [3:0]led
  24. );
  25. wire clk;
  26. (* keep = "TURE" *)reg [ 3: 0] cnt = 4'd0;
  27. assign led = cnt;
  28. always@(posedge clk)
  29. begin
  30. cnt <= cnt + 4'd1;
  31. end
  32. endmodule

3.加入ILA核

   在vivado工程中打开IP Catalog选项,找到ILA核

配置ila核,主要配置4个地方:1.组件的名字,2. 需要抓取的信号的个数,3. 抓取的信号的深度,4.所抓取的信号的宽度,此例子的cnt是4bit。OK!

4.IP核配置完成,默认选择,Generate

5.在RTL源代码中添加例化ILA核,ILA核的clk信号需要连接到需要观察信号的相应时钟域,在一个RTL设计中是可以添加多个ILA核的,用于观察不同时钟域的信号。


   
   
   
   
  1. `timescale 1ns / 1 ps
  2. module counter (
  3. input clk,
  4. output [3:0]q
  5. );
  6. wire clk;
  7. (* keep = "TURE" *)reg [ 3: 0] cnt = 4'd0; //在RTL中的信号前加上(*keep = "TRUE"*)即表示抓取该信号
  8. assign q = cnt;
  9. always@(posedge clk)
  10. begin
  11. cnt <= cnt + 4'd1;
  12. end
  13. ila_1 u_ila(
  14. .clk(clk),
  15. .probe0(cnt)
  16. );
  17. endmodule

6.添加xdc约束文件,绑定引脚


   
   
   
   
  1. set_property PACKAGE_PIN U18 [get_ports clk]
  2. set_property IOSTANDARD LVCMOS33 [get_ports clk]
  3. set_property IOSTANDARD LVCMOS33 [get_ports {led[ 3]}]
  4. set_property IOSTANDARD LVCMOS33 [get_ports {led[ 2]}]
  5. set_property IOSTANDARD LVCMOS33 [get_ports {led[ 1]}]
  6. set_property IOSTANDARD LVCMOS33 [get_ports {led[ 0]}]
  7. set_property PACKAGE_PIN J16 [get_ports {led[ 3]}]
  8. set_property PACKAGE_PIN K16 [get_ports {led[ 2]}]
  9. set_property PACKAGE_PIN M15 [get_ports {led[ 1]}]
  10. set_property PACKAGE_PIN M14 [get_ports {led[ 0]}]

7.综合

8.生成bit文件,生成后选择Open Hadrware Manager

9.连接硬件

10.下载调试

11.下载成功后会自动弹出ILA波形界面,选择RUN触发,通过放大缩小可以清晰看到波形时序。

12.完美结束!

 

转载源:https://blog.csdn.net/qq_26786109/article/details/88893268

你可能感兴趣的:(FPGA)