%Error: t/t_param_noval_bad.v:6: Parameter without initial value is never given value (IEEE 1800-2017 6.20.1): 'P' : ... In instance t module t #(parameter P); ^ %Warning-WIDTH: t/t_param_noval_bad.v:9: Logical Operator GENFOR expects 1 bit on the For Test Condition, but For Test Condition's VARREF 'P' generates 32 bits. : ... In instance t for (j=0; P; j++) ^~~ ... Use "/* verilator lint_off WIDTH */" and lint_on around source to disable this message. %Error: t/t_param_noval_bad.v:9: Non-genvar used in generate for: 'j' : ... In instance t for (j=0; P; j++) ^~~ %Error: t/t_param_noval_bad.v:9: Loop unrolling failed. : ... In instance t for (j=0; P; j++) ^~~ %Error: t/t_param_noval_bad.v:9: Unsupported: Can't unroll generate for; Unable to unroll loop : ... In instance t for (j=0; P; j++) ^~~ %Error: t/t_param_noval_bad.v:9: For loop doesn't have genvar index, or is malformed : ... In instance t for (j=0; P; j++) ^~~ %Error: Internal Error: t/t_param_noval_bad.v:9: ../V3Param.cpp:#: GENFOR should have been wrapped in BEGIN : ... In instance t for (j=0; P; j++) ^~~