Sprungnavigation:

zum Inhalt

FPGA mit VHDL

Einleitung

FPGAs bieten heute viele Möglichkeiten Logik, Ablaufsteuerungen, Microprocessoren und Systeme zu entwerfen.

In VHDL programmiert und mit einem Simulationswerkzeug verifiziert können einfache bis sehr komplexe FPGAs entwickelt werden.
Meine Erfahrung mit FPGAs gehen von einfachen Logikschaltungen bis hin zu Echtzeitverarbeitung von Signaldaten und Sensordaten.
Durch den Einsatz von IP-Cores (z.B. FFT) lassen sich auf dem FPGA Daten vor verarbeiten und auswerten, um sie anschliessend einem Microprozessor zuzuführen.
Dieser Microprozessor kann beispielsweise als externer Micorcontroller ans FPGA angebunden oder als IP-Core-Prozessor, wie dem NIOS II von ALTERA, in FPGAs integriert werden.

 

FPGA-Entwicklungs-Flow:

Unterschied zur Software-Entwicklung für Mikrocontroller:

FPGAs bestehen aus Chip-Sicht aus einer Vielzahl von Registern. Eine Grundeinheit besteht immer aus einem Register und einer Look-up-Table für kombinatorische Logik.

FPGA Grundelement LE oder CLB

Während ALTERA die Grundeinheit Logik Element (LE) nennt und dann mit 16 Stück davon zu einem Logic Array Block gruppiert, verfolgt XILINX den Ansatz, vier solcher Grundeinheiten zu einem Complex Logik Block (CLB) zusammen zu führen.

Da im Normalfall die Clockeingänge aller Register zusammen an einem dedizierten Clock-Eingang hängen (Global Clock Input, GCK), bedeutet dass, dass alle Register zum gleichen Zeitpunkt parallel seine Ausgänge entsprechend des Zustandes des Dateneingangs aktualisieren.

Man spricht dabei auch von paralleler Verarbeitung der Daten.

Mikrocontroller hingegen, arbeiten pro Systemtakt nur immer einen Befehl ab. Also sequenzielle Verarbeitung von Daten.

Während sich ein echter Software-C-Programmierer bei der "FPGA-Programmierung" schwer tut, weil er anders denkt, hat der Entwickler von digitalen Schaltungen einen einfacheren Einstieg in VHDL für FPGAs.

 
Qualitätsmanagement-Stempel von YASKO
Qualitätsmanagement nach
DIN EN ISO 9001:2015
Logo des FED
Mitglied im Fachverband für
Elektronik-Design e.V. (FED)