首页 > 其他分享 >VCS基本编译参数

VCS基本编译参数

时间:2023-05-25 20:00:22浏览次数:35  
标签:选项 design1 仿真 编译 VCS 参数 vcs debug

参考:VCS基本编译参数 - 知乎 (zhihu.com)

1. vcs常用编译选项:

(1) 帮助文档

vcs -h 列出最常用的vcs编译和runtime选项

vcs -doc 在网页上显示vcs文档

vcs -ID 显示本机的一些信息以及VCS的版本信息

 

(2)license选项

vcs -licqueue 告诉VCS,当没有license时等待。

 

(3)接入verilog库选项

vcs -v asic.v 在RTL中引用了一些module,如果从当前目录中找不到,就在asic.v中找。

vcs -y /usr/ 让vcs在目录中找module。在RTL中注明具体module的位置:`uselib directory = /usr/。在编译时,同时碰到-y和`uselib,以uselib为主。

vcs +libext+.bb+.v 在-y注明的文件夹中搜索.bb文件和.v作为module的来源。

vcs +incdir+".",在RTL中写了`include的话,用该选项指明路径。“-incdir”用在库文件中,用来声明逻辑库,如下:

“library gatelib /net/design1/gatelib/*.v -incdir /

net/ design1/spec1lib, /net/design1/spec2lib;”

vcs +liborder ,用不同的文件搜索顺序搜索库。

vcs -libmap lib.txt,将库文件lib.txt告诉vcs,库文件的格式为:

“library lib1 /net/design1/design1_1/*.v;

library lib2 /net/design1/design1_2/*.v; ”

(4) 64位计算支持

vcs -full64

 

(5) 将编译选项都写在一个文件中

vcs -file a, a中包含了所有的vcs选项,运行时输入vcs -file a就可以了

 

(6)dve和ucli选项

vcs -gui,编译完后直接打开dve,在dve界面下再完成仿真过程。

 

(7)编译完后直接进行仿真

vcs -R,这种方法有一个问题,就是$display不会即时显示,只有仿真完后一齐显示,这样不好。

 

(8)改变参数选项

vcs -pvalue+CNT_WIDTH=21,用于改变RTL中的参数设置。

vcs -parameters a.txt,a.txt中存储着参数的值,如下:assign 21 CNT_WIDTH。

vcs +define+SVA_TEST,当RTL中`ifdef命令,就用到了。

(9)控制消息打印

vcs -notice,显示诊断消息

vcs -q,让vcs编译时进入“安静模式”

vcs -V,让vcs编译时进入“啰嗦模式”,verbose

vcs -l a.log,产生a.log文件。如果连-R共用,则编译内容和仿真内容都会显示在a.log中。

vcs +warn=noRWSI,编译时不打印warning信息

vcs +warn=noTFIPC,报告所有的warning,除了有关TFIPC的. TFIP和RWSI都是某种错误类型。

vcs +warn=all,报告所有的warning

vcs +warn=TFIPC:2 a.v,只显示关于a.v的TFIPC warning的前2个。

vcs -error=TFIPC,将TFIPC的错误爆出来

vcs +lint 报告lint消息。

vcs -suppress ,和vcs -q差不多,都是抑制消息用的。比如:vcs -suppress=warn

(10)在生成的simv中加入调试选项:

vcs -debug 或 -debug_all,其实-debug_pp不行。

debug模式可支持DVE, ucli, PLIs.

debug_pp是后处理模式(post-process)下的推荐选项。此模式也支持SVA,支持“时间断点”和“值断点”,但不支持“行断点”和“事件断点”。

debug功能与debug_pp一致,跑得更慢。

debug_all,允许逐行执行。

 

(11)产生一个不叫simv的二进制文件:

vcs -o simv2

 

(12)编译时就初始化regs为随机数

vcs +vcs+initreg+random,编译时将registers初始化为随机数。

在仿真时,使用:

simv +vcs+initreg+0|1|random|<seed>

 

(13)检查信号的X状态和Z状态

vcs -xzcheck,可在RTL中写$xzcheckon和$xzcheckoff来对xz进行检查和关闭。

可以使用 vcs -xzcheck nofalseneg 来屏蔽一些warning

 

(14)控制编译error和warning消息

2. 仿真:编译后产生simv可执行文件。仿真用simv文件,分为2种仿真方式:

