导航:首页 > 源码编译 > vcs编译仿真命令

vcs编译仿真命令

发布时间:2023-04-03 08:17:15

① 如何使用vcs仿真生成FSDB波形文件

需要制定verdi目录下对应vcs的工具吧
-P /tools/novas/verdi-200810/share/PLI/vcs2006.06/LINUX/novas.tab /tools/novas/verdi-200810/share/PLI/vcs2006.06/LINUX/pli.a

② DC综合后的VCS后仿真命令怎么写,需要添加哪些库

library(rpart);

## rpart.control对树进行一些设置
## xval是10折交叉验证
## minsplit是最小分支节点数,这里指大于等于20,那么该节点会继续分划下去,否则停止
## minbucket:叶子节点最小样本数
## maxdepth:树的深度
## cp全称为complexity parameter,指某个点的复杂度,对每一步拆分,模型的拟合优度必须提高的程度
ct <- rpart.control(xval=10, minsplit=20, cp=0.1)

## kyphosis是rpart这个包自带的数据集
## na.action:缺失数据的处理办法,默认为删除因变量缺失的观测而保留自变量缺失的观测。
## method:树的末端数据类型选择相应的变量分割方法:
## 连续性method=“anova”,离散型method=“class”,计数型method=“poisson”,生存分析型method=“exp”
## parms用来设置三个参数:先验概率、损失矩阵、分类纯度的度量方法(gini和information)
## cost我觉得是损失矩阵,在剪枝的时候,叶子节点的加权误差与父节点的误差进行比较,考虑损失矩阵的时候,从将“减少-误差”调整为“减少-损失”
fit <- rpart(Kyphosis~Age + Number + Start,
data=kyphosis, method="class",control=ct,
parms = list(prior = c(0.65,0.35), split = "information"));

## 第一种
par(mfrow=c(1,3));
plot(fit);
text(fit,use.n=T,all=T,cex=0.9);

## 第二种,这种会更漂亮一些
library(rpart.plot);
rpart.plot(fit, branch=1, branch.type=2, type=1, extra=102,
shadow.col="gray", box.col="green",
border.col="blue", split.col="red",
split.cex=1.2, main="Kyphosis决策树");

## rpart包提供了复杂度损失修剪的修剪方法,printcp会告诉分裂到每一层,cp是多少,平均相对误差是多少
## 交叉验证的估计误差(“xerror”列),以及标准误差(“xstd”列),平均相对误差=xerror±xstd
printcp(fit);

## 通过上面的分析来确定cp的值
## 我们可以用下面的办法选择具有最小xerror的cp的办法:
## prune(fit, cp= fit$cptable[which.min(fit$cptable[,"xerror"]),"CP"])

fit2 <- prune(fit, cp=0.01);
rpart.plot(fit2, branch=1, branch.type=2, type=1, extra=102,
shadow.col="gray", box.col="green",
border.col="blue", split.col="red",
split.cex=1.2, main="Kyphosis决策树");

③ VCS编译ISE的库进行FPGA设计的仿真时出错

ISE自带的IP核生成的BLOCK RAM是不能被VCS编译的,最好用Memory Compiler重新生成RAM

④ VCS编译命令

等license

使能verilog2000的标准

统一所有的timescale

-f采用绝对路径;-F与-f类似,也可以采用绝对路径,同时也支持相对路径,但不允许嵌套使用。
VCS用-F解析filelist时,不允许文件嵌套使用,不支持`include “xxx.v”这种写法,改为-f便ok了。

`include "xxx.sv"
要用+incdir把xxx.sv的路径指明。

编译完成后,自动执行当前编译生成的可执行文件

初始化RTL中所有mem的所有bit初始值

初始化RTL中所有reg的所有bit初始值

-的一般是编译时用的,编译工具自带的。
+的是插件,环境,验证语言,等等加的,可扩展的,自定义的。

+libext+.v
-y XXX/memory/all/work/verilog 定义verilog的库
-f rtl_top.f
-f env.f

testbench的顶层mole名字是top, 收集top下的例化的rtl顶层模块的下面所有层的覆盖率

如果用到了dw的东西
一般加上选项
-y $DC_HOME/dw/sim_ver +incdir+$DC_HOME/dw/sim_ver +libext+.v

⑤ VCS仿真运行命令

仿真命并运答令

仿真命令悄枣中加入-cm_name可以将覆盖率数据信息放在独立的文件夹绝慧中。

仿真选项里加上-ucli -do xxx/wave.do
wave.do

wave.tcl

⑥ VCS -simprofile

编译选项 -simprofile
仿真选项 -simprofile time+mem

如果PLI/DPI/DirectC 这一项占的比例较大,而且是DPI中的uvm_re_match占的时间较多,
可以在编译选项中 加上 +define+UVM_REGEX_NO_DPI 可以大大降低这个部分的时间消耗。

⑦ vcs仿真vhdl和verilog语言混合仿真的问题

