文章目录

  • 引言
  • Verilog仿真事件队列
  • VCS的option
  • VCS的编译
  • VCS的仿真
  • 实际操作

引言

在第一次接触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文件

VCS-bilibili教程篇1-Simulation Basics相关推荐

  1. 仿真工具-VCS入门教程

    VCS入门教程(一):VCS介绍与基本使用 VCS入门教程(二):VCS进行debug的三种方式 VCS入门教程(三):VCS查看verilog代码覆盖率 VCS入门教程(四):VCS门级网表仿真 I ...

  2. VCS-bilibili教程篇1-Debug Basic

    文章目录 VCS debug 本篇文章将会介绍如何学会VCS debug VCS debug 针对VCS的debug,很少会用命令来debug,是用DVE来debug,另外其实很多公司会采用verdi ...

  3. vscode自定义HTML、vue等模板内容(一个、多个)- 教程篇

    文章目录 vscode自定义HTML模板内容(一个.多个)- 教程篇 操作如下: 注意事项:`参考上图所示`: 如何调用? `如下图示` 附:参考文章 vscode自定义HTML模板内容(一个.多个) ...

  4. phpcmsV9 添加内容:如何“增加复选框、下拉菜单”(含案例、截图)- 教程篇

    文章目录 phpcmsV9 添加内容:如何"增加多选框.下拉菜单"(含案例.截图)- 教程篇 步骤: 效果截图:省略 phpcmsV9 添加内容:如何"增加多选框.下拉菜 ...

  5. phpcmsV9 如何开启“会员注册” - 教程篇

    phpcms 如何开启"会员注册"功能 ? 步骤 · 图文教程: 步骤 · 图文教程: [后台]–> [用户] --> [会员模块配置] --> [允许新会员注册 ...

  6. node.js安装express(零起点搭建本地测试服务器)- 教程篇

    (含图文教程.代码对比,等)node.js安装express(零起点搭建本地测试服务器)- 教程篇 原教程 · 参考地址 执行step3之后,结果截图 · 如下图2 : 之后,执行step4,截图如下 ...

  7. DreamweaverCS6搭建配置php本地站点(图文教程)- 教程篇

    通过Dreamweaver.exe 配置PHP本地服务站点 一.软件安装说明: Dreamweaver_CS6.exe 二.步骤图解: 第一步: 第二步: 第三步: 第四步: 三.其他版本: Drea ...

  8. ps批量操作图片尺寸(一键执行) - 教程篇

    ps批量操作图片尺寸:定义动作(组合键) ,一键执行 场景: 634张图片,如何批量改尺寸? 快捷键操作: Alt W 然后 Alt+F9 视频演示: https://v.qq.com/x/page/ ...

  9. phpcms 后台设置 posid 推荐位(支持多选) - 教程篇

    phpcms 推荐位(作为多条件判断) - 设置教程 截图示下: 注意事项: 定义的推荐位字段如何设置? 推荐位如何排序? 发布文章如何支持多选使用? 以上就是关于" phpcms 后台设置 ...

  10. HbuilderX + 配置Git 代码托管 - 教程篇

    HbuilderX + 配置Git 代码托管 - 教程篇 配置详请 · 步骤: 文章教程:HbuilderX配置Git插件并导入项目和上传代码 具体不再赘述,仅作为资源链接,自助参考总结. 以上就是关 ...

最新文章

  1. 排除一例电脑启动故障
  2. php中sql where,sql?where
  3. FACEBOOK’S CALIBRA
  4. 揭穿现金贷的真实面目
  5. 201671010456-张琼 实验十四 团队项目评审课程学习总结
  6. linux视频教程之vsftp_B
  7. linux bool变量,Objective-C中的占位符,打印BOOL类型数据
  8. SQL Server数据类型概述
  9. HDU 2152 Fruit (母函数)
  10. 25. Element nextSibling 属性
  11. 南京师范大学地理科学学院 汪永进教授等在Nature杂志上发表论文
  12. 七彩虹显卡软件测试,显卡超频测试_七彩虹显卡_显卡评测-中关村在线
  13. python英文单词排序-作业
  14. 自己写的ajax通用 脚本
  15. 微信里关闭窗口 js
  16. python 装饰器实践,实现定时函数和失败异常重复调用
  17. MP4学习(五)ts-mp4源码阅读(3)ftyp box的解析
  18. 坚石诚信ET z201 时间型开发遇到的问题。Microsoft VBScript 运行时错误 (0x800A01AD) ActiveX 部件不能创建对象
  19. Guideline 5.2.1 - Legal - Intellectual Property
  20. 机器学习在金融领域的应用:风险控制、投资策略与市场预测

热门文章

  1. Python学习 第2天 IDE开发工具
  2. 总结一些关于操作数据库是sql语句还是存储过程问题
  3. 敏捷转型历程 - Sprint3 回顾会
  4. Jquery checkbox全选简单用法
  5. 工作周报:2011-11-14至2011-11-18
  6. sql server 交叉表查询实例-成绩统计
  7. Silverlight 自定义鼠标
  8. PHP+MYSQL的OA为何没有Java的值钱?
  9. Linux文件的切分和结合
  10. UA MATH567 高维统计II 随机向量2 各向同性的随机向量