Forschungspraxen / MSCE Research Internships
Einzelne angebotene Forschungspraxen oder MSCE Internships können auch als Aufgabe im Rahmen des Projektpraktikums Integrated Systems durchgeführt werden. Für die betreffenden Ausschreibungen ist dies im Ausschreibungstext explizit angegeben.
Offene Arbeiten
Interesse an einer Studien- oder Abschlussarbeit?
In unseren Arbeitsgruppen sind oftmals Arbeiten in Vorbereitung, die hier noch nicht aufgelistet sind. Teilweise besteht auch die Möglichkeit, ein Thema entsprechend Ihrer speziellen Interessenslage zu definieren. Kontaktieren Sie hierzu einfach einen Mitarbeiter aus dem entsprechenden Arbeitsgebiet. Falls Sie darüber hinaus allgemeine Fragen zur Durchführung einer Arbeit am LIS haben, wenden Sie sich bitte an Dr. Thomas Wild.
Laufende Arbeiten
Exploration of Deadlock-Avoidance Algorithms for FPGA-Based Network-on-Chips
Beschreibung
The fast pace at which new online services emerge leads to a rapid surge in the volume of network traffic and the associated computing demands. A recent approach that the research community has proposed to tackle this issue is in-network computing, which means that network devices (e.g., smart network interface cards (SmartNICs) and switches) perform more types of computations than before. As a result, processing demands become more varied, requiring flexible packet-processing architectures. Since FPGA-based network-on-chips (NoCs) provide high flexibility and scalability, they can be used to provide high-speed communication in SmartNICs.
This project aims to explore deadlock-avoidance algorithms for FPGA-based network-on-chips (NoCs). A literature research must be performed to discover state-of-the-art approaches and estimate their complexity and impact on performance. One or two promising methods must be implemented in SystemVerilog and integrated into an existing NoC-based SmartNIC architecture. The achievable throughput and latency must be evaluated and compared with the baseline via cycle-accurate register-transfer level simulations in Vivado. Furthermore, the resource usage on an Alveo U55C must be determined by running Synthesis and Implementation in Vivado.
Betreuer:
Implementation of a FPGA-based Intersatellite Network Switch for High-Speed Traffic
Beschreibung
The demand for high-speed communication links has significantly increased in recent years. Additionally, satellite telecom constellations can extend connectivity to the most remote areas and assist in handling higher payloads associated with emerging technologies like 6G. Each satellite node within these constellations requires routing capabilities to manage such data traffic. In this context, MPLS (Multi-Protocol Label Switching) and high-speed switching hardware are crucial for supporting this growth. MPLS enhances network performance by directing data based on short path labels instead of long network addresses, and advanced hardware enables the efficient handling of this data traffic.
The goal of this work is to validate a High-Speed (~600 Gb/s) Switch that utilizes MPLS technology. The system under evaluation is composed by a Multi-Rate MAC, a traffic generator, a MPLS Switch IP, and a PetaLinux build to manage MPLS traffic. The Multi-Rate MAC, traffic generator, and MPLS Switch are implemented on the FPGA embedded in the Versal ACAP, while PetaLinux operates on one of its ARM cores. The project employs Vivado, Vitis, and XSDB (Xilinx System Debugger) as the primary software tools, and the Versal ACAP and a e DVB-S2X/RCS2 Native Modem as the hardware to integrate and implement different parts and functionalities of the project.
Specific Task
- Log project telemetry data to Petalinux Filesystem
- Implement a Script to run on the Versal for tracing of the system
- Show metrics on a GUI using HTML or a Phython lib (e.g. TKinter)
- Define a meaningful test case for the system
- Run the defined tests, adapt the system if necessary and debug
Voraussetzungen
- Proficient in VHDL/Verilog, C, and Python programming languages
- Strong understanding of computer networks, including the OSI model and various protocols (with
- the focus on MPLS and IP)
- Comfortable with using the Linux command line and writing bash scripts
- Practical experience in FPGA and ACAP design and implementation
Betreuer:
Design and Implementation of a Stride Prefetching Mechanism in VHDL
Beschreibung
Since DRAM typically come with much higher access latencies than SRAM, many approaches to reduce DRAM latencies have already been explored, such as Caching, Access predictors, Row-buffers etc.
In the CeCaS research project, we plan to employ an additional mechanism, in detail a preloading mechanism of a certain fraction of the DRAM content to a small on-chip SRAM buffer. Thus, it is required to predict potentially next-accessed Cachelines, preload them to the SRAM and answer subsequent memory requests of this data from the SRAM instead forwarding them to the DRAM itself.
This functionality should be implemented as a cycle accurate VHDL model. A baseline system will bw provided, the goal is to implement this functionality in its simplest form as a baseline. Depending on the progress, this can be extended or refined in subsequent steps.
A close supervision, especially during the inital phase, will be guaranteed. Nevertheless, some experience with VHDL++ programming is required.
Voraussetzungen
- Experience with VHDL Coding
- Basic knowledge on MPSoC, cache hierarchies etc.
- B.Sc. in Electrical Engineering or similar
Betreuer:
Software Implementation on ZCU102 Zynq Board PS in Correlation to TAS Server
Beschreibung
Context:
Future cars have a wide variety of sensors, such as cameras, LiDARs, and RADARs that generate a large amount of data. This data has to be sent via an intra-vehicular network (IVN) to further processing nodes, and, ultimately, actuators have to react to the sensor input. In between the processing steps, the intra-vehicular network has to ensure that all of the data and control signals reach their destination in time. Hence, next to a large amount of data, there are also strict timing constraints that the intra-vehicular network has to cope with. Therefore, the so-called time-sensitive networking (TSN) has been introduced. The functional safety of such networks plays an important role against the background of highly automated driving. Emerging errors have to be detected early and potential countermeasures have to be taken to keep the vehicle in a safe state. Therefore, highly sophisticated monitoring and diagnosis algorithms are a key requirement for future cars. When an anomaly is detected, the TAS server (Tool developed by Infineon) is used to request trace information from MultiCore Debug Solution (MCDS), which is a hardware feature available for Aurix boards that are used for debugging and tracing core and bus activities (See Project EMDRIVE).
The Zynq board consists of two parts: Programmable Logic (PL) and Processing System (PS). In this part of the work, the PL will implement the Companion Box, which will continuously monitor the traffic over the Ethernet. The PS part handles the tasks related to the TAS server and MCDS configuration, which will require Linux installation on the Zynq board to implement the TAS server. When an anomaly is detected from the Companion Box, a flag is set so that the software can detect and work accordingly. Then, a set of configurations will be automatically defined by the TAS server and sent to the MCDS of the targeted Aurix board that generated the anomaly. Upon the new configuration, the TAS server will retrieve the traces from the MCDS.
FORSCHUNGSPRAXIS:
The substance of this work is to implement the following tasks:
- Install Linux on the ZCU102 PS.
- Test functionality of Linux.
- Install TAS server on the Linux OS of ZCU102 board.
- Configure MCDS of the Aurix boards using the TAS server and retrieve traces.
- Establish a connection between SW and HW of ZCU102 board (Flag assertion, Memory access).
- Automate the process of MCDS configuration and Trace retrieval.
If you are interested, feel free to contact me! Please send your CV as well as a recent transcript.
Voraussetzungen
The primary skills that will be developed and needed during this project are the following:
- Proficiency in Verilog/SystemVerilog for FPGA design.
- A solid understanding of Linux OS.
- An understanding of HW/SW co-design.
- A strong background in System-on-Chip design.
- A good knowledge of Python and Shell scripting.
Kontakt
zafer.attal@tum.de
Betreuer:
Automotive Ethernet Anomaly Detection for Burst of Packets - ZCU102 Implementation
Beschreibung
Context:
Future cars have a wide variety of sensors, such as cameras, LiDARs, and RADARs that generate a large amount of data. This data has to be sent via an intra-vehicular network (IVN) to further processing nodes, and, ultimately, actuators have to react to the sensor input. In between the processing steps, the intra-vehicular network has to ensure that all of the data and control signals reach their destination in time. Hence, next to a large amount of data, there are also strict timing constraints that the intra-vehicular network has to cope with. Therefore, the so-called time-sensitive networking (TSN) has been introduced. The functional safety of such networks plays an important role against the background of highly automated driving. Emerging errors have to be detected early and potential countermeasures have to be taken to keep the vehicle in a safe state. Therefore, highly sophisticated monitoring and diagnosis algorithms are a key requirement for future cars. (See Project EMDRIVE)
Our approach for such diagnosis builds on non-intrusively monitoring the intra-vehicular network by snooping on data traffic at an interconnect in the car. An analysis of the traffic shall give information about anomalies that occur inside the network as symptoms of an error inside the electrical architecture. FORSCHUNGSPRAXIS: The substance of this work is to first work into an existing design of an anomaly detection module that monitors individual packets in a flow. Based on the already existing work, several extensions have to be implemented (Verilog/SystemVerilog) in the hardware design to support anomaly detection in a burst of packet transfer. Type of the faults and anomalies:
- Arrival time of the Burst
- Timing in-between packets in a single Burst
- Number of packets in a single Burst
The system should be capable of detecting these fault classes and sending an alert/raising a flag to the software about the detected anomaly. It can then later on inject these types of fault classes during demonstration upon request. The design should be simulated and implemented on an FPGA (ZCU102 Zync Board).
If you are interested, feel free to contact me! Please send your CV as well as a recent transcript.
Voraussetzungen
The primary skills that will be developed and needed during this project are the following:
- Proficiency in Verilog/SystemVerilog for FPGA design.
- Ability to design and implement hardware modules.
- Experience with FPGA simulation tools (e.g., ModelSim).
- A strong background in System-on-Chip design.
- A good understanding of network protocols and their implementation on FPGA platforms
Kontakt
zafer.attal@tum.de
Betreuer:
Functional Chain on Aurix TC3x Boards Implementation - Optical Flow Detection
Beschreibung
The Aurix TC3x boards are used as ECUs emulators in a Car for in-vehicle network communication. These boards are used to represent this communication behavior, which will work as a benchmark for other network traffic monitors and fault detection modules.
To showcase the Aurix board's functional chain, an Optical Flow Detection algorithm is proposed, where the input is real-time video (Camera). At the same time, the output will be the processed video displayed on a screen or Aurix LCD.
The functional chain should be divided into 3 sub-functions (F1-F2-F3) that will represent the algorithm in which each Aurix board should implement a single function. The data transfer from one board to another uses an Ethernet switch, where the standard Ethernet protocols should be used for communication.
This encompasses the following sub-tasks:
- Bring up the Aurix boards, including the Aurix development environment.
- Implement a functional chain consisting of (F1-F2-F3) that represents an Optical Flow Detection algorithm.
- Display the results on a screen or on an Aurix board LCD.
- Establish Ethernet-based data exchange.
Voraussetzungen
- Good knowledge of C programming
- A solid understanding of System-on-Chip and the modules of general microcontroller