VCS3 debug的基础

  • Post author:
  • Post category:其他


1、基础知识

使用命令行进行debug。

使用VCS进行debug的三种方式:专门做debug的工具目前最好的是Verdi

1、系统函数的调用

2、通过命令行的方式

3、使用DVE(GUI)

debug需要注意的因素:

1、仿真速度(开关选项(command_time\run_time)打开越多,越消耗资源,仿真速度越慢)

2、信号可视性,便于观察分析

3、信号可追踪性,便于后期对错误的定位等等

4、可用性

调用系统函数进行debug:

使用示例:

-ucli :表示使用命令行进行仿真,但是建议使用DVE,因为有GUI便于观察,舒服。

-debug \ -debug_all \ -debug_pp :debug只打开部分的开关选项,debug_all打开全部使用到的开关选项,debug_pp是在不影响性能的情况下打开必要的开关项,仿真速度应该是最快的,效果也比较不错。



代码中的$stop相当于一个断点。

怎样退出零延时的死循环:ctrl+c

或者实在不行只能杀死进程:kill+进程号

并且建议在变量中使用$display来打印信息,这样可以观察到哪里进入了死循环。如下




在interactive模式下,编译和运行:

在post-process模式下,编译和运行:

注意:

当命令行前出现了$符号时,表明此时处于普通用户模式;出现#号,说明处在管理员模式

DVE中相关图标含义操作:



verilog中调用C语言:

C语言程序

verilog中调用:

调用task是,编译器默认task中的变量是动态的,无法显示,可以通过$display()函数进行显示

编译执行过程以及显示结果:



版权声明:本文为qq_37203178原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。