电路板玩家小王
老哥,我五年前从FPGA转的验证,说说我的经验。SystemVerilog里,类、随机化、覆盖率这三大块必须死磕。类不用说了,UVM全是类搭建的。随机化要学到能熟练写复杂约束,比如数组大小动态约束、条件约束。覆盖率要理解covergroup怎么定义,怎么分析覆盖率报告。
UVM的核心是那几个组件(uvm_agent、uvm_sequence等)和phase机制(build、connect、run等)。建议直接上手练,光看书容易懵。可以在GitHub上找些简单的UVM项目,比如一个RAM的验证环境,先读懂再自己模仿写一遍。
没流片项目没关系,自己用UVM验证一个稍复杂的模块,比如一个图像处理中的滤波器(你熟悉领域),把验证点列全,随机测试跑够,覆盖率做到95%以上。面试时重点展示这个完整过程,比泛泛而谈更有说服力。注意避开一个坑:别在环境搭建上追求大而全,先把一个模块验深验透。
