数字IC工程师入门学习资料
目录
- 背景
- IC开发流程
- 一、基础软件的安装
- VNC_Viewer安装
- 二、Synopsys软件使用
- 2.1 VCS的使用
- 2.2 Verdi的使用
- 2.3 VCS与Verdi联合仿真的实例
- 2.4 DC的使用
- 2.5 Formality的使用
- 三、IC常用脚本语言
- 3.1 Linux命令
- 3.2 TCL脚本语言
- 四、总结
- 五、补充
背景
本文旨在记录我在大三时作为数字ic工程师实习期间,在学习过程中所找到的一些学习资料,同时最后也会总结应该如何去入门此岗位,希望能够让更多想要从事数字ic开发的同学们对此行业实际工作内容有一些浅薄的了解,从而更好入门此行业。
IC开发流程
要理解下面每个软件在数字IC中的角色,需要先对IC的整个开发过程有所了解,下面是一些关于IC开发流程的文章:
https://blog.csdn.net/weixin_42294124/article/details/123534319?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%95%B0%E5%AD%97ic%E8%AE%BE%E8%AE%A1%E9%A1%B9%E7%9B%AE&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-123534319.142%5Ev65%5Econtrol,201%5Ev3%5Econtrol_2,213%5Ev2%5Et3_esquery_v3&spm=1018.2226.3001.4187
https://www.cnblogs.com/hxing/p/14624497.html
一、基础软件的安装
VNC_Viewer安装
公司中一般是用VNC_Viewer去连接到服务器中进行使用,避免了需要重装相关软件及库的问题,并且支持多人开发,每个人都有一个home,咱们一开始可以先去看看别人的home中的目录结构及关键脚本是如何去编写的,作为建立自己home工作目录的参考。
安装教程可看:
https://blog.csdn.net/yushaoyyds/article/details/133926519?spm=1001.2014.3001.5506
当然,公司中IT部门的人员一般都会直接给你安装包,然后在虚拟机服务器上为你注册好一个端口让你能在VNC中连接上服务器进行使用。
这部分操作不需要进行掌握,如果有想了解或想在自己电脑上部署VNC连接虚拟机进行学习的可以参考以下这篇文章:
https://blog.csdn.net/wamath/article/details/76003128?spm=1001.2014.3001.5506
二、Synopsys软件使用
本人所在公司主要是使用Synopsys的软件去进行IC开发,如VCS、Verdi、DC、Formality……
强烈建议可以先去了解一下当前主流的EDA厂家以及各个软件发挥的功能作用,以便能够有一定的框架去进行学习:
https://www.cnblogs.com/wenyangblog/p/18975851#3-synopsys-%E6%96%B0%E6%80%9D%E7%A7%91%E6%8A%80
2.1 VCS的使用
首先是VCS软件,主要用于去对RTL代码进行编译仿真处理,生成波形文件供Verdi进行观察使用。
这个可以先直接参考一个简单的VCS与Verdi联合仿真的例子,以便对这两个软件有初步的认识:
https://blog.csdn.net/JasonFuyz/article/details/107508893?spm=1001.2014.3001.5506
详细使用方法可以参考下面这篇文章(强烈建议先看2.3进行操作,遇到不懂的再回来仔细看此文章):
https://www.cnblogs.com/wenyangblog/p/18975947#vcs%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B-synopsys-vcs-simulator-tutorial
2.2 Verdi的使用
Verdi主要是用来看波形的,详细使用教程如下:(强烈建议先看2.3进行操作,遇到不懂的再回来仔细看此文章):
https://mp.weixin.qq.com/s?__biz=MzkwNjM5NTM5Mw==&mid=2247485117&idx=1&sn=02408c4d577c4709660b32f2fc8e9b8a&chksm=c0e86cd3f79fe5c523b8dbf83ba0f5fb77d9c38bcd5babc3676aa6e08251f10ea8c54182728c&scene=21#wechat_redirect
2.3 VCS与Verdi联合仿真的实例
以下这篇文章是我在公司实习时,学习到的有关VCS编译仿真的目录框架以及运行脚本:
https://blog.csdn.net/2301_79889828/article/details/157429262?spm=1001.2014.3001.5502
清晰的目录框架有利于更好的学习以及多人协同合作,运行脚本则可以避免重复性操作,大大提高工作效率。
2.4 DC的使用
DC相较于VCS和Verdi来说,复杂不少,需要花更多的时间慢慢去理解。
关于DC的详细入门操作,可以参考此博主发的一些有关DC的文章:
https://www.cnblogs.com/wenyangblog
https://www.cnblogs.com/li2000/p/17960251/ICdigital-SDC#_label4_0
DC关键流程介绍:
https://zhuanlan.zhihu.com/p/129059203
下述这篇文章是我参考上述资料结合公司DC使用的目录框架及脚本信息所写,可作为实战示例进行参考:
https://blog.csdn.net/2301_79889828/article/details/157510757?spm=1001.2014.3001.5502
2.5 Formality的使用
Formality有两种验证方式,一种是命令行模式,一种是图形化界面。公司中一般使用命令行模式进行验证,图形化界面较为简单,可以做简单入手。
图形化界面教程可参考:
https://www.cnblogs.com/wojiaxiaoguo/p/10301635.html
命令行模式可参考我所写文章:
https://blog.csdn.net/2301_79889828/article/details/157693330?spm=1001.2014.3001.5502
三、IC常用脚本语言
在上述开发设计中,涉及到各种脚本语言的使用,首先最基础的当然是linux命令的使用,毕竟整个系统都是在虚拟机中跑的。
然后便是在使用Synopsys软件进行IC开发时所使用到的脚本语言,例如在VCS编译仿真时所用到的run_vcs.sh脚本、filelist.f中用到的Makefile脚本语言、DC中用到的TCL脚本语言以及DC特定的指令……
在使用上述这些Synopsys软件进行IC开发时,由于每次的运行命令是繁琐且重复的,因而在公司开发过程中,一般都是将这些命令写入脚本中,而后只需要运行脚本即可自动执行一系列操作指令,可以大大的提高工作效率并且不易出错。
以下所给的只是这些脚本语言的一些入门知识以及常见指令,不建议一开始就全部都细看一遍,建议在IC开发过程中使用到这些脚本语言之后,遇到不会的指令再去翻看这些手册,或者直接去问AI,多用多学,自然而然就会对这些基础脚本语言的指令有一定的理解与储备。
强烈建议有自己的学习笔记,可以是有关脚本语言指令的,遇到不会的自己去查找资料或询问AI,然后将相关指令的作用总结到自己的学习笔记中去。
3.1 Linux命令
Linux指令查找表:
https://linux-commands.labex.io/zh
高频Linux命令的入门指南:
https://zhuanlan.zhihu.com/p/1931760918187995596
常用基础Linux命令大全:
https://blog.csdn.net/m0_46422300/article/details/104645072
我的Linux指令学习笔记:
https://blog.csdn.net/2301_79889828/article/details/157428609?sharetype=blogdetail&sharerId=157428609&sharerefer=PC&sharesource=2301_79889828&spm=1011.2480.3001.8118
3.2 TCL脚本语言
基础入门:
https://blog.csdn.net/TenYao_/article/details/129037513?spm=1001.2014.3001.5506
SDC语法学习:
https://blog.csdn.net/weixin_40117931/article/details/140109869
https://blog.csdn.net/weixin_45791458/article/details/134188262
四、总结
本文主要是对数字IC中的前端仿真工具进行了一些简要的介绍与示例,至于后端工具的使用,后续如果学习到的话,会继续对此文章进行完善。
由于博主水平有限,此文章也是仅仅实习了两周不到发布的。故若文章中有什么错误或可以补充完善的地方,欢迎在评论区评论或者私信我,十分感谢!
五、补充
如果需要下载Synopsys相关软件进行自学,可以参考以下一些关于Synopsys软件的安装教程(安装教程中有提供安装包):
B站:
https://www.bilibili.com/video/BV15kW8eFEiR/?spm_id_from=333.1387.collection.video_card.click&vd_source=e60a8e39204e9575e9a07ac9f23f8047
博客:
https://blog.csdn.net/weixin_40377195/article/details/109788338?spm=1001.2014.3001.5506
建议先看上述B站视频与文章
其它Synopsys软件安装包补充:
https://blog.csdn.net/qq_33589780/article/details/108720685?spm=1001.2014.3001.5506
注: 此篇文章安装方法稍有不同,若先采用了B站的安装方法,则只需参照B站的安装方法进行安装即可,但其中安装DC后运行时产生的一些错误可以参考上述这篇文章









