aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2518 from zachjs/recursionwhitequark2021-01-012-0/+71
|\ | | | | verilog: improved support for recursive functions
| * verilog: improved support for recursive functionsZachary Snow2020-12-312-0/+71
| |
* | sv: complete support for implied task/function port directionsZachary Snow2020-12-312-0/+29
|/
* Fix elaboration of whole memory words used as indicesZachary Snow2020-12-263-0/+48
|
* Fix constants bound to redeclared function argsZachary Snow2020-12-261-0/+10
| | | | | | | | The changes in #2476 ensured that function inputs like `input x;` retained their single-bit size when instantiated with a constant argument and turned into a localparam. That change did not handle the possibility for an input to be redeclared later on with an explicit width, such as `integer x;`.
* Merge pull request #2501 from zachjs/genrtlil-tern-signwhitequark2020-12-231-4/+9
|\ | | | | genrtlil: fix mux2rtlil generated wire signedness
| * genrtlil: fix mux2rtlil generated wire signednessZachary Snow2020-12-221-4/+9
| |
* | Merge pull request #2476 from zachjs/const-arg-widthwhitequark2020-12-231-0/+10
|\ \ | |/ |/| Fix constants bound to single bit arguments (fixes #2383)
| * Fix constants bound to single bit arguments (fixes #2383)Zachary Snow2020-12-221-0/+10
| |
* | Merge pull request #2479 from zachjs/const-arg-hintwhitequark2020-12-221-0/+9
|\ \ | | | | | | Allow constant function calls in constant function arguments
| * | Allow constant function calls in constant function argumentsZachary Snow2020-12-071-0/+9
| |/
* / Sign extend port connections where necessaryZachary Snow2020-12-182-0/+98
|/ | | | | | | | | | | - Signed cell outputs are sign extended when bound to larger wires - Signed connections are sign extended when bound to larger cell inputs - Sign extension is performed in hierarchy and flatten phases - genrtlil indirects signed constants through signed wires - Other phases producing RTLIL may need to be updated to preserve signedness information - Resolves #1418 - Resolves #2265
* Merge pull request #2133 from dh73/nodev_headClaire Xen2020-11-2518-65/+322
|\ | | | | Adding latch tests for shift&mask AST dynamic part-select enhancements
| * Removing trailing whitespacediego2020-06-101-30/+30
| |
| * Adding latch tests for shift&mask AST dynamic part-select enhancementsdiego2020-06-0918-68/+325
| |
* | nexus: DSP inference supportDavid Shah2020-11-201-12/+34
| | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
* | Update nexus arch tests to new harnessXiretza2020-10-291-19/+3
| |
* | xilinx: Fix attributes_test.ysMarcelina Kościelnicka2020-10-241-4/+2
| | | | | | | | | | | | | | | | | | | | This test pretty much passes by accident — the `prep` command runs memory_collect without memory_dff first, which prevents merging read register into the memory, and thus blocks block RAM inference for a reason completely unrelated to the attribute. The attribute setting didn't actually work because it was set on the containing module instead of the actual memory.
* | memory_dff: Fix needlessly duplicating enable bits.Marcelina Kościelnicka2020-10-221-0/+24
| | | | | | | | | | | | | | | | | | When the register being merged into the EN signal happens to be a $sdff, the current code creates a new $mux for every bit, even if they happen to be identical (as is usually the case), preventing proper grouping further down the flow. Fix this by adding a simple cache. Fixes #2409.
* | Merge pull request #2397 from daveshah1/nexusMiodrag Milanović2020-10-1915-0/+298
|\ \ | | | | | | synth_nexus: Initial implementation
| * | synth_nexus: Initial implementationDavid Shah2020-10-1515-0/+298
| | | | | | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
* | | opt_clean: Better memory handling.Marcelina Kościelnicka2020-10-081-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | Previously, `$memwr` and `$meminit` cells were always preserved (along with the memory itself). With this change, they are instead part of the main cell mark-and-sweep pass: a memory (and its `$meminit` and `$memwr` cells) is only preserved iff any associated `$memrd` cell needs to be preserved.
* | | Merge pull request #2378 from udif/pr_dollar_high_lowclairexen2020-10-011-0/+61
|\ \ \ | | | | | | | | Added $high(), $low(), $left(), $right()
| * | | We can now handle array slices (e.g. $size(x[1]) etc. )Udi Finkelstein2020-09-171-2/+14
| | | |
| * | | Added $high(), $low(), $left(), $right()Udi Finkelstein2020-09-151-0/+49
| | | |
* | | | Merge pull request #2380 from Xiretza/parallel-testsclairexen2020-10-0121-230/+156
|\ \ \ \ | | | | | | | | | | Clean up and parallelize testsuite
| * | | | tests: add gitignores for auto-generated makefilesXiretza2020-09-262-0/+2
| | | | |
| * | | | tests/simple: remove "nullglob" shoptXiretza2020-09-211-1/+0
| | | | |
| * | | | tests: ParallelizeXiretza2020-09-213-9/+20
| | | | |
| * | | | tests: Centralize test collection and Makefile generationXiretza2020-09-2116-222/+136
| | | | |
* | | | | Update .gitignoreDavid Shah2020-10-011-0/+2
| |_|/ / |/| | | | | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
* | | | add testsN. Engelhardt2020-09-282-0/+49
| | | |
* | | | xilinx: do not make DSP48E1 a whitebox for ABC9 by default (#2325)Eddie Hung2020-09-231-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * xilinx: eliminate SCCs from DSP48E1 model * xilinx: add SCC test for DSP48E1 * Update techlibs/xilinx/cells_sim.v * xilinx: Gate DSP48E1 being a whitebox behind ALLOW_WHITEBOX_DSP48E1 Have a test that checks it works through ABC9 when enabled
* | | | switch argument order to work with macOS getoptN. Engelhardt2020-09-231-1/+1
|/ / /
* | | 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.