<div class="csl-bib-body">
<div class="csl-entry">Schieber-Knöbl, C. (2022). <i>Bitstream equivalence checking</i> [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/79050</div>
</div>
-
dc.identifier.uri
http://hdl.handle.net/20.500.12708/79050
-
dc.description
Zusammenfassung in deutscher Sprache
-
dc.description.abstract
Field-programmable gate arrays (FPGAs) provide high performance for various computing applications while still offering a lot of flexibility throughout their life cycle. Algorithms for FPGAs can be exchanged or optimized at a moments notice by programming the FPGA with a new bitstream. This makes FPGAs a popular option for applications in areas ranging from cloud computing to embedded systems. To obtain the final bitstream, a hardware description language (HDL) design experiences a number of transformations to target a specific FPGA. After each of these transformation steps, engineers can ensure that the transformed design is still functionally equivalent to the HDL through equivalence checks and simulations. After placement and routing, design rule checks and timing simulations ensure the desired behavior. The final step in the process is to encode the design to a bitstream. This bitstream configures the appropriate hardware resources on the FPGA. However, bitstream formats and the accompanying encoding process obfuscate the functionality of the design — thereby masking accidental or maliciously inserted bit flips. Extensive testing in hardware testbeds can help to detect unexpected behavior, but it is expensive and cannot be exhaustive from a certain design size on. In this thesis, we show that it is possible to use design constraints as a ground truth to verify the parametric correctness of encoded bitstreams and develop a general verification flow based on this idea. In short, we perform an equivalence check between the representation before encoding (Xilinx Design Constraint (XDC) and the representation after encoding (FPGA Assembly (FASM)). We use FASM — a file format that describes the configuration of hardware resources on FPGAs — to represent the decoded bitstream and export design constraints before bitstream encoding. The exported design constraints provide transparent information about the last valid snapshot of the resource utilization. Based on mapping rules from design constraints to FASM we can verify that the bitstream represents the correct hardware resources. We implement our flow for the Xilinx 7-series and demonstrate that it reliably detects parametric modifications like re-routed net paths or disconnected Trojan trigger circuits that stay undetected with current verification approaches. This tightens the currently existing verification gap and increases the trust in bitstreams.
en
dc.description.abstract
Sogenannte FPGAs (Field Programmable Gate Arrays) sind aus Cloud-Computing Anwendungen oder eingebetteten Systemen nicht mehr wegzudenken. Gründe dafür sind unter anderem die hohe Leistungsfähigkeit und Flexibilität für unterschiedliche Rechenanwendungen. Algorithmen können jederzeit verändert und optimiert werden, indem der FPGA mit einem neuen Bitstream programmiert wird. Um einen Bitstream zu erhalten durchläuft eine Schaltung in Hardwarebeschreibungssprache (HDL — Hardware Description Language) mehrere Syntheseschritte um sie an den gewünschten FPGA anzupassen. Nach jedem dieser Schritte kann überprüft werden, ob die funktionelle Äquivalenz zum Ausgangsdesign noch gegeben ist. Entwurfsregelprüfungen (DRC — Design Rule Checks) und Simulationen stellen sicher, dass sich der FPGA wie gewünscht verhält, nachdem alle Hardwareressourcen platziert und verbunden wurden. In einem letzten Schritt wird das Design zu einem Bitstream kodiert. Der Bitstream konfiguriert die einzelnen elektronischen Schaltungen auf dem FPGA. Bitstream Formate oder auch der Kodierungsprozess können jedoch die eigentliche Funktionsweise der Schaltung verschleiern und dabei sogenannte Bitflips — zufällig oder beabsichtigt auftretende — verbergen. Umfangreiche Hardware-Tests können ein unerwartetes Verhalten des FPGA entdecken. Solche Test sind jedoch teuer und ab einer gewissen Designgröße sind allumfassende Tests nicht mehr praktikabel. Die vorliegende Masterarbeit zeigt, dass es möglich ist, die parametrischen Designvorgaben (welche Ressourcen wo am FPGA genutzt werden) als Grundwahrheit zur Überprüfung des kodierten Bitstreams zu nutzen. Weiters wird darauf aufbauend eine allgemeine Vorgehensweise zur Überprüfung von Bitstreams entwickelt. Zur Darstellung des dekodierten Bitstreams nutzen wir FASM, ein Dateiformat, das die Konfiguration der Hardwareres- sourcen auf FPGAs beschreibt. Die parametrischen Designvorgaben exportieren wir vor der Kodierung des Bitstreams. Die parametrischen Designvorgaben liefern Informationen über die letzte gültige Verwendung der Ressourcen auf dem FPGA. Mit Hilfe von Regeln definieren wir den Zusammenhang zwischen parametrischen Designvorgaben und FASM. Dadurch können wir Schlüsse über die korrekte oder inkorrekte Konfiguration der Hardwareressourcen im Bitstream ziehen. Wir implementieren den von uns entwickelten Prozess für die Xilinx 7-Series und zeigen, dass er Veränderungen von Parametern, wie z.B. umgeleitete Signalpfade oder von der Schaltung getrennte trojanische Trigger-Schaltungen zuverlässig erkennt. Bestehende Verifikationsprozesse können diese Veränderungen nicht erkennen. Die vorgestellte Vorgehensweise schließt diese bei aktuellen Methoden bestehende Lücke bei der Verifikation und stärkt somit das Vertrauen in Bitstreams.
de
dc.language
English
-
dc.language.iso
en
-
dc.subject
FPGA bitstream
de
dc.subject
equivalence checking
de
dc.subject
FPGA bitstream
en
dc.subject
equivalence checking
en
dc.title
Bitstream equivalence checking
en
dc.type
Thesis
en
dc.type
Hochschulschrift
de
dc.contributor.affiliation
TU Wien, Österreich
-
dc.publisher.place
Wien
-
tuw.thesisinformation
Technische Universität Wien
-
dc.contributor.assistant
Krieg, Christian
-
tuw.publication.orgunit
E384 - Institut für Computertechnik
-
dc.type.qualificationlevel
Diploma
-
dc.identifier.libraryid
AC16572244
-
dc.description.numberOfPages
113
-
dc.thesistype
Diplomarbeit
de
dc.thesistype
Diploma Thesis
en
tuw.advisor.staffStatus
staff
-
tuw.assistant.staffStatus
staff
-
tuw.advisor.orcid
0000-0003-2251-0004
-
tuw.assistant.orcid
0000-0002-4686-757X
-
item.languageiso639-1
en
-
item.grantfulltext
none
-
item.cerifentitytype
Publications
-
item.openairetype
master thesis
-
item.openairecristype
http://purl.org/coar/resource_type/c_bdcc
-
item.fulltext
no Fulltext
-
crisitem.author.dept
E384 - Institut für Computertechnik
-
crisitem.author.parentorg
E350 - Fakultät für Elektrotechnik und Informationstechnik