aboutsummaryrefslogtreecommitdiffstats
path: root/frontends/ast/simplify.cc
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/master' into eddie/cleanupEddie Hung2019-08-071-15/+2
|\
| * Fix handling of functions/tasks without top-level begin-end block, fixes #1231Clifford Wolf2019-08-061-15/+2
| | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | IdString::str().substr() -> IdString::substr()Eddie Hung2019-08-061-1/+1
|/
* Merge branch 'master' of github.com:YosysHQ/yosys into clifford/fix968Clifford Wolf2019-05-061-0/+1
|\
| * Add splitcmplxassign test case and silence splitcmplxassign warningClifford Wolf2019-05-011-0/+1
| | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | Re-enable "final loop assignment" featureClifford Wolf2019-05-011-2/+0
|/ | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Disabled "final loop assignment" featureClifford Wolf2019-04-301-0/+2
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Add final loop variable assignment when unrolling for-loops, fixes #968Clifford Wolf2019-04-301-0/+7
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Determine correct signedness and expression width in for loop unrolling, ↵Clifford Wolf2019-04-221-3/+18
| | | | | | fixes #370 Signed-off-by: Clifford Wolf <clifford@clifford.at>
* support repeat loops with constant repeat counts outside of constant functionsZachary Snow2019-04-091-1/+20
|
* Fix mem2reg handling of memories with upto data ports, fixes #888Clifford Wolf2019-03-211-1/+10
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* fix local name resolution in prefix constructsZachary Snow2019-03-181-1/+5
|
* Improve handling of memories used in mem index expressions on LHS of an ↵Clifford Wolf2019-03-121-5/+16
| | | | | | assignment Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Remove outdated "blocking assignment to memory" warningClifford Wolf2019-03-121-10/+0
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Only set MEM2REG_FL_CONST_LHS/MEM2REG_FL_VAR_LHS for non-init writes, fixes #867Clifford Wolf2019-03-121-6/+8
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Merge pull request #858 from YosysHQ/clifford/svalabelsClifford Wolf2019-03-091-0/+1
|\ | | | | Add support for using SVA labels in yosys-smtbmc console output
| * Add support for SVA labels in read_verilogClifford Wolf2019-03-071-0/+1
| | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | Fix handling of task output ports in clocked always blocks, fixes #857Clifford Wolf2019-03-071-15/+18
|/ | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Only run derive on blackbox modules when ports have dynamic sizeClifford Wolf2019-03-021-0/+19
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Fix $global_clock handling vs autowireClifford Wolf2019-03-021-1/+1
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Fix $readmem[hb] for mem2reg memories, fixes #785Clifford Wolf2019-03-021-0/+35
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Use mem2reg on memories that only have constant-index write portsClifford Wolf2019-03-011-0/+11
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Fix handling of defparam for when default_nettype is noneClifford Wolf2019-02-241-0/+4
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Fixes related to handling of autowires and upto-ranges, fixes #814Clifford Wolf2019-02-211-7/+10
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Fix handling of expression width in $past, fixes #810Clifford Wolf2019-02-211-1/+1
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Fix segfault in AST simplifyClifford Wolf2018-12-181-0/+5
| | | | | | (as proposed by Dan Gisselquist) Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Make return value of $clog2 signedSylvain Munaut2018-11-241-1/+1
| | | | | | | | As per Verilog 2005 - 17.11.1. Fixes #708 Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* Various indenting fixes in AST front-end (mostly space vs tab issues)Clifford Wolf2018-11-041-38/+33
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Make and dependent upon LSB onlyZipCPU2018-11-031-2/+8
|
* Do not generate "reg assigned in a continuous assignment" warnings for "rand ↵Clifford Wolf2018-11-011-2/+15
| | | | | | reg" Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Merge pull request #659 from rubund/sv_interfacesClifford Wolf2018-10-181-1/+1
|\ | | | | Support for SystemVerilog interfaces and modports
| * Synthesis support for SystemVerilog interfacesRuben Undheim2018-10-121-1/+1
| | | | | | | | This time doing the changes mostly in AST before RTLIL generation
* | Merge pull request #638 from udif/pr_reg_wire_errorClifford Wolf2018-10-171-0/+12
|\ \ | |/ |/| Fix issue #630
| * Fixed issue #630 by fixing a minor typo in the previous commitUdi Finkelstein2018-09-251-2/+2
| | | | | | | | (as well as a non critical minor code optimization)
| * Merge branch 'master' into pr_reg_wire_errorUdi Finkelstein2018-09-181-123/+121
| |\
| * | Fixed remaining cases where we check fo wire reg/wire incorrect assignmentsUdi Finkelstein2018-09-181-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on Yosys-generated assignments. In this case, offending code was: module top(input in, output out); function func; input arg; func = arg; endfunction assign out = func(in); endmodule
* | | Add read_verilog $changed supportDan Gisselquist2018-10-011-1/+4
| | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | Fix handling of $past 2nd argument in read_verilogClifford Wolf2018-09-301-1/+1
| |/ |/| | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | Merge pull request #590 from hzeller/remaining-file-errorClifford Wolf2018-08-151-15/+15
|\ \ | | | | | | Fix remaining log_file_error(); emit dependent file references in new…
| * | Fix remaining log_file_error(); emit dependent file references in new line.Henner Zeller2018-07-201-15/+15
| | | | | | | | | | | | | | | | | | | | | There are some places that reference dependent file locations ("this function was called from ..."). These are now in a separate line for ease of jumping to it with the editor (behaves similarly to compilers that emit dependent messages).
* | | Merge pull request #513 from udif/pr_reg_wire_errorClifford Wolf2018-08-151-0/+42
|\ \ \ | |/ / |/| / | |/ Add error checking for reg/wire/logic misuse - PR now passes 'make test' (plus a new test)
| * Modified errors into warningsUdi Finkelstein2018-06-051-6/+38
| | | | | | | | No longer false warnings for memories and assertions
| * This PR should be the base for discussion, do not merge it yet!Udi Finkelstein2018-03-111-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | It correctly detects reg/wire mix and incorrect use on blocking,nonblocking assignments within blocks and assign statements. What it DOES'T do: Detect registers connected to output ports of instances. Where it FAILS: memorty nonblocking assignments causes spurious (I assume??) errors on yosys-generated "_ADDR", "_DATA", "EN" signals. You can test it with tests/simple/reg_wire_error.v (look inside for the comments to enable/disable specific lines)
* | Convert more log_error() to log_file_error() where possible.Henner Zeller2018-07-201-54/+53
| | | | | | | | | | Mostly statements that span over multiple lines and haven't been caught with the previous conversion.
* | Use log_file_warning(), log_file_error() functions.Henner Zeller2018-07-201-61/+60
|/ | | | Wherever we can report a source-level location.
* Add $allconst and $allseq cell typesClifford Wolf2018-02-231-1/+1
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Add support for "yosys -E"Clifford Wolf2018-01-071-0/+1
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Fix error handling for nested always/initialClifford Wolf2017-12-021-0/+3
|
* Remove some dead codeClifford Wolf2017-10-101-15/+0
|
* Allow $past, $stable, $rose, $fell in $global_clock blocksClifford Wolf2017-10-101-1/+5
|