circt/test
Prithayan Barua 7c11a9fa01
[FIRRTL][InferRW] Set RWmode to the complement term in Write enable (#3759)
The `InferRW` pass transforms a memory with read and write ports to a single 
ReadWrite port memory, if it can prove that the read and write enable are
 mutually exclusive. The algorithm checks if any of the terms in the `And`
 expression tree of read and write enable is a complement of each other, to
infer if the read and write enable are trivially mutually exclusive.
The `RWmode` of the ReadWrite memory is set to `1` to use the memory in
 write mode and `0` for read mode. 
 
This PR sets the `RWmode` to the term in the `And` expression tree of
 the write enable, which proves the mutual exclusion, instead of
 setting it to the write enable. This is done to ensure equivalence with the
 `firrtl` compiler.
 
For example, if, `write enable = A && B`, `read enable = C && ~B`
 implies `RWmode = B`.
2022-08-23 12:44:16 -07:00
..
Analysis [HW] Add top module inference to InstanceGraph (#3592) 2022-07-26 09:11:28 +02:00
CAPI [CMake] Reduce number of deps (#3569) 2022-07-20 17:37:24 -07:00
Conversion [Pipeline][NFC] Rename `pipeline.stage` -> `pipeline.while.stage` (#3758) 2022-08-22 10:20:00 +02:00
Dialect [FIRRTL][InferRW] Set RWmode to the complement term in Write enable (#3759) 2022-08-23 12:44:16 -07:00
Scheduling LLVM bump (as we know it) (#3074) 2022-05-09 14:30:14 -07:00
Target/ExportSystemC [ExportSystemC] Add emission patterns for the remaining systemc ops and constant op (#3735) 2022-08-18 11:42:38 +02:00
Transforms [Transform] [FIRTOOL] Add an pass to strip file locators with "fir" suffix (#3122) 2022-07-06 21:12:32 +09:00
Unit [Moore] Add SystemVerilog types (#2699) 2022-03-04 08:48:45 +01:00
circt-opt [StaticLogic] Rename dialect to 'Pipeline' (#3648) 2022-08-04 10:58:40 +02:00
circt-reduce [circt-reduce] Invert test exit code requirement (#3591) 2022-07-25 14:14:37 +02:00
circt-translate [LLHD] remove the LLHD-specific Verilog printer. 2021-12-08 14:01:45 -08:00
firtool [FIRRTL] Extend register randomization to split up large registers. (#3748) 2022-08-17 22:04:20 -06:00
handshake-runner [CMake] Reduce number of deps (#3569) 2022-07-20 17:37:24 -07:00
lib [NFC] Added newlines to the end of files 2022-03-28 18:58:23 +03:00
llhd-sim circt-reduce,firtool,llhd-sim: cleanup --help output, put options in category (#2979) 2022-05-03 16:02:57 -05:00
CMakeLists.txt [CMake] Reduce number of deps (#3569) 2022-07-20 17:37:24 -07:00
lit.cfg.py [Scheduling] Set up infrastructure for using OR-Tools' solvers. (#2465) 2022-01-18 10:55:15 +01:00
lit.site.cfg.py.in [Scheduling] Set up infrastructure for using OR-Tools' solvers. (#2465) 2022-01-18 10:55:15 +01:00