Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | memory_unpack: Use Mem helpers. | Marcelina Kościelnicka | 2020-10-21 | 1 | -106/+10 | |
| | | ||||||
* | | memory_collect: Use Mem helpers. | Marcelina Kościelnicka | 2020-10-21 | 1 | -223/+9 | |
| | | ||||||
* | | memory_nordff: Use Mem helpers. | Marcelina Kościelnicka | 2020-10-21 | 1 | -63/+9 | |
|/ | ||||||
* | opt_clean: Better memory handling. | Marcelina Kościelnicka | 2020-10-08 | 1 | -8/+45 | |
| | | | | | | | | Previously, `$memwr` and `$meminit` cells were always preserved (along with the memory itself). With this change, they are instead part of the main cell mark-and-sweep pass: a memory (and its `$meminit` and `$memwr` cells) is only preserved iff any associated `$memrd` cell needs to be preserved. | |||||
* | Validate parameters only when they are used | Miodrag Milanovic | 2020-09-25 | 1 | -5/+7 | |
| | ||||||
* | use the new isPublic() in a few places | N. Engelhardt | 2020-09-14 | 9 | -17/+17 | |
| | ||||||
* | Merge pull request #2356 from whitequark/flatten-techmap-no-tpl_driven-sigmap | whitequark | 2020-08-27 | 2 | -9/+6 | |
|\ | | | | | flatten, techmap: don't canonicalize tpl driven bits via sigmap | |||||
| * | flatten, techmap: don't canonicalize tpl driven bits via sigmap. | whitequark | 2020-08-26 | 2 | -9/+6 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For connection `assign a = b;`, `sigmap(a)` returns `b`. This is exactly the opposite of the desired canonicalization for driven bits. Consider the following code: module foo(inout a, b); assign a = b; endmodule module bar(output c); foo f(c, 1'b0); endmodule Before this commit, the inout ports would be swapped after flattening (and cause a crash while attempting to drive a constant value). This issue was introduced in 9f772eb9. Fixes #2183. | |||||
* | | Merge pull request #2358 from whitequark/rename-ilang-to-rtlil | whitequark | 2020-08-27 | 7 | -24/+24 | |
|\ \ | | | | | | | Replace "ILANG" with "RTLIL" everywhere | |||||
| * | | Replace "ILANG" with "RTLIL" everywhere. | whitequark | 2020-08-26 | 7 | -24/+24 | |
| |/ | | | | | | | | | | | | | | | | | | | The only difference between "RTLIL" and "ILANG" is that the latter is the text representation of the former, as opposed to the in-memory graph representation. This distinction serves no purpose but confuses people: it is not obvious that the ILANG backend writes RTLIL graphs. Passes `write_ilang` and `read_ilang` are provided as aliases to `write_rtlil` and `read_rtlil` for compatibility. | |||||
* / | dfflegalize: Fix decision tree for adffe. | Marcelina Kościelnicka | 2020-08-27 | 1 | -1/+5 | |
|/ | | | | | | | | When an adffe is being legalized, and is not natively supported, prioritize unmapping to adff over converting to dffsre if dffsre is not natively supported itself. Fixes #2361. | |||||
* | proc: Add -nomux switch | Peder Bergebakken Sundt | 2020-08-20 | 1 | -1/+10 | |
| | | | | running proc -nomux will ommit the proc_mux pass | |||||
* | Merge pull request #2344 from YosysHQ/mwk/opt_share-fixes | clairexen | 2020-08-20 | 1 | -223/+138 | |
|\ | | | | | opt_share: Refactor, fix some bugs. | |||||
| * | opt_share: Refactor, fix some bugs. | Marcelina Kościelnicka | 2020-08-17 | 1 | -223/+138 | |
| | | | | | | | | | | | | Fixes #2334. Fixes #2335. Fixes #2336. | |||||
* | | Merge pull request #2337 from YosysHQ/mwk/clean-keep-wire | clairexen | 2020-08-20 | 1 | -4/+9 | |
|\ \ | | | | | | | opt_clean: Fix module keep rules. | |||||
| * | | opt_clean: Fix module keep rules. | Marcelina Kościelnicka | 2020-08-09 | 1 | -4/+9 | |
| |/ | | | | | | | | | | | - wires with keep attribute now force a module to be kept - presence of $memwr and $meminit cells no longer forces a module to be kept | |||||
* | | Merge pull request #2333 from YosysHQ/mwk/peepopt-shiftmul-signed | clairexen | 2020-08-20 | 1 | -5/+1 | |
|\ \ | | | | | | | peeopt.shiftmul: Add a signedness check. | |||||
| * | | peeopt.shiftmul: Add a signedness check. | Marcelina Kościelnicka | 2020-08-05 | 1 | -5/+1 | |
| | | | | | | | | | | | | Fixes #2332. | |||||
* | | | Merge pull request #2328 from YosysHQ/mwk/opt_dff-cleanup | clairexen | 2020-08-20 | 8 | -1468/+0 | |
|\ \ \ | | | | | | | | | Remove passes redundant with opt_dff | |||||
| * | | | Remove now-redundant dff2dffe pass. | Marcelina Kościelnicka | 2020-08-07 | 2 | -415/+0 | |
| | | | | ||||||
| * | | | Remove now-redundant dff2dffs pass. | Marcelina Kościelnicka | 2020-08-07 | 2 | -166/+0 | |
| | | | | ||||||
| * | | | peepopt: Remove now-redundant dffmux pattern. | Marcelina Kościelnicka | 2020-08-07 | 3 | -175/+0 | |
| | | | | ||||||
| * | | | Remove now-redundant opt_rmdff pass. | Marcelina Kościelnicka | 2020-08-07 | 2 | -712/+0 | |
| | |/ | |/| | ||||||
* | | | Merge pull request #2327 from YosysHQ/mwk/techmap-constmap-fix | clairexen | 2020-08-20 | 1 | -1/+22 | |
|\ \ \ | | | | | | | | | techmap.CONSTMAP: Handle outputs before inputs. | |||||
| * | | | techmap.CONSTMAP: Handle outputs before inputs. | Marcelina Kościelnicka | 2020-08-05 | 1 | -1/+22 | |
| | |/ | |/| | | | | | | | Fixes #2321. | |||||
* | | | Merge pull request #2326 from YosysHQ/mwk/peeopt-muldiv-sign | clairexen | 2020-08-20 | 1 | -1/+4 | |
|\ \ \ | | | | | | | | | peepopt.muldiv: Add a signedness check. | |||||
| * | | | peepopt.muldiv: Add a signedness check. | Marcelina Kościelnicka | 2020-08-04 | 1 | -1/+4 | |
| |/ / | | | | | | | | | | Fixes #2318. | |||||
* | | | Merge pull request #2319 from YosysHQ/mwk/techmap-celltype-pattern | clairexen | 2020-08-20 | 1 | -4/+32 | |
|\ \ \ | | | | | | | | | techmap: Add support for [] wildcards in techmap_celltype. | |||||
| * | | | techmap: Add support for [] wildcards in techmap_celltype. | Marcelina Kościelnicka | 2020-08-02 | 1 | -4/+32 | |
| |/ / | | | | | | | | | | Fixes #1826. | |||||
* | / | Ensure \A_SIGNED is never used with $shiftx | Xiretza | 2020-08-18 | 1 | -0/+4 | |
| |/ |/| | | | | | | | It has no effect on the output ($shiftx doesn't perform any sign extension whatsoever), so an attempt to use it should be caught early. | |||||
* | | Replace opt_rmdff with opt_dff. | Marcelina Kościelnicka | 2020-08-07 | 2 | -9/+17 | |
|/ | ||||||
* | Add dffunmap pass. | Marcelina Kościelnicka | 2020-07-31 | 2 | -0/+108 | |
| | | | | | To be used with backends that cannot deal with fancy FF types (like blif or smt). | |||||
* | opt_expr: Remove -clkinv option, make it the default. | Marcelina Kościelnicka | 2020-07-31 | 2 | -14/+14 | |
| | | | | | Adds -noclkinv option just in case the old behavior was actually useful to someone. | |||||
* | synth_ice40: Use opt_dff. | Marcelina Kościelnicka | 2020-07-30 | 2 | -247/+86 | |
| | | | | | | | | | The main part is converting ice40_dsp to recognize the new FF types created in opt_dff instead of trying to recognize the mux patterns on its own. The fsm call has been moved upwards because the passes cannot deal with $dffe/$sdff*, and other optimizations don't help it much anyway. | |||||
* | synth_xilinx: Use opt_dff. | Marcelina Kościelnicka | 2020-07-30 | 5 | -861/+200 | |
| | | | | | | | | | The main part is converting xilinx_dsp to recognize the new FF types created in opt_dff instead of trying to recognize the patterns on its own. The fsm call has been moved upwards because the passes cannot deal with $dffe/$sdff*, and other optimizations don't help it much anyway. | |||||
* | async2sync: Support all FF types. | Marcelina Kościelnicka | 2020-07-30 | 2 | -145/+162 | |
| | ||||||
* | Add opt_dff pass. | Marcelina Kościelnicka | 2020-07-30 | 2 | -0/+876 | |
| | ||||||
* | opt_expr: Fix handling of $_XNOR_ cells with A = B. | Marcelina Kościelnicka | 2020-07-29 | 1 | -1/+1 | |
| | | | | Fixes #2311. | |||||
* | equiv_induct: Fix up assumption for $equiv cells in -undef mode. | Marcelina Kościelnicka | 2020-07-27 | 1 | -1/+3 | |
| | | | | | | | | | | | | | | | | Before this fix, equiv_induct only assumed that one of the following is true: - defined value of A is equal to defined value of B - A is undefined This lets through valuations where A is defined, B is undefined, and the defined (meaningless) value of B happens to match the defined value of A. Instead, tighten this up to OR of the following: - defined value of A is equal to defined value of B, and B is not undefined - A is undefined | |||||
* | async2sync: Refactor to use FfInitVals. | Marcelina Kościelnicka | 2020-07-24 | 1 | -53/+11 | |
| | ||||||
* | memory_dff: Refactor to use FfInitVals. | Marcelina Kościelnicka | 2020-07-24 | 1 | -12/+5 | |
| | ||||||
* | proc_dlatch: Refactor to use FfInitVals. | Marcelina Kościelnicka | 2020-07-24 | 1 | -28/+8 | |
| | ||||||
* | pmux2shift: Refactor to use FfInitVals. | Marcelina Kościelnicka | 2020-07-24 | 1 | -15/+4 | |
| | ||||||
* | wreduce: Refactor to use FfInitVals. | Marcelina Kościelnicka | 2020-07-24 | 1 | -37/+7 | |
| | ||||||
* | techmap: Refactor to use FfInitVals. | Marcelina Kościelnicka | 2020-07-24 | 1 | -41/+4 | |
| | ||||||
* | shregmap: Refactor to use FfInitVals. | Marcelina Kościelnicka | 2020-07-24 | 1 | -39/+10 | |
| | ||||||
* | abc: Refactor to use FfInitVals. | Marcelina Kościelnicka | 2020-07-24 | 1 | -25/+6 | |
| | ||||||
* | dffinit: Refactor to use FfInitVals. | Marcelina Kościelnicka | 2020-07-24 | 1 | -41/+7 | |
| | ||||||
* | zinit: Refactor to use FfInitVals. | Marcelina Kościelnicka | 2020-07-24 | 1 | -43/+11 | |
| | ||||||
* | dfflegalize: Refactor to use FfInitVals. | Marcelina Kościelnicka | 2020-07-24 | 1 | -80/+25 | |
| |