Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #2973 from YosysHQ/micko/optional_extensions | Miodrag Milanović | 2021-08-20 | 2 | -2/+12 |
|\ | | | | | Make Verific extensions optional | ||||
| * | Make Verific extensions optional | Miodrag Milanovic | 2021-08-20 | 2 | -2/+12 |
|/ | |||||
* | Bump version | github-actions[bot] | 2021-08-18 | 1 | -1/+1 |
| | |||||
* | ice40: Fix typo in SB_CARRY specify for LP/UltraPlus | Sylvain Munaut | 2021-08-17 | 1 | -2/+2 |
| | | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com> | ||||
* | Bump version | github-actions[bot] | 2021-08-17 | 1 | -1/+1 |
| | |||||
* | kernel/mem: Remove old parameter when upgrading $mem to $mem_v2. | Marcelina Kościelnicka | 2021-08-16 | 1 | -0/+1 |
| | | | | Fixes #2967. | ||||
* | Bump version | github-actions[bot] | 2021-08-15 | 1 | -1/+1 |
| | |||||
* | proc_prune: Make assign removal and promotion per-bit, remember promoted bits. | Marcelina Kościelnicka | 2021-08-14 | 2 | -40/+47 |
| | | | | Fixes #2962. | ||||
* | Bump version | github-actions[bot] | 2021-08-14 | 1 | -1/+1 |
| | |||||
* | Generate an RTLIL representation of bind constructs | Rupert Swarbrick | 2021-08-13 | 11 | -3/+312 |
| | | | | | | | | | | | | | | | | | | | | | | | | | This code now takes the AST nodes of type AST_BIND and generates a representation in the RTLIL for them. This is a little tricky, because a binding of the form: bind baz foo_t foo_i (.arg (1 + bar)); means "make an instance of foo_t called foo_i, instantiate it inside baz and connect the port arg to the result of the expression 1+bar". Of course, 1+bar needs a cell for the addition. Where should that cell live? With this patch, the Binding structure that represents the construct is itself an AST::AstModule module. This lets us put the adder cell inside it. We'll pull the contents out and plonk them into 'baz' when we actually do the binding operation as part of the hierarchy pass. Of course, we don't want RTLIL::Binding to contain an AST::AstModule (since kernel code shouldn't depend on a frontend), so we define RTLIL::Binding as an abstract base class and put the AST-specific code into an AST::Binding subclass. This is analogous to the AST::AstModule class. | ||||
* | Add opt_mem_widen pass. | Marcelina Kościelnicka | 2021-08-14 | 4 | -0/+146 |
| | | | | If all of us are wide, then none of us are! | ||||
* | memory_share: Add -nosat and -nowiden options. | Marcelina Kościelnicka | 2021-08-14 | 11 | -11/+269 |
| | | | | This unlocks wide port recognition by default. | ||||
* | memory_dff: Recognize soft transparency logic. | Marcelina Kościelnicka | 2021-08-13 | 4 | -7/+1355 |
| | |||||
* | Add new opt_mem_priority pass. | Marcelina Kościelnicka | 2021-08-13 | 4 | -2/+319 |
| | |||||
* | Merge pull request #2932 from YosysHQ/mwk/logger-check-expected | Miodrag Milanović | 2021-08-13 | 2 | -5/+14 |
|\ | | | | | logger: Add -check-expected subcommand. | ||||
| * | logger: Add -check-expected subcommand. | Marcelina Kościelnicka | 2021-08-12 | 2 | -5/+14 |
| | | | | | | | | | | This allows us to have multiple "expect this warning" calls in a single long script, covering only as many passes as necessary. | ||||
* | | sv: improve support for wire and var with user-defined types | Brett Witherspoon | 2021-08-12 | 3 | -11/+152 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - User-defined types must be data types. Using a net type (e.g. wire) is a syntax error. - User-defined types without a net type are always variables (i.e. logic). - Nets and variables can now be explicitly declared using user-defined types: typedef logic [1:0] W; wire W w; typedef logic [1:0] V; var V v; Fixes #2846 | ||||
* | | Bump version | github-actions[bot] | 2021-08-13 | 1 | -1/+1 |
| | | |||||
* | | memory_share: Pass addresses through sigmap_xmux everywhere. | Marcelina Kościelnicka | 2021-08-13 | 1 | -20/+25 |
|/ | | | | This fixes wide port recognition in some cases. | ||||
* | Bump version | github-actions[bot] | 2021-08-12 | 1 | -1/+1 |
| | |||||
* | test/arch/{ecp5,ice40}/memories.ys: Use read_verilog -defer. | Marcelina Kościelnicka | 2021-08-11 | 2 | -78/+156 |
| | | | | | | | | | | These parts keep rereading a Verilog module, then using chparam to test it with various parameter combinations. Since the default parameters are on the large side, this spends a lot of time needlessly elaborating the default parametrization that will then be discarded. Fix it with -deref and manual hierarchy call. Shaves 30s off the test time on my machine. | ||||
* | memory_dff: Recognize read ports with reset / initial value. | Marcelina Kościelnicka | 2021-08-11 | 4 | -8/+55 |
| | |||||
* | proc_memwr: Use the v2 memwr cell. | Marcelina Kościelnicka | 2021-08-11 | 3 | -14/+24 |
| | |||||
* | Add v2 memory cells. | Marcelina Kościelnicka | 2021-08-11 | 22 | -206/+631 |
| | |||||
* | Bump version | github-actions[bot] | 2021-08-11 | 1 | -1/+1 |
| | |||||
* | kernel/mem: Introduce transparency masks. | Marcelina Kościelnicka | 2021-08-11 | 8 | -118/+408 |
| | |||||
* | Allow optional comma after last entry in enum | Michael Singer | 2021-08-09 | 1 | -11/+12 |
| | |||||
* | Bump version | github-actions[bot] | 2021-08-10 | 1 | -1/+1 |
| | |||||
* | Refactor common parts of SAT-using optimizations into a helper. | Marcelina Kościelnicka | 2021-08-09 | 7 | -153/+224 |
| | | | | | | | | | | | | | This also aligns the functionality: - in all cases, the onehot attribute is used to create appropriate constraints (previously, opt_dff didn't do it at all, and share created one-hot constraints based on $pmux presence alone, which is unsound) - in all cases, shift and mul/div/pow cells are now skipped when importing the SAT problem (previously only memory_share did this) — this avoids creating clauses for hard cells that are unlikely to help with proving the UNSATness needed for optimization | ||||
* | Bump version | github-actions[bot] | 2021-08-08 | 1 | -1/+1 |
| | |||||
* | opt_merge: Use FfInitVals. | Marcelina Kościelnicka | 2021-08-08 | 3 | -28/+51 |
| | | | | Partial #2920 fix. | ||||
* | Bump version | github-actions[bot] | 2021-08-07 | 1 | -1/+1 |
| | |||||
* | verilog: Support tri/triand/trior wire types. | Marcelina Kościelnicka | 2021-08-06 | 1 | -0/+3 |
| | | | | | | These are, by the standard, just aliases for wire/wand/wor. Fixes #2918. | ||||
* | Bump version | github-actions[bot] | 2021-08-05 | 1 | -1/+1 |
| | |||||
* | memory_share: Don't skip ports with EN wired to input for SAT sharing. | Marcelina Kościelnicka | 2021-08-04 | 1 | -3/+1 |
| | | | | Fixes #2912. | ||||
* | Bump version | github-actions[bot] | 2021-08-04 | 1 | -1/+1 |
| | |||||
* | memory_bram: Move init data swizzling before other swizzling. | Marcelina Kościelnicka | 2021-08-03 | 1 | -18/+18 |
| | | | | Fixes #2907. | ||||
* | Bump version | github-actions[bot] | 2021-08-03 | 1 | -1/+1 |
| | |||||
* | Require latest verific | Miodrag Milanovic | 2021-08-02 | 1 | -1/+1 |
| | |||||
* | Bump version | github-actions[bot] | 2021-08-02 | 1 | -1/+1 |
| | |||||
* | backend/verilog: Add alternate mode for transparent read port output. | Marcelina Kościelnicka | 2021-08-01 | 1 | -1/+71 |
| | | | | | | This mode will be used whenever read port cannot be handled in the "extract address register" way, ie. whenever it has enable, reset, init functionality or (in the future) mixed transparency mask. | ||||
* | memory_bram: Some refactoring | Marcelina Kościelnicka | 2021-08-01 | 1 | -196/+174 |
| | | | | | | This will make more sense when the new transparency masks land. Fixes #2902. | ||||
* | Bump version | github-actions[bot] | 2021-07-31 | 1 | -1/+1 |
| | |||||
* | Update version.yml | Miodrag Milanović | 2021-07-30 | 1 | -2/+5 |
| | |||||
* | Fixes xc7 BRAM36s | Maciej Dudek | 2021-07-30 | 1 | -4/+6 |
| | | | | | | UG473 from Xilinx states that 15 bit should always be set if RAMB isn't in cascade mode. Signed-off-by: Maciej Dudek <mdudek@antmicro.com> | ||||
* | proc_rmdead: use explicit pattern set when there are no wildcards | Zachary Snow | 2021-07-29 | 4 | -2/+386 |
| | | | | | | | | If width of a case expression was large, explicit patterns could cause the existing logic to take an extremely long time, or exhaust the maximum size of the underlying set. For cases where all of the patterns are fully defined and there are no constants in the case expression, this change uses a simple set to track which patterns have been seen. | ||||
* | genrtlil: add width detection for AST_PREFIX nodes | Zachary Snow | 2021-07-29 | 2 | -0/+26 |
| | |||||
* | Bump version | github-actions[bot] | 2021-07-30 | 1 | -1/+1 |
| | |||||
* | opt_lut: Allow more than one -dlogic per cell type. | Marcelina Kościelnicka | 2021-07-29 | 3 | -24/+55 |
| | | | | Fixes #2061. | ||||
* | verilog: save and restore overwritten macro arguments | Zachary Snow | 2021-07-28 | 4 | -4/+54 |
| |