Muunneltavan FPGA-testiympäristön käyttö reaaliaikaisessa RTL-verifioinnissa
Paakkolanvaara, Janne (2018-06-01)
Paakkolanvaara, Janne
J. Paakkolanvaara
01.06.2018
© 2018 Janne Paakkolanvaara. Tämä Kohde on tekijänoikeuden ja/tai lähioikeuksien suojaama. Voit käyttää Kohdetta käyttöösi sovellettavan tekijänoikeutta ja lähioikeuksia koskevan lainsäädännön sallimilla tavoilla. Muunlaista käyttöä varten tarvitset oikeudenhaltijoiden luvan.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-201806052450
https://urn.fi/URN:NBN:fi:oulu-201806052450
Tiivistelmä
Prototypointi on kasvattanut osaansa ASIC-piirien suunnittelussa viimeisen kahden vuosikymmenen aikana RTL-suunnitelmien kasvaessa valtavasti. Prototypoinnissa voidaan varmentaa suunnitelmaa reaalimaailmassa ennen, kuin se valmistetaan piille. Tämä säästää valtavasti kustannuksia, sillä ASICpiirin uudelleen valmistaminen on erittäin kallista. Prototypoinnissa voidaan myös aloittaa ohjelmistokehitys ennen kuin varsinainen piille painettu piiri valmistuu. Tämä nopeuttaa piirin markkinoille pääsyä huomattavasti. Prototypointia tehdään tyypillisesti emulaattorilla ja tässä työssä keskiössä olevilla FPGA-levyillä.
Tässä työssä esitellään muunneltavan FPGA-testiympäristön haasteita RTLsuunnitelman reaaliaikaisessa verifioinnissa. Työssä rakennetaan testipenkin muistin kirjoittajasta sekä lukijasta muunneltava yleismoduulipari. Näihin moduuleihin luodaan valmiudet tukemaan reaaliaikaista FPGA-testaamista. Työssä perehdytään tuntemattomien kellotaajuuksien välisen datansiirron hallintaan ja parametreilla muunneltavan testikomponentin ylläpitoon. Työssä on tavoitteena saada datansiirto toimimaan virheettömästi riippumatta kellojen taajuuksista. Työssä rakennetaan testipenkkisovellus käyttäen moduulien reaaliaikaominaisuuksia. Lopuksi katsastellaan tämän testipenkkisovelluksen kypsymistä RTL-verifioinnissa ja minkälainen osa tässä on prototyypin ylläpitäjällä. Prototyping has grown its part in the design of ASIC-chips in the last two decades as the RTL-designs have grown enormously. Prototyping enables the verification of said design in the physical world before it is put into silicon. This saves money, as making an ASIC-chip is very expensive. Prototyping can also be harnessed for the purposes of software development before the target chip is complete. Doing this improves the chip’s time-to-market, which is crucial in making a profit from said chip. Prototyping is typically done on emulators and FPGA-boards, latter being the main focus of this work.
This work showcases the challenges involved in real-time testing of an RTLdesign on a reconfigurable FPGA testbench. The focus of the work is to solve a usual issue with said environment: sufficient data transfer speed over clock domains. The topics include managing data transfers over multiple previously unknown clock domains and maintaining a reconfigurable test component. The goal of the work is to create a bridge between two unknown clock domains. An example of the use of the real-time configuration is shown. Finally, a peek is taken into the maturation of the RTL-verification solution and what is required for the one in charge of maintaining the prototype.
Tässä työssä esitellään muunneltavan FPGA-testiympäristön haasteita RTLsuunnitelman reaaliaikaisessa verifioinnissa. Työssä rakennetaan testipenkin muistin kirjoittajasta sekä lukijasta muunneltava yleismoduulipari. Näihin moduuleihin luodaan valmiudet tukemaan reaaliaikaista FPGA-testaamista. Työssä perehdytään tuntemattomien kellotaajuuksien välisen datansiirron hallintaan ja parametreilla muunneltavan testikomponentin ylläpitoon. Työssä on tavoitteena saada datansiirto toimimaan virheettömästi riippumatta kellojen taajuuksista. Työssä rakennetaan testipenkkisovellus käyttäen moduulien reaaliaikaominaisuuksia. Lopuksi katsastellaan tämän testipenkkisovelluksen kypsymistä RTL-verifioinnissa ja minkälainen osa tässä on prototyypin ylläpitäjällä.
This work showcases the challenges involved in real-time testing of an RTLdesign on a reconfigurable FPGA testbench. The focus of the work is to solve a usual issue with said environment: sufficient data transfer speed over clock domains. The topics include managing data transfers over multiple previously unknown clock domains and maintaining a reconfigurable test component. The goal of the work is to create a bridge between two unknown clock domains. An example of the use of the real-time configuration is shown. Finally, a peek is taken into the maturation of the RTL-verification solution and what is required for the one in charge of maintaining the prototype.
Kokoelmat
- Avoin saatavuus [29917]