Vortrag: Praktikum Technische Informatik Sommersemester 2007

Slides:



Advertisements
Ähnliche Präsentationen
Mathematik hat Geschichte
Advertisements

Einführung in die Informatik: Programmierung und Software-Entwicklung
Technische Grundlagen der Informatik 1
Peter Marwedel Informatik 12 TU Dortmund
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Elektronisch messen, steuern, regeln
Telefonnummer.
CPCP Institute of Clinical Pharmacology AGAH Annual Meeting, 29. Februar 2004, Berlin, Praktischer Umgang mit den Genehmigungsanträgen gemäß 12. AMG Novelle.
Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik, Universität Rostock Holger Harms, Harald Widiger,
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Lösung 3.1 Zahlensysteme Betrachten Sie den mit der Hamming-Methode codierten Code für „1000“ P-Bits falsch => Fehler bei bit
= = = = 47 = 47 = 48 = =
-17 Konjunkturerwartung Europa September 2013 Indikator > +20 Indikator 0 a +20 Indikator 0 a -20 Indikator < -20 Europäische Union gesamt: +6 Indikator.
E / IDE Enhanced / Integrated Device Elektronics
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Rechneraufbau & Rechnerstrukturen, Folie 5.1 © 2006 W. Oberschelp, G. Vossen.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
AC Analyse.
Differentieller Stromverstärker
Schieferdeckarten Dach.ppt
Heute: Scherenzange zeichnen
Zahlensysteme und Dualarithmetik copyleft: munz
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Der Simple As Possible Computer
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
Zahlenmengen.
Rechnen im Binärsystem
SK / , , in Hochkössen und der Wildschönau flow Ski- und Snowboardschule Intersport Menzel.
1 Fachtagung am Seniorenorientiertes Design und Marketing ThyssenKrupp Immobilien Design for all - Anpassungen im Wohnungsbestand 1.Demographie.
Die folgenden Gleichungen wurden über die Grundmenge R gelöst. HAYAL ÖZ.
Wir üben die Malsätzchen
Dualzahlen und ihre logischen Verknüpfungen
Polynome und schnelle Fourier-Transformation
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
Rechnen im Binärsystem
1 SR-Latch 3.3 Speicher Latches © Béat Hirsbrunner, University of Fribourg, Switzerland, 31. Oktober 2007 S Q Q R Q Q 1-bit Speicher.
Analyse von Ablaufdiagrammen
Vortrag Gerhard Fobe - Index
PROCAM Score Alter (Jahre)
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Symmetrische Blockchiffren DES – der Data Encryption Standard
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES KULTURELLER ZUSAMMENHALT UND AUSDEHNUNG DER IDEEN AUF EUROPÄISCHEM.
Großer Altersunterschied bei Paaren fällt nicht auf!
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
Technische Informatik II Übung 2: Konvertieren von Zahlen
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Analyseprodukte numerischer Modelle
Analyseprodukte numerischer Modelle Tidekennwertanalysen des Schwebstofftransportes.
Pigmentierte Läsionen der Haut
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Technische Informatik II (INF 1211) Aufgabenteil (Mit Unterlagen)
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
1 IdeenSet Sonnensystem Ideenset Wann können Sonnenfinsternisse stattfinden? Erich Laager / 2014.
Bildergalerie PRESEASON CAMP Juni 2014 Romanshorn Get ready for the Season!
Es war einmal ein Haus
Rechnerstrukturen 3b. Endliche Automaten.
Technische Informatik II Übung 1: Konvertieren von Zahlen
Technische Informatik II
Kompetenztraining Jura Martin Zwickel / Eva Julia Lohse / Matthias Schmid ISBN: © 2014 Walter de Gruyter GmbH, Berlin/Boston Abbildungsübersicht.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Monatsbericht Ausgleichsenergiemarkt Gas – November
- mal + = - + mal - = - + mal + = + - mal - = +
 Präsentation transkript:

Vortrag: Praktikum Technische Informatik Sommersemester 2007 Gruppe 2 Thema: Multiplikations- und Divisionseinheit in VHDL Von Jonas Zaddach, Johannes Kohl und Marco Volbracht

Vorstellung der Teilnehmer Vorstellung der Aufgabe Inhalt Vorstellung der Teilnehmer Vorstellung der Aufgabe Erläuterung Multiplizierer Grobe Übersicht Erläuterung der einzelnen Zustände Feine Übersicht Eckdaten

Erläuterung Dividierer Inhalt (2) Erläuterung Dividierer Grobe Übersicht Erläuterung ausgewählter Zustände Feine Übersicht Eckdaten Zeiteinteilung Organisation Probleme

