Vollsynchrone Mehrfunktionsregister

Ähnliche Dokumente
Musterlösungen. zu den Übungsaufgaben vom

Digitaltechnik Übungsaufgaben. Sequentielle Schaltungen Mit Musterlösungen

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

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

Grundlagen der Digitaltechnik GD. Aufgaben

Grundlagen der Digitaltechnik GD. Aufgaben und Musterlösungen

Grundlagen der Digitaltechnik GD. Aufgaben und Musterlösungen

Digitaltechnik Klausuraufgaben zum Üben

5. Aufgabenblatt mit Lösungsvorschlag

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

Tutorial Vivado/Verilog Teil 5 Zyklisches Schieberegister

Aufgabe 4 Nennen Sie wenigstens 3 Programmierverfahren für programmierbare Logik.

Übungsaufgaben Digitaltechnik WS 08/09. Teil 1

Praktikum Digitaltechnik SS Versuch 2

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

Zählschaltungen mit beliebiger Zählfolge entwerfen

Digitaltechnik Grundlagen 9. Zählschaltungen

Verilog/VHDL. Mehdi Khayati Sarkandi Uni Siegen

Digitaltechnik. Aufgabensammlung 1

Die Hardwarebeschreibungssprache Verilog Eine kurze Einführung

Laborübung 3. Latches, Flipflops, Counter

Digitaltechnik Grundlagen 8. Register

Multiplexer und Schieberegister

Endliche Automaten 1 WS 00/01. Steuerautomaten

Grundlagen der Technischen Informatik

Praktikum Digitaltechnik SS Versuch 3 (alte Art)

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

Kapitel 5 - Datenübertragung

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

Sequentielle Schaltungen 37 SS 96. Steuerpfad

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

Grundlagen der Digitaltechnik GD. Aufgaben und Musterlösungen

Aufgabe 7.2: Mikroprogramm-Steuerwerk analysieren

Grundlagen der Technischen Informatik

Drücken Sie (später) bei Speichere Änderungen in der Bibliothek default? auf Nein.

Minimierung mittels KV-Diagramm (Karnaugh-Plan)

Semestralklausur Einführung in Computer Microsystems

Kombinatorische Schaltungen

V0~~ärts-RUckw~-Dezim~lef74190undCBit-Binllnatiler

Grundlagen der Technischen Informatik. 13. Übung

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

Verilog Hardware Description Language (HDL)

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

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

Funktionsblöcke

DIGITALTECHNIK 08 FREQUENZ-ZÄHLER

3.1 Schaltwerke als Reihenschaltung von Flipflops

Versuch: D2 Zähler und Ampelschaltung

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

Tutorial Vivado/Verilog Teil 6 Zählerbasierter Taktgenerator

Kapitel 3 - PLA und Flip-Flops

Anhang zum Lehrbuch Digitaltechnik, Gehrke, Winzker, Urbanski, Woitowitz, Springer-Verlag, 2016.

Beschreibungsmöglichkeiten in Verilog

2. Funktionen und Entwurf digitaler Grundschaltungen

Speicherung digitaler Signale

Gruppe: Teilnehmer: Vortestate: Testat:

6. Aufgabenblatt mit Lösungsvorschlag

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

Laborübung 4. Zustandsautomaten (Finite State Machines)

Praktikum Digitaltechnik SS Versuch 1

Digitaltechnik Übungsaufgaben Wintersemester 2012/ Teil

5.2 Endliche Automaten

Aufgabe 1 Minimieren Sie mit den Gesetzen der Booleschen Algebra 1.1 f a ab ab 1 = + + Aufgabe 2. Aufgabe 3

3.8 Sequentieller Multiplizierer 159

Klausur - Digitaltechnik

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

Logik mit Gedächtnis : Sequentielle Logik

3 Initialisierung. Initialisierung. Addieren clk_mkand= clk_produkt= multiplexer= multiplexer= I0 init/>>1= mon. init/>>1= 0.

Computersysteme. 2. Grundlagen Digitaler Schaltungen 2.15 Fan-In und Fan-Out 2.16 Standard-Schaltnetze

Hard- und Softwaretechnik. Schieberegister. Andreas Zbinden. Gewerblich-Industrielle Berufsschule Bern, GIBB

Oliver Liebold. NAND (negierte Undverknüpfung) L L H L H H H L H H H L

Computergestützter IC- Entwurf

Einführung in die technische Informatik

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

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

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

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

Aufgabe 3.1 Schaltalgebra - Schaltnetze

Elektrische Logiksysteme mit Rückführung

Sprünge und Schleifen

Zeitabhängige binäre Schaltungen. Prof. Metzler 1

Handelt es sich um ein taktzustands- oder taktflankengesteuertes D-Flipflop?

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

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

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

Boolesche (Schalt-) Algebra (1)

kanonische disjunktive Normalform (KDNF, DKF) Disjunktion einer Menge von Mintermen mit gleichen Variablen

C.34 C Normalformen (4) 5.7 Hauptsatz der Schaltalgebra. 5.7 Hauptsatz der Schaltalgebra (2) 5.7 Hauptsatz der Schaltalgebra (3)

Kapitel 2 - Codierer und Multiplexer

Kapitel 2. Kombinatorische Schaltungen. Codierer und Decodierer

Bereiten Sie für alle Schaltungen einen Verdrahtungsplan vor unter Verwendung der Pin-Belegung aus den Datenblättern der verwendeten Bausteine.

Digitaltechnik Vorlesung 3

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

Grundlagen der Informationsverarbeitung:

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

Informationsverarbeitung auf Bitebene

Transkript:

VOLLSYNCHRONE MEHRFUNKTIONSREGISTER 1 Vollsynchrone Mehrfunktionsregister Mehrfunktionsregister können verschiedene Funktionen ausführen (Daten parallel übernehmen, in verschiedene Richtungen schieben, zählen usw.). Beim heutigen Stand der Technik wird eine vollsynchrone Arbeitsweise bevorzugt. Der Takt läuft durch. Alle Wirkungen sind mit kombinatorischen Verknüpfungen zu implementieren, die den Steuer- oder Dateneingängen der Flipflops vorgeschaltet sind 1. Im allgemeinen Fall sind mehrere Funktionen F1, F2, F3 usw. vorgesehen, z. B. F1 = paralleles Laden, F2 = Linksschieben, F3 = Vorwärtszählen usw. Mehrfunktionsregister mit D-Flipflops Sind n Funktionen zu implementieren, werden jedem Flipflop ein Multiplexer oder Datenselektor mit n + 1 Eingängen vorgeschaltet (Abb. 1). Der zusätzliche Eingang dient der Selbsthaltung. An die verbleibenden n Eingänge sind die jeweiligen funktionellen Verbindungen und Netzwerke angeschlossen (Dateneingänge, Ausgänge benachbarter Flipflops (zum Schieben), Zählnetzwerke usw.). Ist keine Funktion auszuführen, so ist die Selbsthaltung zu aktiveren. Vorrangregeln Vorrangregeln sind mit Zusatzbeschaltungen 2 zu implementieren. Manchmal ist es von Vorteil, die kombinatorischen Verknüpfungen mit Schaltnetzen zu erledigen, die aus 2-zu-1- Multiplexern aufgebaut sind (Abb. 2). Dann ergibt sich die Vorrangregelung aus der Reihenfolge der Multiplexer. Je näher der Multiplexer dem Flipflopeingang ist, desto höher ist die Priorität des Auswahlsignals. Mehrfunktionsregister mit DE-Flipflops Werden DE-Flipflops eingesetzt, so entfällt die Rückführung (da sie schon im Innern der Flipflops vorgesehen ist). Statt dessen ist der Erlaubniseingang CE dann zu aktivieren, wenn eine Funktion auszuführen ist (z. B. über eine disjunktive Verknüpfung der Funktionsauswahlsignale; Abb. 3). 1: Es ist nicht zulässig, den Takt zu beeinflussen oder asynchrone Eingänge auszunutzen. Derartige vollsynchron wirkende Register ergeben sich auch, wenn man die Funktionsweise mit einer Verhaltensbeschreibung erfaßt (Verilog, VHDL usw.) 2: Das sind zumeist konjunktive Verknüpfungen mit den invertierten Signalen, die jeweils mit Vorrang wirken sollen (Inhibition).

VOLLSYNCHRONE MEHRFUNKTIONSREGISTER 2 Abb. 1 Vollsynchrone Mehrfunktionsregister. a) mit Multiplexer (binär codierte Funktionsauswahl); b) mit Datenselektor (Funktionsauswahl 1 aus n). Die Funktionssignale F1, F2 usw. können Eingänge sein, aber auch Ausgänge anderer Flipflops oder Ausgänge von Verknüpfungsschaltungen, beispielsweise von Zählnetzwerken. Nähere Erläuterung im Text. a) Funktionsauswahl über Multiplexer. Sind die SELECT-Eingänge mit Nullen belegt, so geschieht nichts, und die Datenbelegung bleibt erhalten (Selbsthaltung). Ansonsten wählt jede SELECT-Belegung eine bestimmte Funktion aus. b) Funktionsauswahl über Datenselektor. Die Auswahleingänge SEL1, SEL2 usw. werden im 1-aus-n-Code angesteuert. Sind alle Auswahleingänge mit Nullen belegt, so wird über das NOR-Gatter die Rückführung aktiviert (Selbsthaltung). Abb. 2 Vollsynchrones Mehrfunktionsregister mit Vorrangsteuerung. Die Funktionen werden mit 2- zu1-multiplexern ausgewählt. Je näher ein Multiplexer dem Flipflopeingang ist, desto höher ist die Priorität der jeweils ausgewählten Funktion. Im Beispiel hat F3 die höchste und F1 die niedrigste Priorität.

