【数字IC验证快速入门】1、浅谈数字IC验证,了解专栏内容,明确学习目标
导读:作者有幸在中国电子信息领域的排头兵院校“电子科技大学”攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思、清华紫光、联发科技等业界顶尖集成电路相关企业面授课程,对数字IC验证有了一些知识积累和学习心得。为帮助想入门前端IC验证的朋友,思忱一二后,特开此专栏,以期花最短的时间,走最少的弯路,学最多的IC验证技术知识。
文章目录
- 一、专栏内容
- 1.1、概览版
- 1.2、详细版
- 二、专栏技术栈目标
- 三、数字IC的岗位介绍
- 四、专栏内容规划
- 五、学习要求 - “三多”
一、专栏内容
1.1、概览版
- ①、本专栏涵盖数字IC验证工程师必须掌握的核心理论和技能
- ②、Linux操作系统(shell)、gvim文本编辑工具(正则表达,快捷键)、EDA逻辑仿真工具
- ③、Verilog语言、SystemVerilog验证和UVM验证方法学
- ④、SoC芯片设计验证实践项目(MCU)
- ⑤、带随机的随机激励生成,覆盖率驱动的验证策略,逻辑仿真技术,调试技术,断言技术
- ⑥、应用所学验证理论和结论解决数字电路系统中的功能验证问题
1.2、详细版
- ①、本专栏涵盖数字IC验证工程师必须掌握的核心理论和技能
- ②、Linux操作系统(shell)、gvim文本编辑工具(正则表达,快捷键)、EDA逻辑仿真工具(Mentor-Questasim和Sysnopsys-VCS是重点)
- 主流EDA厂商及其工具
- Cadence: NC-Sim
- Mentor: Questasim(Modelsim升级版)
- synopsys: VCS
- 主流EDA厂商及其工具
- ③、Verilog语言、SystemVerilog验证和UVM验证方法学
- C/Matlab --(人工实现算法)–> RTL --(EDA工具实现)–> CMOS
- DUT:Design under Test
- 通常用Verilog去完成DUT的RTL代码编写,它会被综合成电路和门级网表,最终流片。需要知道的是,设计工程师编写的RTL代码很难保证逻辑功能是完全正确的,验证工程师就需要去描述各种工作场景,发送激励来验证他的行为是否满足预期!
- TOM:Time Of Market 上市时间
- TestBench(验证环境)结构,由DUT决定
- DUT简单,TestBench通常使用
FLatten
结构 - DUT复杂、芯片迭代TOM(上市时间)要求高、Reusable(可重用)要求,TestBench通常使用
Hierarchical
结构,由此也就有了验证方法学,汇总成了UVM(Universal Verification Methodology - 通用验证方法学)。
- DUT简单,TestBench通常使用
- ④、SoC芯片设计验证实践项目(MCU)
- ⑤、带随机的随机激励生成,覆盖率驱动的验证策略;逻辑仿真技术,调试技术,断言技术
“带随机的随机激励生成,覆盖率驱动的验证策略”:属于UVM验证方法学,在RTL设计时会详细介绍
“逻辑仿真技术”:针对简单的逻辑,使用诸如Questasim的EDA工具做一些仿真
“调试技术”:发现BUG,如何分析BUG,有些BUG是DUT的,有些可能是TestBench的。
“断言技术”:TestBench和DUT是上图所示的马蹄形结构,TestBench只能看到DUT的接口,如果要看DUT内部的信号,这个时候就可以使用断言技术了,查看内部行为与预期是否一致!
验证的核心:完备性
- I、Design:实现功能点
- II、Verification:验证功能点
- ①、理解所有的功能点
- ②、验证所有的功能点
使用随机激励原因:
- I、设计的功能点如果细分下来,可能有上百万之多,验证此时无法做到一一覆盖,此时就有了随机激励的方法学。该种方法,以时间换空间,每天都不停的跑,但是每次跑的用例发出的激励都是不一样的。通过随机种子与时间相关联,时间不一样,随机种子不一样,随机激励不一样。
- II、使用随机激励,这样人为分析遗漏的地方也可能被涉及到!
使用覆盖率驱动原因:
- I、激励随机生成发送,那么我的验证达到什么程度才算验证完成?这时就有了:覆盖率驱动。前面灌激励随机,后面收集结果看覆盖率。看验的那些点,是否通过随机给覆盖到了。
- II、覆盖率分类:
- ①、功能覆盖率:看功能点是否达到。
- ②、代码覆盖率:通过工具分析,激励是否把代码的每一行,每一个分支及其组合都给覆盖到了。【行覆盖、条件覆盖、Toggle覆盖】
- ⑥、应用所学验证理论和结论解决数字电路系统中的功能验证问题
二、专栏技术栈目标
- 熟练使用Linux操作系统
- 熟练使用gvim文本编辑工具
- 熟悉使用EDA逻辑仿真工具Questasim和VCS
- 熟练掌握经典数字电路的Verilog RTL设计
- 熟练掌握System Verilog验证语言
- 熟练掌握UVM验证方法学
- 熟练掌握SoC芯片架构、应用场景和数据流向
- 熟练掌握AHB-SRAM/AHB-SD-Host/APB-SPI的验证流程、验证方法、验证重点和难点
- 掌握带约束的随机化验证策略和覆盖率驱动的验证策略
三、数字IC的岗位介绍
- 前端(RTL逻辑实现)
- 设计
- 验证(功能验证)
- EDA仿真验证(验证主流,本专栏重点)
- FPGA原型验证(系统级验证)
- 后端(RTL逻辑转化为netlist)
- BES(综合和timing)
- DFX(DFT针对制造缺陷,仅作测试;DFX除了制造,还有功能需要调试,也会在DFX设计中考虑)
注:对于前端而言,后续提升途径有:
- I、技术角度可走:架构工程师、系统工程师
- II、管理角度可走:验证Leader、项目经理、部门经理
四、专栏内容规划
数字IC验证工程师基础理论和技能
- LInux操作系统
- Gvim文本编辑工具
- 经典数字电路的Verilog RTL设计
- 逻辑仿真工具QuestaSim、VCS
SystemVerilog验证语言
- Questasim(VCS) + Labs(实验)
UVM验证方法学
- VCS + Labs(实验)
五、学习要求 - “三多”
- 多写代码
- 多做仿真
- 多做练习
【数字IC验证快速入门】1、浅谈数字IC验证,了解专栏内容,明确学习目标相关推荐
- 【数字IC验证快速入门】3、数字IC设计全流程介绍
导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...
- nft数字藏品如何卖出去(浅谈数字藏品的合规交易流程
nft数字藏品一般在网络平台上进行,一般而言,交易平台可以分为两类,一类是著作权人自己运营的官方网站(模式类似于平台内的"自营区"). 另一类是第三方交易平台,著作权人或经过其授权 ...
- 浅谈数字证书的今生前世
浅谈数字证书的今生前世 一.概述 1.1.加密 1.2.密钥 1.3.加密算法 1.3.1.对称加密 1.3.2.非对称加密 二.数字签名和数字证书的出现 2.1."故事"背景 2 ...
- 浅谈数字媒体艺术中的技术应用-4-技术路线和学习地图
我们先来看下制作一个互动展示装置的设计思路和技术实现. 当我们大脑里面有一个点子之后,怎么最终输出成一个互动展示装置呢?首先我们需要设计一个外观造型,其次我们需要评估一下这个装置的互动方式,是用VR眼 ...
- 浅谈数字媒体艺术中的技术应用-3-工具介绍(二)
上一篇文章介绍了数据可视化工具Processing和OpenFrameWorks,以及开源电子硬件Arduino和RaspberryPI.这一篇继续把剩下的几个工具进行逐一的介绍. 商用游戏引擎:Un ...
- 浅谈数字媒体艺术中的技术应用-1-技术概述
这个是我近期在某个大学做的讲座,主要针对的是数字媒体艺术专业的大一-大三的学生,大概听讲座的有100个学生,老师有6-8个.主要讲述了数字媒体艺术专业的同学不熟悉的计算机技术,但是他们到做毕设的时候确 ...
- python判断两个对象是否为相等使用的运算符是_Python入门_浅谈逻辑判断与运算符...
这是关于Python的第6篇文章,主要介绍下逻辑判断与运算符. (一) 逻辑判断: 如果要实现一个复杂的功能程序,逻辑判断必不可少.逻辑判断的最基本标准:布尔类型. 布尔类型只有两个值:True和Fa ...
- dom影像图形成数字地形图_浅谈数字正射影像图(DOM)的生产技术
浅谈数字正射影像图 (DOM) 的生产技术 杜 磊 [摘 要] 摘 要 : 利用航空摄影像片和遥感卫片生产制作正射影像图 , 是地形图测 绘方法的又一技术 , 它补充和完善地形图所有的缺陷 , 制作的 ...
- 【数字IC验证快速入门】36、UVM项目实践之APB_SPI(4)APB_SPI 激励(Sequencer)产生【Sequence 机制】
导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...
最新文章
- Windows 7时代即将终结!
- ECS 备份数据到NAS(一):使用Windows Server Backup工具
- oracle更新快捷方式的错误,oracle 11g数据库启动错误总结
- DFTug - Architecture Your Test Design
- 深度学习(二十三)Maxout网络学习-ICML 2013
- 深度学习(十二)稀疏自编码
- docker运行prometheus
- mysql的query cache_MySQL 缓存 Query Cache
- 【视频课】模型优化拆分!分别学习模型剪枝与模型量化理论与实践
- 无线通信技术协议-Zigbee 3.0
- 用PredicateBuilder实现Linq动态拼接查询
- .net framework 4.0安装_R4.0的源码安装——以mac为例
- linux生成手机号码字典,Linux下的字典生成工具Crunch 创造自己的专属字典
- Atitit.可视化与报表原理与概论
- 黑马程序员2022年最新软件测试学习路线
- EXCEL-日常技巧整理-2-单元格拆分后原数据填充
- 真正拖垮打工人的,是沉没成本
- Java面试知识点(零)Java零碎知识点
- 浏览器JSON的插件(JSON-handle)使用问题
- 迅为IMX6Q开发板 Buildroot文件系统mqtt测试