windows环境下QuestaSim软件的使用

文章目录

  • 前言
  • 一、QuestaSim使用方法
    • 1、编译vlog
    • 2、映射vmap
    • 3、仿真vism
    • 4、ifndef和define(常用)
    • 5、QuestaSim的仿真界面
    • 6、完整QuestaSim仿真——TCL脚本


前言

2023.8.29


一、QuestaSim使用方法

1、编译vlog

vlog:questasim的编译命令
-sv:指示vlog按照systemverilog语法进行编译,编译后会生成一个库,由于以上没有指定,缺省的库名就是work。如果要显式地指定不同的库名,可以追加选项“-work libname”。

2、映射vmap

映射逻辑库名到指定的目录

3、仿真vism

vsim:仿真的命令
-c:以命令行的形式执行,不开启图形化界面
-vopt:进行优化
-novopt:不进行优化,在调试时通常使用这个选项,这个会使得仿真速度慢一些

-classdebug:方便调试。仿真后,view的class browser中,class tree可以清晰的看到各个类的继承关系
-coverage:在仿真时产生代码覆盖率数据,功能覆盖率数据默认生成,与此项无关
-solvefaileddebug :使能输出随机化失败等更多调试信息
+UVM_TESTNAME=: 需要根据代码中不同的test,来决定仿真运行哪一个test,在top文件中则只需要启动run_test( )函数
-sv_seed:随机化种子,可以指定,-sv_seed 0;不指定,-sv_seed random
-quiet:关闭loading信息,不显示
-l:输出仿真的log文件
-do :开始仿真后运行tcl脚本(控制文件)
-L:加载所需要的仿真库
-quiet:关闭loading的信息

vsim -c -novopt -sv_seed $SEED -l sim.log +TESTNAME=case1

4、ifndef和define(常用)

在文件开头和尾部加入如下,防止代码被重复编译
ifndef:编译命令,是if not defined的缩写,主要是根据其后的宏是否存在于当前编译空间来进行分支选择。第一次会执行下面的define,执行顶层时,该宏已经存在编译空间中,所以不会被重复编译

`ifndef MY_TRANSACTION__SV
`define MY_TRANSACTION__SV
 
//my_codes
 
