文章目录

  • 我的调试习惯
  • 在ISE中的用法
  • 在Vivado中的用法
    • 使用ChipScope观测核
    • 使用ILA观测核
  • Waveform颜色设置
  • virtual bus
  • user-define probe
  • 结语

我的调试习惯

在各个子模块中预留调试端口,在顶层文件中,例化各个模块后,通过多路选择将某一路信号送给ILA观测,过程大致如下所示,

entity A isport(debug_A : out std_logic_vector(255 downto 0));
end A;
entity TOP isport(......);
end TOP;signal ila_sel_vio : std_logic_vector(1 downto 0);
signal ila_bdg_bus : std_logic_vector(255 downto 0);
signal debug_A : std_logic_vector(255 downto 0);
signal debug_B : std_logic_vector(255 downto 0);
signal debug_C : std_logic_vector(255 downto 0);
signal debug_D : std_logic_vector(255 downto 0);.......process(clk)
beginif rising_edge(clk) thencase ila_sel_vio iswhen "00"    =>  ila_bdg_bus <= debug_A;when "01"    =>  ila_bdg_bus <= debug_B;when "10"    =>  ila_bdg_bus <= debug_C;when "11"    =>  ila_bdg_bus <= debug_D;when others =>  ila_bdg_bus <= debug_A;end case;end if;
end process;

在ISE中的用法

在ISE环境下,在HDL中例化ICON、VIO、ILA等IP核,打开ChipScope中手动管理信号名,保存成CPJ,这样在调试过程中可以打开不同的CPJ,观测不同的信号。

在Vivado中的用法

使用ChipScope观测核

在Vivado的工程中,直接使用ICON、VIO、ILA等观测核时,只对FPGA进行调试是可以的在联合SDK进行调试时会有问题。出问题时,ChipScope会卡住,SDK的运行、暂停按钮也变灰。我做过如下尝试

  • 先在ChipScope中下bit,关闭ChipScope;在SDK中使用System Debuger方式跑软件;重新打开ChipScope,使用open plun-in的方式扫描FPGA,此时,不连续观测ChipScope还好,一旦ChipScope设为重复触发,就挂了(在SDK中使用gdb方式调试也是一样的情况)
  • 在SDK中直接Program FPGA,会出现target连接不上的情况

使用ILA观测核

直接使用Vivado自带的ILA IP,联合SDK调试时一切OK。考虑到在调试时我是使用多选器对多路观测信号进行切换的,我在ILA的dashboard中,对不少信号进行了管理,包括:设置virtual bus,设置进制,设置颜色等。一般情况下,我在重新打开hardware manage时,之前保存的设置是能够再次使用的,但我遇到过,再次打开hardware manage时,所有之前的设置全部消失的情况。
观察了一下vivado工程中xx.hw文件夹下的文件,每个ILA对应的文件夹下有xx.wcfg和xx.wdb两个文件,这个xx.wcfg就是与设置相关的文件。我曾在修改设置并保存之后,将此wcfg文件备份后删除,再次打开hardware manage,就是最原初的状态了,不做任何更改退出,将之前备份的wcfg文件拷入文件夹下,再次打开hardware manage,则显示的是我之前的设置。


Waveform颜色设置



virtual bus

使用virtual bus观测信号比较方便,但导出数据的时候,virtual bus的数据并不能导出,添加相应的user-define probe的话,则可以导出数据。

user-define probe

出来在界面里手动设置外,也可以使用TCL创建

结语

在Vivado中,最好直接使用ILA核,不再使用ChipScope相关的IP观测核。调试习惯是可以改的,使用非官方推荐的方式多多少少会出现些问题,还很难找到解决方案。

