天天看点

笔记:路科V0第0节——跟着路桑学SV

课程链接:https://www.bilibili.com/video/BV1k7411H7Jo?p=1

开始就是和红宝书一样介绍芯片设计的流程

设计和验证不会外包,因为会涉及到公司的核心机密。后端可以外包。

验证相比设计更“软”,软件思维同样很重要。

在路科后台发送“薪资”会出现最新的薪资表。

验证技术分为三个方面:1)最重要的动态验证技术,通俗而言就是利用仿真器(simulator)来对数字电路进行激励发送和结果检查。以前针对FPGA的验证手段已经不够用了,即便是把上百块的FPGA板子连在一起也难以完成一个soc级的设计。动态验证技术包括:①代码覆盖率(Code Coverage)②功能覆盖率(Functional Coverage)③断言(Assertions)④随机约束。这些在SV那本书里都会学到。还会用到C,因为SOC里面有处理器,只要有处理器,那一定会跟C、C++的编译,定向测试相关(还不太懂)。

2)静态验证技术:与动态差别很大,分为人工和自动。

3)硬件加速:Emulation(模拟器)和FPGA原型开发。在soc尺寸增大的同时,也让原本的动态仿真方案的速度迅速下降,很难满足开发者的要求。Emulation和FPGA原型开发是在soc开发中后期(这就决定了它永远只是个辅助手段,和动态验证相比岗位不多,需求不大,需要的创新性弱,前途差)系统趋于稳定时,将其作为逻辑功能容器进行原型(prototyping)开发。相比于动态仿真,它的速度更快,但可调试性变差,价格更高。在目前soc复杂程度增加的情况下,越来越多的IC设计公司都把这种手段引入了验证过程中。FPGA原型开发更多是用来进行软件开发以及IP开发,因为一个IP的尺寸没有很大,往往更适合FPGA。

知识背景:verilog,c/c++,数电、

如何学习SV:《SystemVerilog验证》(绿皮书),这本书是Synopsys里的一个工程师写的。SV和其他语言最大的不同在于SV只能用来做验证,每个特性都有自己的应用场景,所以需要熟能生巧。

路科V0六个实验的实验指导:https://shimo.im/docs/Mm30Md2P2RTaFpqG?fallback=1

注意:文档里的实验都是基于Questasim去实现的而不是Modelsim,Questasim的下载安装都在上面的网站里,路桑说安装前要卸载Modelsim,我也不知道为什么我自己还没装,毕设没完成所以没发卸载Modelsim。

后面就是答疑环节,去看下一节课了。我是集成专业的,所以上面的课程背景我基本都学过,一些讲给非集成背景的同学听得内容我就没有记,建议这些同学去听一下第一节课,可以说是干货满满,今年刘斌老师的SV的课不在西电本部了,转到了广研院(哭晕)。

继续阅读