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

Vivado高效设计案例分享大赛---2使用Vivado 自带的高效仿真器

Vivado高效设计案例分享大赛---2使用Vivado 自带的高效仿真器

      在FPGA的设计中,仿真环节特别是功能仿真是极其重要的,可以提前发现bug,减少很多的调试时间。一般情况下,一个完整的仿真流程包括:1. RTL设计,最简单的情况就是使用HDL编写了一段代码。2.行为仿真:仅仅验证编写的代码在理论上可以实现我们的意图。3.综合,把HDL语言/原理图转换为网表netlist,然后执行综合后仿真。4.布局布线,即把我们的代码映射为到FPGA中的寄存器等环节然后连线等。然后执行布局布线后的仿真,这个步骤类似于硬件在回路仿真HLS的意思,但是还不是完全的HLS,因为这个“硬件”是在软件中模拟的,并没有生成bit流连接到真正的硬件中,但是因为它是基于门电路的仿真,考虑了器件和走线的延时等因素,所以比较真实,当然仿真速度也比步骤2慢了不少。5.调试;必要的话也可以执行HLS。在最新的Vivado套件中,我们可以使用的官方工具为Vivado Simulator,也可以使用第三方仿真器,包括Mentor Graphics QuestaSim/ModelSim、Cadence Incisive Enterprise Simulator (IES)、Synopsys VCS/VCS MX、Aldec Active-HDL/Rivera-PRO等。因为不同的第三方软件还需要额外的license,所以这里暂时使用自带的Vivado Simulator来体验它的强大功能。在Vivado开发环境中,新建或者打开以前建立的工程,然后点击菜单栏的File,选择Add Source,然后添加仿真源文件,如图1所示。 [[wysiwyg_imageupload:992:]]图1 添加仿真源文件因为我们还没有建立测试脚本,所以接下来要新建一个,在选择好文件名、保存位置之后点击finish,此时会出现测试文件的定义窗口,和新建一个hdl文件是类似的,在此定义了前面使用的PI调节器的输入、输出端口,如图2所示。 [[wysiwyg_imageupload:993:]]图2 配置输入输出完成之后就回到了Vivado开发环境。此时我们Vivado开发环境的高效之处之一,就是能够定义多个仿真集合,例如,有的用来做前面步骤2的仿真,有的来做步骤4的仿真,还有的配置了别的信号特征等;这些很容易更改,如图3所示。目前唯一不太方便的是菜单栏上没有导航窗口,需要记在快捷键Ctrl+S进行快捷保存。 [[wysiwyg_imageupload:994:]]图3 配置仿真合集在Vivado开发环境左侧的设计流程导航窗口中,可以很方便找到与仿真相关的快速配置,如图4所示。 [[wysiwyg_imageupload:995:]]图4 仿真环境配置在编写完测试脚本之后,点击设计流程导航窗口中的Run Simulation,选择仿真的类型,例如Behavior Simulation,就可以进行仿真了。与以外不同的是,Vivado自带的仿真器充分利用了电脑CPU的能力,例如在我的电脑上显示启用了多线程仿真,CPU的8个线程它调用了6个,可谓是质的飞跃了,如图5所示。 [[wysiwyg_imageupload:996:]]图5 多核信息很快,仿真结果就显示在Vivado环境中了,如图6所示。相比原来调用ISIM仿真程序然后再运行仿真,要快了很多。 [[wysiwyg_imageupload:997:]]图6 仿真结果此外,不知道最新ISE套件中的ISIM是不是支持模拟量形式的显示了,例如把一个总线信号在仿真窗口中显示为正弦的波形;至少在Vivado仿真器中,我们惊喜地发现已经有这个功能了,在图6中选择analog就行了。然后,我们就可以更直观地看到波形了,如图7所示。 [[wysiwyg_imageupload:998:]]图7 改成analog之后的波形在仿真完关闭Vivado的时候,也人性化了不少,不比像以前ISIM一样每次都得选择文件保存一下了,只要在询问窗口中点击Ok就自动保存仿真配置文件了。关于仿真效率提高的具体数值,我们可以引用Xilinx官方数据:Vivado 仿真器采用全新的引擎,紧密集成于 Vivado IDE 中。该引擎的速度比 ISim 快 3 倍,而占用的存储器容量却仅为一半。它完全集成于 Vivado IDE,能够通过 TCL 更好地控制仿真器操作。
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表