Maciej Dudek
0a9a3ad51e
Allow for write enable and sticky property
...
This commit adds new type of fields: sticky with write enable.
This is used to gate status/interrupt register when one or more
interrupts aren't monitored.
Signed-off-by: Maciej Dudek <mdudek@antmicro.com >
2025-04-10 21:45:57 -07:00
Maciej Dudek
a7cea87d40
Remove unreachable code
...
According to the SystemRDL specification interrupt can be either:
level, posedge, negedge, bothedge, or nonsticky.
This means that it's impossible to reach create filed that
satisfies [Pos|Neg|Both]edgeNonstickybit match functions.
Signed-off-by: Maciej Dudek <mdudek@antmicro.com >
2025-04-10 21:45:56 -07:00
Alex Mykyta
4aed443c55
Make swmod respect cpuif byte strobes. #137
2025-04-10 21:26:08 -07:00
Alex Mykyta
3ed2e1f891
Simplify stickybit implementation for single-bit fields to not create redundant expression. #127
2025-03-07 19:45:31 -08:00
Alex Mykyta
d3cd51f500
Fix missing error message if multiple unconditional field assignments are inferred. #93
2025-03-06 22:12:26 -08:00
Alex Mykyta
c53b11cf28
Add more specificity to stickybit conditional class
2025-03-06 21:24:49 -08:00
Alex Mykyta
40687abd6b
Type hinting cleanup
2025-03-03 21:37:07 -08:00
Alex Mykyta
e788e7cafd
Remove excessive secondary counter saturation clamping logic. Counters will now be allowed to be set to values beyond their saturation point if loaded through non-increment/decrement mechanism. #114
2024-12-19 21:41:20 -08:00
Alex Mykyta
a15178c719
Use clog2 helper function to improve clarity. #116
2024-12-19 19:47:41 -08:00
Alex Mykyta
80a46a082b
Fix incorrect address width calculation for external blocks. #116
2024-12-19 19:40:57 -08:00
Alex Mykyta
5f9d7308c2
Add next_q storage element to reset clause to avoid synthesis issues with async resets. #113
2024-12-19 19:30:30 -08:00
Alex Mykyta
e0295ae526
Fixup test bitswap. mypy
2024-12-18 22:04:12 -08:00
Alex Mykyta
555efdfcc0
Remove use of in-scope initial assignments to automatics to work around bug in Spyglass lint tool. #87
2024-03-20 19:57:50 -07:00
Alex Mykyta
62518b318b
Implement new SVInt object to defer literal expansion and allow bit-fiddling operations. Fix invalid bit-slicing of literals if field reset value is a constant. #71
2023-10-24 22:50:41 -07:00
Alex Mykyta
639cafc28b
Fix always_ff generation for non-reset fields and async default reset. #63
2023-09-07 23:36:47 -07:00
Alex Mykyta
941871007b
Omit unecessary hwif signals if an external register is read-only or write-only. #58
2023-08-02 21:38:06 -07:00
Alex Mykyta
211224116e
Clean up ugly unconditional 'if(1)' conditionals in field logic. #50
2023-07-19 20:49:38 -07:00
Alex Mykyta
da8ff4aaeb
Make remaining interrupt conditional predicates single-bit. #54
2023-07-19 20:17:46 -07:00
Alex Mykyta
18f8f358b2
Make stickybit conditional predicate a single-bit result rather than a vector. #54
2023-07-18 21:50:51 -07:00
Alex Mykyta
b056a443f1
Use sized integer literals in comparisons. #49
2023-06-14 21:58:41 -07:00
Alex Mykyta
0d82154b9d
Add support for field paritycheck. #35
2023-05-15 22:53:17 -07:00
Alex Mykyta
5e76956618
Refactor exporter class to clean up the mess of random variables
2023-05-12 23:44:09 -07:00
Alex Mykyta
5b3cdd9d7a
Move get_always_ff_event() to a more sensible location
2023-05-12 21:51:42 -07:00
Alex Mykyta
ca9185dac7
Add support for external components. ( #4 & #36 )
2023-05-11 21:52:26 -07:00
Alex Mykyta
6026e3398e
lint
2023-02-16 19:22:22 -08:00
Alex Mykyta
489b4d1310
Add 'rd_swacc' and 'wr_swacc' UDPs. #21
2022-11-09 21:25:02 -08:00
Alex Mykyta
32f102263b
Fix misinterpretation of swacc behavior. Is asserted on both sw read and write. #21
2022-11-07 22:45:51 -08:00
Alex Mykyta
9e76a712a7
Implement read buffering. ( #22 )
2022-11-06 23:28:07 -08:00
Alex Mykyta
279a3c5788
Implement write buffering ( #22 )
2022-10-29 22:02:04 -07:00
Alex Mykyta
808067fac9
Fix synthesizability of fields with msb0 ordering
2022-10-17 23:24:35 -07:00
Alex Mykyta
e07e7d26b2
Add support for wide registers (where accesswidth < regwidth)
2022-10-17 22:13:29 -07:00
Alex Mykyta
6e4246a2cc
Add support for cpuif that have write strobes
2022-09-13 22:03:54 -07:00
Alex Mykyta
135b717486
Add identifier filter. closes #14
2022-07-20 23:35:17 -07:00
Alex Mykyta
8d13a9d7fe
Switch to use regular non-namespaced package
2022-06-09 20:24:53 -07:00