aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* proc_dff: Fix emitted FF when a register is not assigned in async resetMarcelina Kościelnicka2021-03-082-0/+27
| | | | Fixes #2619.
* memory_dff: Remove code looking for $mux cells.Marcelina Kościelnicka2021-03-081-56/+12
| | | | This job is now performed by `opt_dff`, which runs before this pass.
* tests/bram: Do not generate write address collisions.Marcelina Kościelnicka2021-03-081-5/+23
| | | | These have no defined semantics, making the tests non-deterministic.
* Replace assert in abc9_ops with more useful error messageDan Ravensloft2021-03-071-1/+9
|
* Merge pull request #2626 from zachjs/param-no-defaultwhitequark2021-03-0712-5/+225
|\ | | | | sv: support for parameters without default values
| * sv: support for parameters without default valuesZachary Snow2021-03-0212-5/+225
| | | | | | | | | | | | | | | | | | - Modules with a parameter without a default value will be automatically deferred until the hierarchy pass - Allows for parameters without defaults as module items, rather than just int the `parameter_port_list`, despite being forbidden in the LRM - Check for parameters without defaults that haven't been overriden - Add location info to parameter/localparam declarations
* | Merge pull request #2632 from zachjs/width-limitwhitequark2021-03-073-0/+39
|\ \ | | | | | | verilog: impose limit on maximum expression width
| * | verilog: impose limit on maximum expression widthZachary Snow2021-03-043-0/+39
| | | | | | | | | | | | | | | Designs with unreasonably wide expressions would previously get stuck allocating memory forever.
* | | sv: fix some edge cases for unbased unsized literalsZachary Snow2021-03-064-1/+70
| | | | | | | | | | | | | | | | | | - Fix explicit size cast of unbased unsized literals - Fix unbased unsized literal bound directly to port - Output `is_unsized` flag in `dumpAst`
* | | proc_clean: Fix empty case removal conditions.Marcelina Kościelnicka2021-03-061-10/+21
| | | | | | | | | | | | Fixes #2639.
* | | Remove a few functions that, in fact, did not exist in the first place.Marcelina Kościelnicka2021-03-062-3/+1
| | |
* | | Replace assert in addModule with more useful error messageDan Ravensloft2021-03-061-1/+2
| | |
* | | Merge pull request #2635 from whitequark/cxxrtl-memrd-async-addrwhitequark2021-03-051-1/+3
|\ \ \ | | | | | | | | cxxrtl: follow aliases to outlines when emitting $memrd.ADDR
| * | | cxxrtl: follow aliases to outlines when emitting $memrd.ADDR.whitequark2021-03-051-1/+3
| |/ /
* | | Merge pull request #2634 from whitequark/cxxrtl-debug-wire-typeswhitequark2021-03-051-0/+46
|\ \ \ | | | | | | | | cxxrtl: add pass debug flag to show assigned wire types
| * | | cxxrtl: add pass debug flag to show assigned wire types.whitequark2021-03-051-0/+46
| |/ / | | | | | | | | | Refs #2543.
* | | Merge pull request #2633 from whitequark/cxxrtl-no-topwhitequark2021-03-051-1/+1
|\ \ \ | |/ / |/| | cxxrtl: don't crash on empty designs
| * | cxxrtl: don't crash on empty designs.whitequark2021-03-051-1/+1
|/ /
* | Update command-reference-manual.texClaire Xen2021-03-041-4/+4
| |
* | Update READMEClaire Xen2021-03-041-4/+4
|/
* Merge pull request #2620 from zachjs/port-int-typeswhitequark2021-03-013-2/+64
|\ | | | | verilog: fix sizing of ports with int types in module headers
| * verilog: fix sizing of ports with int types in module headersZachary Snow2021-03-013-2/+64
| | | | | | | | | | | | Declaring the ports as standard module items already worked as expected. This adds a missing usage of `checkRange()` so that headers such as `module m(output integer x);` now work correctly.
* | Bump versionMarcelina Kościelnicka2021-03-011-1/+1
|/
* verilog: fix handling of nested ifdef directivesZachary Snow2021-03-018-11/+197
| | | | | - track depth so we know whether to consider higher-level elsifs - error on unmatched endif/elsif/else
* Set aside extraneous tests in simple_abc9 test suiteZachary Snow2021-03-012-0/+19
| | | | | | | New test cases on one branch may be automatically copied from simple/ to simple_abc9/, causing failures when switching to another branch. This updates the simple_abc9 script to set aside extraneous tests in a non-destructive way.
* Merge pull request #2523 from tomverbeure/define_synthesisClaire Xen2021-03-011-3/+12
|\ | | | | Add -nosynthesis flag for read_verilog command
| * Fix indents.Tom Verbeure2021-01-041-2/+2
| |
| * Add -nosynthesis flag for read_verilog command.Tom Verbeure2021-01-041-3/+12
| |
* | Merge pull request #2524 from bkbncn/patch-1Claire Xen2021-03-011-0/+1
|\ \ | | | | | | Add boost-python3
| * | Add boost-python3Xiangyu Xu2021-01-041-0/+1
| |/ | | | | If enable python-api, do need boost-python3.
* | Merge pull request #2617 from RobertBaruch/docwhitequark2021-03-011-1/+1
|\ \ | | | | | | RTLIL Documentation: switch in process is optional
| * | RTLIL Documentation: switch in process is optionalRobert Baruch2021-02-271-1/+1
| | |
* | | Merge pull request #2615 from zachjs/genrtlil-conflictwhitequark2021-03-017-12/+93
|\ \ \ | | | | | | | | genrtlil: improve name conflict error messaging
| * | | genrtlil: improve name conflict error messagingZachary Snow2021-02-267-12/+93
| | | |
* | | | Merge pull request #2618 from zachjs/int-typeswhitequark2021-02-286-39/+148
|\ \ \ \ | |_|/ / |/| | | sv: extended support for integer types
| * | | sv: extended support for integer typesZachary Snow2021-02-286-39/+148
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | - Standard data declarations can now use any integer type - Parameters and localparams can now use any integer type - Function returns types can now use any integer type - Fix `parameter logic`, `localparam reg`, etc. to be 1 bit (previously 32 bits) - Added longint type (64 bits) - Unified parser source for integer type widths
* | | Update issue_template.mdClaire Xen2021-02-271-1/+1
| | |
* | | Add tests for $countbitsMichael Singer2021-02-262-0/+76
| | |
* | | Implement $countones, $isunknown and $onehot{,0}Michael Singer2021-02-261-0/+28
| | |
* | | Implement $countbits functionMichael Singer2021-02-261-0/+59
| | |
* | | Extend simplify() recursion warningZachary Snow2021-02-261-1/+1
| | |
* | | Bump versionMarcelina Kościelnicka2021-02-261-1/+1
| | |
* | | Merge pull request #2554 from hzeller/masterwhitequark2021-02-251-6/+17
|\ \ \ | | | | | | | | Fix digit-formatting calculation for small numbers.
| * | | Provide an integer implementation of decimal_digits().Henner Zeller2021-02-011-2/+9
| | | | | | | | | | | | | | | | Signed-off-by: Henner Zeller <h.zeller@acm.org>
| * | | Fix digit-formatting calculation for small numbers.Henner Zeller2021-01-211-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling log10() on zero causes a non-sensical value to be calculated. On some compile options, I've observed yosys crashing with an illegal instruction (SIGILL). To make it safe, fix the calculation to do a range check; wrap it a decimal_digits() function, and use it where the previous ceil(log10(n)) call was used. As a side, it also improves readability. Signed-off-by: Henner Zeller <h.zeller@acm.org>
* | | | btor, smt2, smv: Add a hint on how to deal with funny FF types.Marcelina Kościelnicka2021-02-253-3/+42
| | | |
* | | | Fix handling of unique/unique0/priority cases in the frontend.Marcelina Kościelnicka2021-02-252-15/+16
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | Basically: - priority converts to (* full_case *) - unique0 converts to (* parallel_case *) - unique converts to (* parallel_case, full_case *) Fixes #2596.
* | | Extend "delay" expressions to handle pair and triplet, i.e. rise, fall and ↵TimRudy2021-02-243-2/+445
| | | | | | | | | | | | turn-off (#2566)
* | | Merge pull request #2607 from zachjs/logger-error-atexitwhitequark2021-02-241-3/+3
|\ \ \ | | | | | | | | Fix double-free on unmatched logger error pattern
| * | | Fix double-free on unmatched logger error patternZachary Snow2021-02-231-3/+3
|/ / / | | | | | | | | | | | | | | | | | | When an expected logger error pattern is unmatched, the logger raises another (hidden) error. Because of the previous ordering of actions, `logv_error_with_prefix()` would inadvertently invoke `yosys_atexit()` twice, causing a double-free.