Praktikum Grundlagen von Hardwaresystemen Wintersemester 2012/13. Versuch 5: Carry-Ripple, Conditional-Sum und Carry-Lookahead-Addierer

Größe: px
Ab Seite anzeigen:

Download "Praktikum Grundlagen von Hardwaresystemen Wintersemester 2012/13. Versuch 5: Carry-Ripple, Conditional-Sum und Carry-Lookahead-Addierer"

Transkript

1 Praktikum Grundlagen von Hardwaresystemen Wintersemester 2012/13 Versuch 5: Carry-Ripple, Conditional-Sum und Carry-Lookahead-Addierer 10. Dezember 2012 Fachbereich 12: Informatik und Mathematik Institut für Informatik Professur für Eingebettete Systeme Prof. Dr. Uwe Brinkschulte unter Mitarbeit von Benjamin Betting Michael Bauer Daniel Lohn Johann Wolfgang Goethe-Universität Frankfurt am Main

2 Inhaltsverzeichnis 1 Einleitung 2 2 Grundlagen Erzeugung regulärer Strukturen mittels Schemata Verwendung von Schemata im ISE Webpack Addierer Carry-Ripple-Addierer Conditional-Sum-Addierer Carry-Lookahead-Addierer Laufzeiteffekte in Schaltnetzen Anmerkungen und Tipps 15 4 Vorbereitungsaufgaben 16 5 Praktikumsaufgaben 18 1

3 Kapitel 1 Einleitung Dieser Versuch behandelt im wesentlichen zwei Addierertypen (Carry-Ripple-Addierer und Carry-Lookahead-Addierer). In den Aufgaben werden die folgenden Punkte ausführlich behandelt: Notwendigkeit der strukturellen Beschreibung Verwendung des Schemata Konzepts zur strukturellen Beschreibung von Architekturen Implementierung und Vergleich zweier Addierertypen (Carry-Ripple-Addierer und Carry- Lookahead-Addierer) Betrachtung von Laufzeiteffekten in Schaltnetzen Implementierung der Verzögerung in VHDL 2

4 Kapitel 2 Grundlagen 2.1 Erzeugung regulärer Strukturen mittels Schemata Bei den bisherigen Praktikumsaufgaben ging es hauptsächlich darum, einfache Komponenten in algorithmischer oder Datenflussbeschreibung zu modellieren, sowie diese Komponenten mittels struktureller Verknüpfung zu komplexeren Schaltungen zu verbinden. Die strukturelle Verknüpfung ist allerdings zur vollständigen Beschreibung von Entwürfen heutzutage nicht mehr adäquat, da z.b. moderne Prozessoren mittlerweile aus einigen Millionen Gattern bestehen. Beim modernen Schaltungsdesign beschreibt man den Entwurf deshalb hauptsächlich algorithmisch, und extrahiert aus dieser Beschreibung mittels einer automatischen Synthese eine strukturelle Beschreibung mit Gattern, Flipflops und Registern, die dann weiterverarbeitet werden kann. Es gibt aber durchaus noch Gründe für eine strukturelle Beschreibung in VHDL: zur Verbindung von großen Bausteinen, die algorithmisch beschrieben sind. Heutzutage werden solche Bausteine auch als sog. IP-Cores (intellectual property cores) gehandelt, d.h. Chiphersteller kaufen bestimmte Komponenten für ihren Entwurf als VHDL- Beschreibung von Drittanbietern. bei regulären Strukturen wie z.b. Speichern ist eine strukturelle Beschreibung durchaus sinnvoll. Um solche großen Strukturen zu beschreiben, bietet das ISE Webpack das Schemata-Konzept, mit dem sich strukturelle Beschreibungen, bestehend aus beliebig vielen Einzelkomponenten, einfach per Drag & Drop erzeugen lassen. es kann sein, dass algorithmische Konstrukte vom Synthesewerkzeug nicht oder nur ungenügend umgesetzt werden, so dass man hier auf eine bessere selbstdefinierte strukturelle Beschreibung zurückgreifen muss. 3

5 KAPITEL 2. GRUNDLAGEN 4 Für die Erzeugung komplexerer und aufwendiger struktureller Beschreibungen, bieten VHDL und die Entwicklungsumgebung ISE Webpack zwei Konzepte an. Ziel dieser ist es, eine möglichst einfache Erzeugung der Netzliste (Instanziierung und Vernetzung der Komponenten/Entities), also die eigentliche Beschreibung der strukturellen Zielarchitektur, dem Entwickler bereitzustellen. Diese sind: generate-anweisung Schemata (Schaltsymbole) Die generate-anweisung ist ein Konzept von VHDL selbst und wird in diesem Praktikum aufgrund des zeittechnischen Aufwands und der Komplexität nicht betrachtet. Dennoch ist das Prinzip und die Funktionsweise die, dass durch die Verwendung von Schleifen eine parametrisierte iterative Instanziierung der Komponenten durchgeführt werden kann. Das zweite Konzept ist Teil der Entwicklunsgumbegung. Im ISE Webpack ist es möglich eine visualisierte Darstellung der VHDL Entwürfe in Form von Schemata zu erzeugen. Schemata sind, auf diesen Kontext bezogen, technische Schaltsymbole die den jeweiligen Entities zugeordnet sind. Unter Verwendung dieser Symbole kann der Entwickler den Entwurf dann visuell per Drag & Drop aus den jeweiligen Schaltsymbolen erstellen. Der zugehörige VHDL- Quellcode wird automatisch über die verknüpften Komponenten/Entites generiert, welcher später auch eingesehen und verwendet werden kann Verwendung von Schemata im ISE Webpack Um Ihnen das Prinzip einfach zu verdeutlichen, wird hier ein Beispiel ausgeführt, welches die strukturelle Beschreibung eines XOR-Gatters basierend, auf vier NAND-Gattern (Aufgabe 5 aus Praktikumsversuch 1), verwendet. Bevor Sie Entities schematisch im ISE Webpack visuell per Drag & Drop instanziieren und verschalten können, müssen zunächst für die benötigten Entities die zugehörigen Schaltsymbole (Schematic Symbols) erzeugt werden. Dazu gehen Sie wie folgt vor: Im Drop Down Menü Sources for: des Design-Fensters den Vorgang Implementation auswählen.

6 KAPITEL 2. GRUNDLAGEN 5 Auswahl der entsprechenden Entity im Design-Fenster. Dabei ist es wichtig, dass sich die Datei der Entity im Verzeichnis des aktuellen Projekts befindet. Sollte die Entity nicht bereits Teil des Projekts sein, so fügen Sie diese dem Projekt zuvor hinzu (Rechtsklick auf FPGA-Design (xc3s200) Add Copy of Source). Die Erzeugung des Schaltsymbols starten Sie im Prozess-Fenster unter dem Punkt Design Utilities Create Schematic Symbol. Wiederholen Sie diesen Vorgang gegebenenfalls für alle Entity Dateien, die für die strukturelle Beschreibung der Zielentity notwendig sind.

7 KAPITEL 2. GRUNDLAGEN 6 Nachdem alle Schaltsymbole erstellt wurden, kann die eigentliche strukturelle Beschreibung begonnen werden. Erzeugen Sie dazu eine neue VHDL Schematic Datei, mit welcher die Beschreibung einer Entity schematisch erfolgen kann. Dazu gehen Sie wie folgt vor: Anlegen einer neuen VHDL Schematics Datei mit Rechtsklick auf das FPGA-Design (xc3s200). Aus dem Kontextmenü wählen Sie New Source. Der create new File Wizard wird geöffnet. Als Dateiformat wählen Sie auf der linken Seite Schematic. Im Namensfeld geben Sie den Namen der Entity ein. Mit Next gelangen Sie zur Zusammenfassung. Klicken Sie dort auf Finish um die Datei zu erzeugen. Anschließend wird die schematische Ansicht der Entity geöffnet. Alternativ öffnet sich durch einen Doppelklick auf die Schemata-Datei im Design-Fenster ebenfalls diese Ansicht. Um wieder zur normalen Ansicht (Design-Fenster) zu wechseln, wählen Sie den Reiter Design unterhalb des Symbol-Fensters aus.

