Commit Graph

124 Commits

Author SHA1 Message Date
Zachary Snow f381476161 support nested interfaces 2020-04-13 22:50:41 -04:00
Zachary Snow e7381c4db2 fix double multipack conversion of Exprs in LHSs 2020-03-24 22:02:38 -04:00
Zachary Snow 5ad4849454 fix slicing direction for multi-packed arrays 2020-03-22 19:37:58 -04:00
Zachary Snow c03dba096f pack sliced arrays (resolves #78) 2020-03-18 23:40:21 -04:00
Zachary Snow a415d9eb3d fix type propagation of struct fields bit accesses 2020-02-20 00:19:14 -05:00
Zachary Snow 470fa01eb2 updated casting conventions
- explicit enum casts in source are converted to size casts
- conversion for basic pattern array literals of unsized numbers
- unsized number array literals preserve signing
- more aggressive ternary simplification
2020-02-19 18:58:25 -05:00
Zachary Snow 976f582287 push struct and multi-packed ternaries into ranges
- the ternary expressions were previously used to decide the direction
  of generated part selects
- this fixes an issue where ternaries were generated for LHSs
2020-02-18 21:25:20 -05:00
Zachary Snow 8f2d7dd5c7 fixed multiple issues with struct and multi-packed conversions
- struct conversion handles directionality of fields
- struct conversion supports minus part selects
- fixed incorrect handling of directional part selects in multi-packed
  conversion
- multi-packed conversion defines standard ranges in terms of
  directional part selects for clarity
- fixed potential loop due to overeager untagging in multi-packed
  conversion
2020-02-17 13:57:48 -05:00
Zachary Snow 5f0ccee065 conversion for unsized integer arrays 2020-02-17 12:12:51 -05:00
Zachary Snow 20dc92f6d8 fix typeof integer slices 2020-02-16 23:39:48 -05:00
Zachary Snow 9af38e7870 globally imported items are selectively nested 2020-02-16 15:44:03 -05:00
Zachary Snow 799141af42 enum conversion covers nested module items (resolves #70) 2020-02-15 17:14:59 -05:00
Zachary Snow 463cdcb2c1 support complex sizes in size casts (resolves #69) 2020-02-15 16:48:09 -05:00
Zachary Snow fe8839eaec fix struct typing of ternary expressions (resolves #73) 2020-02-15 14:44:49 -05:00
Zachary Snow b124a561f2 updated binary and unary operator printing (resolves #72) 2020-02-15 14:11:17 -05:00
Zachary Snow aea64e903c pack arrays assigned to other arrays 2020-02-13 23:59:01 -05:00
Zachary Snow c876c447e6 fix interface inlining renaming 2020-02-09 22:17:48 -05:00
Zachary Snow 4cf65dd4e2 support for struct type parameters
- param type conversion properly supports deferred param type resolution
- fixed struct conversion incomplete Subroutine traversal
- struct conversion excludes param types from conversion
- parameters are defaulted to have integer type
2020-02-09 17:31:24 -05:00
Zachary Snow 2f8ee303de keyword args conversion covers tasks 2020-02-09 14:17:18 -05:00
Zachary Snow 14644cd1ed fix output of empty generate loops 2020-02-09 14:01:05 -05:00
Zachary Snow 8a008c3024 interface conversion supports positional port bindings
- also fixes an issue where system tasks were inadvertently prefixed
  during the interface conversion
2020-02-09 13:42:45 -05:00
Zachary Snow 7a00c36a70 jump conversion keeps timing controls at the top level 2020-02-09 11:53:21 -05:00
Zachary Snow 4b3b09d2db allow extraneous semicolons in generate blocks 2020-02-08 22:15:35 -05:00
Zachary Snow 2dcd35ade7 support typedefs with unpacked dimensions 2020-02-02 21:40:43 -05:00
Zachary Snow 9694799a23 more consistent procedural assignment support 2020-02-01 15:52:52 -05:00
Zachary Snow 610d9abacf support for gates with delays 2020-01-31 20:24:37 -05:00
Zachary Snow dd0eb5981d added source trace comments
- Trace comments cover module items, decls, and stmts
- Added pseudo-lexer to Alex parser for monadic Position production
- Added Position to every DeclToken
- Removed Comment PackageItem
- Added CommentStmt and CommentDecl
- Fixed traversal skipping outer MIAttr ModuleItems
- Generally cleaned up Parser modules
2020-01-30 22:17:17 -05:00
Zachary Snow 17e17ebd7f fix struct array pattern conversion (resolves #60) 2020-01-20 17:26:03 -08:00
Zachary Snow e62074c756 type operator full select support 2020-01-11 22:52:12 -05:00
Zachary Snow 22d6ba4927 support evaluating functions as statements 2020-01-11 21:06:09 -05:00
Zachary Snow 2bd24b6086 expand type operator support 2020-01-11 20:35:51 -05:00
Zachary Snow b58248fc2c support type operator on simple expressions 2020-01-11 16:22:07 -05:00
Zachary Snow 8cc649a090 made tests in basic suite yosys-friendly
- multipack
- multipack_port
- package_order
- struct_array
2020-01-05 15:29:12 -05:00
Zachary Snow 7ea5b60d0b support for inside case statements 2019-12-21 20:41:19 -05:00
Zachary Snow 7f2fe54b11 fix jump statement conversion 2019-12-09 21:17:01 -05:00
Zachary Snow fb5fd39388 support for inside expression ranges and wildcards 2019-12-08 17:36:25 -05:00
Zachary Snow 92d827f3a5 preserve else block association, with timings 2019-11-20 20:44:09 -05:00
Zachary Snow 35a0587d2c preserve else block association (resolved #56) 2019-11-20 20:18:56 -05:00
Zachary Snow 95299c6f56 conversion of structs with multi-dim fields (resolves #53) 2019-11-19 23:15:25 -05:00
Zachary Snow 49e4f7872d conversion for always_latch (resolves #54) 2019-11-18 19:26:54 -05:00
Zachary Snow c936b39bd2 use system functions for signedness casts 2019-10-20 16:18:18 -04:00
Zachary Snow 06411d70f1 support converting interfaces with parameters 2019-10-20 15:58:37 -04:00
Zachary Snow 3597f4a6be support for methods (no conversion) and interface TFs 2019-10-19 16:22:46 -04:00
Zachary Snow a1cd6941ae apply patterns to substructures 2019-10-13 23:37:43 -04:00
Zachary Snow de581ecaf5 initial support for types in struct patterns 2019-10-13 19:01:42 -04:00
Zachary Snow 3979d294eb consistent size casting behavior
- also adds $clog2 localparam substitution to Simplify
2019-10-12 11:40:36 -04:00
Zachary Snow 79f9d21fe7 leave non-data-declarations at the end of modules 2019-10-12 11:18:10 -04:00
Zachary Snow 8ae89a7bd4 support and convert jumps: break, continue, and return 2019-10-08 23:50:26 -04:00
Zachary Snow f0368714e1 support generate for without explicit block 2019-10-06 15:36:29 -04:00
Zachary Snow 9524f0028b support identifier delay values 2019-10-03 20:38:38 -04:00