Question about Digilent PYNQ-Z1

Bogdan,

May I ask what your goal is by using the FPGA? As NengoFPGA is relatively new and continuing development there are currently some limitation and I want to make sure it will meet your needs. Similarly, it may be useful to explore your proposed system with standard Nengo before adding the FPGA piece to flesh out details and ensure NengoFPGA is right for you.

If you do decide to pursue NengoFPGA, I want to note a few things to ensure we are on the same page. The NengoFPGA package effectively adds a new ensemble type to be run on the FPGA (FpgaPesEnsembleNetwork) while the remainder of your network or model will be standard Nengo. NengoFPGA is an integrated extension of Nengo, not an entirely separate system. Typically we have a Nengo model running on the host PC with a portion designated to be run on the FPGA. The NengoFPGA system uses the ARM processor as an interface between the FPGA and the host PC and, in fact, does not require Nengo on the ARM at all. So it seems it may be easier to integrate the plant model with NengoFPGA (and Nengo) on the host PC rather than a direct interface to the PYNQ.

That being said, it is possible to run directly from the PYNQ’s ARM with some modifications, as noted in my previous reply. It really depends on your use case and the amount of effort you are willing to invest. With respect to your plant model, we’ve never tried integrating Simulink models but the PYNQ has a standard ARM processor running Ubuntu, so it might be possible to put the plant on the PYNQ as well, I’m not sure. On the other hand, you may be able to just run Nengo on the Raspberry Pi and use a single device that way if it meets your needs.