Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix the truth table for $_SR_* cells. | Marcelina Kościelnicka | 2020-04-15 | 3 | -26/+21 |
| | | | | | | | | This brings the documented behavior for these cells in line with $_DFFSR_* and $_DLATCHSR_*, which is that R has priority over S. The models were already reflecting that behavior. Also get rid of sim-synth mismatch in the models while we're at it. | ||||
* | Merge pull request #1897 from YosysHQ/dave/bram-rejection-fix | David Shah | 2020-04-15 | 1 | -3/+3 |
|\ | | | | | memory_bram: Fix ignorance of valid, matched rules | ||||
| * | memory_bram: Fix ignorance of valid, matched rules | David Shah | 2020-04-10 | 1 | -3/+3 |
| | | | | | | | | Signed-off-by: David Shah <dave@ds0.me> | ||||
* | | Get rid of dffsr2dff. | Marcelina Kościelnicka | 2020-04-15 | 13 | -422/+2302 |
| | | | | | | | | | | | | This pass is a proper subset of opt_rmdff, which is called by opt, which is called by every synth flow in the coarse part. Thus, it never actually does anything and can be safely removed. | ||||
* | | opt_clean: Add missing assignments to opt.did_something. | Marcelina Kościelnicka | 2020-04-15 | 1 | -0/+6 |
| | | |||||
* | | Merge pull request #1918 from whitequark/simplify-improve_enum | whitequark | 2020-04-15 | 2 | -7/+5 |
|\ \ | | | | | | | ast/simplify: improve enum handling | ||||
| * | | ast/simplify: improve enum handling. | whitequark | 2020-04-15 | 2 | -7/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, enum values were serialized as attributes of form \enum_<width>_<value> where <value> was a decimal signed integer. This has multiple drawbacks: * Enums with large values would be hard to process for downstream tooling that cannot parse arbitrary precision decimals. (In fact Yosys also did not correctly process enums with large values, and would overflow `int`.) * Enum value attributes were not confined to their own namespace, making it harder for downstream tooling to enumerate all such attributes, as opposed to looking up any specific value. * Enum values could not include x or z, which are explicitly permitted in the SystemVerilog standard. After this commit, enum values are serialized as attributes of form \enum_value_<value> where <value> is a bit sequence of the appropriate width. | ||||
* | | | synth_intel_alm: VQM support | Dan Ravensloft | 2020-04-15 | 2 | -6/+3 |
| | | | |||||
* | | | setundef: Improve error messages. | Marcelina Kościelnicka | 2020-04-15 | 1 | -10/+12 |
| | | | | | | | | | | | | Fixes #1092. | ||||
* | | | json: Update format documentation. | Marcelina Kościelnicka | 2020-04-15 | 1 | -12/+32 |
| | | | | | | | | | | | | Fixes #1693. | ||||
* | | | Merge pull request #1930 from YosysHQ/claire/fix1876 | Claire Wolf | 2020-04-15 | 2 | -7/+73 |
|\ \ \ | | | | | | | | | Fix handling of ternary with constant condition | ||||
| * | | | tests: add testcases from #1876 | Eddie Hung | 2020-04-14 | 1 | -0/+60 |
| | | | | |||||
| * | | | Fix 5bba9c3, closes #1876 | Claire Wolf | 2020-04-14 | 1 | -7/+13 |
| | | | | | | | | | | | | | | | | Signed-off-by: Claire Wolf <claire@symbioticeda.com> | ||||
* | | | | synth_intel_alm: alternative synthesis for Intel FPGAs | Dan Ravensloft | 2020-04-15 | 29 | -1/+1662 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By operating at a layer of abstraction over the rather clumsy Intel primitives, we can avoid special hacks like `dffinit -highlow` in favour of simple techmapping. This also makes the primitives much easier to manipulate, and more descriptive (no more cyclonev_lcell_comb to mean anything from a LUT2 to a LUT6). | ||||
* | | | | abc9_ops: Add a check ensuring that connected port actually exists. | Marcelina Kościelnicka | 2020-04-15 | 1 | -0/+3 |
| | | | | |||||
* | | | | Merge pull request #1932 from YosysHQ/dave/cxxrtl-unclocked-read | whitequark | 2020-04-15 | 1 | -2/+3 |
|\ \ \ \ | | | | | | | | | | | cxxrtl: Fix handling of unclocked memory read ports | ||||
| * | | | | cxxrtl: Fix handling of unclocked memory read ports | David Shah | 2020-04-14 | 1 | -2/+3 |
| |/ / / | | | | | | | | | | | | | Signed-off-by: David Shah <dave@ds0.me> | ||||
* / / / | opt_expr: Add more $alu optimizations. | Marcelina Kościelnicka | 2020-04-14 | 2 | -23/+162 |
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Detect the places in the $alu where the carry bit is constant (due to const A[i] == B[i] ^ BI) and split it into smaller $alu at these points. Also, make the existing const-carry detection for low bits more generic (now handles cases where both BI and CI are constant, but not equal to one another). Fixes #1912. | ||||
* | | | dffinit: Avoid setting init parameter to zero-length value. | Marcelina Kościelnicka | 2020-04-14 | 2 | -3/+30 |
| | | | | | | | | | | | | Fixes #1704. | ||||
* | | | abc9_exe: verify -> &verify -s | Eddie Hung | 2020-04-14 | 1 | -2/+2 |
| | | | |||||
* | | | techmap: fix error message | Eddie Hung | 2020-04-14 | 1 | -1/+1 |
| | | | |||||
* | | | Merge pull request #1922 from whitequark/write_cxxrtl-disconnected-outputs | whitequark | 2020-04-14 | 1 | -0/+2 |
|\ \ \ | | | | | | | | | write_cxxrtl: ignore disconnected module ports | ||||
| * | | | write_cxxrtl: ignore disconnected module ports. | whitequark | 2020-04-14 | 1 | -0/+2 |
| |/ / | | | | | | | | | | | | | | | | E.g. port `q` in `submod x(.p(p), .q());`. Fixes #1920. | ||||
* | | | Merge pull request #1921 from whitequark/write_cxxrtl-separate-compilation | whitequark | 2020-04-14 | 2 | -10/+82 |
|\ \ \ | | | | | | | | | write_cxxrtl: enable separate compilation | ||||
| * | | | write_verilog: fix precondition check. | whitequark | 2020-04-14 | 1 | -1/+1 |
| | | | | |||||
| * | | | write_cxxrtl: enable separate compilation. | whitequark | 2020-04-14 | 1 | -9/+81 |
| |/ / | | | | | | | | | | | | | | | | This commit makes it possible to use several cxxrtl-generated files in one application, as well as compiling cxxrtl-generated code as a separate compilation unit. | ||||
* | | | Merge pull request #1917 from YosysHQ/eddie/abc9_delay_check | Eddie Hung | 2020-04-14 | 1 | -0/+4 |
|\ \ \ | | | | | | | | | xaiger: add check for $__ABC9_DELAY model | ||||
| * | | | xaiger: add check for $__ABC9_DELAY model | Eddie Hung | 2020-04-13 | 1 | -0/+4 |
| | | | | |||||
* | | | | Merge pull request #1879 from jjj11x/jjj11x/package_decl | whitequark | 2020-04-14 | 3 | -4/+33 |
|\ \ \ \ | | | | | | | | | | | support using previously declared types/localparams/parameters in package | ||||
| * | | | | support using previously declared types/localparams/params in package | Jeff Wang | 2020-04-07 | 3 | -4/+33 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (parameters in systemverilog packages can't actually be overridden, so allowing parameters in addition to localparams doesn't actually add any new functionality, but it's useful to be able to use the parameter keyword also) | ||||
* | | | | | Merge pull request #1880 from jjj11x/duplicate_enum | whitequark | 2020-04-14 | 1 | -2/+3 |
|\ \ \ \ \ | |_|_|/ / |/| | | | | duplicated enum item names should result in an error | ||||
| * | | | | duplicated enum item names should result in an error | Jeff Wang | 2020-04-07 | 1 | -2/+3 |
| |/ / / | |||||
* | | | | Merge pull request #1568 from YosysHQ/eddie/fix_zinit | Eddie Hung | 2020-04-13 | 2 | -17/+90 |
|\ \ \ \ | |_|/ / |/| | | | zinit: fixes for $_DFF_[NP][NP][01]_and $adff cells with init = 1'b1 | ||||
| * | | | zinit: resolve one more comment by @mwkmwkmwk | Eddie Hung | 2020-04-13 | 2 | -4/+13 |
| | | | | |||||
| * | | | zinit: fix review comments from @mwkmwkmwk | Eddie Hung | 2020-04-13 | 2 | -9/+37 |
| | | | | |||||
| * | | | tests: zinit on $adff | Eddie Hung | 2020-04-13 | 1 | -19/+18 |
| | | | | |||||
| * | | | zinit: operate on $adff, erase (* init *) entries on consumption | Eddie Hung | 2020-04-13 | 1 | -22/+20 |
| | | | | |||||
| * | | | Fix S/R comment; thanks @mwkmwkmwk | Eddie Hung | 2020-04-13 | 1 | -1/+1 |
| | | | | |||||
| * | | | zinit to transform set/reset value of $_DFF_[NP][NP][01]_ | Eddie Hung | 2020-04-13 | 1 | -0/+14 |
| | | | | |||||
| * | | | Add testcase for $_DFF_[NP][NP][01]_ | Eddie Hung | 2020-04-13 | 1 | -0/+24 |
| | | | | |||||
| * | | | Supress error for unhandled \init if whole module selected | Eddie Hung | 2020-04-13 | 1 | -3/+4 |
|/ / / | |||||
* | | | opt_expr: Optimize multiplications with low 0 bits in operands. | Marcelina Kościelnicka | 2020-04-13 | 2 | -0/+61 |
| | | | | | | | | | | | | Fixes #1500. | ||||
* | | | Merge pull request #1910 from boqwxp/cleanup_ilang_parser | whitequark | 2020-04-13 | 1 | -4/+4 |
|\ \ \ | | | | | | | | | Clean up pseudo-private member usage in `frontends/ilang/ilang_parser.y`. | ||||
| * | | | Clean up pseudo-private member usage in `frontends/ilang/ilang_parser.y`. | Alberto Gonzalez | 2020-04-13 | 1 | -4/+4 |
| | | | | |||||
* | | | | Add .gitignore to tests/select/ | Xiretza | 2020-04-12 | 1 | -0/+1 |
| | | | | |||||
* | | | | Merge pull request #1907 from YosysHQ/dave/fix-1906 | David Shah | 2020-04-12 | 1 | -1/+0 |
|\ \ \ \ | |_|_|/ |/| | | | verilog: Fix write to deleted object | ||||
| * | | | verilog: Fix write to deleted object | David Shah | 2020-04-12 | 1 | -1/+0 |
|/ / / | | | | | | | | | | Signed-off-by: David Shah <dave@ds0.me> | ||||
* | | | Merge pull request #1603 from whitequark/ice40-ram_style | whitequark | 2020-04-10 | 12 | -50/+836 |
|\ \ \ | | | | | | | | | ice40/ecp5: add support for both 1364.1 and Synplify/LSE RAM/ROM attributes | ||||
| * | | | ecp5: do not map FFRAM if explicitly requested otherwise. | whitequark | 2020-04-03 | 2 | -17/+65 |
| | | | | |||||
| * | | | ice40: do not map FFRAM if explicitly requested otherwise. | whitequark | 2020-04-03 | 2 | -9/+31 |
| | | | |