文章目录
- SoC验证方法学思考
-
- 为什么要去 FFT 变换?
- 为什么要学这样去体结构?
- 什么是验证?
- 为什么要验证?
- 为什么业界会选择 SV 和 uvm?
- 什么是UVM?
- 为什么 SV 会作为主流
- 验证思维的出发点?
- 1、为什么要使用随机化验证策略?带约束的随机类的语法和使用(权重约束和条件约束等都会考察)
- 2、采用什么样的策略,使覆盖率达到100%?
- 3、从流程上,如何保证芯片验证的质量?验证代码覆盖率与功能覆盖率如何相互保证验证质量?
- 4、功能覆盖率与代码覆盖率之间的关系?
- 5、覆盖率有哪些?
- 6、如何收集RTL代码覆盖率的数据?比如逻辑仿真工具收集覆盖率的编译和仿真的选项是什么?
- 7、 如何排除不需要统计在内的RTL代码,也就是通过代码覆盖率的分析,很多代码是不需要做覆盖率的统计,比如else分支的缺失,default的full case语句等?
- 8、谈谈验证的思想,验证人员和设计人员思考问题的差异?
- 9、验证的流程,如何保证验证的完备性?
- 10、什么是回归?我们为什么要去做回归?
- 11、项目中会考虑哪些coverage
- 12、如果有很多测试用例,如何让它们自动执行?
- 13、怎么编写测试用例?
- 14、如何保证验证的完备性?
- 15、形式验证
SoC验证方法学思考
为什么要去 FFT 变换?
是其实我们的时域的世界和频域的世界是从不同的角度看待同一个世界的两种的观点就是等于是我看同一个问题会有两种不同的看法,一个是在时域和在频域。
为什么要学这样去体结构?
你要知道一个逻辑是从传统的计算机体系结构到后续的 SOC 其实它是有关联度的。我们的所谓的计算机体结构无外乎是一个整体架构是什么样的?是有一个大 CPU 有个中断处理器,有个总线有个是等等。后面的 SOC 就在这个体系里面慢慢地延展起来了。 SOC 很多东西是从技能体系结构里面来的,有些必要的东西是从技能体系业务来的
什么是验证?
百度百科里面其实解释就是经过检验得到证实。我的理解是验证是一个过程,这个过程是去验证一个转换的过程是等价的。这个转换过程是什么呢?这个转换过程可能会有很多,可能会从我的想法进入到算法,可能会从我们的算法进入到我们的所谓的系统的 spec 可能会从我的系统 spec 变成我们的RTL ,这个每一个环节其实都是验证,就是验证可能不仅仅包含数字前端验证,因为你们现在看到的更多是数字前端验证,也就是说 icverfication 也就是 I fund icverfication 其实每个环节都需要
根据SPEC来证明RTL与功能的等价性。