遗拾 2年前提问 Verdi VCS
1
零基础芯片验证课程学习体验如何?

我学习了数字芯片验证课程.
首先来说说我的学习心得,学习验证我觉得首先遇见的第一座大山就是SystemVerilog.我本人也是学习了Verilog之后纠结了很长时间才下狠心学习SV的.毕竟人很难接受全新的知识,比如从小就学习英语,技术角度现在还有很大一部分人只接受VHDL建模不接受Verilog.
当我学习SV公开课之后才发现其实根本就不是很难,就是心里那道坎.SV和Verilog之间的关系就是完善和加强的关系.就如同C和C++的关系,很多人看见面向对象这个词就直接放弃学习C++.实际上C++是对C的加强比如C结构体里面不能放函数,甚至为了模仿C++,用函数指针来模仿.C++则解决了这个问题而且把初始化弄成了构造函数,甚至函数名冲突还用了命名空间,重载,以至模板.
SV也是如此他完善了Verilog语法验证的一些难题,比如我举个简单的例子reg a;always@(b)a=b;在0时刻a到底是多少,如果是硬件一定是综合成连线类型等于b的值。但是验证时候则是x,因为语法来说b改变a才变。这个问题SV提供了always_comb解决了。
SV也更加规范,比如时钟采样问题,提供了clocking这样规范的定义。
SV也更加方便比如引入了总线interface,极大减轻了Verilog模块之间的连线问题,节省了大量的时间。甚至我以后写可综合代码都想用SV了。
这是我对SV的一些感受。它是更加完善了Verilog所以非常有必要学习,我也就有了动力学习UVM课程。因为UVM更加的方便了我。就如同C到C++引入了模板引入了标准库引入了STL一样。UVM也是多了很多成熟的库供我使用,使用起来非常方便安全,能让我验证思路更加的清晰明了。
UVM我学完了,和SV验证相比,它更加像是LINUX系统一样,而SV像是裸机,你想添加个设备,需要按照规矩写LINUX设备驱动,而裸机则是随便写驱动,而有系统的好处是帮你做了很多内存管理等等问题。UVM就是如此,架构都有了只需要你写和被测模型相关的模块。而且学习完UVM我深刻体会到为什么只有学习了方法学才能验证更大的项目,因为如果测试功能一样,把整套东西用SV自己去写,首先代码的复用性不强,做完一个工程可能下一个工程还需要重新写,而且需要写的东西过于多,过于复杂,自己调试就需要很长很长时间。
AHB2APB项目这个我真是一个主要推荐的课程的季老师是讲的真的特别好,会讲课,讲课不磕绊,一听就是大牛,听着痛快明白,有经验。

被浏览 :  450
收起
( 0 ) 评论