VOLLSYNCHRONE MEHRFUNKTIONSREGISTER 3 Abb. 3 Vollsynchrones Mehrfunktionsregister mit DE-Flipflops. Das Erlaubnissignal CE ist dann zu aktivieren, wenn eine Funktion auszuführen ist. Entwurfsbeispiel Es ist ein vollsynchrones 4-Bit-Register gemäß Abb. 4 zu entwerfen. Grundlage: D-Flipflops und beliebige Gatter. Signal Funktion LD Laden LDN Laden invertiert PRE Setzen (alle Stellen = 1) CLR Löschen (alle Stellen = 0) Datenbelegung halten Abb. 4 Die Entwurfsaufgabe. Zunächst werden keine Vorrangregeln berücksichtigt. Es sind vier Funktionen. Demzufolge benötigen wir 4 + 1 = 5 UND-Gatter, denen eine ODER-Verknüpfung nachzuschalten ist (Abb. 5). Jede Funktion hat ein Steuersignal. deshalb ist nichts zu decodieren. Alle Steuersignale werden an ein NOR-Gatter angeschlossen. Dessen Ausgang dient dazu, die Rückführung auszuwählen (Selbsthaltung).

VOLLSYNCHRONE MEHRFUNKTIONSREGISTER 4 Abb. 5 Die erste Implementierung. Es ist Bitposition 0 dargestelöt. Alle anderen Bitpositionen sind gleichartig aufgebaut. Damit ist die Aufgabe eigentlich gelöst. Alles Weitere erledigt das Entwicklungssystem. Zwei Vereinfachungsmöglichkeiten sind offensichtlich. Die UND-Verknüpfung des Steuersignals PRE ist nicht erforderlich, und das Steuersignal CLR muß gar nicht an die ODER- Verknüpfung angeschlossen werden (Abb. 6). Abb. 6 Eine vereinfachte Implementierung.

VOLLSYNCHRONE MEHRFUNKTIONSREGISTER 5 Nun sollen die folgenden Vorrangregeln berücksichtigt werden: CLR dominiert über alle anderen Funktionen. CLR und PRE dominieren über die Ladefunktionen. LD dominiert über LDN. Hierzu werden die UND-Verknüpfungen um die entsprechenden Inhibitionen erweitert (Abb. 7). Abb. 7 So können die Vorrangregeln implementiert werden. Alle Signale, die inaktiv sein müssen, wenn die jeweilige Funktion ausgeführt werden soll, werden jeweils invertiert an die betreffenden UND-Gatter angeschlossen 3. 3: Im Beispiel kann darauf verzichtet werden, PRE invertiert auf die UND-Gatter der Signale LD und LDN einweirken zu lassen, weil die Preset-Funktion das Flipflop immer setzt und damit die Ladefunktionen einflußlos sind (Don t Cares). Diese Vereinfachung ist in Abb. 7 bereits eingeführt.

VOLLSYNCHRONE MEHRFUNKTIONSREGISTER 6 Das Beispiel als Verhaltensbeschreibung in Verilog (mit Vorrangregelung): module registerbeispiel_01(q, D, LOAD, LDN, PRE, CLR, CLK); output [3:0] Q; input [3:0] D; input LOAD, LDN, PRE, CLR, CLK; reg [3:0] Q; always @ (posedge CLK) begin 4'bxxx1: Q <= 0; 4'bxx10: Q <= 15; 4'b1x00: Q <= D; 4'b0100: Q <= ~D; // Löschen // Setzen // Laden // Negiert laden end endmodule Dieses Schema kann beliebig abgeändert werden. Im folgenden werden die Steuersignale beibehalten, die Funktionen in der Case-Anweisung aber geändert. a) Vorwärts und rückwärts zählen 4'bxxx1: Q <= 0; 4'bxx10: Q <= Q + 1; 4'b1x00: Q <= D; 4'b0100: Q <= Q - 1; // Löschen // Vorwärts // Laden // Rückwärts

VOLLSYNCHRONE MEHRFUNKTIONSREGISTER 7 b) Nach links und rechts schieben c) Nach links und rechts rotieren 4'bxxx1: Q <= 0; 4'bxx10: Q <= Q << 1; 4'b1x00: Q <= D; 4'b0100: Q <= Q >> 1; // Löschen // Linksschieben // Laden // Rechtsschieben 4'bxxx1: Q <= 0; //Löschen 4'bxx10: begin end Q[0] <= Q[3]; Q[1] <= Q[0]; Q[2] <= Q[1]; Q[3] <= Q[2]; // Linksrotieren 4'b1x00: Q <= D; // Laden 4'b0100: begin end Q[0] <= Q[1]; Q[1] <= Q[2]; Q[2] <= Q[3]; Q[3] <= Q[0]; // Rechtsrotieren