Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | simplemap: Map `$xnor` to `$_XNOR_` cells | Jannis Harder | 2022-11-29 | 2 | -5/+4 |
| | | | | | The previous mapping to `$_XOR_` and `$_NOT_` predates the addition of the `$_XNOR_` cell. | ||||
* | Merge branch 'zachjs-master' | Jannis Harder | 2022-11-21 | 1 | -0/+45 |
|\ | |||||
| * | verilog: Support module-scoped task/function calls | Zachary Snow | 2022-10-29 | 1 | -0/+45 |
| | | | | | | | | | | | | | | | | This is primarily intended to enable the standard-permitted use of module-scoped identifiers to refer to tasks and non-constant functions. As a side-effect, this also adds support for the non-standard use of module-scoped identifiers referring to constant functions, a feature that is supported in some other tools, including Iverilog. | ||||
* | | fabulous: Allow adding extra custom prims and map rules | gatecat | 2022-11-17 | 3 | -0/+21 |
| | | | | | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | | fabulous: improvements to the pass | gatecat | 2022-11-17 | 7 | -0/+141 |
|/ | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Replace GNU specific invocation of basename(1) with the equivalent | Lloyd Parkes | 2022-10-23 | 1 | -1/+1 |
| | | | | POSIX one. The tests now complete on BSD as well as GNU/Linux. | ||||
* | smt2/smtbmc: Fix FF witness data for fine grained or multi chunk FFs | Jannis Harder | 2022-10-12 | 1 | -7/+7 |
| | | | | | | | The witness metadata was missing fine grained FFs completely and for coarse grained FFs where the output connection has multiple chunks it lacked the offset of the chunk within the SMT expression. This fixes both, the later by adding an "smtoffset" field to the metadata. | ||||
* | Merge pull request #3502 from jix/equiv_opt_fixes | Jannis Harder | 2022-10-11 | 25 | -82/+95 |
|\ | | | | | equiv_opt and clk2fflogic fixes | ||||
| * | Reenable existing equiv_opt tests | Jannis Harder | 2022-10-07 | 13 | -54/+52 |
| | | |||||
| * | Fix tests for check in equiv_opt | Jannis Harder | 2022-10-07 | 13 | -15/+31 |
| | | |||||
| * | Re-enable opt_dff_sr equiv_opt checks | Claire Xenia Wolf | 2022-10-07 | 1 | -13/+12 |
| | | | | | | | | Signed-off-by: Claire Xenia Wolf <claire@clairexen.net> | ||||
* | | Merge pull request #3452 from ALGCDG/master | Miodrag Milanović | 2022-10-10 | 1 | -0/+9 |
|\ \ | |/ |/| | Add BLIF names command input plane size check | ||||
| * | Adding check for BLIF names command input plane size. | Archie | 2022-08-21 | 1 | -0/+9 |
| | | |||||
* | | Test fixes for latest iverilog | Miodrag Milanovic | 2022-09-21 | 1 | -2/+12 |
| | | |||||
* | | Add test for bug 3462 | Miodrag Milanovic | 2022-08-29 | 2 | -0/+15 |
|/ | |||||
* | write_aiger: Fix non-$_FF_ FFs | Jannis Harder | 2022-08-18 | 1 | -0/+7 |
| | | | | This broke while switching sby's formal flows to always use $_FF_'s. | ||||
* | smtbmc: Add native json based witness format + smt2 backend support | Jannis Harder | 2022-08-16 | 1 | -0/+8 |
| | | | | | | | | | | | | | | | | | | | | This adds a native json based witness trace format. By having a common format that includes everything we support, and providing a conversion utility (yosys-witness) we no longer need to implement every format for every tool that deals with witness traces, avoiding a quadratic opportunity to introduce subtle bugs. Included: * smt2: New yosys-smt2-witness info lines containing full hierarchical paths without lossy escaping. * yosys-smtbmc --dump-yw trace.yw: Dump results in the new format. * yosys-smtbmc --yw trace.yw: Read new format as constraints. * yosys-witness: New tool to convert witness formats. Currently this can only display traces in a human-readable-only format and do a passthrough read/write of the new format. * ywio.py: Small python lib for reading and writing the new format. Used by yosys-smtbmc and yosys-witness to avoid duplication. | ||||
* | Merge pull request #3277 from YosysHQ/lofty/rename-scramble_name | N. Engelhardt | 2022-08-11 | 1 | -0/+31 |
|\ | |||||
| * | rename: add -scramble-name option to randomly rename selections | Lofty | 2022-08-08 | 1 | -0/+31 |
| | | |||||
* | | support file locations containing spaces | Miodrag Milanovic | 2022-08-08 | 3 | -9/+10 |
|/ | |||||
* | gatemate: Add test for LUT tree mapping | gatecat | 2022-06-27 | 3 | -0/+813 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Adding expected error message. | Archie | 2022-06-22 | 1 | -0/+1 |
| | |||||
* | Adding testcase for issue 3374 | Archie | 2022-06-22 | 1 | -0/+3 |
| | |||||
* | smt2: emit smtlib2_comb_expr outputs after all inputs | Jannis Harder | 2022-06-07 | 2 | -6/+6 |
| | |||||
* | don't use sed -i because it won't work on macos | Jacob Lifshay | 2022-06-03 | 2 | -2/+3 |
| | |||||
* | smtlib2_module: try to fix test on macos | Jacob Lifshay | 2022-06-02 | 1 | -1/+1 |
| | |||||
* | smt2: Add smtlib2_comb_expr attribute to allow user-selected smtlib2 expressions | Jacob Lifshay | 2022-06-02 | 4 | -0/+127 |
| | |||||
* | verilog: fix width/sign detection for functions | Zachary Snow | 2022-05-30 | 2 | -0/+46 |
| | |||||
* | verilog: fix size and signedness of array querying functions | Jannis Harder | 2022-05-30 | 1 | -0/+52 |
| | | | | | | | | | | genrtlil.cc and simplify.cc had inconsistent and slightly broken handling of signedness for array querying functions. These functions are defined to return a signed result. Simplify always produced an unsigned and genrtlil always a signed 32-bit result ignoring the context. Includes tests for the the relvant edge cases for context dependent conversions. | ||||
* | verilog: fix $past's signedness | Jannis Harder | 2022-05-25 | 1 | -0/+35 |
| | |||||
* | verilog: fix signedness when removing unreachable cases | Jannis Harder | 2022-05-24 | 1 | -0/+33 |
| | |||||
* | Add memory_bmux2rom pass. | Marcelina Kościelnicka | 2022-05-18 | 1 | -0/+27 |
| | |||||
* | Add memory_libmap tests. | Marcelina Kościelnicka | 2022-05-18 | 21 | -0/+1499 |
| | |||||
* | efinix: Use `memory_libmap` pass. | Marcelina Kościelnicka | 2022-05-18 | 1 | -12/+1 |
| | |||||
* | ice40: Use `memory_libmap` pass. | Marcelina Kościelnicka | 2022-05-18 | 1 | -56/+0 |
| | |||||
* | xilinx: Use `memory_libmap` pass. | Marcelina Kościelnicka | 2022-05-18 | 3 | -46/+15 |
| | |||||
* | nexus: Use `memory_libmap` pass. | Marcelina Kościelnicka | 2022-05-18 | 1 | -2/+2 |
| | |||||
* | ecp5: Use `memory_libmap` pass. | Marcelina Kościelnicka | 2022-05-18 | 1 | -135/+18 |
| | |||||
* | proc_rom: Add special handling of const-0 address bits. | Marcelina Kościelnicka | 2022-05-18 | 1 | -0/+146 |
| | |||||
* | Merge pull request #3314 from jix/sva_value_change_logic_wide | Jannis Harder | 2022-05-16 | 2 | -2/+43 |
|\ | | | | | verific: Use new value change logic also for $stable of wide signals. | ||||
| * | verific: Use new value change logic also for $stable of wide signals. | Jannis Harder | 2022-05-11 | 2 | -2/+43 |
| | | | | | | | | I missed this in the previous PR. | ||||
* | | Add proc_rom pass. | Marcelina Kościelnicka | 2022-05-13 | 1 | -0/+43 |
|/ | |||||
* | Merge pull request #3305 from jix/sva_value_change_logic | Jannis Harder | 2022-05-09 | 7 | -1/+96 |
|\ | | | | | verific: Improve logic generated for SVA value change expressions | ||||
| * | verific: Improve logic generated for SVA value change expressions | Jannis Harder | 2022-05-09 | 7 | -1/+96 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previously generated logic assumed an unconstrained past value in the initial state and did not handle 'x values. While the current formal verification flow uses 2-valued logic, SVA value change expressions require a past value of 'x during the initial state to behave in the expected way (i.e. to consider both an initial 0 and an initial 1 as $changed and an initial 1 as $rose and an initial 0 as $fell). This patch now generates logic that at the same time a) provides the expected behavior in a 2-valued logic setting, not depending on any dont-care optimizations, and b) properly handles 'x values in yosys simulation | ||||
* | | Merge pull request #3297 from jix/sva_nested_clk_else | Jannis Harder | 2022-05-09 | 1 | -0/+11 |
|\ \ | |/ |/| | verific: Fix conditions of SVAs with explicit clocks within procedures | ||||
| * | verific: Fix conditions of SVAs with explicit clocks within procedures | Jannis Harder | 2022-05-03 | 1 | -0/+11 |
| | | | | | | | | | | | | | | | | | | For SVAs that have an explicit clock and are contained in a procedure which conditionally executes the assertion, verific expresses this using a mux with one input connected to constant 1 and the other output connected to an SVA_AT. The existing code only handled the case where the first input is connected to 1. This patch also handles the other case. | ||||
* | | Fix running sva tests | Miodrag Milanovic | 2022-05-09 | 1 | -4/+3 |
| | | |||||
* | | opt_mem: Remove constant-value bit lanes. | Marcelina Kościelnicka | 2022-05-07 | 2 | -15/+2 |
|/ | |||||
* | sv: fix always_comb auto nosync for nested and function blocks | Zachary Snow | 2022-04-05 | 2 | -0/+30 |
| | |||||
* | opt_merge: Add `-keepdc` option required for formal verification | Jannis Harder | 2022-04-01 | 1 | -0/+50 |
| | | | | | | | | The `-keepdc` option prevents merging flipflops with dont-care bits in their initial value, as, in general, this is not a valid transform for formal verification. The keepdc option of `opt` is passed along to `opt_merge` now. |