-
Notifications
You must be signed in to change notification settings - Fork 2
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
Document bitfiles #78
Comments
I'd be happy to take over this part if @phildong is too busy and can take questions. I'm no expert in FPGA, so I would need some help and time, but it'll be better if I can modify this part in the long run. |
Hey sorry I'm slow to take action on this. I've just transferred the ownership of the repo https://github.com/Aharoni-Lab/wireless_fpga_daq, so it can be public whenever we feel ready. |
No problem, and sure, that sounds great. I'll post notes as I re-run the synthesis on my end (probably around the end of this year). |
finally just tried looking it up, this is helpful - http://lastweek.io/fpga/bitstream/ constraining this to just bitfiles for now (rather than all FPGA/wireless daq documentation which will basically be "document it like any project, how do we set it up, how do we use it, etc."), some starting points:
bitstream:
file: location/of/file.bit
frequency:
value: 8.33
unit: MHz
# ... etc.
|
bitstream:
manchester_freq:
value: 8.33
io_port:
value: J2_2
io_vcc:
value: 3.3
manchester_polarity:
value: IEEE I do want to mention since .bit is a binary file, there is no "fields" in the file. So something like this will be for documentation purpose only and won't be very helpful to constrain/automate testing for the actual file. The actual source "fields" that correspond to these parameters spans multiple files in the source (not bitfile) and some of them are black-box to me as well (since they use vivado IP). |
This parameter is used in the I/O code and unrelated to this bitfile. Actually, none of the fields in the YAML file except the |
Great! That makes sense. re (2): I think the idea is mostly for the sake of documentation - having those values split out in a way where their meaning can be described and aren't just in the filename. So when someone bundles up their data for publication they can include that as an unambiguous way to refer what was running in their experiment. I can handle that change after i finish up the current changes. Just talked with Takuya about this, writing it down so we have it here when it comes to to do the docs: the only parameter that really should need to be varied is the frequency, and it's loosely coupled to the image resolution in the sense that if one were to increase the resolution (in some hypothetical future device, for example) then one would need to increase the frequency. |
Continuing #19
The stream daq relies on bitfiles - i believe these are the "programs" that run on the FPGA, but i actually have no idea.
We need to
This probably goes along with needing to document FPGA stuff generally, so i'll defer basically all of the "how" this gets done to @phildong - i am not sure what the plans are for release of that stuff, and if there are plans for making separate documentation for FPGA that we can just link to, or if that should all live here.
at the moment we are sort of operating with a manual, black box dependency, and it would be nice to make that more explicit -- like we will probably need to make updates to the FPGA code at some point, and it would be nice to be able to declare that version compatibility. e.g. if we change miniscope-io code to use some new features or new behavior of FPGA code, there would currently not be a good way for us to tell a user that the new version is incompatible with their existing FPGA code, etc. That's a separate discussion, but raising it here because it underscores the need for us to document what the bitfiles are and how they relate to the rest of the FPGA system. We are currently public pre-alpha on this project, but i think the FPGA stuff is all still private? so that would be a bridge i'd rather cross sooner than in a rush while the paper is coming together.
The text was updated successfully, but these errors were encountered: