首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
一朵银杏
电子科技大学 IC验证工程师
发布于四川
关注
已关注
取消关注
@郑退之:
VCS入门教程(一) VCS介绍+流程示例
一、前言 接触Synopsys 家的VCS工具有一段时间了,在此简单分享下个人的学习笔记。供刚接触到数字前端设计的同学提供一些参考资料。在学校我们经常使用的verilog仿真软件都是quartus和modelsim,但是看一下一些公司的招聘要求,公司里使用的基本都是VCS。所以学习一下对找工作还是有帮助的。 参考资料: 1.VCS User Guide 2. VCS labs 3. bilibili搜索VCS,有一些视频教程。 1是官方手册, 2是官方给出的几个实验,包涵源码和实验指导文档。 1, 2 均可在eetop上找到并下载。 VCS工具的安装是一个很头疼的事情。本人最开始查阅各种博客,花了两天时间才捣鼓好双系统,在Ubuntu上安装完VCS。到后来发现eetop上有人分享安装完各种EDA的Redhat系统,十分方便。有需要的同学可以去下载。 http://bbs.eetop.cn/thread-876507-1-1.html 12月15更新:上面我分享的虚拟机不知道怎么回事就挂了,现在推荐大家用 docker,和虚拟机一样用,放个贝塔的文章链接: 空白的贝塔君:Synopsys全套docker镜像使用指南zhuanlan.zhihu.com 在linux下使用EDA需要有linux基础,ls,pwd,cd, touch等基本命令需要会用。还有vim编辑器的简单使用,b站上有许多教程。 https://www.bilibili.com/video/BV1ex411x7Em/?spm_id_from=333.788.videocard.0www.bilibili.com https://www.bilibili.com/video/BV1Yt411X7mu?from=search&seid=77456085189****0211www.bilibili.com 第一个链接里的内容,挑前面讲Linux命令的看看即可。 二、VCS介绍 VCS是编译型verilog仿真器,处理verilog的源码过程如下: VCS先将verilog/systemverilog文件转化为C文件,在linux下编译链接生成可执行文件,在linux下运行simv即可得到仿真结果。 VCS使用步骤,先编译verilog源码,再运行可执行文件: 编译命令的格式:vcs sourcefile [compile_time_option] (编译选项用来控制编译过程) 执行仿真命令格式:./simv [run_time_option] 三、示例 下面使用VCS labs里面lab1的verilog源码做一些示例,电路结构图如下: 此电路为一位加法器 fa.v 组成4位加法器 add4.v,再组成一个8位加法器,使用资源换性能的思路,减小了行波进位加法器的进位延迟。顶层文件为add8.v,testbench为addertb.v。 输入上述命令回车即可编译verilog文件,其中 -l readme.log 用于将编译产生的信息放在log文件内。 +v2k是使VCS兼容verilog 2001以前的标准。 -debug_all用于产生debug所需的文件。 ./simv -l run.log 开始仿真,testbench里的$display打印仿真成功的信息,显示在终端上。 使用-l run.log 记录终端上产生的信息。 使用./simv -gui 命令打开图形化界面DVE,选中所有信号 --> 右键Add to Waves --> New Wave View 点击1处的小箭头,便有波形出现。使用2处的三个按钮(预览全局、放大和缩小)调整波形。在3处鼠标左键按住不动,左右拖动即可选取一个观察的时间范围。 以上已完成VCS基本的使用,下面我们考虑一个更复杂的情形。假设现在顶层模块变得十分复杂,里面包含很多的 .v 文件,我们再像图4那样将所有文件敲在终端上便很麻烦。编译选项-f可以解决这个问题。 在工作目录下新建一个verilog_file.f文件,将所用到的verilog源码以及路径写入文件,并保存退出。 使用-f verilog_file.f 选项,即可将.f文件里的源码全部编译。 以下有其他常用编译选项,注意各个编译选项的顺序,有时出错需要调整。 1) -R 编译后立即运行,即编译完成后立即执行 ./simv 2) -Mupdate 源文件有修改时,只重新编译有改动的.v文件,节约编译时间。 3) -sverilog 打开对Systemverilog的支持,编译Systemverilog文件时使用。 4) -timescale=1ns/1ns 设置仿真精度 5) -o simv_file 编译默认产生的可执行文件为simv,可以使用 -o 更改可执行文件名。 再考虑一种情形,当使用到VCS更多其他功能时,编译选项会变得很长,在终端上一个一个敲变得十分不方便,我们便可以使用makefile来帮助我们编译仿真。在工作目录下新建一个makefile文件 .PHONY:com sim cleanOUTPUT = adder_topVCS = vcs -sverilog +v2k -timescale=1ns/1ns \ -debug_all \ -o ${OUTPUT} \ -l compile.log \SIM = ./${OUTPUT} -l run.logcom: ${VCS} -f verilog_file.fsim: ${SIM}clean: rm -rf ./csrc *.daidir *.log simv* *.key makefile 完成以后,在终端上输入 make com 后回车,相当于在终端中输入以下内容后回车,进行编译。 vcs-sverilog+v2k-timescale=1ns/1ns -debug_all -o adder_top -l compile.log -f verilog_file.f 输入make sim 相当于: ./adder_top -l run.log 输入make clean 相当于: rm -rf ./csrc *.daidir *.log simv* *.key 清除一些中间文件。 关于makefile更为详细的介绍,可以去b站观看以下视频,或者阅读《跟我一起写Makefile》 https://www.bilibili.com/video/BV1dW411n7vk?from=search&seid=181****4971512013359 四、结束语 以上就是VCS入门的介绍啦,水平有限,若有错误,请批评指教。或私信进一步交流~
点赞 2
评论 2
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
03-31 22:12
广西大学 算法工程师
腾讯 AI应用开发 一面
1. 你最近在学哪些课程或技术方向?2. 你有没有使用过 AI 相关工具?有,用过 Cursor 和 ChatGPT。主要是辅助写一些重复性代码、补测试用例、解释报错、查 API 用法,也会用来做知识点对比,比如 synchronized 和 ReentrantLock 的区别,或者分析 SQL 为什么慢。一般我会把它当辅助工具,不会直接照搬结果。3. 你用 Cursor 的时候遇到过什么问题?最大的问题是上下文理解不一定完整,尤其是跨文件和跨模块的时候,生成的代码可能能跑,但不一定适合当前项目。还有就是它有时会忽略边界条件,比如空值、并发安全、事务失效这些问题,所以关键逻辑我还是会自己过一遍...
AI-Agent面试实战...
点赞
评论
收藏
分享
04-03 16:03
已编辑
门头沟学院 Java
银行老学长带来点春招信息差
大家好,我是24届985硕,毕业加入厦门银行,目前已经有2年了,今天想用我的经历,给大家分享点春招信息差。 先说结论,如果银行某个岗位有确定的培养路径+发展路线,那可以无脑冲。 因为只有我自己知道如果没有这两项,会有多艰难。记得两年前我入职时,我们还没有管培生体系。我是从“科技部新人”一步步摸过来的:轮岗靠申请、项目靠抢、导师靠缘分。 说实话,前半年我挺羡慕互联网大厂的“系统化培养”的。 但今年不一样了。行里第一次设立科技管培生,我看到了我们这批“老员工”当年踩过的坑,正在被填平: 轮岗不再靠运气:管培生会轮换核心部门和岗位,每个阶段有明确的学习地图;导师不再靠缘分:每个管培生配一位导师,...
点赞
评论
收藏
分享
03-06 22:23
已编辑
门头沟学院 测试开发
忽然就收到了腾讯面试
忽然收到了面试邀请 有没有友友有面经分享 投了这么多 第一个面试机会
发面经攒人品
点赞
评论
收藏
分享
02-11 19:01
门头沟学院 嵌入式软件开发
这是我在BOSS遇到最有人性的hr,他的鼓励简直让我这么久人机般投简历来,最感动的一次,真的好想进这家公司啊😭😭😭
Data_Seven:
牛客最美的HR
找工作时遇到的神仙HR
点赞
评论
收藏
分享
昨天 17:32
重庆大学 Java
快手-后端-日常实习-一面-4.3
无八股,全程都在聊AI项目,手撕算法题是lc.15三数之和对于 AIAgent 模式,你如何评判当前系统和切换到另一种模式(如 cline/code 模式)的效果差异? 你如何设计量化指标来评估不同实现方式的效果? 你怎么看待 RAG?它的价值是什么? RAG 和本地知识库有什么差别? 你说 RAG 有用,那它具体好在哪?优化了什么指标?提升了多少? 如果把你的项目做成 agent 并对外服务,你如何评估 RAG 的效果(比如准确率、拦截率等)? 如果不用 RAG,而是用更强的大模型,会怎么样? 你有没有试过使用最强模型(比如在线 API)替代本地模型 + RAG? 你有没有做过模型微调? 你...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
双非春秋招3月总结与收获
6098
2
...
4.2字节后端一面
4278
3
...
美团暑期二面,横向挂
4048
4
...
恒生电子笔试已燃尽
3672
5
...
26年最值得冲的产品项目是什么?一个过来人的大实话
3024
6
...
2026 产品岗春招|这种「稀缺管培生」该怎么准备?
2974
7
...
银行老学长带来点春招信息差
2751
8
...
恒生电子笔试
2651
9
...
28届双非本腾讯开发实习oc
1824
10
...
快手后端oc
1534
创作者周榜
更多
正在热议
更多
#
面试被问到不会的问题,你怎么应对?
#
23772次浏览
587人参与
#
牛友的志愿填报指南
#
62738次浏览
479人参与
#
厦门银行科技岗值不值得投
#
15443次浏览
355人参与
#
你觉得大几开始实习最合适?
#
27607次浏览
268人参与
#
uu们,春招你还来吗?
#
61682次浏览
696人参与
#
你见过哪些招聘隐形歧视?
#
23088次浏览
196人参与
#
招商银行数字金融训练营
#
106689次浏览
917人参与
#
面试中,你被问过哪些奇葩问题?
#
95453次浏览
1221人参与
#
学历VS实习,哪个更重要?
#
1263次浏览
37人参与
#
你都用vibe coding做过什么?
#
20370次浏览
772人参与
#
AI Coding实战技巧
#
14739次浏览
292人参与
#
哔哩哔哩笔试
#
34923次浏览
142人参与
#
如果人生可以debug你会改哪一行?
#
12304次浏览
157人参与
#
海康威视求职进展
#
132178次浏览
551人参与
#
你现在一天AI几次?
#
12645次浏览
126人参与
#
机械人你觉得今年行情怎么样?
#
7814次浏览
96人参与
#
面试紧张时你会有什么表现?
#
33670次浏览
201人参与
#
Claude Code泄露源码
#
14682次浏览
200人参与
#
做完笔试后你收到面试了吗?
#
24959次浏览
214人参与
#
恒生电子笔试
#
20798次浏览
156人参与
#
Vibe Coding 会干掉初级岗位吗?
#
21710次浏览
218人参与
#
机械人,签完三方你在忙什么?
#
83755次浏览
265人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务