steveicarus / iverilog

Icarus Verilog
https://steveicarus.github.io/iverilog/
GNU General Public License v2.0
2.79k stars 520 forks source link

Downgrade non-existing parameter to a warning (again) #1137

Open olofk opened 2 months ago

olofk commented 2 months ago

https://github.com/steveicarus/iverilog/commit/0ab1ed916fd3c6a3b55763fcaabcf00f18ceadf4 made it an error to apply non-existing parameters. While there are reasons for that, I would argue for reverting this change to make it a warning instead again. There are two semi valid reasons that I can cite.

  1. Having multiple tops in a simulation, it can get a bit fiddly to filter out which parameters go to which top. The easiest way tends to be to just apply all params to all tops
  2. Running alternatively gatelevel and RTL simulations with the same setup where the gatelevel model has consumed all parameters.
caryr commented 2 months ago

Both reasons can be solved by adding all the parameters to the top level/gate level modules and the error makes it obvious which parameters are missing.

I would not want to make this a warning in general, but we could possibly add an option to downgrade the error to a warning.