Sprungnavigation:

zum Inhalt

FPGA mit VHDL

Beispiel: Prozessor mit RAM im angeschlossenem FPGA

Ich habe mir hier mal ein schönes Beispiel aus der Praxis ausgewählt.
Es gibt einen 8-Bit-Prozessor in Hardware und dazu einen Clockgenerator und einen Resetgenerator, also ein richtiges Mikroprozessorsystem in Hardware.

Nun soll das System um ein externes RAM erweitert werden und zwar so, dass später einmal noch andere Funktionen als das RAM eingebaut werden können.

Die Realisierung soll dann so sein, dass ein FPGA am Prozessor angeschlossen werden soll. In diesem wird dann erst einmal das sofort benötigte RAM eingebaut.

Da das RAM im FPGA was mit VHDL zu tun hat, müssen uns auch mit VHDL beschätigen.

Das Mikroprozessorssystem mit FPGA

In nachfolgendem Blockbild kann man die einzelnen Komponenten gut erkennen:

Blockbild mit Prozessor, Clockgenerator, Resetgenerator und das FPGA für das RAM
auf das Bild klicken zum Zoomen.

Der Prozessor hat natürlich auch ein Datenblatt und in diesem steht genau drin, die der Schreibzugriff und Lesezugriff auf externe RAM-Bausteine zu funktionieren hat.
Ich da mal ein kleines Timingdiagram entworfen, wie der Prozessoren den so auf das RAM zugreifen kann:

Datenblatt für den Schreibzugriff auf das externe RAM
Datenblatt für den Lesezugriff auf das externe RAM
auf das Bild klicken zum Zoomen.

Die Timingwerte stehen als Wert in der Quelldatei zum Prozessor und können dort nachgeschlagen werden.

Aufbau des VHDL-Projektes

Da wir die Funktion durch eine Simulation auch qualifizieren wollen, müssen wir Testbenches und Module für die Simulation schreiben.

Der Funktion wegen halte ich mich mal nicht an meine sonst übliche Dateibenennung für VHDL-Projekte.
Das "Board" bekommt den Dateinamen board.vhd und ist die Testbench des ganzen Systems.
Der "Clockgenerator" und der "Resetgenerator" sind VHDL-Module nur für die Simulation und heissen clockgenerator.vhd und resetgenerator.vhd.
Das "FPGA" mit seinem RAM-Speicher ist eine synthesefähige VHDL-Datei und gleichzeit das Top-Design des ganzen Systems.
Im wahren Leben würde ich das Board top_tb.vhd und den RAM-Speicher top.vhd benennen.

im 2. Teil Instanziierung weiterlesen.

Alle Informationen und Dateien zu diesem Beispiel

 
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)