8 KAPITEL 2. GRUNDLAGEN 7 Nun können Sie die strukturelle Bechreibung schematisch mittels Drag & Drop vornehmen. Um eine Entity zu instanziieren, wählen Sie das zugehörige Schaltsymbol aus dem Symbol-Fenster auf der linken Seite aus. Damit Sie nicht lange suchen müssen, wählen Sie aus dem darüberliegenden Kategorie-Fenster ihr aktuelles Projekt aus (zweite Position). Somit werden lediglich ihre Entitäten angezeigt. Nachdem Sie die gewünschte Entity ausgewählt haben, klicken Sie einfach im Schemata- Plan auf der rechten Seite auf eine freie Fläche. Das Schaltbild wird dann dort platziert. Mit der Platzierung wird die Entity instanziiert. Wiederholen Sie diesen Vorgang gegebenenfalls für alle weiteren Entitäten, die benötigt werden.

9 KAPITEL 2. GRUNDLAGEN 8 Um die erzeugten Entity-Instanzen miteinander zu vernetzen, wählen Sie aus der Werkzeug- Toolbar in der Mitte den Punkt Add Wire (dritte Position von oben) aus. Um nun zwei IO-Ports miteinander zu verbinden, klicken Sie auf einen der beiden Ports und ziehen Sie eine Linie (Verdrahtung) zum anderen. Um ein IO-Port als Ein- bzw. Ausgangssignal der aus dem Schemata resultierenden Entity zu deklarieren, wählen Sie aus der Werkzeug-Toolbar in der Mitte den Punkt Add I/O Marker (siebte Position von oben) aus und klicken Sie auf den Pin, der als I/O-Port deklariert werden soll. Das Verhalten bzw. die Polarität des Ports ist wählbar, indem Sie auf dessen Symbol doppelklicken und im sich öffnenden Eigenschafts-Fenster unter Nets die PortPolarity auf In- bzw. Output stellen. Um einen Bus zu erstellenm klicken Sie auf Add Wire und erstellen Sie einen einfachen Draht. Diese Leitung hat zunächst nur eine Breite von einem Bit. Durch einen Doppelklick auf den neuen Draht öffnet sich sein Eigenschafts-Fenster. Durch einen Namenszusatz können Sie jetzt den Draht zu einem Bus machen. Schreiben Sie in Klammern

10 KAPITEL 2. GRUNDLAGEN 9 hinter dem Namen, welche Bits verwendet werden, z.b. ist Test(3:0) ein 4-Bit breiter Bus. Mit Add Bus Tap können von einem Bus einzelne Bit ausgewählt werden. Verbinden Sie dazu das Bus Tap mit dem gewünschten Bus. Über den Namen kann ein bestimmtes Bit ausgewählt werden, z.b. wird über den Namen Test(3) das höchstwertige Bit des Busses Test ausgewählt. Nachdem Sie ihre Schaltung fertiggestellt haben, kann die resultierende Entity wie folgt verwendet werden. Wechseln Sie wieder zum Design-Fenster des Projekts (Reiter Design unterhalb des Symbol-Fensters), wo die Entitäten und Dateien ihres aktuellen Projekts angezeigt werden. Es gibt nun zwei Arten den VHDL-Quellcode der Schemata-Datei einzusehen.

11 KAPITEL 2. GRUNDLAGEN 10 Die Erste umfasst den gesamten Code, also Entity und Architektur. Die Zweite bietet eine Ansicht des zugehörigen Instanz-Templates, d.h. den Component- Block welcher benötigt wird, wenn Sie die Entity in einer höheren Entity instanziieren möchten, wie zum Beispiel in einer Testumgebung (SimBox). Das Instanz- Template wird dann wie gewohnt in die Architektur der Simbox eingefügt und instanziiert. Für die Ansicht des gesamten Quellcodes gehen Sie wie folgt vor: Auswahl der schematisch beschriebenen Entity aus dem Design-Fenster Im Prozess-Fenster wählen Sie dann den Punkt Design Utilities View HDL Functional Model Für die Ansicht des Instanz-Templates gehen Sie wie folgt vor: Auswahl der schematisch beschriebenen Entity aus dem Design-Fenster Im Prozess-Fenster wählen Sie dann den Punkt Design Utilities View HDL Instantiation Template Wichtig: In beiden Varianten ist nur eine Einsicht des Codes möglich und keine Bearbeitung. Dazu muss der Code kopiert und in einer neuen Datei abgelegt werden (in den Praktikumsversuchen ist dies allerdings nicht notwendig).

12 KAPITEL 2. GRUNDLAGEN Addierer Addierglieder sind Schaltnetze, die zwei Dualzahlen addieren. Dualzahlen werden wie Dezimalzahlen stellenweise addiert, beginnend bei der Stelle mit dem niedrigsten Wert. Die Addition von zwei mehrstelligen Dualzahlen kann bitseriell oder bitparallel ausgeführt werden. Man spricht daher von Serienaddierer und Paralleladdierer. Beide Addiernetze unterscheiden sich wesentlich im Hardwareaufwand und in der Addierzeit. Der Serienaddierer führt während eines Taktschrittes die Addition von nur einer Stelle aus. Der Paralleladdierer führt während einem Taktschritt die Addition aller Stellen aus. Der Serienaddierer besteht aus einem VA-Schaltnetz (beim ersten Praktikumsversuch haben wir Halbaddierer und Volladdierer kennengelernt), zwei Registern zur Aufnahme der Summanden und der Summe und einem Speicherglied für die Zwischenspeicherung des Übertrages. Der Serienaddierer ist deshalb ein Schaltwerk. Paralleladdierer können nach drei Strategien realisiert werden: Paralleladdierer in Normalformlösung Ripple-Carry-Addierer Carry-Look-Ahead-Addierer (Paralleladdierer mit Übertragsvorausberechnung) Carry-Ripple-Addierer Der Carry-Ripple-Addierer (Abbildung 2.1) realisiert ein mehrstufiges Schaltnetz. Die Addition der ersten oder wertniedrigsten Stelle wird von einem HA ausgeführt. Für jede weitere zu addierende Stelle wird ein VA nachgeschaltet, der aus den Stellenbits und dem Übertrag der vorangehenden Stelle wiederum einen Übertrag und eine Summe bildet. B3 A3 B2 A2 B1 A1 B0 A0 Cout C3 C2 C1 VA VA VA VA Cin S3 S2 S1 S0 Abbildung 2.1: Aufbau eines 4-Bit Ripple-Carry Addierers Conditional-Sum-Addierer Bei einem Carry-Ripple-Addierer ist die Berechnung der Carry-Signale zeitkritisch, da bei entsprechenden Eingangswerten ein Carry vom ersten bis zum letzten Volladdierer durchpropagiert werden muss, bevor das entsprechende Summen-Bit korrekt berechnet werden kann. In zeitkritischen Schaltungen können solche Addierer bei aktuellen Bitbreiten zwischen 32

13 KAPITEL 2. GRUNDLAGEN 12 bis 64 Bit zu langsam werden. Ein Conditional-Sum-Addierer nutzt den Vorteil einer gleichzeitigen Voraus-Berechnung der Summen-Bits. Dies erfolgt durch die Annahme beider Werte von 0 und 1 eines entsprechenden Carry-Signals in der jeweiligen Addierer-Stufe. Die Addition zweier Bits erfolgt somit doppelt, jedoch mit unterschiedlichem Carry-Eingangssignal. Sobald das tatsächliche Carry-Signal aus der vorangegangen Stufe propagiert wurde, wird das korrekte Ergebnis selektiert. Mittels dieses Verfahrens werden Latenzen dies bis zum Eintreffen eines Carry-Signals entstehen können, durch eine vorzeitige Berechnung beider Ergebnismöglichkeiten effektiv ausgenutzt. Das Auswahlschaltnetz welches die Selektion des richtigen Teilergebnisses durchführt, wird durch den Einsatz gewöhnlicher Multiplexer realisiert. Je nach Wortbreite und Eingabe wird eine deutliche kürzere Rechenzeit gegenüber dem Ripple-Carrry-Addierer erzielt. B3 A3 B2 A2 B1 A1 B0 A0 VA VA VA VA C in VA VA VA MUX MUX MUX MUX MUX MUX MUX MUX MUX C S3 S2 S1 S0 out Abbildung 2.2: Realisierung eines 4-Bit Conditional-Sum Addierers mittels 2:1 Multiplexern Carry-Lookahead-Addierer Da der bereits vorgestellte Ripple-Carry wie auch Conditional-Sum-Addierer eine Addition stehts in Abhängigkeit des vorangehenden Carry-Signals berechnen, werden Latenzen die durch das Propagieren dieses Signals entstehen nicht vermieden. Dies stellt vor allem bei großen Wortbreiten (> 64 Bit) ein Problem dar. Um jedoch auch bei einer hohen Anzahl von Bits kurze Rechenzeiten zu erhalten, bedient man sich in solch einem Fall der Carry- Lookahead-Addierer (CLA). Diese Addierer berechnen die Überträge der einzelenen Volladdierer wesentlich schneller. Die Funktionsweise der CLA basiert auf folgenden Überlegungen zum Carry-Ripple-Addierer: Der Volladdierer k generiert ein Carry-Signal genau dann, wenn

