VCS入门教程(一)
文章目录
- 一、VCS介绍
- 二、示例
由于之前使用的仿真器是questasim,但是看一下公司的招聘要求,公司里使用的基本都是VCS,所以学习一下以便更好过渡工作。
一、VCS介绍
VCS是编译型verilog仿真器,处理verilog的源码过程如下:
VCS先将verilog/systemverilog文件转化为C文件,在linux下编译链接生成可执行文件,运行simv即可得到仿真结果。
VCS使用步骤,先编译verilog源码,再运行可执行文件
编译命令的格式:vcs sourcefile [compile_time_option]
执行仿真命令格式:./simv [run_time_option]
二、示例
编译
-l readme.log | 用于将编译产生的信息放在log文件 |
---|---|
+v2k | 是使VCS兼容verilog 2001 以前的标准 |
+debug_all | 用于产生debug所需的文件 |
仿真
./simv -l run.log 开始仿真,testbench里的$display打印仿真成功的信息,显示在终端上。使用-l run.log 记录终端上产生的信息
使用./simv -gui 命令打开图形化界面DVE,选中所有信号 --> 右键Add to Waves --> New Wave View
点击1处的小箭头,便有波形出现。使用2处的三个按钮(预览全局、放大和缩小)调整波形。在3处鼠标左键按住不动,左右拖动即可选取一个观察的时间范围。
当需要编译很多文件时,可以使用-f选项解决
在工作目录下新建一个verilog_file.f文件,将所用到的verilog源码以及路径写入文件,并保存退出
使用-f verilog_file.f 选项,即可将.f文件里的源码全部编译
以下有其他常用编译选项,注意各个编译选项的顺序,有时出错需要调整
选项 | 含义 |
---|---|
-l | 用于将编译产生的信息放在log文件 |
+v2k | 是使VCS兼容verilog 2001 以前的标准 |
+debug_all | 用于产生debug所需的文件 |
- R | 编译后立即运行,即编译完成后立即执行 ./simv |
-Mupdate | 源文件有修改时,只重新编译有改动的.v文件,节约编译时间 |
-sverilog | 打开对Systemverilog的支持,编译Systemverilog文件时使用 |
-timescale=1ns/1ns | 设置仿真精度 |
-o simv_file | 编译默认产生的可执行文件为simv,可以使用 -o 更改可执行文件名 |
-f | 即可将.f文件里的源码全部编译 |
参考:
https://zhuanlan.zhihu.com/p/127335447
https://www.bilibili.com/video/BV1oF411Y7hh?spm_id_from=333.999.0.0
VCS入门教程(一)相关推荐
- 仿真工具-VCS入门教程
VCS入门教程(一):VCS介绍与基本使用 VCS入门教程(二):VCS进行debug的三种方式 VCS入门教程(三):VCS查看verilog代码覆盖率 VCS入门教程(四):VCS门级网表仿真 I ...
- VCS入门教程(二)
文章目录 一.使用系统函数 二.使用UCLI (用户命令行接口) 三.使用DVE 本文主要介绍VCS进行verilog代码debug的基本方法 一.使用系统函数 首先我们在编写verilog模块的te ...
- Turtlebot4入门教程-软件-软件包安装
来源:Turtlebot4入门教程-软件-软件包安装 - 创客智造 说明: 介绍Turtlebot4相关软件包的安装 TurtleBot 4 有 4 个主要的软件存储库:turtlebot4.turt ...
- Kafka入门教程与详解
1 Kafka入门教程 1.1 消息队列(Message Queue) Message Queue消息传送系统提供传送服务.消息传送依赖于大量支持组件,这些组件负责处理连接服务.消息的路由和传送.持久 ...
- 【CV】Pytorch一小时入门教程-代码详解
目录 一.关键部分代码分解 1.定义网络 2.损失函数(代价函数) 3.更新权值 二.训练完整的分类器 1.数据处理 2. 训练模型(代码详解) CPU训练 GPU训练 CPU版本与GPU版本代码区别 ...
- python tornado教程_Tornado 简单入门教程(零)——准备工作
前言: 这两天在学着用Python + Tornado +MongoDB来做Web开发(哈哈哈这个词好高端).学的过程中查阅了无数资料,也收获了一些经验,所以希望总结出一份简易入门教程供初学者参考.完 ...
- python向量计算库教程_NumPy库入门教程:基础知识总结
原标题:NumPy库入门教程:基础知识总结 视学算法 | 作者 知乎专栏 | 来源 numpy可以说是 Python运用于人工智能和科学计算的一个重要基础,近段时间恰好学习了numpy,pandas, ...
- mysql query browswer_MySQL数据库新特性之存储过程入门教程
MySQL数据库新特性之存储过程入门教程 在MySQL 5中,终于引入了存储过程这一新特性,这将大大增强MYSQL的数据库处理能力.在本文中将指导读者快速掌握MySQL 5的存储过程的基本知识,带领用 ...
- python tensorflow教程_TensorFlow入门教程TensorFlow 基本使用T
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 TensorFlow入门教程 TensorFlow 基本使用 TensorFlow官方中文教程 TensorFlow 的特点: 使用图 (graph) 来 ...
最新文章
- 乐安全 支持x86_国产EDA又进一步!芯华章发布全新仿真技术:x86、ARM等架构通吃...
- 安全预警:勒索软件正成为制马人的新方向
- hbase开发环境搭建及运行hbase小实例(HBase 0.98.3新api)
- 使用parted给大于2T的磁盘分区
- MySQL 和 Oracle 主键自增长
- 用友邮件撤回怎么操作_用户体验原则——“操作可控”
- php事件检测,细说浏览器特性检测(2)-通用事件检测_jquery
- 你手中的iPhone 7已过时!被苹果列为清仓产品,或为iPhone SE2让路
- 崛起的 Python,真的影响了 76 万人?
- bat 字符串截取操作
- 凝思linux操作系统4.2内核版本_打破技术垄断!国产操作系统的逆袭之路
- SQL Prompt快捷键
- Jetpack DataStore 你总要了解一下吧?
- 谈EBOM 、PBOM 、MBOM 在PDM中的统一
- 特别好用的录音转文字工具
- 如何在嵌入式fpga系统下关闭pcap打开icap核用以重构
- 从51信用卡到OAuth2协议
- 名悦集团:新手买新车有些注意事项
- 项目使用ts辅助_专业提示,可帮助您开始进行辅助项目
- 官方教程 Redshift 01 基础理论知识和基础特性学习