操作系统 Window10 Vivado2018.2在FPGA调试过程中除了应用仿真工具进行仿真之外最常使用的就是ILA IP核进行信号抓取。ILA IP核是Vivado中提供的在线调试工具ILAIntegreted Logic Analyzer)中文叫逻辑分析仪通过使用ILA能够抓取程序中的实际信号完成实时在线调试。ILA IP核使用方法如下1、查找ILA IP核2、配置ILA IP参数常用的配置如上图其余默认即可其他参数了解即可。其余参数解释如下Number of Comparators比较器数量用于设置ILA内部可同时使用的硬件比较器总数当前设置为1。比较器的作用是对输入探测信号的电平、边沿进行实时条件匹配是实现触发条件判断的核心硬件资源数量越多可配置的并行触发规则就越复杂。Trigger Out Port触发输出端口勾选后会对外引出一个触发输出信号引脚当ILA内部成功捕获到符合条件的触发事件时该引脚会输出指定的脉冲/电平信号可用于同步外部示波器、其他测试仪器实现多设备的协同触发采集。Trigger In Port触发输入端口勾选后会对外引入一个外部触发输入引脚允许ILA不依赖自身内部信号触发而是接收外部输入的触发信号来启动波形采集非常适合多片FPGA之间的跨设备同步测试场景。Input Pipe Stages输入流水线级数当前设置为0用于给ILA的探测输入信号插入额外的寄存器流水线级数。设置为大于0的数值时可以改善高速时钟下信号的建立保持时间提升系统时序性能代价是会给采集到的波形引入对应周期的固定延迟。Capture Control捕获控制勾选启用后可以通过用户自定义的逻辑来控制ILA的波形捕获启停实现更灵活的采集控制策略比如仅在特定业务状态下才启动采样避免无效数据占用存储资源。Advanced Trigger高级触发当前已勾选启用启用后可以脱离基础的边沿/电平触发配置更复杂的多条件组合触发规则比如序列触发、状态机匹配触发等大幅提升对特定异常信号、偶发事件的捕获能力。3、生成IP核一般保持默认参数直接生成即可。Global全局综合选择该模式后每次你对整个工程执行综合时这个ILA IP核都会和工程里的其他逻辑一起被重新综合。优点是逻辑布局可以全局优化缺点是工程综合速度慢哪怕只是修改了其他无关逻辑ILA也会被重新综合。Out of context per IPOOCIP独立上下文综合这也是图中当前选中的模式ILA IP核会被单独提前综合生成独立的.dcp固化文件。后续工程其他逻辑修改时只要ILA本身的配置没改动就不会被重新综合能大幅节省工程综合时间同时也能保证ILA的电路布局不会被其他逻辑的修改意外影响非常适合ILA这类调试IP使用。Number of jobs并行任务数这里设置为2代表Vivado会同时启动2个并行的综合任务来生成输出产品充分利用电脑的多核CPU资源加快多个IP核的生成速度可以依据自身电脑配置进行设置。Apply是保存当前界面的所有配置选项不立即执行生成操作。Generate是按照当前配置立即开始生成所有IP输出产品是最常用的确认操作一般默认点击即可。Skip是跳过本次输出产品生成直接关闭该对话框后续需要手动触发生成操作。4、IP例化注时钟信号clk决定的是采样频率即上述确定的采样点数为4096则记录4096个clk时钟上升沿的数据。并且该时钟信号必须要是稳定的时钟信号即采用系统时钟或者系统时钟分频之后的时钟信号可以采用计数器分频或者PLL分频器分频皆可不可采用一些不稳定的中间信号比如周期性的数据输入有效信号若采用不标准不稳定的时钟信号则无法使用ILA IP核即使生成了.ltx文件下载程序后也无法弹出ILA调试窗口。5、编译烧录先用数据线连接FPGA和电脑一般点击Program device之后会自动加载在Bitstrem file中加载.bit文件和在Debug probes file中加载与.bit文件同名的.ltx文件。但在某些特殊情况下可能不会显示.ltx文件只显示.ltx文件或者显示其他与之不同名的.ltx文件此时就会烧录失败。此时可以点击图中Debug probes file一栏最右边的“…”进入以下界面在Bitstrem file和Debug probes file中确保有同名的.bit文件和.ltx文件之后就可进行烧录。6、ILA调试界面介绍工具栏中“”为添加观测信号“-”为删除相应信号蓝色箭头为运行配置栏中Window data depth为需要观测的采样点数数值可以自己定义范围为0~IP核中配置的采样点数的最大值Tirgger position in window为触发条件的触发时期也就是在触发条件栏中设置的触发条件产生的时间。其中配置栏和触发条件栏的配置不是必须的可配置也可不用配置依据自身需求即可。添加观测信号添加触发信号配置完成后点击蓝色箭头ILA分析自动运行进行一次采样长度为Window data depth的信号抓取。若想持续运行则先点击蓝色箭头左侧的带有绿色回环的箭头然后再点击蓝色箭头即可持续运行若想停止持续运行则则先点击蓝色箭头左侧的带有绿色回环的箭头然后再点击蓝色箭头即可停止持续运行。对于Vivado的ILA IP核我就介绍到这里其余更多详细的ILA IP核功能请读者自行探索或者留言我补全。文中标红字样即为一些ILA IP核极易踩的坑请读者调试时仔细确认。上述文章若有不足欢迎交流讨论。