Vorstellung der Teilnehmer Marco Antonio Volbracht (Projektleiter) Jonas Zaddach (Vortrag) Johannes Michael Kohl (Dokumentation)

Vorstellung der Aufgabe Es ist eine Multiplikations- und Divisionseinheit zu implementieren, welche Binärzahlen in einer vorgegebenen Zahlendarstellung miteinander verrechnen. Die Schaltung wird in VHDL realisiert und mit Hilfe des Programms Altera Quartus II entworfen und getestet.

Grobe Funktionsweise des Multiplizierers

Reset Warte darauf, dass ena = Reset auf High gesetzt wird Setze alle Flags und internen Signale zurück

Einlesen Berechung des Vorzeichens Prüfen, ob eine der Eingabezahlen Null ist  Setzen des Zero-Flags und Wechsel in Endzustand Speichern der Eingabewerte in internen Signalen (als positive Zahlen) -- Hoechstwertiges Bit des -- ersten Einganges (Vorzeichen) in1_msb: IN std_logic; -- Vorkommastellen des ersten -- Einganges bis auf MSB in1_vk: IN std_logic_vector(14 downto 0); -- Nachkommastellen des ersten Einganges in1_nk: IN std_logic_vector(7 downto 0);

Multiplizieren In1 In2 Ergebnis * = 1 1 1 1 , , , 1 1 1 1 , , , Ergebnis ist doppelt so lang wie Eingabe Bit zur Überlauferkennung

Multiplizieren In1 In2 Ergebnis * = 1 1 1 1 1 1 , , , 1 1 1 1 1 1 , , , Wenn niedrigstes Bit von In2 gesetzt ist, addiere In1 zu Ergebnis (von links)

Multiplizieren In1 In2 Ergebnis * = 1 1 1 1 1 , , , 1 1 1 1 1 , , , Shift Logical Right Shift Logical Right Verschiebe In2 nach rechts Verschiebe Ergebnis nach rechts

Multiplizieren In1 In2 Ergebnis * = 1 1 1 1 1 , , , 1 1 1 1 1 , , , Fange wieder von vorne an (führe Addition hier 4 mal, bei VHDL-Einheit insgesamt 23 Mal aus) Keine Addition wenn In2(0) = 0

Multiplizieren In1 In2 Ergebnis * = 1 1 1 1 1 , , , 1 1 1 1 1 , , , Shift Logical Right Shift Logical Right

Multiplizieren In1 In2 Ergebnis * = 1 1 1 1 1 1 1 , , ,

Multiplizieren In1 In2 Ergebnis * = 1 1 1 1 1 1 , , , 1 1 1 1 1 1 , , , Shift Logical Right Shift Logical Right

Multiplizieren In1 In2 Ergebnis * = 1 1 1 1 1 1 , , ,

Multiplizieren In1 In2 Ergebnis * = 1 1 1 1 1 1 , , , 1 1 1 1 1 1 , , , Shift Logical Right Shift Logical Right

Multiplizieren In1 In2 Ergebnis * = 1 1 1 1 1 1 , , , 1 1 1 1 1 1 , , , Effektive Ausgabe

Ausgabe anpassen Falls Ergebnis negativ ist, Bildung des Zweierkomplements

Ausgabe Anlegen des internen Ergebnissignals an äußere Pins Anlegen der Flagsignale (Overflow) Setzen des Ready-Flags

Eckdaten Multiplizieren Rechendauer Genau 23 Takte für die eigentliche Multiplikation 2 Takte für Wechsel Reset-Zustand  Einlesen und Multiplizieren  Ausgabe 3 Takte für Einlesen, Ausgabe anpassen und Ausgabe Es werden genau 28 Takte benötigt (außer wenn In = 0 oder In2 = 0) (≈ 280 ns bei Taktdauer von 10 ns) Es können Zahlen zwischen –32‘767,99609375 = -(215-2-8) und 32‘767,99609375 = 215-2-8 ein- und ausgegeben werden

Eckdaten Multiplizieren (2) Flags zero: Zeigt an, dass das Ergebnis echt Null ist (weil eine der Eingabezahlen Null war) ovr: Ergebnis hat nicht in Ausgabevektor gepasst, es ist ein Überlauf aufgetreten rdy: Wird gesetzt, wenn Chip Rechnung beendet hat

Divisionsbaustein

Divisionsbaustein

Nenner anpassen Sicherungskopie des ursprünglichen Nenners anlegen Nenner wird so lange nach links geschoben, bis es keine führenden Nullen mehr gibt In2 1 1 ,

