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

Slides:



Advertisements
Ähnliche Präsentationen
Dokumentation von Software Architekturen unter Berücksichtigung von IEEE 1471 Vortrag an der FH Regensburg © Dr. Ulrich Margull, 2004 Dr. Ulrich.
Advertisements

Programmierung 1 - Repetitorium
Objektorientierte Programmierung
P. Marwedel Informatik 12, U. Dortmund
Das „Vorgehensmodell“
10. Grundlagen imperativer Programmiersprachen
Hauptseminar Modellüberprüfung Kathrin Ott
Fakultät für informatik informatik 12 technische universität dortmund 3. Mikroarchitekturen Peter Marwedel Informatik 12 TU Dortmund 2011/04/28 Diese Folien.
Einführung in Berechenbarkeit und Formale Sprachen
Seminar Software-Engineering für softwareintensive Systeme
On a Buzzword: Hierachical Structure David Parnas.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Java: Grundlagen der Sprache
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Einführung XML XML Einführung Andreas Leicht.
Hardwarearchitekturen und Rechensysteme Sommersemester 2011
Diskrete Mathematik I Vorlesung Arrays-
Die Skriptsprache Perl (2) Wolfgang Friebel DESY Zeuthen.
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
DVG Klassen und Objekte
Weiteres Programm Studium des Breitendurchlaufs Hierzu
Einführung in die Programmierung Anweisungen und Datentypen
Datenbankentwurfsprozess
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Spezifikation von Anforderungen
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
grundlagen der Wirtschafts- informatik
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 11.Sitzung WS 02/03.
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Software-Technik „Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige.
VHDL 3: Sequential Statements (Process)
Synthetisierbares VHDL
VHDL 7: Automaten 1.
VHDL2_Sprachelemente und Concurrent Statements (Nebenläufige Anweisungen)
VHDL 4: Getaktete Logik (D-FF, Zähler, Automaten)
Inhalt Einen Zähler generisch aufbauen CPLD Synthese Timing Analyse
UML-Kurzüberblick Peter Brusten.
Konzept einer Programmiersprache!
Wasserfallmodell und Einzelbegriffe
PRO:CONTROL Ziel des Moduls Arbeitspakete
Programiersprache Mustafa SÖYLEMEZ e
Grundlagen Wissenschaftlichen Arbeitens Hilal Tekoglu
MODULA-2.
PHP: Operatoren und Kontrollstrukturen
Hardwarearchitekturen und Rechensysteme
Technische Informatik II
Technische Informatik II
Software Engineering Grundlagen
Software Engineering Strukturierte Analyse
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
Funktionale Unifikations-Grammatik (FUG)   Hauptmerkmale der FUG.
Funktionale Unifikations-Grammatik (FUG)  Hauptmerkmale der FUG.
Extended Pascal ( Erweitreung von Pascal) Name: Mehmet CELIK Matr :
The Programming Language Pascal
 Sortigkeit oder Arität
Extended Pascal Erweiterung von Pascal shadi Behzadipour shadi Shadi behzadipour.
Programmiersprache PASCAL
A SHORT INTRODUCTION TO CONCURRENT EUCLID Entwicklung von Euclid 1976 Entwicklung von Euclid 1977 Entwicklung des „TORONTO Euclid“ 1977 Entwicklung.
X. Übungsblatt – Aufgabe X In dieser Aufgabe soll ein synchron getakteter Steuerungsautomat für den in Abbildung 1 dargestellten Prozessor-Chip mit geringem.
X. Übungsblatt – Aufgabe X a)Entwerfen Sie eine digitale Schaltung, die bei einer logischen 0 des Steuereinganges S den logischen Wert des Eingangs x 0.
Dr. Wolfram Amme, Semantik funktionaler Programme, Informatik II, FSU Jena, SS Semantik funktionaler Programme.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
Datentypen: integer, char, string, boolean
Vom Transistor zum HW-Automaten
GRUNDLAGEN WISSENSCHAFTLICHEN ARBEITENS MODULA-2 SONAY SUBAYAZ
The Programming Language Pascal
 Präsentation transkript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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