amaranth
amaranth copied to clipboard
[WIP] Add Display statement.
Intent: fixes #432.
- Rebase of dc6a805, which adds the
Displaystatement with support in simulation. - Minimally working RTLIL backend support.
- Confirmed this works in CXXRTL.
TODO:
- [ ] Synchronous Display statements
- [ ] Lots of cleaning up and poking-around testing.
- [ ] Unit tests.
- [ ] Documentation.
Codecov Report
Merging #871 (90b6583) into main (c7da6c1) will decrease coverage by
0.74%. The diff coverage is44.02%.
@@ Coverage Diff @@
## main #871 +/- ##
==========================================
- Coverage 83.73% 82.99% -0.74%
==========================================
Files 54 54
Lines 7681 7788 +107
Branches 1868 1896 +28
==========================================
+ Hits 6432 6464 +32
- Misses 1048 1123 +75
Partials 201 201
| Files | Coverage Δ | |
|---|---|---|
| amaranth/__init__.py | 85.71% <ø> (ø) |
|
| amaranth/hdl/__init__.py | 100.00% <100.00%> (ø) |
|
| amaranth/hdl/dsl.py | 99.73% <100.00%> (ø) |
|
| amaranth/sim/_pyrtl.py | 96.07% <88.23%> (-0.53%) |
:arrow_down: |
| amaranth/back/rtlil.py | 76.97% <25.00%> (-0.34%) |
:arrow_down: |
| amaranth/hdl/xfrm.py | 95.37% <79.16%> (-0.85%) |
:arrow_down: |
| amaranth/hdl/ast.py | 84.74% <25.28%> (-5.25%) |
:arrow_down: |
... and 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more
Thank you for this contribution. Project policy requires that substantial changes (such as this one) go through the RFC process first. As this feature (along with its sister feature #427, which will use the same kind of format strings) is a high-priority one on the roadmap, ~~I will go ahead and write the RFC for it~~ @wanda-phi ended up writing the RFC. As always, your feedback in the RFC process will be appreciated.
Thank you for submitting this pull request. We have iterated on the proposed design; as such, support for this feature has been accepted via RFC 50 and implementation is tracked in issue #1186. Since it significantly differs from this PR I'll go ahead and close it, noting that we may still choose to reuse some of the implementation.