(1)交互模式:dve,ucli

(2)batch模式:直接执行simv即可

 

标签:选项,design1,仿真,编译,VCS,参数,vcs,debug
From: https://www.cnblogs.com/zhiminyu/p/17432711.html

相关文章

  • 编译静态库遇到的 LNK2019 报错
    前文提到了CMake学习文末基本涵盖了我遇到的编译问题,但是在得到一个编译好的.lib文件后,还需要放到项目中引用成功后才算真正的完成静态库的编译嗯,我之所以说这些是因为我在项目中链接静态库时出现了LNK2019经典错误错误如下:Libraryd.lib(at_exit.obj):errorLNK2019:......
  • GET请求如何传递数组参数
    方式一可以将数组参数传递多次,springmvc会将多个同名参数自动封装成数组或者集合对象,示例如下: #请求URLhttp://127.0.0.1:8080/getUsers?name=张三&name=李四#后台接口代码@RestController@RequestMapping("/")publicclassSpringMvcController{@RequestMapping(v......
  • springboot aspect 对请求参数,返回数据加密
        对客户端<--->服务端传输数据加密。  上送文件流不加密,其他信息加密。  返回信息加密。 切面的方式进行解密,不修改业务逻辑。   找到对应的方法,对应的参数,进行解密。@Around("@annotation(com.jiayingsoft.scip.annotation.ScipSecureityMethodAtn......
  • MT8395处理器性能参数_Genio 1200芯片规格介绍资料
    联发科技(MediaTek)推出了他们的最新通用型AIoT芯片,MT8395(Genio1200)这款芯片专为高性能物联网应用和人工智能应用而设计,是一款集成了8核CPU和集成了五核图形处理器的高性能芯片。它是使用6纳米工艺制造而成的,内置了独立的双核AI处理器单元(APU),适用于用于智能家电、中控设备......
  • 接收请求参数与 Restful【SpringMVC】
    一、接收请求参数@RequestParm1、起别名2、问号传值3、完成映射(集合)@PathVariable斜杠 路径传值@RequestBodyjson参数传值 二、时间日期参数@DateTimeFormat(pattern="yyyy-MM-ddHH:mm:ss")设置日期格式 三、Restful@PostMapping......
  • MySQL8中binlog过期参数
    binlog_expire_logs_seconds设置二进制日志过期时间(以秒为单位)。二进制日志文件过期后,可以被自动删除。可能的删除发生在启动时和刷新二进制日志(flushlogs、或日志容量超过max_binlog_size的设置)时。默认的二进制日志过期时间为2592000秒,即30天(30*24*60*60秒)。如果binlo......
  • UE4 AirSim Windows项目交叉编译Linux包
    1、从Linux环境下AirSim文件夹导入相关.a库至对应路径 2、项目插件中禁用VR相关插件libopenvr_api.soissuewhenbuildingprojectagainstUE4.25·Issue#2889·microsoft/AirSim(github.com) ......
  • stm32 编译出的bin文件一定是4字节的倍数吗?
    最近在研究固件升级,在烧写内部FLASH时突然产生一个问题编译出的bin文件一定是4字节的倍数吗?如果不是那么以bin文件总长度除以4的方式写入flash就有可能舍掉了最后的余数。在stackoverflow上得到的答案是:正常情况下编译产生的bin文件是4的倍数,但是并不一定是4字节的倍数,4字节对齐......
  • windows下将Pikafish编译为安卓可执行文件
    下载AndroidNDKhttps://developer.android.com/ndk/downloads?hl=zh-cn下载Pikafish源码https://github.com/official-pikafish/Pikafish编译在Pikafish的src目录下创建如下bat文件setclang=D:\android-ndk-r25c\toolchains\llvm\prebuilt\windows-x86_64\bin\aar......
  • 泛型是一种将类型参数化的动态机制,使用得到的话,可以从以下的方面提升的你的程序
    泛型是一种将类型参数化的动态机制,使用得到的话,可以从以下的方面提升的你的程序:安全性:使用泛型可以使代码更加安全可靠,因为泛型提供了编译时的类型检查,使得编译器能够在编译阶段捕捉到类型错误。通过在编译时检查类型一致性,可以避免在运行时出现类型转换错误和 ClassCastExcept......