iverilog/tgt-vlog95
Lars-Peter Clausen 5ef847ea87 Support type parameters
SystemVerilog supports type parameters. These are similar to value
parameters, but they allow to pass a type to a module or similar when
instantiating it.

E.g.

```
module A #(parameter type T = int);
endmodule

module B;
  A #(.T(real)) i_a;
endmodule
```

Add support for handling type parameters.

For the vlog95 and vhdl backends type parameters, similar to typedefs, get
replaced with their actual value. For modules with non-local type
parameters for each module instance a unique module or architecture is
generated with the actual type.

Querying type parameters through VPI is not yet supported.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2022-12-11 13:50:14 -08:00
..
Makefile.in Update cppcheck to not run posix and add some -U flags 2021-01-02 13:23:59 -08:00
cppcheck.sup Update tgt- directories with cppcheck suggested fixes 2021-01-02 13:31:26 -08:00
event.c Add support for SV edge 2021-01-07 01:22:49 -08:00
expr.c Fix the vlog95 -> and <-> expression code for wide results 2020-12-01 00:04:00 -08:00
logic_lpm.c Add support for zero-based variable index part selects in a CA 2021-01-11 23:26:34 -08:00
misc.c Update vlog95 target to handle buffers/tran_vps used to prevent port collapsing. 2020-05-07 23:05:52 +01:00
numbers.c Update tgt- directories with cppcheck suggested fixes 2021-01-02 13:31:26 -08:00
scope.c Support type parameters 2022-12-11 13:50:14 -08:00
stmt.c Add compiler and the start of vvp support for ->> 2021-02-19 23:21:51 -08:00
udp.c vlog95: Major rework of nexus emitting code, etc. 2012-01-02 11:29:42 -08:00
vlog95-s.conf Renamed synthsplit to exposenodes. 2016-02-27 20:24:28 +00:00
vlog95.c Update main component Copyright to 2021 2021-01-10 14:32:30 -08:00
vlog95.conf vlog95: block generating a concat-Z LPM device in the compiler. 2013-02-13 19:19:21 -08:00
vlog95_priv.h Handle SV void functions in vlog95 target. 2019-11-09 16:14:09 +00:00