Paritäts-Bit- Generator

Ähnliche Dokumente
5.Vorlesung Rechnerorganisation

GTI Bonus VHDL - EXTRA

Programmierkurs I. Gliederung: Deklarationsteil als BNF 2. Blöcke in Ada95 (Lebenszeit, Sichtbarkeit von Variablen)

Einführung in die technische Informatik

Fehlererkennende und fehlerkorrigierende Codes

6. Zeiger Allgemeines Definition eines Zeigers

17 Zähler. Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK DIGITALTECHNIK 17-1

Beispiele elementarer Datentypen Ganze Zahlen (integer) Unterbereiche Gleitkommazahlen Festkommazahlen

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3

5 VHDL Einführung (I)

Wertebereich und Genauigkeit der Zahlendarstellung

I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

FPGA-Entwurf mit VHDL. Serie 3

Eine praktische Einführung in die Programmierung mit der Programmiersprache C

R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung.

Physische Datenstrukturen

VHDL Grundelemente. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

Verilog/VHDL. Mehdi Khayati Sarkandi Uni Siegen

Welche Informatik-Kenntnisse bringen Sie mit?

Übungspaket 12 Der Datentyp char

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

SoC Design. Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik

Grundlagen der Fortran Sprache

Array-Zuweisungen. Array-Zuweisungen können über die Position, den Namen oder gemischt erfolgen.

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Laborübung 4. Zustandsautomaten (Finite State Machines)

N. Schmiedel, J. Brass, M. Schubert VHDL Formelsammlung FH Regensburg, VHDL Formelsammlung

Outline Logik Speicher Synthese Signale/Variablen Packages Generische Designs. Basics. Marc Reichenbach

Lösungsvorschlag 3. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Einstellige binäre Addierschaltung (Addierer)

Binär- und Hexadezimal-Zahl Arithmetik.

Entwurf und Simulation einfacher Logikelemente

VHDL - Objekte und Typen

2.Vorlesung Grundlagen der Informatik

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut

5. Übung - Kanalkodierung/Programmierung

Thomas Binzinger. Jetzt lerne ich. Delphi. Markt+Technik Verlag

Übung 3: VHDL Darstellungen (Blockdiagramme)

Klausur zur Vorlesung. Grundlagen der Technischen Informatik (GTI) und. Grundlagen der Rechnerarchitektur (GRA)

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./

Grundlagen der OO- Programmierung in C#

Informatik I (D-ITET)

Teil 5: Zeiger, Felder, Zeichenketten Gliederung

Arbeitsblatt Logische Verknüpfungen Schaltnetzsynthese

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

Einführung in VHDL (2)

Praktische Informatik II FSS 2012 Programmierklausur

Zeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.

5. Abgeleitete Datentypen

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Eigenschaften strukturierter Datentypen

Entwurf digitaler Systeme mit VHDL-1076

Vorsemesterkurs Informatik Übungsaufgaben. Tag 4a - Python

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt

INFORMATIK TEIL: VBA. Infromatik WS 17/18 Teil: VBA. Allgemeines: - 4 Übungen á 3 Stunden

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r

1. Referenzdatentypen: Felder und Strings

Entwurf digitaler Schaltungen Groÿe Übung 3 Simulation mit ghdl

12 VHDL Einführung (III)

Inhaltsverzeichnis. Vorwort.11

Zahlensysteme und Kodes. Prof. Metzler

Die Programmiersprache C Eine Einführung

Matrizen. a12 a1. a11. a1n a 21. a 2 j. a 22. a 2n. A = (a i j ) (m, n) = i te Zeile. a i 1. a i 2. a i n. a i j. a m1 a m 2 a m j a m n] j te Spalte

Berichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Übungspaket 14 Eindimensionale Arrays

PROGRAMMIERKURS FORTRAN

Hardware Praktikum 2008

31 Polynomringe Motivation Definition: Polynomringe

Aufgabe 1. Aufgabe 2. Abbildung 1: Schaltung für die Multiplikation mit 4

GI Vektoren

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

C für Java-Programmierer

Projekt 3 Variablen und Operatoren

Übung zur Vorlesung Berechenbarkeit und Komplexität

Computer rechnen nur mit Nullen und Einsen

2 Eine einfache Programmiersprache

1 Hardwareentwurf. 1.1 Grundlagen

Informatik I Übung, Woche 41

Excel VBA Arrays, Enumeration und benutzerdefinierte Typen

Konzepte der Programmiersprachen

Klausur Grundlagen der Programmierung

VHDL Objekte und Typen

Unified-E Modbus Adapter

Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme

D.5 Versuchsreihe 5: Arithmetisch-Logische Einheit

Eine Variable des Datentyps Variant kann alles sein, aber welcher Datentyp steckt in der Variant-Variablen nun eigentlich drin?

Kapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1

Einführung in die Programmierung mit VBA

Transkript:

