DVE使用教程-1

1入门

本章描述了怎样开始使用DVE

它涵盖以下内容:

• 基本要求

• 启用调试

• 调用DVE

• 在命令行运行仿真

• 在GUI界面运行仿真

• 保存会话或布局图

• 载入已保存的会话

• 关闭数据库

• 调用DVE

基本要求

您必须使用相同版本的VCS和DVE,以确保任意仿真中任意问题都能调试。

查询该DVE版本的三种方法:

• 在命令行选项中键入dve –v

• 在DVE的命令行输入gui_get_version指令。

• 使用Help>About帮助菜单选项。

启用调试

本节介绍如何调用调试选项来进行仿真。 注: 如果你在一个不能写入数据的文件夹中运行DVE,DVE将不能够记录日志文件。这种情况下DVE将警告您不能够写入DVE文件。

编译时间选项

-debug

调用UCLI,并为DVE的基本调试建立必要的文件

-debug_all

调用UCLI和DVE,并为进一步的DVE调试建立必要的文档。它加入了单步调试、内存释放、和基于断言的调试。

-debug_pp

创建一个VPD文件(当与VCS系统任务$vcdpluson一起使用的时候)并且用-

debug_pp命令来对design进行后台处理(post-processing),这样能够节省编译的时间因为它间接的消除了-debug-debug_all的编译的预处理程序。这样它能够最低限度的进行调试以便进行VPD和基于断言的调试。这个效果在DVE的后台处理模式下是显而易见的。

必要文件

DVE启动它的调试功能需要如下的输入文件:

• VPD文件 - VPD文件是平台独立的,在仿真中你可以在这个根目录下抽取选定的信号。DVE在这些文件里可以得到层次化的、改变值的、和一些断言的信息。基本的调试只用一个VPD文件就能在后台(post-processing)进行。然而,VPD文件不能保证设计的所有层次都包涵在内,因为用户可以有选择地选择将设计的一些子模块存放在VPD文件中。 VPD文件是平台独立的。 VPD文件是有版本要求的。如果您使用相同版本的VCS和DVE来读写VPD文件时是没有问题的。然而 ,如果你使用DVE从一个比它版本老的VCS中读取VPD文件时,它就不能保证所有的DVE的功能都能使用或执行正确。注:为了保障DVE调试的功能性,用一个编译时间选项(-debug,-debug_pp

,和-debug_all).不推荐使用VCD文件并且也不允许调试。

• MDB库文件。DVE用MDB库来保证信息的连通性。DVE需要MDB信息为了原理图和所有的驱动和负载有关的调试。MDB库文件将被存放在运行模拟的文件夹内。MDB文件是依附于平台的(因此为了应用DVE必须和MDB库在同一平台上运行)。更严格地说,为了确保操作的正确性,VPD文件和MDB库应该都由相同的仿真产生。

• OVA库。DVE用这个库是为了进行更高级的断言调试。当VCS的编译选项都用的正确并且一个设计中包含了OVA/SVA/PSL的断言方法时才能生成这个库。这个库也是依附于平台的。

• 覆盖率数据库(coverage databases).在DVE中你需要指定3种类型的coverage databases当中的一种来显示覆盖信息。如果其他类型的覆盖也存在,DVE也会将他们打开。

你可以选择下面2种类型的数据库中的任意一种:

- 一个代码覆盖率的文件夹(被VCS或VCS MX在Verilog顶层设计中默认为simv.cm或者时被VCS MX在VHDL顶层设计中默认为scsim.cm)。

