Kategorien
FPGA specific Parallel programming

Xilinx Runtime Library (xrt) für Ubuntu 20.04

Im Rahmen meiner Experimente mit OpenCL, wollte ich ein „Hello World“ Design für Alveo U200 machen. Selbst wenn es nicht beabsichtigt wird in einem Rechner die U200 Karte einzubauen, ist es für die Entwicklung notwendig das .deb Paket mit der „Deployment Target Platform“ zu installieren. Diese beinhaltet z.B. die .xsa Datei sowie das Kommunikationslayer für die U200 Karte selbst. Die Voraussetzung für die Installation dieses Pakets ist allerdings die Installation von Xilinx Runtime Library (XRT), welche man mit einem separaten .deb Paket von Xilinx Webseite herunterlädt.

An der Stelle habe ich das erste Problem getroffen: Stand heute (12.02.2021) sind die .deb Pakete mit XRT nur für Ubuntu 16.04 und 18.04 erhältlich. Für mich sah es schlecht aus, weil ich seit zwei Monaten auf dem neuen Laptop das Linux Mint 20 Cinnamon benutze, was Ubuntu 20.04 (die modernste LTS Version) ungefähr gleich ist.

Kategorien
FPGA specific

Lokalisierung in Vivado

Letzte Woche bin ich von Vivado 2017.3 auf Vivado 2020.1 umgestiegen. Als ich versucht habe meine Projekte mit der neuen Version zu kompilieren, hat, wie immer, nichts „out of the box“ funktioniert. Manche meiner IP-Blöcke haben beim Synthesis folgende kritische Warnungen verursacht:

Kategorien
FPGA specific

Umgang mit IODELAY2 Primitiven

Hat vielleicht jemand schon mal das Problem gehabt, dass ein ankommendes Signal nicht zum richtigen Zeitpunkt ankommt? Z.B. ereignet sich der Übergang eines einkommenden Datensignals quasi gleichzeitig mit dem positiven Übergang eines Systemtaktsignals, zu dem alles in einem entwickelten System gekoppelt ist. Um das einkommende Datensignal zeitlich zu verschieben, kann die Primitive IODELAY2 benutzt werden. Hier wird kurz und übersichtlich beschrieben wie man ein IODELAY2 für die einkommenden Signale verwendet und wie eventuell auftretende Schwierigkeiten berücksichtigt werden können. Dies wird an einem praktischen Beispiel erläutert.