Modelsim仿真之VCD文件详解

目录

一、前言

二、VCD文件格式

2.1 头部

2.2 变量定义    ​

2.3 值打印

2.4 值变化部分

2.5 VCD文件示例

三、VCD文件生成

3.1 工程代码

3.2 modelsim操作

3.3 VCD结果查看

3.4 VCD类型2

四、参考资料


一、前言

    ​VCD(Value change dump)是一个ASCII文件,里面有关于给定设计的头信息,变量的定义,以及指定的变量或所有变量的值变化信息,变量的值变化可以是标量或矢量格式。VCD文件一般是由EDA仿真工具生成。

二、VCD文件格式

    ​VCD文件由头部,变量定义,打印变量,值变化四个部分组成。每一条语句内容都以关键字"$"开头,后面跟着命令名,以关键字“$end”结束,所有的VCD标记以空格,并且字母严格区分大小写。

VCD keywords are marked by a leading $; in general every keyword starts a command which is terminated by an explicit $end. Variable identifiers may also start with a $, but these may be distinguished by context.

All VCD tokens are delineated by whitespace. Data in the VCD file is case sensitive.

2.1 头部

    ​头部包含了时间戳,仿真器版本,时间精度(用于指定在值变化部分中映射时间增量的仿真时间单元)

2.2 变量定义    ​

    ​变量定义包含了在给定范围内的信号初始化信息。每个变量赋值了一个随机值标识,标识是由一个或多个ASCII字符(从!到~,对应的十进制范围为33-126),通常是一个或两个字符。如果仿真器确定多个变量有相同的值,则可以共用一个标识。

    ​每一行变量定义以"$var"开头,后面紧跟的是变量类型,数据宽度,标识符,变量名。

上述中的给定范围中范围类型定义和verilog中的定义一致,类型包括模块,任务,函数,fork块。

2.3 值打印

      该部分以$dumpvars或$dumpports开头,主要是变量的初始值
 

2.4 值变化部分

    ​ 值变化部分包含了仿真模型中信号随时间的变化值信息,变量所处的时间通过“#”加时间值。对于标量信号,信号的值用0或1表示,对于矢量信号(多比特信号),信号值格式用“b”或“B”,后面紧跟二进制值,然后是信号标识。对于实数变量用“r”或“R”开头,数据用%标识

2.5 VCD文件示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FPGA芯中的小蚂蚁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值