Synopsys实验系列3数字电路仿真VCS.ppt
Synopsys 实验系列3_ 数字电路仿真_VCS,Verilog Compile Simulator,2010.12.16,www.themegallery.com,大纲,www.themegallery.com,VCS (Verilog Compile Simulator),1、编译型的Verilog模拟器 2、支持OVI标准的Verilog HDL语言、PLI和SDF 3、具有目前行业中最高的模拟性能 4、出色的内存管理能力 5、支持千万门级的ASIC设计,www.themegallery.com,VCS (Verilog Compile Simulator),提供VeraLite、CycleC等智能验证方法 a)支持混合语言仿真 b)集成了Virsim图形用户界面 c)提供了对模拟结果的交互和后处理分析,VCS结合了节拍式算法和事件驱动算法 a)具有高性能、大规模和高精度的特点 b)适用于从行为级、门级、RTL到Sign-Off等各个阶段的模拟仿真,VCS 特点,www.themegallery.com,Synopsys Complete SoC Verification Solution,www.themegallery.com,RTL级模拟仿真流程,www.themegallery.com,门级模拟仿真流程,www.themegallery.com,VCS,Compiler generates optimized executable simulation Simulator 1)Executes user testbench 2)Reports simulation results Debugger 1)Text-based: Command Line Interface (CLI) 2) GUI-based: VirSim and DVE,www.themegallery.com,VCS中的帮助文档,www.themegallery.com,VCS中的帮助文档,www.themegallery.com,VCS仿真流程,Compile Verilog source into an executable simulation % vcs design.v Run executable simv to perform simulation % ./simv Debug Verilog design,www.themegallery.com,VCS仿真流程,sources_files 源程序 -R : executes simulation binary immediately after compilation -Xman=4 : combines all source files into a single file “tokens.v”,www.themegallery.com,VCS仿真流程,www.themegallery.com,VCS仿真流程,% ./simv run_time_options run_time_options -s: stops simulation at time 0,www.themegallery.com,VCS仿真流程,www.themegallery.com,VCS仿真流程,编译所有的Verilog源文件,包括测试文件,www.themegallery.com,VCS仿真流程,VCS生成仿真使用的二进制的测试文件,启动仿真文件开始仿真测试,www.themegallery.com,VCS仿真流程,仿真结果的输出,www.themegallery.com,VCS Debugging,Verilog System Task calls $display、$monitor、$time、$stop、$finish VCS CLI(command line interface) VCS VirSim VCS DVE,www.themegallery.com,Invoke CLI,www.themegallery.com,Invoke CLI,www.themegallery.com,CLI的一些命令,www.themegallery.com,CLI下的简单示例,www.themegallery.com,CLI下的简单示例,www.themegallery.com,CLI下的简单示例,www.themegallery.com,Debug a Verilog design using VirSim,VirSim概况: 是基于 OSF/Motif 的图形化仿真调试系统 利用 Virsim与 VCS交互式的工作方式可以在模拟的过程中显示仿真结果 结果可以存到一种叫做 VCD+的文件中 支持三种基本的调试方式:波形、结构和代码 支持标准 Verilog 的所有函数、语法、系统调用和编程语言接口,www.themegallery.com,VirSim两种运行方式,Interactive mode (交互模式) 允许实时的控制仿真的进行,允许在模拟的过程中改变寄存器的值或者设置,这些改变会实时地影响到模拟的结果。,www.themegallery.com,VirSim两种运行方式,Post-processing mode(后台处理方式) 先输出用户指定选择的信号及其变化过程到一个文件中,然后可以用 VirSim来分析这个文件。该文件是 VCD+类型的,VCD+文件是一种二进制的格式,里面记录了 VCS模拟的结果,和信号的变化历史等信息。,www.themegallery.com,交互式调用Virsim(方法一),www.themegallery.com,交互式调用Virsim(法二),www.themegallery.com,VirSim的调用,www.themegallery.com,Debug a Verilog design using VirSim,www.themegallery.com,Virsim界面和功能介绍,www.themegallery.com,交互式窗口界面,菜单栏,工具栏,历史栏,命令行输入,用户自定义区,交互仿真控制区,www.themegallery.com,断点的分类,硬断点:是调用了 verilog 的系统函数$stop 的这类断点 软断点:是在交互环境中用 tbreak 命令产生的断点 信号变化断点:是在模拟过程中定义了敏感信号,当这个信号一旦有变化,就会中断模拟过程,www.themegallery.com,www.themegallery.com,层次窗口界面,菜单栏,工具栏,层次结构,www.themegallery.com,层次窗口界面,层次结构,可以表示出来的有:模块、任务、函数、有名块、信号、寄存器、线网、输入输出等。 拖动到其他的窗口,www.themegallery.com,波形窗口界面,菜单栏,工具栏,文件标识区,波形显示区,www.themegallery.com,源程序窗口界面,www.themegallery.com,源程序窗口界面,www.themegallery.com,源程序窗口界面,单步运行 设置断点,www.themegallery.com,寄存器窗口界面,Menu bar,Tool bar,Value change icons,www.themegallery.com,寄存器窗口界面,按下红色按钮,就会模拟到任一信号有变化为止,高亮显示。 作辅助图形,和信号一起做标签,保存,可便于检查信号。,www.themegallery.com,逻辑窗口界面,www.themegallery.com,逻辑窗口界面,模块结构比较复杂的时候,方便检查是否有连接错误 信号变化软中断功能:暂停状态下,点击绿色按钮,所选信号就会模拟到下一个变化时刻,并且暂停下来;点击红色按钮,运行到当前视图任一个信号有变就停。,www.themegallery.com,Virsim有三种基本的调试方式: 波形、结构和代码,多种方式协同调试时能更容易找到错误。,www.themegallery.com,Post-processing(后台处理模式),先用批处理方式产生需要的信号到 VCD+的文件中 再分析这个 VCD+文件,www.themegallery.com,Post-processing(后台处理模式),批处理方式编译并且运行 myfile.v % vcs -R -I myfile.v -R 指用批处理方式, -I指明了 vcs自动包含+cli(command line interface)、-P(PLI table)和-lm(数学库 math library)。 批处理完,就可以用RPP 参数来调用调试器 % vcs RPP myfile.v 在菜单中选择加载已经产生了的 VCD+文件 (默认的产生的 VCD+文件名为 vcdplus.vpd),www.themegallery.com,如何产生VCD+文件,通过在源代码中加入相应系统函数来产生,如$vcdpluson(),或者$vcdplustraceon()。 例: initial begin $vcdpluson(example.n1); /产生 VCD+文件 $vcdplustraceon; /允许源代码级的调试 end,www.themegallery.com,Invoking DVE,From the Command Line %vcs debug_all source files %./simv -gui tbug From the GUI %dve,www.themegallery.com,From the Command Line,www.themegallery.com,From GUI,www.themegallery.com,New project,www.themegallery.com,Open project,www.themegallery.com,DVE Components,Top Level Window Wave Window List Window Schematic Window,www.themegallery.com,Top Level Window,www.themegallery.com,Edit Menu,文本操作,标记,www.themegallery.com,View Menu,schematic views,C1指针,Wave window,www.themegallery.com,Simulator Menu,Run,www.themegallery.com,Hierarchy Browser,www.themegallery.com,Data Pane,www.themegallery.com,Source Pane,有效断点,无效断点,www.themegallery.com,Console,www.themegallery.com,The Waveform Window,Signal Pane,Waveform Pane,Lower timescale,www.themegallery.com,The List Window,www.themegallery.com,Opening a Design Schematic View,www.themegallery.com,Invoke breakpoints,www.themegallery.com,DVE同样有三种基本的调试方式: 波形、结构和代码,多种方式协同调试时能更容易找到错误。 DVE的可视化界面做得比VirSim更好,更加方便调试,www.themegallery.com,演示,1)4位加法器 2) cpu,Thank You !,