首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Vivado高效设计案例分享大赛---6轻松调用ILA与关联信号

Vivado高效设计案例分享大赛---6轻松调用ILA与关联信号

在以前使用ISE的时候,为了实时查看PL中的逻辑,我们有ChipScope这样的在线工具,其使用有一定的难度,在ISE、iMPACT和ChipScope之间来回切换也十分繁琐;有需要浏览基于ChipScope的开发流程的网友请参考:http://xilinx.eetrend.com/blog/1187http://xilinx.eetrend.com/blog/1188http://xilinx.eetrend.com/blog/1189http://xilinx.eetrend.com/blog/1190在Vivado开发环境中,对在线调试做了改进,我们不再需要调用额外的ChipScope软件,而是可以直接在Vivado中使用内建的在线逻辑分析工具了。当然,使用的思想与ChipScope还是一致的,只是在Vivado集成开发环境中,使用效率得到了提示。下面我们就一步一步看看Vivado中如何进行硬件在线调试。首先是调用一个ILA的IP核,ILA即集成的逻辑分析仪,如图1所示。因为使用了Vivado高效的IP Integrator集成系统,所以我们也可以很方便的在使用PS的环境下调用ILA核,使得我们可以直接对PS相关的硬件管脚等进行硬件在线调试。这个以后再讲,这里先以调试PL中的逻辑为例进行说明。[[wysiwyg_imageupload:1038:]]图1 新建ILA此时弹出ILA内核的配置界面,如图2所示。在这里主要配置我们要采集的信号的位宽等信息,一个探针Probe用来采样一个信号,其位宽可以是从1到1024.[[wysiwyg_imageupload:1039:]]图2 配置ILA       配置完成之后,点击Generate,便生成了ILA内核相关的文件,包括例化模版、约束文件、仿真文件等,分别如图3、图4所示。[[wysiwyg_imageupload:1040:]]图3 生成输出文件[[wysiwyg_imageupload:1041:]]图4 工程管理器中的ILA相关文件       此时打开后缀名为.voe的文件,就是ILA IP内核的例化模版,如图5所示。[[wysiwyg_imageupload:1042:]]图5 ILA IP内核的例化模版       接下来显著区别与ChipScope的一步是,可以直接定义ILA内核的时钟和待观测信号了。在基于ChipScope的开发中,需要我们在完成综合、布局布线、实现之后打开iMPACT烧写FPGA,然后再打开ChipScope中对信号进行关联,步骤繁琐不说,很多网友不能继续下去的问题往往就在于信号的关联那一步,虽然是图形化的,可是找不到实现后的信号那也没办法啊。在Vivado集成开发环境中,我们直接把ILA在我们的程序里面例化就行了;例如我们供给ILA的时钟信号为f_1MHz,待观测信号为pwm1,则直接使用下面的程序就行了。[[wysiwyg_imageupload:1043:]]图6 例化       然后对设计进行编译和综合,此时我们会发现综合后的网表里面已经关联了ILA,如图7所示。[[wysiwyg_imageupload:1044:]]图7 综合后的网表图       然后把我们需要测试的信号标志为调试状态,这样Vivado的在线逻辑分析仪就知道哪个信号是需要自动添加、观测的了,如图8所示。[[wysiwyg_imageupload:1045:]]图8 标志待测信号为debug状态       此时,在网表状态里,我们看到需要观测的网表pwm1前面多了个虫子(bug)的图标,即标明它已经是debug状态了,如图9所示。[[wysiwyg_imageupload:1046:]]图9 网表的调试状态       配置完成之后,进行布局布线、综合等任务,完成之后就可以打开调试视图了,如图10所示。[[wysiwyg_imageupload:1047:]]图10 打开调试视图待调试网表的详细信息如图11所示。[[wysiwyg_imageupload:1048:]]图11 调试视图此时我们观察约束文件,可以看到Vivado已经自动对ILA的时钟和待测信号进行了配置,如图12所示。[[wysiwyg_imageupload:1049:]]图12 与硬件调试内核有关的约束       然后打开硬件管理器,完成烧写工作后,(过程可以参考http://xilinx.eetrend.com/blog/6067)就可以进行在线调试了。
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表