Initial implementation of elaboration system tasks
authorUdi Finkelstein <github@udifink.com>
Fri, 3 May 2019 00:10:43 +0000 (03:10 +0300)
committerUdi Finkelstein <github@udifink.com>
Fri, 3 May 2019 00:10:43 +0000 (03:10 +0300)
commitac10e7d96da4965751fd60a8dd42a8998c011c39
tree88926f01f42afee890ad8bed010977ce4b95a126
parent98925f6c4be611434e75f0ccf645a7ef8adcfc63
Initial implementation of elaboration system tasks
(IEEE1800-2017 section 20.11)
This PR allows us to use $info/$warning/$error/$fatal **at elaboration time** within a generate block.
This is very useful to stop a synthesis of a parametrized block when an
illegal combination of parameters is chosen.
frontends/ast/ast.cc
frontends/ast/ast.h
frontends/ast/genrtlil.cc
frontends/ast/simplify.cc
frontends/verilog/verilog_lexer.l
frontends/verilog/verilog_parser.y
kernel/log.cc
kernel/log.h
tests/various/elab_sys_tasks.sv [new file with mode: 0644]
tests/various/elab_sys_tasks.ys [new file with mode: 0644]