VCS-bilibili教程篇1-Simulation Basics

引言

在第一次接触IC的时候,本人对VCS这些EDA的软件认识还不够深刻,也许,进入IC这个行业已经5个月,现在又重新来看VCS,虽然这个软件,我可能暂时还不需要,但是这个可以成为加分项,也是IC设计人员必备的软件,此外,我想后期会再开启ncverilog的专题进行学习。如果这些东西不去反复的try,可能永远就还是停留在原地。我的博客不仅仅是对视频笔记的记录,也有自己的想法和一些技巧在里面,如果有理解不正确的,欢迎指正。
作者:ciscomonkey
资料来源:VCS视频教程。

Verilog仿真事件队列

这里先提一个问题,Verilog是并行的,计算机是并行的,那么计算机是如何仿真的呢?

Verilog语言的仿真基于分层的事件队列
Verilog语言规范没有规定当多个时间被安排在同一个时刻来调度时,应该执行哪一个。
只要在同一层的事件,什么执行顺序都是可以的。
因此不同的软件,可能仿真出来的结果却不一样!

如下图所示:
在这里插入图片描述

VCS的option

VCS严格来分有两个大的步骤:
1、编译compile
2、simulaton仿真
在这里插入图片描述
注意下图VCS在编译过程中的中间文件转换过程
在这里插入图片描述

VCS的编译

VCS的编译格式非常简单
VCS+filename+【option】
这里需要注意的就是有哪些option
你输入vcs -help 出来太多,肯定不方便查看。
下面我准备了两种方法:
方法一:通过gvim打开后,然后搜索。
在这里插入图片描述
在这里插入图片描述
方法二; grep -A代表显示10行信息,-R 的前面记得加转意符号
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
-Mupdate
这个option代表增量编译,假设我有100个.v文件,如果编译完成后,我突然发现我有个.v文件需要小小的改动,全部重新编译是相当浪费时间的,这个时候我只需要做增量编译即可,然后与原来编译完成的文件做link
在这里插入图片描述
如下图所示,仅仅是更改了mem.v文件,那么就将mem.v文件转换为mem.o文件,然后和原来的CPU.o文件做link,即可,特别是对于大型的design设计,这种方式显得尤为重要。
在这里插入图片描述

VCS的仿真

前面是介绍的compile时候的开关选项,下面介绍的是VCS的仿真时候的开关选项。
在这里插入图片描述
在这里插入图片描述
使用designWare的库
在这里插入图片描述

实际操作

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
如上图所示,启动失败,为什么?
因为我没开启-debug_all
重来
在这里插入图片描述
如下图所示,加了debug_all之后,增加了几个文件,测试,删除这几个文件也可以启动。
在这里插入图片描述

在这里插入图片描述
如下图所示,正常开启:
在这里插入图片描述
选定信号后,右键add to wave 
在这里插入图片描述
好,下面我们来关注一下这些产生的中间过程文件。
csrc文件:代表c语言的src文件,里面的文件夹包含了.o\.h\.c文件
在这里插入图片描述

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值