写在前面:之前的博客都是纯理论,虽然基础理论也很重要,但是最近几个月的实习,让我越来越感受到把理论(包括对SV语法的掌握,以及UVM体系的理解)转化成Coding不是一蹴而就的。所以决定把近期所学整理成一个“Hands-on Coding”系列,便于学习与进步。
一 cfg的基本结构介绍
cfg class里一般有以下部分:
- 会在seq里被频繁调用的变量、class、interface、function等
- randomize时的constraints,尤其是register的constraints
- 会在cfg外被调用的变量、interface、class等需要用uvm_field_object来注册
- class的基本函数:new, build, do_print等
- 各种可以复用的configuration都能写进cfg class里
二 模板化的代码例程