Commit Graph

91 Commits

Author SHA1 Message Date
Zachary Snow 37355920e0 cleaner AST output 2019-10-11 22:38:47 -04:00
Zachary Snow 167c65db11 pass through downstream compiler directives 2019-10-10 20:53:49 -04:00
Zachary Snow 8ae89a7bd4 support and convert jumps: break, continue, and return 2019-10-08 23:50:26 -04:00
Zachary Snow 08c38e6193 support time literals as expressions 2019-10-06 21:21:58 -04:00
Zachary Snow 1a394cff9c support mintypmax expressions 2019-10-06 16:18:15 -04:00
Zachary Snow f0368714e1 support generate for without explicit block 2019-10-06 15:36:29 -04:00
Zachary Snow c6eedb9f26 pass through named events 2019-09-30 23:22:05 -04:00
Zachary Snow b7959c7aa2 support for statement labels and basic fork-join 2019-09-30 23:03:55 -04:00
Zachary Snow 2d81c6470f prevent genvar conflict without changing scope tree 2019-09-21 14:14:55 -04:00
Zachary Snow ba4cf805ff preliminary conversion for size casts 2019-09-18 23:39:09 -04:00
Zachary Snow d84a4f7bb0 additional generate block simplification 2019-09-17 20:30:33 -04:00
Zachary Snow 7267f94b0b allow signing on net types (closes #40) 2019-09-16 19:50:30 -04:00
Zachary Snow 5d80c83092 support for module attributes (resolves #39) 2019-09-15 23:17:14 -04:00
Zachary Snow bb2a8febea module item traversals visit items with attributes 2019-09-15 16:56:55 -04:00
Zachary Snow 77b9d2f085 support and conversion for foreach 2019-09-15 16:32:19 -04:00
Zachary Snow f5d6683422 generalization of array dimension(s) system functions 2019-09-14 12:38:26 -04:00
Zachary Snow 6271e16b68 functional parameter type conversion 2019-09-11 17:58:03 +02:00
Zachary Snow 677d11091b added monadic file traversal helper 2019-09-09 18:44:04 +02:00
Zachary Snow 66989b0446 language support for parameter type bindings 2019-09-09 07:38:14 +02:00
Zachary Snow d11e898edb Added ParamType decl; combined parameter and localparam under Param 2019-09-09 07:34:43 +02:00
Zachary Snow af4711a8cf preliminary stream conversion 2019-09-03 23:36:29 -04:00
Zachary Snow 1f7c70dfe1 language support for LHS streaming operators 2019-09-02 20:46:35 -04:00
Zachary Snow 04de45b08b language support for streaming operators 2019-09-01 18:42:16 -04:00
Zachary Snow 737791aebd expose nested type traversal 2019-08-27 19:28:04 -04:00
Zachary Snow a9f502a696 traverse covers typedefs in packages and exprs in types 2019-08-26 21:08:31 -04:00
Zachary Snow 8a67a91166 added language support for (untagged) unions 2019-08-08 23:12:06 -04:00
Zachary Snow 44ea16e3eb ensure, rather than check, traverseScopesM invariant (perf optimization) 2019-05-01 13:37:50 -04:00
Zachary Snow 04337988cc standardized handling of resolution across source files 2019-04-30 15:44:52 -04:00
Zachary Snow d2c06b58bc initial work towards fleshing out package conversion 2019-04-30 01:57:04 -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 da38776d73 decls are now package items 2019-04-23 17:12:56 -04:00
Zachary Snow d01df6110b preliminary language support for packages 2019-04-23 15:53:51 -04:00
Zachary Snow 85d22d8d03 support for generate constructs outside of generate regions and genvar declarations in generate loops 2019-04-23 14:38:44 -04:00
Zachary Snow 925f11cf31 expression traversal visits LHS range and bit expressions 2019-04-23 01:16:57 -04:00
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 a8f2cbbe29 struct conversion supports complex shadowing 2019-04-22 02:33:24 -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 9305c0f43b PackedArray conversion supports complex shadowing 2019-04-18 15:51:39 -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 369e9f2f19 updated Stack snapshot; handled pattern matching failure issues introduced in GHC 8.6 2019-04-16 15:52:38 -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 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 6d0f7dd0a7 significantly stronger support, and proper handling of assertions 2019-04-03 19:08:30 -04:00
Zachary Snow 5351dee80a minor scoping/ordering fixes for pesky VCS restrictions 2019-04-02 15:36:29 -04:00
Zachary Snow 86195d9ea1 interface conversion obeys function/task identifier shadowing 2019-04-02 13:35:15 -04:00
Zachary Snow c53b39319d added support and conversion handling of the $bits system function
This also entailed further fleshing out the expression traversal helper
to cover expressions in generate blocks, which could, of course, use
$bits.
2019-04-02 00:16:09 -04:00