Projektseminar: Hardware-Beschreibung mit VHDL Seite: 4 2 Aufgaben 2.1 Aufgabe Parity-Generator 2.1.1 Aufgabenstellung Beschreiben sie eine Hardware, welche ein Paritäts-Bit an eine 31-stellige Bitfolge anhängt (Abbildung 1). Die Parität soll gerade sein, das heißt, bei einer ungeraden Anzahl von 1 in der Bitfolge ist das Paritäts-Bit 1, bei gerader Anzahl 0. Es wird angenommen, dass die Bitfolgen auf einmal als Vektor übergeben werden. 31-stellige Bitfolge Paritäts-Bit- Generator 32-stellige Bitfolge Abbildung 1: Paritäts-Bit_Generator 2.1.2 Hinweise zur Aufgabe Weitere Erläuterungen zum Paritäts-Bit Das Paritäts-Bit dient der Kontrolle von übertragenen Paketen auf Bit-Fehler. Es wird in der Regel an das Ende der zu übertragenden Bit-Folge angehängt. Der Wert richtet sich nach der Anzahl der Nullen und Einsen in der Bit-Folge. Dabei wird zwischen gerader und ungerader Parität unterschieden. Bei gerader Parität wird das Bit so gesetzt, dass das Paket eine gerade Anzahl von Einsen hat, bei ungerader Parität entsprechend umgekehrt. Lösung der Aufgabe Entity-Teil: Hier werden der Ein- und Ausgang als Bit-Vektoren definiert. Die Angabe der Elementmenge ist optional.

Projektseminar: Hardware-Beschreibung mit VHDL Seite: 6 2.2 Aufgabe Fulladder 2.2.1 Aufgabenstellung Realisieren sie einen Fulladder in VHDL. Gehen sie hierbei so vor, dass sie zuerst den Halfadder (Abbildung 2) und ein Oder-Gatter in ein Package einbinden und unter Verwendung dessen dann den Fulladder beschreiben. Schematische Darstellung der Funktion eines Halfadders A S B Halfadder C Abbildung 2: Halfadder Es sollen A und B addiert werden, S ist die Summe der Bits und C der Übertrag. Die jeweiligen Werte lassen sich aus der folgenden Tabelle entnehmen: A B S C 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Abbildung 3: Wertetabelle des Halfadders

Projektseminar: Hardware-Beschreibung mit VHDL Seite: 7 Schematische Darstellung der Funktion eines Fulladders A B C' Fulladder S C Abbildung 4: Fulladder Hier werden A und B unter der Berücksichtigung des Übertrags C' einer vorangegangenen Addition berechnet. Der interne Aufbau des Fulladders lässt sich folgendermaßen realisieren: A B C' HA1 S1 C1 HA2 S2 Oder C S Abbildung 5: innerer Aufbau des Fulladders 2.2.2 Hinweise zu Lösung In dieser Aufgabe sollen vor Allem die Vorteile bei der Verwendung von Packages verdeutlicht werden. Nachdem die einfachen Halfadder und Oder-Gatter beschrieben wurden, werden diese in ein Package eingebunden. Hier können die Ports der beiden Blöcke bei Bedarf neu benannt werden. In einer anderen Datei des Projekts wird nun das Package eingebunden, wodurch die zwei Gatter auch hier zur Verfügung stehen. In der Aufgabe beschränkt sich damit die Beschreibung des Fulladders auf die Verbindung der Blöcke untereinander (port map). Die Beschreibung des Oder-Gatters und des Halfadders können auf die Studenten aufgeteilt werden.

Projektseminar: Hardware-Beschreibung mit VHDL Seite: 10 2.3 Aufgabe TCP-Verbindungsautomat 2.3.1 Aufgabenstellung Beschreiben Sie den Automaten zum Auf- und Abbau einer TCP-Verbindung (Abbildung 6) mit Hilfe der Hardwarebeschreibungssprache VHDL. Abbildung 6: TCP-Verbindungsautomat

Projektseminar: Hardware-Beschreibung mit VHDL Seite: 11 Gehen sie dabei von der folgenden Grundstruktur des Systems aus: receive sys timer Automat send sys timer Restsystem Abbildung 7: schematische Darstellung der Außenbeschaltung

Projektseminar: Hardware-Beschreibung mit VHDL Seite: 12 2.3.2 Hinweise zur Lösung Bei dieser Aufgabe soll die Erstellung eines Automaten geübt werden. Hier werden dazu neben den bisher verwendeten einfachen Datentypen auch komplexe verwendet, deren Verwendung hier ebenfalls gezeigt werden soll. Definition von Datentypen: - Aufzählung: alle möglichen Werte des Datentyps werden hintereinander aufgezählt - type Datentyp is (Wert_1, Wert_2, Wert_3,..., Wert_n); - z.b.: type STATE_TYPE is ( CLOSED, LISTEN, SYN_RECEIVED,...); - komplexe Datentypen: Definition der Länge und Art der Einträge - type Typname is array (Index) of Elementtyp; - zb. - type STRING is array (0 to 255) of character; => Zeichenkette mit Länge 256 - type MATRIX_2x3 is array (integer range 1 to 2; integer range 1 to 3) of integer; => zweidimensionale 2x3-Matrix aus integer-werten - einige sind bereits vordefiniert: z.b.: string, bit_vector, std_logic_vector Notation der Variablenwerte für komplexe Datentypen: - allgemein: Variable := 'Wert'; - Aufzählungstyp: Variable := Wert; - komplexer Datentyp: Variable := "Wert"; Lösung der Aufgabe Die Auswahl der Zustände erfolgt über die case-anweisung. In den Zuständen werden einfache bedingte Zuweisungen ausgeführt. Die Bearbeitung der einzelnen Zustände lässt sich durch den Betreuer, nach dem Aufbau des Grundgerüsts, auf die Studenten aufteilen.

Projektseminar: Hardware-Beschreibung mit VHDL Seite: 17 3 Quellen - Vorlesung IHS 2 Kapitel VHDL - www.hs-merseburg.de/~gerboth/files/studium/et03/5.semester/altera/tutorials/vhdl_crashkurs.pdf - www-ds.e-technik.uni-dortmund.de/new/cei/resource/vhdl/skript.pdf