VCS2 VCS仿真的基础

news2024/12/28 18:18:28

1、基础知识

编译流程:

-Mupdate :增量编译,作用是将需要修改的某个文件修改后重新编译,其.o文件再与其他文件相链接。

-R :编译后立马执行。

-gui :打开DVE的实时GUI。

-l :把编译过程中产生的一些信息写入日志文件中,便于日后调试、错误定位等。

-sverilog:表示支持SystemVerilog语言。

+v2k:编译支持Verilog 2001标准

 1)厂商提供的工艺库调用

-v :找哪个工艺库文件

-y :从哪个路径搜索需要的工艺库文件或文件夹等

+libext+lib_ext:

+incdir+inc_dir:

2)-f :把多个文件整合到一个文件中

3)-o foo:修改默认生成的二进制执行文件,将原来的simv替换为foo文件

4)+define+<macro_name>=<value>:定义一个宏的值是多少

 

 -s:从什么时候开始仿真,什么时候结束仿真

$plusargs():

-userswitch :怎么动态的从键盘或者脚本中接收参数。

 -l logfile :将真个编译仿真过程中产生的参数等等信息全部写入文件中,工程中经常使用。通常是通过logfile文件+wave文件结合完成功能验证。

仿真案例:

怎么调用一个库?实例:调用软件自带的DesignWare Library这个库

这个文件存在于VCS的安装目录中,是自带的库,其内部是一些RTL级别的代码,与厂商等提供的工艺库不相关,可以在代码中直接例化使用。

 编译流程:

非增量编译:

 make clean:清除后产生的一些文件

vcs ./tb/fsm_top.v  ./rtl/fsm_moore.v  +v2k  -debug_all:编译指令,下面是编译产生的文件的文件夹。

编译结束:

 csrc:编译过程中产生的c文件,文件夹内部的Makefile是用来维护增量编译的。

simv:二进制可执行文件

simv_daidir:

 增量编译:命令末尾加 -Mupdate

再次运行带增量维护的编译指令:

编译结束:

通过检测文件状态后,如果没有修改则提示不需要再编译。

 由于本身产生的文件,记录的信息有限,使用log记录更过的信息。

使用log文件记录信息:

 编译结束,产生一个.log文件:

使用gvim打开.log文件,进行查看。

 编译仿真同时进行 -R , 启动gui   -gui 

 自定义二进制执行文件名字

 定义在.v文件中的一些变量存放在其他文件中时,需要添加划线指令,

定义一个宏的方式:三种

1)原文件中进行定义

 2)头文件中定义,并链接头文件查找

3)在头文件中定义宏后,然后在命令行中加  +define+宏名

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

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

相关文章

CDH6.3.2防止被攻击,打补丁(未授权漏洞)

参考&#xff1a;CDH6.3.2Hadoop默认配置下存在未授权漏洞&#xff0c;禁止匿名访问 - 民宿 - 博客园 这段时间公司的运维大佬扫描安全漏洞的时候&#xff0c;发现有漏洞会被攻击&#xff0c;原因是没有新增用户校验&#xff0c;允许匿名去访问。这样的话。可以操作HDFS和Yarn上…

【iOS】熟悉Objective-C

熟悉Objective-C Objective—C通过一套全新的语法&#xff0c;在C语言基础上添加了面向对象的特性 频繁使用方括号和极长的方法名&#xff0c;使得代码十分易读。 了解Objective-C的起源 Obejective-C与C&#xff0c;java等面向对象的语言类似&#xff0c;在语法上使用“消息结…

【GRU时序预测】基于门控循环单元GRU实现时间序列预测附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

【云原生进阶之容器】第一章Docker核心技术1.3节——命名空间Namespace

1. Linux Namespaces机制简介 Linux Namespace是Linux提供的一种内核级别环境隔离的方法。很早以前的Unix有一个叫chroot的系统调用(通过修改根目录把用户jail到一个特定目录下),chroot提供了一种简单的隔离模式:chroot内部的文件系统无法访问外部的内容。Linux Namespace在…

文件包含漏洞相关协议详解

今天继续给大家介绍渗透测试相关知识&#xff0c;本文主要内容是文件包含漏洞相关协议详解。 免责声明&#xff1a; 本文所介绍的内容仅做学习交流使用&#xff0c;严禁利用文中技术进行非法行为&#xff0c;否则造成一切严重后果自负&#xff01; 再次强调&#xff1a;严禁对未…

执行 pkg -t win index.js 报错 node.js使用pkg打包成exe可执行文件

文章目录一、问题&#xff1a;当执行命令 pkg -t win index.js 的时候报以下错误&#xff1a;二、解决办法&#xff1a;三、安装pkg流程四、其他的打包方法五、题外话&#xff1a;更换exe的icon图标一、问题&#xff1a;当执行命令 pkg -t win index.js 的时候报以下错误&#…

[附源码]计算机毕业设计点餐系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis MavenVue等等组成&#xff0c;B/S模式…

