Hello all, at the moment I am attempting to interface a Leonardo and a Virtex 6 ML605 Xilinx FPGA. I was hoping to use SPI for this purpose. The Leonardo has a micro to usb that would go right into the FPGA's USB port. The pins attached to this port include MISO, MOSI, SS, and SCK(on the FPGA side). They do not include Tx or RX. These are connected to the usb uart that I am using for the pc to FPGA interface.
To continue when looking up the Leonardo interface pins, it say is SPI is only out of its ICSP pins/connector.
First question which may be foolish, is there any way to access those pins through the micro usb port?
If not what are your suggestions, the FPGA supports I2C through pins in its FMC(HPC) connector. Is that my best bet?
If curious my final goal is to send data from an IMU to the Leonardo, send it to the FPGA for computations having to do with Attitude determination, and then send results to the PC. I have already got much of the actual computation VHDL coding done.
The Leonardo has a micro to usb that would go right into the FPGA's USB port
Duh? Based on the USB connector types, it looks to me that both the Leonardo and the FPGA are 'clients'; the Leonardo is for sure. In which case connecting them via USB is a useless exercise; clients can only be connected to USB hosts. Does the FPGA board have a USB host connector (the type that you find on PCs)?
To continue when looking up the Leonardo interface pins, it say is SPI is only out of its ICSP pins/connector.
First question which may be foolish, is there any way to access those pins through the micro usb port?
You can only access the SPI on the Leonardo via the ICSP header; the USB does not carry those signals (it only carries USB signals and power/ground).
If not what are your suggestions, the FPGA supports I2C through pins in its FMC(HPC) connector. Is that my best bet?
Is the SPI on the FPGA accessible on the FMC header? Your IMU is using I2C? If so and you go for I2C communication with the FPGA, it's best to setup the FPGA as a slave; multimaster support on the Arduino is minimal (as far as I know).
PS
Not an FPGA person and have no ide at all how that FPGA board works; I used ML605 Hardware
User Guide as a reference.
Does the FPGA board have a USB host connector (the type that you find on PCs)?
Yes, this is my point of confusion. That is why I thought it first possible to connect them. I am glad you found the hardware guide I was unable to attach it for some reason. If you look up connector U81 using the search function you will find a USB host also you can see it in the picture I attached to the left of the on switch. It is a USB host, but in the hardware guide strangely does not have tx or rx but instead SPI interface.
You can only access the SPI on the Leonardo via the ICSP header; the USB does not carry those signals (it only carries USB signals and power/ground).
Does a ICSP header to USB exist? Or does that even make sense. I think my main point of confusion is I have a host USB port on the FPGA telling me its using SPI instead of Tx and Rx.
Is the SPI on the FPGA accessible on the FMC header?
As far as I can tell no. The only SPI pins are on the USB host U81, only IIC is on the FMC header.
Ah, you have another board than the one in the guide I linked to. Please post links to all documentation; but USB is USB and should not contain other signals.