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

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

Aufgabe 7.2: Mikroprogramm-Steuerwerk analysieren

Einführung in Computer Microsystems Sommersemester Vorlesung Dr.-Ing. Wolfgang Heenes

Semestralklausur Einführung in Computer Microsystems

Lösungsvorschlag 6. Übung Technische Grundlagen der Informatik II Sommersemester Aufgabe 6.1: Multiplikation von positiven Dualzahlen

6. Aufgabenblatt mit Lösungsvorschlag

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

Beschreibungsmöglichkeiten in Verilog

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

2. Aufgabenblatt

GTI Bonus VHDL - EXTRA

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

Name: DT2 Klausur

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

DuE-Tutorien 4 und 6. Tutorien zur Vorlesung Digitaltechnik und Entwurfsverfahren Christian A. Mandery. WOCHE 11 AM

Grundlagen der Technischen Informatik. 13. Übung

5.2 Endliche Automaten

15 Einführung in den Entwurf von Zustandsautomaten

Speicherung digitaler Signale

Laborübung 4. Zustandsautomaten (Finite State Machines)

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

Versuchsreihe 7. Registerfile. Registerfile + Programmzähler. HaPra Versuchsreihe 7 - Registerfile + Programmzähler. 32 Register à 32 Bit

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

Übung 5: VHDL Zähler

Ein ROM soll aus mehreren ROMs (vgl. Abbildung rechts: Enable-Leitung EN, Adressleitungen ADDR, Datenleitungen DATA) aufgebaut werden.

DuE-Tutorien 16 und 17

Hochschule Emden / Leer. Ausarbeitung. Speicherung digitaler Signale

Kapitel 4. Versuch 415 T-Flipflop

Digitaltechnik. 3 Sequenzielle. Schaltungen. Revision 1.1

Verilog/VHDL. Mehdi Khayati Sarkandi Uni Siegen

3. Übung Rechnerentwurf und Mikroprogrammierung SS 2009 (Simulation, Synthese)

2 Von der Aufgabenbeschreibung zum Zustandsdiagramm

Hardwarepraktikum WS 2001/02

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

Name: DT2 Klausur Bitte achten Sie auf eine saubere Form. Nicht leserliches kann nicht bewertet werden.

Arbeitsbereich Technische Aspekte Multimodaler Systeme. Praktikum der Technischen Informatik T1 2. Flipflops. Name:...

Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 2 Sequentielle Logik. Aufgabe 1:

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

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

HARDWARE-PRAKTIKUM. Versuch L-2. Fehlersuche in digitalen Schaltungen. Fachbereich Informatik. Universität Kaiserslautern

Getaktete Schaltungen

8. Aufgabenblatt mit Lösungsvorschlag

Computergestützter IC- Entwurf

State Event Technik CT2, Donnerstag / TE402 M. Thaler, TG208, tham@zhaw.ch

Einführung in die technische Informatik

Flip Flops allgemein - Digitale Signalspeicher

DuE-Tutorien 17 und 18

Vorlesungsprüfung aus. Digitales Design. 2. Juni 2015

Grundlagen der Digitaltechnik GD. Aufgaben

Name: DT2 Klausur Bitte achten Sie auf eine saubere Form. Nicht leserliches kann nicht bewertet werden.

Teil 1: Digitale Logik

FPGA-Entwurf mit VHDL. Serie 3

Digitaltechnik II SS 2007

Tutorium: Einführung in die technische Informatik

Für den CTC-Mode kann demnach TCCR1A komplett auf 0 gesetzt werden, weil WGM11 und WGM10 in diesem Register liegen und beide laut Tabelle 0 sind:

Grundlagen der Technische Informatik / Digitaltechnik (GTI/DT)

Digitaltechnik II SS 2007

Sequenzielle Schaltungen (1)

Übung Hardwareentwurf

D.6 Versuchsreihe 6: Registersatz und Programmzähler

DIGITALE SYSTEME BBGL. W.-ING. TEIL 4 Fakultät für Elektrotechnik

aufeinander folgenden 1kHz-Pulse in gleichen Zeitabständen an die Eingänge des JK-FF gelangen.

I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK

1 Anmerkungen zur Entwicklung von GALs mit LOG/iC

Grundlagen der Informatik 2. Grundlagen der Digitaltechnik. 5. Digitale Speicherbausteine

Modul Computersysteme Prüfungsklausur SS Prof. Dr. J. Keller LG Parallelität und VLSI Prof. Dr.-Ing. W. Schiffmann LG Rechnerarchitektur

Versuch 3: Sequenzielle Logik

18 Schieberegister. Serieller Serieller Eingang 5 Stufen Ausgang. 1. Takt. 2. Takt

Übung 7: VHDL Automaten

Technische Informatik (RO)

Computertechnik Schaltwerke, Sequentielle Schaltungen Register. Register. Dr. Wolfgang Koch

