Automatic Extraction of Complex Bus Structures from RTL
Master thesis
Permanent lenke
https://hdl.handle.net/11250/2823945Utgivelsesdato
2021Metadata
Vis full innførselSamlinger
Sammendrag
Moderne system on chip blir mer og mer kompliserte, og av den grunn, vanskeligere å designe, teste, og verifisere for. En konsekvens av dette er at busstrukturene som kobler de forskjellige komponentene i chipen sammen har også blitt mer komplisert. Formålet med avhandlingen er å ekstrahere informasjon rundt komplekse buss strukturer og presentere det på en nyttig og lett tilgjengelig måte. Informasjonen hentes direkte fra RTL design, noe som representerer den faktiske implementasjonen framfor en abstrakt representasjon hentet fra dokumentasjonen. Dessuten skal løsningen være enkel og automatisk slik at det er mindre arbeid å iverksette løsningen i både nye og eksisterende design. Alt dette lar brukeren utforske og validere bussystem og moduler koblet til bussystemene, noe som forbedrer arbeidsflyten.
Avhandlingens løsning er å utnytte simuleringsmotoren for å hente ut bussrelatert informasjon under simulasjon. Løsningen oppnår dette ved å introdusere små kodebiter for å gjennomføre uthenting av informasjon i designet. Under simulasjon vil koden samle sammen informasjonen og eksportere den. Et separat verktøy importerer denne informasjonen og prosesserer den til mer brukervennlig data. Brukeren kan da utforske bussystemet og generere diagram som beskriver koblinger og forhold mellom moduler i systemet.
En casestudie ble gjennomført, hvor løsningen ble implementert i et kompleks bussystem fra Nordic Semiconductor. Resultatene er lovende, hvor løsningen kan hente ut informasjon raskt og enkelt. Den ekstraherte informasjonen stemmer godt overens med den tilgjengelige dokumentasjonen for systemet. Denne løsningen krever tilgang til modulene som er koblet til bussen, samt bussystemet selv, og passer dermed best for systemer med tilgjengelig kildekode. Løsningen har også potensialet for utvidelse, både for funksjonalitet og hvilken type informasjon som er ekstrahert. Modern system on chip is becoming more complex, and as a result, harder to design, test, and verify. Consequently, the bus structure, connecting the various components in systems on chips, is more complex. This thesis aims to aid the development and verification of bus structures by extract information on the complex bus structures and present it in a beneficial and readily available way. The information is to be extracted directly from the RTL design, representing the actual implementation instead of an abstract representation from the documentation. Furthermore, the solution should be as simple and automated as possible to lessen the burden of implementing the solution in both new and existing designs. All this allows the users to explore and validate the bus system and the modules connected to the bus system, improving the workflow.
The thesis' solution is to exploit the simulation engine to extract bus-related information during simulation. The solution introduces small snippets of extraction code to enhance the already existing design. During simulation, the extraction code collects the information and exports it. A separate processing tool imports the extracted information and processes it into more user-friendly data. The user can then explore the bus structure and generate diagrams depicting connections and relationships between modules in the system.
A case study was performed on the solution, implementing it on a complex bus system provided by Nordic Semiconductor. The results are promising, as the solution can extract information quickly and easily. The extracted information matches the available documentation for the system as well. The solution requires access to the modules connected to the bus system and the bus system itself and is best suited for systems with the source code available for the user. The solution has the potential for expansion with additional functionality and types of information it can extract.