当用vcs对vhdl和verilog语言混合仿真时,遇到衡埋verilog语言的模块的信号无mp波形,解决方法:在vcs仿真脚本中加入debug_access+all就可以咐念蚂仿真出波高告形。

vcs  -full64 -debug_access+all

⑧ 求助,VCS在ubuntu 64位的问题

您好,我在别的网站看到你的具体问题了, 解决方法如下: 执行编译命令,遇到这个问题后,在当前目录下会有一个csrc目录,进入这个目录,发现有个Makefile,用gedit打开,将下面字段 # Override TARGET_ARCH TARGET_ARCH= 修改为: # Override TARGET_ARCH TARGET_ARCH=x86-64 并且删除*.o,rm *.o,然后再执行make,重新生成rmapats.o文件,这次生成的就对了。。。 这也是一种临时解决办法,真是折腾啊。。。 使用vcs -full64 x.v 仍然存在问题,采用类似方法会出现段错误,64位使用不了。只能使用32位的了。

⑨ vcs生成覆盖率时,条件编译的顶层会被当做不同的项目,合并覆盖率时会出错,怎么解决

 要生成覆盖率报告,要在编译和仿真的时候,加入一个选项。 -cm  line | fsm | tgl | cond , 指定生成针对什么条件的覆盖率报告。如下的makefile,就生成上述四个的覆盖率报告。注意,编译和仿真,都要加上-cm这个选项。执行 make vcs , make sim后,会生成simv.vdb文件夹,该文件夹下包含了覆盖率的内容,但是我们需要将内容生成报告,这样,才方便我们查看。生成报告,使用的是 urg命令,该命令也是属于vcs工具里面的-dir: 指定 .vdb文件夹的位置report: 指定生成报告的格式,报告格式有两种,一种网页格式,一种text格式。这里,both代表生成两种。执行 make urg后,就会生成both文件夹。  这文件夹下的文件,就是覆盖率报告了。打开dashboard.html。可以看到整体的一些信息。但是我们关心的是设计的,而不是testbench的。点击hierarchy,得到层次。点击u1,也就是设计的顶层。可以看到关于该顶层的信息。因为在顶层,都是调用各个子模块(这里是调用 band_generaterx_tx, uart_txd模块),所以没有line的覆盖率统计,但是有TOGGLE的覆盖率统计,也就是信号的翻转。从上面可以看出,对于rst_n信号,没有从1->0的翻转,而这个信号是testbench中传递的,因此看出,在testbench设计,对于rst_n信号产生,有bug。点击左下角的uart_txd_1,查看该模块的信息。  对于该设计,因为有具体的实现,所以可以看到有line的覆盖率,toggle的覆盖率,FSM的覆盖率。对于line覆盖率,从报告看出,总共有42行,覆盖到了41行。通过查看代码,可以知道是哪一行没有被执行到。对于toggle覆盖率。从报告看出,只有rst_n有问题,而这问题是testbench的的bug造成的。对于FSM的检查。从报告看出,每个状态都有被覆盖到。但是从有些状态跳转到另外的状态,没有被覆盖到。因此造成FSM的覆盖率不高。通过查看覆盖率报告,可以查找到设计的缺陷,从而进行修正。

⑩ 用VCS仿真Verilog时,在调用系统函数的地方都出现错误怎么支持调用系统函数的仿真

使用到系统函数时,在vcs编译的时候一定要添加-I或者-RI.
其中-R自动运行并且生成vcd+文件
---------------------------------------------------------------
注意区别的两个方面:
1. –R –I 不同于-RI
-R –I是编译成VirSim的可执行文件而且马上运行仿真, -RI是编译成VirSim的可执行文件并且调用VirSim.
2. –R –PP 不同于-RPP
-R –PP是编译成VirSim的可执行文件并且在运行的时候加快输出VCD+文件
-RPP是在存在VCD+的条件下调用VirSim进行post processing的调试.

门级仿真需要反标SDF文件,可以在testbench中添加$sdf_annotate系统函数.并且在编译的时候注意要使用standcell的仿真库.

阅读全文

与vcs编译仿真命令相关的资料

热点内容
dd命令u盘 浏览:568
单片机生日快乐程序 浏览:891
安卓手机连车载的叫什么 浏览:223
怎么让自己的手机键盘变得好看app 浏览:53
能看qq的文件夹 浏览:515
android二维码生成代码 浏览:567
焦炉气压缩机 浏览:402
imap接收邮件服务器地址 浏览:291
小乔肖恩解压密码 浏览:645
php网页网盘源码 浏览:181
签到任务源码 浏览:814
母亲节的文案怎么写app 浏览:984
加密协议aes找不到 浏览:250
java服务器端开发源码 浏览:551
编译器编译运行快捷键 浏览:333
住房app怎么快速选房 浏览:174
怎么在电脑上编译成功 浏览:214
单片机可调时钟设计方案 浏览:192
qq文件夹密码忘记怎么找回 浏览:683
php扩展插件 浏览:608