Grundlagen der Technischen Informatik

Universität Duisburg-Essen PRAKTIKUM Grundlagen der Technischen Informatik VERSUCH 3 Flipflops und Zählerentwurf Name: Matrikelnummer: Vorname: ...
Author: Bastian Färber
25 downloads 0 Views 692KB Size
Universität Duisburg-Essen

PRAKTIKUM

Grundlagen der Technischen Informatik VERSUCH 3 Flipflops und Zählerentwurf

Name:

Matrikelnummer:

Vorname:

Gruppennummer:

Betreuer:

Datum:

Vor Beginn des Versuchs sind die Fragen, die mit F1 bis Fn gekennzeichnet sind, zu beantworten. Die mit A1 bis An gekennzeichneten Aufgaben sind während des Praktikums zu bearbeiten Prof. Dr.Ing. Axel Hunger Dipl.Ing. Joachim Zumbrägel Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik

Copyright (C) Technische Informatik

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf

Einführung Im vorangegangenen Versuch wurden einige einfache Schaltungen mit OrCAD simuliert und analysiert. Darauf aufbauend sollen nun komplexere Schaltungen entworfen und simuliert werden, wobei nun neben den Logikgattern auch Speicherbauelemente Anwendung finden werden. Bei allen logischen Schaltungen, die wir bis jetzt bearbeitet haben, handelte es sich um rein „kombinatorische“ Schaltungen, auch Schaltnetze genannt. Bei Schaltnetzen handelt es sich um eine Komposition von reinen Logik-Gattern ohne Rückkopplung, das heißt der Ausgang von Schaltnetzen ist immer nur von der aktuellen Eingangsbelegung abhängig. Im Gegensatz dazu, handelt es sich bei „sequentiellen“ Schaltungen (Schaltwerke) um Schaltungen, deren Ausgangssignale nicht mehr ausschließlich von den Eingangssignalen der Schaltung abhängig sind, sondern zusätzlich von den inneren Zuständen der Schaltung. Diese wiederum sind abhängig von der „Sequenz“ der vorangegangen Eingangssignale. Wenn wir aber innere Zustände beibehalten wollen, bedeutet dies, dass wir in der Lage sein müssen, Zustände zu „speichern“. Speicherbauelemente erfüllen diese Forderung. Speicherbauelemente lassen sich in die asynchrone und synchrone Elemente unterteilen. Der wesentliche Unterschied liegt darin, dass asynchrone Speicherbauelemente zu jedem Zeitpunkt ihren Zustand verändern können, wohingegen synchrone Speicherbauelemente nur in bestimmten Zeitintervallen bzw. zu bestimmten Zeitpunkten ihren Zustand ändern können. Synchrone Speicherbauelemente besitzen daher eine Taktleitung (CLK).

1. Flipflops (FFs) Flipflops sind die allgemeinsten und grundlegendsten Speicherbauelemente, die für die Informationsspeicherung in digitalen Schaltungen benutzt werden. Flipflops können in einem von zwei logischen Zuständen verweilen und benötigen ein neues Eingangssignal, um ihren Zustand zu ändern. Ein Flipflop kann als 1-bit Speicherbauelement betrachtet werden. Bei getakteten FFs unterscheidet man zwischen der taktzustandsgesteuerten und der taktflankengesteuerten Variante. Taktzustandgesteuerte FFs werden auch Latches (engl. Riegel) genannt und zeichnen sich dadurch aus, dass während der aktiven Taktphase (z. B. High-Signal) jede Änderung am Eingang sofort zum Ausgang durchschaltet. Beim taktflankengesteuerten FF hingegen, wird der Ausgang nur während einer Taktflanke (also beim Wechsel von 0->1 und/oder von 1->0 ) verändert.

