Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien.

Ähnliche Präsentationen


Präsentation zum Thema: "Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien."—  Präsentation transkript:

1 Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien von Prof. Dr.-Ing. K. Waldschmidt) Eingebettete Systeme Lehrstuhl für Eingebettete Systeme Hardwarearchitekturen und Rechensysteme 7. Hardwareentwurf mit VHDL

2 HWR · K7 Nr.:2 Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Gliederung 7.1 Hardwareentwurf 7.2 VHDL

3 HWR · K7 Nr.:3 Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik 7.1 Hardwareentwurf Durch 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

4 HWR · K7 Nr.:4 Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Hierarchische Strukturierung Eine 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

5 HWR · K7 Nr.:5 Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Hierarchische Strukturierung 7.1 Hardwareentwurf

6 HWR · K7 Nr.:6 Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Idealisierter Entwurfsablauf 7.1 Hardwareentwurf

7 HWR · K7 Nr.:7 Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik 7.2 VHDL Die Sprache VHDL VHDL: VHSIC Hardware Description Language VHSIC: 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

8 HWR · K7 Nr.:8 Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik VHDL Eine 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

9 HWR · K7 Nr.:9 Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Package In 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.  Typdeklaration Zu 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

10 HWR · K7 Nr.:10 Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Entity Die 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 is generic (delay: time); port (A, B: in BIT; C: out BIT); end COMPARE; BIT CCOMPARE A B BIT Komponente signale Eingangs- signale Ausgangs- 7.2 VHDL

11 HWR · K7 Nr.:11 Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Architecture Die 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 VHDL

12 HWR · K7 Nr.:12 Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Architecture – Verhaltensbeschreibung Das 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 is begin 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

13 HWR · K7 Nr.:13 Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Architecture –Datenflussbeschreibung Die 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 is begin C <= not ( A xor B ) after delay; end DATAFLOW; Architecture A B C delay VHDL

14 HWR · K7 Nr.:14 Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Architecture – Strukturbeschreibung Die Strukturbeschreibung besteht aus einer Netzliste von vordefinierten Komponenten. Beispiel: architecture STRUCTURE of COMPARE is signal 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; begin U0: XOR2 port map ( A, B, I ); U1: INVERTER port map ( I, C ); end STRUCTURE; 7.2 VHDL

15 HWR · K7 Nr.:15 Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Beispiel – endlicher Automat entity 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 is type STATE_TYPE is ( S0, S1, S2 ); signal CURRENT_STATE, NEXT_STATE: STATE_TYPE; begin COMBIN: process ( CURRENT_STATE, X ) … SYNCH: process … end BEHAVIOR; -/0 S0 S1S2 0/1 1/0 0/0 1/1 7.2 VHDL

16 HWR · K7 Nr.:16 Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Beispiel - COMBIN COMBIN: process ( CURRENT_STATE, X ) begin case CURRENT_STATE is when S0 => Z <= ’0’; NEXT_STATE<= S1; when S1 => if X = ’0’ then Z <= ’1’; NEXT_STATE<= S0; else Z <= ’0’; NEXT_STATE<= S2; end if; when S2 => … end case; end process; -/0 S0 S1S2 0/1 1/0 0/0 1/1 7.2 VHDL

17 HWR · K7 Nr.:17 Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Beispiel – SYNCH SYNCH: process begin wait until CLK’event and CLK = ’1’; CURRENT_STATE <= NEXT_STATE; end process; 7.2 VHDL

18 HWR · K7 Nr.:18 Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Beispiel ALU 7.2 VHDL


Herunterladen ppt "Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien."

Ähnliche Präsentationen


Google-Anzeigen