一般情况下ILA和VIO都是用在chipscope上使用,VIO可以作为在chipscope时模拟IO。


viogpudo viogpudo virtio_二维码


譬如:
在使用chipscope时需要使用按键出发,但是没有设计按键或者板子不再身边,所以需要模拟按键输入还有其他信号的输出。

参数配置,配置输入探针数量和输出探针数量。分别可以设置0-256个。



viogpudo viogpudo virtio_数据_02


probe in ports参数配置,配置数据探针位宽



viogpudo viogpudo virtio_二维码_03


probe out port:参数配置输出探针的数据位宽,及初始化数据(in hex)



viogpudo viogpudo virtio_二维码_04


在hw_vio界面加入配置的输入及输出探针,并且对应的参数可以设置.
1、模拟的按键IO,可以设置成active_high buttom.
2、对于输出参数,可以设置成text

对于里面设置的值,就是触发后信号保持的状态数据



viogpudo viogpudo virtio_二维码_05


在hw_ILA界面,将ila的信号探针数据加入Trigger setup和waveform中。只要在



viogpudo viogpudo virtio_数据_06


number of windows:指采样窗口个数。

window data depth:采样深度,要考虑能完整采样一帧数据以上,图上采样深度是128K = 131072 / 1024

trigger position in window:窗口出发位置就是指红色那根T线。设置一个参数为的是能正常等待出发。如果设置这个值为0,那么就不需要任何触发按键或者触发源来触发。所以需要设定一个值



viogpudo viogpudo virtio_viogpudo_07


viogpudo viogpudo virtio_参数配置_08


按启动运行按钮,让ila处于waiting for trigger模式,等待出发,然后再hw_vios上触发模拟复位按钮,



viogpudo viogpudo virtio_数据_09


就会出发对应的信号。



viogpudo viogpudo virtio_数据_10


代码实例化如图所示。

ILA_wrapper ILA(
.clk ( ),
.probe0 ( ),
.probe1 ( ),
.probe_out0 ( ),
.probe_out1 ( ),
.probe_in0 ( )
);