From: Martin W. <ic...@ma...> - 2020-05-11 08:59:48
|
We have a bunch of extensions documented in the extensions.txt file and more documented in https://iverilog.fandom.com/wiki/Verilog_Portability_Notes We have compiler flags to control some but not all of these, but I agree an overarching flag would be a good idea. I would also be happy for extensions to be disabled by default. Tests that require Icarus extensions are meant to be kept separate in the test suite by the regress-ivl1.list and regress-ivl2.list, but it's been a while since I verified the test suite against another simulator, so there may be some escapes in more recent tests. On 11/05/2020 08:38, Cary R. via Iverilog-devel wrote: > I have found a couple things that could be considered enhancements, but are clearly not supported by the standard. My question is should we have these enhancements controlled by a flag of some sort so people can restrict Icarus to only accept what is supported by the standard? For example pullup/pulldown should only support a single port. @* is really a single token and the binary ~& and ~| are not in the standard. There may be more. Is some new strict flag the correct thing for this? I think @* not being a single token is a bug and probably should be fixed. I'm personally of the opinion only standard/commonly supported functionality should be enabled by default and an extension flag should be used to enable the rest of this if it is kept. > > This would likely require reworking some of the tests to pull out the enhancements to have them be in a separate file. > Thoughts? |