Author Topic: Inter-FPGA-Communication: write config flash of a second FGPA  (Read 1219 times)


  • Active Member
  • *
  • Posts: 14
Inter-FPGA-Communication: write config flash of a second FGPA
« on: January 21, 2022, 05:09:54 PM »
Dearl all!

I would like to throw a question in the room:

We are developing a system that needs inter-FPGA-communication. Think of a Zynq that exchanges data via SPI with two (or four) Artix.
During development time programming (FPGA and config flash) and debugging is done via JTAG chain.
But later in the field we would like to be able to still do updates. So we are looking for a possibility to program the artix config flash from the petalinux of the zynq.

See attached image.

What would be best practice to accomplish that?
-   Are there tools available for petalinux to write to the config flash via jtag? Without a “jtag programming cable” the jtag chain isn’t closed… (jumper, but is it possible?)
-   Use a 2nd CS (e.g.CS_A`) that switches a mux inside the Artix and connects transparently the config flash of an artix to the zynq via SPI? (is QSPI a problem here?)
-   Anything else?

What do you think? Any ideas?

Any hint is gratefully welcome.
Thanks in advance, stay healthy. Bye, Marc.

P.S.: Oh, I just found the “Xilinx Virtual Cable”: Can it be used to program the config flash without the need for a full Vivado installation?


  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2038
Re: Inter-FPGA-Communication: write config flash of a second FGPA
« Reply #1 on: January 28, 2022, 06:14:12 AM »
xapp1215 is possible(Ive done it one time, with some modification of the xilinx example code). In this case you use a Zynq as programmer. But in this case you save only the programmer with Xilinx license. JTAG goes over ETH in this case and you see the connected device in Vivado (instead of full version, use free Vivado Labtools (much smaller->> ~1GB)).



  • Active Member
  • *
  • Posts: 32
  • FPGA-Design & Signal Processing
Re: Inter-FPGA-Communication: write config flash of a second FGPA
« Reply #2 on: December 06, 2022, 07:30:56 PM »
What about an easy streaming interface like token ring operating with serial interconnection? I built a master listener system with 8 clients and one controller this way, offering 50% of the slot time to the master and 50%/8 to the clients. The all need one pin only for IN and OUt = 2 Pins

In a maximum Test i ran it with 135MHz single ende using a b4b7 code. Practically this is close to 10Mbps for the Master to the clients and exceeds the formely used BMC b1b2 as S/PDIF.

For a professional system a LVDS = 4 wires would be the best.