20
Copyright (C) Technische Informatik Universität Duisburg-Essen PRAKTIKUM VERSUCH 3 Flipflops und Zählerentwurf Grundlagen der Technischen Informatik Name: Matrikelnummer: Vorname: Gruppennummer: Betreuer: Datum: Prof. Dr.Ing. Axel Hunger Dipl.Ing. Joachim Zumbrägel Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik 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

Grundlagen der Technischen Informatik · Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf 4/20 S R Q Q CLK ___ CLR ____ PRE Bild 1.1.4 PRE 1.2 Jump Kill (JK) Flipflop Neben

  • Upload
    others

  • View
    4

  • Download
    1

Embed Size (px)

Citation preview

Copyright (C) Technische Informatik

Universität Duisburg-Essen

PRAKTIKUM

VERSUCH 3

Flipflops

und Zählerentwurf

Grundlagen der Technischen Informatik

Name: Matrikelnummer:

Vorname: Gruppennummer:

Betreuer: Datum:

Prof. Dr.Ing. Axel Hunger Dipl.Ing. Joachim Zumbrägel Universität Duisburg-Essen

Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik

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

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

2/20

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).

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

3/20

S R Qn Qn+1 Funktionalität

0 0 0 0 Beide Eingänge sind 0, der vorherige Zustand wird gespeichert 0 0 1 1

0 1 0 0 Der reset Eingang ist 1, d.h. der Ausgang Q wird 0 0 1 1 0

1 0 0 1 Ist der Setzeingang 1, so wird das FF gesetzt, d.h. der Ausgang Q wird 1. 1 0 1 1

1 1 0 0 Diese Eingangsbelegung sollte man vermeiden: Keine Speicherung, QQ =potentielle Race condition 1 1 1 0

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.

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

QQ = = 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.

S

R

Q

Q

Bild 1.1.2

__ Q

Q

Bild 1.1.1: Ungetaktetes RS-FF aus NOR-Gattern (RS-LATCH)

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

4/20

S

R

Q

Q

CLK

___ CLR

____PRE

Bild 1.1.4

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.

Inputs Qn Qn+1

J K JK-FF RS-FF D-FF T-FF

0 0 0 0 0 X 0

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

___ PRE

___ CLR

__ Q

Q

Bild 1.1.3: Taktzustandgesteuertes RS-FF mit Preset und Clear

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

5/20

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.

Die charakteristischen Gleichungen für das JK-FF lautet: nQJnQKnQ ⋅+⋅=+ 1 .

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 JK-FF 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.

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

J Q

Q

CLK

K

D

Bild 1.3.2

D Q

Q

CLK

Bild 1.3.1

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

6/20

Die charakteristische Gleichung für T-FFs kann der Wahrheitstabelle entnommen werden:

QTn

Qn

⊕=+1

Für T = 1 gilt: Qn

Qn

=+1 , 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?

J Q

Q

CLK

K

T

Bild 1.4.1

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

7/20

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?

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

8/20

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:

)( nn XfQ =

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:

),( 1−= nnn QXfQ

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:

)( 1−= nn QfQ

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-Segment-Anzeige 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.

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

9/20

• 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 : 0111 = 0·23 + 1·22 + 1·21 + 1·20 = 7 4-Bit 5-3-2-1 Code : 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 1+n

aQ eines FFs:

),,,(1 ndQn

cQnbQn

aQfnaQ =+

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

10/20

Für die charakteristische Gleichung des JK-FFs gilt :

naQJ

naQK

naQ ⋅+⋅=+ 1

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:

),,( dQcQbQfaJ = ),,( dQcQbQfaK =

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:

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 ( nZ ), für die gilt, dass der Folgezustand 1+nZ des Zählers

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

2. Bestimmen sie nun die Ausgangsgleichung ),,,(1 ndQn

cQnbQn

aQfnaQ =+ 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 1+naQ mit der

charakteristischen Gleichung des FFs vergleichen.

Q2

Q4

Q3

Q1 X

8 3

2 7

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

11/20

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 ( 1+nZ ) dazu führt, dass am Ausgang 1

3+nQ 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 1

3+nQ 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 :

nnnnnnn QQQQQQQ 3213211

3 ⋅⋅+⋅⋅=+ Hinweis: Bei der Vereinfachung muss darauf geachtet werden, dass der Vorzustand in jedem Term enthalten ist, d.h. beim Aufstellen der Gleichungen für 1+n

iQ muss jeder Term den Zustand iQ 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:

nQJnQKnQ 331

3⋅+⋅=+

Durch Koeffizientenvergleich erhält man:

nn

nnnn

QQK

QQKQQJ

213

213213

folgt daraus

und

+=

⋅=⋅=

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

12+nQ = 321 QQQ ⋅⋅ (folgt aus den Vorzuständen 1,6)

J2 = 31 QQ ⋅

K2 = 10 22 =⇒= KK

211

1 QQQ n ⋅=+ (folgt aus den Vorzuständen 0,3,5,8)

J1 = 2Q

K1 = 10 11 =⇒= KK

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

12/20

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!

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

14+nQ =

J4 =

K4 =

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

13/20

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.

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

14/20

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).

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

