Vivado 仿真器中以批处理或脚本模式(Batch or Scripted Mode)进行仿真

news2024/10/6 16:25:13

以下说明来自ug900:在 Vivado 仿真器中以批处理或脚本模式进行仿真 具体可以内容可自行查找
其中代码运行截图为自己实践的实例·
在这里插入图片描述

Note: xelab, xvlog and xvhdl are not Tcl commands. The xvlog, xvhdl, xelab are Vivado-independent compiler executables. Hence, there is no Tcl command for them.
注意,xelab, xvlog and xvhdl不是 Tcl 命令。xvlog, xvhdl, xelab 是独立于 Vivado 的编译器可执行文件。 因此,它们没有 Tcl 命令。

若对应命令需要帮助,可以用xxx -help

解析设计文件,xvhdl 和 xvlog

xvhdl:
此命令分析 VHDL 源文件并将分析的转储存储到 HDL 中 磁盘上的库。
xvlog:
The xvlog command is the Verilog parser. The xvlog command parses the Verilog source file(s) and stores the parsed dump into a HDL library on disk.
该命令是Verilog解析器。该 xvlog 命令解析 Verilog 源文件,并将解析的转储存储到 HDL 磁盘上的库。

使用方式

Usage: xvlog [options] file
后面给出的是需要解析的HDL文件
示例:
在这里插入图片描述
–sv指定输入的文件用sv模式编译,–work给定了对应存储库的名字为mylib,最后给出需要解析的HDL文件为src文件夹中所有的.v .sv文件。

可选项-和–

通常而言,-说明参数是字符形式,后面接的是单字母命令。- -说明参数是字符串形式,对应相应单-命令的全称两者是等价的,如 xx -h 和 xx --help。
此命令中间有很多的可选项,不清楚的话可以去ug900中查,也可以直接命令行里输入xvlog -h或–help。
ug900的指令可选项列表

xelab 详细阐述和生成设计快照

使用 Vivado 仿真器进行仿真分两个阶段进行:

第一阶段,模拟器编译器 xelab 将 HDL 模型编译为快照,快照以模拟器可以执行的形式表示模型。
第二阶段,模拟器加载并执行(使用命令)快照以模拟模型。在非项目模式下,您可以通过跳过第一阶段并重复第二阶段来重复使用快照。xsim
当模拟器创建快照时,它会根据模型中排名靠前的模块的名称为快照分配一个名称。但是,您可以通过将快照名称指定为编译器的选项来覆盖默认值。快照名称在目录或 SIMSET 中必须是唯一的;重复使用快照名称(无论是默认名称还是自定义名称)都会导致使用该名称覆盖以前构建的快照。

重要:在同一目录或 SIMSET 中,不能用相同的快照名运行两个模拟

使用方式

Usage: xelab [options] [libname.]unitname

其中必须xelab命令后面跟的就是[libname.]unitname(设计的顶层),中间有很多的可选项,不清楚的话可以去ug900中查,也可以直接命令行里输入xelab -h,他会给出所有可选项和示例等。

示例:
以下指令编译了模块(编译为快照?),创建了快照mylib.stack_tb
在这里插入图片描述
以下是多了两个参数
-s [ --snapshot ] arg:Specify the name of design snapshot
指定了快照名simTest,所以后面指令显示的快照名就是simTest,没有指定就是默认的顶层mylib.stack_tb
在这里插入图片描述
–debug参数如下:
在这里插入图片描述

static elaboration

指令执行中涉及了static elaboration,可以参考文章:elaborate
analyze: (xvlog做的)读入RTL代码,分析每个文件的语法是否正确。(这个时候每个module还是独立的,没有instance的关系)
elaborate: 用analyze已经读入的RTL代码来构建hierarchy。顶层是可以设置的。这个时候整个design的层次就有了,instance的关系也明确了。

xsim模拟设计快照

该命令加载模拟快照以执行批处理模式模拟,或提供工作区 (GUI)或基于 Tcl 的交互式模拟环境。
语法:xsim
在这里插入图片描述
在这里插入图片描述

