Commit Graph

565 Commits

Author SHA1 Message Date
Zachary Snow 51f2d2bb33 avoid unnecessary unased-unsized casts in assignments 2020-07-13 18:55:47 -06:00
Zachary Snow bf1d9283d7 interpret package parameters as localparams 2020-07-13 18:54:45 -06:00
Zachary Snow b2291a2046 use explicit size for large folded constants 2020-07-12 18:06:37 -06:00
Zachary Snow db21869e69 fix premature conversion of casts containing dimension queries 2020-07-12 16:23:08 -06:00
Zachary Snow d46e1f24b4 run tests single threaded 2020-07-12 15:53:17 -06:00
Zachary Snow d88c516d33 enhanced handling of number literals
- number literals are parsed rather than stored as strings
- fix array query functions used on non-trivial number literals
- more efficient expression simplification recursion
- expanded constant folding scenarios
2020-07-12 15:06:27 -06:00
Zachary Snow 737c66a6c9 fix default type parameters which depend on other parameters 2020-07-10 17:45:36 -06:00
Zachary Snow a83cc3809b omit no-op size casts of explicitly-sized literals 2020-07-09 21:02:09 -06:00
Zachary Snow 2961d1058b remove deprecated TFStrategy traversals 2020-07-09 21:01:42 -06:00
Zachary Snow 69b2e86aee remove pattern synonyms which introduced excessive overhead 2020-07-09 21:01:18 -06:00
Zachary Snow ff166df59c fix conversion of implicitly-typed type parameters 2020-07-09 21:00:23 -06:00
Zachary Snow a7673c55fd automatically fix simple declaration order issues 2020-07-08 22:20:40 -06:00
Zachary Snow d2a0ba0d13 improved handling of number literals
- elaborated literals larger than 32 bits are given an explicit size
- constant folding no longer encodes illegal negative numbers
2020-07-08 21:49:50 -06:00
Zachary Snow 4b5e3232b9 support for localparam type 2020-07-08 19:39:26 -06:00
Zachary Snow 9aa8d5a5d3 remove outdated TODOs 2020-07-08 19:39:26 -06:00
Zachary Snow 671101a30b allow type parameters to depend on other parameters 2020-07-08 18:56:41 -06:00
Zachary Snow 219a57c37b preliminary language support for parameterized class scopes 2020-07-08 17:46:37 -06:00
Zachary Snow 296e246158 fix multi-dimensional array unbased unsized pattern conversion 2020-07-06 22:26:04 -06:00
Zachary Snow 9520894720 unbased unsized conversion refactor
- support ubased unsized bound to ports using injected constants
- explicit context-aware literal sizing for complex expressions
- fix infinite loop case in NestPI conversion
- elaborate size-casts of converted literals
2020-07-06 22:11:53 -06:00
Zachary Snow 1903bc190d use unbounded integers 2020-07-02 23:33:03 -06:00
Zachary Snow cd8af036a0 logic conversion supports generate block scoping 2020-07-02 22:59:06 -06:00
Zachary Snow af319c3655 scoper tracks whether traversal is in procedure 2020-07-02 22:59:06 -06:00
Zachary Snow 85e3d0f5b5 initial generate block scoping support
- significant refactor of struct conversion
- significant refactor of typedef conversion
- scoping support in multipack conversion
- scoping support in typeof conversion
2020-07-02 22:58:59 -06:00
Zachary Snow 211e4b0ed8 fix literal casts larger than 32 bits 2020-07-01 23:35:30 -06:00
Zachary Snow 1dfa9a9e7f simplify struct conversion 2020-07-01 22:37:19 -06:00
Zachary Snow 6b81f87a88 fix stale logs in test runner 2020-06-29 16:08:49 -06:00
Zachary Snow 82d06b3915 elaboration avoid introducing illegal selects 2020-06-25 17:36:09 -07:00
Zachary Snow 80154feb5e logic conversion notices procedural assignments in tasks and functions 2020-06-25 09:31:39 -07:00
Zachary Snow 24071d74ac paramtype conversion resolves dimension queries before substitution 2020-06-25 00:09:56 -07:00
Zachary Snow 2d134a8640 fix verbose mode crash 2020-06-22 21:50:00 -04:00
Zachary Snow c005e5c6ae wildcard conversion uses simple equality if trivially possible 2020-06-22 21:33:53 -04:00
Zachary Snow 0fb97f2381 remove over-specified traversal arguments 2020-06-20 23:08:40 -04:00
Zachary Snow 2535d689aa fix struct/interface/logic conversion interactions
- interface conversion only waits for type resolution of modports
- typeof conversion resolves struct field accesses
- logic conversion only converts logic data declarations
- struct conversion only converts within modules
- fix nested type traversal order causing premature struct conversion
2020-06-20 22:46:54 -04:00
Zachary Snow bd1c07231f experimenting with monad helpers 2020-06-20 16:41:13 -04:00
Zachary Snow 4026ae8fa5 interface conversion respects shadowed variables 2020-06-20 15:56:01 -04:00
Zachary Snow 4bebb85c14 refactor interface conversion 2020-06-20 14:39:57 -04:00
Zachary Snow aca24ebe53 only check notice file on master 2020-06-19 21:49:51 -04:00
Zachary Snow 1ff4729266 prevent duplicate build of release tags 2020-06-19 21:40:28 -04:00
Zachary Snow 7aed23b650 fix windows release workflow 2020-06-19 21:26:41 -04:00
Zachary Snow f2ccebd58e release v0.0.4 2020-06-19 21:06:02 -04:00
Zachary Snow 8d37db30e5 support complex modport expressions
- modports can use complex expressions
- update interface_infer test for consistency across simulators
- fix interface inlining of implicitly typed data declarations
2020-06-19 20:32:37 -04:00
Zachary Snow 8ae925d92e support modports depending on other interface data declarations 2020-06-19 20:07:57 -04:00
Zachary Snow 369af00137 enums in packages are expanded in place 2020-06-19 00:41:02 -04:00
Zachary Snow 661703a8c2 address import resolution issues
- fix wildcard imports shadowing other items
- fix explicit imports depending on other items
- fix example export in package.sv
2020-06-18 21:18:08 -04:00
Zachary Snow 64f3067d78 allow dimension shorthand for instance arrays 2020-06-17 22:26:27 -04:00
Zachary Snow 3cfd368bc2 support multi-dimensional instances 2020-06-17 22:18:08 -04:00
Zachary Snow 487685e0f0 remove ternary operators from wildcard conversion 2020-06-16 20:04:38 -04:00
Zachary Snow 5d02b918c3 fix inside and wildcard equality conversions
- handle cases where wildcard equality short-circuits to 0
- move checking for extraneous X/Z to wildcard conversion
- add exhaustive test coverage
2020-06-16 19:40:46 -04:00
Zachary Snow 99428b2f16 expanded support for interfaces with parameters 2020-06-14 22:57:46 -04:00
Zachary Snow 8cfd05de1a unbased unsized literals are context-aware 2020-06-14 21:43:32 -04:00