前言
此系列博客长期记录FPGA开发的学习过程,主要以vivado的使用为主,板卡是黑金的7020。
一、ILA IP核
ILA IP核是干啥的这里简单说说。ila 是一个方便我们调试的工具ip核,ila会消耗板子的资源,因此在前期学习过程中,工程消耗资源量不大的时候我们是可以用来方便调试的,到后期的大工程,可能板子就没有足够资源供我们仿真了。
即便如此,ila 也是vivado最常用的ip核之一。
二、使用细节
第一步,找到 ip 核。
第二步,各选项属性配置
需要配置的属性主要是
1.探针数量(Number of probes)
这一项大多数初学者可能会认为,我要探测40个信号,我就要填40个,事实上,这里只需要填1个,后续我们会说怎么用1个探针测40个信号。
2.采样深度(sample data depth)
采样深度可选的区间很大,但是请不要填太大,一来编译时间会显著增加,二来会急剧增加板子资源的消耗。不建议填太大,一般1024足矣。这里的1024指的是1024个周期,具体是多少时间取决你的时钟域。
3.探针位宽(probe Width)
这里如果你选了40个探针,就需要填40次位宽,显然这是不合理的。那么书接上文,怎么样用一个探针测40个信号呢?
答案是用位拼接。
在确定要监测的信号的总位宽后,填到探针位宽上即可,下面的例子,这四个信号总位宽为11,那么可以在探针位宽处写11。
填写完点击ok,生成。
生成了就可以在我们的文件中例化了,例化模板vivado已经提供了,我们直接复制粘贴到文件中即可。
//举个例子↓
ila_0 u1_ila_0(
.clk(sys_clk),
.probe0(
{
led0,
led1,
led2,
cnt
}
)
总结
以上是在学习ila的过程中的心得,第一次写博客,以此为起点,希望能坚持写下去。学fpga不简单,大家一起坚持!