Zachary Snow
370e5e9e0c
package item nesting performance optimization
2020-12-08 13:16:10 -07:00
Zachary Snow
d137fd3d68
fix premature elaboration of single element patterns
2020-12-07 16:23:29 -07:00
Zachary Snow
ad18c583ab
support default pattern unbased unsized port bindings
2020-12-07 16:23:26 -07:00
Zachary Snow
2b377cef04
interface and instance array support
...
- support for interface instance arrays
- support for interface-using module instance arrays
- support for modport array bindings
- fix modport bindings shadowed in nested instances
2020-12-06 15:41:33 -07:00
Zachary Snow
8eac9b0149
use reg for empty args placeholder
2020-12-05 17:37:18 -07:00
Zachary Snow
454f8dcb24
faster package item nesting traversal
2020-11-28 15:22:58 -07:00
Zachary Snow
2e499dbd03
support case inside with basic side effects
2020-11-27 14:09:16 -07:00
Zachary Snow
260a6507eb
fix converted constant continuous assignment
2020-11-24 17:27:58 -07:00
Zachary Snow
e9f9696342
extend typeof operator support
2020-09-28 23:42:46 -04:00
Zachary Snow
5eaecc6635
fix redeclaration of implicitly typed ports
2020-09-28 19:59:43 -04:00
Zachary Snow
6d907e0985
typeof logical negation
2020-09-13 23:51:13 -04:00
Zachary Snow
7e2450ea5e
conversion to create declarations for implicit nets
2020-09-13 23:35:41 -04:00
Zachary Snow
a170536382
unbased-unsized binding nested struct performance fix
2020-08-20 20:24:45 -04:00
Zachary Snow
7f0c33ab4e
constant fold adjacent adds through association
2020-08-16 14:28:13 -04:00
Zachary Snow
8a8b089a92
assume 0-based sized ranges are non-negative
2020-08-16 13:44:40 -04:00
Zachary Snow
2429a2c9f0
upgraded streaming concatenation conversion
...
- fix handling of truncation for unpacking
- fix handling of final limited-size chunk
- support unpacking in a declarations with assignments
- support streaming concatenations in continuous assignment
2020-08-16 13:12:11 -04:00
Zachary Snow
11bb05374c
simplify duplicate genvar conversion
2020-08-16 12:50:51 -04:00
Zachary Snow
99df32642e
remove old traverseScopesM
2020-08-16 12:47:41 -04:00
Zachary Snow
d4511871ca
typeof $clog2
2020-08-13 19:37:12 -04:00
Zachary Snow
d9e890c88e
signed size cast shorthand output
2020-08-13 18:38:30 -04:00
Zachary Snow
e80db12422
conversion for implicitly variably sized parameters
2020-08-12 21:59:57 -04:00
Zachary Snow
e4135bb896
use strict State and Writer monads
2020-08-11 19:14:18 -04:00
Zachary Snow
13b62fd81e
support structs of integers
2020-08-11 18:37:21 -04:00
Zachary Snow
50a6966a4f
fix three typeof conversion issues
...
- type of strings are left implicit
- type of implicitly-typed params uses the type of the default value
- prevent exponential blowup for large ternary expressions
2020-08-09 17:23:37 -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
5161a9e71b
allow scope traversals to rename tasks and functions
2020-08-01 20:21:32 -06:00
Zachary Snow
3834b9f109
support type lookup of genvars
2020-08-01 20:14:40 -06:00
Zachary Snow
698e3b0b54
fix unbased unsized binding conversion for instances with type parameters
2020-07-27 19:04:41 -06:00
Zachary Snow
50d6faa9b0
yosys-compatible simple loop jump conversion
2020-07-27 18:50:26 -06:00
Zachary Snow
8e1693d396
yosys-compatible unbased unsized binding conversion
2020-07-25 14:54:33 -06:00
Zachary Snow
21ebbb5a19
use repeats for converted unbased-unsized literals
...
- reduces the number of cast functions which are generated
- adjust package_function_cast to preserve cast converage
- fix issue where cast functions would be generated before localparam
substitution within a procedure
2020-07-24 21:29:59 -06:00
Zachary Snow
f0a5a47371
fix break/continue causing return after loop
2020-07-23 19:04:20 -06:00
Zachary Snow
bbb469463b
fix typing bit and part selects
2020-07-23 18:23:40 -06:00
Zachary Snow
8537a9efda
fix scoping of single-item generate conditionals
2020-07-22 20:30:33 -06:00
Zachary Snow
5ad8de9ef7
standardize pattern conversion
2020-07-21 18:05:27 -06:00
Zachary Snow
49c0d297c9
fix package conversion not prefixing declarations with assignments ( resolves #115 )
2020-07-20 22:19:18 -06:00
Zachary Snow
81890561a3
use simple equality for parameters with integral defaults
2020-07-20 18:12:05 -06:00
Zachary Snow
e88a6b9d84
fix type lookup of yet-unresolved types ( resolves #111 )
2020-07-20 17:06:13 -06:00
Zachary Snow
7eed2fc58e
fix handling of multi-dimensional integer array literals ( resolves #113 )
2020-07-20 16:55:55 -06:00
Zachary Snow
e6e62e8813
typedef conversion visits nested types in statements
2020-07-19 20:54:44 -06:00
Zachary Snow
90de4aa121
fix inadvertent duplicate casts
2020-07-19 19:09:57 -06:00
Zachary Snow
03b6ece939
address type lookup of $unsigned and $signed
2020-07-17 19:18:54 -06:00
Zachary Snow
e5e99b291b
Revert "avoid unnecessary unased-unsized casts in assignments"
...
This reverts commit 51f2d2bb33 .
2020-07-17 19:15:34 -06:00
Zachary Snow
cc9f7f4658
remove old scopedConversion
2020-07-15 19:17:05 -06:00
Zachary Snow
4c173d86ab
transition simplify conversion to new scoper
2020-07-15 19:14:05 -06:00
Zachary Snow
a38137b69a
fix conversion of casts in gen item exprs
2020-07-15 19:04:11 -06:00
Zachary Snow
c28bb71ac5
more careful expr and type traversals
2020-07-15 18:44:57 -06:00
Zachary Snow
efe8de3933
faster scope resolution
2020-07-15 18:44:36 -06:00
Zachary Snow
5667bdb589
unpacked array conversion supports generate scoped data
...
- added type class for looking up elements in scoped conversions
2020-07-14 22:59:59 -06:00
Zachary Snow
b19259c694
upgraded size cast conversion
...
- support casts of generate scoped expressions
- support casts to sizes involving genvars
2020-07-14 20:10:38 -06:00
Zachary Snow
2d3973e624
synthesizable wildcard conversion
2020-07-13 23:15:06 -06:00
Zachary Snow
51f2d2bb33
avoid unnecessary unased-unsized casts in assignments
2020-07-13 18:55:47 -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
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
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
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
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
Zachary Snow
cbe0071e43
fix bit param sizing ( resolves #94 )
2020-06-14 19:45:32 -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
682620b23f
struct conversion includes exprs in decls
2020-06-13 22:14:53 -04:00
Zachary Snow
3baa9cbac7
simplify typedef conversion
2020-06-11 20:37:53 -04:00
Zachary Snow
9adb7522e9
improve stmt representation
2020-06-09 21:18:31 -04:00
Zachary Snow
b58cf5bf07
remove empty generate conditionals
2020-06-07 14:26:53 -04:00
Zachary Snow
2bc2eb59d8
advanced typeof support
...
- most binary operators
- ternary expressions
- bitwise negation
- number literals
- size casts
- concat and repeat expressions
2020-06-07 13:13:19 -04:00
Zachary Snow
d0a6b0f529
fix 32 bit constant cast
2020-06-07 00:28:55 -04:00
Zachary Snow
82703834ac
constant folding for shifts
2020-06-06 22:45:17 -04:00
Zachary Snow
2d7982f81e
simplify $bits on simple part selects
2020-06-06 21:28:37 -04:00
Zachary Snow
eb93ba67fc
integer atom explicit sign cast support
2020-06-06 21:26:14 -04:00
Zachary Snow
a8346f2f88
actually fix unbased unsized literals in ternary exprs
2020-06-06 17:01:27 -04:00
Zachary Snow
355b62da70
pack arrays in ternary expressions assigned to other arrays
2020-06-06 13:42:30 -04:00
Zachary Snow
7e20b74147
logic conversion handles shadowing
2020-06-05 21:41:03 -04:00
Zachary Snow
80bfbc1e8a
fix unbased unsized literals in ternary exprs
2020-06-05 21:40:59 -04:00
Zachary Snow
9249c9fa2b
typdef conversion obeys generate scoping
2020-06-05 21:38:31 -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
Zachary Snow
97b2d1d166
fix declaration order of generated enum items
2020-06-05 21:32:02 -04:00
Zachary Snow
ecf047e36e
fix declaration order of nested package items
2020-06-05 21:31:58 -04:00
Zachary Snow
b6f4f690e7
support simple bundle interfaces
...
- fix position modport-to-modport bindings
- inout logics converted to regs become outputs
2020-06-03 20:26:17 -04:00
Zachary Snow
ec760964c7
remove empty initial blocks ( resolves #89 )
2020-06-02 08:29:12 -04:00
Zachary Snow
478f0d19d2
fix premature typename cast conversion ( resolves #88 )
2020-06-01 18:19:47 -04:00
Zachary Snow
9042145695
substitute localparams into type params
2020-05-31 22:01:40 -04:00
Zachary Snow
ea81d55cdc
fix duplicate param type modules
2020-05-31 22:00:57 -04:00
Zachary Snow
a0c3112b6c
flatten tf blocks with decls
2020-05-05 19:32:37 -04:00
Zachary Snow
9e7768b66a
simplify folded procedural branches
2020-05-05 18:50:20 -04:00
Zachary Snow
fc9b0b5978
streamline stream conversion
2020-05-05 18:42:45 -04:00
Zachary Snow
3e85885def
fix conversion of multi-packed arrays in packages
2020-05-04 19:22:36 -04:00
Zachary Snow
f381476161
support nested interfaces
2020-04-13 22:50:41 -04:00
Zachary Snow
df7277a6a0
simplification applies to exprs in decls
2020-04-05 22:13:19 -04:00
Zachary Snow
b8d512e31f
remove unneeded imports
2020-04-05 13:45:22 -04:00
Zachary Snow
c262324a36
removed Unique dependency
...
- made stream conversion pure
- type param conversion uses Set for instance uniqueness
- updated NOTICE and resolutions
2020-04-05 13:09:52 -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
35e75c0604
language support for strengths
2020-03-20 21:13:57 -04:00
Zachary Snow
c03dba096f
pack sliced arrays ( resolves #78 )
2020-03-18 23:40:21 -04:00
Zachary Snow
dd9f040f1f
improved handling of genvars
2020-02-23 22:30:17 -05:00
Zachary Snow
b2504afe71
package convertion perf tweak
2020-02-21 21:17:47 -05:00
Zachary Snow
95524c46ad
remove excess patterns from struct conversion
2020-02-21 21:03:33 -05:00
Zachary Snow
400c009480
traversal performance improvements
2020-02-20 23:57:41 -05: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
db4c396389
minor multi-packed verbosity improvement
2020-02-17 17:31:14 -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
80984f7e7e
size casts on decimal numbers are simplified
2020-02-17 12:53:26 -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
fe8839eaec
fix struct typing of ternary expressions ( resolves #73 )
2020-02-15 14:44:49 -05:00
Zachary Snow
aea64e903c
pack arrays assigned to other arrays
2020-02-13 23:59:01 -05:00
Zachary Snow
8f4e783fd1
remove empty generate loops
2020-02-09 23:20:35 -05:00
Zachary Snow
fcaca6c33a
package item nesting perf tweaks
2020-02-09 22:34:27 -05:00
Zachary Snow
c876c447e6
fix interface inlining renaming
2020-02-09 22:17:48 -05:00
Zachary Snow
df4244d8d5
more aggressive expression simplification
2020-02-09 20:03:08 -05:00
Zachary Snow
9036bbabe4
cover struct width $bits edge case
2020-02-09 19:07:12 -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
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
eb76d16dde
faster package item nesting conversion
2020-02-09 11:52:48 -05:00
Zachary Snow
48f84a9ed4
faster param type conversion
2020-02-09 11:52:33 -05:00
Zachary Snow
88c401e856
additional interface conversion error messages
2020-02-07 19:10:21 -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
6e4a19d00b
flatten generate blocks with one item
2020-01-31 19:43:34 -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
6f0fa58ace
simplify struct LHS handling
2020-01-14 00:23:16 -05: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
82217ec05c
updated lifetime representation; struct packers use automatic
2019-12-22 12:01:05 -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
96fe986b2d
cleanup case representation
2019-12-01 23:25:33 -05:00
Zachary Snow
c1f027e11a
$readmemh/$readmemb imply reg ( resolves #57 )
2019-11-19 23:41:59 -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
eebe41427e
language support for final blocks
2019-10-31 20:39:11 -04:00
Zachary Snow
eeb2d809fd
cleanup interface conversion
2019-10-20 22:06:10 -04: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
5843ef3879
better error messaging for missing interfaces
2019-10-20 14:53:37 -04:00
Zachary Snow
3597f4a6be
support for methods (no conversion) and interface TFs
2019-10-19 16:22:46 -04:00
Zachary Snow
39f0e9b40d
minor perf optimization
2019-10-19 14:38:28 -04:00
Zachary Snow
cf0e182e65
convert unpacked structs as though packed
...
- also expands struct literals containing repeat expressions
2019-10-14 22:01:55 -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
37355920e0
cleaner AST output
2019-10-11 22:38:47 -04:00
Zachary Snow
3d3359d35a
apply BlockDecl conversions to tasks and functions
2019-10-11 19:31:41 -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
3807ab6736
handle adding packed dimensions to byte, shortint, and longint
2019-10-01 00:03:07 -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
454afa97a3
major array pack and flatten update ( closes #48 )
...
- dimensions flattening conversion only flattens packed dimensions
- conversion for packing arrays when necessary (preserves memories)
- added coverage for array with multiple packed dimensions
- test runner no longer forbids multi-dim accesses after conversion
- Decl and subordinate types derive Ord
2019-09-26 23:11:59 -04:00
Zachary Snow
dcca974fbc
support size casts with complex size expressions
2019-09-25 23:59:47 -04:00