之前的文章介绍了FPGA在线调试的方法,包括选定抓取信号,防止信号被优化的方法等等。

当存在多种参数的场景时,意味着我们需要多次综合布局布线,这十分浪费时间,虽然只是修改一个数值。

而本文将介绍FPGA在线调试的一大利器,VIO(Xilinx), In-System Memory Content Editor(Altera);使用这个利器,可以节省很多的综合布局布线时间,并且对故障重现等场景有很大的帮助。

在某些场景下,需要多次在线调试测量参数取其中最佳的参数,在这种测试场景下,推荐使用VIO,In-System Memory Content Editor;

以Xilinx的VIO为主要内容介绍:

首先,在Vivado的IP Catalog里找到VIO IP,VIO全称为Virtual Input Output,IP核配置界面如下:

其中Input Probe Count是输入端口的数量,Output Probe Count是输出端口的数量。

根据自己的需要去定义。

进入PROBE_IN Ports界面设置输入端口的信号位宽,如下图:

进入PROBE_OUT Ports界面设置输出端口的信号位宽,以及输出的初始值如下图

设置完成后,将其例化进项目,与对应的输入和输出信号相连。注意,时钟要与输入输出数据对应上。

等到综合,布局布线,比特流跑完,将bit文件和ltx文件下载进FPGA,Vivado会出现一个dashboard,如下图

VIO有一个好,就是会显示出信号名称,例如输入端口的信号名是reg_rd_data,输出端口是aux_rst,都显示出来了,此外还包括位宽,Input/Output等信息。

做个简单实验,通过修改Output方向的aux_rst值,使整体FPGA复位,修改完成后如下图:

可以看到,reg_rd_data被复位到0。

然后我们再取消复位,将aux_rst设置为全0状态,如下图:

最近的VIO调试案例中,我们使用VIO去控制SPI模块向某芯片写入和读取数值,以测试芯片的部分功能;使用VIO修改DDS IP的频率控制字,使得DDS IP输出的频率做到实时更改,以此测试后续功能。

此外,除了Xilinx家的工具有这个功能,Altera家的工具也有,如下:

首先,我们需要在Quartus II中例化一个LPM_CONSTANT模块,如下图,设置好常数的位宽及初始值

选中那个复选框,然后给这个Instance ID取个名字,限制为4个字符。

同样在项目中例化这个LPM_CONSTANT,然后经过综合等一系列过程,最后将sof文件下载到FPGA,打开In-System Memory Content Editor,如下图

红框内会出现例化的Instance ID,选中后就可以修改对应的值(手边没有Altera的板子,没办法截完整图)。

由于Vivado的版本比Quartus新,VIO的功能看起来更加强大,不知道新版的Quartus是不是也与时俱进了。

最后,在线修改值的方法会占用FPGA内部的存储资料和触发器资源,请适量使用,不要浪费资源。

软件版本:

Vivado 2018.2

Quartus II 13.1

