aboutsummaryrefslogtreecommitdiffstats
path: root/passes/techmap
Commit message (Collapse)AuthorAgeFilesLines
* ABC9: Cell Port Bug Patch (#3670)Benjamin Barzen2023-04-221-1/+5
| | | | | | | | | | | | | | | | | * ABC9: RAMB36E1 Bug Patch * Add simplified testcase * Also fix xaiger writer for under-width output ports * Remove old testcase * Missing top-level input port * Fix tabs --------- Co-authored-by: Eddie Hung <eddie@fpgeh.com>
* Merge pull request #3646 from YosysHQ/lofty/fix-3591Miodrag Milanović2023-02-271-4/+1
|\ | | | | muxcover: do not add decode muxes with x inputs
| * muxcover: do not add decode muxes with x inputsLofty2023-01-261-4/+1
| |
* | Updated changelogMiodrag Milanovic2023-02-081-0/+3
| |
* | add pmux option to bmuxmap for better fsm detection with verific frontendN. Engelhardt2023-01-301-6/+30
|/
* Merge branch 'xprop' of github.com:jix/yosys into claire/eqystuffClaire Xenia Wolf2022-12-014-19/+99
|\
| * Add bwmuxmap passJannis Harder2022-11-302-0/+71
| |
| * Add bitwise `$bweqx` and `$bwmux` cellsJannis Harder2022-11-302-6/+29
| | | | | | | | | | | | The new bitwise case equality (`$bweqx`) and bitwise mux (`$bwmux`) cells enable compact encoding and decoding of 3-valued logic signals using multiple 2-valued signals.
| * simplemap: Map `$xnor` to `$_XNOR_` cellsJannis Harder2022-11-291-15/+1
| | | | | | | | | | The previous mapping to `$_XOR_` and `$_NOT_` predates the addition of the `$_XNOR_` cell.
* | Add insbuf -chain modeClaire Xenia Wolf2022-12-011-2/+38
|/ | | | Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
* Fix crash in flowmapDag Lem2022-09-201-1/+2
| | | | | | | | | | | | In 2fcc1ee72e, the following is apparantly added in order to mark any number of undefined LUT inputs: lut_a.append(RTLIL::Const(State::Sx, minlut - input_nodes.size())); However this can only be done if the number of input nodes is less than minlut. This fixes #3317
* Fix tmpdir naming when passing -nocleanup option to abc(9) on systems where ↵N. Engelhardt2022-09-132-6/+12
| | | | base_tmpdir isn't /tmp/
* Merge pull request #3458 from QuantamHD/abc_fasterN. Engelhardt2022-08-311-6/+6
|\
| * Improves ABC command runtime by 10-100xEthan Mahintorabi2022-08-241-6/+6
| | | | | | | | | | | | | | | | After speaking with the author of ABC he let me know that ifraig is a very old command, and that &get; &fraig -x; &put is over 100x faster than ifraig with improved PPA results. After making the change I confirmed that this is in fact a major speed up. On our internal designs in O(millions) of standard cells we saw multi hour reductions in runtime. Also included is an improvement to the dress command. Using AIG based transformations removes the spec it SATs against. Proving the input blif will make sure that no matter what commands are run the dress command can still do its job. I noticed a regression against some LUT mapping jobs that prompted me to fix this.
* | Fitting help messages to 80 character widthKrystalDelusion2022-08-249-63/+57
|/ | | | | | | | | 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.
* support file locations containing spacesMiodrag Milanovic2022-08-082-8/+8
|
* Fix external ABC build after commit 0ca0932b5.Catherine2022-07-072-4/+8
|
* iopadmap: Fix z assignment removal.Marcelina Kościelnicka2022-06-071-7/+21
| | | | Fixes #3360.
* Observe $TMPDIR variable when creating tmp filesMohamed A. Bamakhrama2022-05-272-2/+2
| | | | | | | | | POSIX defines $TMPDIR as containing the pathname of the directory where programs can create temporary files. On most systems, this variable points to "/tmp". However, on some systems it can point to a different location. Without respecting this variable, yosys fails to run on such systems. Signed-off-by: Mohamed A. Bamakhrama <mohamed@alumni.tum.de>
* abc9_ops: Don't leave unused derived modules lying aroundgatecat2022-05-231-0/+9
| | | | | | | These later become accidentally used for techmap replacements for blackboxes that we don't actually want. Signed-off-by: gatecat <gatecat@ds0.me>
* abc: Use dict/pool instead of std::map/std::setMarcelina Kościelnicka2022-05-041-14/+14
|
* tribuf: `-formal` option: convert all to logic and detect conflictsJannis Harder2022-04-121-3/+46
|
* abc: Add support for FFs with reset in -dffMarcelina Kościelnicka2022-04-071-90/+229
|
* Merge pull request #3194 from Ravenslofty/abc9-flow3mfsLofty2022-03-281-1/+7
|\ | | | | abc9: add flow3mfs script
| * abc9: add flow3mfs scriptLofty2022-02-101-1/+7
| |
* | abc9_ops: Also derive blackboxes with timing infogatecat2022-03-241-5/+10
| | | | | | | | Signed-off-by: gatecat <gatecat@ds0.me>
* | abc: Fix {I} and {P} substitutionAnton Blanchard2022-02-231-2/+2
| | | | | | | | We were searching for {D} after the first match of {I} or {P}.
* | Correct a typo in the manualYRabbit2022-02-021-1/+1
| | | | | | | | Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
* | Add $bmux and $demux cells.Marcelina Kościelnicka2022-01-284-1/+183
|/
* sta: very crude static timing analysis passLofty2021-11-251-30/+28
| | | | Co-authored-by: Eddie Hung <eddie@fpgeh.com>
* Merge pull request #3077 from YosysHQ/claire/genlibClaire Xen2021-11-101-21/+40
|\ | | | | Add genlib support to ABC command
| * Spelling fix in abc.ccClaire Xen2021-11-101-1/+1
| |
| * Add genlib support to ABC commandClaire Xenia Wolf2021-11-101-21/+40
| | | | | | | | Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
* | iopadmap: Fix ebmarassing typoMarcelina Kościelnicka2021-11-101-1/+1
| |
* | iopadmap: Add native support for negative-polarity output enable.Marcelina Kościelnicka2021-11-091-7/+22
|/
* flatten: Keep sigmap around between flatten_cell invocations.Marcelina Kościelnicka2021-11-021-3/+4
| | | | Fixes #3064.
* dfflegalize: Refactor, add aldff support.Marcelina Kościelnicka2021-10-271-973/+889
|
* verilog: use derived module info to elaborate cell connectionsZachary Snow2021-10-251-1/+3
| | | | | | | | - Attempt to lookup a derived module if it potentially contains a port connection with elaboration ambiguities - Mark the cell if module has not yet been derived - This can be extended to implement automatic hierarchical port connections in a future change
* Change implicit conversions from bool to Sig* to explicit.Marcelina Kościelnicka2021-10-211-4/+6
| | | | Also fixes some completely broken code in extract_reduce.
* extract_reduce: Refactor and fix input signal construction.Marcelina Kościelnicka2021-10-211-63/+34
| | | | Fixes #3047.
* dfflegalize: remove redundant check for initialized dlatchPaul Annesley2021-10-171-4/+0
| | | | | | This if condition is repeated verbatim, and I can't imagine a legitimate way the inputs could change in between. I imagine it's a copy/paste mistake.
* FfData: some refactoring.Marcelina Kościelnicka2021-10-073-50/+15
| | | | | | | | | | - 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
* Hook up $aldff support in various passes.Marcelina Kościelnicka2021-10-021-1/+3
|
* zinit: Refactor to use FfData.Marcelina Kościelnicka2021-10-021-101/+38
|
* 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
* simplemap: refactor to use FfData.Marcelina Kościelnicka2021-10-022-287/+20
|
* abc9: make re-entrant (#2993)Eddie Hung2021-09-092-9/+9
| | | | | | | | | * Add testcase * Cleanup some state at end of abc9 * Re-assign abc9_box_id from scratch * Suppress delete unless prep_bypass did something
* abc9: holes module to instantiate cells with NEW_ID (#2992)Eddie Hung2021-09-091-1/+1
| | | | | * Add testcase * holes module to instantiate cells with NEW_ID
* abc9: replace cell type/parameters if derived type already processed (#2991)Eddie Hung2021-09-091-6/+22
| | | | | | | | | | | * Add close bracket * Add testcase * Replace cell type/param if in unmap_design * Improve abc9_box error message too * Update comment as per review
* Add v2 memory cells.Marcelina Kościelnicka2021-08-111-0/+1
|