Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #1607 from whitequark/simplify-simplify-meminit | Claire Wolf | 2020-03-27 | 1 | -63/+82 |
|\ | | | | | ast: avoid intermediate wires/assigns when lowering to AST_MEMINIT | ||||
| * | ast: avoid intermediate wires/assigns when lowering to AST_MEMINIT. | whitequark | 2020-02-07 | 1 | -65/+84 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, every initial assignment to a memory generated two wires and four assigns in a process. For unknown reasons (I did not investigate), large amounts of assigns cause quadratic slowdown later in the AST frontend, in processAst/removeSignalFromCaseTree. As a consequence, common and reasonable Verilog code, such as: reg [`WIDTH:0] mem [0:`DEPTH]; integer i; initial for (i = 0; i <= `DEPTH; i++) mem[i] = 0; took extremely long time to be processed; around 80 s for a 8-wide, 8192-deep memory. After this commit, initial assignments where address and/or data are constant (after `generate`) do not incur the cost of intermediate wires; expressions like `mem[i+1]=i^(i<<1)` are considered constant. This results in speedups of orders of magnitude for common memory sizes; it now takes merely 0.4 s to process a 8-wide, 8192-deep memory, and only 5.8 s to process a 8-wide, 131072-deep one. As a bonus, this change also results in nontrivial speedups later in the synthesis pipeline, since pass sequencing issues meant that all of these intermediate wires were subject to transformations such as width reduction, even though they existed solely to be constant folded away in `memory_collect`. | ||||
* | | Simplify was not being called for packages. Broke typedef enums. | Peter Crozier | 2020-03-22 | 1 | -5/+8 |
| | | |||||
* | | Build pkg_user_types before parsing in case of changes in the design. | Peter Crozier | 2020-03-22 | 1 | -6/+3 |
| | | |||||
* | | Clear pkg_user_types if no packages following a 'design -reset-vlog'. | Peter | 2020-03-22 | 2 | -0/+5 |
| | | |||||
* | | Parser changes to support typedef. | Peter | 2020-03-22 | 4 | -10/+88 |
| | | |||||
* | | Merge pull request #1788 from YosysHQ/eddie/fix_ndebug | Eddie Hung | 2020-03-19 | 2 | -2/+2 |
|\ \ | | | | | | | Fix NDEBUG warnings | ||||
| * | | Fix NDEBUG warnings | Eddie Hung | 2020-03-19 | 2 | -2/+2 |
| | | | |||||
* | | | Merge pull request #1787 from YosysHQ/mmicko/lexer_deps | Miodrag Milanović | 2020-03-19 | 1 | -1/+1 |
|\ \ \ | |/ / |/| | | Add dependency to verilog_lexer.cc | ||||
| * | | Add one mode dependency | Miodrag Milanovic | 2020-03-19 | 1 | -1/+1 |
| | | | |||||
* | | | Merge pull request #1775 from huaixv/asserts_locations | N. Engelhardt | 2020-03-19 | 2 | -7/+31 |
|\ \ \ | |/ / |/| | | Add precise locations for asserts | ||||
| * | | Add precise locations for asserts | huaixv | 2020-03-19 | 2 | -7/+31 |
| | | | |||||
* | | | Add AST node source location information in a couple more parser rules. | Alberto Gonzalez | 2020-03-17 | 1 | -0/+2 |
|/ / | |||||
* | | Merge pull request #1759 from zeldin/constant_with_comment_redux | Miodrag Milanović | 2020-03-14 | 2 | -19/+43 |
|\ \ | | | | | | | refixed parsing of constant with comment between size and value | ||||
| * | | refixed parsing of constant with comment between size and value | Marcus Comstedt | 2020-03-11 | 2 | -19/+43 |
| | | | | | | | | | | | | | | | | | | The three parts of a based constant (size, base, digits) are now three separate tokens, allowing the linear whitespace (including comments) between them to be treated as normal inter-token whitespace. | ||||
* | | | Merge pull request #1754 from boqwxp/precise_locations | Miodrag Milanović | 2020-03-14 | 1 | -2/+53 |
|\ \ \ | | | | | | | | | Set AST node source location in more parser rules. | ||||
| * | | | verilog: also set location for simple_behavioral_stmt | Eddie Hung | 2020-03-10 | 1 | -0/+4 |
| | | | | |||||
| * | | | Set AST source locations in more parser rules. | Alberto Gonzalez | 2020-03-10 | 1 | -2/+49 |
| |/ / | |||||
* / / | Fix compilation for emcc | jiegec | 2020-03-11 | 1 | -1/+2 |
|/ / | |||||
* | | Fix partsel expr bit width handling and add test case | Claire Wolf | 2020-03-08 | 1 | -4/+6 |
| | | | | | | | | Signed-off-by: Claire Wolf <claire@symbioticeda.com> | ||||
* | | Fix bison warning for "pure-parser" option | Claire Wolf | 2020-03-03 | 1 | -1/+1 |
| | | | | | | | | Signed-off-by: Claire Wolf <claire@symbioticeda.com> | ||||
* | | Merge pull request #1718 from boqwxp/precise_locations | Claire Wolf | 2020-03-03 | 8 | -299/+384 |
|\ \ | | | | | | | Closes #1717. Add more precise Verilog source location information to AST and RTLIL nodes. | ||||
| * | | Closes #1717. Add more precise Verilog source location information to AST ↵ | Alberto Gonzalez | 2020-02-23 | 8 | -299/+384 |
| | | | | | | | | | | | | and RTLIL nodes. | ||||
* | | | Merge pull request #1681 from YosysHQ/eddie/fix1663 | Claire Wolf | 2020-03-03 | 1 | -15/+13 |
|\ \ \ | | | | | | | | | verilog: instead of modifying localparam size, extend init constant expr | ||||
| * | | | verilog: instead of modifying localparam size, extend init constant expr | Eddie Hung | 2020-02-05 | 1 | -15/+13 |
| | |/ | |/| | |||||
* | | | Merge pull request #1724 from YosysHQ/eddie/abc9_specify | Eddie Hung | 2020-03-02 | 2 | -12/+20 |
|\ \ \ | | | | | | | | | abc9: auto-generate *.lut/*.box files and arrival/required times from specify entries | ||||
| * | | | ast: quiet down when deriving blackbox modules | Eddie Hung | 2020-02-27 | 2 | -12/+20 |
| | |/ | |/| | |||||
* | | | ast: fixes #1710; do not generate RTLIL for unreachable ternary | Eddie Hung | 2020-02-27 | 1 | -9/+22 |
| | | | |||||
* | | | Comment out log() | Eddie Hung | 2020-02-27 | 1 | -1/+1 |
|/ / | |||||
* | | Merge pull request #1703 from YosysHQ/eddie/specify_improve | Eddie Hung | 2020-02-21 | 3 | -36/+92 |
|\ \ | | | | | | | Improve specify parser | ||||
| * | | verilog: add support for more delays than just rise/fall | Eddie Hung | 2020-02-19 | 1 | -1/+40 |
| | | | |||||
| * | | verilog: ignore ranges too without -specify | Eddie Hung | 2020-02-13 | 1 | -1/+2 |
| | | | |||||
| * | | verilog: improve specify support when not in -specify mode | Eddie Hung | 2020-02-13 | 1 | -13/+7 |
| | | | |||||
| * | | verilog: ignore '&&&' when not in -specify mode | Eddie Hung | 2020-02-13 | 2 | -5/+6 |
| | | | |||||
| * | | specify: system timing checks to accept min:typ:max triple | Eddie Hung | 2020-02-13 | 1 | -12/+29 |
| | | | |||||
| * | | verilog: fix $specify3 check | Eddie Hung | 2020-02-13 | 1 | -7/+11 |
| | | | |||||
* | | | Merge pull request #1642 from jjj11x/jjj11x/sv-enum | Claire Wolf | 2020-02-20 | 5 | -18/+325 |
|\ \ \ | |/ / |/| | | Enum support | ||||
| * | | remove unnecessary blank line | Jeff Wang | 2020-02-17 | 1 | -2/+1 |
| | | | |||||
| * | | add attributes for enumerated values in ilang | Jeff Wang | 2020-02-17 | 3 | -2/+76 |
| | | | | | | | | | | | | | | | | | | - information also useful for strongly-typed enums (not implemented) - resolves enum values in ilang part of #1594 - still need to output enums to VCD (or better yet FST) files | ||||
| * | | separate out enum_item/param implementation when they should be different | Jeff Wang | 2020-02-17 | 1 | -7/+16 |
| | | | |||||
| * | | fix bug introduced by not taking all of PeterCrozier's changes in 16ea4ea6 | Jeff Wang | 2020-01-17 | 1 | -4/+6 |
| | | | | | | | | | | | | | | | | | | | | | | | | The if(str == node->str) is in fact necessary (otherwise causes generate for in Multiplier_2D in tests/simple/multiplier.v to fail with error message "Right hand side of 3rd expression of generate for-loop is not constant!"). Note: in PeterCrozier's implementation, the break only breaks out of the switch-case, not the outer for loop. | ||||
| * | | fix enum in generate blocks | Jeff Wang | 2020-01-16 | 1 | -0/+20 |
| | | | |||||
| * | | allow enums to be declared at toplevel scope | Jeff Wang | 2020-01-16 | 1 | -0/+7 |
| | | | |||||
| * | | lexer doesn't seem to return TOK_REG for logic anymore | Jeff Wang | 2020-01-16 | 1 | -3/+4 |
| | | | |||||
| * | | allow enum typedefs | Jeff Wang | 2020-01-16 | 1 | -1/+6 |
| | | | |||||
| * | | partial rebase of PeterCrozier's enum work onto current master | Jeff Wang | 2020-01-16 | 5 | -17/+207 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I tried to keep only the enum-related changes, and minimize the diff. (The original commit also had a lot of work done to get typedefs working, but yosys has diverged quite a bit since the 2018-03-09 commit, with a new typedef implementation.) I did not include the import related changes either. Original commit: "Initial implementation of enum, typedef, import. Still a WIP." https://github.com/PeterCrozier/yosys/commit/881833aa738e7404987646ea8076284e911fce3f | ||||
* | | | Merge pull request #1679 from thasti/delay-parsing | N. Engelhardt | 2020-02-13 | 1 | -2/+2 |
|\ \ \ | | | | | | | | | Fix crash on wire declaration with delay | ||||
| * | | | correct wire declaration grammar for #1614 | Stefan Biereigel | 2020-02-03 | 1 | -2/+2 |
| | | | | |||||
* | | | | Modified $readmem[hb] to use '\' or '/' according the OS | Rodrigo Alejandro Melo | 2020-02-06 | 1 | -1/+6 |
| | | | | | | | | | | | | | | | | Signed-off-by: Rodrigo Alejandro Melo <rmelo@inti.gob.ar> | ||||
* | | | | Merge branch 'master' of https://github.com/YosysHQ/yosys | Rodrigo Alejandro Melo | 2020-02-03 | 4 | -94/+118 |
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | Solved a conflict into the CHANGELOG Signed-off-by: Rodrigo Alejandro Melo <rmelo@inti.gob.ar> |