1.1 Reset Set (RS) Flipflop Bevor wir die unterschiedlichen Flipflopvarianten näher erläutern, werden wir kurz auf das RS-Flipflop eingehen und von diesem ausgehend erläutern, was Zustandsteuerung, Preset und Clear bedeuten. Das RS-FF ist ein einfaches Speicher FF mit zwei Eingängen, S für das Setzen (set) und R für das Zurücksetzen (reset) des FFs. Das RS-FF speichert seine Zustände solange die Eingänge S und R gleich 0 sind. Der Ausgang des RS-FFs wird 1 sobald der Eingang S auf 1 gesetzt wird. Eine 1 am R Eingang erzwingt eine 0 am Ausgang. Dieses Verhalten wird durch die Wahrheitstabelle 1.1.1 veranschaulicht (Qn ist der vorhergehende Zustand von Qn+1).

2/20

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf

S

R

Qn

Qn+1

0

0

0

0

0

0

1

1

0

1

0

0

0

1

1

0

1

0

0

1

1

0

1

1

1

1

0

0

1

1

1

0

Funktionalität Beide Eingänge sind 0, der vorherige Zustand wird gespeichert Der reset Eingang ist 1, d.h. der Ausgang Q wird 0 Ist der Setzeingang 1, so wird das FF gesetzt, d.h. der Ausgang Q wird 1. Diese Eingangsbelegung sollte man vermeiden: Keine Speicherung, Q = Q potentielle Race condition

Tabelle 1.1.1: Wahrheitstabelle für ein RS-Flipflop RS-Flipflops können sowohl mit NAND- als auch mit NOR-Gattern aufgebaut werden. Bild 1.1.1 zeigt den grundlegenden Aufbau eines auf NOR-Gattern basierenden RS-FF. Q

__ Q

S

Q

R

Q Bild 1.1.2

Bild 1.1.1: Ungetaktetes RS-FF aus NOR-Gattern (RS-LATCH) Bild 1.1.3 zeigt den Aufbau eines NAND-Gatter basierten RS-FFs mit Taktzustandssteuerung, das dazugehörige Symbolschaltbild zeigt Bild 1.1.4. Die Signale an S und R wirken sich nur dann auf die Schaltung aus, wenn ein positiver Pegel am CLK-Eingang anliegt (CLK=1). Mit Hilfe der Low-Aktiven (gekennzeichnet durch das Negationszeichen) Eingänge CLR (Clear) und PRE (Preset) kann das FF unabhängig von Takt und Vorzustand in einen wohl definierten Zustand versetzt werden. Gilt CLR = 0, PRE = 1 so folgt Q = 0, für CLR = 1, PRE = 0 folgt Q = 1. Die Belegung CLR = 0 und PRE = 0 gilt es zu vermeiden, da sonst Q = Q = 1 gelten würde, was zum einen bzgl. der Namen der Ausgänge unlogisch ist, zum anderen zu unvorhersehbaren Folgezuständen führen würde. Mit CLR = 1 und PRE = 1 arbeitet die Schaltung im „normalen Modus“ also als taktzustandsgesteuertes RS-FF.

3/20

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf

___ PRE Q

S

____ PRE

Q

___ CLR

Q

CLK __ Q

R

___ CLR

Bild 1.1.4

Bild 1.1.3: Taktzustandgesteuertes RS-FF mit Preset und Clear

1.2 Jump Kill (JK) Flipflop Neben dem RS-Flipflop existieren noch eine Reihe weiterer Flipflops. Da sich die verschiedenen Flipflop-Arten durch die äußere Beschaltung voneinander unterscheiden, wird ein universelles Flipflop vorgestellt, nämlich das JK Flipflop. Mit Hilfe dieses Flipflops ist es möglich andere Flipflop-Typen zu realisieren. Tabelle 1.2.1 stellt das zeitliche Verhalten des JK-FF, sowie des RS-FF, D-FF und des T-FF dar. Dabei steht Qn für den letzten Zustand am Ausgang Q, und Qn+1 für den Zustand, der sich bei der gegebenen Eingangsbelegung als Folgezustand am Ausgang Q einstellt. Ein X bedeutet dabei, dass diese Eingangsbelegung der Eingänge J und K verhindert werden muss. Qn

Inputs J

K

0

0

0

Qn+1 JK-FF

RS-FF

D-FF

T-FF

0

0

0

X

0

0

1

1

1

X

1

0