示例:
在这里插入图片描述
该指令会打开vivado的仿真波形界面,将波形添加后可以运行查看结果。

总结※

总之我理解的这三个指令就是:
1、xvlog会analyze解析HDL文件;
analyze: 读入RTL代码,分析每个文件的语法是否正确。(这个时候每个module还是独立的,没有instance的关系)

2、xelab会将 HDL 模型编译为快照,快照以模拟器可以执行的形式表示模型(就是之前提到的第一阶段),其中有elaborate (用analyze已经读入的RTL代码来构建hierarchy。顶层是可以设置的。这个时候整个design的层次就有了,instance的关系也明确了)来构建模块间的层次结构,并且会分析各模块数据流;

3、xsim模拟器加载并执行(使用命令)快照以模拟模型(第二阶段),就是进行仿真,这个仿真可以存波形文件多次调用。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

20230505使用amazon来批量翻译SRT格式的日语字幕为简体中文

20230505使用amazon来批量翻译SRT格式的日语字幕为简体中文 2023/5/5 19:03 百度搜索:使用 amazon 批量翻译 请严重注意:可能会扣费的! https://aws.amazon.com/cn/blogs/china/translating-documents-with-amazon-translate-aws-lambda-and…

线性判别分析LDA计算例题详解

线性判别分析(Linear Discriminant Analysis, LDA)的核心思想是:将给定训练集投影到特征空间的一个超平面上,并设法使同类样本投影点尽可能接近,异类样本投影点尽可能远离 由于做题时针对的是解题过程,因此原理相关方面省略&#…

回文数:探索数字世界中的对称美学

本篇博客我会讲解力扣中的“9. 回文数”这道题,大家重点理解判断回文数的方法。 先来审题:这是题目链接。 来看几个输出示例: 还有一些条件: 第一反应是:为啥是个整数呢?万一是个字符串,那不…

windows下安装OpenCL

由于我的电脑是windows10,显卡是集显Intel UHD Graphics 630。 下载Intel的SDK for OpenCL,下载地址https://software.intel.com/en-us/opencl-sdk/choose-download,也可以在我的资源里面直接下载https://download.csdn.net/download/qq_363…

System verilog【2】字符串,函数,任务

前言 素手青颜光华发,半世尘缘半世沙。我唤青天睁开眼,风霜怎奈并蒂花 \;\\\;\\\; 目录 前言字符串packed组合型结构体组合型数组 过程块initial & always functiontask 字符串 module chertanis;initial beginstring s"hola,mundo!",s2…

Java 多线程知识

参考链接:https://www.cnblogs.com/kingsleylam/p/6014441.html https://blog.csdn.net/ly0724ok/article/details/117030234/ https://blog.csdn.net/jiayibingdong/article/details/124674922 导致Java线程安全问题最主要的原因: (1&#…

修改亮度、对比度、色调、饱和度,达到预期效果

用户态可以通过v4l2自带工具进行一些UVC相机参数的设定,包括采集卡驱动之类,也可以通过v4l2自带工具进行参数设定。 通过修改这些参数的值,可以弥补相机本身彩色部分自带不足。 总的来说就这么几种命令: 查看设备所有参数信息&a…

C++系列三:变量、常量

常量、变量 1. 变量1.1 定义变量1.2 初始化变量1.3 变量数据类型1.4 变量作用域 2. 常量2.1 定义常量2.2 常量类型2.3 常量作用域2.4 常量用法 3. 总结 1. 变量 变量是一个用于存储值的命名内存位置,可以存储多种不同类型的数据,例如整数、实数、字符或…

淘宝搜广推技术备注

