1. 介绍
数字芯片的设计往往需要伴随着验证人员对设计人员设计的HDL代码进行验证,以验证其代码架构对所需功能是否完备。
本篇blog旨在描述数字IC验证初学者所必须的基本技能,有需要的同学自取哈。
2. 所需技能
有意向的同学也可以完全按照下面的顺序进行学习。
● Verilog
属于硬件描述语言的一种。可用于数字电子系统设计,进行数字逻辑系统的仿真验证、时序分析、逻辑综合,是目前应用最广泛的一种硬件描述语言。
● Systemverilog
以Verilog语言为基础进行拓展,引入了面向对象设计技术,可更加灵活的进行设计,以满足数字验证的各种需求。
● UVM
用Systemverilog语言搭建的验证框架,基于该框架可对各种级别模块进行验证,是如今最流行的数字验证框架。
通用验证方法学(Universal Verification Methodology, UVM):简介及内容导航
● Linux
数字IC基本是在Linux环境下进行设计和验证,因此Linux基本操作必不可少!
● TCL
一种脚本语言,是大多数EDA工具的交互命令语言,所以跨平台复用性高。
● VCS
学会了语言和框架,就需要一个软件平台来仿真,VCS一种常用的仿真工具。
基于Makefile实现VCS的编译、仿真与Verdi的波形查看
当然,在Windows下使用modelsim和questasim进行仿真也可以。
Questasim使用入门指导
● Python/C++
使用UVM搭建的验证平台中,参考模型reference model需要使用C/C++编写的模块。
对于算法类的数据仿真,常使用Python/MATLAB设计参考模型。
● SVN
一种版本控制工具,有需要者自取。
3. 未来
在学习完上述基本技能后,接下来就要根据具体的工作场景和项目要求进行针对性的学习,包括总线接口、技术协议等。