E Q 1 Q 0 D 1 D X X X X

Lösung Versuch Nr. 4

Tag 3 Timer, ADC und PWM

3. Prozesse in VHDL 1

Algorithmen in Zellularautomaten

Rechnerentwurf und Mikroprogrammierung

Praktikum Digitaltechnik

5. Aufgabenkomplex. Übung und Seminar zur Vorlesung. Grundlagen der Technischen Informatik 2

Abb. 1. Abb. 1L. Abb. 2 ÜBUNGEN SEQUENTIELLE SCHALTUNGEN WS 10/11 1

Sequentielle Logik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Teil IV. Schaltwerke

Logik mit Gedächtnis : Sequentielle Logik

In diesem Abschnitt werden wir einige Schaltwerke kennenlernen, die als Basisbauteile überall im Aufbau digitaler Schaltungen verwendet werden.

Hardwarebeschreibung mit Verilog. Vorlesung Hardwareverifikation (Verification Engeneering)

Praktikum: VLSI-Entwurf. VHDL Standardzell Entwurf Entwurf einer Weckuhr

Übungen zu Systemnahe Programmierung in C (SPiC)

GAL 16V8. 4. Laboreinheit - Hardwarepraktikum SS 2002 VCC / +5V. Eingang / Clock. 8 konfigurierbare Ausgangszellen. 8 Eingänge GND / 0V.

Übungen zu Informatik 1

WS 2012/13 Klausur zur Digitaltechnik. Donnerstag,

Teil 1: Digitale Logik

1. Speicherbausteine JK-RS-Master-Slave-Flip-Flop

Entwurf asynchroner Automaten

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

Grundlagen der Technischen Informatik / Digitaltechnik (GTI/DT)

Integrierte Schaltungen

Basics. Marc Reichenbach und Michael Schmidt 05/11. Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg

Protokoll zum Versuch Flip-Flop

Basics. Marc Reichenbach und Michael Schmidt 05/11. Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg

Teil 1: Digitale Logik

Transkript:

Fachgebiet Rechnerarchitektur Fachbereich Informatik Aufgabe 2.1: Zähler Lösungsvorschlag 2. Übung Technische Grundlagen der Informatik II Sommersemester 2009 a) Beschreiben Sie einen 4-Bit-Zähler in Verilog HDL. Der Zähler hat einen Eingang für den Takt (mit clk bezeichnet). Der Zählerstand wird mit dem Ausgang count ausgegeben. module counter(clk, count); input clk; b) Der Zähler soll um einen Eingang für ein Enable -Signal erweitert werden. Es wird nur gezählt, wenn das Enable Signal high (1) ist. module counter(clk, enable, count); input clk, enable; if (enable) c) Der Zähler soll mit einem synchronen Reset (sreset) erweitert werden, so dass abhängig vom Takt der Zähler auf 0 zurückgesetzt wird. module counter(clk, enable, sreset, count); input clk, enable, sreset; if (sreset) Seite 1 von 7

d) Der Zähler soll mit einem asynchronen Reset (areset) erweitert werden, so dass unabhängig vom Takt der Zähler auf 0 zurückgesetzt wird. module counter(clk, enable, sreset, areset, count); input clk, enable, sreset, areset; always @(posedge clk or posedge areset) if (areset) else if (sreset) e) Über eine Leitung set und einen 4-Bit-Dateneingang value soll der Zähler synchron auf den Wert von value gesetzt wird, sobald set high ist. module counter(clk, enable, sreset, areset, set, value, count); input clk, enable, sreset, areset, set; input [3:0] value; always @(posedge clk or posedge areset) if (areset) else if (set) count <= value; else if (sreset) f) Der Zähler soll nur bis zu einem Wert max zählen, der über einen zu definieren Parameter gesetzt werden kann. Ist kein Parameter beim Modulaufruf angegeben, soll wie ohne einen Schwellwert gezählt werden. module counter(clk, enable, sreset, areset, count); parameter max = 15; input clk, enable, sreset, areset; always @(posedge clk or posedge areset) if (areset) else if (sreset) if (count >= max) // oder (count == max) Seite 2 von 7

else g) Schreiben Sie einen Testrahmen für die Teilaufgabe f), so dass für max = 5 zwanzig Takte ausgeführt werden. Enable soll immer 1 sein, die verschiedenen Reset-Leitungen immer 0. Geben Sie zusätzlich einen Ausdruck des Timing- Diagramms an, bei dem die Werte für clk und counter zu sehen sind. module countertest(); reg clk; wire [3:0] count; counter #(5) cnt(clk, 1, 0, 0, count); initial clk = 0; always #5 clk =!clk; initial begin repeat(20) @(posedge clk); $finish; initial begin $dumpfile( cnt.vcd ); $dumpvars(0); Alternativ: Testumgebung für Icarus mit Ausgabe auf der Konsole module test(); reg clk, enable, sreset, areset, set; reg [3:0] value; wire [3:0] count; counter #(5) c1 (clk, enable, sreset, areset, set, value, count); //Name des Moduls und der Parameterreihenfolge, Zahl in Klammern: //Maximalwert zum Testen initial begin clk = 0; //Werte zum Testen enable = 1; sreset = 0; Seite 3 von 7

areset = 0; set = 0; value = 4'b0000; repeat (20) #5 clk = ~clk; //Takt always @(clk, count) $display("clk: %b, count: %b, time: %t", clk, count, $time); initial #150 $finish; Aufgabe 2.2: T-Flip-Flop Schreiben Sie ein Modul tff mit den Eingängen t und clk (für den Takt) sowie dem Ausgang q, so dass es einem Toggle-Flip-Flop entspricht (positiv flankengesteuert; immer dann wenn t 1 ist, soll sich der Wert am Ausgang ändern). module tff(clk, t, q); input t, clk; output q; reg q; initial q = 0; if (t) q <=!q; Aufgabe 2.3: JK-Flip-Flop Schreiben Sie ein Modul jkff mit den Eingängen j, k und clk (für den Takt) sowie dem Ausgang q, so dass es einem JK-Flip-Flop entspricht (positiv flankengesteuert). J: Setzeingang, K: Rücksetzeingang. module jkff(clk, j, k, q); input j, k, clk; output q; reg q; initial q = 0; if (j && k) q <=!q; else if (j) q <= 1 b1; else if (k) q <= 1 b0; Seite 4 von 7

Aufgabe 2.4: Moore-Automat, Typ 1 Es ist untenstehes Zustandsdiagramm gegeben. Implementieren Sie einen entsprechen Automaten moore1 in Verilog. Ein Zustandswechsel erfolgt bei steiger Taktflanke, wenn die jeweilige Bedingung zutrifft. x = 1 module moore1(clk, x, y1); input clk, x; output y1; reg [1:0] s; initial s = 0; case (s) 0: if (x == 0) s <= 1; 1: if (x == 1) s <= 2; 2: s <= 0; default: s <= 0; // für den Fall s==3 case assign y1 = (s == 0) (s == 2); Aufgabe 2.5: Mealy-Automat y1 = 1 y1 = 0 y1 = 1 x = 0 x = 1 0 1 2 x = 0 Es ist untenstehes Zustanddiagramm gegeben. Implementieren Sie einen entsprechen Automaten mealy in Verilog. Ein Zustandswechsel erfolgt bei steiger Taktflanke, wenn die jeweilige Bedingung zutrifft. y = 1 y = x y = 0 x = 1 x = 0 x = 1 0 1 2 x = 0 module mealy(clk, x, y); input clk, x; output y; reg [1:0] s; initial s = 0; case (s) 0: if (x == 0) s <= 1; 1: if (x == 1) s <= 2; Seite 5 von 7

2: s <= 0; default s <= 0; // für den Fall s==3 case reg y; always @(s or x) begin case (s) 0: y = 1; 1: y = x; 2: y = 0; case // alternative kann die Ausgabe auch durch folge Zeilen erfolgen: // always @(s or x) y = (s == 0)? 1 : (s == 1)? x : (s==2)? 0 : 0; Aufgabe 2.6: Moore-Automat, Typ 2 Es ist untenstehes Zustandsdiagramm gegeben. Implementieren Sie einen entsprechen Automaten moore2 in Verilog. Das Register yd ist initial 0. Ein Zustandswechsel erfolgt bei steiger Taktflanke, wenn die jeweilige Bedingung zutrifft. yd 1 yd x yd 0 x = 1 x = 0 x = 1 0 1 2 x = 0 module moore2(clk, x, yd, state); input clk, x; output yd; output [1:0] state; assign state = s; reg [1:0] s; initial s = 0; reg yd; case (s) 0: begin if (x == 0) s <= 1; else s <= 0; yd <= 1; 1: begin if (x == 1) s <= 2; else s <= 1; yd <= x; 2: begin s <= 0; yd <= 0; Seite 6 von 7

default: s <= 0; // für den Fall s==3 case Aufgabe 2.7: Simulation und Vergleich der Automaten Simulieren Sie die Automaten aus den Aufgaben 2.4, 2.5 und 2.6. und vergleichen Sie die Zustandsfortschaltung und das Ausgangsverhalten. Die Simulation von Aufgabe 2.4 ergibt folges Verhalten: Die Simulation von Aufgabe 2.5 ergibt folges Verhalten: Die Simulation von Aufgabe 2.6 ergibt folges Verhalten: Es zeigt sich das erwartete Verhalten der Automaten (vgl. TGdI I, Automaten). Achtung Zeitmaßstab beachten! Seite 7 von 7