yosys/tests/fmt
Catherine a33acb7cd9 cxxrtl: refactor the formatter and use a closure.
This commit achieves three roughly equally important goals:
1. To bring the rendering code in kernel/fmt.cc and in cxxrtl.h as close
   together as possible, with an ideal of only having the bigint library
   as the difference between the render functions.
2. To make the treatment of `$time` and `$realtime` in CXXRTL closer to
   the Verilog semantics, at least in the formatting code.
3. To change the code generator so that all of the `$print`-to-`string`
   conversion code is contained inside of a closure.

There are two reasons to aim for goal (3):
a. Because output redirection through definition of a global ostream
   object is neither convenient nor useful for environments where
   the output is consumed by other code rather than being printed on
   a terminal.
b. Because it may be desirable to, in some cases, ignore the `$print`
   cells that are present in the netlist based on a runtime decision.
   This is doubly true for an upcoming `$check` cell implementing
   assertions, since failing a `$check` would by default cause a crash.
2024-01-16 16:35:51 +00:00
..
fuzz fmt: merge fuzzers since we don't rely on BigInteger logic 2023-08-11 04:46:52 +02:00
.gitignore fmt: add tests for Verilog round trip of format expressions. 2023-08-11 04:46:52 +02:00
always_comb.v cxxrtl: WIP: adjust comb display cells to only fire on change 2023-08-11 04:46:52 +02:00
always_comb_tb.cc cxxrtl: include iostream when prints are used 2023-08-17 07:08:22 +02:00
always_comb_tb.v cxxrtl: store comb $print cell last EN/ARGS in module 2023-08-11 04:46:52 +02:00
always_display.v fmt: add tests for Verilog round trip of format expressions. 2023-08-11 04:46:52 +02:00
always_full.v verilog_backend: emit sync `$print` cells with same triggers together 2023-08-11 04:46:52 +02:00
always_full_tb.cc cxxrtl: refactor the formatter and use a closure. 2024-01-16 16:35:51 +00:00
always_full_tb.v verilog_backend: emit sync `$print` cells with same triggers together 2023-08-11 04:46:52 +02:00
display_lm.v fmt: rudimentary %m support (= %l) 2023-08-11 04:46:52 +02:00
display_lm_tb.cc cxxrtl: include iostream when prints are used 2023-08-17 07:08:22 +02:00
initial_display.v fmt: format %t consistently at initial 2023-08-11 04:46:52 +02:00
roundtrip.v fmt: add tests for Verilog round trip of format expressions. 2023-08-11 04:46:52 +02:00
roundtrip_tb.v fmt: add tests for Verilog round trip of format expressions. 2023-08-11 04:46:52 +02:00
run-test.sh Merge pull request #3887 from kivikakk/env-bash 2023-12-18 16:33:35 +01:00