kernel/ff: Refactor FfData to enable FFs with async load.
authorMarcelina Kościelnicka <mwk@0x04.net>
Fri, 1 Oct 2021 21:50:48 +0000 (23:50 +0200)
committerMarcelina Kościelnicka <mwk@0x04.net>
Sat, 2 Oct 2021 18:19:48 +0000 (20:19 +0200)
commit63b9df8693840d17def8abcb0e848112283b0231
tree7cb46fa0119760ef17d9d8d3999090cb71342d40
parentec2b5548fe9b8d291365a84a0c3fc87654643359
kernel/ff: Refactor FfData to enable FFs with async load.

- *_en is split into *_ce (clock enable) and *_aload (async load aka
  latch gate enable), so both can be present at once
- has_d is removed
- has_gclk is added (to have a clear marker for $ff)
- d_is_const and val_d leftovers are removed
- async2sync, clk2fflogic, opt_dff are updated to operate correctly on
  FFs with async load
backends/verilog/verilog_backend.cc
kernel/ff.h
kernel/ffmerge.cc
kernel/mem.cc
kernel/satgen.cc
passes/memory/memory_dff.cc
passes/opt/opt_dff.cc
passes/sat/async2sync.cc
passes/sat/clk2fflogic.cc
passes/techmap/dffunmap.cc