Nenner anpassen Nenner wird so lange nach links geschoben, bis es keine führenden Nullen mehr gibt In2 1 1 , Auf 1 testen

Nenner anpassen Nenner wird so lange nach links geschoben, bis es keine führenden Nullen mehr gibt In2 1 1 , Shift Logical Left

Nenner anpassen Nenner wird so lange nach links geschoben, bis es keine führenden Nullen mehr gibt In2 1 1 , Test auf 1 erfolgreich, fertig

Dividieren In1 ist ein Bit länger, um festzustellen ob Subtraktion Überlauf verursacht hat In1 In2 Ergebnis 1 1 1 / 1 1 = , , , - 1 1 , In1 und In2 sind haben doppelt so viele Nachkommastellen, damit das Ergebnis bis in die letzte Stelle genau ist Bei der Subtraktion wird eine 0 an In2 angehängt, um gleiche Breite wie In1 zu haben

Dividieren In1 In2 Ergebnis 1 1 1 / 1 1 = 1 , , , - 1 1 , 1 1 1 / 1 1 = 1 , , , - 1 1 , Ergebnisbit setzen 1 , Übertragsbit ist 0 Subtraktion erfolgreich

Dividieren In1 In2 Ergebnis 1 / 1 1 = 1 , , , - 1 1 , 1 / 1 1 = 1 , , , - 1 1 , Vergleichen von untersten Bits von In2 mit Original-Eingabevektor In2 Ungleich  weiter machen 1 1

Dividieren In1 In2 Ergebnis 1 / 1 1 = 1 , , , - 1 1 , 1 / 1 1 = 1 , , , - 1 1 , Ergebnis links schieben In2 rechts schieben

Dividieren In1 In2 Ergebnis 1 / 1 1 = 1 , , , - 1 1 , 1 / 1 1 = 1 , , , - 1 1 , Ergebnisbit löschen 1 1 1 1 1 , Übertragsbit ist 1 Subtraktion nicht erfolgreich In1 in ursprünglichem Zustand belassen

Dividieren In1 In2 Ergebnis 1 / 1 1 = 1 , , , 1 1 , 1 / 1 1 = 1 , , , - 1 1 , Vergleichen von untersten Bits von In2 mit Original-Eingabevektor In2 Ungleich Weiter machen 1 1

Dividieren In1 In2 Ergebnis 1 / 1 1 = 1 , , , - 1 1 , 1 / 1 1 = 1 , , , - 1 1 , Ergebnis links schieben In2 rechts schieben

Dividieren In1 In2 Ergebnis 1 / 1 1 = 1 1 , , , - 1 1 , 1 / 1 1 = 1 1 , , , - 1 1 , Ergebnisbit setzen 1 1 , Übertragsbit ist 0 Subtraktion erfolgreich

Dividieren In1 In2 Ergebnis 1 / 1 1 = 1 1 , , , 1 1 , 1 / 1 1 = 1 1 , , , - 1 1 , Vergleichen von untersten Bits von In2 mit Original-Eingabevektor In2 Gleich  Fertig 1 1

Eckdaten Dividieren Rechendauer Max. 23 Takte um den Nenner nach links zu schieben Max. 3 * (22 + 8+1) Takte für die Subtraktionen und Vergleiche 4 Takte für Einlesen externer Signale und Ausgabe interner Signale Es werden für die Division maximal 121 Takte benötigt (≈ 1,21 µs bei Taktdauer von 10 ns) Es können Zahlen zwischen –32‘767,99609375 = -(215-2-8) und 32‘767,99609375 = 215-2-8 ein- und ausgegeben werden

Eckdaten Dividieren (2) Flags zero: Zeigt an, dass das Ergebnis echt Null ist (weil Zähler Null war) dze: Fehlerflag für Null im Nenner ovr: Ergebnis hat nicht in Ausgabevektor gepasst, es ist ein Überlauf aufgetreten (kann vorkommen, da mit Brüchen gerechnet wird) rdy: Wird gesetzt, wenn Chip Rechnung beendet hat

Zeiteinteilung 15 Treffen Grobanalyse Feinanalyse Pflichtenheft Spezifikation Implementierung Multiplikationseinheit Implementierung Divisionseinheit Testdokumentation Vortrag Ausarbeitung

Organisation mittels eigener Webseite Titel und Datum Kurze Erläuterung Weitere Informationen Versionsverwaltung mittels CVS

Probleme Zahlendarstellung Zero-Flag

Fragen? ? ? ? ?