传奇微端架设好后不亮灯是怎么回事微端程序无连接不更新有连接不更新问题解决办法

传奇微端架设好后不亮灯是怎么回事微端程序无连接不更新有连接不更新问题解决办法 这是在架设传奇微端时很多小伙伴都会遇到的问题&#xff0c;今天艾西来教大家怎么解决这个问题 以下图中有打码的望读者理解&#xff08;平台gz&#xff09; 网关配置好后&#xff0c;图中几个电…

pikachu靶场-11 SSRF漏洞

SSRF漏洞 概述 SSRF(Server-Side Request Forgery:服务器端请求伪造) 其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制 导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据 数据…

Allegro如何把分离的线段变成封闭连续的图形

Allegro如何把分离的线段变成封闭连续的图形 Allegeo支持把分离的线段变成封闭连续的图形,以下图为例,线段是分离的 具体操作如下 选择shape-compose shape Option选择一个层面,比如画在Board Geometry outline层 Find选择other segs 和Lines 框选图形 鼠标右击选择d…

HTML基础学习笔记合集

HTML学习笔记基础认知基本概念常用标签排版标签标题标签段落标签换行标签&#xff08;单标签&#xff09;水平线标签&#xff08;单标签&#xff09;文本格式化标签图片标签&#xff08;单标签&#xff09;音频标签&#xff08;双标签&#xff09;视频标签&#xff08;双标签&a…

K_A08_013 基于 STM32等单片机驱动大功率MOS管模块按键控制直流电机加减速启停

目录 一、资源说明 二、基本参数 参数 引脚说明 三、驱动说明 大功率MOS模块驱动 对应程序: 四、部分代码说明 接线说明 STC89C52RC大功率MOS模块 STM32F103C8T6大功率MOS模块 五、基础知识学习与相关资料下载 六、视频效果展示与程序资料获取 七、项目主要材料清单 八…

Dockers更新镜像(保留原始数据)

文章目录 一、前言二、使用步骤1.拉取需要更新的镜像版本2.获取当前镜像启动参数3.停止当前镜像4.启动新镜像5.删除旧镜像三、测试验证一、前言 日常工作中,应用程序为了避免漏洞、体验等等肯定是需要定期更新的,使用Docker安装的应用镜像也一样需要定期更新。更新最大的风险…

搭建基于lvs+nginx的负载均衡服务集群

GreatSQL社区原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本&#xff0c;使用上与MySQL一致。作者&#xff1a;蟹黄瓜子文章来源&#xff1a;社区投稿 1.基于四层七层的负载均衡 实现负载均衡的方式有很多&#xff0c;例如…

使用C#写一个Windows服务

创建服务程序 可能你的VS里面没有【Windows服务】这个模板&#xff0c;那么你就需要通过“打开Visual Studio安装程序“&#xff0c;通过VisualStudio Installer来通过“修改”来安装【.NET桌面开发】 通过上面两个地方均可以进入对应的代码文件 public partial class …

4年功能测试月薪9.5K,4个月时间进阶自动化,跳槽涨薪4k后我的路还很长...

前言 最开始我并不是互联网从业者&#xff0c;是经历了一场六个月的培训才入的行&#xff0c;这个经历仿佛就是一个遮羞布&#xff0c;不能让任何人知道&#xff0c;就算有面试的时候被问到你是不是被培训的&#xff0c;我还是不能承认这段历史。我是为了生存&#xff0c;才选…

使用遗传算法计算神经网络的超参数

遗传算法是基于种群的思想&#xff0c;将问题的解通过编码的方式转化为种群中的个体&#xff0c;并让这些个体不断地通过选择、交叉和变异算子模拟生物的进化过程&#xff0c;然后利用“优胜劣汰”法则选择种群中适应性较强的个体构成子种群&#xff0c;然后让子种群重复类似的…

nginx配置websocket支持wss

和前端联调完项目之后&#xff0c;将项目部署到了开发环境上面。结果这时候发现ws连接报错了&#xff0c;怎么回事&#xff0c;明明和前端在本地都联调好了的&#xff01; 观察报错发现&#xff0c;提示我们需要使用wss连接&#xff0c;而我和前端在对接联调时使用的是ws连接。…

mysql 学习---窗口函数

文章目录Mysql 8.0新特性窗口函数常见窗口函数Mysql 8.0新特性 窗口函数 理解&#xff1a; 窗口函数的作用类似于在查询中对数据进行分组&#xff0c;类似于聚合函数&#xff0c;但不同的是把聚合函数是分组的记录合成一条&#xff0c;也就是一组一条数据&#xff0c;窗口函数…

缓存击穿、缓存穿透、缓存雪崩

初学者总是喜欢自己吓自己&#xff0c;在听到缓存击穿、缓存穿透、缓存雪崩等问题后&#xff0c;就觉得这根本不是自己这个级别所能接触的知识点&#xff0c;甚至不敢下定决心去了解。 然而&#xff0c;缓存击穿、缓存穿透、缓存雪崩等概念只是听着高大上罢了&#xff0c;实则并…