Zachary Snow
05cafc3d2a
scope bit-indexed modport binding
2024-05-01 09:07:31 -04:00
Zachary Snow
fb604109bf
don't sign-extend signed unsized numbers with a leading 1 bit
...
I'm opting for iverilog's interpretation of the specifications here. The
commercial simulators I tested seem to agree.
2024-05-01 09:07:31 -04:00
Ethan Sifferman
df01650444
Added `full_case` and `parallel_case` attributes ( #274 )
2024-03-10 23:45:01 -04:00
Zachary Snow
9825bb9bcb
tweak codegen for bitwise binary followed by reduction unary
2024-01-04 22:09:04 -07:00
Zachary Snow
f9917d94da
execute always_comb/latch at time zero
2023-12-26 09:21:19 -07:00
Zachary Snow
756dbbb84f
support stream within mux
2023-12-17 20:37:25 -05:00
Zachary Snow
81d822562a
fix stringToInteger byte order
2023-12-07 23:43:19 -05:00
Zachary Snow
e9c01d2434
support wait statements
2023-12-03 13:16:01 -05:00
Zachary Snow
2579bc8302
translate input reg to input wire
2023-11-05 11:02:51 -05:00
Zachary Snow
cd7b53c658
fix multipack conversion type and expr traversal
2023-11-04 20:36:51 -04:00
Zachary Snow
fe90c7bbf4
fix inline explicit struct casts
2023-11-04 17:31:11 -04:00
Zachary Snow
a4639fa9ef
special case typenames when resolving pattern identifiers
2023-11-04 13:31:09 -04:00
Zachary Snow
d5b9c1da59
visit function args in empty args conversion
2023-11-04 11:36:08 -04:00
Zachary Snow
aa451b66a2
stronger typename checks
2023-08-13 15:17:21 -04:00
Zachary Snow
ba94920ee0
assign a unique identifier to every genvar
2023-08-11 21:52:03 -04:00
Zachary Snow
a209335c30
disambiguate typenames and interface names
2023-08-09 22:45:52 -04:00
Zachary Snow
b09fdaf76a
simplify shadowing notes non-trivial localparams too
2023-08-08 22:30:36 -04:00
Zachary Snow
5b035613ee
constant fold || and &&
2023-08-08 22:25:39 -04:00
CORRADI Quentin
619bde4be1
support for attributes in unary, binary, and ternary expressions
...
Co-authored-by: qcorradi <q.corradi22@imperial.ac.uk>
Co-authored-by: Zachary Snow <zach@zachjs.com>
2023-07-31 22:52:28 -04:00
Zachary Snow
07caba64a5
simplify non-ANSI style port declaration dimensions
2023-07-31 21:31:34 -04:00
Zachary Snow
bef9b1a3f0
allow inout task and function ports
2023-07-26 23:42:51 -04:00
Zachary Snow
a29564459b
remove long-deprecated CLI flag aliases
2023-06-24 13:11:21 -04:00
Zachary Snow
6082cae4d1
release v0.0.11
2023-06-22 00:11:49 -04:00
Zachary Snow
2017201d1b
minor changelog clarification
2023-06-22 00:10:41 -04:00
Zachary Snow
04d65bb388
added --write directory mode with one file per module
2023-06-21 08:25:42 -04:00
Zachary Snow
911243dac4
add --top for filtering uninstantiated modules
2023-06-18 22:36:43 -04:00
Zachary Snow
a05659cd06
better unfinished conditional directive error message
2023-06-17 12:56:23 -04:00
Zachary Snow
51c90baf5e
support for loading from library directories
2023-06-13 22:53:36 -04:00
CORRADI Quentin
4756f49750
avoid dangling procedural else
...
* Remove unneeded begin/end when the loop is a do/while
* Dangling else check passes through statement attributes (bug fix)
* Dangling else check passes through most control flow structures to reduce unneeded begin/end
* Add test case and update changelog
---------
Co-authored-by: qcorradi <q.corradi22@imperial.ac.uk>
Co-authored-by: Zachary Snow <zach@zachjs.com>
2023-06-06 00:08:56 -04:00
qcorradi
485ffffa01
always kw conversion visits items with attributes
...
* Fixing a bug where always_* are not converted when attributed
* Added tests and updated Changelog for the attributed always_* fix
2023-05-30 23:39:47 -04:00
Zachary Snow
0a7b0250e7
fix 1364-2001 and 1364-2001-noconfig keywords mixup
...
- swap 1364-2001 and 1364-2001-noconfig
- fix existing begin_keywords test
- add keyword test suite for all keywords
2023-05-15 22:21:23 -04:00
Zachary Snow
6c4ee8f4bc
keep explicitly unconnected port bindings
...
These are now kept while still supporting optional trailing commas and
without introducing pass-through inconsistencies.
2023-05-10 08:48:15 -04:00
Zachary Snow
11a5d0479d
support for sequence and property declarations
2023-05-07 16:45:06 -04:00
Zachary Snow
1b8aace145
check for module or interface names used as type names
2023-05-07 13:45:56 -04:00
Zachary Snow
b7738a3238
don't use positional error message on extra named bindings
2023-04-26 09:07:18 -04:00
Zachary Snow
e4c47363bb
ignore port connection attributions
2023-04-21 08:29:27 -04:00
Zachary Snow
eca8714de7
skip start of block before looking for its end
2023-03-07 23:54:56 -05:00
Zachary Snow
4ce177c074
multipack conversion visits exprs within types
2023-02-22 00:15:39 -05:00
Zachary Snow
9bab0448e3
drop explicit string type from parameters
2023-01-07 18:27:25 -07:00
Zachary Snow
96a108ded7
constant folding extensions
...
- fold string literal comparisons
- fold non-decimal bit shifts
- fold non-decimal integer comparisons
- fold decimal bitwise AND and OR
- simplify cast expressions before elaboration
- remove duplicate cast expression traversal
- flatten concatenated numbers in a single pass
2022-12-24 01:12:50 -07:00
Zachary Snow
c49fad1dba
drop unneeded module-scoped references
2022-10-29 13:22:53 -04:00
Zachary Snow
086eb78688
elaborate accesses to fields of struct constants
2022-10-23 11:52:22 -07:00
Zachary Snow
4533e4fffb
don't inline module-level constants into static prefixes
2022-10-22 18:02:54 -07:00
Zachary Snow
87642c0975
release v0.0.10
2022-07-23 19:28:21 -04:00
Zachary Snow
a9f00cce2a
avoid name conflicts when elaborating packages
2022-07-17 22:02:15 -04:00
Zachary Snow
a54be8dae6
instances supply names during reordering
2022-07-17 20:58:36 -04:00
Zachary Snow
59b416f9b4
isolate interface name resolution checks
2022-07-17 20:32:56 -04:00
Zachary Snow
6e8659a537
support hierarchical calls to functions with no inputs
2022-07-10 22:43:33 -04:00
Zachary Snow
5dcbce5f45
fix conversion of casts to structs containing multidimensional fields
2022-06-19 21:55:19 -04:00
Zachary Snow
336812ff21
fix conversion of signed struct fields accessed directly
2022-06-19 16:13:56 -04:00