首页 > 其他分享 > DVE调试

DVE调试

时间:2023-03-08 10:13:12浏览次数:29  
标签:仿真 文件 VCD 单击 波形 DVE 调试

1.  DVE图形界面调试

学习使用基本功能调试RTL

基本功能介绍:Waveform debugging; Source code debuggingr;Listing features

Assertions;''C / C + + " debugger

波形调试;源代码调试;列出功能;断言;“C/C++”调试器

分析设计组件:Memories , busses , gates

DVE(Discovery Visual Environment): 直观易用的图形用户界面

快速找到bug: RTL or gates;   assertions;      testbench

supports:interactive; post-simulation analysis

multiple languages: verilog;  vhdl;   systemverilog;   systemC; C/C++;NTB

DVE 面板 dve> 输入命令的地方

交互式和后仿真: 完全交互式和仿真后分析支持

分析值变化数据:数值和强度信息;增量周期信息

在源代码,示意图,路径或列表视图中注释

分析源执行:仅在交互式分析中可用;能够选择感兴趣的时间和实例;一行一行。

保存和恢复仿真状态:保存当前状态,然后重新显示

相关菜单(Context sensitive menus:CSM)

指向一个目标:Signals , instances , ports , panes and assertions;配置主工具栏;

单击鼠标右键(RMB):出现带有相关选项的菜单;指向选择;释放按钮

拖拽:点击窗格或窗口中的对象:实例、信号、断言,按住鼠标左键,将对象拖动到新位置,释放按钮.

选择:使用鼠标左键进行简单的选择,使用鼠标左键和控制键(添加或删除要选择的项目),或使用鼠标左键和Shift键(分组选择),按鼠标左键并拖动以选择一组对象。

2 调用DVE(交互模式)

从编译开始:$vcs source.v -R -gui -debug_all

-R: 编译后立即启动DVE(可选)

-gui: 使能DVE

-dubug_all启用命令行调试,包括行跟踪

使用现有的仿真可执行文件

$simv -gui

-gui从现有仿真可执行文件启动DVE,图形用户界面

3 调用DVE (后处理模式)

 Launch DVE GUI

1. # dve &

2. open Database (vcd,vpd): 单击“打开数据库”按钮打开对话框

3. post-processing mode:先产生波形文件。vcd/vpd:波形文件

Verdi:的波形文件为fsdb;modelsim 波形文件wlf。

file→open 或者ctr+o打开波形文件

4. dve -vpd<filename>&

Windows图标

DVE弹出窗口:显示当前数据对象的框架,可以包含其他窗口和窗格

Source , Schematic , Path , Wave , List , Memory

5. 打开新的顶层窗口:单击相应的窗口图标以删除目标

Window- > New- > Source:新对象将显示在新窗口中

6. 交互式仿真控制:

单击step 图标仿真下一个可执行行,也进入到tasks and functions内一行一行执行

Click next 图标单步执行任务和功能,一步执行完一个tasks或 functions

单击restart图标将仿真重置为时间零点

7. UCLI 命令:

ucli %step   ucli%next     ucli%restart

8. 查找对象/信号: 工具栏菜单 editàsearch for signals/instances

View objects: 选择对象,右键单击以激活CSM,选择窗口类型(如wave)

Wave Window(管理信号)

9. 观察信号:选择信号(signals,scopes or assertions),点击波形图标向波形窗口中添加对象,使用CSM并选择item; 双击failing assertionsummary tab或拖放对象以打开wave窗口

10. group signals:工具栏菜单:Signa->Signal Groups

信号比较工具:比较函数

选择两个signals,scopes ,designs

工具栏菜单:signal →compare,为每个比较点创建一个新信号

11. 选中信号,鼠标右键-àset radixàstate name,状态以状态名显示。

4 Bus Builder Tool

1. Creating a bus:选择信号(List / Wave),指定名称,使用上/下选择按钮排列顺序。

位反转顺序,选择bus并单击反转顺序按钮。

总线填充,使用加1 和加0

2. 搜索事件:在任一时间方向(List/Wave)进行事件搜索选择信号,

工具栏菜单:Signa/->Set Expression,指定名称

显示增量周期:在同一时间步内发生的值更改,

切换增量循环记录simulator=>,捕获增量周期值

在VCD+文件中记录增量周期数据:$vcdplusdeltacycleon

查看事件队列:右击激活CSM,选择展开时间

3. Memory 查看器 :to dump memories

在“数据”窗格中选择memory,右击激活CSM,选择Show Memory,右键单击可激活memory properties,Currently requires : $vcdplusmemon or Simulator- > Add Dump( check aggregates box )

4. 调试源,步进源(-debug_all):选择对象(signals , scopes or assertions);单击源图标,将对象添加到源窗口;使用CSM并选择show source item: ;双击作用域图标;将对象拖放到开放源代码窗口;单击step图标以仿真下一个可执行行;单击“next”图标跳过任务和功能;单击“annotate value”图标以返回注释

5. 导航层次结构:将光标放在模块实例上并单击鼠标右键;

6. 把系统函数嵌入到写的源代码testebench中,默认情况下,VCS不会保存波形文件,dump波形,把仿真过程中的波形记录下来,例如vcdpluson,编译后得不到波形文件,仿真结束之后采能得到,仿真过程出现错误的话,将波形文件加载到DVE,借助DVE进行debug;

5 DVE加载VCD波形文件

