Hypothesis stateful
This PR contains Hypothesis stateful testing infrastructure using the open-loop cl pass. test_wrapper wraps an RTL component to CL using generated RTL2CL adapters. test_stateful compares a wrapped RTL with CL, which assumes cycle accuracy.
Codecov Report
Merging #54 into master will decrease coverage by
1.84%. The diff coverage is76.19%.
@@ Coverage Diff @@
## master #54 +/- ##
==========================================
- Coverage 90.68% 88.83% -1.85%
==========================================
Files 244 254 +10
Lines 29001 23853 -5148
==========================================
- Hits 26300 21191 -5109
+ Misses 2701 2662 -39
| Impacted Files | Coverage Δ | |
|---|---|---|
| pymtl3/stdlib/test/pyh2/utils.py | 0% <0%> (ø) |
|
| pymtl3/stdlib/test/pyh2/stateful.py | 0% <0%> (ø) |
|
| pymtl3/stdlib/cl/queues.py | 93.33% <100%> (-0.67%) |
:arrow_down: |
| pymtl3/stdlib/test/pyh2/RTL2CLWrapper.py | 100% <100%> (ø) |
|
| pymtl3/stdlib/ifcs/EnqDeqIfc.py | 100% <100%> (+5.88%) |
:arrow_up: |
| pymtl3/stdlib/ifcs/__init__.py | 100% <100%> (ø) |
:arrow_up: |
| pymtl3/passes/sverilog/import_/ImportPass.py | 94.13% <100%> (-1.48%) |
:arrow_down: |
| pymtl3/passes/sverilog/util/utility.py | 100% <100%> (ø) |
:arrow_up: |
| pymtl3/passes/GenDAGPass.py | 96.25% <100%> (+0.01%) |
:arrow_up: |
| pymtl3/dsl/ComponentLevel6.py | 100% <100%> (ø) |
:arrow_up: |
| ... and 144 more |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact),ø = not affected,? = missing dataPowered by Codecov. Last update e9b487b...0e38f02. Read the comment docs.
@cbatten I have a new idea. How about putting Yixiao's stuff in stdlib/example/?
What exactly is "Yixiao's stuff"? I don't think we should have example in stdlib ... stdlib is meant to be installed ...
What exactly is "Yixiao's stuff"? I don't think we should have example in stdlib ... stdlib is meant to be installed ...
This PR has two parts. One part is the state machines and wrappers. I think these should stay in stdlib. For other things like rob test and queue test, do you think they could go to examples/?
yes! I think we might eventually end up with a full tutorial just on hypothesis stateful testing.
Sorry guys but I think we won't merge this PR into master due to the massive effort to make it work with the latest master. I will be porting some of the important changes to a new PR. By courtesy I will be cherry-picking some of Yixiao's commits to that PR. Doing so will make sure that after the new PR is merged, Yixiao will be in the contributor list of pymtl3.
Closing this because Shunning was trying to replicate this in #117