Universität Duisburg-Essen PRAKTIKUM Grundlagen der Technischen Informatik VERSUCH 2 Schaltungssimulation und Schaltungsanalyse Name: Vorname: Betreuer: Matrikelnummer: Gruppennummer: Datum: Vor Beginn des Versuchs sind die Fragen, die mit F bis Fn gekennzeichnet sind, zu beantworten. Die mit A 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
Einführung Ziel dieses Versuches ist es, mit Hilfe des Simulationsprogrammes OrCAD, einige einfache Schaltungssimulationen und Schaltungsanalysen durchzuführen. Hinweis: Die folgenden Versuche setzen grundlegende Kenntnisse über ORCAD voraus. Eine Einführung in OrCAD bietet das Dokument "Einführung zum Simulationsprogramm OrCAD". Im Rahmen der Einführung soll eine einfache Schaltung einmal mit idealen Bauteilen und einmal mit realen Bauteilen editiert und simuliert werden. Abbildung. zeigt die Schaltung mit idealen Bauteilen. Abbildung -: Einführungsbeispiel F : Vervollständigen Sie die Wahrheitstabelle und bestimmen Sie Funktionsgleichungen für Out und Out2. A B OUT OUT2 OUT = OUT2 = F 2: Was verstehen Sie unter Laufzeitverzögerung (engl.: Propagation Delay)? F 3: Worin besteht der Unterschied zwischen realen und idealen Bauteilen? 2/
F 4: Welche Auswirkung hat es, wenn 2 Leitungen mit dem gleichen Net Alias versehen werden? F 5: Wie realisieren Sie die Anzeige der logischen Zustände, die während einer Simulation auf den einzelnen Leitungen herrschen? F 6: Welche Bedeutung hat der Wert Run to time und wie groß sollte der Wert für Run to Time gewählt werden, um den in Abbildung.2a gezeigten Simulationsverlauf zu realisieren? F 7: Für die Eingangssignale unsere digitalen Schaltungen verwenden OrCAD sogenannte Quellen. Welche Quellen kennen Sie und welche Eigenschaften haben diese? F 8: Definieren Sie die COMMAND Pattern (COMMAND COMMANDN) für die Eingänge A und B! Die Schaltung mit idealen Bauteilen (Library: PSPICE/DIG_PRIM) speichern Sie bitte unter dem Namen TESTAgrnr, die Schaltung mit realen (Library: 74) Bauteilen bitte unter TESTBgrnr. Die Ergebnisse sind entsprechend den weiterfolgenden Aufgaben aufzuzeichnen und zu diskutieren. A : Vervollständigen Sie die nachfolgenden Impulsdiagramme anhand Ihrer jeweiligen Simulationsergebnisse! grnr = Gruppennummer; geben Sie hier bitte nur Ihre Gruppennummer ohne Leer- oder Sonderzeichen an; z.b.: Test32 3/
a) b) Abbildung -2: Impulsdiagramme a) für ideale Bauteile, b) für reale Bauteile 2 Schaltungssimulation Die Möglichkeit zur Simulation vereinfacht in höchstem Maße den Entwurf und die Überprüfung von Schaltungen vor der Realisierung; ohne Simulation wären Entwurf und Analyse sehr zeitaufwendig und kostspielig. Im Folgenden werden einige Schaltungen zur Simulation vorgestellt. Die Schaltungen sollen in diesem und in allen folgenden Versuchen mit TTL-Bausteinen aufgebaut werden. D.h. es wird nicht mit idealen Bausteinen, sondern mit realen Bausteinen simuliert. Das führt dazu, dass (wie in der Realität) die Bauteile Verzögerungen im Signalfluss verursachen. Diese müssen in der Simulation und ihrer Auswertung berücksichtigt werden. Wurde z.b. im Versuchsteil. ein NAND-Gatter mit zwei Eingängen mit dem Namen NAND2 aufgerufen, so muss ein negiertes NAND-Gatter in den folgenden Versuchen mit dem Namen 74 als realer Baustein aufgerufen werden. Dieser Baustein ist, wie alle anderen im Praktikum verwendeten Bausteine, in der ausgegebenen Bausteinliste zu finden. Aufgerufen werden die Bausteine über das Icon Place Part, mit anschließendem Anklicken des Bausteinnamens. 2. Code Umsetzer In der Digitaltechnik werden verschiedene Codes zur Codierung von Daten verwendet. Dies führt oftmals dazu, dass zur weiteren Verarbeitung der Daten diese von einem Code in einen anderen umgesetzt werden müssen. Es soll hier eine Schaltung zur Umsetzung des Dualcodes in den Graycode realisiert werden. In der folgenden Tabelle sind die beiden Codes angegeben; daraus werden die Boole'schen Funktionen und die Schaltung entwickelt. Dezimalzahl 2 3 4 5 6 7 Binärcode A B C Graycode D E F Tabelle 2-: Binärcode, Graycode 4/
Für die Spalte D können die weiter unten folgenden gleichwertigen Beschreibungen verwendet werden. Diese Beschreibungen werden mit Hilfe der Gesetze der Boole'schen Algebra vereinfacht und für die vereinfachte Form die entsprechende Schaltung erstellt. In der disjunktiven Normalform D = ( A B C ) + ( A B C) + ( A B C ) + ( A B C) In der konjunktiven Normalform ( A + B + C) ( A + B + C ) ( A + B + C) ( A + B C ) D = + F 9: Wie lauten für die Spalten E und F die entsprechende disjunktive und konjunktive Normalform? DNF: E = F = KNF: E = F = Die o.a. Funktionen lassen sich mit Hilfe der Bool'schen Algebra oder eines KV-Diagrammes vereinfachen. Die so minimierten Funktionen lauten: D = A E = F = ( A B ) + ( B A) ( B C ) + ( C B ) F : Leiten Sie diese Gleichungen mittels Bool'scher Algebra und KV-Diagramm aus den Gleichungen aus F 9: her! 5/
Aus den vereinfachten Funktionen lässt sich die unten stehende Schaltung entwickeln, die die Funktion des Codeumsetzers erfüllt. A 2: Erstellen Sie die Schaltung mit Capture. Da D=A gilt, ist es nicht notwendig ein Label D zu erzeugen. Die Schaltung soll den Namen UMSETgrnr 2 erhalten. Speichern Sie die erzeugte Schaltung! Abbildung 2-: Codeumsetzer A 3: Simulieren Sie die erstellte Schaltung mit den Eingangsimpulsen nach dem unten stehenden Impulsdiagramm (Abbildung 2-2: Impulsdiagramm). Tragen Sie das Simulationsergebnis in das Impulsdiagramm ein und diskutieren Sie es (Schaltung setzt Code richtig/falsch um, Verzögerungszeiten etc.). Nach der Simulation schließen Sie bitte alle aktiven Fenster. Abbildung 2-2: Impulsdiagramm 2.2 Halbaddierer Die Durchführung arithmetischer Operationen werden in der Vorlesung behandelt. Hier soll das Prinzip der Addition im Zusammenhang mit der Realisierung der Schaltung erläutert werden. Die Tabelle 2-2: Halbaddierer gibt die Funktion eines Halbaddierers wieder. 2 grnr = Gruppennummer; geben Sie hier bitte nur Ihre Gruppennummer ohne Leer- oder Sonderzeichen an; z.b.: UMSET32 6/
A B S Ü Tabelle 2-2: Halbaddierer Dabei gilt: S ist die Summe von Bit A und Bit B, Ü ist der Übertrag. Der Übertrag, der beim Summieren entsteht, kann wie folgt ausgedrückt werden: Ü = A B Die Funktion für S hat die Gestalt: S A B + B A S = ( ) ( ) = ( A B) 2.3 Volladdierer Bei einem Volladdierer wird zusätzlich der Übertrag berücksichtigt, der bei der Addition von zwei niederwertigeren Bits zustande gekommen ist. In diesem Fall sieht die Wahrheitstabelle wie folgt aus: Tabelle 2-3: Volladdierer Dabei gilt: S ist die Summe von Bit A und Bit B unter Berücksichtigung des Übertrags C in aus der niederwertigeren Stufe. C out ist der Übertrag, der sich bei dieser Addition ergibt. 7/
F : Geben Sie die Funktion für den Übertrag C out und der Summe S als Funktion der Eingänge A, B, C in in der minimierten Form an! C out = S = Die folgende Schaltung soll die Funktionalität eines Volladdierers realisieren! Abbildung 2-3: Schaltung eines Volladdierers F 2: Leiten Sie die logischen Funktionen für C out und S aus der Schaltung des Volladdierers her und vergleichen Sie sie mit den Funktionen aus F :! Erfüllt die Schaltung die Funktion eines Volladdierers? C out = S = 8/
A 4: Erstellen Sie die Schaltung in Capture und simulieren Sie diese! Die Schaltung soll den Namen VAgrnr 3 erhalten. Benutzen Sie das folgende Impulsdiagramm für die Eingänge der Simulation. Vervollständigen Sie das Impulsdiagramm und interpretieren Sie das Simulationsergebnis. 3 Schaltungsanalyse Abbildung 2-4: Impulsdiagramm Mit Hilfe von Capture ist es möglich, hierarchische Schaltungen zu entwickeln, d.h. Schaltungen in verschiedenen Ebenen aufzubauen. Dies ist bei komplexen Schaltungen, die aus einer Vielzahl von Gattern bestehen, sinnvoll. So können verschiedene Schaltungsteile zu Symbolen zusammengefasst werden (hier z.b. zum Symbol FBLKBOX*). Diese Symbole können dann als Komponenten aufgerufen werden. Anhand des Symbols FBLKBOX* soll dies dargestellt werden. Außerdem sollen anhand des Simulationsergebnisses Angaben über die unbekannte Schaltung, die sich hinter dem Symbol FBLKBOX* verbirgt, gemacht werden. A 5: Öffnen Sie das Projekt LAB und öffnen Sie das FBLBOX schematic Fenster. Abbildung 3-: Symbol einer Blackbox A 6: Platzieren Sie Eingangssignale und definieren Sie diese. A 7: Erstellen Sie ein Simulationsprofil und starten sie die Simulation. A 8: Stellen Sie die Wahrheitstabelle auf und geben Sie die Funktionsgleichung für F an. 3 grnr = Gruppennummer; geben Sie hier bitte nur Ihre Gruppennummer ohne Leer- oder Sonderzeichen an; z.b. VA32 9/
Tabelle 3-: Wahrheitstabelle der FBLKBOX*. F = A 9: Zeichnen Sie die Schaltung für die Funktionsgleichung F. Hinweis: Fragen Sie Ihre Betreuer, wie sie den Schaltplan des Symbols FBLKBOX anzeigen können /
Digitale Komponente Symbol-Name Type-Number Library NOT 744 74 AND 2-Input AND 3-Input NAND 2-Input NAND 3-Input NAND 4-Input OR 2-Input NOR 2-Input NOR 3-Input 748 74 74 74 74 74 74 74 742 74 7432 74 742 74 7427 74 XOR 7486 74 JK-FF with CLR JK-FF with PRE/CLR JK-FF with CLR JK-FF with PRE/CLR D-FF with PRE/CLR 7473 74 7476 74 747 74 749 74 7474 74 D-FF 7474 74 D-TYPE REGISTER REGISTER FILE O.C. PRESETTABLE BINARY COUNTER BINARY COUNTER ROM 32 8 5 Input, 8 Output 32 bytes memory 74LS73A 74ls 747 74 74LS97 7493A 74293 7477 ROM 32 8 74ls 74 BREAKOUT /