SystemVerilog验证报错解决方案

1.在initial块外定义全局变量,赋值时会报语法错误。

其原因是在SV程序结构中,initial外的语句都要经过elaboration。等于号“=”会被默认理解为硬件描述语言,而硬件描述语言中“=”操作前需要跟assign。

加入assign之后尽管不报错了,但输出结果不对。

只有将其写为软件程序的格式才能保证输出成功: