Digitale Bausteine programmieren
Open Source Werkzeuge für das Design schneller Digitalschaltungen in FPGAs

Digitale Bausteine programmieren

Förderjahr 2018 / Project Call #13 / ProjectID: 3084

Wer sind wir? Unser Team hat 2016 mit Unterstützung von Netidee die weltweit ersten opensource Werkzeuge geschrieben und veröffentlicht, mit denen man frei programmierbare Digitalschaltkreise (FPGAs) konfigurieren kann. Wir sind weltweit noch immer die einzigen, die das geschafft haben.

Für wen ist es? Ingenieure, die open source Design Werkzeuge brauchen, um sichere Internet Devices wie Kameras, Netzwerk Switches bauen zu können. Proprietäre FPGA Programmier Werkzeuge für Profis sind unflexibel. Unsere Open Source tools werden schon jetzt von tausenden von Makern und Studenten eingesetzt.

Was ist es? Wir im Vorgängerprojekt entwickeln wir Programmierwerkzeuge für programmierbare Digitalbausteine. Diese sind ein universelles Bauteil, die jede beliebige Funktion in einem elektronischen Gerät übernehmen können. Ein großer Teil der Internet Backbone Infrastruktur besteht aus FPGAs. Es ist wichtig, offene Werkzeuge zur Programmierung dieser Infrastruktur zu haben.

Wie funktioniert es? Konnte man mit unseren Werkzeugen bisher langsame Protokolle und Sensoren mit einer Geschwindigkeit bis zu 100MHz implementieren (z.B. Temperatur), so wird die von uns beabsichtigte Erweiterung es ermöglichen, bis zu 5 GHz schnelle Protokolle und Sensoren zu verarbeiten (z.B. Hochauflösende Bildsensoren, Radarsensoren).

Themengebiet

IoT

Zielgruppe

Fab Labs / Maker
,
KMU
,
Schüler
,
Start-ups
,
Techniker

Technologie

FPGA

verwendete Open Source SW

GCC C Compiler
,
KiCAD

Projektergebnisse

Client-SW ISC license

Das Synthese Werkzeug verwandelt HDL Code in RTL code.

Entwicklerdoku ISC license

Dies ist die technische Beschreibung des FPGA, welche das Ergebnis des Reverse Engineering ist. Diese Dokumentation wird benötigt, wenn Entwickler die Programmierwerkzeuge verbessern wollen, damit diese weitere bisher noch nicht unterstützte Hardware Funktionen des Chips unterstützen

Client-SW ISC license

Die place&route Software wird benötigt zum Erzeugen einer Konfigurationdatei für einen FPGA. Die place&route Software nextpnr wurde im Rahmen dieses Projektes erweitert, damit diese auch die leistungefähigen und großen FPGA der ECP5 Familie unterstützt.

Client-SW ISC license

Zur Erzeugung einer Konfigurationdatei muss zuerst das Digitaldesign von der für Menschen verständlichen Sprache Verilog in eine Beschreibung der Schaltung umgeformt werden, die auf dem gewählten FPGA implementiert werden kann. Dieser Schritt ist die Synthese. Dies ist notwendig, da jeder FPGA andere Hardwareelemente als Baublöcke zur Verfügung stellt. Dies sind die Informationen, die das Synthesewerkzeug benötigt, um ein Digitaldesign in einen Design für den ECP5 FPGA zu verwandeln.

Schaltpläne Cern Open HW License (OHL)

Ein FPGA Board, welches für den Einsatz von Hochgeschwindigkeitsschaltungen wie Video, Funk, und Netzwerk-Technik verwendet werden kann. Das Board wurde mit dem Open Source EDA Design Tool KiCad entworfen. Die Hardware wird verwendet um in Hardware zu verifizieren, dass die entwickelten open souce FPGA Werkzeuge auch wirklich auf echter Hardware funktionieren. Auf diesem Board wurde von unserem Team erstmals Linux auf einem ECP5 FPGA gebootet.

Anwenderdoku ISC license

Das ist die Anwwenderdokumentation, wie das Synthese Werkzeug Yosys einzusetzen ist, damit man die Technologiefiles für den ECP5 FPGA nutzen kann.

Anwenderdoku ISC license

Dies ist die Anwenderdokumentation für das nextpnr Werkzeug zur Erzeugung einer Konfigurationsdatei für einen ECP5 FPGA.

Summary CC-BY

Zusammenfassung des Projektes

Endbericht CC-BY-SA

Endbericht

Blogbeiträge