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