Shell+VCS学习3---VCS-lint

+lint

+lint=TFIPC-L
+LINT=PCWM

+lint=TFIPC-L(如果有的模块的端口定义了,但是没有连接,用这个选项,编译器会给出哪些端口没有连接)

在这里插入图片描述
其中CAWM貌似直接写成+lint=CAWM,vcs是不认的,得写成+lint=CAWM-L

不过CAWM的检查规则有点奇怪,等号左边(lhs)的位宽大于等号右边(rhs)的位宽时,是不报错的,有时候,等号右边(rhs)不加{ }也不报错,比如

assign cfg[1:0] = regbank[1][8:0]; 不会报错

assign cfg[1:0] = {regbank[1][8:0]}; 会报错

想要把lint的所有检查加上,可以用+lint=all

https://blog.csdn.net/weixin_49410207/article/details/124847642
ASIC中IP核的使用——包括VCS和DC
http://t.csdn.cn/0qFjz

vcs +define+

在vcs编译过程中可以通过+define+来进行传递参数或者一些控制操作,具体如下:

module test;
 
    `ifdef A
        parameter num = 123;
        //XXX
    `elsif B
        parameter num = 456;
        //XXX
    `else
        parameter num = 789;
        //XXX
    `endif
 
    initial begin
        $display("num is %0d",num);
    end
endmodule

在编译命令行中加入+define+A时,num打印值为123,+define+B时为456,定义其他或者不加+define+时打印789,XXX可以为自己的一些代码。通过这种方式,可以实现定义不同参数编译不同代码的功能。

module test;
 
    `ifdef A
        parameter num = 123;
        //XXX
    `elsif B
        parameter num = 456;
        //XXX
    `else
        parameter num = 789;
        //XXX
    `endif
 
    initial begin
        $display("num is %0d",num);
        $display("A is %0d",`A);
    end
endmodule

在编译命令中还可以+define+A=666,实现参数的传递,num打印123,A打印666,如果此时不加=666或者不加+define+,display就会报错,miss or empty argument,因为没有数据。

module test;
 
    `ifndef A
        `define A 100
    `else
        `define A 200
    `endif
 
    initial begin
        $display("A is %0d",`A);
    end
endmodule

如果+define+进行了对A的定义,代码内部又进行了对A的定义,情况会如何呢?

首先是不加+define+的情况,A的打印结果是100(用的是`ifndef,命令行没有定义A的话就进入这一条语句);然后试试+define+A,打印出错,miss or empty argument;再试试+define+A=300,打印结果是300。

这个结果说明,通过+define+定义的参数优先级最高,会覆盖代码内部的同名定义。

原文链接:https://blog.csdn.net/Kizuna_AI/article/details/130103029

覆盖率收集

vcs 覆盖率收集2——覆盖率选项 + 合并覆盖率
http://t.csdn.cn/VWyAK

-parallel:并行merge

VCS支持的多核仿真有两种方式:ALP DLP
EX.ALP
-parallel+vpd+tgl+assert
EX.DLP
-parallel+autopart=[core_numbers]
-parallel+design=part.cfg

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

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

相关文章

maven从入门到精通 第三章 Maven中形成web对Java工程的依赖

这里写自定义目录标题 一 war永远依赖于jar1. 在web工程的项目2中,加入项目1的路径依赖2 在web工程中,加入测试代码2.1 创建目录2.2 确认依赖junit2.3创建测试类2.4 运行测试2.5 打包2.6 查看依赖列表2.7 树形结构查看 二 测试依赖的范围1 compile的编译过程1.1 com…

快速排序算法

文章目录 一、前言二、快速排序算法的基本思想三、快速排序算法流程四、实现快速排序算法的Java代码五、分析代码实现过程1.partition方法2.quickSort方法3.swap方法4.main方法5.整体串讲 六、对快速排序算法的时间复杂度和稳定性进行讨论七、对快速排序算法的空间复杂度分析比…

USB2.0(一):基础

一、总线标准 USB1.1:支持12Mbps全速率(FullSpeed)和1.5Mbps低速率( HalfSpeed)USB2.0:支持480Mbps高速率(High Speed),兼容1.1USB3.0:支持5Gbps超高速率&am…

asp.net+sqlserver学生学籍管理系统

1.系统登录模块:为了保证系统的安全性和保密性,便于用户的管理,对用户设置权限。 界面上需要输入用户名、密码、验证码以及用户类型。 用户类型:普通用户和管理员用户。 2.用户信息管理模块&…

HarmonyOS版的“抖音”长啥样?有图有真相

“鸿蒙系统实战短视频App 从0到1掌握HarmonyOS”系列课程是面向HarmonyOS实战的视频教程,该课程会通过构建一个真实的短视频App来向读者展示HarmonyOS的全过程。 本节将演示基于HarmonyOS短视频App的核心功能。通过了解该App的功能,也能初步对本课程的内…

Android-实现一个登录页面(kotlin)

准备工作 首先,确保你已经安装了 Android Studio。如果还没有安装,请访问 Android Studio 官网 下载并安装。 前提条件 - 安装并配置好 Android Studio Android Studio Electric Eel | 2022.1.1 Patch 2 Build #AI-221.6008.13.2211.9619390, built …

5---最长回文字串

给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。 示例 1: 输入:s “babad” 输出:“bab” 解释:“aba” 同样是符合题意的答案。 示例 2&…

自行车和电动自行车上亚马逊标准有什么区别?UL2849,16CFR1512

自行车 自行车是一种两轮的或三轮的交通工具,完全靠人力驱动后轮前进。本政策所涵盖的自行车包括当座位调整到最高位置时,座位离地面超过 25 英寸的自行车,以及座位高度为 25 英寸或以下的人行道自行车。本政策也适用于公路使用的卧式自行车…

2023-05-04:用go语言重写ffmpeg的scaling_video.c示例,用于实现视频缩放(Scaling)功能。

2023-05-04:用go语言重写ffmpeg的scaling_video.c示例,用于实现视频缩放(Scaling)功能。 答案2023-05-04: 这段代码实现了使用 libswscale 库进行视频缩放的功能。下面是程序的主要流程: 1.获取命令行参…

MySQL事务

1、事务的概念 事务是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行。 事务是一个不可分割的工作逻辑单元&#xff…

推荐一些非常好用的DNS服务器

推荐一些非常好用的DNS服务器 1、114公共DNS服务器 1) 老牌的114DNS,全国三网通用高速,纯净无劫持无需再忍受被强扭去看广告或粗俗网站之痛苦 DNS地址为:114.114.114.114 和 114.114.115.115 2)拦截 钓鱼病毒木马网…

