0

I have one of Zynq development boards (Z7020), where on the hardware cores I am running Linux. I want to be to control logic which I will program into FPGA portion of Zynq with a GUI interface running on the hardware cores and displayed on the connected touch display screen.

Would I just send interrupts to FPGA as I am selecting an options or start/stoping a task from the GUI interface?

How do I also return either indication that task is finished back from FPGA to hardware cores or possibly some data?

22332112
  • 2,337
  • 5
  • 21
  • 42
  • Usually the CPU would send commands and/or data to the FPGA to trigger some processing task (not the other way around). The FPGA will then raise an interrupt to inform the CPU if it is done with a task or an error has been encountered etc.. It depends on what exactly you want to do. The question is probably too broad and goes towards hardware-firmware interaction in general. – andrsmllr Mar 16 '16 at 17:49

1 Answers1

0

The most direct communication path between the CPUs and the programmable logic is the AXI memory interconnect, which enable the processors to send read and write requests to the programmable logic.

You can implement registers or FIFOs in your programmable logic and control the logic by writing to the registers or enqueuing data into the FIFOs. The programmable logic can return data to the processors via registers or be enqueuing into memory-mapped FIFOs that are dequeued by the processors.

It can be helpful for the programmable logic to interrupt the CPU when there is something for the CPU to do.

Interrupts and AXI interconnect between the processors and the programmable logic are documented in the Zynq Technical Reference Manual.

Jamey Hicks
  • 2,340
  • 1
  • 14
  • 20