Anzeige
Anzeige
Anzeige
Anzeige
© farang dreamstime.com Application Notes | 14 M├Ąrz 2019

Stand des Isolation Design Flows und der partiellen Rekonfiguration für Zynq 7000 / Zynq UltraScale+

FPGAs (Field Programmable Gate Arrays) sind integrierte Schaltkreise der Digitaltechnik und kommen in vielen Gebieten der digitalen Elektronik zum Einsatz. Aufgrund ihrer immer weiter ansteigenden Leistungsf├Ąhigkeit und Geschwindigkeit werden sie immer h├Ąufiger auch zur Beschleunigung von Berechnungen in Gro├črechenzentren verwendet.
Von der einfachen Verkn├╝pfung elektrischer Signale bis hin zur Realisierung komplexer logischer Funktionen, wie z. B. hochsicherer Datenverschl├╝sselung, ist ein FPGA in der Lage, Aufgaben mit sehr hoher Geschwindigkeit und Parallelit├Ąt abzuarbeiten. Durch die Vereinigung diverser digitaler Funktionen auf nur einem FPGA-Chip, wird die Leistungsf├Ąhigkeit einer Schaltung drastisch erh├Âht und der Platzbedarf minimiert. Auch in sicherheitsrelevanten Anwendungen ist der Einsatz von FPGAs mehr und mehr im Kommen. Im Folgenden wird ein Konzept vorgestellt, mit dem die IT-Sicherheit von FPGAs weiter erh├Âht werden kann. Mit dem Isolation Design Flow (IDF) kann die VHDL-Logik in separate isolierte Zonen aufgeteilt werden. Es wird gezeigt, wie diese in Vivado 2018.2 f├╝r Zynq 7000 und Zynq UltraScale+ m├Âglich ist. Anschlie├čend wird gepr├╝ft, ob der IDF mit der partiellen Rekonfiguration kombinierbar ist und damit Algorithmen im laufenden Betrieb in die gew├╝nschten isolierten Zonen nachgeladen werden k├Ânnen. 1. Isolation Design Flow Der Isolation Design Flow f├╝gt einem bestehenden Design nachtr├Ąglich isolierte Zonen hinzu, die entweder gar nicht oder nur ├╝ber ein spezielles "Trusted Routing" miteinander kommunizieren. Abbildung 1: Regionen in einem FPGA werden durch physikalische Grenzen voneinander getrennt. Nur Verbindungen, die die Vorgaben des Trusted Routings einhalten, d├╝rfen durch die festgelegten Grenzen verlaufen. F├╝r den IDF muss bei einem Blockdesign zun├Ąchst mit Wrappern eine Hierarchie erzeugt werden. Bei den Wrappern wird anschlie├čend die Eigenschaft HD.ISOLATED aktiviert und f├╝r die Platzierung der Logik spezielle PBl├Âcke vorgegeben, die einen Mindestabstand von einem Tile aufweisen m├╝ssen. Nach einer zus├Ątzlichen Sperrung aller Logikelemente und Switchboxen zwischen den PBl├Âcken in der sogenannten Fence, bildet Vivado das Trusted Routing als direkte Verbindungen ohne Abzweige zwischen den PBl├Âcken aus (vgl. Abbildung 1). 1.1 Aktueller Stand beim VIV Ob die Isolation erfolgreich durchgef├╝hrt werden konnte, kann mit dem VIV (Vivado Isolation Verifier) ├╝berpr├╝ft werden. Dieser musste in Vivado 2017.2 noch als separates Script nachgeladen werden und existierte hier nur f├╝r den Zynq 7000. In Vivado 2018.2 ist der VIV fester Bestandteil im Design Rule Check (DRC) und muss nur ├╝ber den Befehl set_param hd.enableIDFDRC true aktiviert werden. Nach der Implementation stehen dann zus├Ątzliche Pr├╝fungen im DRC im Bereich der Isolation zur Verf├╝gung (vgl. Abbildung 2). Abbildung 2: Aktivierung des VIV im DRC. 2. Partielle Rekonfiguration und Isolation Design Flow Die partielle Rekonfiguration bezeichnet den Vorgang bei dem die Inhalte eines PBlocks in einem FPGA-Design im laufenden Betrieb nachgeladen werden. Auf ein bestehendes Blockdesign kann ein spezieller TCL Flow angewandt werden, um die ben├Âtigten partiellen und statischen Bitstr├Âme zu einem Design zu erzeugen. Xilinx verk├╝ndet offiziell auf seiner Webseite, dass es m├Âglich ist, den Isolation Design Flow und die partielle Rekonfiguration im selben Design zu vereinen. Der praktische Test zeigt, dass beim selben Design beim selben Wrapper die Eigenschaft HD.ISOLATED und die Eigenschaft HD.RECONFIGRUABLE gleichzeitig aktiviert werden k├Ânnen (vgl. Abbildung 3). Abbildung 3: Aktivierung von IDF und PR beim selben Wrapper. Der DRC f├╝hrt bei der gleichzeitigen Aktivierung jedoch zu einer Fehlermeldung und die Implementation kann nicht fehlerfrei durchgef├╝hrt werden (vgl. Abbildung 4). Abbildung 4: Fehler bei IDF und PR beim selben Wrapper. Auf Nachfrage teilte Xilinx mit, dass IDF und PR zwar im gleichen Design, jedoch nicht beim gleichen Wrapper aktiviert werden k├Ânnen [1]. In der Praxis ist das jedoch nur wenig sinnvoll, da so nicht sichergestellt werden kann, dass das Routing des partiell rekonfigurierbaren Blocks auch tats├Ąchlich die Vorgaben an die Fence und das Trusted Routing einhalten. Werden IDF und PR aktuell in Vivado 2018.2 im selben Design auf unterschiedliche Wrapper aktiviert, zeigt sich in der Praxis, dass der IDF einfach ├╝berstimmt wird und sich keine Isolation auspr├Ągt (vgl. Abbildung 5). Abbildung 5: Bei Zynq 7000 und auch Zynq UltraScale+ deaktiviert die partielle Rekonfiguration den IDF. 2.1 IDF und PR vereinen Die Firma HTV f├╝hrte in 2017 und 2018 umfang-reiche Untersuchung durch, wie IDF und PR dennoch f├╝r Zynq 7000 und Zynq UltraScale+ vereint werden k├Ânnen. IDF und PR sind dann im gleichen Design kombinierbar, wenn ein isoliertes statisches Design erzeugt wird, in das anschlie├čend ein partieller Bitstrom aus einem separaten partiell rekonfigurierbaren Projekt geladen wird. Dies ist ├╝ber spezielle Zusatzsoftware m├Âglich. 3. Fazit Aktuell k├Ânnen in Vivado 2018.2 IDF und PR sowohl bei Zynq 7000 als auch Zynq UltraScale+ nur separat auf eine Design angewandt werden. Eine Verkn├╝pfung beider Design Flows ist aktuell nicht sinnvoll m├Âglich. F├╝r den Zynq UltraScale+ soll es ab Vivado 2019.2 m├Âglich sein. F├╝r Zynq 7000 nie. ├ťber eine Zusatzsoftware ist HTV aber in der Lage, sowohl f├╝r Zynq 7000 als auch Zynq UltraScale+ isolierte statische Designs zu erzeugen in die sp├Ąter partielle Bl├Âcke nachgeladen werden k├Ânnen.
Autor: ┬ę Halbleiter-Test & Vertriebs-GmbH
Weitere Nachrichten
2019.03.19 17:29 V12.5.8-2