1

0

0

0

0

X

0

1

1

0

0

0

X

1

0

0

1

1

1

X

1

0

1

1

1

1

X

1

1

0

1

X

X

1

1

1

1

0

X

X

0

Tabelle 1.2.1 4/20

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf

Hier wird kurz auf die Funktionsweise des JK-FFs eingegangen: Falls die Bedingungen J = 0 und K = 0 erfüllt sind, bleibt der Ausgang Q unverändert erhalten. ("Speichern") Falls die Bedingungen J = 1 und K = 1 erfüllt sind, ändert sich der FF-Ausgang bei jedem Takt ("Toggle"). Falls die Bedingungen J = 0 und K = 1 oder J = 1 und K = 0 erfüllt sind, werden an den Ausgang auch diese Zustände weitergegeben, falls diese Zustände am Ausgang nicht bereits herrschen. n Die charakteristischen Gleichungen für das JK-FF lautet: Q n + 1 = K ⋅ Q n + J ⋅ Q .

Wir können anhand der Wahrheitstabelle (Tabelle 1.2.1) die Gleichungen und die Eingänge anderer FFs ableiten, die aus dem JK-FF abgeleitet werden können. Ein RS-FF kann aus einem JK-FF gebildet werden, indem verhindert wird, daβ die Eingänge J und K gleichzeitig den logischen Pegel "1" erhalten. Es soll die Bedingung J⋅K = 0 erfüllt werden.

1.3 Delay (D) Flipflop Wie der Name andeutet, ist der Zweck eines D-FFs das Speichern (oder Verzögern) einzelner Bits. Mit jedem Taktsignal wird das aktuelle Signal D am Ausgang Q übernommen. Bild 1.3.1 zeigt das Gattersymbol eines D-FFs. Anhand der Wahrheitstabelle (Tabelle 1.2.1) lässt sich erkennen, wie ein D-FF aus einem JKFF abgeleitet werden kann. Relevant sind für das D-FF nur die Eingangsbelegungen für die gilt, dass J ungleich K ist. Dies lässt sich leicht durch ein NOT-Gatter realisieren (Bild 1.3.2). Somit ist die geforderte Bedingung K = J immer erfüllt.

D

Q

CLK

D

J

Q

CLK Q

Bild 1.3.1

Q

K Bild 1.3.2

1.4 Trigger (T) Flipflop Erneut betrachten wir die Wahrheitstabelle (Tabelle 1.2.1) um festzustellen, wie ein T-FF aus einem JK-FF abgeleitet werden kann. Relevant sind für das T-FF nur Eingangsbelegungen für die gilt, das J gleich K ist. Dies wird durch eine Verbindung zwischen J und K sichergestellt (Bild 1.4.1). Somit gilt: T = J = K

5/20

Praktikum GTI

T

Versuch 3: Flip-flops und Zählerentwurf

J

Q

CLK

Die charakteristische Gleichung für T-FFs kann der Wahrheitstabelle entnommen werden: n +1 n = T ⊕Q Q n+1

Q

K Bild 1.4.1

n

Für T = 1 gilt: Q = Q , das bedeutet, dass der Ausgang mit jedem Takt zwischen 0 und 1 umschaltet (Toggle). Das hat zur Folge, dass die Frequenz des Ausgangsignals gleich der Hälfte der CLK-Frequenz ist.

F1: Bild 1.1 zeigt die Schaltung zweier Flipflops. Welches Flipflop arbeitet als D-FF und warum?

Bild 1.1

F2: Welcher Zustand ist für ein RS-FF verboten?

F3: Mit welchen Eingangsbelegungen wird das RS-FF gesetzt bzw. gelöscht?

6/20

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf

F4: Manche FFs haben zusätzliche Eingänge, wie clear (CLR) und pre-set (PRE). Welche Funktion haben diese Eingänge?

F5: Notieren Sie den charakteristischen Ausdruck für ein D-FF?

2. Register Ein Register ist ein Schaltkreis, der ganze Datenwörter speichern kann. Ein Register entsteht durch die Verbindung mehrerer FFs. Also besteht ein n-bit Register aus n FFs. Bild 2.1 veranschaulicht ein 4 Bit Register aus D-FFs.