第一篇文章 一、序列特征处理方式 1:淘宝的类目体系中,有大类目、小类目(淘宝大类目和小类目怎么区分?有何运营技巧?-卖家网),在做推荐系统时,有个sim建模(search-base…

【Java】抽象类接口

目录 1.抽象类 2.接口 2.1实现多个接口 2.2接口之间的关系 2.3接口使用实例 2.3.1Comparable接口 2.3.2Comparator接口 2.3.2Clone接口 2.4抽象类与接口的区别 1.抽象类 定义:抽象方法:这个方法没有具体的实现; 抽象类:不…

边学边记——数据结构☞和搜索有关的数据结构(搜索树,Set,Map,哈希表)

目录 模型 一、搜索 1. 场景 2. 搜索树 2.1 概念 2.2 查找 2.3 插入 2.4 删除 2.5 实现 2.6 性能分析 2.7 和Java的关系 二、Set 1. 常见方法 2. 注意 三、Map 1. 关于Map.Entry的说明,> 2. Map的常用方法说明 3. 注意 四、哈希表 1. 概念 2. 冲突 2…

[论文分享] VOS: Learning What You Don‘t Know by Virtual Outlier Synthesis

这篇文章是ICLR‘ 2022的一篇文章。 No.contentPAPER{ICLR’ 2022} VOS: Learning What You Don’t Know by Virtual Outlier SynthesisURL论文地址CODE代码地址 Motivation 现有OOD Detection方法大多依赖于真实的离群点数据集进行模型正则化,实际应用中过于昂…

常用位运算

一、求解二进制表示的第k位数字 #include<iostream> using namespace std;int main() {int n 10; // 例如&#xff0c;十进制10用二进制表示为1010 for(int k3;k>0;k--)cout << (n >> k & 1);// 第一步&#xff1a;右移k位// 第二步&#xff1a; &am…

JVM基础总结

文章目录 一、程序计数器二、Java虚拟机栈栈内存溢出【StackOverflowError】线程运行诊断 三、本地方法栈【Native Method Stacks】四、堆【Head】线程共享堆内存溢出【OutOfMemoryError&#xff1a;Java heap space】堆内存诊断 五、方法区【Method Area】线程共享运行时常量池…

Springboot +Flowable,为流程设置租户

一.简介 什么叫flowable的租户呢&#xff1f;这边举个例子&#xff1a; 假设现在有 A、B、C、D 四个子系统&#xff0c;四个子系统都要部署同一个名为 leave 的流程&#xff0c;如何区分四个不同子系统的的流程呢&#xff1f;通过租户就可以解决这个问题。Flowable 中的租户其…

dell r750服务器安装centos系统全记录

1、启动盘制作 1.1 下载系统 打开 https://www.centos.org/download/ 任意选择一个镜像网站&#xff0c;博主选择的是163镜像 下载内存为4g镜像文件 这里也可以参考 https://blog.csdn.net/weixin_46703995/article/details/121191113 1.2 下载启动盘制作软件 linux系统一…

Denoising Diffusion Probabilistic Model,DDPM阅读笔记——(二)

Denoising Diffusion Probabilistic Model&#xff0c;DDPM阅读笔记 一、去噪扩散概率模型&#xff08;Denoising Diffusion Probabilistic Model&#xff0c;DDPM&#xff09; 一、去噪扩散概率模型&#xff08;Denoising Diffusion Probabilistic Model&#xff0c;DDPM&…

C++数据结构:手撕红黑树

目录 一. 红黑树的概念及结构 二. 红黑树节点的定义 三. 红黑树节点的插入 3.1 初步查找插入节点的位置并插入节点 3.2 红黑树结构的调整 3.3 红黑树节点插入完整版代码 四. 红黑树的结构检查 4.1 检查是否为搜索树 4.2 检查节点颜色是否满足要求 附录&#xff1a;红黑…

TypeScript进阶

目录 TypeScript 与 Vue 文档说明 vscode 插件说明 准备页面基本结构 defineProps与Typescript defineEmits与Typescript ref与Typescript reactive与Typescript computed与Typescript 事件对象与Typescript 模板Ref与Typescript 可选链操作符和非空断言 TypeScript…

21.网络爬虫—js逆向详讲与实战

网络爬虫—js逆向 js逆向JavaScript逆向的详细讲解实战演示有道翻译设置密钥和初始向量对密钥和初始向量进行哈希处理创建AES对象并解密消息移除padding并返回结果 前言&#xff1a; &#x1f3d8;️&#x1f3d8;️个人简介&#xff1a;以山河作礼。 &#x1f396;️&#x1f…