aboutsummaryrefslogtreecommitdiffstats
path: root/passes
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* | Makes sure to set initial_top when change, fixes #3462Miodrag Milanovic2022-08-261-0/+1
| |
* | Merge pull request #3449 from YosysHQ/aki/show_pathrwN. Engelhardt2022-08-251-0/+1
|\ \
| * | yosys: passes: cmds: show: added filename re-writing to `show -lib`Aki Van Ness2022-08-221-0/+1
| |/
* / Fitting help messages to 80 character widthKrystalDelusion2022-08-2424-149/+157
|/ | | | | | | | | 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.
* sim: -hdlname option to preserve flattened hierarchy in sim outputJannis Harder2022-08-161-9/+41
|
* clk2fflogic: Generate less unused logic when using verificJannis Harder2022-08-161-1/+4
| | | | | | Verific generates a lot of FFs with an unused async load and we cannot always optimize that away before running clk2fflogic, so check for that special case here.
* rename: Add -witness modeJannis Harder2022-08-161-0/+81
|
* memory_map: Add -formal optionJannis Harder2022-08-161-17/+67
| | | | | | This maps memories for a global clock based formal verification flow. This implies -keepdc, uses $ff cells for ROMs and sets hdlname attributes.
* setundef: Do not add anyseq / anyconst to unused memory port clocksJannis Harder2022-08-161-0/+24
| | | | Instead set those unused clocks to zero.
* wreduce: Keep more x-bits with -keepdcJannis Harder2022-08-161-4/+4
|
* formalff: New -setundef optionJannis Harder2022-08-161-0/+335
| | | | | | | Find FFs with undefined initialization values for which changing the initialization does not change the observable behavior and initialize them. For -ff2anyinit, this reduces the number of generated $anyinit cells that drive wires with private names.
* formalff: Set new replaced_by_gclk attribute on removed dff's clksJannis Harder2022-08-161-0/+22
| | | | | | This attribute can be used by formal backends to indicate which clocks were mapped to the global clock. Update the btor and smt2 backend which already handle clock inputs to understand this attribute.
* Add the $anyinit cell and the formalff passJannis Harder2022-08-167-1/+199
| | | | | | | These can be used to protect undefined flip-flop initialization values from optimizations that are not sound for formal verification and can help mapping all solver-provided values in witness traces for flows that use different backends simultaneously.
* Merge pull request #3425 from YosysHQ/lofty/stat-jsonN. Engelhardt2022-08-111-38/+109
|\
| * stat: add option for machine-readable json outputLofty2022-08-111-38/+109
| |
* | Merge pull request #3277 from YosysHQ/lofty/rename-scramble_nameN. Engelhardt2022-08-111-0/+56
|\ \ | |/ |/|
| * rename: add -scramble-name option to randomly rename selectionsLofty2022-08-081-0/+56
| |
* | support file locations containing spacesMiodrag Milanovic2022-08-083-9/+9
|/
* opt_reduce: Fix use-after-free.Marcelina Kościelnicka2022-07-231-4/+2
| | | | Fixes #3418.
* sim: Fix $anyseq in nested modulesJannis Harder2022-07-221-11/+21
|
* Fix external ABC build after commit 0ca0932b5.Catherine2022-07-072-4/+8
|
* Merge pull request #3395 from jix/opt_dff_keepdc_initivalJannis Harder2022-07-011-5/+17
|\ | | | | opt_dff: With -keepdc, never turn undef init vals into const drivers
| * opt_dff: With -keepdc, never turn undef init vals into const driversJannis Harder2022-06-291-5/+17
| |
* | Merge pull request #3396 from jix/async2sync_const_clocksJannis Harder2022-07-011-0/+3
|\ \ | | | | | | async2sync: turn FFs with const clks into gclk FFs with feedback
| * | async2sync: turn FFs with const clks into gclk FFs with feedbackJannis Harder2022-06-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | The formal backends do not support multiple clocks. This includes constant clocks. Constant clocks do appear in what isn't a proper multiclock design, for example when mapping not fully initialized ROMs. As converting FFs with constant clocks to FFs using the global is doable even in a single clock flow, make async2sync do this.
* | | Merge pull request #3391 from programmerjake/simcheck-allow-smtlib2-blackboxesJannis Harder2022-07-011-7/+16
|\ \ \ | |/ / |/| | add hierarchy -smtcheck
| * | add hierarchy -smtcheckJacob Lifshay2022-06-221-7/+16
| |/ | | | | | | like -simcheck, but allow smtlib2_module modules.
* | memory_map: avoid undriven unused FF inputs for -keepdcJannis Harder2022-06-281-0/+3
| |
* | memory_map: -keepdc option for formalJannis Harder2022-06-271-3/+14
|/ | | | Use it when invoking memory_map -rom-only from write_{smt2,btor}.
* memory_map: Add -rom-only option.Marcelina Kościelnicka2022-06-171-4/+18
|
* memory_map: Use const drivers instead of FFs for ROMs.Marcelina Kościelnicka2022-06-171-52/+59
|
* memory_libmap: Fix wrprio handling.Marcelina Kościelnicka2022-06-171-1/+1
|
* memory_libmap: Fix params emitted for unused ports for consistency.Marcelina Kościelnicka2022-06-161-2/+3
|
* Merge pull request #3196 from bfg86/bfg86/renameN. Engelhardt2022-06-131-4/+13
|\ | | | | Add -suffix option to rename -wire
| * Updating help-text with nakengelhardts suggestion.bfg862022-06-131-2/+2
| |
| * Add -suffix option to rename -wire.bfg862022-02-111-4/+13
| | | | | | | | See #3195
* | opt_ffinv: Fix use after free.Marcelina Kościelnicka2022-06-131-3/+6
| |
* | Merge pull request #3349 from nakengelhardt/select_count_scratchpadN. Engelhardt2022-06-092-0/+12
|\ \ | | | | | | Make 'stat' and 'select -count' save counts to scratchpad
| * | also make 'stat' save counts to scratchpadN. Engelhardt2022-06-011-0/+9
| | |
| * | have 'select -count' save the count to scratchpad entry 'select.count'N. Engelhardt2022-06-011-0/+3
| | |
* | | Merge pull request #3359 from jix/fmcombine-memidN. Engelhardt2022-06-091-0/+3
|\ \ \ | | | | | | | | fmcombine: Add _gold/_gate suffix to memids
| * | | fmcombine: Add _gold/_gate suffix to memidsJannis Harder2022-06-031-0/+3
| | | |
* | | | Avoid unnecessary copy of a potential large constant value.Henner Zeller2022-06-091-2/+2
| | | | | | | | | | | | | | | | | | | | The local variable is used just to iterate through the values, so a const reference is all we need.
* | | | wreduce: Introduce -mux_undef option (aligned with opt_expr).Marcelina Kościelnicka2022-06-081-1/+9
| | | |
* | | | sta: warn on unrecognised cells only onceLofty2022-06-081-1/+4
| | | |
* | | | opt_ffinv: Harden against simple ff/inv loop.Marcelina Kościelnicka2022-06-071-0/+4
| | | |
* | | | iopadmap: Fix z assignment removal.Marcelina Kościelnicka2022-06-071-7/+21
|/ / / | | | | | | | | | Fixes #3360.
* | | Fix preventing show crashing with newer graphvizMiodrag Milanovic2022-06-031-1/+6
| | |