Bild 2.1 F6: Wie muss die serielle Eingangssequenz für den Eingang D lauten, damit das Muster (D3 D2 D1 D0) = (1010) in dem 4-Bit-Register gespeichert wird?

7/20

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf

F7: Wo kann ein Register angewendet werden? Nennen Sie zwei Beispiele.

F8: Wie würden Sie die Schaltung in Bild 2.1 ändern, um ein Ring-Register zu erzeugen? Erklären Sie Ihre Antwort und zeichnen Sie die Modifikation in das Bild.

3. Zähler Bevor wir uns mit dem Entwurf eines Zählers beschäftigen, wollen wir kurz auf die charakteristische Gleichungen von Schaltnetzen bzw. Schaltwerken eingehen. Für kombinatorische Schaltungen (Schaltnetze) gilt, dass die Ausgänge (Q) immer nur von der aktuellen Eingangsbelegung (X) abhängig sind. Es gilt also: Qn = f ( X n ) Der Ausgang einer sequentiellen Schaltung (Schaltwerk) hingegen, hängt nicht nur von gegenwärtigen Eingängen, sondern auch von den inneren Zuständen der Schaltungen ab, die wiederum aus vorhergehenden Eingängen resultieren. Folglich gilt:

Q n = f ( X n , Q n−1 ) Eine der typischsten Anwendungen für sequentielle Schaltungen ist ein Zähler. Besitzt der Zähler außer dem Takteingang keine weiteren Eingänge, so hängt der Zustand des Zählers nur vom vorhergehenden Zustand ab: Q n = f (Q n−1 )

3.1 (5-3-2-1 Code) Zähler Im Praktikum soll ein (5-3-2-1 Code) Zähler entwickelt werden, der über ein Schaltnetz eine 7-Segment-Anzeige ansteuert. Die Dezimalzahlen 0-9, die später auf der 7-Segment-Anzeige dargestellt werden, sind im 5-3-2-1 Code codiert (siehe Tabelle 3.1.1). Das Schaltwerk soll mit einem Takt (CLK) die Sequenz 0,1,2,3,4,5,6,7,8,9,0,1,… generieren, d.h. die 7-SegmentAnzeige soll nacheinander die einzelnen Dezimalzahlen darstellen und folglich nach der Zahl 9 wieder mit der 0 beginnen. Bevor wir mit dem eigentlichen Entwurf beginnen, noch einige Erläuterungen: •

Aufwärtszählend bedeutet, dass der Zähler ausgehend vom aktuellen Zählerstand mit dem nächsten Takt den nächsthöheren Wert annimmt.



Selbstanlaufend bedeutet, dass der Zähler zusätzlich beim Einschalten mit dem Startzustand (hier 0) beginnt.

8/20

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf



Bei einem synchronen Zähler werden alle Flipflops durch einen gemeinsamen Takt gesteuert.



Bei einem asynchronen Zähler werden die Flipflops nicht durch einen gemeinsamen Takt gesteuert, sondern werden z.B. von den Ausgängen anderer Flipflops getaktet.



Der 5-3-2-1 Code ist ein 4-Bit Binärcode, wobei die jeweiligen Bit-Stellen genau dem Dezimalwert entsprechen, wie er im Namen vorgegeben ist. Beispiel: Dezimal 7 4-Bit Dual Code : 4-Bit 5-3-2-1 Code :

0111 = 0·23 + 1·22 + 1·21 + 1·20 = 7 1010 = 1·5 + 0·3 + 1·2 + 0·1 = 7

3.2 Entwurf des Schaltwerks für einen (5-3-2-1 Code) Zähler Es soll nun der Zähler mit Hilfe von vier JK-FFs realisiert werden. Dazu ist die Codierungstabelle des Zählers wie folgt gegeben: Dezimalzahl (Zählerzustand)

Stellenwert/FF-Ausgänge 5

3

2

1

Q4

Q3

Q2

Q1

0

0

0

0

0

1

