Vivado上电触发ILA的操作方法-Xilinx-AMD论坛-FPGA CPLD-ChipDebug

Vivado上电触发ILA的操作方法

上电触发特征可以通过在bit文件中配置ila核以达到设备刚上电就会触发ila核的效果。

具体的操作流程如下:

  1. 将要工程按照正常的vivado流程走一遍,直至实现bit文件。
  2. 连接FPGA,将上一步生成的 bit文件烧写进去。
  3. 在ila显示界面设置好触发条件,并输入如下命令将设置保存
    run_hw_ila -file ila_trig.tas -force [get_hw_ilas hw_ila_X](X表示这是第几个ila核)

  4. 在vivado中点击Open Implemented Design以打开实现之后的工程,并输入如下命令:apply_hw_ila_trigger ila_trig.tas(注意和上一条命令的一致性)。如果应用成功会在界面显示“ Successfully matched and applied ….”的字样;如果在界面显示“ERROR并提示ila被flatten”,则表明应用错误,这时需要重新综合工程并且保证ila不被flatten,之后再按照以上流程重新执行。

  5. 使用write_bitstream -force trig_at_startup.bit命令生成新的bit文件。注意不要点击vivado界面中的Generate Bitstream的按钮来生成新的bit文件,否则该工程将会重新的综合和实现。

  6. 将bit文件转化mcs文件烧写到flash中,将FPGA重新上下电,在ila核中就会看到刚上电时的波形信息了;或者直接烧写新生成的bit文件,在烧写完毕之后就会立即触发。

调试记录:

  1. 当ila核比较多时,需要将第一个命令中的X更换并且file后面的名字也必须更改,同时在第二条命令时需要将多个文件应用到工程当中。 例如,当有四个ila核时:第一条命令必须在每个对应核中运行:
run_hw_ila -file ila_trig1.tas -force [get_hw_ilas hw_ila_1]

run_hw_ila -file ila_trig2.tas -force [get_hw_ilas hw_ila_2]

run_hw_ila -file ila_trig3.tas -force [get_hw_ilas hw_ila_3]

run_hw_ila -file ila_trig4.tas -force [get_hw_ilas hw_ila_4]

在实现之后的工程中以此执行如下命令:

                apply_hw_ila_trigger ila_trig1.tas

                apply_hw_ila_trigger ila_trig2.tas

                apply_hw_ila_trigger ila_trig3.tas

                apply_hw_ila_trigger ila_trig4.tas
  1. 在第一步中触发条件可以不设置,这样默认的触发的结果就是各个信号刚上电的状态;当设置了条件时,会从上电开始第一次条件满足时触发条件。

  2. capture mode设置为always会在上电之后触发,如果该模式为basic,会在上电之后延迟一段时间(实验时延时了6个时钟周期)

  3. 在实际调试时,将程序下载在flash中,然后执行断电上电操作,在显示的界面中没有波形,触发状态一直在“full”,这时需要点击停止触发按钮(红色的),之后会出现波形,并且这个波形就是上电之后满足触发条件的波形,这个波形和点击停止触发按钮的时间没有关系。

请登录后发表评论

    没有回复内容