Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Extend during mux decomposition with 1'bx | Eddie Hung | 2019-07-09 | 1 | -24/+3 |
| | |||||
* | Fix typo and comments | Eddie Hung | 2019-07-09 | 1 | -4/+4 |
| | |||||
* | Merge remote-tracking branch 'origin/master' into xc7mux | Eddie Hung | 2019-07-09 | 16 | -79/+348 |
|\ | |||||
| * | Merge pull request #1168 from whitequark/bugpoint-processes | Clifford Wolf | 2019-07-09 | 2 | -17/+105 |
| |\ | | | | | | | Add support for processes in bugpoint | ||||
| | * | bugpoint: add -assigns and -updates options. | whitequark | 2019-07-09 | 1 | -9/+81 |
| | | | |||||
| | * | proc_clean: add -quiet option. | whitequark | 2019-07-09 | 1 | -8/+24 |
| | | | | | | | | | | | | This is useful for other passes that call it often, like bugpoint. | ||||
| * | | Merge pull request #1169 from whitequark/more-proc-cleanups | Clifford Wolf | 2019-07-09 | 5 | -22/+168 |
| |\ \ | | | | | | | | | A new proc_prune pass | ||||
| | * | | proc_prune: promote assigns to module connections when legal. | whitequark | 2019-07-09 | 3 | -33/+42 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This can pave the way for further transformations by exposing identities that were previously hidden in a process to any pass that uses SigMap. Indeed, this commit removes some ad-hoc logic from proc_init that appears to have been tailored to the output of genrtlil in favor of using `SigMap.apply()`. (This removal is not optional, as the ad-hoc logic cannot cope with the result of running proc_prune; a similar issue was fixed in proc_arst.) | ||||
| | * | | proc_prune: new pass. | whitequark | 2019-07-09 | 3 | -1/+138 |
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The proc_prune pass is similar in nature to proc_rmdead pass: while proc_rmdead removes branches that never become active because another branch preempts it, proc_prune removes assignments that never become active because another assignment preempts them. Genrtlil contains logic similar to the proc_prune pass, but their purpose is different: genrtlil has to prune assignments to adapt the semantics of blocking assignments in HDLs (latest assignment wins) to semantics of assignments in RTLIL processes (assignment in the most specific case wins). On the other hand proc_prune is a general purpose RTLIL simplification that benefits all frontends, even those not using the Yosys AST library. The proc_prune pass is added to the proc script after proc_rmdead, since it gives better results with fewer branches. | ||||
| * | | Merge pull request #1163 from whitequark/more-case-attrs | Clifford Wolf | 2019-07-09 | 3 | -16/+28 |
| |\ \ | | | | | | | | | More support for case rule attributes | ||||
| | * | | verilog_backend: dump attributes on SwitchRule. | whitequark | 2019-07-08 | 1 | -0/+1 |
| | | | | | | | | | | | | | | | | This appears to be an omission. | ||||
| | * | | proc_mux: consider \src attribute on CaseRule. | whitequark | 2019-07-08 | 1 | -10/+16 |
| | | | | |||||
| | * | | verilog_backend: dump attributes on CaseRule, as comments. | whitequark | 2019-07-08 | 1 | -6/+10 |
| | | | | | | | | | | | | | | | | Attributes are not permitted in that position by Verilog grammar. | ||||
| | * | | genrtlil: emit \src attribute on CaseRule. | whitequark | 2019-07-08 | 1 | -0/+1 |
| | | | | |||||
| * | | | Merge pull request #1162 from whitequark/rtlil-case-attrs | Clifford Wolf | 2019-07-09 | 3 | -5/+15 |
| |\| | | | | | | | | | | Allow attributes on individual switch cases in RTLIL | ||||
| | * | | Allow attributes on individual switch cases in RTLIL. | whitequark | 2019-07-08 | 3 | -5/+15 |
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The parser changes are slightly awkward. Consider the following IL: process $0 <point 1> switch \foo <point 2> case 1'1 assign \bar \baz <point 3> ... case end end Before this commit, attributes are valid in <point 1>, and <point 3> iff it is immediately followed by a `switch`. (They are essentially attached to the switch.) But, after this commit, and because switch cases do not have an ending delimiter, <point 3> becomes ambiguous: the attribute could attach to either the following `case`, or to the following `switch`. This isn't expressible in LALR(1) and results in a reduce/reduce conflict. To address this, attributes inside processes are now valid anywhere inside the process: in <point 1> and <point 3> a part of case body, and in <point 2> as a separate rule. As a consequence, attributes can now precede `assign`s, which is made illegal in the same way it is illegal to attach attributes to `connect`. Attributes are tracked separately from the parser state, so this does not affect collection of attributes at all, other than allowing them on `case`s. The grammar change serves purely to allow attributes in more syntactic places. | ||||
| * | | Merge pull request #1167 from YosysHQ/eddie/xc7srl_cleanup | Clifford Wolf | 2019-07-09 | 1 | -19/+25 |
| |\ \ | | | | | | | | | Cleanup synth_xilinx SRL inference, make more consistent | ||||
| | * \ | Merge branch 'eddie/script_from_wire' into eddie/xc7srl_cleanup | Eddie Hung | 2019-07-02 | 6 | -15/+20 |
| | |\ \ | |||||
| | * | | | Cleanup SRL inference/make more consistent | Eddie Hung | 2019-06-29 | 1 | -19/+25 |
| | | | | | |||||
| * | | | | Merge pull request #1166 from YosysHQ/eddie/synth_keepdc | Eddie Hung | 2019-07-08 | 3 | -3/+15 |
| |\ \ \ \ | | | | | | | | | | | | | Add "synth -keepdc" option | ||||
| * \ \ \ \ | Merge branch 'master' of github.com:YosysHQ/yosys | Eddie Hung | 2019-07-08 | 2 | -8/+22 |
| |\ \ \ \ \ | |||||
| | * \ \ \ \ | Merge pull request #1164 from YosysHQ/eddie/muxcover_mux2 | Eddie Hung | 2019-07-08 | 1 | -8/+19 |
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | Add muxcover -mux2=cost option | ||||
| | * \ \ \ \ \ | Merge pull request #1160 from ZirconiumX/cyclone_v | David Shah | 2019-07-08 | 1 | -0/+3 |
| | |\ \ \ \ \ \ | | | |_|_|_|_|/ | | |/| | | | | | synth_intel: Warn about untested Quartus backend | ||||
| | | * | | | | | synth_intel: Warn about untested Quartus backend | Dan Ravensloft | 2019-07-07 | 1 | -0/+3 |
| | |/ / / / / | |||||
| * / / / / / | Clarify script -scriptwire doc | Eddie Hung | 2019-07-08 | 1 | -0/+4 |
| |/ / / / / | |||||
* | | | | | | synth_xilinx to call commands of synth -coarse directly | Eddie Hung | 2019-07-09 | 1 | -3/+20 |
| | | | | | | |||||
* | | | | | | Revert "synth_xilinx to call "synth -run coarse" with "-keepdc"" | Eddie Hung | 2019-07-09 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7f964859ec99500e471853f5914b6e5b7c35a031. | ||||
* | | | | | | Fix spacing | Eddie Hung | 2019-07-09 | 1 | -1/+1 |
| | | | | | | |||||
* | | | | | | Fix spacing | Eddie Hung | 2019-07-09 | 1 | -1/+1 |
| | | | | | | |||||
* | | | | | | Decompose mux inputs in delay-orientated (rather than area) fashion | Eddie Hung | 2019-07-08 | 1 | -18/+30 |
| | | | | | | |||||
* | | | | | | Do not call opt -mux_undef (part of -full) before muxcover | Eddie Hung | 2019-07-08 | 1 | -1/+5 |
| | | | | | | |||||
* | | | | | | Add one more comment | Eddie Hung | 2019-07-08 | 1 | -0/+3 |
| | | | | | | |||||
* | | | | | | Less thinking | Eddie Hung | 2019-07-08 | 1 | -3/+3 |
| | | | | | | |||||
* | | | | | | Reword | Eddie Hung | 2019-07-08 | 1 | -2/+2 |
| | | | | | | |||||
* | | | | | | synth_xilinx to call "synth -run coarse" with "-keepdc" | Eddie Hung | 2019-07-08 | 1 | -2/+2 |
| | | | | | | |||||
* | | | | | | Merge remote-tracking branch 'origin/eddie/synth_keepdc' into xc7mux | Eddie Hung | 2019-07-08 | 4 | -8/+25 |
|\ \ \ \ \ \ | | |_|/ / / | |/| | | | | |||||
| * | | | | | Add synth -keepdc to CHANGELOG | Eddie Hung | 2019-07-08 | 1 | -0/+1 |
| | | | | | | |||||
| * | | | | | Clarify 'wreduce -keepdc' doc | Eddie Hung | 2019-07-08 | 1 | -1/+1 |
| | | | | | | |||||
| * | | | | | Add synth -keepdc option | Eddie Hung | 2019-07-08 | 1 | -2/+13 |
| | |/ / / | |/| | | | |||||
| * | | | | Update muxcover doc as per @ZirconiumX | Eddie Hung | 2019-07-08 | 1 | -5/+10 |
| | | | | | |||||
* | | | | | Map $__XILINX_SHIFTX in a more balanced manner | Eddie Hung | 2019-07-08 | 1 | -36/+49 |
| | | | | | |||||
* | | | | | Capitalisation | Eddie Hung | 2019-07-08 | 1 | -1/+1 |
| | | | | | |||||
* | | | | | Add synth_xilinx -widemux recommended value | Eddie Hung | 2019-07-08 | 1 | -1/+1 |
| | | | | | |||||
* | | | | | Fixes for 2:1 muxes | Eddie Hung | 2019-07-08 | 2 | -5/+30 |
| | | | | | |||||
* | | | | | synth_xilinx -widemux=2 is minimum now | Eddie Hung | 2019-07-08 | 1 | -4/+7 |
| | | | | | |||||
* | | | | | Parametric muxcover costs as per @daveshah1 | Eddie Hung | 2019-07-08 | 1 | -16/+14 |
| | | | | | |||||
* | | | | | Merge remote-tracking branch 'origin/eddie/muxcover_mux2' into xc7mux | Eddie Hung | 2019-07-08 | 1 | -5/+11 |
|\| | | | | |||||
| * | | | | atoi -> stoi | Eddie Hung | 2019-07-08 | 1 | -5/+5 |
| | | | | | |||||
| * | | | | Add muxcover -mux2=cost option | Eddie Hung | 2019-07-08 | 1 | -1/+7 |
| |/ / / | |||||
* | | | | atoi -> stoi as per @daveshah1 | Eddie Hung | 2019-07-08 | 1 | -1/+1 |
| | | | |