Interconnect automation tool improvement
Marin, Sami (2021)
Marin, Sami
2021
Sähkötekniikan DI-ohjelma - Master's Programme in Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2021-11-11
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202111088273
https://urn.fi/URN:NBN:fi:tuni-202111088273
Tiivistelmä
Communication between IP components in System on Chip systems is crucial for providing complex functionalities. The components are connected to each other with interconnects which are responsible of handling the data exchange effortlessly. The interconnects are built to follow a communication architecture which consists of a physical structure and a communication protocol. As the interconnects are often simple and the number of interconnects necessary in a system is large, the generation of the interconnects can be automated to reduce the work effort.
In this thesis, an existing interconnect automation tool is introduced and investigated in order to improve it in various areas. The current implementation of the tool creates an interconnect RTL and files for IP-XACT packaging and verification. The generated interconnect is based on parameters, such as the communication protocol (for example AXI4 protocol) and the number of IPs (slaves/masters), which are inserted into a spreadsheet working as the interface of the tool. The generation itself is done by utilizing a macro in the spreadsheet. Multiple improvement ideas were collected, and the progress done for them during the thesis is explained. The improvement process followed a simple workflow of a feasibility study followed with an implementation of the solution deemed the best.
Only one improvement, support for non-continuous address space for a single master, was finished during the thesis due to an implementation change. However, the feasibility of multiple improvements, such as master-slave visibility and flexible range for address regions, was investigated. Some were unfeasible due to an underlying major restriction. For feasible improvements, possible solutions are provided for future implementation. Tiedonvälitys IP komponenttien välillä on keskeisessä asemassa monimutkaisten toiminnallisuuksien tarjoamisessa System on Chip -järjestelmissä. Komponentit kytketään toisiinsa väyläkomponenteilla, joiden vastuu on hallita tiedonvaihtoa tehokkaasti. Väyläkomponentit suunnitellaan pohjautuen kommunikaatioarkkitehtuuriin, mikä koostuu fyysisestä rakenteesta sekä tiedonvälitysprotokollasta. Usein väyläkomponentit ovat yksinkertaisia ja niiden määrä on suuri järjestelmissä. Täten väyläkomponenttien generointi voidaan automatisoida työmäärän vähentämiseksi.
Tässä diplomityössä esitellään olemassa oleva työkalu väyläkomponenttien luomiseen. Työkalua myös tutkitaan tavoitteena sen parantaminen useasta näkökulmasta. Nykyinen työkalun toteutus luo väyläkomponentin RTL -tiedoston sekä muita tiedostoja IP-XACT -paketointia ja verifiointia varten. Väyläkomponentit generoidaan parametrien perusteella, mitkä voidaan asettaa työkalun laskentataulukkoon perustuvaan käyttöliittymään. Asetettavia parametreja ovat esimerkiksi tiedonvälitysprotokollana AXI4 -protokolla sekä yhdistettyjen komponenttien määrä ja niiden rooli. Generointi tapahtuu laskentataulukkoon tehdyn makron avulla. Useita parannusehdotuksia kerättiin diplomityön aikana ja edistys niitä kohtaan selitetään. Parannusprosessi oli yksinkertainen, missä aluksi parannuksen soveltuvuus selvitettiin. Tätä seurasi parhaimmaksi todetun ratkaisun implementointi.
Vain yksi parannus saatiin päätökseen diplomityön aikana implementointiratkaisun muutoksen vuoksi. Tämä parannus oli epäjatkuvien osoiteavaruuksien tukeminen, kun ne asetetaan samalle isäntäkomponentille. Tästä huolimatta useiden parannusehdotuksien soveltuvuus selvitettiin. Näitä parannuksia olivat muun muassa isäntä-orja liitosten näkyvyyden parannus sekä osoitealueiden leveyksien joustavuuden parannus. Osa parannusehdotuksista todettiin toteuttamiskelvottomiksi rajoitteen vuoksi, minkä korjaus vaatisi suuremman muutoksen väyläkomponentin toimintaperiaatteeseen. Toteuttamiskelpoisille parannuksille selvitettiin mahdollinen ratkaisu, mikä voidaan implementoida tulevaisuudessa.
In this thesis, an existing interconnect automation tool is introduced and investigated in order to improve it in various areas. The current implementation of the tool creates an interconnect RTL and files for IP-XACT packaging and verification. The generated interconnect is based on parameters, such as the communication protocol (for example AXI4 protocol) and the number of IPs (slaves/masters), which are inserted into a spreadsheet working as the interface of the tool. The generation itself is done by utilizing a macro in the spreadsheet. Multiple improvement ideas were collected, and the progress done for them during the thesis is explained. The improvement process followed a simple workflow of a feasibility study followed with an implementation of the solution deemed the best.
Only one improvement, support for non-continuous address space for a single master, was finished during the thesis due to an implementation change. However, the feasibility of multiple improvements, such as master-slave visibility and flexible range for address regions, was investigated. Some were unfeasible due to an underlying major restriction. For feasible improvements, possible solutions are provided for future implementation.
Tässä diplomityössä esitellään olemassa oleva työkalu väyläkomponenttien luomiseen. Työkalua myös tutkitaan tavoitteena sen parantaminen useasta näkökulmasta. Nykyinen työkalun toteutus luo väyläkomponentin RTL -tiedoston sekä muita tiedostoja IP-XACT -paketointia ja verifiointia varten. Väyläkomponentit generoidaan parametrien perusteella, mitkä voidaan asettaa työkalun laskentataulukkoon perustuvaan käyttöliittymään. Asetettavia parametreja ovat esimerkiksi tiedonvälitysprotokollana AXI4 -protokolla sekä yhdistettyjen komponenttien määrä ja niiden rooli. Generointi tapahtuu laskentataulukkoon tehdyn makron avulla. Useita parannusehdotuksia kerättiin diplomityön aikana ja edistys niitä kohtaan selitetään. Parannusprosessi oli yksinkertainen, missä aluksi parannuksen soveltuvuus selvitettiin. Tätä seurasi parhaimmaksi todetun ratkaisun implementointi.
Vain yksi parannus saatiin päätökseen diplomityön aikana implementointiratkaisun muutoksen vuoksi. Tämä parannus oli epäjatkuvien osoiteavaruuksien tukeminen, kun ne asetetaan samalle isäntäkomponentille. Tästä huolimatta useiden parannusehdotuksien soveltuvuus selvitettiin. Näitä parannuksia olivat muun muassa isäntä-orja liitosten näkyvyyden parannus sekä osoitealueiden leveyksien joustavuuden parannus. Osa parannusehdotuksista todettiin toteuttamiskelvottomiksi rajoitteen vuoksi, minkä korjaus vaatisi suuremman muutoksen väyläkomponentin toimintaperiaatteeseen. Toteuttamiskelpoisille parannuksille selvitettiin mahdollinen ratkaisu, mikä voidaan implementoida tulevaisuudessa.