`endif

5、QuestaSim的仿真界面

在这里插入图片描述
在这里插入图片描述

6、完整QuestaSim仿真——TCL脚本

这里用的是do文件,直接在命令行执行即可

do sim.do
quit -sim   //退出当前的仿真
clear       //清除

vlib  ./lib        //创建库到一个文件夹,默认库的名字为work
vlib  ./lib/work

vmap work ./lib/work   //映射逻辑库到物理目录,这个库名称可以修改

vlog -sv -work work ./rtl/adder.v   //编译设计文件,把编译文件放到这个目录下

vsim -novopt -c work.adder_top -cover -sv_seed +TIMESCALE=$testname -l xx.log   //仿真,adder_top为顶层的名字

log -r /*
run -all

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/95320.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

开始MySQL之路——MySQL 事务(详解分析)

MySQL 事务概述 MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等&#xf…

Andorid 属性动画ObjectAnimation整理

属性动画相关内容可参考官网 动画资源 属性动画概览 来自官网的说明, 属性动画与视图动画的区别 视图动画系统仅提供为 View 对象添加动画效果的功能,因此,如果您想为非 对象添加动画效果,则必须实现自己的代码才能做到。视图动…

【桌面小屏幕项目】ESP32开发环境搭建

视频教程链接: 【【有手就行系列】嵌入式单片机教程-桌面小屏幕实战教学 从设计、硬件、焊接到代码编写、调试 ESP32 持续更新2022】 https://www.bilibili.com/video/BV1wV4y1G7Vk/?share_sourcecopy_web&vd_source4fa5fad39452b08a8f4aa46532e890a7 一、esp…

使用亥姆霍兹线圈的注意事项

亥姆霍兹线圈由一对完全相同的圆形导体线圈组成。采用直角坐标系,两个半径为R的圆形线圈的中心轴与z轴同轴。两个圆形线圈的z坐标分别为和。每个导体线圈都有相同的电流I。 设置可以减少两个线圈中心O(即原点)的磁场不均匀性。这种动作促使,也意味着非零…

从0开始配置eslint

没有在.eslintrc文件中配置parserOptions指定语言版本和模块类型 {"parserOptions": {"ecmaVersion": 7, //指定es版本为es2016"sourceType": "module", //使用import导入模块} }eslint还不能识别jsx语法 {"parserOptions"…

通义千问本地化部署不调用GPU只调用CPU的检查方法

今天部署本地版通义千问的时候遇到一个问题。 启动他的cli_demo.py调用的一直都是CPU模式的。 检查cuda已经正确安装,后面发现是torch即PyTorch的安装问题。 我安装torch的时候,用的是默认指令,没有增加别的参数。 检测一下,输出…

【大山里的女孩】

我生来就是高山而非溪流,我欲于群峰之巅仰视平庸的沟壑。 这是她们的呐喊! “我不知道我还有多少时间,现在还能动,我想做点事。” 这是张桂梅平凡的宣言,也是她一生都在践行的梦想。 17岁的她,为了祖国建…

设计模式—策略模式

目录 一、定义 二、特点 三、优点 四、缺点 五、实例 六.涉及到的知识点 1、一个类里面有哪些东西? 2、类和实例 什么是类? 什么是实例? 什么是实例化? 3、字段和属性 什么是字段? 属性是什么&#xff1…

[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks

这是一篇GNN的综述, 发表于2021年的TNNLS. 这篇博客旨在对GNN的基本概念做一些记录. 论文地址: 论文 1. 引言, 背景与定义 对于图像数据来说, CNN具有平移不变性和局部连接性, 因此可以在欧氏空间上良好地学习. 然而, 对于具有图结构的数据(例如社交网络 化学分子等)就需要用…

RSA私钥解密操作

RSA私钥解密操作 一、背景二、操作三、常见问题3.1 invalid key format3.2 解密的数据太长3.3 Decryption error 一、背景 项目数据库中存放的敏感字段已使用rsa加密的方式,将内容加密成密文存放, 现在需要在使用的时候,使用私钥进行解密。 二、操作 …

万户协同办公平台 ezoffice存在未授权访问漏洞 附POC

文章目录 万户协同办公平台 ezoffice存在未授权访问漏洞 附POC1. 万户协同办公平台 ezoffice简介2.漏洞描述3.影响版本4.fofa查询语句5.漏洞复现6.POC&EXP7.整改意见8.往期回顾 万户协同办公平台 ezoffice存在未授权访问漏洞 附POC 免责声明:请勿利用文章内的相…

【MySQL】引擎类型

与其他DBMS一样,MySQL有一个 具体管理和处理数据的内部引擎 。在使用create table语句时,该引擎具体创建表,而在使用select或进行其他数据库处理时,该引擎在内部处理你的请求。多数时候,引擎都隐藏在DBMS内&#xff0…

[ES]二基础 |

一、索引库操作 1、mapping属性 mapping是对索引库中文档的约束,常见的mapping属性包括: 1)type:字段数据类型,常见的简单类型有: ①字符串:text(可分词的文本)、keyword(精确值&#xff0c…

记录《现有docker中安装spark3.4.1》

基础docker环境中存储hadoop3--方便后续查看 参考: 实践: export JAVA_HOME/opt/apache/jdk1.8.0_333 export SPARK_MASTER_IP192.168.0.220 export SPARK_WORKER_MEMORY4g export SPARK_WORKER_CORES2 export SPARK_EXECUTOR_MEMORY4g export HADOOP_H…

打通数字化供需“堵点”,828 B2B企业节推出企业应用一站购平台

当前,数字技术与实体经济深度融合,为千行百业注入新动力、拓展新空间。数据显示,2022年中国数字经济规模超过50万亿,占GDP比重超过40%,继续保持在10%的高位增长速度,成为稳定经济增长的关键动力。 为加速企…

已知两地经纬度,计算两地直线距离

文章目录 1 原理公式2 代码实现2.1 JavaScript2.2 C2.3 Python2.4 MATLAB 1 原理公式 在地球上,计算两点之间的直线距离通常使用地理坐标系(例如WGS84)。计算两地直线距离的公式是根据经纬度之间的大圆距离(Great Circle Distanc…

【C++】—— 异常处理

前言: 本期,我将给大家讲解的是有关 异常处理 的相关知识! 目录 (一)C语言传统的处理错误的方式 (二)C异常概念 (三)异常的使用 1、异常的抛出和捕获 1️⃣ 异常的…

gitlab-runner安装和部署项目

目录 1.安装gitlab-runner 1.1 添加官方仓库 1.2.1 安装最新版本 1.2.2 安装指定版本(可选) 1.2.3 更新runner(可选) 1.3 随便点开gitlab上的一个项目 1.4 gitlab-runner的注册 2.配置gitlab-runner 3.runner一些命令 gi…

嵌入式通用硬件模块设计——串口音频播放模块

模块功能展示: 串口音频控制模块 一、简介 方案为串口音频播放芯片功放芯片,口音频播放芯片IC为my1690-16s,功放为PAM8406。 1、my1690-16s 迈优科技的一款由串口控制的插卡MP3播放控制芯片,支持串口控制播放指定音频、音量调节…

【滑动窗口】leetcode209:长度最小的子数组

一.题目描述 长度最小的子数组 二.思路分析 题目要求:找出长度最小的符合要求的连续子数组,这个要求就是子数组的元素之和大于等于target。 如何确定一个连续的子数组?确定它的左右边界即可。如此一来,我们最先想到的就是暴力枚…