首页 > 编程知识 正文

vib是什么意思,ila作用

时间:2023-05-06 20:52:17 阅读:161799 作者:4299

最近需要在ISE平台上验证GTX高速接口的数据传输,因为是在ISE平台上首次使用ILA逻辑分析仪,所以要整理使用中的问题和大致流程。

ISE平台ILA和VIO使用软件: ISE 14.7

芯片: XILINX V7 690T 1176

语言: Verilog

引言ILA和VIO的基础知识我就不多说了,简单来说,就是为了便于观察FPGA内部信号而设计的工具。 XILINX对应ILA,ALTERA对应signaltap,功能都类似,使用方法略有不同。 VIO可以作为寄存器赋予FPGA信号值,也就是说,可以不变更现有的程序而变更程序中的信号值,从而可以节约FPGA的调试时间。 同样,VIO对应于ALTERA的sourcesprobes。

1.1对ILA、VIO IP核的调用是ISE的,使用ILA和VIO需要与ICON配合使用,需要向IP库中添加这三个IP核(每个ILA或VIO需要一个ICON控制) 代码示例如下所示

icon _0icon _0_ inst (.control0(control0),/inoutbus[35:0].control1)/inout bus (35:0 ).control1 //in bus [ 15:0 ].trig2(gt0 _ rd _ data (,/inbus[1533600].trig3) gt0_rd_en ),/inbus ) 7336000。 //in bus [ 733600 ].tri G5 (gt0 _ wr _ full )、/inbus[7:0].trig6) gt0_rd_Prog_empty、/inbus。 //in bus [ 733600 ].trig8(track _ data _ I )、/inbus[7:0].trig9) gt0_rxcharisk_I ); VIOVIO_inst(.control(control1)/inoutbus[35:0].async_out ) async_out )//OUT BUS [7:0] ); 的位宽和ILA的各TRIG的位宽尽量一致。 如果不匹配,则在编译或生成bit文件时可能会发生错误。 (windows10和ISE存在不兼容的问题)

1.2上板测试程序生成比特流文件后,连接硬件进行下载测试。

下载完成后,双击图1中的红色框以打开chipscope界面。

图1 chipScope打开的位置

然后单击图2中的红色框自动检测JTAG并连接到目标设备,然后打开chipscope界面,如图3所示。

图2 chipScope进入界面

图3 chipScope接口

上图中的三个框分别表示Trigger setup、Trigger Condition和waveworm。 这次的设定如下。

图4触发设定

在图4中,您可以看到已经设置了M3的r。 也就是说,M3为上升沿时数据会触发1次。 (r是上升沿,f是下降沿,b是双边沿),设置多个条件的and、or ),也可以在M3信号即1.1节中采集信号的Trig2。

图5信号线的设置

从图5中可以看出,这里信号线是分开的,但由于ila的位宽为16,所以为了方便看到整个16位的信号,只能手动将信号线合并为一条。 按照调用ila核心时的信号顺序,合并并重命名信号线。

图6信号线合并

单击红色箭头以连接信号线,然后双击以将其重命名。

图7设置VIO

双击图7中左上角箭头的位置,打开vio小窗口,正文在黄色框中将ASYNC_OUT[0]设置为1,表示开始发送数据。

图8收集到的波形数据

单击顶部运行时,程序将在rden(m3 )的上升沿收集图8中的数据。

2.1总结ISE平台ILA和vio的使用比Vivado稍麻烦。 Vivado平台不需要ICON核心的合作,而且在波形图中,也不需要手动并行信号线。 很不可思议,为什么连信号线本来的名字都没有。 必须手动匹配名称。 信号线多的话会很浪费时间吧。

需要交流的人请评论私信~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。