A Comparison of High-Level Synthesis and Traditional RTL in Software and FPGA Design
Kangas, Niko (2020)
Kangas, Niko
2020
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2020052714303
https://urn.fi/URN:NBN:fi:amk-2020052714303
Tiivistelmä
Tämä opinnäytetyö tehtiin Vacon Oy:lle, joka on osa Danfossin Drives-segmenttiä. Opinnäytetyön tarkoituksena oli vertailla uutta Vitis-työkalua nykyisesti käytössä oleviin, Vivadoon ja SDK:hon, joilla suunnitellaan FPGA-piirejä sekä ohjelmistoja. Työ antaisi puoleettoman näkemyksen kummastakin suunnitteluvuosta, ja auttaisi hahmottamaan niiden kustannustehokkuuksia.
Työssä toteutettiin ledin kirkkauden ohjaus kummallakin vuolla, ja niitä verrattiin keskenään. Vertailussa oli tarkoituksena tuoda esille eri toteutuksien koko, tehonkulutus, verifioinnin helppous ja käytetty aika.
Tietoa etsittiin tieteellisistä artikkeleista, julkaisuista sekä ohjelmistojen ja laitteiden valmistajan manuaaleista ja dokumentaatiosta.
Työssä todettiin, ettei Vitis-työkalulla voida toteuttaa tehtävänannon mukaista toteutusta. Sen sijaan uudeksi vertailukohteeksi otettiin Vivado HLS-työkalu.
Vertailusta selvisi, että molemmat vuot käyttävät lähes saman verran resursseja ja tehoa. Algoritmin verifiointiprosessi on myös helpompaa HLS-vuossa. HLS-toteutus kuitenkin tuotti pientä viivettä jatkuvassa ajossa, joten sitä ei pitäisi käyttää aikakriittisissä käyttötarkoituksissa.
HLS:llä ei voida täysin korvata perinteistä vuota, mutta se voisi soveltua paremminkin käyttökohteisiin, joissa vaaditaan suurta laskentatehoa, eikä vaadi aikakriittistä toiminnallisuutta. This thesis was done for Vacon Oy, which is a part of Danfoss's Drives segment. The aim of the thesis was to compare the new Vitis tool with those currently in use, Vivado and SDK, which are used to design FPGA circuits and software. The thesis would give an objective look into both design flows and could help to un-derstand their cost-effectiveness.
The thesis was carried out by creating an LED brightness control program with both flows and they were compared to each other. The aim of the comparison was to bring up the size of both implementations, the power consumption, the ease of verification and the time spent.
Information was sought in scientific articles, publications, and software and hardware manufacturer manuals and documentation.
During the course of the thesis it was concluded that Vitis cannot be used to implement the specified functionality. Instead, the Vivado HLS tool was introduced as a new benchmark.
The comparison revealed that both flows use nearly the equal amount of resources and power. The algorithm verification process is also easier using the HLS flow. However, the HLS implementation introduced a small delay between runs and therefore it should not be used in timing-critical applications.
The traditional flow should not be entirely replaced with HLS, however it could be more suitable for intensive mathematical algorithms that do not require time-critical functionality.
Työssä toteutettiin ledin kirkkauden ohjaus kummallakin vuolla, ja niitä verrattiin keskenään. Vertailussa oli tarkoituksena tuoda esille eri toteutuksien koko, tehonkulutus, verifioinnin helppous ja käytetty aika.
Tietoa etsittiin tieteellisistä artikkeleista, julkaisuista sekä ohjelmistojen ja laitteiden valmistajan manuaaleista ja dokumentaatiosta.
Työssä todettiin, ettei Vitis-työkalulla voida toteuttaa tehtävänannon mukaista toteutusta. Sen sijaan uudeksi vertailukohteeksi otettiin Vivado HLS-työkalu.
Vertailusta selvisi, että molemmat vuot käyttävät lähes saman verran resursseja ja tehoa. Algoritmin verifiointiprosessi on myös helpompaa HLS-vuossa. HLS-toteutus kuitenkin tuotti pientä viivettä jatkuvassa ajossa, joten sitä ei pitäisi käyttää aikakriittisissä käyttötarkoituksissa.
HLS:llä ei voida täysin korvata perinteistä vuota, mutta se voisi soveltua paremminkin käyttökohteisiin, joissa vaaditaan suurta laskentatehoa, eikä vaadi aikakriittistä toiminnallisuutta.
The thesis was carried out by creating an LED brightness control program with both flows and they were compared to each other. The aim of the comparison was to bring up the size of both implementations, the power consumption, the ease of verification and the time spent.
Information was sought in scientific articles, publications, and software and hardware manufacturer manuals and documentation.
During the course of the thesis it was concluded that Vitis cannot be used to implement the specified functionality. Instead, the Vivado HLS tool was introduced as a new benchmark.
The comparison revealed that both flows use nearly the equal amount of resources and power. The algorithm verification process is also easier using the HLS flow. However, the HLS implementation introduced a small delay between runs and therefore it should not be used in timing-critical applications.
The traditional flow should not be entirely replaced with HLS, however it could be more suitable for intensive mathematical algorithms that do not require time-critical functionality.