Creating a reusable FPGA programming model architecture for 5G layer 1
URL
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu |
Master's thesis
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
2019-08-19
Department
Major/Subject
Micro- and Nanoelectronic Circuit Design
Mcode
ELEC3036
Degree programme
Master’s Programme in Electronics and Nanotechnology (TS2013)
Language
en
Pages
67 + 8
Series
Abstract
This master’s thesis assesses the problems related to the usage of field-programmable gate arrays (FPGAs) in a team-based embedded system development, in the context of 5G layer 1 (5G L1). Due to the high potential for performance and efficiency improvements, considerable effort has recently been put into integrating FPGAs into traditional software development. Several tools have been developed for this purpose, but they all share the common issue of adding overhead to the program, which cannot be tolerated in 5G L1 due to strict real-time requirements. Due to the overhead issues, the interface between the software and the FPGA hardware in 5G L1 is implemented as a direct memory mapping. However, the FPGA designs include multiple design variants, each containing parts that are common to every variant, and parts that are specific to only one variant. Because developing the memory mapped interface for each separate variant would require excessive software branching, the concept of a unified programming model (UPM) was developed to reduce the need for branching. The UPM requires the common interfaces of each variant to be the same. Although the UPM makes the 5G L1 software development simpler, the creation and maintenance of the UPM is difficult and requires substantial synchronization between the hardware teams. Currently, the communication between the teams lacks proper organization, and therefore it is difficult to keep the interfaces of the common parts of each variant similar. This thesis strives to solve this problem by creating a simple and organized method as a proof-of-concept for sharing the modifications of the memory mapped interface between the hardware design teams. The method is based on a single “top-level” file that is used to store the descriptions of every hardware interface of each design variant. The analysis of the method shows that if used correctly, it enhances the communication between the teams, and ensures that every released FPGA bitstream complies to the UPM.Tässä diplomityössä tarkastellaan kenttäohjelmoitavien porttimatriisien (FPGA) käyttöä ja niihin liittyviä ongelmia tiimipohjaisessa sulautettujen järjestelmien kehityksessä 5G verkkojen 1. kerroksen kontekstissa. FPGA-piirit tarjoavat paljon mahdollisuuksia sovellusten suorituskyvyn ja energiatehokkuuden parantamiseksi, mistä johtuen niiden sisällyttämistä perinteiseen ohjelmistokehitykseen on tutkittu merkittävästi viime aikoina. Tähän tarkoitukseen on kehitetty useita ohjelmistoja, mutta ne eivät sovellu käytettäväksi 5G-kehityksessä, koska niiden aiheuttama ylimääräinen viive on liian suuri 5G:n reaaliaikavaatimusten puitteissa. Edellä mainituista viiveongelmista johtuen ohjelmiston ja FPGA:lle toteutetun laitteiston välinen rajapinta on toteutettu suoraan muistiosoitteiden avulla. Tämä ei kuitenkaan ole täysin ongelmatonta, sillä 5G:n kehityksessä käytetään useita FPGA-toteutuksia, joista jokaisessa on sekä kaikille toteutuksille yhteisiä osioita, että vain yhdessä toteutuksessa käytettyjä osioita. Jotta vältyttäisiin eri varianttien vaatimien rajapintojen eroista seuraavalta ohjelmiston haaroittamiselta, on kehitetty yhtenäistetty ohjelmointimalli (UPM), joka vaatii, että kaikkien FPGA-toteutusten rajapintojen yhteisten osioiden tulee olla samanlaiset. UPM:n luominen ja ylläpitäminen on kuitenkin haastavaa ja se vaatii FPGA:n kehitystiimeiltä merkittävää keskinäistä synkronointia. Keskeisin ongelma on, että nykyinen kommunikointi ei ole riittävän järjestelmällistä rajapintojen samanlaisuuden takaamiseksi. Tämä diplomityö pyrkii ratkaisemaan kyseisen ongelman toteuttamalla soveltuvuusselvityksen yksinkertaisesta ja järjestelmällisestä menetelmästä, jonka avulla tieto rajapinnan muutoksista jaetaan eri tiimien kesken. Menetelmän perusidea on, että kaikki tieto eri osioiden rajapinnoista on tallennettu yhteen tiedostoon, jota jokainen tiimi voi muokata. Menetelmän analyysi osoittaa, että oikein käytettynä se parantaa tiimien välistä synkronointia ja takaa, että kehitetty FPGA-toteutus on yhteensopiva UPM:n kanssa.Description
Supervisor
Halonen, KariThesis advisor
Kunnas, AnttiKeywords
5G, embedded system, FPGA, reconfigurable hardware