美文网首页
芯片验证学习资源和历程

芯片验证学习资源和历程

作者: icfg66 | 来源:发表于2020-04-10 16:10 被阅读0次

    学习完数字集成电路之后,学习芯片验证是一个很好的提高方向,接着可以并行地学习芯片设计,这就需要掌握计算机结构,指令集,操作系统等硬骨头。在此之前,学习芯片验证可以是个好过度,但是UVM这种通用验证方法学还是有一定门槛的,找了好多资料才满满摸到门道,这篇文章就来做个回顾和展望。

    大概循序渐进的流程是:先Verilog,后System Verilog,最后UVM。

    硬件模块和测试模块

    学这种语言首先非常重要的一点是,Verilog作为硬件描述语言,它一方面是描述硬件的行为,也就是它只是把脑中的硬件结构用这种语言描述,之后通过综合工具可以生成电路结构,最后转化为真实硬件,这一点不同于纯软件语言如C,Java等,所以在编写硬件模块时要做到心中有“硬件”。

    另外一点要特别注意:描述完硬件后,怎么知道它功能正确呢?总不能流片之后再检测吧,所以Verilog语言还要能够写外部激励、比较的模块,而这部分的代码更接近软件,因为我们在一个模拟环境下测试硬件代码是否正确,用软件写法更灵活,更能全面测试硬件的性能好坏。

    System Verilog就是为了提高测试模块的效率,所以在学习时你会看到很多数组、类、变量等和C++很像的语法,它们的目的都是为了更好地测试我们最先设计硬件模块,所以看书时一定要先分清他在介绍“测试模块”还是“硬件模块”,区分这点之后,看起书来会更清晰。

    仿真环境

    Q1、写好的verilog的硬件模块要如何转化为实际电路呢?
    可以用Quarturs或Vivado软件烧写到FPGA开发板。
    Q2、Verilog的测试模块哪里运行呢?
    可以用明导公司的Questa Sim或modelsim,推荐前者,因为它对System Verilog更友好,功能更齐全。

    Verilog

    学完数字电路,有一些C的基础就可以上手Verilog了,夏宇闻的《Verliog数字系统设计教程》是很好的入门教程,尽量自己动手仿照里面的案例。

    如果有条件可以买一个FPGA开发板,它可以将你写的硬件电路在板子上连好,甚至可以写一个CPU,然后可以直接查看板子来观察设计的电路对不对。某宝还会附带完整的学习资料,我最初的入门也是跟着里面的案例学习的。

    再推荐一个网站,上面有从易到难的Verilog编程题目,用它练练手能快速熟悉这种语言。https://hdlbits.01xz.net/wiki/Main_Page(有时登不上)

    System Verilog

    System Verilog 主要目的是希望更高效地测试硬件模块,因为现在的芯片集成度越来越高,许多模块都想集成到一起来降低成本,就是所谓的片上系统SOC。硬件模块越复杂,功能验证就越复杂,单纯用Verilog写testbench非常复杂,比如输入信号需要随机数,需要发送多种类型的数据等。System Verilog 借鉴了软件语言的特点,能够更加方便地为待测硬件提供激励、检测和结果比对,这三项也是芯片验证的基本模块,所有其他东西都是围绕这三方面展开的。再次提醒一下,

    " 验证模块"的代码倾向于软件,"硬件模块"的代码描述硬件。

    System Verilog的入门一般是“绿皮书”,斯皮尔写的《System Verilog验证——测试平台编写指南》,里面有丰富的语法案例。

    还有红皮书,路桑写的《芯片验证漫游指南》,配合他“腾讯课堂”V0公开课里的实战案例《大象装进冰箱系列》,可以对验证有一个基本的框架。

    另外钟文枫写的《System Verilog于功能验证》也提供了入门素材。

    如果上面资料还是很生硬,那么可以看看B站的课程SV语法入门,验证平台搭建打基础。

    特别提醒,这些资料可以并行地看,理论和实战相结合,我是先完成一部分《大象装进冰箱系列》的三个实验,对整个验证平台有实践上的认识,然后发现语法不懂的地方后,看B站视频,回顾Verilog验证部分。接着再模仿绿皮书的案例,最后继续完系列实验。

    UVM

    System Verilog搭建验证平台耗时较长,如果每一个测试都搭建新平台,效率还是不高,因此UVM把一些常用的平台函数或类封装了,以面向对象的方式给用户调取,省事不少。因此要学UVM,首先要打下System Verilog的基础,不然真的要看天书了!

    UVM的经典入门书有《The UVM Primer》,国内还有张强的《UVM实战》和《UVM应用指南》。

    希望有志芯片设计的朋友一起努力,资料分享:
    链接:https://pan.baidu.com/s/1vb0Zbslrml2tTRTm0ntKiQ
    提取码:y3lr

    相关文章

      网友评论

          本文标题:芯片验证学习资源和历程

          本文链接:https://www.haomeiwen.com/subject/afyrmhtx.html