0

0

0

1

2

0

0

1

0

3

0

1

0

0

4

0

1

0

1

5

1

0

0

0

6

1

0

0

1

7

1

0

1

0

8

1

1

0

0

9

1

1

0

1

Tabelle 3.1.1 Es stellt sich nun die Frage, wie die einzelnen FFs miteinander verbunden werden müssen, um die Funktionalität des Zählers so zu realisieren, dass sie der Wahrheitstabelle (Tabelle 3.1.1) entspricht. Dazu betrachten wir zunächst die Ausgangsgleichung Qan +1 eines FFs: Qan +1 = f (Qan , Qbn , Qcn , Qdn )

9/20

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf

Für die charakteristische Gleichung des JK-FFs gilt : Q n + 1 = K ⋅Q n + J ⋅Q n a a a

Wir müssen nun die allgemeine Ausgangsgleichung in eine Form bringen, die uns den Koeffizientenvergleich mit der charakteristischen Gleichung erlaubt, so dass wir Folgendes ableiten können: J a = f (Qb , Qc , Qd )

K a = f (Qb , Qc , Qd )

Um die Ausgangsgleichungen für die FFs zu bestimmen, soll nun ein KV-Diagramm verwendet werden. F9: Vervollständigen Sie das KV-Diagramm für den 5-3-2-1 Code: Q2

X Q1 Q3

8 2

3

7 Q4

Bild. 3.2.1: KV-Diagramm des 5-3-2-1 Code Nun führen Sie für jedes FF folgende Schritte durch: 1.

Auflisten aller Zählerzustände ( Z n ), für die gilt, dass der Folgezustand

Z n +1 des

Zählers

zu einer 1 an dem jeweiligen Ausgang des betrachteten FFs führt ( Q an +1 = 1 ). 2.

Bestimmen sie nun die Ausgangsgleichung Qan+1 = f (Qan , Qbn , Qcn , Qdn ) für das FF entweder mit Hilfe der Wahrheitstabelle oder mit Hilfe des KV-Diagramms (einfacher).

3.

Leiten Sie nun die Gleichungen für Ja und Ka her, indem Sie die Funktion Qan+1 mit der charakteristischen Gleichung des FFs vergleichen.

10/20

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf

Beispiel: Um die Vorgehensweise zu verdeutlichen, wird diese am Beispiel der Belegungen für J3 und K3 ausführlicher beschrieben.

1.

Zunächst werden aus der Codierungstabelle des Zählers die Zustände herausgesucht, deren Folgezustand ( Z n +1 ) dazu führt, dass am Ausgang Q3n +1 eine "1" anliegt. Dies ist bei den Zuständen 2,3,7,8 der Fall, da bei den entsprechenden Folgezuständen 3,4,8,9 Q3n +1 den Wert 1 annimmt.

2.

Nun kann mit der Tabelle die disjunktive Normalform für diese 4 Zustände (2,3,7,8) aufgestellt werden oder direkt aus dem KV-Diagramm eine vereinfachte Darstellung abgelesen werden : n n n n n n Q3n +1 = Q1 ⋅ Q 2 ⋅ Q3 + Q1 ⋅ Q 2 ⋅ Q3 Hinweis: Bei der Vereinfachung muss darauf geachtet werden, dass der Vorzustand in jedem Term enthalten ist, d.h. beim Aufstellen der Gleichungen für Qin +1 muss jeder Term den Zustand Qi enthalten, da sonst später kein Vergleich mit der charakteristischen Gleichung des JK-FF möglich ist, ohne den Term zu erweitern.

3.

Obige Gleichung wird nun mit der charakteristischen Gleichung des JK-FFs verglichen. Sie lautet für diesen speziellen Fall: Q

n n +1 n = K ⋅Q + J ⋅Q 3 3 3

Durch Koeffizientenvergleich erhält man: J 3 = Q 1n ⋅ Q 2 n und

K 3 = Q 1n ⋅ Q 2 n

daraus folgt K 3 = Q1n + Q 2 n

Zur Bestimmung der anderen Funktionen wird analog vorgegangen. Daraus folgt: Q1

