资源描述
Synopsys实验系列3_数字电路仿真_VCS,VerilogCompileSimulator,2010.12.16,大纲,VCS(VerilogCompileSimulator),1、编译型的Verilog模拟器2、支持OVI标准的VerilogHDL语言、PLI和SDF3、具有目前行业中最高的模拟性能4、出色的内存管理能力5、支持千万门级的ASIC设计,VCS(VerilogCompileSimulator),提供VeraLite、CycleC等智能验证方法a)支持混合语言仿真b)集成了Virsim图形用户界面c)提供了对模拟结果的交互和后处理分析,VCS结合了节拍式算法和事件驱动算法a)具有高性能、大规模和高精度的特点b)适用于从行为级、门级、RTL到Sign-Off等各个阶段的模拟仿真,VCS特点,SynopsysCompleteSoCVerificationSolution,RTL级模拟仿真流程,门级模拟仿真流程,VCS,CompilergeneratesoptimizedexecutablesimulationSimulator1)Executesusertestbench2)ReportssimulationresultsDebugger1)Text-based:CommandLineInterface(CLI)2)GUI-based:VirSimandDVE,VCS中的帮助文档,VCS中的帮助文档,VCS仿真流程,CompileVerilogsourceintoanexecutablesimulation%vcsdesign.vRunexecutablesimvtoperformsimulation%./simvDebugVerilogdesign,VCS仿真流程,sources_files源程序-R:executessimulationbinaryimmediatelyaftercompilation-Xman=4:combinesallsourcefilesintoasinglefile“tokens.v”,VCS仿真流程,VCS仿真流程,%./simvrun_time_optionsrun_time_options-s:stopssimulationattime0,VCS仿真流程,VCS仿真流程,编译所有的Verilog源文件,包括测试文件,VCS仿真流程,VCS生成仿真使用的二进制的测试文件,启动仿真文件开始仿真测试,VCS仿真流程,仿真结果的输出,VCSDebugging,VerilogSystemTaskcalls$display、$monitor、$time、$stop、$finishVCSCLI(commandlineinterface)VCSVirSimVCSDVE,InvokeCLI,InvokeCLI,CLI的一些命令,CLI下的简单示例,CLI下的简单示例,CLI下的简单示例,DebugaVerilogdesignusingVirSim,VirSim概况:是基于OSF/Motif的图形化仿真调试系统利用Virsim与VCS交互式的工作方式可以在模拟的过程中显示仿真结果结果可以存到一种叫做VCD+的文件中支持三种基本的调试方式:波形、结构和代码支持标准Verilog的所有函数、语法、系统调用和编程语言接口,VirSim两种运行方式,Interactivemode(交互模式)允许实时的控制仿真的进行,允许在模拟的过程中改变寄存器的值或者设置,这些改变会实时地影响到模拟的结果。,VirSim两种运行方式,Post-processingmode(后台处理方式)先输出用户指定选择的信号及其变化过程到一个文件中,然后可以用VirSim来分析这个文件。该文件是VCD+类型的,VCD+文件是一种二进制的格式,里面记录了VCS模拟的结果,和信号的变化历史等信息。,交互式调用Virsim(方法一),交互式调用Virsim(法二),VirSim的调用,DebugaVerilogdesignusingVirSim,Virsim界面和功能介绍,交互式窗口界面,菜单栏,工具栏,历史栏,命令行输入,用户自定义区,交互仿真控制区,断点的分类,硬断点:是调用了verilog的系统函数$stop的这类断点软断点:是在交互环境中用tbreak命令产生的断点信号变化断点:是在模拟过程中定义了敏感信号,当这个信号一旦有变化,就会中断模拟过程,层次窗口界面,菜单栏,工具栏,层次结构,层次窗口界面,层次结构,可以表示出来的有:模块、任务、函数、有名块、信号、寄存器、线网、输入输出等。拖动到其他的窗口,波形窗口界面,菜单栏,工具栏,文件标识区,波形显示区,源程序窗口界面,源程序窗口界面,源程序窗口界面,单步运行设置断点,寄存器窗口界面,Menubar,Toolbar,Valuechangeicons,寄存器窗口界面,按下红色按钮,就会模拟到任一信号有变化为止,高亮显示。作辅助图形,和信号一起做标签,保存,可便于检查信号。,逻辑窗口界面,逻辑窗口界面,模块结构比较复杂的时候,方便检查是否有连接错误信号变化软中断功能:暂停状态下,点击绿色按钮,所选信号就会模拟到下一个变化时刻,并且暂停下来;点击红色按钮,运行到当前视图任一个信号有变就停。,Virsim有三种基本的调试方式:波形、结构和代码,多种方式协同调试时能更容易找到错误。,Post-processing(后台处理模式),先用批处理方式产生需要的信号到VCD+的文件中再分析这个VCD+文件,Post-processing(后台处理模式),批处理方式编译并且运行myfile.v%vcs-R-Imyfile.v-R指用批处理方式,-I指明了vcs自动包含+cli(commandlineinterface)、-P(PLItable)和-lm(数学库mathlibrary)。批处理完,就可以用RPP参数来调用调试器%vcsRPPmyfile.v在菜单中选择加载已经产生了的VCD+文件(默认的产生的VCD+文件名为vcdplus.vpd),如何产生VCD+文件,通过在源代码中加入相应系统函数来产生,如$vcdpluson(),或者$vcdplustraceon()。例:initialbegin$vcdpluson(example.n1);/产生VCD+文件$vcdplustraceon;/允许源代码级的调试end,InvokingDVE,FromtheCommandLine%vcsdebug_allsourcefiles%./simv-guitbugFromtheGUI%dve,FromtheCommandLine,FromGUI,Newproject,Openproject,DVEComponents,TopLevelWindowWaveWindowListWindowSchematicWindow,TopLevelWindow,EditMenu,文本操作,标记,ViewMenu,schematicviews,C1指针,Wavewindow,SimulatorMenu,Run,HierarchyBrowser,DataPane,SourcePane,有效断点,无效断点,Console,TheWaveformWindow,SignalPane,WaveformPane,Lowertimescale,TheListWindow,OpeningaDesignSchematicView,Invokebreakpoints,DVE同样有三种基本的调试方式:波形、结构和代码,多种方式协同调试时能更容易找到错误。DVE的可视化界面做得比VirSim更好,更加方便调试,演示,1)4位加法器2)cpu,ThankYou!,
展开阅读全文