Zachary Snow
31ebf181bb
improved parse errors for certain unmatched tokens
2021-03-06 15:03:04 -05:00
Zachary Snow
77b2f8b6ce
improve for decl error messaging
2021-03-05 19:58:44 -05:00
Zachary Snow
da07619642
support const declarations of alias types
2021-02-23 16:45:53 -05:00
Zachary Snow
2b9fff78e7
fix indentation inconsistencies
2021-02-19 15:04:23 -05:00
Zachary Snow
e9d62e01ad
unify type range splitting
2021-02-19 14:50:05 -05:00
Zachary Snow
aea2975d66
remove outdated TODOs
2021-02-19 12:24:56 -05:00
Zachary Snow
ec766657a8
simplify value range representation
2021-02-17 17:12:57 -05:00
Zachary Snow
4bfcfe4b28
module item attrs aren't mapped onto trace statements
2021-02-17 13:35:10 -05:00
Zachary Snow
0d095e6afb
updated case inside representation
2021-02-17 13:29:44 -05:00
Zachary Snow
2d7dc00b8d
fix concat of based xz literals with uneven chunks
2021-02-15 16:58:56 -05:00
Zachary Snow
465060ce4f
fold concatenations of number literals
2021-02-11 17:36:05 -05:00
Zachary Snow
dd1a9efb40
refactor cast conversion
...
- delegate cast type and sign resolution to TypeOf conversion
- internal support for injecting data declarations into statements
- fix size and sign of unbased unsized literals used in casts
- avoid generating many unnecessary explicit casts
- support casts which depend on localparams within procedures
- expression traversal correctly visits types within type casts
- fix typeof on expressions of net types
- handle additional edge cases for unsized integer array patterns
- preserve signedness of implicitly flattened unpacked integer arrays
2021-02-03 16:28:53 -05:00
Zachary Snow
275130e0b0
move package param step to conversion
2021-01-27 16:41:39 -05:00
Zachary Snow
5f0dc6be0c
preserve generate else branch association in codegen
2021-01-25 12:33:04 -05:00
Zachary Snow
b28a3cac0d
represent typedefs as localparam types
2021-01-24 10:07:35 -07:00
Zachary Snow
378ede9e1a
standardize internal representation of unknown types
2021-01-24 09:55:03 -07:00
Zachary Snow
8eb3a251f7
package conversion overhaul
...
- full import and export support
- simplify AST representation of import and export
- allow package-scoped identifiers invoked as subroutines
- use scoped name resolution for identifiers in packages
- merge package item nesting conversion into package conversion
- fix handling of colliding enum items in separate modules
- fix visiting enum item exprs in types
2021-01-23 21:54:39 -07:00
Zachary Snow
40df902887
parser production rule for optional assignments
2021-01-21 12:05:44 -07:00
Zachary Snow
ea56f51d03
support for parameters without defaults
2021-01-21 11:55:23 -07:00
Zachary Snow
2a2d819baa
additional codegen test coverage
...
- assertions, gen case, and inout
- simplify block codegen
- remove blank lines in tasks with no inputs
2020-12-11 12:41:59 -07:00
Zachary Snow
0c31936590
maintain explicit padding in unsized number literals
2020-12-10 14:52:43 -07:00
Zachary Snow
c39371c48a
simplify and optimize lexing
2020-12-10 13:33:06 -07:00
Zachary Snow
2081f6a32a
support attributes on port declarations
2020-12-08 11:28:28 -07:00
Zachary Snow
1fd72d878f
fix double backtick handling in backtick string
2020-12-04 13:22:38 -07:00
Zachary Snow
091520e4cd
allow generate scoped basic subroutine invocations in statement blocks
2020-11-30 20:36:06 -07:00
Zachary Snow
82290b16ee
simplify lexer character position lookup
2020-11-27 14:29:59 -07:00
Zachary Snow
e471d37e5c
preprocessor batch consumption
2020-11-27 12:05:32 -07:00
Zachary Snow
eb908b8db7
fix ordering of and outputs
2020-09-13 23:24:21 -04:00
Zachary Snow
e4135bb896
use strict State and Writer monads
2020-08-11 19:14:18 -04:00
Zachary Snow
ddaa7ff6c6
zero-pad sized integrals no larger than 256 bits
2020-08-09 17:36:25 -04:00
Zachary Snow
67466eaa60
major interface conversion update
...
- module instances with modport bindings are now inlined
- support for modports in generate loops
- support for generic interfaces
- implied modport instance propagation
- add error message for interface instances missing port list
2020-08-08 20:43:47 -06:00
Zachary Snow
39519dd439
zero-pad sized integrals smaller than 32 bits
2020-07-23 22:46:19 -06:00
Zachary Snow
359a3de91e
parser rejects errant declarations
2020-07-22 21:35:25 -06:00
Zachary Snow
bf1d9283d7
interpret package parameters as localparams
2020-07-13 18:54:45 -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
69b2e86aee
remove pattern synonyms which introduced excessive overhead
2020-07-09 21:01:18 -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
219a57c37b
preliminary language support for parameterized class scopes
2020-07-08 17:46:37 -06:00
Zachary Snow
1903bc190d
use unbounded integers
2020-07-02 23:33:03 -06:00
Zachary Snow
211e4b0ed8
fix literal casts larger than 32 bits
2020-07-01 23:35:30 -06: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
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
12be569742
reduce usage of maybe
2020-06-14 15:56:09 -04:00
Zachary Snow
b71e0f5346
performance improvements
...
- removed repetition in dimension query conversion
- removed repetition in package item nesting conversion
- packing item nesting conversion short circuit
- param type conversion doesn't bother renaming non-param type instances
- implement showsPrec for certain expression cases
2020-06-14 09:20:34 -04:00
Zachary Snow
9adb7522e9
improve stmt representation
2020-06-09 21:18:31 -04:00
Zachary Snow
3186afe400
additional expression simplification cases
2020-06-06 23:18:22 -04:00
Zachary Snow
82703834ac
constant folding for shifts
2020-06-06 22:45:17 -04:00
Zachary Snow
eb93ba67fc
integer atom explicit sign cast support
2020-06-06 21:26:14 -04:00
Zachary Snow
ae392d4536
fix single bit enum sizing
...
- single bit localparams retain explicit range
- fix $bits on unsized literals
- use Implicit over Maybe for underlying type
2020-06-05 21:32:02 -04:00