n +1

J1 = K1 =

= Q1 ⋅ Q2 (folgt aus den Vorzuständen 0,3,5,8) Q2

K 1 = 0 ⇒ K1 = 1

Q2n+1 = Q1 ⋅ Q2 ⋅ Q3 (folgt aus den Vorzuständen 1,6) J2 = K2 =

Q1 ⋅ Q3

K2 = 0 ⇒ K2 = 1

11/20

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf

F10: Leiten Sie nun die Funktionen für die fehlenden Eingänge J4, K4 des vierten FFs ab. Verwenden Sie nicht die „Don’t care“ Zustände!

Q4n+1 = J4 = K4 =

F11: Ist es möglich die Funktion der Eingänge J und K zu vereinfachen? Wenn ja, wie?

12/20

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf

F12: Vervollständigen Sie den Schaltkreis in Bild 3.2.2 unter Verwendung der Gleichungen von K3 , J4 und K4

Fig. 3.2.2: 5-3-2-1 Counter F13: Was ist der Unterschied zwischen einem synchronen und einem asynchronen Zähler? Welche Art Zähler stellt der Schaltkreis in Bild 3.2.2 dar? Erklären Sie Ihre Antwort.

13/20

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf

4. Entwurf des Schaltnetzes zur Steuerung einer 7-Segment-Anzeige Zur Ansteuerung der 7-Segment-Anzeige wird nun ein Schaltnetz benötigt, welches die Ausgänge des entwickelten Zählers so codiert, dass eine Ansteuerung der 7-Segment-Anzeige möglich ist. Die Anordnung der einzelnen Segmente der Anzeige ist in Bild 4.1 gegeben. Ein Segment leuchtet, sobald es mit einer logischen 0 angesteuert wird. Die Schaltung soll so realisiert werden, dass beim Auftreten einer nicht definierten Kombination alle Segmente leuchten (d.h. sie werden mit einer logischen "0" angesteuert).

S6

S6

S6

S3

S3

S3

S3 S6

S5

S6

S4 S5

S5

S5

S5

S2

S3

S4

S2

S4

S1 S2

S4

S1 S2

S4

S1 S2

S1

S1 S2

S3

S1

S7

S7

S7

S7

S7

S1

S1

S1

S1

S1

S3

S3

S3 S6

S6

S6

S6 S7

S5

S6

S3

S6

S2

S7

S4 S5

S7

S4 S5

S5

S5 S7

S4

S2

S4

S2

S2 S4

S7

S2

S5

S3

S4

S7

Bild 4.1

F14: Vervollständigen Sie folgende Wahrheitstabelle:

Number

Q4

Q3

Q2

Q1

S7

S6

S5

S4

S3

S2

S1

0

0

0

0

0

0

0

0

1

0

0

0

1

0

0

0

1

1

0

1

1

0

1

2

0

0

1

0

0

1

0

1

0

0

3

0

1

0

0

1

0

0

1

0

0

4

0

1

0

1

1

0

0

0

0

1

5

1

0

0

0

1

0

0

0

1

0

6

1

0

0

1

0

0

0

0

1

1

7

1

0

1

0

1

0

1

1

0

0

8

1

1

0

0

0

0

0

0

0

0

9

1

1

0

1

1

0

0

0

0

0

Tabelle 4.1: Wahrheitstabelle der 7-Segment-Anzeige 14/20

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf

Aus der Wahrheitstabelle ergeben sich für S1 bis S6 in disjunktiver Normalform: S1= (Q1 Q 2 Q 3 Q 4 ) + (Q1 Q 2 Q3 Q 4 ) + (Q1 Q 2 Q 3Q4 ) S2= (Q1 Q 2 Q 3Q4 ) + (Q1 Q 2 Q 3Q4 ) S3= (Q1 Q 2 Q 3 Q 4 ) + (Q1Q2 Q 3 Q 4 ) + (Q1 Q 2Q3 Q 4 ) + (Q1Q2 Q 3Q4 ) S4= (Q1 Q 2 Q 3 Q 4 ) + (Q1 Q 2 Q 3 Q 4 ) + (Q1Q2 Q 3Q4 ) S5= (Q 1Q2 Q 3 Q 4 ) S6= (Q1 Q 2 Q 3 Q 4 ) + (Q1 Q 2 Q3 Q 4 ) + (Q1 Q 2 Q3 Q 4 ) + (Q1 Q 2 Q 3Q4 ) + (Q1Q2 Q 3Q4 ) + (Q1 Q 2 Q3Q4 ) F15: Notieren Sie die Disjunktive Normalform für S7.

