Erläuterungen

In diesem einfachen Beispiel sieht man prinzipiell, wie ein FPGA erstellt wird und wie man die Entwicklungsumgebung bedient.

Dateitypen

Dateityp Beschreibung
.tcl 

 Tool command language Skript:

In dieser Sprache kann Vivado kommandiert werden. Wenn man in der GUI Aktionen vornimmt, werden diese normalerweise auf der Tcl Konsole angezeigt.

.xpr 

 Xilinx Projektdatei:

Sie ist eine Datenbank, die sämtliche Quelldateien und Einstellungen für das Projekt speichert.

.vhd

VHDL-Quellcode, nicht nur für die Beschreibung der FPGAs, sondern auch für die Testbenches und Bibliotheken (packages).

Dieser Code ist unabhängig vom FPGA-Hersteller und den Entwicklungsumgebungen (solange man keine Hersteller-spezifischen Module darin einbindet.

.xdc

"Xilinx Device Constraints":

Diese Dateitypen sind Xilinx-spezifisch.

Mit diesen Dateien wird definiert, welche Randbedingungen für das FPGA gelten, also z.B. welche Taktfrequenz der externe Oszillator hat, welche Signale an welchen Pins liegen und einiges mehr.

Der Typ std_logic

Button und Led sind vom Typ std_logic. Dieser Typ ist in der Bibliothek IEEE definiert.

Während man in der digitalen Welt normalerweise davon ausgeht, dass ein Signal entweder '0' oder '1' ist – und damit einen logischen Wert annimmt – stimmt das aus schaltungstechnischer Sicht nicht. Z.B. kann ein Pin bidirektional sein. So ein Pin wird nur dann eingeschaltet wenn Daten gesendet und nicht empfangen werden sollen. Aus Sicht des abgeschalteten Senders wird er dann zu 'Z' also Tristate.

Die Zustände die ein std_logic Signal annehmen kann

  • '0' Logik-Pegel für 0

  • '1' Logik-Pegel für 1

  • 'Z' Tristate (Signal wird nicht getrieben)

  • 'U' Uninitialisiert

  • 'X' Unbekannt

  • 'H' Schwacher Treiber zur 1 (Pull-Up)

  • 'L' Schwacher Treiber zur 0 (Pull-Down)

  • 'W' Schwacher Treiber für X

  • '-' Irrelevant (don't care)

Schwache Signale und Tristate Signale können von normalen Signalen überschrieben werden. Treibt man dagegen eine '1' gegen eine '0' ist das Ergebnis 'X'.

Weiter zu: Übungen