aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* cxxrtl: don't assert on edge sync rules tied to a constant.whitequark2021-03-071-0/+4
| | | | | These are commonly the result of tying an async reset to an inactive level.
* cxxrtl: allow `always` sync rules in debug_eval.whitequark2021-03-071-17/+25
| | | | | These can be produced from `always @*` processes, if `-noproc` is used.
* 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.
* | | Add tests for some common techmap files.Marcelina Kościelnicka2021-02-243-0/+50
| | |
* | | Fix syntax error in adff2dff.vMarcelina Kościelnicka2021-02-241-1/+1
| | | | | | | | | | | | Fixes #2600.
* | | frontend: Make helper functions for printing locations.Marcelina Kościelnicka2021-02-234-57/+71
| | |
* | | Merge pull request #2594 from zachjs/func-arg-widthwhitequark2021-02-2310-47/+124
|\ \ \ | | | | | | | | verilog: fix sizing of constant args for tasks/functions
| * | | verilog: fix sizing of constant args for tasks/functionsZachary Snow2021-02-2110-47/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Simplify synthetic localparams for normal calls to update their width - This step was inadvertently removed alongside `added_mod_children` - Support redeclaration of constant function arguments - `eval_const_function` never correctly handled this, but the issue was not exposed in the existing tests until the recent change to always attempt constant function evaluation when all-const args are used - Check asserts in const_arg_loop and const_func tests - Add coverage for width mismatch error cases
* | | | int -> boolRobert Baruch2021-02-231-2/+2
| | | |
* | | | Adds is_wire to SigBit and SigChunkRobert Baruch2021-02-231-0/+3
| | | | | | | | | | | | Useful for PYOSYS because Python can't easily check wire against NULL.
* | | | machxo2: Switch to LUT4 sim model which propagates less undefined/don't care ↵William D. Jones2021-02-232-12/+6
| | | | | | | | | | | | | | | | values.