vivado生成ltx文件命令_使用VIO, In-System Memory Content Editor提升FPGA在线调试效率相关推荐

  1. vivado生成ltx文件命令_实验室自研工具Vivado Batch Mode Tool介绍!

    这里从两个方面分别进行说明,为什么要使用Vivado的Batch mode. 1.流程操作效率 我所谓的流程操作效率,是指在使用Vivado时,通过键盘输入.鼠标点击以及进行等待等实际外部操作的效率. ...

  2. vivado生成ltx文件命令_Vivado生成及使用edf文件

    前言 EDF文件可以直接导入Vivado,而无需Verilog源文件. 好处: (1)    避免沙雕队友修改源代码,则可以直接提交EDF网表文件. (2)    避免用户剽窃劳动成果. (3)    ...

  3. 生成ltx文件命令_利用二次开发工具批量生成PCDMIS程序

    精通PC-DMIS软件的大佬们都应该知道,PC-DMIS软件的CAD和CAD++版本支持导入XYZ文件生成自动点特征.根据该功能,本人曾经在空闲时做了个类似扩展工具"PC-DMIS TO P ...

  4. vivado生成ltx文件命令_vivado 下板调试 BIT文件和LTX文件的区别

    bit文件包含的内容是如何去配置FPGA里的资源来实现你的设计的逻辑,当然也包含debug core在里面 ltx文件是在hardware manager里面如果去显示debug core所连接的带观 ...

  5. vivado生成ltx文件命令_Xilinx Artix-7系列FPGA 高速采集卡开发例程使用手册.pdf

    Xilinx Artix-7系列FPGA 高速采集卡开发例程使用手册 Xilinx Artix-7 系列FPGA 高速采集卡开发例程使用手册 Revision History Draft Date R ...

  6. Vivado生成sdf文件命令

    Vivado中相关库的说明: unisims:Xilinx原始功能模型 unimacro:大型原语的宏模型 retarget:用于较旧架构的unisim / simprim重定向库 XilinxCor ...

  7. Vivado生成bit文件布局失败解决

    1.1 Vivado生成bit文件布局失败解决 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)Vivado生成bit文件布局失败解决: 5)结束语. 1.1.2 本节引 ...

  8. Vivado生成bit文件报错彻底解决

    1.1 Vivado生成bit文件报错彻底解决 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)Vivado生成bit文件报错彻底解决: 5)结束语. 1.1.2 本节引 ...

  9. Vivado生成bit文件出现error解决

    1.1 Vivado生成bit文件出现error解决 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)Vivado生成bit文件出现error解决: 5)结束语. 1.1 ...

最新文章

  1. linux里运行windows,在Linux上运行Windows应用程序
  2. Windows下配置IDEA开发环境
  3. steam怎么看邮箱绑定的账号_怎么为QQ邮箱设置英文邮箱账号
  4. 2021年互联网公司“死亡”名单!(附清单)
  5. R语言观察日志(part18)--.C和.Call
  6. Ubuntu上安装Samba服务器实现家庭共享
  7. 广义表的基本概念【数据结构】
  8. 你为什么喜欢VIM?
  9. phpcms 文本溢出(······省略号)组合处理 - 代码篇
  10. C#发布网站在web.config和IIS中设置Session过期时间
  11. FastDFS多tracker配置
  12. 水晶报表中对某一栏位值进行处理_从主流报表工具的报价看报表行业的报价水深-----常用报表工具对比---主流报表价格对比...
  13. [转]Linux 技巧:让进程在后台可靠运行的几种方法
  14. 创业 7 年最痛教训
  15. 【LeetCode】【数组】题号:628,三个数组成的乘积最大
  16. 软件工程之可行性研究报告
  17. jsapi设计_Sketch插件如何架构
  18. 【定义】三角形行列式和对角行列式
  19. Oracle问题imp-10019:由于ORACLE错误12899而拒绝行
  20. nginx修改响应头(可屏蔽后端服务器的信息:IIS,PHP等)

热门文章

  1. 9.训练自己的数据集(2):卷积神经网络之花卉分类
  2. 自己整理_银行核心系统相关技术知识
  3. 沙场秋点兵——MySQL容器化性能测试对比
  4. 2013年:各大IT公司待遇「转自网络」
  5. 火力全开2不显示服务器,火力全开2 城市狂热一直进不去怎么办
  6. Google官方MVP+Dagger2架构 dagger2详解
  7. 购买虚拟服务器费用是办公费吗,T+费用单能做报销之类的么?是不是要自己添加例如办公费,差旅费什么的。老板想要在APP上查看库存,销售情况是不是要购买订阅报销,订阅报销怎么收费?...
  8. ElasticSearch编程--基本的创建与查询操作
  9. java之简介ASCII码表
  10. 教程篇(6.4) 12. IPsec ❀ 企业防火墙 ❀ Fortinet 网络安全架构师 NSE7