I am instantiating a module in SystemVerilog that has a lot of parameters. One of them (this is actually someone else's code) does not exist in the module definition. What will the compiler do in this case? Does it just ignore the non-existent parameter?

Here's what I mean:

Module definition:

module DummySystemVerilogModule 
# (
parameter parameter0 = 64'd0,
parameter parameter999 = 64'd999
) (
input wire port0,
output wire port1 )
[Body of module]


DummySystemVerilogModule # (
.parameter0 (parameter0value),
.parameter999 (parameter999value),
.nonexistentparameter (.nonexistentparametervalue)
) (
.port0 (wire0),
.port1 (wire1)

Will the compiler simply ignore the nonexistent parameter I accidentally added in the instantiation of the module?

  • \$\begingroup\$ I did not mean to put the . in the nonexistentparameter value, but you get a what I mean. \$\endgroup\$
    – John Jones
    Jun 2, 2017 at 16:47

1 Answer 1


You should get a compiler error if you try to reference an identifier that doesn't exist. That's true for a parameter, port, argument, etc.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.