yosys/kernel
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
..
binding.cc Generate an RTLIL representation of bind constructs 2021-08-13 17:11:35 -06:00
binding.h Generate an RTLIL representation of bind constructs 2021-08-13 17:11:35 -06:00
bitpattern.h Fixing old e-mail addresses and deadnames 2021-06-08 00:39:36 +02:00
calc.cc Add bitwise `$bweqx` and `$bwmux` cells 2022-11-30 18:24:35 +01:00
cellaigs.cc cellaigs: Drop initializer list in call to `IdString::in` 2023-08-14 11:42:19 +02:00
cellaigs.h Fixing old e-mail addresses and deadnames 2021-06-08 00:39:36 +02:00
celledges.cc Add $bmux and $demux cells. 2022-01-28 23:34:41 +01:00
celledges.h Fixing old e-mail addresses and deadnames 2021-06-08 00:39:36 +02:00
celltypes.h Revert changes to celltypes.h. 2023-10-03 14:06:41 -07:00
consteval.h Remove set but unused variable 2022-05-27 12:37:03 +02:00
constids.inc memory_libmap: look for ram_style attributes on surrounding signals 2023-10-19 19:23:35 +02:00
cost.h Fixing old e-mail addresses and deadnames 2021-06-08 00:39:36 +02:00
driver.cc cli: Cleanups for tcl argument handling 2023-11-06 16:40:13 +01:00
ff.cc Add the $anyinit cell and the formalff pass 2022-08-16 13:37:30 +02:00
ff.h Add the $anyinit cell and the formalff pass 2022-08-16 13:37:30 +02:00
ffinit.h Add new helper class for merging FFs into cells, use for memory_dff. 2021-05-23 14:46:59 +02:00
ffmerge.cc Fix a regression from #3035. 2021-10-08 15:44:07 +02:00
ffmerge.h Add new helper class for merging FFs into cells, use for memory_dff. 2021-05-23 14:46:59 +02:00
fmt.cc cxxrtl: refactor the formatter and use a closure. 2024-01-16 16:35:51 +00:00
fmt.h cxxrtl: refactor the formatter and use a closure. 2024-01-16 16:35:51 +00:00
fstdata.cc Fixes for some of clang scan-build detected issues 2023-01-17 12:58:08 +01:00
fstdata.h Start restoring memory state from VCD/FST 2022-05-04 10:41:04 +02:00
hashlib.h Add constexpr hashlib default constructors 2023-12-29 19:20:44 +01:00
json.cc Support for BTOR witness to Yosys witness conversion 2023-01-11 18:07:16 +01:00
json.h Support for BTOR witness to Yosys witness conversion 2023-01-11 18:07:16 +01:00
log.cc change verific log callback api 2023-11-01 08:13:27 +01:00
log.h change verific log callback api 2023-11-01 08:13:27 +01:00
macc.h Fixing old e-mail addresses and deadnames 2021-06-08 00:39:36 +02:00
mem.cc mem: only import attributes from ports if the memory doesn't have them yet 2023-10-30 16:31:53 +01:00
mem.h Add proc_rom pass. 2022-05-13 00:37:14 +02:00
modtools.h remove template declaration that stops function from being used 2023-01-11 16:09:05 +01:00
qcsat.cc Add $bmux and $demux cells. 2022-01-28 23:34:41 +01:00
qcsat.h Refactor common parts of SAT-using optimizations into a helper. 2021-08-09 16:54:35 +02:00
register.cc Fixes for some of clang scan-build detected issues 2023-01-17 12:58:08 +01:00
register.h Fixing old e-mail addresses and deadnames 2021-06-08 00:39:36 +02:00
rtlil.cc Merge pull request #3959 from rmlarsen/decode_string 2023-10-02 16:38:43 +02:00
rtlil.h rtlil: Fix value type for iterator over `SigSpec` 2023-12-09 19:01:39 +01:00
satgen.cc Add bitwise `$bweqx` and `$bwmux` cells 2022-11-30 18:24:35 +01:00
satgen.h sat: Add -set-def-formal option to force defined $any* outputs 2022-11-28 14:50:52 +01:00
sigtools.h Fixing old e-mail addresses and deadnames 2021-06-08 00:39:36 +02:00
timinginfo.h sta: very crude static timing analysis pass 2021-11-25 17:20:27 +01:00
utils.h Get rid of double lookup in TopoSort::node(). This speeds up typical TopoSort time overall by ~10%. 2023-10-06 12:53:05 -07:00
yosys.cc Fix readline/editline memory leak 2023-10-06 16:05:44 +02:00
yosys.h Fix compiler warnings from GCC. 2023-10-03 09:29:06 +01:00
yw.cc Remove a statement without effect. 2023-04-17 10:53:05 -07:00
yw.h sim/formalff: Clock handling for yw cosim 2023-01-11 18:07:16 +01:00