mirror of
https://github.com/YosysHQ/yosys
synced 2025-10-26 09:24:37 +00:00
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. |
||
|---|---|---|
| .. | ||
| fuzz | ||
| .gitignore | ||
| always_comb.v | ||
| always_comb_tb.cc | ||
| always_comb_tb.v | ||
| always_display.v | ||
| always_full.v | ||
| always_full_tb.cc | ||
| always_full_tb.v | ||
| display_lm.v | ||
| display_lm_tb.cc | ||
| initial_display.v | ||
| roundtrip.v | ||
| roundtrip_tb.v | ||
| run-test.sh | ||