S7=_________________________________________________________________ Die Gleichungen wurden vereinfacht (KV-Diagramm, Boolsche Alg.) und lauten nun: S1= (Q1 Q 2 Q 4 ) + (Q1 Q 2 Q 3 ) = Q1 Q 2 (Q 3 + Q 4 ) S2= (Q 2 Q 3Q4 ) S3= Q1 Q 2 Q 3 Q 4 + Q1 Q 2Q3 Q 4 + Q1Q2 Q 3 = Q 2 Q 4 (Q1 ⊕ Q3 ) + (Q1Q2 Q 3 ) S4= (Q 2 Q 3 Q 4 ) + (Q1Q2 Q 3Q4 ) S5= (Q 1Q2 Q 3 Q 4 ) S6= Q 2 Q 4Q1 + Q 2 Q 4Q3 + Q1 Q 2Q3 + Q1 Q 3Q4 = Q 2 Q 4 (Q1 + Q3 ) + Q1 Q 2Q3 + Q1 Q 3Q4 F16: Vereinfachen Sie die Funktion für S7

S7=_________________________________________________________________

F17: Vervollständigen sie die das Schaltnetz für die 7-Segement Anzeige (nächste Seite).

15/20

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf

16/20 Bild 4.2

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf

5 Hierarchische Blöcke Wenn wir komplexe Schaltungen entwickeln, die entsprechend viele Bauteile enthalten, werden Schaltungen schnell unübersichtlich. Oft besteht auch der Wunsch bestimmte Schaltungen zu einer funktionalen Einheit zusammenzufassen, so dass eine solche Einheit später in anderen Schaltungen wieder verwendet werden kann. Um diese Probleme zu lösen, bietet OrCAD das Erzeugen von hierarchischen Schaltungen an. Hierarchische Blöcke sind Schaltungen, die zu einer Einheit zusammen gefügt wurden und somit als quasi als „neu erstelltes Bauteil“ innerhalb anderer Schaltungen verwendet werden können.

5.1 Hierarchische Ports Um eine Schaltung als hierarchischen Block verwenden zu können, muss die Schaltung an den jeweiligen Ein-und Ausgängen mit sogenannten „Hierarchical Ports“ Anschlüssen versehen werden. Nach dem diese „Ports“ platziert wurden, müssen sie noch entsprechend benannt werden. Um hierarchische Anschlüsse zu platzieren wählen Sie „Place → Hierarchical Port„ Wählen Sie die „Capsym.olb“ Bibliothek aus. Aus der „Parts“ Liste wählen Sie den Typ des Anschlusses und benennen Sie den Anschluss. Anschließend bestätigen Sie mit OK. Jetzt können Sie den „Hierarchical Port“ auf der „Schematic Page“ so verwenden, wie jedes andere Element.

5.2 Hierarchische Blöcke Platzieren Hierarchische Blöcke repräsentieren eine „Schematic Page“. Wenn Sie einen hierarchischen Block erstellen, spezifizieren Sie den Namen „Schematic Page“, die der hierarchische Block darstellen soll. Um einen hierarchischen Block zu platzieren, wählen Sie „Place → Hierarchical Block„ im „Edit“ Menü oder verwenden Sie das Symbol der Werkzeugpalette. Das „Place Hierarchical Block“ Dialogfeld sollte wie in Bild 5.2.1. dargestellt erscheinen. Geben Sie den Namen der zu referenzierenden „Schematic Page” in das Textfeld „Reference“ ein. Behalten Sie die Einstellung „Default“ bei. Im Feld „Implementation „Schematic View“ aus.

