System on Chip (SoC) is a hardware solution combining different hardware devices in the same chip. In particular, the XILINX Zinq solution, implementing an ARM processor and a configurable FPGA on the same chip, is a candidate technology for a variety of applications of interest in fusion research, where FPGA fast logic must be combined with a processor for high level functions and communication. Developing Zinq based applications requires (1) the development of the FPGA logic using the XILINX Vivado IDE, (2) mapping information between the FPGA device and the processor address space, (3) developing the kernel drivers for interacting with the FPGA device and (4) developing the high level application programs in user space for the supervision and the integration of the system. The paper presents a framework that integrates all the above steps and greatly simplifies the overall process. In particular, the framework will: - Supervise the compilation of the Linux kernel from the XILINX repository; - Handle the management of the VIVADO project and of the required Intellectual Property (IP) components that are required for FPGA integration; - Supervise the building of the Device Tree structure required for the proper mapping of the FPGA device(s) in the processor address space; - Provide templates for the development of the required Linux drivers; - Provide tools for the development of high level functions in user space. All the information handled by the framework is mapped into a git repository so that the project can be shared among different teams. The presented framework has been used for the development of a programmable timing device in W7X. The development of new devices integrating data acquisition and timing functions is foreseen for RFX-Mod.
A Framework for the integration of Linux FPGA SoC devices
Manduchi G;Taliercio C;Luchetta A;
2017
Abstract
System on Chip (SoC) is a hardware solution combining different hardware devices in the same chip. In particular, the XILINX Zinq solution, implementing an ARM processor and a configurable FPGA on the same chip, is a candidate technology for a variety of applications of interest in fusion research, where FPGA fast logic must be combined with a processor for high level functions and communication. Developing Zinq based applications requires (1) the development of the FPGA logic using the XILINX Vivado IDE, (2) mapping information between the FPGA device and the processor address space, (3) developing the kernel drivers for interacting with the FPGA device and (4) developing the high level application programs in user space for the supervision and the integration of the system. The paper presents a framework that integrates all the above steps and greatly simplifies the overall process. In particular, the framework will: - Supervise the compilation of the Linux kernel from the XILINX repository; - Handle the management of the VIVADO project and of the required Intellectual Property (IP) components that are required for FPGA integration; - Supervise the building of the Device Tree structure required for the proper mapping of the FPGA device(s) in the processor address space; - Provide templates for the development of the required Linux drivers; - Provide tools for the development of high level functions in user space. All the information handled by the framework is mapped into a git repository so that the project can be shared among different teams. The presented framework has been used for the development of a programmable timing device in W7X. The development of new devices integrating data acquisition and timing functions is foreseen for RFX-Mod.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.