Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Reenable existing equiv_opt tests | Jannis Harder | 2022-10-07 | 10 | -47/+45 |
| | |||||
* | Fix tests for check in equiv_opt | Jannis Harder | 2022-10-07 | 5 | -5/+11 |
| | |||||
* | opt_mem: Remove constant-value bit lanes. | Marcelina Kościelnicka | 2022-05-07 | 2 | -15/+2 |
| | |||||
* | Fix the tests we just broke | Claire Xenia Wolf | 2021-12-10 | 2 | -2/+2 |
| | | | | Signed-off-by: Claire Xenia Wolf <claire@clairexen.net> | ||||
* | dfflegalize: Add tests for aldff lowering. | Marcelina Kościelnicka | 2021-10-27 | 2 | -0/+240 |
| | |||||
* | dfflegalize: Add tests targetting aldff. | Marcelina Kościelnicka | 2021-10-27 | 7 | -7/+320 |
| | |||||
* | dfflegalize: Refactor, add aldff support. | Marcelina Kościelnicka | 2021-10-27 | 9 | -73/+46 |
| | |||||
* | FfData: some refactoring. | Marcelina Kościelnicka | 2021-10-07 | 1 | -3/+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 | ||||
* | abc9: make re-entrant (#2993) | Eddie Hung | 2021-09-09 | 1 | -0/+20 |
| | | | | | | | | | * 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 Hung | 2021-09-09 | 1 | -0/+14 |
| | | | | | * Add testcase * holes module to instantiate cells with NEW_ID | ||||
* | opt_clean: Make the init attribute follow the FF's Q. | Marcelina Kościelnicka | 2021-08-22 | 1 | -2/+2 |
| | | | | | | | | | | Previously, opt_clean would reconnect all ports (including FF Q ports) to a "canonical" SigBit chosen by complex rules, but would leave the init attribute on the old wire. This change applies the same canonicalization rules to the init attributes, ensuring that init moves to wherever the Q port moved. Part of another jab at #2920. | ||||
* | Add tests for some common techmap files. | Marcelina Kościelnicka | 2021-02-24 | 3 | -0/+50 |
| | |||||
* | tests: Centralize test collection and Makefile generation | Xiretza | 2020-09-21 | 3 | -21/+5 |
| | |||||
* | flatten, techmap: don't canonicalize tpl driven bits via sigmap. | whitequark | 2020-08-26 | 1 | -0/+11 |
| | | | | | | | | | | | | | | | | | | | | 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 #2347 from YosysHQ/mwk/techmap-shift-fixes | clairexen | 2020-08-20 | 1 | -12/+0 |
|\ | | | | | techmap/shift_shiftx: Remove the "shiftx2mux" special path. | ||||
| * | techmap/shift_shiftx: Remove the "shiftx2mux" special path. | Marcelina Kościelnicka | 2020-08-20 | 1 | -12/+0 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our techmap rules for $shift and $shiftx cells contained a special path that aimed to decompose the shift LSB-first instead of MSB-first in select cases that come up in pmux lowering. This path was needlessly overcomplicated and contained bugs. Instead of doing that, just switch over the main path to iterate LSB-first (except for the specially-handled MSB for signed shifts and overflow handling). This also makes the code consistent with shl/shr/sshl/sshr cells, which are already decomposed LSB-first. Fixes #2346. | ||||
* | | Merge pull request #2333 from YosysHQ/mwk/peepopt-shiftmul-signed | clairexen | 2020-08-20 | 1 | -0/+11 |
|\ \ | | | | | | | peeopt.shiftmul: Add a signedness check. | ||||
| * | | peeopt.shiftmul: Add a signedness check. | Marcelina Kościelnicka | 2020-08-05 | 1 | -0/+11 |
| |/ | | | | | | | Fixes #2332. | ||||
* | | Merge pull request #2328 from YosysHQ/mwk/opt_dff-cleanup | clairexen | 2020-08-20 | 1 | -50/+0 |
|\ \ | | | | | | | Remove passes redundant with opt_dff | ||||
| * | | Remove now-redundant dff2dffs pass. | Marcelina Kościelnicka | 2020-08-07 | 1 | -50/+0 |
| |/ | |||||
* / | techmap.CONSTMAP: Handle outputs before inputs. | Marcelina Kościelnicka | 2020-08-05 | 1 | -0/+15 |
|/ | | | | Fixes #2321. | ||||
* | Add dffunmap pass. | Marcelina Kościelnicka | 2020-07-31 | 1 | -0/+100 |
| | | | | | To be used with backends that cannot deal with fancy FF types (like blif or smt). | ||||
* | zinit: Refactor to use FfInitVals. | Marcelina Kościelnicka | 2020-07-24 | 1 | -2/+2 |
| | |||||
* | clk2fflogic: Support all FF types. | Marcelina Kościelnicka | 2020-07-24 | 18 | -123/+123 |
| | |||||
* | techmap: Add _TECHMAP_CELLNAME_ special parameter. | Marcelina Kościelnicka | 2020-07-21 | 1 | -0/+41 |
| | | | | | | | This parameter will resolve to the name of the cell being mapped. The first user of this parameter will be synth_intel_alm's Quartus output, which requires a unique (and preferably descriptive) name passed as a cell parameter for the memory cells. | ||||
* | dfflibmap: Refactor to use dfflegalize internally. | Marcelina Kościelnicka | 2020-07-09 | 3 | -0/+135 |
| | |||||
* | clkbufmap: improve input pad handling. | Marcelina Kościelnicka | 2020-07-09 | 1 | -0/+79 |
| | | | | | | - allow inserting only the input pad cell - do not insert the usual buffer if the input pad already acts as a buffer | ||||
* | clk2fflogic: Consistently treat async control signals as negative hold. | Marcelina Kościelnicka | 2020-07-09 | 7 | -31/+31 |
| | | | | | | | This fixes some dfflegalize equivalence checks, and breaks others — and I strongly suspect the others are due to bad support for multiple async inputs in `proc` (in particular, lack of proper support for dlatchsr and sketchy circuits on dffsr control inputs). | ||||
* | dfflegalize: Add special support for const-D latches. | Marcelina Kościelnicka | 2020-07-09 | 1 | -0/+53 |
| | | | | | | Those can be created by `opt_dff` when optimizing `$adff` with const clock, or with D == Q. Make dfflegalize do the opposite transform when such dlatches would be otherwise unimplementable. | ||||
* | dfflegalize: Add tests. | Marcelina Kościelnicka | 2020-07-01 | 17 | -0/+2957 |
| | |||||
* | Update dff2dffe, dff2dffs, zinit to new FF types. | Marcelina Kościelnicka | 2020-06-23 | 2 | -76/+76 |
| | |||||
* | tests: zinit for new types | Eddie Hung | 2020-04-14 | 1 | -2/+96 |
| | |||||
* | dffinit: Avoid setting init parameter to zero-length value. | Marcelina Kościelnicka | 2020-04-14 | 1 | -0/+25 |
| | | | | Fixes #1704. | ||||
* | zinit: resolve one more comment by @mwkmwkmwk | Eddie Hung | 2020-04-13 | 1 | -1/+8 |
| | |||||
* | zinit: fix review comments from @mwkmwkmwk | Eddie Hung | 2020-04-13 | 1 | -4/+31 |
| | |||||
* | tests: zinit on $adff | Eddie Hung | 2020-04-13 | 1 | -19/+18 |
| | |||||
* | Add testcase for $_DFF_[NP][NP][01]_ | Eddie Hung | 2020-04-13 | 1 | -0/+24 |
| | |||||
* | Merge pull request #1648 from YosysHQ/eddie/cmp2lcu | Eddie Hung | 2020-04-03 | 1 | -0/+52 |
|\ | | | | | "techmap -map +/cmp2lcu.v" for decomposing arithmetic compares to $lcu | ||||
| * | +/cmp2lcu.v to work efficiently for fully/partially constant inputs | Eddie Hung | 2020-04-03 | 1 | -3/+31 |
| | | |||||
| * | Refactor +/cmp2lcu.v into recursive techmap | Eddie Hung | 2020-04-03 | 1 | -1/+1 |
| | | |||||
| * | techmap +/cmp2lcu.v for decomposing arithmetic compares to $lcu | Eddie Hung | 2020-04-03 | 1 | -0/+24 |
| | | |||||
* | | iopadmap: Fix z assignment to inout port | Marcin Kościelnicki | 2020-04-02 | 1 | -1/+9 |
|/ | | | | Fixes #1841. | ||||
* | techmap: Fix cell names with _TECHMAP_REPLACE_.* | Marcin Kościelnicki | 2020-03-23 | 1 | -0/+18 |
| | | | | Fixes #1804. | ||||
* | iopadmap: Look harder for already-present buffers. (#1731) | Marcelina Kościelnicka | 2020-03-02 | 1 | -2/+21 |
| | | | | | iopadmap: Look harder for already-present buffers. Fixes #1720. | ||||
* | Fine tune #1699 tests | Eddie Hung | 2020-02-13 | 1 | -14/+14 |
| | |||||
* | iopadmap: move \init attributes from outpad output to its input | Eddie Hung | 2020-02-13 | 1 | -0/+37 |
| | |||||
* | shiftx2mux: fix select out of bounds | Eddie Hung | 2020-02-05 | 2 | -1/+12 |
| | |||||
* | Merge remote-tracking branch 'origin/master' into eddie/shiftx2mux | Eddie Hung | 2020-02-05 | 1 | -0/+29 |
|\ | |||||
| * | Merge remote-tracking branch 'origin/master' into eddie/abc9_refactor | Eddie Hung | 2020-01-15 | 1 | -0/+13 |
| |\ | |||||
| * | | abc9: respect (* keep *) on cells | Eddie Hung | 2020-01-13 | 1 | -0/+15 |
| | | |