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()函数进行显示
编译执行过程以及显示结果:











![[附源码]Python计算机毕业设计高校互联网班级管理系统Django(程序+LW)](https://img-blog.csdnimg.cn/9a4e835b35dd4808bcc579afe3d882f0.png)
![[附源码]Nodejs计算机毕业设计基于的开放式实验室预约系统Express(程序+LW)](https://img-blog.csdnimg.cn/511c7993069e462487625c6790547362.png)