Vivado调试相关相关推荐

  1. nRF52832调试相关记录

    nRF52832调试相关记录 | DD'NotesnRF52832调试相关记录背景以前业余用nRF52832做了个物联网小项目(蓝牙微微网),做了些相关的调试记录 nRF52832寄存器类型 Task ...

  2. FPGA Vivado 调试提示ILA时钟有问题

    Vivado 调试报错,显示 ERROR: [Labtools 27-3412] Mismatch between the design programmed into the device 'xc7 ...

  3. ila数据导入matlab,Vivado调试小结:ILA debug中的数据也许并不可信

    FPGA的调试是个很蛋疼的事,即便Vivado已经比ISE好用了很多,但调试起来依旧蛋疼.即便是同一个程序,FPGA每次重新综合.实现后结果都多多少少会有所不同.而且加入到ila中的数据会占用RAM资 ...

  4. Android调试相关的技术常识

    adb(Android Debug Bridge)是Android 提供的一个通用的调试工具,借助这个工具,可以管理设备模拟器的状态 .还可以进行以下的操作: 1.快速更新设备或手机模拟器中的代码,如 ...

  5. WinDbg 本地调试和远程调试相关内容

    文 1 实现WinDbg本地调试 文 2,3实现WinDbg远程调试App ============================================================== ...

  6. 内核调试相关变量说明

    KdInitSystem 函数让内核调试引擎初始化 KiDebugRoutine 当系统分发异常时会调用KiDebugRoutine变量所指向的函数 KiDebugRoutine写入函数地址KdpSt ...

  7. C/C++指针错误与调试相关学习总结

    使用VS2010调试技巧让C指针无处遁形 http://blog.csdn.net/21aspnet/article/details/6723758 Linux 下调试远没有windows下的VS方便 ...

  8. windbg调试相关命令

    windbg 查找函数:x exe!main* 条件断点打印字符:bp 7199a2b0 ".printf \"message:%ma\", poi(@esp+8);.e ...

  9. ffmpeg调试相关知识点

    1.若要调试FFMPEG,在编译时应当在configure时,加上 --enable-debug --disable-asm 注:在调试x264时就应该加上这两个配置选项,方能调试 2.make in ...

最新文章

  1. 经验分享:如何在自己的创业中,用上GPT-3等AI大模型
  2. feign框架设计与实现
  3. linux重定向文件过大,Linux大文件重定向和管道的效率对比总结
  4. 易混淆的c++知识点
  5. [转]脏读,不可重复读,幻读的理解
  6. 将权限组件应用到新项目
  7. 意外收获字节跳动内部资料,已开源
  8. wltc循环多少公里_原来所有车都烧机油!但是烧多少才算正常你知道吗?
  9. 推荐--jQuery使用手册
  10. kettle etl 入门第一篇
  11. 【转载】oracle normal、sys、system、sysdba、sysoperdba的区别
  12. 转:JavaScript函数式编程(一)
  13. 支持向量机SVM和最小二乘支持向量机LSSVM
  14. ibeacon UWB GPS 空间四点定位算法
  15. 用php求圆柱圆锥的面积,认识圆锥体a href=http://ruiwen.com/friend/list.php(教师中心专稿)/a...
  16. 2021华数杯数学建模选题建议
  17. 云虚拟主机☀️利用FileZilla,使用FTP协议给阿里云虚拟主机上传、下载文件
  18. 数字图像处理篇(7)角点检测
  19. android system.err 是什么意思,android – java.lang.IllegalStateException是什么意思?
  20. 电脑死机,虚拟机里面的系统开不了

热门文章

  1. 吃鸡ios和android灵敏度,和平精英灵敏度怎么调最稳2020二指攻略:安卓苹果灵敏度调节方法大全[多图]...
  2. 新书推荐 |《机器学习:算法视角(原书第2版)》
  3. 面向对象程序设计c++版董正言张聪课本课后习题答案第二章
  4. 中文与unicode转换
  5. selenium网络爬虫去哪儿机票利用performance获取日志截获加载的xhr,ajax,js等数据
  6. 历年百度搜索风云榜小说年度冠军,2019年元尊、圣墟、剑来大PK
  7. springboot 项目起步讲解及自动装配原理
  8. 为什么罗永浩这种人都能做出来锤子手机?
  9. 5.5 图层样式的复制和粘贴 [原创Ps教程]
  10. python3多线程和多进程_Python3 多线程、多进程