1. VCD+文件:二进制仿真历史文件,类似于VCD(Verilog Change Dump)ASCII文件

存储转换时间、网络和寄存器的值以及设计层次结构

2. 与VCD文件的不同之处在于:压缩二进制格式需要更少的磁盘空间,压缩二进制格式加载更快,支持记录源代码执行顺序,内置VCD+系统任务,用于控制VCD+文件的内容和大小,DVE仅处理VCD+文件VCD文件可以转换为VCD+文件

3. 后处理调试模式:修改verilog源代码以包含vcd+文件,系统任务调用($vcdpluson)

4. 用VCS编译Verilog源代码,通过执行VCS创建的仿真二进制文件生成VCD+文件(.vpd),在后处理模式中调用DVE,在DVE中读取VCD+文件;在波形窗口、电路图窗口和断言窗口中检查仿真结果,以定位显示在源窗口上的源代码中的错误

5. VCD+系统任务:VCD+系统任务可以插入源文件或在模拟交互提示下输入

$vcdpluson ( level_number , module _ instance ,,, | net_or_reg ):开始记录net和reg(需要-debug编译开关)

level_number:指定要记录的层次结构级别

0-记录指定模块的整个层次结构,1-记录指定模块的顶层层次结构

n-通过指定模块的n级层次结构记录

module _ instance:指定要记录的模块

net_or_reg:指定要记录的单个net或register,省略所有参数将记录整个设计的所有net和register

6. $vcdplusoff(module _ instance ,,, | net_or_reg)

停止在module _ instance或单个net或register记录

7. VCD+文件编译

#vcs files  vcdplus_switches  other_switches

files:定义的源文件(包括Verilog、C/C++、PLI)

vcdplus_switches:指示VCS编译器识别VCD+系统任务,控制VCD+文件生成

other_switches:compiler-time选项(例如-Mupdate、-R等)

8. VCD+文件编译命令示例 :vcs source.v -debug_all

9. 用于在后处理模式下DVE打开波形文件的命令示例:dve -vpd vcdplus.vpd

10. 波形文件中看数组:

initial begin
$readmemh(“./data/src.txt”,mem)
for (i=0;i<16;i=i+1)begin 
    $display(“mem[%2d]=%0h”,i,mem[i]);
end
end

或者嵌入系统函数:

vcdplusmemon()
$fsdbDumpMDA();

11. 嵌入到display的宏`__FILE__,`__LINE_可以打印并显示出display的内容是具体哪一行的

dve -vpd vcdplus.vpd &

标签:仿真,文件,VCD,单击,波形,DVE,调试
From: https://www.cnblogs.com/lanlancky/p/17191001.html

相关文章

  • RT-Thread 模拟器 simulator 搭建 LVGL 的开发调试环境
    前言RT-Thread当前的版本:4.1.0,通过简单的配置就可以支持最新的LVGL图形库版本,LVGL图形库以软件包的方式加入工程LVGL可以认为是当前开源、免费的优秀GUI的图形库,对内存的......
  • python 代码调试--pdb
    python代码调试--pdbhttps://www.jianshu.com/p/fb5f791fcb18https://learnku.com/docs/pymotw/pdb-interactive-debugger/3470......
  • 【Android逆向】反调试绕过(nop 绕过)
    1.这是看雪上的一个题目,要求显示出itissuccesshttps://www.kanxue.com/work-task_read-800648.htm第三题2.apk安装到手机,发现闪退3.apk拖入到jadx中,观察public......
  • 程序调试利器——GDB使用指南
    作者:京东科技孙晓军#1\.GDB介绍GDB是GNUDebugger的简称,其作用是可以在程序运行时,检测程序正在做些什么。GDB程序自身是使用C和C++程序编写的,但可以支持除C和C++之外......
  • vba 调试
    F9:设置程序断点,在代码左侧栏点击有相同效果。重新按F9即取消断点。F8:单步跟踪,当调用子函数会跟踪到子函数内部Shift+F8:单步跟踪,但不会进入子函数内部Ctrl+Shift+F8:跳出正在......
  • windows内核网络调试
    1windows网络调试2bcdedit/dbgsettingsnethostip:192.168.2.1port:500003Key=sfz54lfnnz7r.2qv9aiovadd5i.2gtkz3xamru32.cdwwl45caxfl456bcdedit/set{......
  • 如何让 WinDebug Preview 加载 Dotnet Core 的 SOS.dll 进行调试
    一、前言最近我在使用WinDebug进行系统调试,也是在学习《Net高级调试》这本书。以前听过WinDebug调试器,但是没有使用过,由于最近想起来了,就好好的研究一下,学习一......
  • iis 启用服务器端调试后,浏览器上不再显示错误提示信息
    今天发现一个奇葩现象,一个asp文件里的代码运行出错了,但是浏览器并不会显示错误的提示信息,显示一个空白页,并且通过查看httpheader发现返回的http状态码是 200 ......
  • MacOs 下调试 8086 汇编
    所需工具x86DOS模拟器:dosboxDOS上运行调试工具:DEBUG.EXE汇编器(链接器):DOS上运行的MASM.EXE、LINK.EXE或者直接使用MacOs自带的nasmexe下载地址:链接:https:/......
  • ThinkPHP MVC模式、URL访问控制器和调试模式
    一、什么是MVCM-Model编写model类对数据进行操作V-View编写html文件,页面呈现C-Controller编写类文件(UserAction.class.php)处理输入(写入数据库记录),确保M和V的同步......