aboutsummaryrefslogtreecommitdiffstats
path: root/frontends
Commit message (Collapse)AuthorAgeFilesLines
* verilog: Fix const eval of unbased unsized constantsJannis Harder2023-04-201-1/+1
| | | | | | | | | | | | | | When the verilog frontend perfomed constant evaluation of unbased unsized constants in a context-determined expression it did not properly extend them by repeating the bit value. This only affected constant evaluation and not constants that made it through unchanged to RTLIL. The latter case was already covered by tests and working before. This fixes the const-eval issue by checking the `is_unsized` flag in bitsAsConst and extending the value accordingly. The newly added test also tests the already working non-const-eval case to highlight that both cases should behave the same.
* verilog: Support void functionsJannis Harder2023-03-202-1/+19
| | | | | | | The difference between void functions and tasks is that always_comb's implicit sensitivity list behaves as if functions were inlined, but ignores signals read only in tasks. This only matters for event based simulation, and for synthesis we can treat a void function like a task.
* verific: Fix enum_values support and signed attribute valuesJannis Harder2023-03-151-34/+33
| | | | | | This uses the same constant parsing for enum_values and for attributes and extends it to handle signed values as those are used for enums that implicitly use the int type.
* Merge pull request #3682 from daglem/struct-member-out-of-boundsJannis Harder2023-03-104-21/+69
|\ | | | | Out of bounds checking for struct/union members
| * Index struct/union members within corresponding wire chunksDag Lem2023-03-054-32/+67
| | | | | | | | | | This guards against access to bits outside of struct/union members via dynamic indexing.
| * Out of bounds checking for struct/union membersDag Lem2023-02-191-5/+18
| | | | | | | | Currently, only constant indices are checked.
* | Handle more wide case selector typesMiodrag Milanovic2023-02-271-14/+42
|/
* Support for data and array queries on struct/union item expressionsDag Lem2023-02-151-12/+49
| | | | For now, $bits, $left, $right, $low, $high, and $size are supported.
* Merge pull request #3661 from daglem/struct-array-range-offsetJannis Harder2023-02-151-22/+31
|\ | | | | Handle range offsets in packed arrays within packed structs
| * Handle range offsets in packed arrays within packed structsDag Lem2023-02-051-22/+31
| | | | | | | | | | | | | | This brings the metadata for packed arrays in packed structs in line with the metadata for unpacked arrays, and correctly handles the case when both lsb and msb in an address range are non-zero.
* | Resolve package types in interfaces (#3658)Dag Lem2023-02-121-3/+3
| | | | | | | | * Resolve package types in interfaces * Added test for resolving of package types in interfaces
* | For case select values use Sa instead of Sx and SzMiodrag Milanovic2023-02-082-5/+42
| |
* | Add verific import support for OPER_WIDE_CASE_SELECT_BOXMiodrag Milanovic2023-02-061-0/+41
|/
* Resolve struct member package typesDag Lem2023-01-291-0/+7
|
* Handle struct members of union type (#3641)Dag Lem2023-01-292-2/+2
|
* Fixes for some of clang scan-build detected issuesMiodrag Milanovic2023-01-174-9/+11
|
* print filename in liberty log_headerN. Engelhardt2023-01-111-2/+2
|
* Merge pull request #3467 from jix/fix_cellarray_simplifyJannis Harder2022-12-191-0/+2
|\ | | | | simplify: Do not recursively simplify AST_CELL within AST_CELLARRAY
| * simplify: Do not recursively simplify AST_CELL within AST_CELLARRAYJannis Harder2022-12-071-0/+2
| | | | | | | | | | | | Otherwise the AST_CELL simplification uses the wrong celltype before the AST_CELLARRAY simplification has a chance to unroll it and change it to the $array celltype.
* | respect noblackbox attribute in verificMiodrag Milanovic2022-12-151-0/+6
| |
* | Merge pull request #3573 from daglem/struct-array-multidimensionalJannis Harder2022-12-071-98/+78
|\ \ | |/ |/| Support for packed multidimensional arrays within packed structs
| * Made make_struct_member_range side-effect-free againDag Lem2022-12-041-20/+20
| |
| * Support for packed multidimensional arrays within packed structsDag Lem2022-12-031-98/+78
| |
* | Merge pull request #3568 from YosysHQ/verific_msgMiodrag Milanović2022-12-051-3/+16
|\ \ | | | | | | Set all Verific messages of certain type to other
| * | set VERI-1063 explicitlyMiodrag Milanovic2022-12-021-5/+7
| | |
| * | Set all verific messages of certain type to otherMiodrag Milanovic2022-11-301-3/+14
| | |
* | | Merge pull request #3569 from YosysHQ/ver_no_rewritersMiodrag Milanović2022-12-051-0/+2
|\ \ \ | |_|/ |/| | verific: Ignore errors produced by extension
| * | reset elaboration error after rewriterMiodrag Milanovic2022-11-301-0/+2
| |/
* | Merge pull request #3551 from daglem/struct-array-swapped-rangeJannis Harder2022-12-012-21/+61
|\ \ | |/ |/| Support for arrays with swapped ranges within structs
| * Added asserts for current limitation of array dimensions in packed structsDag Lem2022-11-301-0/+8
| |
| * Check for all cases of currently unsupported array dimensions in packed structsDag Lem2022-11-301-10/+13
| |
| * Support for swapped ranges in second array dimensionDag Lem2022-11-231-3/+10
| |
| * Support for arrays with swapped ranges within structsDag Lem2022-11-122-10/+32
| | | | | | | | | | | | This also corrects the implementation of C type arrays within structs. Fixes #3550
* | update documentationMiodrag Milanovic2022-11-251-3/+3
| |
* | Support importing verilog configurations using VerificMiodrag Milanovic2022-11-252-4/+39
| |
* | Merge pull request #3552 from daglem/fix-sv-c-array-dimensionsJannis Harder2022-11-231-3/+3
|\ \ | | | | | | Correct interpretation of SystemVerilog C-style array dimensions
| * | Correct interpretation of SystemVerilog C-style array dimensionsDag Lem2022-11-131-3/+3
| | | | | | | | | | | | IEEE Std 1800™-2017 7.4.2 specifies that [size] is the same as [0:size-1].
* | | Merge branch 'zachjs-master'Jannis Harder2022-11-211-0/+4
|\ \ \ | |/ / |/| |
| * | verilog: Support module-scoped task/function callsZachary Snow2022-10-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Add additional help infoMiodrag Milanovic2022-10-311-0/+2
| | |
* | | Enable importing blackbox modules onlyMiodrag Milanovic2022-10-311-1/+33
| | |
* | | Support for reading liberty files using verificMiodrag Milanovic2022-10-311-1/+45
|/ /
* | Skip verific primitives and operators import by defaultMiodrag Milanovic2022-10-141-0/+1
| |
* | Add option to import all cells from all librariesMiodrag Milanovic2022-10-141-1/+30
| |
* | fix whitespaceMiodrag Milanovic2022-10-101-1/+1
| |
* | Merge pull request #3452 from ALGCDG/masterMiodrag Milanović2022-10-101-1/+8
|\ \ | | | | | | Add BLIF names command input plane size check
| * | Changing error reason string to be based on lut input plane limit constant.Archie2022-10-021-1/+1
| | |
| * | Adding check for BLIF names command input plane size.Archie2022-08-211-1/+8
| | |
* | | Fix handling of verific -L options, add implicit "-L work"Claire Xenia Wolf2022-10-101-0/+14
| | | | | | | | | | | | Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
* | | Add support for EDIF file reading using VerificMiodrag Milanovic2022-10-041-1/+47
| | |