文章目录

  • 引言
  • 1、基础理论讲义
    • Compile and Invoke UCLI Debugger
  • 2、实际基本操作dve的技巧-图形界面参考资料
    • 2.1 查看波形与调试波形
    • 2.2 基本入门

引言

本文在上一讲逐渐熟悉了VCS的开关选项后,下面继续介绍VCS的使用,我始终关注于熟悉工具的使用,在本系列中,对Verilog的语法不作深入研究,这样可以加快前进的步伐。也为了加快从FPGA中转变到IC领域来。在本文中将介绍VCS 调试基础。

1、基础理论讲义

—Afer completing this unit ,you should be able to:

  1. Describe three methods of debugging Verilog code using VCS
  2. Invoke UCLI debugger
  3. Debug Verilog designs using UCLI

–VCS Debugging Suport
4. Trance and locate causes of errors
5. Three general debugging methods:

  1. Verilog SystemVerilog System Task calls
    VCS UCLI
    VCS DVE(GUI)

  2. Four factors to consider:
    simulation speed
    signal visibility
    sgnal tractability
    usability


Verilog System Task For Debugging 利用verilog的系统函数

  1. Debug visibility:
  • $ display prints formatted message to console
  • $ strobe Like$dispaly except printing is delayed until all events in the current time step have executed
  • $ monitor Monitor signals listed and prints formatted message whenever one of the listed signals changes
  • $ time returns current simulation time as a 64bits integer
  1. Stopping simulations:
    $stop halts simulation lie a breakpoint
    $finish halts simulation and terminated the simulation session

  2. Simulation stimulus and reference:

  • readmemhReadsASCIIdatafromadiskfile,eachdigitishexadecimal−readmemh Reads ASCII data from a disk file,each digit is hexadecimal -readmemhReadsASCIIdatafromadiskfile,eachdigitishexadecimal− readmemb
    Reads ASCII dataform a disk file ,Each digit is binary

Debugging via UCLI(no-recom)不推荐使用UCLI方式来查看波形

  • Simulation speed
    Speed depends on the scale of visibility you specify
  • Signal Vsisibiility
  • Signal Traceability
    -Usability

Compile and Invoke UCLI Debugger

-Compile and invoke UCLI in one step(一步走,编译并且调用UCLI)

$ vcs source.v -debug|debug_all -R -ucli
-ucli invokes UCLI and stop simulation time at time 0

-Compile and invoke UCLI in two step(分两步走,先编译,后执行可执行文件)
vcs source.v -debug|debug_all|debug_pp(debug_pp只打开部分调试开关,加快编译速度)
invoke UCLI and stop simulation time at time 0
$simv -ucli


UCLI Debugger Command Line Option

-debug
enables command line debugging option. This flag does not enable line stepping.

-debug_all
enables command line debugging option including line stepping

-ucli
forces runtime to go into UCI mode by default

-gui
compile time option invokes the DVE gui when issured at run time

-l log_filename
captures simulation output ,such as user input UCLI commands and responses to UCLI commands.

-i input_filename
reads interactive UCLI commands from a file the switches readding from standard command line input

-k key_filename
writes interactive commands entered to input_filename,which can be used by a latter simv as -i input_filename
由于UCLI的陈旧,这里不再强调。

退出UCLI
quit 即可


Problems in simulation?
if you suspect simlation is having problems

Determine whether or not time is advancing:
halt simulation by hiting ctrl+c 通过ctrl+c来退出仿真

check simulation time

continue simulation by typing in run at UCLI prompt
halt simulation again after a shor period of time

if simulation time has not changed,simulation may be caught in infinite loop or waiting for a phantom triger

-Determine potential location of problem:
Re-compile with -debug_all compile-time option
halt simulation
use UCLI command show to dispaly variables
trace code execution with UCLI command next

官方的文档位置:

DVE(Discovery Visual Environment)
An intuitive and easy to use GUI
Quiickly fine bugs
RTL or Gates
Assertions
Testbench
Supports
Interactive
Post-simulaton analisis
Multiple languages
verilog
VHDL
SV
C++、C
NTB


波性文件vpd
verdi里面的波性文件为fsdb


比较两个信号

2、实际基本操作dve的技巧-图形界面参考资料

2.1 查看波形与调试波形

参考资料 DVE使用手册
以后在实验中逐步训练加强。

程序,我们仍然使用在卷一中讲解的程序。并且用DVE打开。界面如下:


主要分为:菜单、左边的模块、coding、下面的脚本、以及终端输出反馈。
DVE界面也有很多操作,涉及到了很多原理,我们不用一一来学,先上手搞懂基本操作再说,基本操作就是会看波形,把仿真跑起来。


首先是添加波形,我这里不好截图,选中波形后,右键即可,
add to waves->new wave

如图已经打开了波形,现在先运行起来再说。
有个向下箭头,这个就是运行。或者点击快捷键F5,然后波形就出来了,此时肯定不太好看,希望看到一个full。使用按下F即可,或界面按钮。
旁边是放大缩小。

此时我明白你肯定希望像在modelsim中一样,按住ctrl键滚动齿轮,对局部进行拉大。

在DVE中,使用鼠标左键不放拖动,就可以在指定的区域进行放大了。而且非常有趣的是,分为横向拖动和纵向拖动,纵向拖动是看full,还有斜着拖动,斜着拖动是看缩小,横向拖动是放大。

