aboutsummaryrefslogtreecommitdiffstats
path: root/passes
Commit message (Collapse)AuthorAgeFilesLines
* Add shregmap -init_msb_first and use in synth_xilinxEddie Hung2019-03-141-2/+14
|
* Minor changes ontop of 71bcc4c: Remove hierarchy warning that is redundant ↵Clifford Wolf2019-02-241-5/+1
| | | | | | to -check Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Merge pull request #812 from ucb-bar/arrayhierarchyfixesClifford Wolf2019-02-241-10/+40
|\ | | | | Define basic_cell_type() function and use it to derive the cell type …
| * Address requested changes - don't require non-$ name.Jim Lawson2019-02-221-7/+7
| | | | | | | | | | | | Suppress warning if name does begin with a `$`. Fix hierachy tests so they have something to grep. Announce hierarchy test types.
| * Fix normal (non-array) hierarchy -auto-top.Jim Lawson2019-02-191-9/+9
| | | | | | | | Add simple test.
| * Define basic_cell_type() function and use it to derive the cell type for ↵Jim Lawson2019-02-151-10/+40
| | | | | | | | array references (instead of duplicating the code).
* | Cleanups in ARST handling in wreduceClifford Wolf2019-02-241-10/+4
| | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | Merge pull request #824 from litghost/fix_reduce_on_ffClifford Wolf2019-02-241-0/+13
|\ \ | | | | | | Fix WREDUCE on FF not fixing ARST_VALUE parameter.
| * | Fix WREDUCE on FF not fixing ARST_VALUE parameter.Keith Rothman2019-02-221-0/+13
| | | | | | | | | | | | | | | | | | Adds test case that fails without code change. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* | | Merge pull request #740 from daveshah1/improve_dressClifford Wolf2019-02-221-31/+62
|\ \ \ | |/ / |/| | Improve ABC netname preservation
| * | abc: Improved recovered netnames, also preserve src on nets with dressDavid Shah2019-02-061-4/+13
| | | | | | | | | | | | Signed-off-by: David Shah <davey1576@gmail.com>
| * | abc: Preserve naming through ABC using 'dress' commandDavid Shah2019-02-061-29/+51
| | | | | | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
* | | Hotfix for 4c82ddfClifford Wolf2019-02-211-11/+2
| | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | Add -params mode to force undef parameters in selected cells.Keith Rothman2019-02-211-0/+29
| | | | | | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* | | Merge pull request #818 from YosysHQ/clifford/dffsrfixClifford Wolf2019-02-211-6/+7
|\ \ \ | | | | | | | | Fix opt_rmdff handling of $_DFFSR_???_ and $_DLATCHSR_???_, fixes #816
| * | | Fix opt_rmdff handling of $_DFFSR_???_ and $_DLATCHSR_???_, fixes #816Clifford Wolf2019-02-211-6/+7
| | |/ | |/| | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | Fix typo in passes/pmgen/README.mdClifford Wolf2019-02-211-1/+1
| | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | Bugfix in ice40_dspClifford Wolf2019-02-211-2/+2
| | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | Add "synth_ice40 -dsp"Clifford Wolf2019-02-201-4/+4
| | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | Add FF support to wreduceClifford Wolf2019-02-201-1/+70
| | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | Detect and reject cases that do not map well to iCE40 DSPs (yet)Clifford Wolf2019-02-202-2/+17
| | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | Add actual DSP inference to ice40_dsp passClifford Wolf2019-02-173-24/+214
| | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | Merge branch 'master' of github.com:YosysHQ/yosys into pmgenClifford Wolf2019-02-172-1/+8
|\| |
| * | fsm_opt: Fix runtime error for FSMs without a reset stateDavid Shah2019-02-071-1/+2
| |/ | | | | | | Signed-off-by: David Shah <dave@ds0.me>
| * proc_clean: fix critical typo.whitequark2019-01-231-1/+1
| |
| * proc_clean: fix fully def check to consider compare/signal length.whitequark2019-01-181-1/+7
| | | | | | | | Fixes #790.
* | Progress in pmgenClifford Wolf2019-01-151-3/+11
| | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | Progress in pmgen, add pmgen READMEClifford Wolf2019-01-153-14/+260
| | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | Fix pmgen "reject" statementClifford Wolf2019-01-151-1/+1
| | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | Progress in pmgenClifford Wolf2019-01-153-36/+139
| | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | Progress in pmgenClifford Wolf2019-01-153-21/+157
| | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | Progress in pmgenClifford Wolf2019-01-155-8/+347
| | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | Add mockup .pmg (pattern matcher generator) fileClifford Wolf2019-01-151-0/+75
|/ | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* flowmap: clean up terminology.whitequark2019-01-081-17/+18
| | | | | | | | | | * "map": group gates into LUTs; * "pack": replace gates with LUTs. This is important because we have FlowMap and DF-Map, and currently our messages are ambiguous. Also clean up some other log messages while we're at it.
* flowmap: implement depth relaxation.whitequark2019-01-087-22/+762
|
* Bugfix in $memrd sharingClifford Wolf2019-01-071-2/+6
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Merge pull request #782 from whitequark/flowmap_dfsClifford Wolf2019-01-073-124/+243
|\ | | | | flowmap: construct a max-volume max-flow min-cut, not just any one
| * flowmap: construct a max-volume max-flow min-cut, not just any one.whitequark2019-01-061-7/+10
| |
| * flowmap: add -minlut option, to allow postprocessing with opt_lut.whitequark2019-01-041-7/+21
| |
| * flowmap: cleanup for clarity. NFCI.whitequark2019-01-043-107/+179
| |
| * flowmap: improve debug graph output. NFC.whitequark2019-01-041-47/+76
| |
| * flowmap: add link to longer version of paper. NFC.whitequark2019-01-041-2/+3
| |
* | Switch "bugpoint" from system() to run_command()Clifford Wolf2019-01-071-1/+1
| | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | bugpoint: new pass.whitequark2019-01-072-1/+370
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A typical use of `bugpoint` would involve a script with a pass under test, e.g.: flowmap -relax -optarea 100 and would be invoked as: bugpoint -yosys ./yosys -script flowmap.ys -clean -cells This replaces the current design with the minimal design that still crashes the `flowmap.ys` script. `bugpoint` can also be used to perform generic design minimization using `select`, e.g. the following script: select i:* %x t:$_MUX_ %i -assert-max 0 would remove all parts of the design except for an unbroken path from an input to an output port that goes through exactly one $_MUX_ cell. (The condition is inverted.)
* | Rename cells based on the wires they drive.Scott Mansell2019-01-061-0/+66
|/
* Merge pull request #775 from whitequark/opt_flowmapClifford Wolf2019-01-033-1/+875
|\ | | | | flowmap: new techmap pass
| * flowmap: new techmap pass.whitequark2019-01-033-1/+875
| |
* | Merge pull request #770 from whitequark/opt_expr_cmpClifford Wolf2019-01-021-97/+134
|\ \ | |/ |/| opt_expr: refactor and improve simplification of comparisons
| * opt_expr: improve simplification of comparisons with large constants.whitequark2019-01-021-70/+47
| | | | | | | | | | | | | | | | | | | | | | | | The idea behind this simplification is that a N-bit signal X being compared with an M-bit constant where M>N and the constant has Nth or higher bit set, it either always succeeds or always fails. However, the existing implementation only worked with one-hot signals for some reason. It also printed incorrect messages. This commit adjusts the simplification to have as much power as possible, and fixes other bugs.
| * opt_expr: refactor simplification of unsigned X<onehot and X>=onehot. NFCI.whitequark2019-01-021-31/+37
| |