14 KAPITEL 2. GRUNDLAGEN 13 beide Summanden a k und b k den Wert 1 haben oder ein Volladdierer j < k ein Carry produziert und alle Volladdierer (j + 1)...k dieses Carry propagieren. Ein Volladdierer propagiert ein eingehendes Carry, wenn genau einer der beiden Summanden den Wert 1 hat. Diese Überlegungen führen zu einem erweiterten Volladdierer, dem Carry-Lookahead-fähigen Volladdierer (Abb. 2.3). a b CVA c_in c_p s c_g Abbildung 2.3: Ein Carry-Lookahead-fähiger Volladdierer Dieser hat neben dem Summen-Ausgang einen Ausgang c g (Carry-generate) und einen Ausgang c p (Carry-propagate). Aus diesen beiden Ausgangssignalen wird dann mit einem Schaltnetz, in das auch die Carry-generates und -propagates der vorherigen Volladdierer eingehen, das Carry-in des nächsten Volladdierers berechnet. a1 b1 a0 b0 c_out S1 CVA c_in CVA c_in S0 p s g p s g AND c_in OR OR AND AND Abbildung 2.4: Ein 2-Bit-Carry-Lookahead Addierer Das zusätzliche Carry-in auf der rechten Seite nimmt dabei die Rolle eines Carry-generate ein.

15 KAPITEL 2. GRUNDLAGEN Laufzeiteffekte in Schaltnetzen Bisher haben wir nur verzögerungsfreie Schaltungen simuliert, d.h. wenn zum Zeitpunkt t eine Signaländerung am Eingang einer Schaltung anlag, hat diese auch zum Zeitpunkt t darauf am Ausgang reagiert. Dies ist natürlich kein reales Verhalten, denn jedes Gatter braucht eine gewisse Zeitspanne, um eine Signaländerung zu verarbeiten. Es gibt hierbei zwei Modelle: ideale Verzögerung um die Zeitspanne t: Jede Signaländerung wirkt sich erst nach der Zeitspanne t am Ausgang aus. träge Verzögerung um die Zeitspanne t: Signaländerungen, die nur eine Zeitspanne s < t andauern, werden verschluckt. Nur Signaländerungen, die mindestens die Zeitspanne t überstehen, werden ideal verzögert. Auch VHDL kennt ideale und träge Verzögerung. Dies ist wichtig für die Simulation, da diese Verzögerungen in der Realität auftreten und deshalb auch modellierbar sein müssen. Kennt man die Verzögerungswerte der Technologie, in der man sein Design implementiert, kann man dies bei der Simulation berücksichtigen. In VHDL gibt es jedoch keine Laufzeitglieder, die Verzögerung wird durch Sprachkonstrukte bei der Signalzuweisung implementiert. Die Architektur eines AND-Gatters mit einer trägen Verzögerung von 10 Nanosekunden sieht so aus: Listing 2.1: AND mit Verzögerung architecture dataflow of AND gate i s begin c <= a and b after 10 ns ; end Dataflow ; Das Schlüsselwort after beschreibt eine träge Verzögerung. Für eine ideale Verzögerung sieht die Signalzuweisung dagegen wie folgt aus: Listing 2.2: Signalzuweisung bei einer idealen Verzögerung c <= transport a and b a f t e r 10 ns ;

16 Kapitel 3 Anmerkungen und Tipps carry generate sagt aus, wann ein Übertrag gebildet wird. carry propagate sagt aus, wann ein Übertrag weitegeleitet wird. Die Tatktfrequenz eines Addierers in MHz lässt sich anhand der worst-case Rechenzeit in Nanosekunden wie folgt berechnen: F requenz = 10 3 W C Zeit 15

17 Kapitel 4 Vorbereitungsaufgaben Die folgenden Aufgaben dienen der Vorbereitung der Praktikumsaufgaben und sind teilweise Ausgangsbasis für eine VHDL-Implementierung. Bearbeiten Sie diese Aufgaben vor dem Praktikumstermin. Aufgabe 1. Worin liegt der Unterschied zwischen Schaltnetzen und Schaltwerken? Nennen Sie jeweils ein konkretes Beispiel. Aufgabe 2. Welche ist die kleinste Zahl, die einen Überlauf des 6-Bit-Carry-Ripple-Addierers verursacht, wenn sie zu sich selbst addiert wird? Aufgabe 3. Unter welchen Bedingungen, bezüglich der Eingabevektoren A und B, benötigt ein 6-Bit Carry-Ripple, Conditional Sum und Carry-Lookahead Addierer die maximale Rechenzeit? Aufgabe 4. Was ist ein Hazard und welche Hazardarten haben Sie in der Vorlesung Hardwarearchitekturen und Rechensysteme kennengelernt? Aufgabe 5. Geben Sie die booleschen Ausdrücke für das Carry-generate c g und das Carry-propagate c p eines einzelnen Carry-Lookahead-fähigen Volladdierers an. Aufgabe 6. Geben Sie einen zweistufigen booleschen Ausdruck für das Carry-in aller Addierer und das Carry-out eines 6-Bit-Carry-Lookahead-Addierers an. Aufgabe 7. Erstellen Sie eine Tabelle mit der notwendigen Anzahl an Gattern für einen Carry- Ripple (RCA), Conditional-Sum (CSA) und einen Carry-Lookahead-Addierer (CLA) in Abhängigkeit von der Anzahl der zu addierenden Bits 6, 16, 32 und 64. Betrachten Sie hierzu den Volladdierer (VA) und Multiplexer (MUX) als eigenständiges Gatter und gehen Sie davon aus, dass die verwendeten Volladdierer (VA) auch die Signale carry generate und carry propagate erzeugen. Des Weiteren ist zu berücksichtigen, dass die ODER und UND-Gatter beliebig viele Eingänge besitzen können. Die Tabelle soll demnach wie folgt aufgebaut sein: 6-Bit 16-Bit VA OR AND MUX VA OR AND MUX CLA???????? CSA???????? RCA???????? 16

18 KAPITEL 4. VORBEREITUNGSAUFGABEN Bit 64-Bit VA OR AND MUX VA OR AND MUX CLA???????? CSA???????? RCA????????

