Commit Graph

38 Commits

Author SHA1 Message Date
Zachary Snow 4fd7b6c2f2 better support for struct array parameters
This includes support for
- parsing dimensioned alias parameters
- flattening non-var decls with multiple packed dimensions
- converting arrays of structs
- inferring struct types for decls with initializations
2019-08-06 23:11:09 -04:00
Zachary Snow 35ac09aa75 struct conversion handles complex expression nesting 2019-05-16 10:51:57 -04:00
Dave Eckhardt dadcd6ae24 Wording tweaks in comments. 2019-05-15 23:02:52 -04:00
Zachary Snow 3bef2b9cdb struct conversion handles alternate and mixed integer vector field types 2019-05-10 10:41:31 -04:00
Zachary Snow bc23aebc55 added language support for package-scoped calls and typenames 2019-04-24 03:37:47 -04:00
Zachary Snow 33dc4b3f88 conversions are applied per-file
- NestTF refactored to cover all package items
- fixed issue where type traverse skipped typedefs
2019-04-23 18:51:39 -04:00
Zachary Snow 4e34217472 struct conversion handles decls with unpacked dimensions 2019-04-23 15:48:25 -04:00
Zachary Snow 925f11cf31 expression traversal visits LHS range and bit expressions 2019-04-23 01:16:57 -04:00
Zachary Snow d41dcb2bc9 struct conversion supports struct literals as task/function args 2019-04-22 13:58:14 -04:00
Zachary Snow addc550028 minor code cleanup for struct conversion 2019-04-22 02:48:22 -04:00
Zachary Snow a8f2cbbe29 struct conversion supports complex shadowing 2019-04-22 02:33:24 -04:00
Zachary Snow 05b7bdb99c added conversion which moves top-level tasks and functions into modules 2019-04-22 01:18:25 -04:00
Zachary Snow acebba58c9 struct conversion omits unused packing functions 2019-04-21 22:22:33 -04:00
Zachary Snow d5a369baa0 struct conversion uses packing functions to force field width 2019-04-21 21:56:23 -04:00
Zachary Snow b0eedfe318 $bits conversion handles basic expressions 2019-04-19 13:32:25 -04:00
Zachary Snow 9fcc8e3478 enum generate localparam values are also explicitly sized to avoid implicit cast/warnings 2019-04-19 01:02:07 -04:00
Zachary Snow 093a4d4dd9 fix Struct conversion handling of default patterns with struct arrays 2019-04-18 21:00:48 -04:00
Zachary Snow 75e2fba597 explicitly size literals in converted default struct patterns 2019-04-15 23:28:03 -04:00
Zachary Snow c168ec4794 added some error checking for struct pattern conversion 2019-04-10 18:33:33 -04:00
Zachary Snow 377600078a struct conversion attempts to size unsized constants when packing patterns 2019-04-10 14:07:38 -04:00
Zachary Snow 006e0e0830 fixed struct pattern field ordering 2019-04-10 14:06:44 -04:00
Zachary Snow 9a38225b1d several major fixes surrounding packed arrays
- entirely new PackedArray conversion (always flattens)
- typedef and struct correctly order packed ranges when combining types
- Stmt LHS traversal no longer traverses nested statements to avoid double conversion
- Logic conversion applies to `initial` blocks`
- new and modified tests to cover these cases
2019-04-08 21:28:33 -04:00
Zachary Snow fb3d68e339 propper support for indexed part select addressing 2019-04-05 13:53:52 -04:00
Zachary Snow f13275bfa1 fix Struct and Interface conversion for expressions within LHSs 2019-04-02 01:00:02 -04:00
Zachary Snow 00d12c7ae5 fixed combined ranges incorrect upper bound calculation 2019-04-01 02:26:40 -04:00
Zachary Snow 0a3e9f4f49 more range-bit edge cases in Struct conversion 2019-03-31 17:35:00 -04:00
Zachary Snow 650c602be9 struct conversion handles bit expressions and expressions outside of assignments 2019-03-31 17:00:55 -04:00
Zachary Snow 7883e263f9 several conversion bug fixes
- convert default pattern used to fill a vector
- convert Logic in parameter and localparam types
- interface conversion should happen early for type resolution later on
- interface conversion handles renaming of usages of inlined decls
2019-03-31 15:01:10 -04:00
Zachary Snow a059b6e83c fix silly bug preventing structs from being converting 2019-03-30 03:32:08 -04:00
Zachary Snow abd7ccf49a don't prematurely unpack structs with complex types; support for convert patterns that use `default` 2019-03-30 02:33:31 -04:00
Zachary Snow 77f0d23d4b starting work to clean up and segment AST 2019-03-22 19:39:28 -04:00
Zachary Snow cecd141e57 revamped support system with most SystemVerilog types and signed types 2019-03-22 17:45:31 -04:00
Zachary Snow 4bc3eb8d2c more gracefully unknown type handling in Struct conversion 2019-03-08 17:17:30 -05:00
Zachary Snow 9f0857d68e some fixes for 'VTR' targetted conversions 2019-03-07 20:03:35 -05:00
Zachary Snow 0f4a60be1d functions and typedefs can now appear at the top level 2019-03-07 13:19:31 -05:00
Zachary Snow 15d85b461b completed preliminary interface conversion 2019-03-06 21:55:27 -05:00
Zachary Snow ccd0bf879a fix Struct conversion paving over LHSDot 2019-03-06 20:49:53 -05:00
Zachary Snow 9699f5bf16 preliminary struct conversion; return conversion 2019-03-06 01:13:36 -05:00