Videon käsittely sekä kuljetus AXI –väylällä FPGA-SoC –järjestelmäpiirillä
Syrjälä, Niko (2021-05-11)
Syrjälä, Niko
11.05.2021
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2021051129608
https://urn.fi/URN:NBN:fi-fe2021051129608
Tiivistelmä
Diplomityössä tutkitaan kuvadatan liukuhihnan suunnittelua FPGA-SoC –laitteella. Tavoitteena on tutkia, onko järkevää kuvadata muokata ensin perinteisiksi RGB –matriiseiksi, joille voidaan mahdollisesti suorittaa suotimilla signaalinkäsittelyä FPGA-SoC:lla. Millainen liukuhihnarakenne mahdollisesti tällä halutulla matriisiratkaisulla olisi sekä sopisiko tämä esimerkiksi opiskelijoille tehtäväksi harjoitukseksi tutkia liukuhihnoitustekniikoita. Näihin kysymyksiin pyritään vastaamaan toteuttamalla liukuhihna, jossa otetaan mukaan tarvittavia lohkoja sekä kerrotaan, miksi niitä tarvitaan sekä esitetään vuokaavio algoritmin periaatteesta.
Johdannossa esitellään kuinka FPGA-SoC:n markkinat ovat kehittyneet merkittävästi tuotteen elinkaaren aikana. Alunperin alusta loppuun suunniteltujen ASIC –piirien korvaajista on kasvanut itsenäisiä kokonaisuuksia, joiden matalammat alustavat kustannukset antavat FPGA-SoC:lle mahdollisuuksia vallata uusia toimialoja. Perehtymällä siihen miten FPGA-SoC:n historia on lähtenyt käyntiin, saadaan motivaatio siitä, että FPGA on tulevaisuuden ratkaisu, joka tulee muuntautumaan tulevaisuuden haasteisiin ja asiat mitkä voivat vaikuttaa nyt mahdottomilta saavuttaa FPGA-SoC:n avulla voivat olla yleismaallisia ja tunnettuja ratkaisuja tulevaisuudessa. Tämä toimii motivaationa tutkia ja perehtyä syvemmin FPGA-SoC –sovellusten suunnitteluun.
Liukuhihnan suunnittelussa tutkitaan millaisilla lohkoilla voisi prosessin liukuhihnoituksen toteuttaa sekä katsotaan mikä näiden lohkojen toiminta tässä liukuhihnassa on. Liukuhihnan läpikäynnin jälkeen esitetään perinteinen suorittimella suoritettava vaihtoehtoratkaisu, jossa näytetään kuinka pitkäksi perinteisellä tavalla suoritettuna alkavat algoritmit venyä ja kuinka FPGA-SoC:n rinnakkaisuuden ansiosta saadaan tehokkuutta kasvatettua perinteisen sekventiaalisen suorittamisen sijaan, kun FPGA-SoC pystyy lohkorakenteensa ansiosta suorittamaan useita toimintoja samanaikaisesti.
Lopuksi pohditaan yleisesti tulevaisuutta alalle sekä mitä hyviä ja huonoja puolia ratkaisuista löydettiin ja kuinka laitevalmistajan omalla ohjelmointialustalla, jolla FPGA-SoC voidaan hallita, saadaan helpotettua suunnittelijan elämää, kun laitteistopohjaisten kielten osaaminen ei ole samalla tasolla kuin korkeamman tason ohjelmointikielten osaaminen. The thesis investigates the pipeline design of image processing with an FPGA-SoC (Field Programmable Gate Array System on a Chip) device. The aim is to investigate whether it makes sense to first convert image data into RGB (Red-Green-Blue) matrices, for which it is possible to perform signal processing with filters on an FPGA-SoC. What kind of pipeline structure could be used for solving matrix equations, and would this be a suitable exercise for students to study pipelining techniques? The aim is to answer these questions by implementing a pipeline raw design, which includes the necessary blocks and explains why they are needed and providing a flow chart of the principle of the algorithm.
The introduction presents how the market has developed significantly over FPGA-SoC life cycle. Substitutes for ASICs, (Application Specific Integrated Circuit), which were originally designed for, have grown into independent entities which lower NRE –costs (Non-recurring engineering) allow FPGA-SoC’s to take over new industries. By examining their history, we get to see that they are futuristic solution, and things that may seem impossible to achieve now may be universal and well-known solutions in the future. This serves as a motivation to study and become more familiar with the design of FPGA-SoC applications.
In pipeline design, we examine what kind of blocks a possible pipeline may include and consider what the function of these blocks is. After, which a traditional CPU alternative solution is shown, to express how long the execution of the same algorithms take in CPU and how FPGA-SoC’s parallel performance increases the efficiency, because it is capable of performing multiple functions simultaneously due to its tailor-made architecture.
Finally, there is a general discussion about the future of the industry and what pros and cons were found in the solutions and how the hardware manufacturer's own programming platform for FPGA-SoC’s can make the designer's life easier when hardware-based language skills are not exemplary.
Johdannossa esitellään kuinka FPGA-SoC:n markkinat ovat kehittyneet merkittävästi tuotteen elinkaaren aikana. Alunperin alusta loppuun suunniteltujen ASIC –piirien korvaajista on kasvanut itsenäisiä kokonaisuuksia, joiden matalammat alustavat kustannukset antavat FPGA-SoC:lle mahdollisuuksia vallata uusia toimialoja. Perehtymällä siihen miten FPGA-SoC:n historia on lähtenyt käyntiin, saadaan motivaatio siitä, että FPGA on tulevaisuuden ratkaisu, joka tulee muuntautumaan tulevaisuuden haasteisiin ja asiat mitkä voivat vaikuttaa nyt mahdottomilta saavuttaa FPGA-SoC:n avulla voivat olla yleismaallisia ja tunnettuja ratkaisuja tulevaisuudessa. Tämä toimii motivaationa tutkia ja perehtyä syvemmin FPGA-SoC –sovellusten suunnitteluun.
Liukuhihnan suunnittelussa tutkitaan millaisilla lohkoilla voisi prosessin liukuhihnoituksen toteuttaa sekä katsotaan mikä näiden lohkojen toiminta tässä liukuhihnassa on. Liukuhihnan läpikäynnin jälkeen esitetään perinteinen suorittimella suoritettava vaihtoehtoratkaisu, jossa näytetään kuinka pitkäksi perinteisellä tavalla suoritettuna alkavat algoritmit venyä ja kuinka FPGA-SoC:n rinnakkaisuuden ansiosta saadaan tehokkuutta kasvatettua perinteisen sekventiaalisen suorittamisen sijaan, kun FPGA-SoC pystyy lohkorakenteensa ansiosta suorittamaan useita toimintoja samanaikaisesti.
Lopuksi pohditaan yleisesti tulevaisuutta alalle sekä mitä hyviä ja huonoja puolia ratkaisuista löydettiin ja kuinka laitevalmistajan omalla ohjelmointialustalla, jolla FPGA-SoC voidaan hallita, saadaan helpotettua suunnittelijan elämää, kun laitteistopohjaisten kielten osaaminen ei ole samalla tasolla kuin korkeamman tason ohjelmointikielten osaaminen.
The introduction presents how the market has developed significantly over FPGA-SoC life cycle. Substitutes for ASICs, (Application Specific Integrated Circuit), which were originally designed for, have grown into independent entities which lower NRE –costs (Non-recurring engineering) allow FPGA-SoC’s to take over new industries. By examining their history, we get to see that they are futuristic solution, and things that may seem impossible to achieve now may be universal and well-known solutions in the future. This serves as a motivation to study and become more familiar with the design of FPGA-SoC applications.
In pipeline design, we examine what kind of blocks a possible pipeline may include and consider what the function of these blocks is. After, which a traditional CPU alternative solution is shown, to express how long the execution of the same algorithms take in CPU and how FPGA-SoC’s parallel performance increases the efficiency, because it is capable of performing multiple functions simultaneously due to its tailor-made architecture.
Finally, there is a general discussion about the future of the industry and what pros and cons were found in the solutions and how the hardware manufacturer's own programming platform for FPGA-SoC’s can make the designer's life easier when hardware-based language skills are not exemplary.