verilog: support recursive functions using ternary expressions
authorZachary Snow <zach@zachjs.com>
Fri, 12 Feb 2021 19:25:34 +0000 (14:25 -0500)
committerZachary Snow <zach@zachjs.com>
Fri, 12 Feb 2021 19:43:42 +0000 (14:43 -0500)
commit8de2e863af4233aca0a0ca0eef4477d216f7a227
tree4854ab4fb9acbee14151db50dd09795825954bbd
parent9f7cd10c9887df7a8fb8e0d587955d5a03b60c52
verilog: support recursive functions using ternary expressions

This adds a mechanism for marking certain portions of elaboration as
occurring within unevaluated ternary branches. To enable elaboration of
the overall ternary, this also adds width detection for these
unelaborated function calls.
frontends/ast/ast.h
frontends/ast/genrtlil.cc
frontends/ast/simplify.cc
tests/various/fib_tern.v [new file with mode: 0644]
tests/various/fib_tern.ys [new file with mode: 0644]