Commit Graph

212 Commits

Author SHA1 Message Date
Zachary Snow 88579c6d1f logic conversion fixes produced reg-to-output bindings
- generally cleaned up and documented the Logic conversion
- made exprToLHS a shared helper function, now uses Maybe
- ported existing local exprToLHS helpers to the new one
2019-04-22 20:44:35 -04:00
Zachary Snow 55a5443786 logic conversion makes continuous assignments procedural where necessary 2019-04-22 15:10:34 -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 9884b74a48 coverage for negative packed array indices 2019-04-21 00:49:21 -04:00
Zachary Snow eca70ef3bb basic coverage for multi-packed function return values 2019-04-20 22:36:48 -04:00
Zachary Snow c5fdf38612 added conversion which adds names to unnamed blocks with decls 2019-04-19 19:08:52 -04:00
Zachary Snow f76f9bb88b added test coverage for task and function bodies being one statement 2019-04-19 14:31:21 -04:00
Zachary Snow b0eedfe318 $bits conversion handles basic expressions 2019-04-19 13:32:25 -04:00
Zachary Snow 73f831122f trim empty blocks; remove extra space in implicitly typed decls 2019-04-19 02:55:40 -04:00
Zachary Snow 8298e83f1e enum conversion only produces localparams for enum items that are used 2019-04-19 02:14:21 -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 a5ebb1e822 minor output cleanup 2019-04-18 23:32:49 -04:00
Zachary Snow 4cbfd8fa1a enum conversion explicitly sizes generated params and supports partial types 2019-04-18 21:01:29 -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 68b6eae484 updated documentation 2019-04-18 19:33:16 -04:00
Zachary Snow 36db47fa26 reformat license 2019-04-18 18:52:05 -04:00
Zachary Snow 9305c0f43b PackedArray conversion supports complex shadowing 2019-04-18 15:51:39 -04:00
Zachary Snow 9c1fc7d020 test runner surfaces failures 2019-04-18 00:58:58 -04:00
Zachary Snow f3e8f530d9 more robust and cache-friendly Linux Travis CI 2019-04-17 21:33:09 -04:00
Zachary Snow 96e0aff7f4 handle TF decl shadowing within packed array conversion 2019-04-17 20:05:55 -04:00
Zachary Snow 8d77856b1e StmtLHS traversal includes LHSs for loop parts 2019-04-17 17:44:12 -04:00
Zachary Snow 07b64bd1f2 clearer messaging surrounding unsupported interface conversion features 2019-04-17 01:44:03 -04:00
Zachary Snow 8b8d62c6e2 add an additional (fixed) linux build to Travis CI 2019-04-16 20:39:03 -04:00
Zachary Snow 5bc58ea6f4 switch to macOS Travis CI builds 2019-04-16 18:27:16 -04:00
Zachary Snow d4284163dc explicitly use bash to avoid dash compatability issues when running tests 2019-04-16 16:35:53 -04:00
Zachary Snow 369e9f2f19 updated Stack snapshot; handled pattern matching failure issues introduced in GHC 8.6 2019-04-16 15:52:38 -04:00
Zachary Snow 75e2fba597 explicitly size literals in converted default struct patterns 2019-04-15 23:28:03 -04:00
Zachary Snow da9452bd26 fix PackedArray handling of bit select followed by range select 2019-04-11 18:29:30 -04:00
Zachary Snow 88c537c93f fixed handling of 3+ dimensional packed arrays 2019-04-11 17:30:29 -04:00
Zachary Snow afad70de1a updated relong test folder README 2019-04-11 16:46:20 -04:00
Zachary Snow 55aebec3ad flatten generate blocks into their parent description where trivially possible 2019-04-11 15:42:46 -04:00
Zachary Snow 231b7f9936 interface conversion respects port direction when inlining bindings 2019-04-11 14:08:50 -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 346d7efb3c added new cache_request test from hdl examples 2019-04-10 13:15:43 -04:00
Zachary Snow e4cd8f4c09 simplify handles division and unsized decimal constants 2019-04-09 13:07:43 -04:00
Zachary Snow 2ee837f7b0 restore port-decl hoisting for cleaner output 2019-04-09 12:50:56 -04:00
Zachary Snow dca3a55fa6 support for indexed part select in first procedural Stmt 2019-04-08 22:02:49 -04:00
Zachary Snow 9b51d7566b more expression simplification 2019-04-08 21:57:50 -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 011d88b544 PackedArray conversion supports arbitrary endianness 2019-04-04 19:40:19 -04:00
Zachary Snow f47446653d Updated README 2019-04-03 23:40:28 -04:00
Zachary Snow f9d46d548e cleanup of Enum conversion; additional test 2019-04-03 21:31:56 -04:00