aboutsummaryrefslogtreecommitdiffstats
path: root/passes/techmap/dffunmap.cc
Commit message (Collapse)AuthorAgeFilesLines
* Fitting help messages to 80 character widthKrystalDelusion2022-08-241-2/+2
| | | | | | | | | Uses the regex below to search (using vscode): ^\t\tlog\("(.{10,}(?<!\\n)|.{81,}\\n)"\); Finds any log messages double indented (which help messages are) and checks if *either* there are is no newline character at the end, *or* the number of characters before the newline is more than 80.
* FfData: some refactoring.Marcelina Kościelnicka2021-10-071-5/+4
| | | | | | | | | | - 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
* kernel/ff: Refactor FfData to enable FFs with async load.Marcelina Kościelnicka2021-10-021-2/+2
| | | | | | | | | | - *_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
* Add dffunmap pass.Marcelina Kościelnicka2020-07-311-0/+107
To be used with backends that cannot deal with fancy FF types (like blif or smt).