VIO和ILA ip核的使用

VIO和ILA ip核的使用

学习FPGA已经半个学期过去了,从茫然无措到找各种博客寻求答案、到看官方文档自己摸索,这一路或多或少有一点进步,利用这个寒假,我会分享过去学习到的一些零散知识,希望在总结知识之余,可以给新的学习者一些借鉴和参考。

最初学习verilog编程是比较容易上手的,因为它和C语言的语言风格非常类似,且自己尚有一些数字电路的基础,但是由于没有阅读英文文档的习惯,依然给自己造成了不小的困扰。所以我第一篇先讲述两个最简单的IP核,作为后面调试板子的基础工具,学会使用它们以及在此过程中学会自己查找官方文档是非常重要的。以下开发环境为VIVADO。

第一个要讲的IP核就是VIO。英文名为Virtual Input/Output,即虚拟的输入输出。给出xilinx的文档网址:https://china.xilinx.com/support/documentation/ip_documentation/vio/v3_0/pg159-vio.pdf



可以看到vio可以作为输入输出两种功能来使用,可以实时监测和驱动fpga内部信号。简而言之,VIO可以通过配置得到一个0~256组探针,每一组位宽范围为1到256的虚拟信号,每一位都是可配置的。它的功能主要是在没有实体器件的环境下作为一种模拟的输入输出,验证自己代码的正确性。

第二个ip核是ILA,这在我们调试板子的时候是很常见而且非常实用的。尽管在行为仿真中我们不需要加入ILA就可以对输入输出、parameter、wire和reg类型的数据进行观测,但是在程序烧进板子的时候我们是无法看到这些信号的变化的,所以通过ILA抓取自己想要观测的信号,就可以观测它们,在烧进比特流文件后观测信号以判断代码是否是正确的。下面给出官方文档的地址和一些截图:https://china.xilinx.com/support/documentation/ip_documentation/ila/v6_2/pg172-ila.pdf
在这里插入图片描述

一个工程中可以多次例化ILA,一个ILA可以观测多个信号(可以设置位宽)。例化的时候找到IP Source下instantiation Template对应的verilog或者VHDL的代码,然后修改括号内对应的信号添加进自己的设计中即可使用ip核了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值