Zachary Snow
4178751b22
interface conversion handles decls with unpacked dimensions
2019-04-23 15:48:25 -04:00
Zachary Snow
4e34217472
struct conversion handles decls with unpacked dimensions
2019-04-23 15:48:25 -04:00
Zachary Snow
85d22d8d03
support for generate constructs outside of generate regions and genvar declarations in generate loops
2019-04-23 14:38:44 -04:00
Zachary Snow
d36ae19e4c
fix $bits resolution of params/localparams
2019-04-23 01:35:21 -04:00
Zachary Snow
925f11cf31
expression traversal visits LHS range and bit expressions
2019-04-23 01:16:57 -04:00
Zachary Snow
04983b0cd5
fixed off by 1 in logic conversion
2019-04-23 00:33:41 -04:00
Zachary Snow
c8894cebde
random documentation and cleanup
2019-04-23 00:23:32 -04:00
Zachary Snow
88579c6d1f
logic conversion fixes produced reg-to-output bindings
...
- generally cleaned up and documented the Logic conversion
- made exprToLHS a shared helper function, now uses Maybe
- ported existing local exprToLHS helpers to the new one
2019-04-22 20:44:35 -04:00
Zachary Snow
55a5443786
logic conversion makes continuous assignments procedural where necessary
2019-04-22 15:10:34 -04:00
Zachary Snow
d41dcb2bc9
struct conversion supports struct literals as task/function args
2019-04-22 13:58:14 -04:00
Zachary Snow
addc550028
minor code cleanup for struct conversion
2019-04-22 02:48:22 -04:00
Zachary Snow
a8f2cbbe29
struct conversion supports complex shadowing
2019-04-22 02:33:24 -04:00
Zachary Snow
05b7bdb99c
added conversion which moves top-level tasks and functions into modules
2019-04-22 01:18:25 -04:00
Zachary Snow
acebba58c9
struct conversion omits unused packing functions
2019-04-21 22:22:33 -04:00
Zachary Snow
d5a369baa0
struct conversion uses packing functions to force field width
2019-04-21 21:56:23 -04:00
Zachary Snow
c5fdf38612
added conversion which adds names to unnamed blocks with decls
2019-04-19 19:08:52 -04:00
Zachary Snow
b0eedfe318
$bits conversion handles basic expressions
2019-04-19 13:32:25 -04:00
Zachary Snow
73f831122f
trim empty blocks; remove extra space in implicitly typed decls
2019-04-19 02:55:40 -04:00
Zachary Snow
8298e83f1e
enum conversion only produces localparams for enum items that are used
2019-04-19 02:14:21 -04:00
Zachary Snow
9fcc8e3478
enum generate localparam values are also explicitly sized to avoid implicit cast/warnings
2019-04-19 01:02:07 -04:00
Zachary Snow
a5ebb1e822
minor output cleanup
2019-04-18 23:32:49 -04:00
Zachary Snow
4cbfd8fa1a
enum conversion explicitly sizes generated params and supports partial types
2019-04-18 21:01:29 -04:00
Zachary Snow
093a4d4dd9
fix Struct conversion handling of default patterns with struct arrays
2019-04-18 21:00:48 -04:00
Zachary Snow
68b6eae484
updated documentation
2019-04-18 19:33:16 -04:00
Zachary Snow
9305c0f43b
PackedArray conversion supports complex shadowing
2019-04-18 15:51:39 -04:00
Zachary Snow
96e0aff7f4
handle TF decl shadowing within packed array conversion
2019-04-17 20:05:55 -04:00
Zachary Snow
8d77856b1e
StmtLHS traversal includes LHSs for loop parts
2019-04-17 17:44:12 -04:00
Zachary Snow
07b64bd1f2
clearer messaging surrounding unsupported interface conversion features
2019-04-17 01:44:03 -04:00
Zachary Snow
369e9f2f19
updated Stack snapshot; handled pattern matching failure issues introduced in GHC 8.6
2019-04-16 15:52:38 -04:00
Zachary Snow
75e2fba597
explicitly size literals in converted default struct patterns
2019-04-15 23:28:03 -04:00
Zachary Snow
da9452bd26
fix PackedArray handling of bit select followed by range select
2019-04-11 18:29:30 -04:00
Zachary Snow
88c537c93f
fixed handling of 3+ dimensional packed arrays
2019-04-11 17:30:29 -04:00
Zachary Snow
55aebec3ad
flatten generate blocks into their parent description where trivially possible
2019-04-11 15:42:46 -04:00
Zachary Snow
231b7f9936
interface conversion respects port direction when inlining bindings
2019-04-11 14:08:50 -04:00
Zachary Snow
c168ec4794
added some error checking for struct pattern conversion
2019-04-10 18:33:33 -04:00
Zachary Snow
377600078a
struct conversion attempts to size unsized constants when packing patterns
2019-04-10 14:07:38 -04:00
Zachary Snow
006e0e0830
fixed struct pattern field ordering
2019-04-10 14:06:44 -04:00
Zachary Snow
e4cd8f4c09
simplify handles division and unsized decimal constants
2019-04-09 13:07:43 -04:00
Zachary Snow
2ee837f7b0
restore port-decl hoisting for cleaner output
2019-04-09 12:50:56 -04:00
Zachary Snow
dca3a55fa6
support for indexed part select in first procedural Stmt
2019-04-08 22:02:49 -04:00
Zachary Snow
9b51d7566b
more expression simplification
2019-04-08 21:57:50 -04:00
Zachary Snow
9a38225b1d
several major fixes surrounding packed arrays
...
- entirely new PackedArray conversion (always flattens)
- typedef and struct correctly order packed ranges when combining types
- Stmt LHS traversal no longer traverses nested statements to avoid double conversion
- Logic conversion applies to `initial` blocks`
- new and modified tests to cover these cases
2019-04-08 21:28:33 -04:00
Zachary Snow
fb3d68e339
propper support for indexed part select addressing
2019-04-05 13:53:52 -04:00
Zachary Snow
011d88b544
PackedArray conversion supports arbitrary endianness
2019-04-04 19:40:19 -04:00
Zachary Snow
f47446653d
Updated README
2019-04-03 23:40:28 -04:00
Zachary Snow
f9d46d548e
cleanup of Enum conversion; additional test
2019-04-03 21:31:56 -04:00
Zachary Snow
383754fa7a
final major round of splitting and cleanup in the SystemVerilog module
2019-04-03 20:24:09 -04:00
Zachary Snow
6d0f7dd0a7
significantly stronger support, and proper handling of assertions
2019-04-03 19:08:30 -04:00
Zachary Snow
e79c95c5f0
some cleanup throughout the SystemVerilog module
2019-04-03 13:45:43 -04:00
Zachary Snow
39f377e022
lexer has useful tagging of tokens from a macro expansion
2019-04-03 13:05:33 -04:00