另外,在DVE中按住ctrl键,滚动齿轮,是波形向前向后。

然后可以右键可以add marker

2.2 基本入门

使用dve -v
或者在DVE的命令行输入gui_get_version
或者在help->about帮助菜单选项
可以查看到DVE的版本,DVE和VCS的版本要一致才行


在simulator中的选择setup,然后执行文件选择simv文件即可


该按钮可以用来重启波形

IC-工具篇--VCS使用教程-卷二(202004013)相关推荐

  1. 数据加密与安全专题《mbedtls工具篇,实用教程1@mbedtls简介和安装教程》

     引言 物联网的关键在与可通过网络进行远程数据传输与控制,例如手机APP控制家里的摄像头.微波炉等,安全问题尤为重要,对传输数据进行加密传输成为保障网络安全的必然手段之一,在物联网领域,比较成熟且应用 ...

  2. 仿真工具-VCS入门教程

    VCS入门教程(一):VCS介绍与基本使用 VCS入门教程(二):VCS进行debug的三种方式 VCS入门教程(三):VCS查看verilog代码覆盖率 VCS入门教程(四):VCS门级网表仿真 I ...

  3. 【工具篇】最好用在线免费caj转PDF教程 caj2pdf在线

    众所周知,翟天临那句"知网是个什么东西"是反问句! 前言 由于caj格式只能使用cajviewer以及全球学术快报等专用软件进行查看,很多情况下做笔记(咳咳)需要复制粘贴操作但是容 ...

  4. 群辉服务器更新系统教程,男人的生产力工具 篇二百四十六:新手玩转群晖NAS:一步一步教你更新群晖DSM系统...

    男人的生产力工具 篇二百四十六:新手玩转群晖NAS:一步一步教你更新群晖DSM系统 2020-08-05 10:46:03 18点赞 175收藏 59评论 新手与新知男人的生产力工具 篇二百三十九:新 ...

  5. iOS Hook相关教程 工具篇

    iOS hook相关教程 工具篇 osx 工具集 class-dump 建议安装 class-dump,顾名思义,就是用来dump目标对象的class信息的工具.该工具利用Objective-C语言的 ...

  6. Revit二次开发入门教程一(工具篇)

    对BIM开发感兴趣的读者可以关注我的BIM开发系列教程 什么是BIM开发?这篇文章可以告诉你 Revit二次开发教程提纲 Revit二次开发编程入门一(工具篇) 前言 BIM诞生的背景 Revit在B ...

  7. 【Unity 实用工具篇】✨| Tutorial Master 2 游戏引导教程 快速上手

    前言 [Unity 实用工具篇]✨ | Tutorial Master 2 游戏引导教程 快速上手 一.Tutorial Master 2 介绍 1.1 基本概念 1.2 相关链接 1.3 效果展示 ...

  8. 【后端教程】深入浅出动态化 SSR 服务(一):开发工具篇

    简述 在前端还未系统化之时的刀耕火种时代,已经有非常多的生成页面的工具,其可视化的方式极大的赋能了非技术人员,加快了业务的迭代速度.如今,随着前端技术的发展和复杂化,我们看到越来越多以组件为基础的页面 ...

  9. PEInfo编程思路讲解01 - 工具篇01|解密系列

    PEInfo编程思路讲解01 - 工具篇01 让编程改变世界 Change the world by program   软件安全是信息安全领域的重要内容,本系列视频教程将涉及到软件相关的加密.解密. ...

最新文章

  1. python【数据结构与算法】深入浅出哈希表
  2. css 横线_CSS-画一个太极阴阳图
  3. ASP——Request.Form()方法获取POST提交方式的表单中文乱码解决方案
  4. 游戏AI——行为树理论及实现
  5. PyODPS DataFrame 的代码在哪里跑
  6. 20110126 学习记录:一些关于html中布局的代码 CSS hack速查表
  7. JAMstack简介:现代Web的体系结构
  8. python 图像格式转换_如何用六行Python构建图像类型转换器
  9. Hadoop无法上传文件查找原因
  10. 83、冗余网关配置实验之VRRP
  11. 尚硅谷RabbitMQ学习笔记(上)
  12. 【书影观后感 八】《周期》万事皆周期
  13. AirDrop是什么?
  14. jks证书转为pem证书,TrustedCertEntry not supported的解决办法
  15. 下载各省疫情历史数据
  16. 最值得珍藏的420个生活小窍门
  17. 机器人自动化《RPA国内外平台深度对比》
  18. 64位百度云 catia v6_CATIA V6R2015百度云
  19. 脑皮质算法篇(1)-- 导读
  20. 护壁桩嵌入深度_桥梁钻孔灌注桩嵌岩深度规范具体要求深度是多少?

热门文章

  1. [USACO 08JAN]Haybale Guessing
  2. react.js 引用 NavBar 报错svg-spite-loader
  3. 生活中的实验 —— 磁铁的使用
  4. ajax使用异步问题
  5. SecutrCRTt 连接VirtualBox 中的Ubuntu -端口转发
  6. 亿能 性能测试课程 2013年度 公开课 深圳站
  7. WebMisDeveloper4.2.0面世
  8. gedit乱码 fedora
  9. Normal-Inverse Gamma Mixture简介
  10. 网络时间服务和chrony