Frequently Asked Questions
Can XiBIF do <insert feature here>?
If it is not anywhere in the documentation, chances are that XiBIF can (currently) not do what you are looking for. If you are in this situation, please open an issue.
Can I get a continuous data stream without explicitly reading?
At the moment, unfortunately no. Since the current API is culling-based, the SoC always waits for a data request before sending out anything. The next best thing you could do is to create a process that reads data more or less continuously.
Be aware, though, that streaming data and simultaneously analyzing it can be Pandora’s box!
Can I create an interrupt from the FPGA to the host?
This is not possible at the moment. Theoretically, one could send a packet of data to a socket. This could act as some sort of interrupt, but it would be painfully slow due to having to traverse the OSI stack twice.
Do I have to use the provided Python API?
No, you don’t. However, experience shows that a lot of time and energy can be wasted on trying to reinvent the wheel. Our Python API is adequately tested and works for all the registers you create. A custom solution will most likely not be as good. Furthermore, it can make debugging later on a real pain in the butt. Once you hand in your project, it will likely be picked up by one of us or another student.
Therefore, we ask that you stick with the provided tools. Tell us if you are missing any functionality, and we’ll figure something out.
Why is there no support for my favorite programming language?
Even though we would like nothing more than to rewrite and maintain our entire interface codebase in Java or Fortran, there simply is not enough time on our hands. If you, however, are motivated enough, feel free to open a merge request :)