Type“

wählen

Sie

Nun können sie das Feld „Implementation Name“ ausfüllen. Tragen Sie hier den Namen des „Schematic Folder“ ein, der die „Schematic Page“ enthält, die sie im Feld „Reference“ angegeben haben. Bild 5.2.1: Place Hierarchical Block

17/20

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf

Bestätigen Sie nun ihre Einstellungen mit „OK“. Sie können nun den hierarchischen Block platzieren, in dem Sie mit der linken Maustaste ein Rechteck zeichnen. Falls Sie alle Einstellungen korrekt vorgenommen haben, werden automatisch die Pins des hierarchischen Blocks angezeigt. Die Pins korrespondieren mit den „Hierarchical Ports“, die sie in der zugehörigen „Schematic Page“ definiert haben.

6 Design und Simulation der Gesamtschaltung 6.1 Schaltwerk des (5-3-2-1 Code) Zählers A1: Erstellen Sie ein Analog or mixed A/D Projekt und nennen Sie es Lab2. Benennen Sie den „Schematic Folder“ von SCEMATIC1 nach Lab2 um. Die Datei („Schematic Page“) im „Schematic Folder“ benennen sie bitte von PAGE1 nach Lab2Circuit um. A2: Erstellen Sie einen neuen „Schematic Folder“ namens Counter. In dem Ordner Counter erstellen Sie eine neue Datei (new page) namens CounterCircuit. Erstellen Sie in dem Schematic-Fenster der Schaltung CounterCircuit die Schaltung, die Sie in Aufgabe F12 (Bild 3.2.2) gezeichnet haben und platzieren und benennen sie die Ports an den Ein- und Ausgängen der Schaltung. A3: Erstellen Sie innerhalb der Schaltung Lab2Circuit einen hierarchischen Block für den Counter. A4: Simulieren Sie den Hierarchischen Block mit entsprechenden Eingangssignalen um die Funktionalität zu überprüfen.

6.2 Schaltnetz der 7-Segment Anzeige A5: Erstellen Sie einen neuen „Schematic Folder“ namens Controller. In dem Ordner erstellen Sie eine neue Datei (new page) namens ControllerCircuit. Erstellen Sie in dem SchematicFenster der Schaltung ControllerCircuit die 7-Segment-Anzeige, die sie in Aufgabe F17 (Bild 4.2) erstellt haben und platzieren und benennen sie die Ports an den Ein- und Ausgängen der Schaltung A6:. Erstellen Sie innerhalb der Schaltung Lab2Circuit einen hierarchischen Block für den Controller. A7: Verbinden Sie die beiden hierarchische Blöcke des Counters und des Controllers.

18/20

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf

6.3 Simulation der Gesamtschaltung Bild 6.3.1 zeigt die zu erstellende Gesamtschaltung.

Bild 6.3.1: Gesamtschaltung

A8: Simulieren Sie die Schaltung mit entsprechenden Eingangssignalen um die Funktionalität zu überprüfen.

19/20

Praktikum GTI

Versuch 3: Flip-flops und Zählerentwurf

Digital Components Symbol-Name

Type-Number

Library

NOT

7404

7400

7408

7400

7411

7400

7400

7400

7410

7400

7420

7400

7432

7400

7402

7400

7427

7400

7486

7400

7473

7400

AND 2-Input AND 3-Input NAND 2-Input NAND 3-Input NAND 4-Input OR 2-Input NOR 2-Input NOR 3-Input XOR JK-FF with CLR JK-FF with PRE/CLR JK-FF with CLR JK-FF with PRE/CLR D-FF with PRE/CLR

7476

7400

74107

7400

74109

7400

7474

7400

D-FF

7474

7400

74LS173A

74ls

74170

7400

74LS197

74ls

BINARY COUNTER

7493A 74293 74177

7400

ROM 32⋅8 5 Input, 8 Output 32 bytes memory

ROM 32⋅8

BREAKOUT

D-TYPE REGISTER REGISTER FILE O.C. PRESETTABLE BINARY COUNTER

20/20