- 一个Open Vera 或SystemVerilog断言库文件夹(被VCS默认为

simv.vdb

调用DVE

这节描述了怎样调用DVE。

dve –help

显示DVE基本的指令

dve –help all

显示所有的DVE指令

dve –v|-V

显示版本信息

64位技术支持平台

-full64

当你已经指定平台的时候,在运行时间输入就能够启动64位的DVE功能。为了达到64位的支持,输入下面指令:

dve –full64

可以输入下面指令中的一个来指定平台:

- linux RH3.0 64-bit:

Sentenv VCS_TARGET_ARCH amd64

- SuSE9 64-bit:

Sentenv VCS_TARGET_ARCH suse64

- Solaris 64-bit;

Setenv VCS_TARGET_ARCH sparc64

后台处理程序

dve

不带参数,打开并且清空了一切DVE的顶层窗口。在这里DVE能够在后台或交互式的模式下进行使用。

dve –vpd filename

打开DVE并且读入在命令行给出的VPD文件,并为设计打开一个顶层视图。

dve –vpd filename –session filename

打开DVE并且读入在命令行给出的VPD文件,它们打开一个以前保存过的TCL文件的会话。

交互式界面

dve –nogui

启动了UCLI模式进行调试。DVE的GUI界面是不显示的。

sim –ucli

运行VCS/VCS MX来帮助UCLI调试,DVE GUI不能被显示出来。

simv –gui

在simv仿真的0时刻打开DVE。

vcs –gui –R

与上面相同但是是在编译时调用。

dve –toolexe name –toolargs simulator args

运行一个与模拟器相连的DVE,这个模拟器的名叫name并且运行DVE的时候具有在模拟器中指定的

args属性.

simv –gui –tbug

调用集成平台进行调试。

脚本命令(Scripts):

dve –cmd "cmd"

启动DVE并且执行括在双引号中的TCL指令。当需要执行多条指令的时候是允许用分隔号的。

dve -script name

启动DVE并且读入由name所指定的TCL脚本文件。

dvesession name

启动DVE并且读入一个会话文件(session)。如果-session-script选项一起使用的话,先执行会话命令后执行脚本命令。

DVE的日志文件

调用DVE的时候会在文件夹里生成下面2个日志文件(log files)。这些日志在有问题的情况下反馈给Synopsys公司是非常有用的。

dve_gui.log –包含所有通过控制台日志的输入和输出。

dve_history.log –包含了发生在调试会话周期中的所有指令。这个文件对记录脚本再运行是非常有帮助的。

在命令行运行仿真

DVE与VCS, SystemVerilog, 和NTB (OV 和 SV)

运行DVE,你必须在编译时调用它。你可以用-debug,-debug_all或者-debug_pp属性来调用DVE,或者将DVE设置成默认的命令行界面。

一起运行DVE和VCS,需要输入带有DVE使能的VCS命令行选项。

vcs (-debug | -debug_all | -debug_pp) [-sverilog] [-ntb] [VCS_options] design.v [testbench_files]

simv -gui [runtime_options]

VCS MX和VHDL

纯粹的VHDL

运行一个带有DVE的VHDL仿真,需要输入一个带有DVE使能选项的VCS MX指令:

vhdlan design.vhd

scs cfg_tb (-debug | -debug_all)

scsim -gui [runtime_options]

一个拥有Verilog为顶层文件的混合仿真

运行一个Verilog为顶层文件的Verilog/VHDL的混合仿真时,输入下面带有DVE使能选项的指令(options enabling DVE):

vcs -mhdl (-debug | -debug_all) [options] design.v

simv -gui [runtime_options]

一个拥有VHDL为顶层文件的混合仿真

运行一个VHDL为顶层文件的Verilog/VHDL混合仿真,输入下面带有DVE使能选项的命令:

vlogan Verilog_files [options]

vhdlan vhdl_filename -vlib Verilog

scs cfg_tb (-debug | -debug_all) -verilogcomp "options"

scsim -gui -verilogrun "-q" [options]

检查点还原的方法

当保存和还原一个仿真的时候,用相同的技术或流程来还原你曾经保存的检查点(checkpoint),例如:

• 应用UCLI指令保存和还原

• 在DVE中保存和还原

• 应用SCL指令保存和还原

• 应用CLI指令保存和还原

千万不要将保存和还原的指令相互之间弄混,例如:

• 用UCLI指令保存却用SCL指令还原

• 在DVE中保存却用CULI指令还原

• 保存用UCLI指令却用DVE还原

• 用CLI指令保存却用UCLI指令还原

并且如果你正在提交一个用VHPI或PLI与VCS MX通信的外部申请,并且已经有文件为了这个申请被打开了,在你还原后你必须在你下次保存或者打开之前将这些文件关掉。

C,C++,和System C代码

以下步骤主要概括了用UCLI去调试VCS或是VCS MX上的那些含有C,C++,和SystemC的源代码的仿真。

像通常那样编译包含C,C++,和System C模块的VCS或VCS MX,确保所有的你要调试的C文件都被编译到。

例如,一个有Verilog在C或C++模块顶层的设计:

gcc -g [options] -c my_pli_code.c

vcs +vc -debug_all -P my_pli_code.tab my_pli_code.o

或者一个有Verilog在SystemC模块顶层的设计:

syscan -cflags -g

syscan -cpp g++ -cflags "-g" my_module.cpp:my_module

vcs -cpp g++ -sysc -debug_all top.v

注意你必须用-debug或-debug_all来调用调试功能。

在DVE中打开仿真

Simv –gui

3、选择Simulator > C/C++ Debugger来启动C调试器。

在GUI界面运行仿真

你可以在GUI界面打开DVE并且运行仿真。

后台处理程序(Post-processing)

对于后台处理程序来会说你可载入并且显示任何数目的VPD文件。在DVE中打开一个数据库文件:

做下面两个操作中的任意一个:

- 在

Menu按钮下,选择File>Open Database.

- 在工具栏点击

DVE使用教程-1

图标。

打开数据库文件的对话框就出现了

DVE使用教程-1

2、在打开数据对话框里,翻阅到并且选择你要载入的VPD文件。

3、为你的设计输入或选择一个名字。

4、输入时间范围来载入。默认的是从仿真开始到结束。

5、点击Open

DVE就载入了所选的VPD文件。

创建并且运行一个交互式的会话

另外为了后台处理载入的VPD文件,你也可以应用一个编译过的Verilog,VHDL,或是二者的混合设计,来实时的创建并且交互式的运行一个仿真。

在命令行打开DVE

%dve

选择Simulator>Setup,然后从模拟器的创建对话框选择开始仿真。

DVE使用教程-1

翻到一个模拟器的可执行界面(simulator excutable).

输入模拟器的属性。

设置这个VPD文件的名字或选择一个已存在的文件,该文件将会在交互式的会话中被写入。

点击OK创建仿真。

运行仿真

这节描述了应用DVE来运行并且控制仿真。

涵盖了下面的几方面内容:

-工具栏的应用

-仿真其菜单命令的应用

-命令行选项的应用

工具栏的应用

当开始一个仿真的时候,DVE激活了工具命令行来运行和控制仿真。在模拟器中点击下面这些图标来控制仿真。

模拟器(Simulator)菜单命令的应用

在开始仿真后,可以用菜单命令来运行和控制仿真程序。选择下面的命令来控制仿真:

命令行的应用

用DVE顶层窗口底部的命令行进入DVE,并且统一命令行界面(UCLI)运行并且控制仿真的执行。图1-2展示了在哪输入指令并且有结果显示在命令行上面的日志文件(Log tab)里。

DVE使用教程-1

查看DVE的指令可以输入:

help –gui

应用UCLI时为了得到完整的信息,注意统一的命令语言的用户向导。例如一个快速视图查看的UCLI指令和它的应用,在DVE命令行快速的输入:

help –ucli [argument]

当输入没有指定属性的时候,UCLI的指令列表和一个简短的描述就被显示出来了。输入一个命令名作为属性的时候,描述和指令的规则就被显示出来了。

UCLI指令和详细的描述被显示出来。

保存会话或布局图

用保存会话对话框来存储(preserve)会话数据显示图和VPD路径选项。

1、选择 Select File>Save Session

DVE使用教程-1

2、在保存会话对话框中为该会话输入一个文件名

3、在选项上进行选择来指定会话的类型后保存:

- 所有的会话数据包括布局图、波形列表、数据库和仿真状态。

- 窗口布局图保存了窗口协议(arrangement)、外观(views)、和窗格为了今后的复用。这个选项不会保存任何的数据内容。

- 所有组里面的全部信号保存了所有信号组的信号列表。

- 对于观看一个波形或列表来说,只有为了观看的信号列表保存了信号信号列表。在打开任何必要的模拟器或VPD文件后,这个信号列表能够用当前的信号列表重新载入一个窗口。

4、为VPD选择一个路径选项:

- 对于多个打开的VPD文件来说默认是保存绝对路径。

- 对于一个打开的VPD文件来说保存的是相对路径(相对指向于会话文件存储的文件夹)

- 不要保存打开的VPD文件。如果混合设计被打开了,该选项就被屏蔽掉了。

5、选择保存内容:

- 仅保存窗口布局图

- 所有组中的全部信号

- 观看一个波形或列表,仅保存用来观看的信号列表

6、点击保存。

保存一个布局图会话

保存一个窗口布局图,并且保持窗口的位置,窗口的大小,和一些其他的所出现的设置而不保存窗口的内容,进行下面的操作即可:

1、选择File > Save Layout Session

2、在保存会话对话框为该布局图会话输入一个文件名。

3、点击保存(Save)。

载入已保存的会话(session)

载入一个保存过的会话:

1、载入一个VPD文件。

2、选择File>Load Session.

3、在载入会话对话框,导入该会话并且在保存过的会话TCL文件列表中将其选中。

4、点击载入(Load

关闭数据库

关闭当前打开的数据库:

做下面2步中的任意1步

- 选择File>Close Database

- 在工具栏点击关闭数据库图标

DVE使用教程-1

出现了关闭数据库对话框。见图1-3.

DVE使用教程-1

确保选对数据库,然后点击OK

退出DVE

选择File>Exit,退出DVE。


分享到:


相關文章: