Hochintegriertes Plattform Management auf heterogenen SoC Architekturen
by
Vortrag zur Masterarbeit von Marvin Fuchs zum Thema Hochintegriertes Plattform Management auf heterogenen SoC Architekturen
In Hinblick auf das Einsatzgebiet in der Ausleseelektronik des Compact Muon Solenoid
(CMS) Experiments am CERN wurde für die Serenity-A v1.0 Trägerplatine der Serenity
Advanced Telecommunications Computing Architecture (ATCA) Prototyping Plattform ein
Bootprozess entworfen und implementiert. Da es sich bei der für das Plattform Management
auf dieser Platine genutzten zentrale Komponente um einen Xilinx Zynq UltraScale+
Multiprocessor System on a Chip (MPSoC) handelt, wurde dabei von den Softwarekomponenten
ausgegangen, die Xilinx dafür anbietet. Daran wurden Modifikationen vorgenommen, um
den speziellen Anforderungen des Einsatzgebiets gerecht zu werden.
Entworfen wurde ein Bootprozess, der darauf ausgerichtet ist so viel Firmware und
Software wie möglich zur Laufzeit über eine Netzwerkschnittstelle zu laden. Ermöglicht
wurde dies einerseits für den Bitstream eines Field-Programmable Gate Arrays (FPGA)
und für das Linux-Betriebssystem zur Ausführung auf der zentralen CPU. Zudem aber
auch für die Konfiguration des Processing System (PS) Teils des MPSoC selbst, die
üblicherweise in einer frühen Phase des Boots erfolgt, zu der noch keine Netzwerkverbindung
möglich ist. Hierzu wurde U-Boot um einen Befehl erweitert, der es möglich macht anhand
einer Konfigurationsdatei die Konfiguration des Processing System zu erweitern oder zu
überschreiben. Zudem lässt der Befehl das Konfigurieren und Aktivieren der Isolation
des MPSoC aus U-Boot heraus zu. Weiterhin wurde eine Methode entwickelt, um das
Erstellen und Verwenden einer solchen Konfigurationsdatei in das Umfeld der Xilinx
Entwicklungswerkzeuge (Version 2020.2) einzubinden.
Außerdem wurde der Bootprozess dahingehend angepasst, dem Advanced Telecommunications
Computing Architecture Standard zu entsprechen. Dies erforderte das Einbinden eines
Intelligent Platform Management Controllers (IPMC), der auf der kleineren der beiden
CPUs des MPSoC ausgeführt wird, sowie weitere Modifikationen an den von Xilinx zur
Verfügungen gestellten Softwarekomponenten, wie dem First Stage Boot Loader (FSBL) und
der Platform Management Unit (PMU) Firmware. Erst durch diese Modifikationen konnte
dem Intelligent Platform Management Controller die nötige Kontrolle über bestimmte
Komponenten des MPSoC ermöglicht werden, wie zum Beispiel über das Hoch- und
Herunterfahren des Linux-Betriebssystems, das auf der Haupt-CPU des MPSoC ausgeführt
wird.
Vortragssprache: Deutsch
Lecture to the master thesis from Marvin Fuchs on the Topic Highly integrated slow control on heterogeneous SoC architectures
With regard to the readout system of the Compact Muon Solenoid (CMS) experiment
at CERN as the field of application, a boot process was developed for the
Serenity-A v1.0 hardware implementation of the Serenity
Advanced Telecommunications Computing Architecture (ATCA) prototyping platform.
Since the central component used for slow control on this card is a Xilinx Zynq
UltraScale+ Multiprocessor System on a Chip (MPSoC), the respective software components
offered by Xilinx were used as a starting point. These components were modified
to meet the specific requirements of the field of application.
A boot process was designed, which is aimed at loading as much firmware and software as
possible at runtime via a network interface. This was made possible for the bitstream of a
Field-Programmable Gate Array (FPGA) and for the Linux operating system, targeted to run
on the central CPU of the MPSoC. In addition, however, also for the configuration of the
Processing System (PS) part of the MPSoC itself, which is usually applied in a very early
stage of the boot, when no network connection is possible. To achieve this, U-Boot was
extended by a command, which makes it possible to extend or overwrite the present
configuration of the processing system, according to the content of a configuration file.
In addition, the command allows to configure and activate the isolation of the MPSoC
from within U-Boot as well. Furthermore, a method was developed to integrate the creation
and use of such a configuration file into the environment of Xilinx developent tools (2020.2)
In addition, the boot process was adapted to comply with the Advanced Telecommunications
Computing Architecture standard. This requires the inclusion of an Intelligent Platform
Management Controller (IPMC), running on the smaller one of the two CPUs present in the
MPSoC, as well as further modifications to the software components provided by Xilinx,
such as the First Stage Boot Loader (FSBL) and Platform Management Unit (PMU) firmware.
These modifications were necessary to enable the Intelligent Platform Management Controller
to have the necessary control over certain components in the MPSoC, such as the ability to
startup and shutdown the Linux operating system, running on the main CPU.
Lecture language: German