FfData: some refactoring.
authorMarcelina Kościelnicka <mwk@0x04.net>
Wed, 6 Oct 2021 20:16:55 +0000 (22:16 +0200)
committerMarcelina Kościelnicka <mwk@0x04.net>
Thu, 7 Oct 2021 02:24:06 +0000 (04:24 +0200)
commit4e70c3077562e511d6f840c91dd30ade87d66517
treee03d632836952baf936c715927f2d6c8a9691e28
parent356ec7bb3980f77d737d9fa6e24e2f0b2159e741
FfData: some refactoring.

- FfData now keeps track of the module and underlying cell, if any (so
  calling emit on FfData created from a cell will replace the existing cell)
- FfData implementation is split off to its own .cc file for faster
  compilation
- the "flip FF data sense by inserting inverters in front and after"
  functionality that zinit uses is moved onto FfData class and beefed up
  to have dffsr support, to support more use cases
14 files changed:
Makefile
kernel/ff.cc [new file with mode: 0644]
kernel/ff.h
kernel/ffmerge.cc
kernel/mem.cc
passes/memory/memory_dff.cc
passes/opt/opt_dff.cc
passes/sat/async2sync.cc
passes/sat/clk2fflogic.cc
passes/techmap/dffunmap.cc
passes/techmap/simplemap.cc
passes/techmap/zinit.cc
tests/arch/xilinx/fsm.ys
tests/techmap/zinit.ys