Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | kernel: big fat patch to use more ID::*, otherwise ID(*) | Eddie Hung | 2020-04-02 | 5 | -96/+96 |
| | |||||
* | kernel: use more ID::* | Eddie Hung | 2020-04-02 | 6 | -90/+90 |
| | |||||
* | kernel: SigSpec use more const& + overloads to prevent implicit SigSpec | Eddie Hung | 2020-03-13 | 1 | -1/+1 |
| | |||||
* | proc_dlatch: Add error handling for incorrect always_(ff|latch|comb) usage | David Shah | 2019-11-21 | 1 | -4/+16 |
| | | | | Signed-off-by: David Shah <dave@ds0.me> | ||||
* | proc_clean: fix order of switch insertion. | whitequark | 2019-08-19 | 1 | -2/+1 |
| | | | | Fixes #1268. | ||||
* | Merge pull request #1258 from YosysHQ/eddie/cleanup | Clifford Wolf | 2019-08-10 | 1 | -2/+2 |
|\ | | | | | Cleanup a few barnacles across codebase | ||||
| * | Make liberal use of IdString.in() | Eddie Hung | 2019-08-06 | 1 | -2/+2 |
| | | |||||
* | | proc_prune: fix handling of exactly identical assigns. | whitequark | 2019-08-08 | 1 | -9/+7 |
|/ | | | | | | | | | | | | | | | | | Before this commit, in a process like: process $proc$bug.v:8$3 assign $foo \bar switch \sel case 1'1 assign $foo 1'1 assign $foo 1'1 case assign $foo 1'0 end end both of the "assign $foo 1'1" would incorrectly be removed. Fixes #1243. | ||||
* | proc_prune: Promote partially redundant assignments. | Jean-François Nguyen | 2019-08-01 | 1 | -2/+11 |
| | |||||
* | Merge pull request #1168 from whitequark/bugpoint-processes | Clifford Wolf | 2019-07-09 | 1 | -8/+24 |
|\ | | | | | Add support for processes in bugpoint | ||||
| * | 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. | ||||
* / | proc_mux: consider \src attribute on CaseRule. | whitequark | 2019-07-08 | 1 | -10/+16 |
|/ | |||||
* | Improve proc full_case detection and handling, fixes #931 | Clifford Wolf | 2019-04-18 | 2 | -5/+63 |
| | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at> | ||||
* | Revert #895 | Eddie Hung | 2019-04-16 | 1 | -28/+0 |
| | |||||
* | Revert "Recognise default entry in case even if all cases covered (fix for ↵ | Eddie Hung | 2019-04-15 | 1 | -1/+1 |
| | | | | #931)" | ||||
* | Recognise default entry in case even if all cases covered (#931) | Eddie Hung | 2019-04-11 | 1 | -1/+1 |
| | |||||
* | proc_mux: Fix crash when trying to optimize non-existant mux to shiftx | Sylvain Munaut | 2019-04-03 | 1 | -1/+1 |
| | | | | | | last_mux_cell can be NULL ... Signed-off-by: Sylvain Munaut <tnt@246tNt.com> | ||||
* | Create one $shiftx per bit in width | Eddie Hung | 2019-03-25 | 1 | -10/+17 |
| | |||||
* | Add a pmux-to-shiftx optimisation to proc_mux | Eddie Hung | 2019-03-23 | 1 | -0/+21 |
| | |||||
* | proc_clean: fix critical typo. | whitequark | 2019-01-23 | 1 | -1/+1 |
| | |||||
* | proc_clean: fix fully def check to consider compare/signal length. | whitequark | 2019-01-18 | 1 | -1/+7 |
| | | | | Fixes #790. | ||||
* | proc_clean: remove any empty cases if all cases use all-def compare. | whitequark | 2018-12-23 | 1 | -6/+28 |
| | |||||
* | proc_clean: remove any empty cases at the end of the switch. | whitequark | 2018-12-22 | 1 | -7/+3 |
| | | | | Previously, only completely empty switches were removed. | ||||
* | Consistent use of 'override' for virtual methods in derived classes. | Henner Zeller | 2018-07-20 | 8 | -16/+16 |
| | | | | | | | | | o Not all derived methods were marked 'override', but it is a great feature of C++11 that we should make use of. o While at it: touched header files got a -*- c++ -*- for emacs to provide support for that language. o use YS_OVERRIDE for all override keywords (though we should probably use the plain keyword going forward now that C++11 is established) | ||||
* | Add warnings for driver-driver conflicts between FFs (and other cells) and ↵ | Clifford Wolf | 2017-12-12 | 1 | -2/+3 |
| | | | | constants | ||||
* | Add src attribute to extra cells generated by proc_dlatch | Clifford Wolf | 2017-09-09 | 1 | -7/+9 |
| | |||||
* | Added $global_clock verilog syntax support for creating $ff cells | Clifford Wolf | 2016-10-14 | 1 | -7/+19 |
| | |||||
* | Added "proc_mux -ifx" | Clifford Wolf | 2016-06-06 | 2 | -19/+43 |
| | |||||
* | Fix all undef-muxes in dlatch input cone | Clifford Wolf | 2016-06-02 | 1 | -34/+72 |
| | |||||
* | Avoid creating undef-muxes when inferring latches in proc_dlatch | Clifford Wolf | 2016-06-01 | 1 | -0/+44 |
| | |||||
* | Fixed proc_mux performance bug | Clifford Wolf | 2016-04-25 | 1 | -0/+3 |
| | |||||
* | Fixed performance bug in proc_dlatch | Clifford Wolf | 2016-04-24 | 1 | -2/+61 |
| | |||||
* | More flexible handling of initialization values | Clifford Wolf | 2016-04-22 | 1 | -7/+22 |
| | |||||
* | Added "yosys -D" feature | Clifford Wolf | 2016-04-21 | 8 | -8/+8 |
| | |||||
* | Preserve empty $pmux default cases | Clifford Wolf | 2016-03-31 | 1 | -2/+2 |
| | |||||
* | Improved proc_mux performance for huge always blocks | Clifford Wolf | 2015-12-02 | 1 | -36/+153 |
| | |||||
* | Re-created command-reference-manual.tex, copied some doc fixes to online help | Clifford Wolf | 2015-08-14 | 1 | -1/+1 |
| | |||||
* | Fixed trailing whitespaces | Clifford Wolf | 2015-07-02 | 8 | -23/+23 |
| | |||||
* | Minor fixes in handling of "init" attribute | Clifford Wolf | 2015-04-09 | 1 | -0/+5 |
| | |||||
* | Fixed compilation problems with gcc 4.6.3; use enum instead of const ints. | Clifford Wolf | 2015-02-24 | 1 | -2/+4 |
| | | | | (original patch by Andrew Becker <andrew.becker@epfl.ch>) | ||||
* | Added "proc_dlatch" | Clifford Wolf | 2015-02-12 | 3 | -1/+311 |
| | |||||
* | Removed SigSpec::extend_xx() api | Clifford Wolf | 2015-01-01 | 1 | -1/+1 |
| | |||||
* | Renamed extend() to extend_xx(), changed most users to extend_u0() | Clifford Wolf | 2014-12-24 | 1 | -1/+1 |
| | |||||
* | Added log_warning() API | Clifford Wolf | 2014-11-09 | 1 | -2/+2 |
| | |||||
* | Renamed SIZE() to GetSize() because of name collision on Win32 | Clifford Wolf | 2014-10-10 | 2 | -2/+2 |
| | |||||
* | namespace Yosys | Clifford Wolf | 2014-09-27 | 7 | -22/+58 |
| | |||||
* | Fixed handling of constant-true branches in proc_clean | Clifford Wolf | 2014-08-12 | 2 | -2/+3 |
| |