Bild 4.1

S1

S4

S7

S2S5S6

S3

S1

S4

S7

S2

S5S

6 S3

S1

S4

S7

S2

S5S

6 S3

S1

S4

S7

S2

S5S

6 S3

S1

S4

S7

S2

S5S

6 S3

S1

S4

S7

S2

S5S

6 S3

S1

S4

S7

S2

S5S

6 S3

S1

S4

S7

S2

S5S

6 S3

S1

S4

S7

S2

S5S

6 S3

S1

S4

S7

S2

S5S

6 S3

S1

S4

S7

S2

S5S

6 S3

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

15/20

Aus der Wahrheitstabelle ergeben sich für S1 bis S6 in disjunktiver Normalform:

S1= )()()( 432143214321 QQQQQQQQQQQQ ++ S2= )()( 43214321 QQQQQQQQ + S3= 1 2 3 2 42 3 4 1 3 4 1 2 4 1 3( ) ( ) ( ) ( )Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q+ + + S4= )()()( 432143214321 QQQQQQQQQQQQ ++ S5= )( 4321 QQQQ S6= )()()()()()( 432143214321432143214321 QQQQQQQQQQQQQQQQQQQQQQQQ +++++

F15: Notieren Sie die Disjunktive Normalform für S7.

S7=_________________________________________________________________

Die Gleichungen wurden vereinfacht (KV-Diagramm, Boolsche Alg.) und lauten nun:

S1= )()()( 4321321421 QQQQQQQQQQ +=+ S2= )( 432 QQQ S3= 1 3 2 1 3 22 3 4 1 2 4 1 3 2 4 1 3( ) ( )Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q+ + = ⊕ + S4= 2 42 3 4 1 3( ) ( )Q Q Q Q Q Q Q+ S5= )( 4321 QQQQ S6= 1 3 1 3 4 1 3 1 3 42 4 2 4 2 1 3 2 4 2 1 3( )Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q+ + + = + + +

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).

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

16/20

Bild 4.2

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

17/20

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 Type“ wählen Sie „Schematic View“ aus.

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

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

18/20

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 Schematic-Fenster 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.

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

19/20

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.

Praktikum GTI Versuch 3: Flip-flops und Zählerentwurf

20/20

Digital Components

Symbol-Name Type-Number Library

NOT 7404 7400

AND 2-Input 7408 7400

AND 3-Input 7411 7400

NAND 2-Input 7400 7400

NAND 3-Input 7410 7400

NAND 4-Input 7420 7400

OR 2-Input 7432 7400

NOR 2-Input 7402 7400

NOR 3-Input 7427 7400

XOR 7486 7400 JK-FF

with CLR 7473 7400

JK-FF with PRE/CLR 7476 7400

JK-FF with CLR 74107 7400

JK-FF with PRE/CLR 74109 7400

D-FF with PRE/CLR 7474 7400

D-FF 7474 7400

D-TYPE REGISTER 74LS173A 74ls

REGISTER FILE O.C. 74170 7400

PRESETTABLE BINARY COUNTER 74LS197 74ls

BINARY COUNTER

7493A 74293 74177

7400

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

ROM 32⋅8 BREAKOUT