【目标检测论文阅读笔记】Dynamic Head: Unifying Object Detection Heads with Attentions

Abstract 在目标检测中结合定位和分类的复杂性导致了方法的蓬勃发展。以前的工作试图提高各种目标检测头的性能,但未能提出统一的观点。在本文中,我们提出了一种新颖的动态头部框架 来统一目标检测头部和注意力。通过在用于尺度感知的特征级别之间、用于…

SpringCloud学习笔记06

九十五、Cloud Alibaba简介 0、why会出现SpringCloud alibaba Spring Cloud Netflix项目进入维护模式 1、是什么 官网:spring-cloud-alibaba/README-zh.md at 2.2.x alibaba/spring-cloud-alibaba GitHub 2、能干嘛 3、去哪下 spring-cloud-alibaba/README-…

【软考高项笔记】第3章 信息系统治理(针对甲方)3.1 IT治理

第3章 信息系统治理(针对甲方) 3.1 IT治理 不同于管理,角度更高3.1.1 IT治理基础 目标价值 与业务目标一致 有效利用信息与数据资源 风险管理 管理层次 最高管理层 (定目标,战略) 执行管理层 &#xff08…

【BingChat】Microsoft Edge/Bing Chat 注册使用完全指南

欢迎关注【youcans的学习笔记】原创作品,火热更新中 【BingChat】Microsoft Edge/Bing Chat 注册使用完全指南 1. BingChat 简介2. BingChat 用户注册2.1 下载微软浏览器 Edge 预览版2.2 申请微软账户2.3 登录 Bing.com2.4 手机/平板使用 BingChat 3. BingChat 的聊…

4.shell函数

文章目录 shell函数shell函数的作用函数返回值函数传参函数变量作用范围递归阶乘使用函数递归目录/var/log,如果是文件直接输出文件名,如果是目录则输出目录名且输出此目录下的所有目录和文件名通过脚本输出环境变量PATH所包含的所有目录以及其中的子目录…

【Jmeter快速入门】

Jmeter快速入门 Jmeter快速入门1.安装Jmeter1.1.下载1.2.解压1.3.运行 2.快速入门2.1.设置中文语言2.2.基本用法 Jmeter快速入门 1.安装Jmeter Jmeter依赖于JDK,所以必须确保当前计算机上已经安装了JDK,并且配置了环境变量。 1.1.下载 可以Apache Jm…

SSM整合详细教学(上)

SSM整合详细教学(上) 一、SSM整合1. SSM整合配置1.1 SSM整合流程1.2 SSM整合配置1.2.1 创建工程,添加依赖和插件1.2.2 Spring整合Mybatis1.2.3 Spring整合SpringMVC 2. 功能模块开发2.1 数据层开发(BookDao)2.2 业务层开发(BookService/BookS…

TIM编码器接口

一、知识点 1、Encoder Interface 编码器接口的工作流程 编码器接口可接收增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT自增或自减,从而指示编码器的位置、旋转方向和旋转速度 2、编码器接口…

「领域驱动设计」DDD,六边形架构,洋葱架构,整洁架构和CQRS的整合

这篇文章是软件架构编年史的一部分,一系列关于软件架构的文章。在这些文章中,我写了我对软件架构的了解,我如何看待它,以及我如何使用这些知识。如果您阅读了本系列以前的文章,那么本文的内容可能更有意义。 今天的帖子…