19 Kapitel 5 Praktikumsaufgaben Aufgabe 1. Legen Sie ein neues Projekt an und fügen Sie dem Projekt eine Kopie der Quelldateien vom Halb- und Volladdierer aus dem letzten Versuch hinzu. Erzeugen Sie für diese beiden Bausteine die zugehörigen Schaltsymbole. Erstellen Sie einen Carry-Ripple-Addierer mit 6 Bit mit Hilfe von Schemata. Fügen Sie dazu eine neue Datei vom Typ Schematic mit dem Namen carry ripple 6 Ihrem Projekt hinzu. Als Bausteine für den Addierer verwenden Sie den Volladdierer aus dem vorangegangenen Versuch. Als Eingabe soll der Addierer zwei 6-Bit-Vektoren sowie ein zusätzliches Carry-Bit haben. Als Ausgabe soll ein 7-Bit-Vektor dienen. Schreiben Sie die Stimuli zur Simulation der Schaltung in eine neue VHDL-Datei. Das benötigte Instanz-Template (Component-Block) des Carry-Ripple-Addierers erhalten Sie aus der Schemata-Datei (wie in Abschnitt2.1.1 beschrieben). Führen Sie bei der Simulation 20 Additionen aus, wobei insgesamt jeder 1-Bit-Volladdierer mindestens einmal ein Carry produziert. Aufgabe 2. Versehen Sie den bereits konstruierten Volladdierer mit einer idealen Verzögerung von jeweils drei Nanosekunden. Wiederholen Sie anschließend die Simulation des Carry- Ripple-Addierers und beachten Sie die Unterschiede in den Simulationen. Unter welchen Bedingungen, bezüglich der Eingabevektoren A und B, erreicht ihr Addierer seine maximale Rechenzeit? Können Sie laufzeitbedingte Phänomene wie Hazards beobachten und wenn ja, erklären Sie um welche Hazardart es sich handelt? Aufgabe 3. Implementieren Sie einen 6-Bit-Conditional-Sum-Addierer auf der Basis des gezeigten Multiplexer-Ansatzes in Abschnitt Ändern Sie hierzu die bereits von Ihnen erstellte 4:1 mux gate Entity aus dem vorangegangen Versuch 1 in einen 2:1 Multiplexer ab. Anschließend setzen Sie die Vernetzung der Komponenten mittels Schemata um. Der Addierer soll zwei 6-Bit Vektoren und ein Carry-Bit für die Eingabe haben. Für die Ausgabe soll ein 7-Bit Vektor dienen. Simulieren Sie den Entwurf mit den gleichen Testfällen aus Aufgabe 1. Aufgabe 4. Realisieren Sie nun eine Verzögerung von drei Nanosekunden für die Volladdierer und jeweils einer für jeden Multiplexer. Anschließend simulieren Sie den Entwurf erneut. Untersuchen Sie das Schaltungsverhalten auf Hazards. Aufgabe 5. Entwerfen Sie einen Carry-Lookahead-fähigen Volladdierer in VHDL (mit der Bezeichnung CLAVA) auf der Basis des schon entwickelten Volladdierers. Verwenden Sie die 18

20 KAPITEL 5. PRAKTIKUMSAUFGABEN 19 Variante ohne Verzögerung. Testen Sie Ihren Entwurf für alle möglichen Belegungen der Eingangssignale. Aufgabe 6. Erweitern Sie Ihr Projekt und entwerfen Sie einen 6-Bit-Carry-Lookahead-Addierer mittels Schemata. Verknüpfen Sie dazu 6 CLAVAs mit der Lookahead-Logik zu einem Carry-Lookahead-Addierer. Der Lookahead Generator (CLAG) steht Ihnen als Quellcode (Entity der Schaltung) auf der Praktikumswebseite zur Verfügung. Um diesen mittels Schemata zu verknüpfen, müssen Sie die Datei in das bestehende Projekt einbinden und das Schaltsymbol erzeugen. Anschließend vernetzen Sie die CLAVAs mit dem CLAG wie in Abbildung 5.1 gezeigt. Der Addierer soll zwei 6-Bit-Vektoren, ein zusätzliches Carry-Bit als Eingang und einen 7-Bit-Vektor als Ausgang haben. Simulieren Sie ihre Schaltung mit den Testfällen aus Aufgabe 1. B5 A5 B4 A4 B3 A3 B2 A2 B1 A1 B0 A0 VA VA VA VA VA VA S5 S4 S3 S2 S1 S0 p_5 g_5 p_4 g_4 p_3 g_3 p_2 g_2 p_1 g_1 p_0 g_0 C_out CLAG C_in Abbildung 5.1: Ein 6-Bit-Carry-Lookahead Addierer Aufgabe 5. Versehen Sie jetzt die CLAVAs mit einer idealen Verzögerung von drei Nanosekunden und alle anderen Gatter innerhalb des CLAG-Schaltnetzes mit einer idealen Verzögerung von einer Nanosekunde. Behandeln Sie dabei, unabhängig von der Anzahl der Eingänge, alle Und- sowie Oder-Gatter gleich. Simulieren Sie die Schaltung erneut und vergleichen Sie die worst-case Rechenzeit des Carry-Lookahead-Addierer gegenüber dem Conditional- Sum und Ripple-Carry-Addierer.

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 2: Multiplexer, Carry-Ripple- und Carry-Lookahead-Addierer

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 2: Multiplexer, Carry-Ripple- und Carry-Lookahead-Addierer Praktikum Grundlagen von Hardwaresystemen Sommersemester 2010 Versuch 2: Multiplexer, Carry-Ripple- und Carry-Lookahead-Addierer 15. April 2010 Fachbereich 12: Informatik und Mathematik Institut für Informatik

Mehr

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 2: Multiplexer, Carry-Ripple- und Carry-Lookahead-Addierer

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 2: Multiplexer, Carry-Ripple- und Carry-Lookahead-Addierer Praktikum Grundlagen von Hardwaresystemen Sommersemester 2012 Versuch 2: Multiplexer, Carry-Ripple- und Carry-Lookahead-Addierer 18. April 2012 Fachbereich 12: Informatik und Mathematik Institut für Informatik

Mehr

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 2: Multiplexer, Carry-Ripple- und Carry-Lookahead-Addierer

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 2: Multiplexer, Carry-Ripple- und Carry-Lookahead-Addierer Praktikum Grundlagen von Hardwaresystemen Sommersemester 2007 Versuch 2: Multiplexer, Carry-Ripple- und Carry-Lookahead-Addierer 26. Juni 2007 Fachbereich 12: Informatik und Mathematik Institut für Informatik

Mehr

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 2: VHDL-Einstieg

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 2: VHDL-Einstieg Praktikum Grundlagen von Hardwaresystemen Sommersemester 2014 Versuch 2: VHDL-Einstieg 22. April 2014 Fachbereich 12: Informatik und Mathematik Institut für Informatik Professur für Eingebettete Systeme

Mehr

Praktikum Grundlagen von Hardwaresystemen Sommersemester 2009. Versuch 2: Multiplexer, Carry-Ripple- und Carry-Lookahead-Addierer

Praktikum Grundlagen von Hardwaresystemen Sommersemester 2009. Versuch 2: Multiplexer, Carry-Ripple- und Carry-Lookahead-Addierer Praktikum Grundlagen von Hardwaresystemen Sommersemester 2009 Versuch 2: Multiplexer, Carry-Ripple- und Carry-Lookahead-Addierer 19. Februar 2009 Fachbereich 12: Informatik und Mathematik Institut für

Mehr

Digitale Systeme und Schaltungen

Digitale Systeme und Schaltungen Zusammenfassung meines Vortrages vom 26. Jänner 2017 Digitale Systeme und Schaltungen Andreas Grimmer Pro Scientia Linz Johannes Kepler Universität Linz, Austria andreas.grimmer@jku.at In dieser Zusammenfassung

Mehr

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15 Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 Prof. Dr Jian-Jia Chen Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-.de http://ls1-www.cs.tu-.de Übersicht

Mehr

Carry-Lookahead Addierer (CLA)

Carry-Lookahead Addierer (CLA) Carry-Lookahead Addierer (CLA) Idee: Vorausberechnung der Carry-Signale c i für alle n Stellen für i-ten Volladdierer gilt: c i+1 = a i b i + (a i +b i )c i := G i + P i c i G i = a i b i gibt an, ob in

Mehr

Erste praktische Übung zur Vorlesung Grundlagen der Technischen Informatik

Erste praktische Übung zur Vorlesung Grundlagen der Technischen Informatik Lehrstuhl für Informatik 12 Cauerstraße 11 91058 Erlangen TECHNICHE FAKULTÄT Erste praktische Übung zur Vorlesung Grundlagen der Technischen Informatik Aufgabe 1 (NAND-chalterfunktion) Es soll ein NAND-Gatter

Mehr

Rechnerstrukturen, Teil 1

Rechnerstrukturen, Teil 1 Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 18/19 Prof. Dr. Jian- Jia Chen Fakultät für Informatik Technische Universität Dortmund jian- jia.chen@cs.uni-.de http://ls12- www.cs.tu-.de Übersicht 1. Organisatorisches

Mehr

Seminararbeit Sommersemester 2017

Seminararbeit Sommersemester 2017 Schaltkreise für die Addition Seminararbeit Sommersemester 2017 Bearbeitet von: Maximilian Breymaier (Matrikelnummer: 57214) Christoph Mantsch (Matrikelnummer: 57266) Betreuer: Prof. Dr. Thomas Thierauf

