Heterogeneous platforms, systems with both general-purpose processors and task-specific hardware, are largely used in industry to increase efficiency, but the heterogeneity also increases the difficulty of design and verification. We often need to wait for the completion of all the modules to know whether the functionality of the design is correct or not, which can cause costly and tedious design iteration cycles. Correctness by construction is a methodology that proposes tackling this problem by separating specification and implementation and bridging them through formal methods. Code synthesis is one of these methods which refers to the process of generating low-level codes implementing the desired system from high-level modelling languages. Formulating a generic synthesis method can, in principle, decrease error rates and shorten development cycles since target-specific usage and mechanisms can be systematically taken care of in an automatic manner, whereas the designer needs only to ensure the functional correctness of the high-level specification model. In this respect, this thesis aims to use the open-source Zero Overhead Topology Infrastructure (ZOTI) methodology to formulate a synthesis process from a denotational graph-based representation of an application, tailored towards heterogeneous hardware/software implementations. The case study presents the partially automated synthesis of an open-source streaming processing subsystem on a Xilinx Zynq-based system-on-chip architecture consisting of a software part and a custom hardware accelerator part, where both C software and VHDL hardware are generated from the input model. While the initial results demonstrate a promising path for systemizing the code generation process, certain aspects of the synthesis, such as generating glue code for complex data types (e.g., multi-arrays), are left out of the scope of this thesis and will be explored in future work. / Heterogena plattformar, system med både generella processorer och uppgiftsspecifik hårdvara, används till stor del inom industrin för att öka effektiviteten, men heterogeniteten ökar också svårigheten att designa och verifiera. Vi behöver ofta vänta på att alla moduler är färdiga för att veta om designens funktionalitet är korrekt eller inte, vilket kan orsaka kostsamma och tråkiga designiterationscykler. Korrekthet genom konstruktion är en metod som föreslår att man åtgärdar detta problem genom att separera specifikation och implementering och överbrygga dem genom formella metoder. Kodsyntes är en av dessa metoder som hänvisar till processen att generera lågnivåkoder som implementerar det önskade systemet från högnivåmodelleringsspråk. Att formulera en generisk syntesmetod kan i princip minska felfrekvensen och förkorta utvecklingscyklerna eftersom målspecifik användning och mekanismer systematiskt kan tas om hand på ett automatiskt sätt, medan designern bara behöver säkerställa den funktionella korrektheten hos högnivån. specifikationsmodell. I detta avseende syftar denna avhandling till att använda öppen källkod Zero Overhead Topology Infrastructure (ZOTI) metodiken för att formulera en syntesprocess från en denotationsgrafbaserad representation av en applikation, skräddarsydd för heterogena hårdvaru-/mjukvaruimplementationer. Fallstudien presenterar den delvis automatiserade syntesen av ett undersystem för bearbetning av strömning med öppen källkod på en Xilinx Zynq-baserad system-på-chip-arkitektur bestående av en mjukvarudel och en anpassad hårdvaruacceleratordel, där både C-programvara och VHDL-hårdvara genereras från ingångsmodellen. Även om de initiala resultaten visar en lovande väg för att systemisera kodgenereringsprocessen, lämnas vissa aspekter av syntesen, såsom generering av limkod för komplexa datatyper (t.ex. multi-arrayer), utanför ramen för denna avhandling och kommer att vara utforskas i framtida arbete.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-340952 |
Date | January 2023 |
Creators | Fu, Zhouxiang |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2023:797 |
Page generated in 0.2663 seconds