VCS课时1:仿真事件队列

1. 仿真事件队列

VCS仿真工具怎么处理交给他的代码,VCS支持Verilog、SV、VHDL、C语言

PPT1

CPU的环境的基于指令的,硬件电路和软件的不同,并发执行。怎么通过软件模拟硬件的并发性

  • IEEE1364: Verilog语言的仿真基于分层的事件队列
  • 执行事件的队列
  • 仿真时间的计算
  • Verilog仿真器先从没有延迟的事件开始,执行他们,然后把时间设成0,然后按照时间循序一次执行各个事件
  • Verilog语言规范没有规定当多个事件被安排在同一个时刻来 调度时,应该执行那个
  • 只要在同一层的事件,什么执行循序都是可以的
  • 设计师必须理解Verilog的分层次仿真事件队列

PPT2

  • 首先执行没有延迟的语句(Iniital 语句)
  • active区域:primitive input...特别的 是非阻塞赋值右边的计算
  • inactive区域:
  • Nonblocking区域
  • monitor是赋值后的新值,display是旧值

PPT3

VCS对仿真文件进行编译

编译后,得到了simv的二进制可执行文件

define CASE1VCS执行得到的结果为,时钟跳变沿:a = 0, z = 1, zin = 1

modelsim的编译后执行,得到的结果为: a = 0, z = 0, zin = 0

对于仿真这一段代码来说,没有正确之分

2. 课程介绍

PPT1

vcs在企业级的数字逻辑仿真里面用的十分的多

Prerequisites

You should have experience in the following areas:

  • Understanding of digital IC design
  • Familiarity with a Linux or Unix OS
  • Familiarity with a Linux-based text editor (VI)

PPT2

Measurable Objectives
■ By the end of this workshop you should be able to:

  • Simulate Verilog/SystemVerilog designs using VCS
  • Debug VeriIpg/SystemVerilog designs using VCS
  • Run fast RTL-Level regression tests for your design
  • Run fasti Gate-Level regression tests for your design(回归测试: 在新版本上运行所有已通过的测试用例以验证有没有“退化”情况发生,这个过程就是一个“Regression Test”。 )
  • Acquire the skills and knowledge to successfully implement coverage driven verification methodology using VCS

代码覆盖率, 功能覆盖率

PPT3

Agenda

3. VCS介绍

PPT1

? A compiled simulator

  • Verilog Compiled Simulator
  • Digital functional simulator
  • Complies with IEEE-1364
  • Including PLI 1.0/VPI (PLI2.0) (Programming Language Interface)
  • Supports simulation at multiple abstraction level(门级, RTL级)

PPT2

编译后的文件称为目标文件(object files)

4. 编译时的开关

PPT1 基本的编译

VCS Compilation Command Format
$ vcs source_files[compile_time_options]

  • source_files
  1. All Verilog/SystemVerilog source files of the DUT
  2. Separated multiple source files by spaces
  3. Top module should contain testbench for the DUT(顶层文件包括DUT, Design Unit Test)
  • compile time options
  1. Control how VCS compiles the source files (如何去编译)
  2. Critical for optimization for visibility and performace (可视化,编译的性能)
  3. Each unit of this workshop will describe how best to use these compile time options ()
  • Generates simulation binary executable simv (binary executable file)

PPT2 编译选项1

增量编译, 编译后执行,打开GUI,将编译过程记录到文件,支持SV,支持verilog 2001的扩展

PPT3 编译选项2

编译使用了库文件,编译的文件在文件夹,编译用到了宏

PPT4 增量编译

cpu.o并没有重新编译

5. 仿真时的开关

PPT1 基本的仿真

PPT2 仿真的开关选项

6. 例子说明

PPT1 实例

PPT2 使用了DW的库

7. 上机演示

  1. 编译

  1. 打开仿真

  1. 查看编译产生的内容

编译的结果包括了Makefile,用来增量编译的维护

  1. 增量编译 Mupdate

增量编译没有任何改变,也就没有提示

  1. 编译的日志记录