Mehr

Hardware Praktikum 2008

Hardware Praktikum 2008 HaPra 2008 - Versuchsreihe 5 - ALU Hardware Praktikum 2008 Prof. Dr. H.-J. Wunderlich Dipl.-Inf. M. Imhof Dipl.-Inf. S. Holst Agenda Die HaPra-CPU Eine kleine Übersicht VHDL Projekt-Organisation Entwurf

Mehr

3.1 Schaltungselemente 129. b) Tragen Sie in nachfolgende Abbildung die Realisierung eines 1 Bit 4-auf-1 Multiplexers aus Logikgattern ein.

3.1 Schaltungselemente 129. b) Tragen Sie in nachfolgende Abbildung die Realisierung eines 1 Bit 4-auf-1 Multiplexers aus Logikgattern ein. 3.1 Schaltungselemente 129 b) Tragen Sie in nachfolgende Abbildung die Realisierung eines 1 Bit 4-auf-1 Multiplexers aus Logikgattern ein. 2 1 0 1 1 130 3 Arithmetische Schaltungen emultiplexer emultiplexer

Mehr

Inhalt. Zahlendarstellungen

Inhalt. Zahlendarstellungen Inhalt 1 Motivation 2 Integer- und Festkomma-Arithmetik Zahlendarstellungen Algorithmen für Integer-Operationen Integer-Rechenwerke Rechnen bei eingeschränkter Präzision 3 Gleitkomma-Arithmetik Zahlendarstellungen

Mehr

Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke

Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke Aufgabe 1: a) Bestimmen Sie die Darstellung der Zahl 113

Mehr

3 Arithmetische Schaltungen

3 Arithmetische Schaltungen . Schaltungselemente Arithmetische Schaltungen. Schaltungselemente Logikgatter Treiber; gibt am Ausgang denselben Logikpegel aus, der auch am Eingang anliegt Inverter; gibt am Ausgang den Logikpegel des

Mehr

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

Aufgabe 1. Aufgabe 2. Abbildung 1: Schaltung für die Multiplikation mit 4 Aufgabe 1 Eine Zahl a ist mit 8 Bits vorzeichenlos (8 bit unsigned) dargestellt. Die Zahl y soll die Zahl a multipliziert mit 4 sein (y = a 4 D ). a) Wie viele Bits benötigen Sie für die Darstellung von

Mehr

Grundlagen der Technischen Informatik

Grundlagen der Technischen Informatik Universität Duisburg-Essen PRAKTIKUM Grundlagen der Technischen Informatik VERSUCH 2 Schaltungssimulation und Schaltungsanalyse Name: Vorname: Betreuer: Matrikelnummer: Gruppennummer: Datum: Vor Beginn

Mehr

Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen. Teilen durch die Basis des Zahlensystems. Der jeweilige Rest ergibt die Ziffer.

Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen. Teilen durch die Basis des Zahlensystems. Der jeweilige Rest ergibt die Ziffer. Digitaltechnik Aufgaben + Lösungen 2: Zahlen und Arithmetik Aufgabe 1 Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen a) 4 D b) 13 D c) 118 D d) 67 D Teilen durch die Basis des Zahlensystems.

Mehr

Laborübung 3. Latches, Flipflops, Counter

Laborübung 3. Latches, Flipflops, Counter Laborübung 3 Latches, Flipflops, Counter Teil 1 Abbildung 1 zeigt den Schaltkreis eines gated D-Latches. In Listing 1 wird exemplarisch ein Stück VHDL-Code vorgestellt, der den abgebildeten Schaltkreis

Mehr

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

Lösungsvorschlag 1. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Fachgebiet Rechnerarchitektur Fachbereich Informatik Aufgabe 1.1: Verilog Lösungsvorschlag 1. Übung Technische Grundlagen der Informatik II Sommersemester 2009 a) Wie können Werte an Wire-Variablen zugewiesen

Mehr

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

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt Rechenschaltungen Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/11 1 / 22 Gliederung Schieberegister Multiplexer Zähler Addierer 2 / 22 Schieberegister

Mehr

Entwurf und Simulation einfacher Logikelemente

Entwurf und Simulation einfacher Logikelemente Entwurf und Simulation einfacher Logikelemente Philipp Fischer 10. Dezember 2002 1 Inhaltsverzeichnis I Theoretische Grundlagen 3 Einleitung 3 Entwurf einer Schaltung 3 Entitys und Architectures.........................

Mehr

Digital Design 2 Schaltnetze (kombinatorische Logik) Digital Design

Digital Design 2 Schaltnetze (kombinatorische Logik) Digital Design 2 Schaltnetze (kombinatorische Logik) Schaltnetze realisieren eine Schalt- oder Vektorfunktion Y = F (X) X: Eingangsvektor mit den Variablen x 0, x 1, x n Y: Ausgabevektor mit den Variablen y 0, y 1, y

Mehr

Übungsblatt 1 Einführung in die Xilinx Vivado FPGA Design Plattform Abgabefrist: Mittwoch , 10:00 Uhr

Übungsblatt 1 Einführung in die Xilinx Vivado FPGA Design Plattform Abgabefrist: Mittwoch , 10:00 Uhr Praktikum zur Vorlesung Prozessorarchitektur SS 2017 Übungsblatt 1 Einführung in die Xilinx Vivado FPGA Design Plattform Abgabefrist: Mittwoch 03.05.2017, 10:00 Uhr 1. Einführung In dieser Übung werden

Mehr

GTI ÜBUNG 12. Komparator und Addierer FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 1

GTI ÜBUNG 12. Komparator und Addierer FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 1 GTI ÜBUNG 12 Komparator und Addierer FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 1 AUFGABE 1 KOMPARATOR Beschreibung Entwickeln Sie eine digitale Schaltung, die zwei Bits a und b miteinander

Mehr

Laborübung 4. Zustandsautomaten (Finite State Machines)

Laborübung 4. Zustandsautomaten (Finite State Machines) Laborübung 4 Zustandsautomaten (Finite State Machines) Für den Entwurf und die Beschreibung von digitalen Systemen bilden Zustandsautomaten (Finite State Maschines; FSMs) eine wesentliche Grundlage. Mit

Mehr

Übungsblatt 1. Einführung in die Xilinx Vivado FPGA Design Plattform

Übungsblatt 1. Einführung in die Xilinx Vivado FPGA Design Plattform Praktikum zur Vorlesung Prozessorarchitektur SS 2016 Übungsblatt 1. Einführung in die Xilinx Vivado FPGA Design Plattform 1.1. Einführung In dieser Übung werden wir einen einfachen digitalen Entwurf als

Mehr

Rechnerstrukturen WS 2012/13

Rechnerstrukturen WS 2012/13 Rechnerstrukturen WS 2012/13 Boolesche Funktionen und Schaltnetze Schaltnetze Rechner-Arithmetik Addition Bessere Schaltnetze zur Addition Carry-Look-Ahead-Addierer Multiplikation Wallace-Tree Hinweis:

Mehr

Klausur ( ): Technische Grundlagen der Informatik 1 Digitale Systeme WS 2006/2007

Klausur ( ): Technische Grundlagen der Informatik 1 Digitale Systeme WS 2006/2007 Klausur (9.02.2007): Technische Grundlagen der Informatik Digitale Systeme WS 2006/2007 Vorname :.............................................. Name :.............................................. Matrikelnummer

Mehr

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Addierschaltungen

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Addierschaltungen Rechnerarithmetik Vorlesung im Sommersemester 2008 Eberhard Zehendner FSU Jena Thema: Addierschaltungen Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 1 / 19 Addierer für UInt 2 (l)

Mehr

14 Addierer und Subtrahierer

14 Addierer und Subtrahierer 14 Addierer und Subtrahierer 14.1 Darstellung positiver und negativer Zahlen Die Anzahl der Bitstellen muss festgelegt sein, um positive und negative Zahlen unterscheiden zu Binär m -1 = 3 Positiv Dezimal

Mehr

Verilog/VHDL. Mehdi Khayati Sarkandi Uni Siegen

