0

I was wondering if anyone knows an efficient way to program the FPGA(PL) for a Xilinx Zynq-7 series or related devices,from a host C program (not on the SoC, but from the host PC). Is there an Xilinx API I can use/include in my program. As the only way I can think of doing it at the moment is invoking command line programming via Impact.

Basically I want to put the SDK "Program FPGA" functionality in my host C program where the user selects a prebuilt .bit file (and .elf file if possible) to program the FPGA/(SoC). This is just for a test of concept, later I would like to put this dynamic configuration onto one of the ARM CPU's.

Many Thanks Sam

Sam Palmer
  • 1,675
  • 1
  • 25
  • 45

1 Answers1

1

At the very least you'll need an intermediate MPU/MCU that can read from USB, as at startup most FPGAs aren't capable of much at all. I'm guessing this'll make it hard to find a MPU/library pair to do so, because there are so many options, each of which would be pretty application-specific. You're better off starting with programming them off an ARM chip, since you'll need some CPU with the FPGA in any case.

This seems somewhat useful.

cactus1
  • 629
  • 5
  • 8
  • this is probably a bit too far for what I currently need, as I am using a ZedBoard so i just need away for now to access the JTAG programmatically using the standard Diligent/Xilinx APIS – Sam Palmer Apr 20 '14 at 14:29
  • 2
    Digilent and Xilinx don't release any API information for their drivers. It would be easiest to bypass them and find a JTAG library that works with your hardware. Another solution is to use a standard serial flash and program it rather than the FPGA directly. – Kevin Thibedeau Apr 20 '14 at 17:07
  • The other option I found was to take advantage of the partial reconfiguration mechanism and run this on the ARM CPU. – Sam Palmer Apr 20 '14 at 17:33