-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vADC example #10
Closed
Closed
vADC example #10
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…th a binary file generated in python
…n value in a nice way. virtual adc read as an example
…ual ADC read application
…ance and virtual ddr working
…orld and virtual obi read are failing
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Introduction
This is a full example of the virtual ADC + integration with the ADC-emu.
The changes are as follow:
vADC example
It is a Jupyter notebook under
sw/arm/jupyter_notebooks/vadc_example
. It takes a txt file containing multimodal signals and feeds them to an ADC-emu (currently kept as a submodule on my github. This ADC-emu generates aTimeseries
signal that can be easily converted to a binary file to be used by the vADC hardware.ADC-emu
The ADC-emu is a submodule cloned into the arm sdk. It takes
Timeseries
variables and modifies them to emulate the output of an ADC (e.g. quantizes, re-samples, adds noise, etc).Modularization of the SDK
To allow the use of SDK functions without previously calling the
x_heep
class (loading the bitstream) I separated the different peripherals into modules. This will also allow us to maintain them more easily.Removal of python scripts
Because we had everything doubled: jupyter notebook + python script, i removed the python scripts. I modified the verification script (now in sw/arm/jupyter_notebooks/verification.py to run all the notebooks that are in that same folder. This does not include the
vadc_example
that is in its own folder.Reset of the PL
Before changing a bitstream for another you need to reset the PL in order to clear the cache regarding the configuration file (hwh). This was integrated into the x_heep.init() function.
Testing
verification.py
script and all succeedPlease perform your own tests (these and others you can think of)
Future work
For the SDK @simone-machetti @denizkasap
The previous point will require to extract the offsets from the
.hwh
file. This seems to be easy and could generate an offsets.py file upon loading the bitstream.For the vADC
We need to be able to modify the frequencies involved. Now everything is kind of hardcoded or ignored.
THIS PR SHOULD NOT BE MERGED UNTIL THE HW IS MERGED
The vADC hardware must be merged into the latest hardware integrating the new bridges @ruben-roalvarez