SystemVerilog模块定义例化及接口

今天我们主要跟随《漫游》模块定义例化(7.2节)及接口(7.3节)

模块定义及例化这里,我们主要强调一个地方,就是参数化及宏的使用。在实际项目中,参数化是和宏是非常常用的。在设计中,我们要求所有变量都要通过宏来表示,没有宏名称表示的数字,我们会戏称其为“魔鬼数字”,因为其含义需要追溯才能理解,不便于调试及模块代码传承。但是验证环境中,由于需要兼顾效率,所以要求没有这么严格。

接口这里,我们一定是采用连接方式2,引用《漫游》下图所示:

SystemVerilog模块定义例化及接口_第1张图片

因为环境对复用性的要求非常高,这样的连接方式有利于实现模块化、组件化。

下面这句话也非常重要:

“此外要再次强调,如果用interface中的信号与DUT相连接,那么应该是四值逻辑,即logic/reg/wire等,而不是二值逻辑(bit/int/byte等)。这么做的考虑是,要确保在今后的stimulator到DUT的驱动场景或者DUT到monitor的数据采集场景中,硬件部分的X或Z信号不会被默认转换以至于丢失。”

这里往往是要求强制执行的,原因还是团队成员流动导致的验证水平的差异,我们需要通过明确的规则来抹平这个差异,让整个团队每个成员都能够在及格线上工作,提升流片成功率。

你可能感兴趣的:(功能测试)