Verilog/VHDL. Mehdi Khayati Sarkandi Uni Siegen Mehdi Khayati Sarkandi Uni Siegen Hardware Description Language (HDL) Werkzeug zum Entwurf komplexer digitaler Schaltungen, zur Simulation des Systemverhaltens, zur Überprüfung auf korrekte Funktionsfähigkeit

Mehr

Digitaltechnik Grundlagen 5. Elementare Schaltnetze

Digitaltechnik Grundlagen 5. Elementare Schaltnetze 5. Elementare Schaltnetze Version 1.0 von 02/2018 Elementare Schaltnetze Dieses Kapitel beinhaltet verschiedene Schaltnetze mit speziellen Funktionen. Sie dienen als Anwendungsbeispiele und wichtige Grundlagen

Mehr

Minimierung nach Quine Mc Cluskey

Minimierung nach Quine Mc Cluskey Minimierung nach Quine Mc Cluskey F(A,B,C,D) =!A!B!C!D +!A!B!C D +!A B!C!D +!A B!C D +!A B C!D +!A B C D + A!B!C!D + A!B!C D + A!B C D + A B C D Notiere die Funktion als # A B C D Gruppe Binärelemente

Mehr

Carry Lookahead Adder

Carry Lookahead Adder Carry Lookahead Adder Mittels der Generate und Propagate Ausdrücke lässt ich dann für jede Stelle i der Carry (Übertrag) für die Stelle i+1 definieren: Für einen 4 Stelligen Addierer ergibt sich damit:

Mehr

2. Aufgabenblatt

2. Aufgabenblatt Einführung in Computer Microsystems Sommersemester 2010 Wolfgang Heenes 2. Aufgabenblatt 28.04.2010 Aufgabe 1: Installation Xilinx ISE Als erstes muss die Entwicklungsumgebung ISE installiert werden. Die

Mehr

Grundlagen der Technischen Informatik

Grundlagen der Technischen Informatik TECHNISCHE FAKULTÄT 11. Übung zur Vorlesung Grundlagen der Technischen Informatik Aufgabe 1 (VHDL) Gegeben ist ein binärer Taschenrechner (siehe Abb. 1), der als Eingabe die Tasten 0, 1, +, - und = und

Mehr

3 Arithmetische Schaltungen

3 Arithmetische Schaltungen . Schaltungselemente 7 Arithmetische Schaltungen. Schaltungselemente Logikgatter Treiber; gibt am Ausgang denselben Logikpegel aus, der auch am Eingang anliegt Inverter; gibt am Ausgang den Logikpegel

Mehr

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 1: VHDL-Grundlagen

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 1: VHDL-Grundlagen Praktikum Grundlagen von Hardwaresystemen Sommersemester 2009 Versuch 1: VHDL-Grundlagen 8. April 2010 Fachbereich 12: Informatik und Mathematik Institut für Informatik Professur für Eingebettete Systeme

Mehr

5 VHDL Einführung (I)

5 VHDL Einführung (I) 5 VHDL Einführung (I) VHDL = Very High Speed Integrated Hardware Description Language Dient der Beschreibung von Hardware bei: Dokumentation Simulation Synthese Hardwarebeschreibungssprachen (HDLs) sind

Mehr

5.Vorlesung Rechnerorganisation

5.Vorlesung Rechnerorganisation Mario.Trams@informatik.tu-chemnitz.de, 29. April 2004 1 Inhalt: 5.Vorlesung Rechnerorganisation Wiederholung aus Digitaltechnik: Allgemeiner Überblick über VHDL (Teil 1) Schwerpunkt Modellierungssichtweisen,

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Martin Schulz Einführung in die Rechnerarchitektur Wintersemester 2017/2018 Lösungsvorschlag

Mehr

3.8 Sequentieller Multiplizierer 159

3.8 Sequentieller Multiplizierer 159 .8 Sequentieller Multiplizierer 59 Nachfolgende Abbildung zeigt den (unvollständigen) Aufbau einer Schaltung zur Implementierung des gezeigten Multiplikationsverfahrens. b) Vervollständigen Sie die Schaltung

Mehr

Klausur ( ) : Technische Grundlagen der Informatik 1 Digitale Systeme WS 2010/2011

Klausur ( ) : Technische Grundlagen der Informatik 1 Digitale Systeme WS 2010/2011 Klausur (08.04.20) : Technische Grundlagen der Informatik Digitale Systeme WS 200/20 Vorname : Max Name : Mustermann Matrikelnummer : 23456 Klausur-Code : 007 Mobiltelefone sind auszuschalten Wichtige

Mehr

Zur Multiplikation von Gleitkommazahlen müssen die Mantissen inkl. führender 1, als Festkommazahlen multipliziert werden.

Zur Multiplikation von Gleitkommazahlen müssen die Mantissen inkl. führender 1, als Festkommazahlen multipliziert werden. 70 Arithmetische Schaltungen Multiplikation vorzeichenbehafteter Zahlen Zur Multiplikation vorzeichenbehafteter Zahlen (er-komplement) kann auf die Schaltung für vorzeichenlose Multiplikation zurückgegriffen

Mehr

D.4 Versuchsreihe 4: Integrierte Logikbausteine

D.4 Versuchsreihe 4: Integrierte Logikbausteine .4 Versuchsreihe 4: Integrierte Logikbausteine Name: Gruppe: Theorie: Versuch: (vom Tutor abzuzeichnen) (vom Tutor abzuzeichnen) In den Versuchsreihen.5 bis.11 soll ein einfacher RISC Prozessor entworfen

Mehr

2 Initialisierung clk_mkand= clk_produkt= multiplexer= init/>>1= 6 Schieben clk_mkand= clk_produkt= multiplexer= init/>>1=

2 Initialisierung clk_mkand= clk_produkt= multiplexer= init/>>1= 6 Schieben clk_mkand= clk_produkt= multiplexer= init/>>1= Arithmetische Schaltungen c) Vervollständigen Sie nachfolgend abgebildeten Zustands-Automaten so, dass er den Multiplizierer wie gewünscht steuert. Nehmen Sie an, dass Sie zur Detektion des Schleifen-Abbruchs

Mehr

13. Vorlesung. Logix Klausuranmeldung nicht vergessen! Übungsblatt 3 Logikschaltungen. Multiplexer Demultiplexer Addierer.

13. Vorlesung. Logix Klausuranmeldung nicht vergessen! Übungsblatt 3 Logikschaltungen. Multiplexer Demultiplexer Addierer. 13. Vorlesung Logix Klausuranmeldung nicht vergessen! Übungsblatt 3 Logikschaltungen Diode Transistor Multiplexer Demultiplexer Addierer 1 Campus-Version Logix 1.1 Vollversion Software und Lizenz Laboringenieur

Mehr

6 Schaltwerke und endliche Automaten

6 Schaltwerke und endliche Automaten 6 Schaltwerke und endliche Automaten 6.1 Entwicklungsstufen 143 In diesem Abschnitt wird gezeigt, wie das Blockschaltbild aus 1.4 realisiert werden kann. Mithilfe der entwickelten Speicherbausteine und

Mehr

Kapitel 5. Standardschaltnetze. Prof. Dr. Dirk W. Hoffmann. Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik

Kapitel 5. Standardschaltnetze. Prof. Dr. Dirk W. Hoffmann. Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik Kapitel 5 Standardschaltnetze Prof. Dr. Dirk W. Hoffmann Hochschule Karlsruhe w Universit of Applied Sciences w Fakultät für Informatik Inhalt und Lernziele Inhalt Vorstellung der wichtigsten Standardelemente

Mehr

Kapitel 6 - Addierwerke

Kapitel 6 - Addierwerke Kapitel 6 - Addierwerke Versuch 600 Halbaddierer und Volladdierer Der bürgerliche Algorithmus des schriftlichen Addierens zerlegt die binäre Addition in die folgenden elementaren Additionen. Es ergibt

Mehr

Menschliches Addierwerk

Menschliches Addierwerk Menschliches Addierwerk Einleitung In seinem Buch The Three-Body Problem 1 beschreibt der chinesische Autor Liu Cixin die Entwicklung eines Computers, der aus mehreren Millionen Menschen zusammengesetzt

Mehr

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

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./29.05.2009 Übungen zu Architektur Eingebetteter Systeme Blatt 5 28./29.05.2009 Teil 1: Grundlagen 1.1: VHDL Bei der Erstellung Ihres Softcore-Prozessors mit Hilfe des SOPC Builder hatten Sie bereits erste Erfahrungen