有错可能是在那一行附近

  1. 编译之后立即仿真

  1. 更改编译的文件的名称 -O

  2. 定义宏的方式
    • 在文件头中添加`define INC_COUNTER (control + p vi自动补齐)
    • touch global_define.vh 生成一个文件,保存宏定义, include “global_define.vh”,增加文件查找,如下图
    • 通过开关定义宏

原文地址:https://www.cnblogs.com/ICworkman/p/12063725.html

时间: 2024-11-13 02:09:20

VCS课时1:仿真事件队列的相关文章

VCS课时4: 使用VCD文件进行后处理

课程目标 原来是互动的过程,这一节课主要讲的是仿真平台完成任务,用DVE打开打开波形文件 查看波形文件 查看log文件 最早的是VCD文件,在这基础上推出的VCD+文件,文件比较大,读取慢 在仿真代码中,嵌入dump 波形 产生VCD文件 DVE在仿真后步骤 1 DVE后处理模式 PPT1 仿真的速度(depend on data dump commands 各种开关) (设计验证的初期,需要我们把波形保持下来,这个时候bug比较多,但是到后面设计收敛,跑的比较久,这个时候就不需要dump波形)

VCS filelist 文件格式

VCS在运行仿真一般都会加仿真参数 –f filelist,filelist 是包含其他的仿真参数和整个工程的文件列表.具体格式如下: //file list format, just for example +v2k -sverilog +define+USE_ASYNC_FIFO +incdir+../rtl/ +incdir+../sv/ +incdir+../tb/ //RTL file list ../rtl/count.v ../rtl/add.v //SV testbench fi

verilog 实现fifo(转载)

对基于单体存储器的FIFO,作为一种数据缓冲器,其数据存放结构和RAM是一致的,只是存取方式有所不同.因RAM中的各存储单元可被随机读写,故FIFO的队首位置及队列长度均可浮动.为此,需要用两个地址寄存器,分别存储读地址(即队首元素地址)和写地址(即队尾元素地址加1).在读写过程中FIFO所存储的信息并不移动,而是通过改变读地址或写地址来指示队首队尾.      本32X8 FIFO的设计,采用了双体存储器的交替读写机制,使得在对其中一个存储器写操作的同时可以对另一个存储器进行读操作;对其中一个

同步FIFO design and IP level verification

一.前言 应聘IC前端相关岗位时,FIFO是最常考也是最基本的题目.FIFO经常用于数据缓存.位宽转换.异步时钟域处理.随着芯片规模的快速增长,灵活的system verilog成为设计/验证人员的基本功.本文从简易版的同步FIFO开始,熟悉IP设计与验证的基础技能. 二.IP设计 FIFO这一IP核已经相当成熟,因此网上资料也是一抓一大把.其中笔者认为较好的一个在文末附录中,需要详细了解FIFO工作原理的朋友可以仔细看看.这里简单介绍下本文设计FIFO的原理与结构.FIFO的内部存储单元是常见

VCS仿真生成fsdb文件

VCS仿真生成fsdb文件(Verilog) 一.环境 Linux 平台 VCS 64bit Verdi3 二.开始仿真 1. 联合仿真环境配置 a.在testbench中加入如下语句: 1 initial begin 2 $fsdbDumpfile("tb.fsdb"); 3 $fsdbDumpvars; 4 end b.注意verdi接口库的路径(脚本中体现) 2.仿真脚本 1 #!/bin/csh -f 2 3 setenv NOVAS_HOME /user/EDA_Tools/

VCS仿真生成VPD文件

VCS仿真生成VPD文件 一.环境与文件 Linux平台 VCS 64bit 代码文件请参考<一个简单的Verilog计数器模型> 二.开始仿真 1.compiler vcs -full64 -f file.f -debug_pp +vcd+vcdpluson 参数解释 file.f 是你的设计文件索引 +vcd+vcdpluson产生Synopsys的波形文件之一vpd格式的波形文件 2.simulate ./simv 生成 名为vcdpluson.vpd的文件 可以使用使用dve查看波形

VCS仿真流程

去中兴面试的时候被问到vcs 的使用方式,现在整理一下. 1. three-step flow 第一步:analysis——vlogan.vhdlan 在analysis phase中VCS会检查文件的语法错误,并将文件生成elaboration phase需要的中间文件,将这些中间文件保存在默认的library中(也可以用-work指定要保存的library). 1. analyzing VHDL files % vhdlan [vhdlan_options] file1.vhd file2.

VCS仿真命令

1,建立文件vcs_run_cmd,里面的内容如下: vcs +v2k -v2005 -debug_access+all -lca -sverilog -f filelist -l vcs_comp.log #below for command line run mode simv -ucli -do wave.do+fsdbfile+pos_det.fsdb #below for gui run mode ./simv -gui #below for open verdi verdi -f f

数字IC设计入门必备——VIM自定义模板调用与VCS基本仿真操作示例

原文地址:https://www.cnblogs.com/moluoqishi/p/10913990.html