VLSI Design – VHDL Einführung

Anzeigen

VHDL steht für very high-speed integrated circuit hardware description language. Es ist eine Programmiersprache, die verwendet wird, um ein digitales System durch Datenfluss-, Verhaltens- und Strukturmodellierungsstil zu modellieren. Diese Sprache wurde erstmals 1981 für das Verteidigungsministerium (DoD) im Rahmen des VHSIC-Programms eingeführt.

Beschreiben eines Designs

In VHDL wird eine Entität verwendet, um ein Hardwaremodul zu beschreiben. Eine Entität kann beschrieben werden mit,

  • Entitätsdeklaration
  • Architektur
  • Konfiguration
  • Paketdeklaration
  • Paketkörper

Mal sehen, was das ist?

Entity Declaration

Es definiert die Namen, Eingangsausgangssignale und Modi eines Hardwaremoduls.

Syntax −

entity entity_name is Port declaration;end entity_name;

Eine Entitätsdeklaration sollte mit den Schlüsselwörtern ‚entity‘ beginnen und mit ‚end‘ enden. Die Richtung ist input, output oder inout.

In Port kann gelesen werden
Out Port kann geschrieben werden
Inout Port kann gelesen und geschrieben werden
Puffer Port kann gelesen und geschrieben werden, es kann nur eine Quelle haben.

Architektur –

Architektur kann mit strukturellem, Datenfluss-, Verhaltens- oder gemischtem Stil beschrieben werden.

Syntax −

architecture architecture_name of entity_name architecture_declarative_part;begin Statements;end architecture_name;

Hier sollten wir den Entitätsnamen angeben, für den wir den Architekturkörper schreiben. Die Architekturanweisungen sollten sich innerhalb der Schlüsselwörter ‚begin‘ und ‚énd‘ befinden. Der deklarative Teil kann Variablen, Konstanten oder Komponentendeklarationen enthalten.

Datenflussmodellierung

Bei diesem Modellierungsstil wird der Datenfluss durch die Entität unter Verwendung eines gleichzeitigen (parallelen) Signals ausgedrückt. Die gleichzeitigen Anweisungen in VHDL sind WHEN und GENERATE .

Neben ihnen, Zuweisungen nur mit Operatoren (UND, NICHT, +, *, sll, etc.) kann auch zum Erstellen von Code verwendet werden.

Schließlich kann auch eine spezielle Art der Zuweisung, BLOCK genannt, in dieser Art von Code verwendet werden.

Im gleichzeitigen Code kann Folgendes verwendet werden −

  • Operatoren
  • Die WHEN-Anweisung (WHEN/ELSE oder WITH/SELECT/WHEN);
  • Die GENERATE-Anweisung;
  • Die BLOCK-Anweisung

Verhaltensmodellierung

In diesem Modellierungsstil wird das Verhalten einer Entität als Satz von Anweisungen nacheinander in der angegebenen Reihenfolge ausgeführt. Nur Anweisungen innerhalb eines PROZESSES, einer FUNKTION oder einer PROZEDUR sind sequentiell.

PROZESSE, FUNKTIONEN und PROZEDUREN sind die einzigen Codeabschnitte, die nacheinander ausgeführt werden.

Insgesamt ist jedoch jeder dieser Blöcke immer noch gleichzeitig mit anderen Anweisungen, die außerhalb davon platziert werden.

Ein wichtiger Aspekt des Verhaltenscodes ist, dass er nicht auf sequentielle Logik beschränkt ist. In der Tat können wir damit sowohl sequentielle als auch kombinatorische Schaltungen erstellen.

Die Verhaltensanweisungen sind IF, WAIT, CASE und LOOP. VARIABLEN sind ebenfalls eingeschränkt und dürfen nur in sequentiellem Code verwendet werden. VARIABLE kann niemals global sein, daher kann ihr Wert nicht direkt übergeben werden.

Strukturmodellierung

In dieser Modellierung wird eine Entität als eine Menge miteinander verbundener Komponenten beschrieben. Eine Komponenteninstanziierungsanweisung ist eine gleichzeitige Anweisung. Daher ist die Reihenfolge dieser Aussagen nicht wichtig. Der strukturelle Modellierungsstil beschreibt nur eine Verbindung von Komponenten (als Black Boxes betrachtet), ohne ein Verhalten der Komponenten selbst oder der Entität zu implizieren, die sie gemeinsam darstellen.

In der Strukturmodellierung besteht der Körper aus zwei Teilen − dem deklarativen Teil (vor dem Schlüsselwort begin) und dem Anweisungsteil (nach dem Schlüsselwort begin).

Logik – UND GATTER

X Y Z
0 0 0
0 1 0
1 0 0
1 1 1

Wellenformen

Logik- ODER-Gatter

X Y Z
0 0 0
0 1 1
1 0 1
1 1 1

Wellenformen

Logikbetrieb – KEIN Gate

X UND
0 1
1 0

Wellenformen

Logikbetrieb – NAND-Gatter

X Y z
0 0 1
0 1 1
1 0 1
1 1 0

Wellenformen

Logikbetrieb – NOR-Gatter

X Y z
0 0 1
0 1 0
1 0 0
1 1 0

Wellenformen

Logische Operation – XOR-Gatter

X Y Z
0 0 1
0 1 1
1 0 1
1 1 0

Wellenformen

Logische Operation – X-NOR-Gatter

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Previous post Alles über brennende Blätter
Next post Joseph Abboud