Mehr

Arithmetische Schaltungen: log(n)-addierer

Arithmetische Schaltungen: log(n)-addierer Arithmetische Schaltungen: log(n)-addierer Prof. Dr. Paul Molitor Institut für Informatik Martin-Luther-Universität Halle Aufbau der Lehrveranstaltung Literaturangaben Allgemeines zum Entwurf digitaler

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris VHDL VHDL Akronym für Very High-Speed Integrated Circuit Hardware Description Language

Mehr

3 Verarbeitung und Speicherung elementarer Daten

3 Verarbeitung und Speicherung elementarer Daten 3 Verarbeitung und Speicherung elementarer Daten 3.1 Boolsche Algebra Definition: Eine Boolsche Algebra ist eine Menge B mit den darauf definierten zweistelligen Verknüpfungen (+,*) sowie der einstelligen

Mehr

x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008

x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008 Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 3. November 008 1 / 47 / 47 jede Boolesche Funktion lässt mit,, realisieren wir wollen wir uns jetzt in Richtung Elektrotechnik und

Mehr

Schriftliche Prüfung

Schriftliche Prüfung OTTO-VON-GUERICKE-UNIVERSITÄT MAGDEBURG FAKULTÄT FÜR INFORMATIK Schriftliche Prüfung im Fach: Technische Grundlagen der Informatik Studiengang: Bachelor (CV / CSE / IF / WIF) am: 19. Juli 2008 Bearbeitungszeit:

Mehr

Minimierung nach Quine Mc Cluskey

Minimierung nach Quine Mc Cluskey Minimierung nach Quine Mc Cluskey F(A,B,C,D) =!A!B!C!D +!A!B!C D +!A B!C!D +!A B!C D +!A B C!D +!A B C D + A!B!C!D + A!B!C D + A!B C D + A B C D Notiere die Funktion als # A B C D Gruppe Binärelemente

Mehr

Tristate Buffer / erste Module

Tristate Buffer / erste Module IP-Core Generator / Automaten / Platzierung Tristate Buffer / erste Module 27 November 2009 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel Self-Organization 27 November 2009 1 Inhalt IP-Core Generator Implementierung

Mehr

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 6: Computergrafik und Sprites

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 6: Computergrafik und Sprites Praktikum Grundlagen von Hardwaresystemen Sommersemester 2007 Versuch 6: Computergrafik und Sprites 28. Juni 2007 Fachbereich 12: Informatik und Mathematik Institut für Informatik Professur für Technische

Mehr

Integrierte Schaltungen

Integrierte Schaltungen Integrierte Schaltungen Klassen von Chips: SSI (Small Scale Integrated) circuit: 1 bis 10 Gatter MSI (Medium Scale Integrated) circuit: 10 bis 100 Gatter LSI (Large Scale Integrated) circuit: 100 bis 100

Mehr

Praktikum Grundlagen von Hardwaresystemen Wintersemester 2012/13. Versuch 4: VHDL-Grundlagen

Praktikum Grundlagen von Hardwaresystemen Wintersemester 2012/13. Versuch 4: VHDL-Grundlagen Praktikum Grundlagen von Hardwaresystemen Wintersemester 2012/13 Versuch 4: VHDL-Grundlagen 14 November 2012 Fachbereich 12: Informatik und Mathematik Institut für Informatik Professur für Eingebettete

Mehr

Electronic Design Automation (EDA) Technology Mapping

Electronic Design Automation (EDA) Technology Mapping Electronic Design Automation (EDA) Technology Mapping Überblick digitale Synthese Technology Mapping Abbildung durch die Abdeckung eines Baumes Partitionierung des DAG Dekomposition und Abdeckung Beispiel

Mehr

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 1: VHDL-Grundlagen

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 1: VHDL-Grundlagen Praktikum Grundlagen von Hardwaresystemen Sommersemester 2007 Versuch 1: VHDL-Grundlagen 26. Juni 2007 Fachbereich 12: Informatik und Mathematik Institut für Informatik Professur für Technische Informatik

Mehr

Minimierung nach Quine Mc Cluskey Ermitteln der Primtermtabelle

Minimierung nach Quine Mc Cluskey Ermitteln der Primtermtabelle Minimierung nach Quine Mc Cluskey Ermitteln der Primtermtabelle # A B C D OK m9 + m11 1 0 1 P1 m7 + m15 1 1 1 P2 m11 + m15 1 1 1 P3 m0 + m1 + m4 + m5 0 0 P4 m0 + m1 + m8 + m9 0 0 P5 m4 + m5 + m6 + m7 0

Mehr

Semestralklausur Einführung in Computer Microsystems

Semestralklausur Einführung in Computer Microsystems Semestralklausur Einführung in Computer Microsystems 07. Juli 2008 Dr.-Ing. Wolfgang Heenes Name (Nachname, Vorname) Matrikelnummer Unterschrift Prüfung Bitte ankreuzen Anzahl abgegebene Zusatzblätter:

Mehr

Darstellung eines 1-Bit seriellen Addierwerks mit VHDL. Tom Nagengast, Mathias Herbst IAV 07/09 Rudolf-Diesel-Fachschule für Techniker

Darstellung eines 1-Bit seriellen Addierwerks mit VHDL. Tom Nagengast, Mathias Herbst IAV 07/09 Rudolf-Diesel-Fachschule für Techniker Darstellung eines 1-Bit seriellen Addierwerks mit VHDL Tom Nagengast, Mathias Herbst IAV 07/09 Rudolf-Diesel-Fachschule für Techniker Inhalt: 1. Verwendete Tools 1.1 Simili 3.1 1.2 Tina 2. Vorgehensweise

Mehr

Konfiguration des MIG für DDR2-SDRAM Ansteuerung

Konfiguration des MIG für DDR2-SDRAM Ansteuerung Konfiguration des MIG für DDR2-SDRAM Ansteuerung Verwendete Ressourcen: Board: Spartan-3A/3AN FPGA Starter Kit Board FPGA: XC3S700AN Speicher: Micron Technology DDR2-SDRAM (MT47H32M16) Software: - ISE

Mehr

2.2 Register-Transfer-Synthese

2.2 Register-Transfer-Synthese 2.2 Register-Transfer-Synthese Register-Transfer-Synthese Überblick digitale Synthese Register-Transfer- Synthese Makrozellgeneratoren Beispiel Addierer Beispiel Speicher Synthese endlicher Automaten Zustandskodierung

Mehr

HTWK Leipzig Fakultät EIT. Praktikum Schaltungstechnik. Versuch PLD. Anleitung zum. Bedienen der Entwurfssoftware. StateCAD.

HTWK Leipzig Fakultät EIT. Praktikum Schaltungstechnik. Versuch PLD. Anleitung zum. Bedienen der Entwurfssoftware. StateCAD. Versuch PLD Anleitung zum Bedienen der Entwurfssoftware StateCAD am Beispiel einer Ampelsteuerung Prof. Dr. W. Reinhold, HTWK Leipzig 01.06.16 1 Inhaltsverzeichnis 1 STATECAD... 2 2 STATEBENCH... 15 1

Mehr

Arbeitsbereich Technische Aspekte Multimodaler Systeme. Praktikum der Technischen Informatik T1 1. Schaltnetze. Name:...

Arbeitsbereich Technische Aspekte Multimodaler Systeme. Praktikum der Technischen Informatik T1 1. Schaltnetze. Name:... Universität Hamburg, Fachbereich Informatik Arbeitsbereich Technische Aspekte Multimodaler Systeme Praktikum der Technischen Informatik T Schaltnetze Name:... Bogen erfolgreich bearbeitet:... Scheinkriterien

Mehr

GTI ÜBUNG 12 KOMPARATOR UND ADDIERER

GTI ÜBUNG 12 KOMPARATOR UND ADDIERER 1 GTI ÜBUNG 12 KOMPARATOR UND ADDIERER Aufgabe 1 Komparator 2 Beschreibung Entwickeln Sie eine digitale Schaltung, die zwei Bits a und b miteinander vergleicht. Die Schaltung besitzt drei Ausgänge: ist

Mehr

