aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2329 from antmicro/arrays-fix-multirange-sizeclairexen2020-09-171-0/+16
|\ | | | | Rewrite multirange arrays sizes [n] as [n-1:0]
| * Test multirange (unpacked) arrays sizeLukasz Dalek2020-08-031-0/+16
| | | | | | | | Signed-off-by: Lukasz Dalek <ldalek@antmicro.com>
* | Merge pull request #2330 from antmicro/arrays-fix-multirange-accessclairexen2020-09-171-0/+12
|\ \ | | | | | | Fix unsupported subarray access detection
| * | Add test for subarray access on multidimensional arraysLukasz Dalek2020-08-031-0/+12
| |/ | | | | | | Signed-off-by: Lukasz Dalek <ldalek@antmicro.com>
* | Merge pull request #2369 from Xiretza/gitignoresMiodrag Milanović2020-09-101-2/+2
|\ \ | | | | | | Add missing gitignores for test artifacts
| * | Add missing gitignores for test artifactsXiretza2020-08-311-2/+2
| | |
* | | Merge pull request #2352 from zachjs/const-func-localparamclairexen2020-09-011-3/+6
|\ \ \ | | | | | | | | Allow localparams in constant functions
| * | | Allow localparams in constant functionsZachary Snow2020-08-201-3/+6
| | | |
* | | | Merge pull request #2353 from zachjs/top-scopeclairexen2020-09-011-0/+16
|\ \ \ \ | | | | | | | | | | Module name scope support
| * | | | Module name scope supportZachary Snow2020-08-201-0/+16
| |/ / /
* | | | Merge pull request #2365 from zachjs/const-arg-loop-split-typeclairexen2020-09-011-0/+20
|\ \ \ \ | |_|/ / |/| | | Fix constant args used with function ports split across declarations
| * | | Fix constant args used with function ports split across declarationsZachary Snow2020-08-291-0/+20
| |/ /
* | | Merge pull request #2356 from whitequark/flatten-techmap-no-tpl_driven-sigmapwhitequark2020-08-271-0/+11
|\ \ \ | | | | | | | | flatten, techmap: don't canonicalize tpl driven bits via sigmap
| * | | flatten, techmap: don't canonicalize tpl driven bits via sigmap.whitequark2020-08-261-0/+11
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For connection `assign a = b;`, `sigmap(a)` returns `b`. This is exactly the opposite of the desired canonicalization for driven bits. Consider the following code: module foo(inout a, b); assign a = b; endmodule module bar(output c); foo f(c, 1'b0); endmodule Before this commit, the inout ports would be swapped after flattening (and cause a crash while attempting to drive a constant value). This issue was introduced in 9f772eb9. Fixes #2183.
* / / intel_alm: Add multiply signedness to cellsDan Ravensloft2020-08-262-6/+44
|/ / | | | | | | | | | | Quartus assumes unsigned multiplication by default, breaking signed multiplies, so add an input signedness parameter to the MISTRAL_MUL* cells to propagate to Quartus' <family>_mac cells.
* | Merge pull request #2347 from YosysHQ/mwk/techmap-shift-fixesclairexen2020-08-202-14/+3
|\ \ | | | | | | techmap/shift_shiftx: Remove the "shiftx2mux" special path.
| * | techmap/shift_shiftx: Remove the "shiftx2mux" special path.Marcelina Kościelnicka2020-08-202-14/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our techmap rules for $shift and $shiftx cells contained a special path that aimed to decompose the shift LSB-first instead of MSB-first in select cases that come up in pmux lowering. This path was needlessly overcomplicated and contained bugs. Instead of doing that, just switch over the main path to iterate LSB-first (except for the specially-handled MSB for signed shifts and overflow handling). This also makes the code consistent with shl/shr/sshl/sshr cells, which are already decomposed LSB-first. Fixes #2346.
* | | Merge pull request #2344 from YosysHQ/mwk/opt_share-fixesclairexen2020-08-203-0/+54
|\ \ \ | | | | | | | | opt_share: Refactor, fix some bugs.
| * | | opt_share: Refactor, fix some bugs.Marcelina Kościelnicka2020-08-173-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | Fixes #2334. Fixes #2335. Fixes #2336.
* | | | Merge pull request #2333 from YosysHQ/mwk/peepopt-shiftmul-signedclairexen2020-08-201-0/+11
|\ \ \ \ | | | | | | | | | | peeopt.shiftmul: Add a signedness check.
| * | | | peeopt.shiftmul: Add a signedness check.Marcelina Kościelnicka2020-08-051-0/+11
| | |_|/ | |/| | | | | | | | | | Fixes #2332.
* | | | Merge pull request #2328 from YosysHQ/mwk/opt_dff-cleanupclairexen2020-08-203-193/+129
|\ \ \ \ | | | | | | | | | | Remove passes redundant with opt_dff
| * | | | Remove now-redundant dff2dffs pass.Marcelina Kościelnicka2020-08-071-50/+0
| | | | |
| * | | | peepopt: Remove now-redundant dffmux pattern.Marcelina Kościelnicka2020-08-072-143/+129
| | |/ / | |/| |
* | | | Merge pull request #2327 from YosysHQ/mwk/techmap-constmap-fixclairexen2020-08-201-0/+15
|\ \ \ \ | | | | | | | | | | techmap.CONSTMAP: Handle outputs before inputs.
| * | | | techmap.CONSTMAP: Handle outputs before inputs.Marcelina Kościelnicka2020-08-051-0/+15
| | |/ / | |/| | | | | | | | | | Fixes #2321.
* | | | Merge pull request #2326 from YosysHQ/mwk/peeopt-muldiv-signclairexen2020-08-201-0/+12
|\ \ \ \ | | | | | | | | | | peepopt.muldiv: Add a signedness check.
| * | | | peepopt.muldiv: Add a signedness check.Marcelina Kościelnicka2020-08-041-0/+12
| |/ / / | | | | | | | | | | | | Fixes #2318.
* | | | Merge pull request #2122 from PeterCrozier/struct_array2clairexen2020-08-191-1/+21
|\ \ \ \ | |_|_|/ |/| | | Support 2D bit arrays in structures. Optimise array indexing.
| * | | include both power-of-two and non-power-of-two testcasesN. Engelhardt2020-08-181-6/+23
| | | |
| * | | Support 2D bit arrays in structures. Optimise array indexing.Peter Crozier2020-06-081-2/+5
| | | |
* | | | Merge pull request #2339 from zachjs/display-format-0sclairexen2020-08-181-0/+7
|\ \ \ \ | | | | | | | | | | Allow %0s $display format specifier
| * | | | Allow %0s $display format specifierZachary Snow2020-08-091-0/+7
| | |_|/ | |/| |
* | | | Merge pull request #2338 from zachjs/const-branch-finishclairexen2020-08-181-0/+39
|\ \ \ \ | | | | | | | | | | Propagate const_fold through generate blocks and branches
| * | | | Propagate const_fold through generate blocks and branchesZachary Snow2020-08-091-0/+39
| |/ / /
* | | | Merge pull request #2317 from zachjs/expand-genblockclairexen2020-08-181-0/+85
|\ \ \ \ | | | | | | | | | | Fix generate scoping issues
| * | | | Fix generate scoping issuesZachary Snow2020-07-311-0/+85
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - expand_genblock defers prefixing of items within named sub-blocks - Allow partially-qualified references to local scopes - Handle shadowing within generate blocks - Resolve generate scope references within tasks and functions - Apply generate scoping to genvars - Resolves #2214, resolves #1456
* | | | Merge branch 'const-func-block-var' of https://github.com/zachjs/yosys into ↵Claire Wolf2020-08-182-0/+24
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | zachjs-const-func-block-var Signed-off-by: Claire Wolf <claire@symbioticeda.com>
| * | | | Allow blocks with declarations within constant functionsZachary Snow2020-07-252-0/+24
| | | | |
* | | | | Merge pull request #2281 from zachjs/const-realclairexen2020-08-181-0/+12
|\ \ \ \ \ | |_|_|/ / |/| | | | Allow reals as constant function parameters
| * | | | Allow reals as constant function parametersZachary Snow2020-07-191-0/+12
| | | | |
* | | | | Replace opt_rmdff with opt_dff.Marcelina Kościelnicka2020-08-078-34/+31
| |_|/ / |/| | |
* | | | Add dffunmap pass.Marcelina Kościelnicka2020-07-311-0/+100
| | | | | | | | | | | | | | | | | | | | To be used with backends that cannot deal with fancy FF types (like blif or smt).
* | | | opt_expr: Remove -clkinv option, make it the default.Marcelina Kościelnicka2020-07-311-2/+1
| | | | | | | | | | | | | | | | | | | | Adds -noclkinv option just in case the old behavior was actually useful to someone.
* | | | synth_ice40: Use opt_dff.Marcelina Kościelnicka2020-07-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main part is converting ice40_dsp to recognize the new FF types created in opt_dff instead of trying to recognize the mux patterns on its own. The fsm call has been moved upwards because the passes cannot deal with $dffe/$sdff*, and other optimizations don't help it much anyway.
* | | | synth_xilinx: Use opt_dff.Marcelina Kościelnicka2020-07-301-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main part is converting xilinx_dsp to recognize the new FF types created in opt_dff instead of trying to recognize the patterns on its own. The fsm call has been moved upwards because the passes cannot deal with $dffe/$sdff*, and other optimizations don't help it much anyway.
* | | | Add opt_dff pass.Marcelina Kościelnicka2020-07-3010-3/+914
| | | |
* | | | opt_expr: Fix handling of $_XNOR_ cells with A = B.Marcelina Kościelnicka2020-07-291-0/+14
| | | | | | | | | | | | | | | | Fixes #2311.
* | | | Merge pull request #2306 from YosysHQ/mwk/equiv_induct-undefclairexen2020-07-281-0/+35
|\ \ \ \ | | | | | | | | | | equiv_induct: Fix up assumption for $equiv cells in -undef mode.
| * | | | equiv_induct: Fix up assumption for $equiv cells in -undef mode.Marcelina Kościelnicka2020-07-271-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this fix, equiv_induct only assumed that one of the following is true: - defined value of A is equal to defined value of B - A is undefined This lets through valuations where A is defined, B is undefined, and the defined (meaningless) value of B happens to match the defined value of A. Instead, tighten this up to OR of the following: - defined value of A is equal to defined value of B, and B is not undefined - A is undefined