folien zur vorlesung hardwarearchitekturen und rechensysteme von prof. dr. rer. nat. u. brinkschulte...
TRANSCRIPT
![Page 1: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/1.jpg)
Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme vonProf. Dr. rer. nat. U. BrinkschulteProf. Dr.-Ing. L. Hedrich(basierend auf Materialien von Prof. Dr.-Ing. K. Waldschmidt)
Lehrstuhl fürEingebettete SystemeEingebettete Systeme
Hardwarearchitekturen und Rechensysteme
7. Hardwareentwurf mit VHDL
![Page 2: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/2.jpg)
HWR · K7Nr.:2
Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik
Gliederung7.1 Hardwareentwurf7.2 VHDL
![Page 3: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/3.jpg)
HWR · K7Nr.:3
Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik
7.1 HardwareentwurfDurch die steigenden Integrationsdichten und die anwachsende Schaltungskomplexität ist der Entwurf integrierter Schaltungen heute nur schwer beherrschbar. Um die Komplexität heutiger Hardwareentwürfe in den Griff zu bekommen, werden die folgenden Prinzipien und Strategien verfolgt:Hierarchische Strukturierung:
Bei der hierarchischen Strukturierung wird ein komplexes Problem in lösbare Teilprobleme zerlegt.
Lokalität: Die Lokalität fordert, dass Module untereinander möglichst wenig Seiteneffekte aufweisen, d.h. Änderungen innerhalb eines Moduls sollten sich nicht auf andere Schaltungsteile auswirken.
Regularität: Durch die Verwendung regulärer Strukturen wird das Design überschaubarer und daher einfacher zu beschreiben und zu überprüfen. Auf Gatterebene bedeutet Regularität, daß möglichst wenig verschiedene Gatter- und Registertypen verwendet werden.
Testbarkeit: Der Test einer integrierten Schaltung dient der Qualitätssicherung. Fatale Folgen einer Fehlfunktion, insbesondere bei sicherheitskritischen Anwendungen, sollen verhindert werden.
7.1 Hardwareentwurf
![Page 4: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/4.jpg)
HWR · K7Nr.:4
Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik
Hierarchische StrukturierungEine hierarchische Strukturierung beim Schaltungsentwurf führt zu einer Zerlegung in Module (Teilschaltungen), die exakt festgelegte Teilfunktionen ausführen und über eine definierte Schnittstelle verfügen. Jedes Modul wird weiter zerlegt, bis es entworfen, validiert und in seinem zeitlichen und logischen Verhalten dokumentiert werden kann.Eine sinnvolle Strukturierung von Schaltungsentwürfen führt zu einer Zerlegung in Module, die in ihrer Funktion so allgemein gehalten sind, dass sie als universell einsetzbare, überprüfte Einheiten vielfach wieder verwendet werden können (design reuse).
7.1 Hardwareentwurf
![Page 5: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/5.jpg)
HWR · K7Nr.:5
Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik
Hierarchische Strukturierung
s
f c
c in
c out
s
b
a
VA
s
a
b
VA
c in
c out
VAa
b
s
f
f s
f c
c out
c in
&
11
1
1
&
&
7.1 Hardwareentwurf
![Page 6: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/6.jpg)
HWR · K7Nr.:6
Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik
Idealisierter Entwurfsablauf
ergebnisse
Simulations-ergebnisse
Vermeidung von
Simulations-
Informelle Spezifikation
Chip
Entwurfs-eingabe
Fertigung
Simulation
Simulation
Simulation
Simulation
?
auto
mat
isie
rbar
e E
ntw
urfs
schr
itte
Validierung
Entwurfsfehlern
ergebnisseArchitektur-
Beschreibung
Register-Transfer-Beschreibung
Gatter-Beschreibung
Layout Simulations-ergebnisse
Simulations-
Logik-
?
?
?syntheseArchitektur-
abbildung
synthese
Technologie-
7.1 Hardwareentwurf
![Page 7: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/7.jpg)
HWR · K7Nr.:7
Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik
7.2 VHDLDie Sprache VHDL
VHDL: VHSIC Hardware Description LanguageVHSIC: Very High Speed Integrated Circuit
wurde 1983 vom amerikanischen Department of Defense initiiert und ist seit 1987 als IEEE Standard 1076 genormt. VHDL ermöglicht die Beschreibung und Simulation digitaler Systeme und deren Umgebung. Die Sprache ist an höhere Programmiersprachen wie C und Pascal angelehnt und ermöglicht die Beschreibung von Verhalten und Struktur auf unterschiedlichen Abstraktionsebenen.
7.2 VHDL
![Page 8: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/8.jpg)
HWR · K7Nr.:8
Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik
VHDLEine VHDL-Beschreibung besteht aus:package:
Fasst Gruppen verwandter, globaler Deklarationen zusammen.
entity:Beschreibt die Schnittstelle einer Komponente zur Umwelt.
architecture:Beschreibt die Implementierung einer Entity.
configuration:Beschreibt die Zuordnung einer Architecture zu einer Entity.
Weiterhin unterstützt VHDL die Verwaltung von VHDL-Komponenten in Bibliotheken und somit die Wiederverwendung von Entwürfen (design reuse).
7.2 VHDL
![Page 9: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/9.jpg)
HWR · K7Nr.:9
Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik
PackageIn einer Package werden Gruppen verwandter Deklarationen zusammengefasst. Hierzu gehören: Unterprogramm
Zu den Unterprogrammen zählen Funktionen, die einen einzigen Wert zurückliefern, und Prozeduren, die mehrere Werte Zurückliefern.
TypdeklarationZu den wesentlichen Typdeklarationen zählen Enumerated Typ (z.B. Boolean, Bit,…), Array, Record und File.
Konstantendeklaration Dateideklaration Aliasdeklaration
Beispiel:package my_defs is
constant unit_delay := 1ns;end my_defs;
7.2 VHDL
![Page 10: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/10.jpg)
HWR · K7Nr.:10
Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik
EntityDie Entity beschreibt die Eingangs- und Ausgangssignale einer Komponente (Schnittstelle zur Umwelt).
Für jedes Signal wird eine Richtung (in, out, inout, . . . ) und ein Datentyp (BIT, INTEGER, . . . ) angegeben.Beispiel:
entity COMPARE isgeneric (delay: time);port (A, B: in BIT; C: out BIT);
end COMPARE;
BIT CCOMPAREA
B
BIT
BIT
Komponente signaleEingangs-
signaleAusgangs-
7.2 VHDL
![Page 11: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/11.jpg)
HWR · K7Nr.:11
Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik
ArchitectureDie Architecture beschreibt die Implementierung einer Komponente. Für eine durch eine Entity beschriebene Komponente können mehrere Implementierungen existieren. Die Auswahl einer Implementierung erfolgt in der Configuration. Wenn keine Configuration angegeben wird, wird jeweils die (zeitlich) zuletzt analysierte Architecture verwendet.
Die Architecture kann durch eine Verhaltens-, eine Datenfluß- oder eine Strukturbeschreibung beschrieben werden.
Entity
Architecture nArchitecture 1
7.2 VHDL
![Page 12: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/12.jpg)
HWR · K7Nr.:12
Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik
Architecture – VerhaltensbeschreibungDas Verhalten von Hardwareelementen wird durch Prozesse beschrieben, die immer und gleichzeitig aktiv sind. Die Anweisungen innerhalb eines Prozesses werden in einer Endlosschleife ständig sequentiell abgearbeitet und können mit einer ’wait’-Anweisung unterbrochen werden, bis die Bedingung der ’wait’-Anweisung erfüllt ist. Alternativ zu der ’wait’-Anweisung kann nach dem Schlüsselwort process eine Liste von Signalen angegeben werden, die zur Aktivierung eines Prozesses führen (sensitivity list). Dies entspricht einer ’wait on’-Anweisung am Ende des Prozesses.Beispiel:
architecture BEHAVIOR of COMPARE isbegin
process ( A, B )begin
if ( A = B ) then C <= ’1’ after delay;else C <= ’0’ after delay;end if;
end process;end BEHAVIOR;
7.2 VHDL
![Page 13: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/13.jpg)
HWR · K7Nr.:13
Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik
Architecture –DatenflussbeschreibungDie Datenflussbeschreibung besteht aus einer strukturellen Beschreibung von Datenpfaden in Kombination mit funktionalen Beschreibungen der Datenpfadkomponenten. Sie beschreiben den Datenfluss und die Modifikation der Daten durch Operationen (z.B. Addition, Vergleich, . . . ).Beispiel:
architecture DATAFLOW of COMPARE isbegin
C <= not ( A xor B ) after delay;end DATAFLOW;
Architecture
A
BC
delay
11
7.2 VHDL
![Page 14: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/14.jpg)
HWR · K7Nr.:14
Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik
Architecture – Strukturbeschreibung Die Strukturbeschreibung besteht aus einer Netzliste von vordefinierten Komponenten.Beispiel:
architecture STRUCTURE of COMPARE issignal I: BIT;component XOR2 port ( x, y: in BIT; z: out BIT );end component;component INVERTER port ( x: in BIT; z: out BIT );end component;
beginU0: XOR2 port map ( A, B, I );U1: INVERTER port map ( I, C );
end STRUCTURE;
component
XOR2 INVERTERz z CI
xy
xA
B
Architecturecomponent
7.2 VHDL
![Page 15: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/15.jpg)
HWR · K7Nr.:15
Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik
Beispiel – endlicher Automatentity MEALY is
port ( X, CLK: in BIT;Z: out BIT );
end MEALY;
Exemplarisch wird die Modellierung der sequentiellen Logik (COMBIN) und der Zeitglieder in den Rückkopplungspfaden (SYNCH) in getrennten Prozessen vorgestellt:
architecture BEHAVIOR of MEALY istype STATE_TYPE is ( S0, S1, S2 ); signal CURRENT_STATE, NEXT_STATE: STATE_TYPE;
beginCOMBIN: process ( CURRENT_STATE, X )…SYNCH: process…
end BEHAVIOR;
-/0
S0
S1 S2
0/1
1/0
0/0
1/1
7.2 VHDL
![Page 16: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/16.jpg)
HWR · K7Nr.:16
Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik
Beispiel - COMBIN COMBIN: process ( CURRENT_STATE, X )begin
case CURRENT_STATE iswhen S0 =>
Z <= ’0’;NEXT_STATE<= S1;
when S1 =>if X = ’0’ then
Z <= ’1’;NEXT_STATE<= S0;
elseZ <= ’0’;NEXT_STATE<= S2;
end if;when S2 =>
…end case;
end process;
-/0
S0
S1 S2
0/1
1/0
0/0
1/1
7.2 VHDL
![Page 17: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/17.jpg)
HWR · K7Nr.:17
Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik
Beispiel – SYNCH SYNCH: processbegin
wait until CLK’event and CLK = ’1’;CURRENT_STATE <= NEXT_STATE;
end process;
7.2 VHDL
![Page 18: Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien](https://reader036.vdocuments.net/reader036/viewer/2022070507/570491c51a28ab14218dac5e/html5/thumbnails/18.jpg)
HWR · K7Nr.:18
Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik
Beispiel ALU
7.2 VHDL