D.5 Versuchsreihe 5: Arithmetisch-Logische Einheit

D.5 Versuchsreihe 5: Arithmetisch-Logische Einheit D.5: Versuchsreihe 5: Arithmetisch-Logische Einheit D D.5 Versuchsreihe 5: Arithmetisch-Logische Einheit Abgabedatum: 21.05.2010 Name: Gruppe: Theorie: Versuch: (vom Tutor abzuzeichnen) (vom Tutor abzuzeichnen)

Mehr

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007 Paderborn Center for Parallel l Computing Paderborn University 29. Mai 2007 Übersicht 1. FPGAs 2. Entwicklungssprache VHDL 3. Matlab/Simulink 4. Entwicklungssprache Handel-C 5. Fazit Übersicht FPGAs 1.

Mehr

Übungsblatt 6. Implementierung einer Befehlspipeline

Übungsblatt 6. Implementierung einer Befehlspipeline Praktikum zur Vorlesung Prozessorarchitektur SS 2016 Übungsblatt 6. Implementierung einer Befehlspipeline 1.1. Einführung Durch die Einteilung der Befehlsverarbeitung in mehrere Zyklen in dem vorangegangenen

Mehr

Paritäts-Bit- Generator

Paritäts-Bit- Generator 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

Mehr

Multiplizierer. Beispiel komplexer arithmetischer Schaltung. Langsamer als Addition, braucht mehr Platz. Sequentielle Multiplikation

Multiplizierer. Beispiel komplexer arithmetischer Schaltung. Langsamer als Addition, braucht mehr Platz. Sequentielle Multiplikation Multiplizierer 1 Beispiel komplexer arithmetischer Schaltung Langsamer als Addition, braucht mehr Platz Sequentielle Multiplikation Kompakte kombinatorische Variante mit Carry-Save-Adders (CSA) Vorzeichenbehaftete

Mehr

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 6: Computergrafik und Sprites

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 6: Computergrafik und Sprites Praktikum Grundlagen von Hardwaresystemen Sommersemester 2009 Versuch 6: Computergrafik und Sprites 12. Mai 2009 Fachbereich 12: Informatik und Mathematik Institut für Informatik Professur für Eingebettete

Mehr

Signale und Logik (3)

Signale und Logik (3) Signale und Logik (3) Zwischenbilanz der bisherigen Erkenntnisse: Prof. Dr. A. Christidis SS 205 Energieformen (z.b. Elektrizität) können auch als Signale (=Informationsträger) genutzt werden (vgl. Telegraph).

Mehr

Wirtschaftsingenieurwesen Elektronik/Schaltungstechnik Prof. M. Hoffmann FB ETIT Übung 7 Schaltnetze 2

Wirtschaftsingenieurwesen Elektronik/Schaltungstechnik Prof. M. Hoffmann FB ETIT Übung 7 Schaltnetze 2 Wirtschaftsingenieurwesen Elektronik/chaltungstechnik Prof. M. Hoffmann FB ETIT Übung 7 chaltnetze 2 Kenntnisse bezüglich der logischen Grundfunktionen sowie der Regeln und Gesetze der chaltalgebra sind

Mehr

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

Outline Logik Speicher Synthese Signale/Variablen Packages Generische Designs. Basics. Marc Reichenbach Basics Marc Reichenbach Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 06/14 1 / 45 Gliederung Kombinatorische Logik Speicher (Latch, DFF, Register) Synthese Signale/Variablen Packages

Mehr

ERA-Zentralübung 12. Maximilian Bandle LRR TU München Maximilian Bandle LRR TU München ERA-Zentralübung 12

ERA-Zentralübung 12. Maximilian Bandle LRR TU München Maximilian Bandle LRR TU München ERA-Zentralübung 12 ERA-Zentralübung 12 Maximilian Bandle LRR TU München 27.1.2017 Schaltungsentwurf IV Rest von letzter Übung Aufgabe 11.1 Standardschaltnetze Aufgabe 10.3.3 Automaten 8 Erzeugung der Ausgabe Zuweisung der

Mehr

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt State Machines Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/11 1 / 34 Gliederung Endliche Automaten Automaten Synthese FSM Beschreibung in VHDL

Mehr

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 1: VHDL-Grundlagen

Praktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 1: VHDL-Grundlagen Praktikum Grundlagen von Hardwaresystemen Sommersemester 2007 Versuch 1: VHDL-Grundlagen 12. April 2007 Fachbereich 12: Mathematik für Informatik Institut für Informatik Professur für Technische Informatik

Mehr

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

Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Aufgabe 4.1: Zahlensysteme a) Bitte füllen Sie die leeren Zellen

Mehr

Übungsblatt 3 (10 Punkte)

Übungsblatt 3 (10 Punkte) ingo.korb [ ] tu-dortmund.de thomas.hess [ ] tu-dortmund.de niklas.ueter [ ] tu-dortmund.de Übung zur Vorlesung Eingebettete Systeme Wintersemester 15/16 Übungsblatt 3 (10 Punkte) Präsenzaufgaben zur Woche

Mehr

Versuch: D1 Gatter und Flipflops

Versuch: D1 Gatter und Flipflops Versuch: D1 Gatter und Flipflops Vorbemerkung Es ist nicht beabsichtigt, daß Sie einfach eine vorgegebene Versuchsanordnung abarbeiten. Sie sollen die hier angewendeten Zusammenhänge erkennen und verstehen.

Mehr

3-BIT VOLLADDIERER MIT EINZELNEM EINGABE-DATENBUS

3-BIT VOLLADDIERER MIT EINZELNEM EINGABE-DATENBUS Physikalisches Praktikum für Vorgerückte 3-BIT VOLLADDIERER MIT EINZELNEM EINGABE-DATENBUS Simon C. Leemann, Abteilung für Physik Versuch: Digitale Elektronik November 998 Zusammenfassung In diesem Bericht

Mehr

Laborübung 2. Teil 1: Latches, Flipflops, Counter. Abbildung 1: Schaltkreis eines Gated D-Latch

Laborübung 2. Teil 1: Latches, Flipflops, Counter. Abbildung 1: Schaltkreis eines Gated D-Latch Laborübung 2 Teil 1: Latches, Flipflops, Counter A 1 Abbildung 1 zeigt den Schaltkreis eines gated D-Latches. In Listing 1 wird exemplarisch ein Stück VHDL-Code vorgestellt, der den abgebildeten Schaltkreis

Mehr

Computerarithmetik (15b)

Computerarithmetik (15b) Computerarithmetik (15b) Dazugehöriges Beispiel: Schleife Schritt Multiplikator Multiplikand Produkt 0 Anfangswerte 0011 0000 0010 0000 0000 1 1a: 1 -> Prod. = Prod. + Mcand 0011 0000 0010 0000 0010 2:

Mehr

Computational Engineering I

Computational Engineering I DEPARTMENT INFORMATIK Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstraße 3, 91058 Erlangen 01.02.2017 Probeklausur zu Computational Engineering

Mehr

Lehrveranstaltung: Digitale Systeme. KS-Praktikums-Vorbereitung Dipl.-Inf. Markus Appel , , ,

Lehrveranstaltung: Digitale Systeme. KS-Praktikums-Vorbereitung Dipl.-Inf. Markus Appel , , , Lehrveranstaltung: Digitale Systeme KS-Praktikums-Vorbereitung Dipl.-Inf. Markus Appel 24.04.2012, 25.04.2012, 26.04.2012, 27.04.2012 Übersicht Kombinatorische Schaltungen n-bit-addierer Minimierungsverfahren

Mehr

Schülerseminar Programmieren einer Ampelsteuerung

Schülerseminar Programmieren einer Ampelsteuerung Prof. G. Kemnitz Institut für Informatik 23. April 2016 1/17 Schülerseminar Programmieren einer Ampelsteuerung Prof. G. Kemnitz Institut für Informatik 23. April 2016 Prof. G. Kemnitz Institut für Informatik

Mehr

Hardware Praktikum 2008

Hardware Praktikum 2008 HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers Hardware Praktikum 2008 Prof. Dr. H.-J. Wunderlich Dipl.-Inf. M. Imhof Dipl.-Inf. S. Holst Übersicht Entwurfsablauf Diskreter Aufbau Rechnergestützter

Mehr