Praktikum. Technologie der Funktionswerkstoffe. Digitalschaltungen. (Versuch 3)



Ähnliche Dokumente
Praktikum. Technologie der Funktionswerkstoffe. Digitalschaltungen. (Versuch 3)

Installation OMNIKEY 3121 USB

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Arbeiten mit dem Outlook Add-In

Eine Logikschaltung zur Addition zweier Zahlen

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

GeoPilot (Android) die App

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Hex Datei mit Atmel Studio 6 erstellen

Die nachfolgende Anleitung zeigt die Vorgehensweise unter Microsoft Windows Vista.

Installationsanleitungen

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player

Anleitung zum Upgrade auf SFirm 3.x + Datenübernahme. I. Vorbereitungen

Anleitung zum Upgrade auf SFirm Datenübernahme

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Kapitel 1: Betriebssystem IX. W indows Explorer und der Arbeitsplatz Teil 2

Klicken Sie mit einem Doppelklick auf das Symbol Arbeitsplatz auf Ihrem Desktop. Es öffnet sich das folgende Fenster.

Anleitung zum Upgrade auf SFirm Datenübernahme

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Handbuch : CTFPND-1 V4

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 11 und VMware Player

Whitepaper. Produkt: combit address manager / combit Relationship Manager. Datenabgleich zwischen Notebook und Desktop-PC / Server

Sicherung persönlicher Daten

Stepperfocuser 2.0 mit Bootloader

Handbuch B4000+ Preset Manager

Standard Daten-Backup-Script

Folgeanleitung für Fachlehrer

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Überprüfung der digital signierten E-Rechnung

Lizenzen auschecken. Was ist zu tun?

OS Anwendungsbeschreibung

Anleitung zum Erstellen einer Library (Altium)

Wir wünschen Ihnen viel Freude und Erfolg mit Ihrem neuen X-PRO-USB-Interface. Ihr Hacker-Team

Sichern der persönlichen Daten auf einem Windows Computer

Windows 7 32 Bit (x32) Windows 7 64 Bit (x64)

eduvote Ein Umfragesystem für Lehrveranstaltungen - PowerPoint Add-In -

Datensicherung. Beschreibung der Datensicherung

Aufrufen des Konfigurators über eine ISDN- Verbindung zur T-Eumex 628. Eine neue ISDN-Verbindung unter Windows XP einrichten

support Kurzanleitung Kunde Version 5.1.1

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

Windows 7 Winbuilder USB Stick

32.4 Anpassen von Menüs und Symbolleisten 795i

Übung - Datensicherung und Wiederherstellung in Windows 7

Urlaubsregel in David

Arbeiten mit UMLed und Delphi

A.u.S. Spielgeräte GmbH A-1210 Wien Scheydgasse 48 Tel.+43-(0) Fax. +43-(0)

System-Update Addendum

Installation älterer Programmversionen unter Windows 7

1 Einleitung. Lernziele. Dokumente vergleichen. Änderungen mit Überarbeitungsfenster bearbeiten Lerndauer. 4 Minuten.

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

PCtoK1 Lizenzmanagement

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Bei der Installation folgen Sie den Anweisungen des Installations- Assistenten.

Mediumwechsel - VR-NetWorld Software

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Die Dateiablage Der Weg zur Dateiablage

iphone-kontakte zu Exchange übertragen

SICHERN DER FAVORITEN

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

TeamSpeak3 Einrichten

LTSpice Tutorial 2: Eigene Modelle und Symbole

How to install freesshd

ICS-Addin. Benutzerhandbuch. Version: 1.0

Eigene Dokumente, Fotos, Bilder etc. sichern

Windows / Mac User können sich unter folgenden Links die neueste Version des Citrix Receiver downloaden.

Dateien mit Hilfe des Dateimanagers vom USB-Stick kopieren und auf der Festplatte speichern

Allgemeine USB Kabel Installation und Troubleshooting

Der einfache Weg zum CFX-Demokonto

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Für Windows 7 Stand:

1. Einführung. 2. Weitere Konten anlegen

Verwendung des IDS Backup Systems unter Windows 2000

DFÜ-Netzwerk öffnen Neue Verbindung herstellen Rufnummer einstellen bundesweit gültige Zugangsnummer Benutzererkennung und Passwort

Startmenü So einfach richten Sie surfen manuell auf Ihrem PC oder Notebook ein, wenn Sie Windows XP verwenden.

2. Konfiguration der Adobe Software für die Überprüfung von digitalen Unterschriften

TELIS FINANZ Login App

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 14 und VMware Player

Folgeanleitung für Klassenlehrer

Mediumwechsel - VR-NetWorld Software

Workshop: Eigenes Image ohne VMware-Programme erstellen

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Funktionsbeschreibung Datenlogger DL28W

Starten der Software unter Windows 7

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Lehrer: Einschreibemethoden

Durchführung der Datenübernahme nach Reisekosten 2011

Anleitung zur Webservice Entwicklung unter Eclipse

Fingerpulsoximeter. A. Wie führt man einen Echtzeitdatentransfer vom PULOX PO-300 zum Computer durch und speichert diese Messdaten auf dem PC?

TrekStor - ebook-reader TrekStor (TS) Edition - Firmware-Update

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

IDEP / KN8 für WINDOWS. Schnellstart

Mein eigener Homeserver mit Ubuntu LTS

HostProfis ISP ADSL-Installation Windows XP 1

Anleitungen zum Publizieren Ihrer Homepage

Transkript:

Labor für Chip-Design und Mikroelektronik Praktikum Technologie der Funktionswerkstoffe Digitalschaltungen (Versuch 3) Gliederung: 1. Einleitung 2. Grundlagen: Hierarchisches Entwurfsverfahren 3. Das Entwurfswerkzeug eproduct Designer 4. Versuchsschaltungsschaltungen 5. Versuchsdurchführung 6. Versuchsvorbereitung 7. Versuchsauswertung 1. Einleitung Seit der Öffnung der Weltmärkte Anfang der 90-er Jahre sind höchste Qualität und eine möglichst frühe Markteinführung neuer Produkte eine wesentliche Voraussetzung für den Erhalt der Wettbewerbsfähigkeit und den Gewinn neuer Marktanteile. Bei innovativen hochkomplexen elektronischen Schaltungen scheinen diese beiden Forderungen, einerseits nach steigenden Qualitätsstandards und andererseits trotz zunehmender Komplexität immer kürzeren Entwicklungszeiten, einen nur schwer lösbaren Widerspruch darzustellen. Durch einen systematischen Einsatz von CAD-gestützten Entwurfswerkzeugen und die Beachtung erprobter Entwurfsabläufe ('Design-Flows') läßt sich dieses Problem jedoch relativ gut bewältigen. Bei methodischem Vorgehen kann, trotz steigender Integrationsdichte und wachsender Komplexität, digitale Hardware in immer kürzerer Zeit mit einer bemerkenswerten Fehlerfreiheit entworfen werden.

Neben der eigentlichen, spezifizierten Funktion der Schaltung nimmt bei modernen Design- Flows die Berücksichtigung der Testbarkeit und die Testvorbereitung eine zentrale Rolle im Entwurfsprozeß ein, denn bei nahezu konstant bleibender Anzahl externer Anschlüsse (Pins) werden die komplexeren Schaltungen für den Test immer undurchsichtiger und die Testkosten steigen exponentiell an. Wirtschaftliche Tests können nur noch gewährleistet werden, wenn bereits zu Beginn des Entwurfsprozesses die Testmethode festgelegt wird und die zu entwerfende Schaltung um die erforderliche Testlogik erweitert wird. Parallel zum Entwurf der Schaltung muss mit Hilfe von Logiksimulationen, Fehlersimulationen und ATPG (Automatic Test Pattern Generation) dann die Möglichkeit des 100%-igen Tests der Schaltung nachgewiesen werden. Die hierbei entstandenen Testmuster sowie die laut Simulation zu erwartenden Ausgangsreaktionen der Schaltung werden später bei praktischen Tests an der realisierten Schaltung verwendet. Neben diesen CAD-gestützten Entwurfsverfahren, die zu einer weitgehenden Fehlerfreiheit führen, kann die Zeit bis zur Markteinführung der Produkte vor allem auch durch die Realisierung mit feldprogrammierbaren Gate-Arrays (FPGAs) verkürzt werden. Durch die Fortschritte in der Halbleitertechnologie ist es mittlerweile möglich, Schaltungen mit bis zu mehreren 100K Gatteräquivalenten in FPGAs zu programmieren. Dies ermöglicht insbesondere auch kleineren und mittleren Unternehmen kostengünstig und zeitsparend integrierte Schaltungen in kleinen Stückzahlen zu realisieren. Während FPGAs im eigenen Labor innerhalb von wenigen Sekunden programmiert und bei Bedarf re-programmiert werden können, müssen Gate-Array-; Standardzell- und 'full-custom'-entwürfe bei Halbleiterherstellern gefertigt werden. Hierbei können pro Durchlauf immer nur mehrere Tausend integrierte Schaltungen realisiert werden. Ein Durchlauf dauert dabei mindestens acht Wochen und kostet mehrere zigtausend Euro. Bei eventuell erforderlichen Änderungen ist ein erneuter Durchlauf notwendig, was zu einer Vervielfältigung der Kosten und einer erheblichen Verzögerung bis zur Markteinführung führt. Da im Rahmen eines vierstündigen Praktikumversuchs es nicht möglich ist, eine hochkomplexe Schaltung zu verstehen und zu entwerfen, werden im Rahmen dieses Versuchs ein einfacher BCD-Zähler sowie eine überschaubare 4-BIT Addier-/Subtrahierschaltung verwendet. Anhand dieser Demonstrationsschaltungen werden die wesentlichen Schritte eines durchgängigen, hierarchischen 'Bottom-Up' und eines 'Top-Down' Entwurfs durchlaufen. Die Bedeutung der frühzeitigen Festlegung der Teststrategie und die Integration der hierfür erforderlichen Testhilfen wird am Beispiel des Zählers verdeutlicht. Als Entwurfswerkzeug wird 'PADS POWER PCB' von 'Mentor Graphics' eingesetzt. 2. Grundlagen: Hierarchische Entwurfsverfahren Schaltungen mit überschaubarer Komplexität lassen sich durchaus sinnvoll im 'Buttom-Up'- Verfahren entwerfen. Bei dieser Vorgehensweise werden bei Digitalschaltungen Teilfunktionen auf Gatterebene entworfen und verifiziert. Diese Teilschaltungen werden zu Schaltungssymbolen zusammengefaßt und in übergeordneten Schaltplänen wiederverwendet. Dieses 2

Verfahren kann in mehreren Stufen durchlaufen werden, bis schließlich eine, die Spezifikation erfüllende Schaltung erstellt ist. Ein Vorteil dieser Methodik ist, daß bereits von Anfang an mit den realen Laufzeiten der verwendeten Gatter bzw. Technologie gearbeitet werden kann. Nachteilig ist, dass bei dieser Arbeitsweise keine Arbeit im Team sinnvoll ist. Dieses Verfahren wird industriell mittlerweile nur noch für den Entwurf von komplexen Schaltungselementen für Bibliotheken verwendet. Beim Entwurf hochkomplexer Schaltungen ist das hierarchische Prinzip des 'Top-Down'- Entwurfsverfahrens unverzichtbar. Im ersten Schritt wird auf der Basis der Spezifikation eine 'Black Box' der zu entwerfenden Schaltung mit den erforderlichen Anschlüssen erzeugt. Im folgenden Entwurfsschritt wird die Gesamtschaltung partitioniert, d. h. in Teilschaltungen zerlegt und es wird eine geeignete Teststrategie vereinbart. Die Teilschaltungen können bei Bedarf weiter zerlegt werden. Bei der Partitionierung ist darauf zu achten, daß möglichst viele Teilschaltungen allgemein gehalten werden, um sie bei späteren Entwürfen als bewährte Module wieder verwenden zu können. Die Verfeinerung der einzelnen Module wird solange fortgeführt, bis sie aus Bibliothekselementen oder Grundgattern aufgebaut sind. Anschließend werden die einzelnen Module sowie die Gesamtschaltung umfassend simuliert. Nach der Realisierung in Silizium wird die Schaltung zum Test mit den während der Simulation erzeugten Testmustern stimuliert. Als Vergleichsdaten werden die per Simulation erhaltenen Ausgangsmuster verwendet. Um das korrekte Zusammenspiel der Subsysteme zu prüfen, darf beim Test ein grober Funktionstest nicht fehlen. 3 Das Entwurfswerkzeug PADS POWER PCB (PADS FLOW 9.3) Das PADS Power PCB von Mentor Graphics ist ein sehr leistungsfähiges Entwurfswerkzeug, das sowohl unter Windows auf PCs als auch unter UNIX lauffähig ist. Dieses Tool hat sich als Industrie-Standard bei PC Anwendungen etabliert. Das PADS Power PCB ist modular aufgebaut; die zahlreichen Module können auf die jeweilige Anwendung zugeschnitten werden, wobei nur wenige Module obligatorisch sind. Von nahezu dreißig Modulen kommt während dieses Versuchs nur eine kleine Auswahl zum Einsatz. Da das Werkzeug ein streng projektorientiertes Arbeiten erzwingt, muß im ersten Arbeitsschritt mit Hilfe des Project-Wizards ein Projekt im Dashboard angelegt werden. Im Projektordner sind neben dem Projektnamen und dem Arbeitsverzeichnis ('workdirectory') die Pfade aller im Projekt verfügbaren Bibliotheken enthalten. Neben den bereits mit dem Programmpaket gelieferten ca. 800 Bibliotheken lassen sich noch zahlreiche herstellerspezifische FPGA-Bibliotheken einbinden. Beim Anlegen des Projektes wird im Arbeitsverzeichnis eine Datei 'viewdraw.ini' erstellt, in der alle augenblicklichen Einstellungen für das Modul 'DxDesigner (ViewDraw' zur graphischen Schaltplaneingabe dokumentiert sind. Zur Schaltungsbeschreibung bietet PADS verschiedene Wege an. Das Schaltverhalten kann mit Hilfe von Zustandsdiagrammen dargestellt und dann automatisch in ein synthetisierba- 3

res VHDL-Modell umgewandelt werden. Ausgehend vom VHDL-Modell, das auch manuell erstellt werden kann, kann per Synthese eine Gatterschaltung oder auch direkt eine Programmierdatei für verschiedene FPGA-Bausteine erstellt werden. Zur vertrauten graphischen Schaltplaneingabe mit Hilfe von Bibliotheksbausteinen steht das Modul 'DxDesigner ' zur Verfügung, das während des Praktikums zum Einsatz kommt. Zur Verifikation der zu entwerfenden Schaltungen bietet PADS sowohl die Möglichkeit der 'mixed-level' als auch der 'mixed-signal' Simulation. D. h. mit PADS können gemischt analog/digitale Schaltungen mit Teilbeschreibungen auf verschiedenen Hierarchieebenen durchgeführt werden. Hierbei kommt das Simulations- Tool ModelSim zum Einsatz. Die Simulationsergebnisse lassen sich derart darstellen, daß sie mit Hilfe existierender Interfaces in verschiedenen Testsystemen weiterverwendet werden können. Sollten die entworfenen Schaltungen in programmierbaren Bausteinen (FPGA, CPLDs...) realisiert werden, so lassen sich in PADS die Programmierdateien für verschiedene Hersteller direkt erzeugen bzw. es besteht die Möglichkeit, EDIF-Files für Netzlisten und Schematics zu exportieren, mit deren Hilfe der Übergang zu herstellerspezifischen Entwurfssystemen möglich ist. Für Schaltungen, die als Leiterplatte realisiert werden, besteht eine OLE-Verknüpfung zum leistungsfähigen Layout-System PADS Layout bzw. Logic, sowie ein Link zum JTAG- System, falls die Schaltungen mit Boundary-Scan ausgestattet sind. Für den Einsatz von 'PADS ist folgende File-Struktur erforderlich: Laufwerk (H): \ cd \... \.. \ epd \... \ vf \ADDER \... 4 Die Versuchsschaltung Da es utopisch ist, im Rahmen eines ca. 4-stündigen Praktikumversuchs eine komplexe Schaltung vom Entwurf bis zum Test bearbeiten zu wollen, werden die prinzipiellen Schritte der hierarchischen Entwurfsverfahren und des Tests an einem BCD-Zähler und einer überschaubaren 4-Bit Addierer-/Subtrahierer-Schaltung, die schon aus der Lehrveranstaltung 'Grundzüge der Elektronik II' bekannt sind, erläutert. 4

Spezifikation der Versuchsschaltungen: a) 'Top-Down-Up' Verfahren Gefordert wird eine Schaltung, die es ermöglicht, eine 4-Bit Dualzahl B zu einer 4-Bit Dualzahl A zu addieren bzw. B von A zu subtrahieren. Ein extern zugängliches Kontrollsignal ST soll steuern, ob eine Addition oder eine Subtraktion ausgeführt wird. ST = 0 soll eine Addition; ST = 1 eine Subtraktion auslösen. Bei der Subtraktion muss erkennbar sein, ob das Ergebnis als negative oder positive Zahl zu werten ist. Hinweis: Entwerfen Sie zunächst die Schaltung für die Addition und ergänzen Sie bitte diese erst nach der Verifikation der vollen Funktionalität zu geforderten Addier-/Subtrahierschaltung b) 'Bottom-Up' Verfahren Zu entwerfen ist ein Synchronzähler, der von 0 bis 999 zählt und beim Überlauf einen Schalttakt für die nächst höheren Dekaden erzeugt. c) Prüffreundlicher Entwurf Am Beispiel eines 32-Bit Zählers ist der wirtschaftliche Vorteil einer prüffreundlich entworfenen Schaltung bezüglich Testkosten auf zu zeigen. Zu a): Um das 'Top-Down'-Verfahren nachzuvollziehen, wird zunächst das Symbol der Gesamtschaltung mit der erforderlichen Anzahl von Ein- und Ausgängen erzeugt. Die Schaltung dann im folgenden Entwurfsschritt in 4 Teilschaltungen partitioniert, wobei jede Teilschaltung die Addition einer einzelnen Stelle der 4-Bit Dualzahl übernimmt. Dieser sogenannte Volladdierer, der drei Bits addiert, wird im nächsten Schritt aus Halbaddierern aufgebaut, die nur zwei Bits addieren können. Als letzte Stufe wird entsprechend dem Regularitätsprinzip der Halbaddierer aus fünf NAND Gattern aufgebaut Für die Verifikation und den späteren Test sind die Stimuli derart zu wählen, dass in jeder Stufe die volle Funktionalität gewährleistet werden kann; d. h. es sind alle Bitkombinationen zu testen. Zu b): Ausgehend von einem JK-Flip-Flop wird durch geeignete Beschaltung ein Toggle erzeugt, das mit jedem neuen Taktsignal seinen Ausgang ändert (0-1-0-1-0-..). Diese Schaltung wird in ein neues Schaltsymbol überführt, mit dem ein Dekadenzähler (0 9) aufgebaut wird. Mit Hilfe eines für den Dekadenzähler generierten Symbols wird der gesuchte Zähler (0 999) aufgebaut 5

Zu c): Anhand eines 32-Bit Zählers soll aufgezeigt werden, dass ohne prüfgerechten Entwurf der Test der Schaltung bei Verwendung eines 10 MHz-Taktes bis zu 880 sec dauern kann, was bei ca. 3ct pro Sekunde Testzeit zu Prüfkosten von 26,40 führen würde, d.h. das Bauteil ist wirtschaftlich nicht produzieren und zu vermarkten. Bei einer prüffreundlichen Schaltung unter Verwendung der 'Scan-Design-Technik' kann die gleiche Prüfschärfe in nur 96 µsec erreicht werden, was vernachlässigbare Testkosten bedeutet. Das Bauteil lässt sich nun wirtschaftlich herstellen. Dieser Versuchsteil wird am Praktikumstermin anhand einer vorgefertigten Schaltung diskutiert und demonstriert, zumal hierfür noch die Grundlagen fehlen. Mit diesem Versuchsteil wird auch der moderne Schaltungsentwurf auf Basis feldprogrammierbarer Schaltungen vorgestellt. 6

Startvorbereitungen treffen- Projekt anlegen Schalten Sie den Rechner ein und warten Sie, bis das Betriebssystem Windows 7 komplett gebootet wurde. Das Programm `VMWare- Workstation sollte nun automatisch starten. Ist dies nicht der Fall, starten Sie es durch einen Doppelklick auf das Icon, welches Sie auf dem Desktop finden. Stecken Sie jetzt den vom Labor ausgehändigten USB- Stick an. Wählen Sie das Image PADS Flow 9.3 + ModelSim DE_PLUS aus der angezeigten Liste aus. Bestätigen Sie ihre Auswahl mit `Play virtual machine. Nun startet die gewohnte Umgebung mit allen Programmen die Sie benötigen. Erweitern Sie die virtuelle Umgebung, falls dies nicht automatisch geschieht, in den Vollbild-Modus. Wird das angeschlossene Speichermedium vorschriftsgemäß erkannt, sollte diesem immer der Laufwerksbuchstabe H:/ zugewiesen werden. Sollte dies einmal nicht fehlerfrei funktionieren müssen Sie das Medium von Hand anmelden. Speichern Sie ihre Projekt- Daten nur auf diesem Home-Directory ab! Starten Sie anschließend mit Hilfe des Icons auf dem Desktop das 'Dashboard 9.3 PADS'. Falls die Ordner-Struktur noch nicht existent ist werden die erforderlichen Pfade in Ihrem Home Directory auf dem Stick angelegt und alle notwendigen Files kopiert. Mit Hilfe des Dashboards werden neue Projekte angelegt, bzw. sollten bereits angelegte Projekte immer aus dem Dashboard heraus gestartet werden. Dies hat den Vorteil, dass ein hinterlegtes Projekt- Template geöffnet wird und Sie keine Libraries mehr einbinden müssen. Vor Beginn der eigentlichen Entwurfsarbeiten muss ein neues Projekt angelegt werden. Führen Sie hierzu bitte folgende Schritte aus: Selektieren Sie im Frame 'Folders' mit der rechten Maustaste 'Projects' und wählen Sie im sich öffnenden Fenster mit der linken Maustaste 'Create Project...'. Erzeugen Sie unter dem Pfad 'H:\cd\epd\vf' das Projekt 'adder'. Bestätigen Sie ihre Eingaben mit OK Nach kurzer Zeit öffnet sich der DxDesigner automatisch mit den voreingestellten Projekt- Settings. Das Projekt wird unter dem von ihnen gewählten Namen auf dem USB- Stick abgelegt. Das Projekt ist nun erfolgreich angelegt und Sie können nun mit Hilfe von 'DxDesigner' Schaltungsunterlagen erstellen und mit 'ModelSim' verifizieren. 7

1. 4-Bit Addierer - Top-Down Entwurfsprinzip Beim Top-Down Verfahren wird zunächst das Schematic für die höchste Beschreibungsebene erstellt und die Schaltung anschließend verfeinert, d.h. von Oben nach Unten entwickelt. 2.1 Erstellen eines Symbols für den Top-Level Für den zu entwerfenden 4-Bit Addierer muss infolgedessen zunächst ein neues Top-Level Symbol 'adder_4bit' mit den erforderlichen Ein- und Ausgängen erzeugt werden. Verwenden Sie zur Generierung des erforderlichen Symbols den Symbol-Wizard, der unter File New Library Symbol zu finden ist. Wählen Sie bei der entsprechenden Anfrage 'Launch Symbol Wizard' und benennen Sie das Symbol: Wählen Sie im Step1 als block type 'Composite' und 'Do not fracture symbol': 8

Den Schritt 2 übernehmen Sie ohne Änderung. Bei Schritt 3 ist es wichtig, dass der Knopf Add PCB layout properties to the symbol gedrückt ist, damit später ein entsprechendes Package erzeugt werden kann. Bei Schritt 4 geben Sie als PKG_TYPE den Typ DIP16 an, für ein DIP Gehäuse mit 16 Anschlüssen: In Step 5 wird das eigentliche Symbol erzeugt. Dazu definieren Sie zuerst die Busse A und B mit jeweils 4 Bits und den Übertrag CIN als Eingang auf der linken Seite, und den Bus S mit dem Übertragsausgang C_OUT auf der rechten Seite. Die Pin-Number am DIP16-Gehäuse wurde dabei so gewählt, das die Pins 8 und 16 für GND und VCC frei sind: 9

Nach Erzeugen der Pins wählen sie beide Pin-Zeilen für IN und OUT der Reihe nach aus, und wandeln diese in Einzelbits um (rechte Maustaste UnBundle): 10

Versuchen Sie nun, entsprechend Abstand zwischen den verschiedenen Signalen einzufügen. Final sollte Ihr Symbol-Wizard folgendermaßen aussehen: 11

2.2 Erstellen des Top-Level Schaltplans (Schematic) Der Top-Level Schaltplan besteht nur aus der Instanziierung des Symbols für den 4-Bit Addierer. Erzeugen Sie dazu im DxDesigner ein neues Schematic mit File New Schematic. Nennen Sie das Schematic im Navigator um zu TopLevel (falls der Naviagtor nicht angezeigt wird, kann er mit dem Symbol eingeblendet werden): Klicken Sie nun auf Show CL View im DxDatabook, um die Symbol- Libraries sichtbar zu machen. Wählen Sie das erzeugte Symbol adder_4bit an. Mit dem Schalter Place Symbol lässt es sich im Schematic platzieren. Gleichzeitig wird das Decal des erzeugten Bauteils angezeigt (hier DIP16) 12

2.3 One step down: Schematic für den 4-Bit Addierer erstellen Klicken Sie mit der rechten Maustaste auf das Symbol, und erzeugen Sie das Schematic für das Symbol mit Push Schematic. In diesem Schematic sollen 4 Volladdierer verwendet werden. Zuerst müssen Sie wie zuvor das Symbol für einen Volladdierer (full_adder) erzeugen. Achten Sie darauf, im Schritt 3 den Schalter Add PCB layout properties to the symbol auszuschalten: Fügen Sie schließlich das neue Symbol 4-mal in das adder_4bit Schematic ein: 13

Nun muss die Schaltung nur noch verdrahtet werden. Dazu verwenden Sie dem Knopf, und verbinden die äußeren Ports mit den vier Symbolen. Mit dem normalen Pfeil können Sie Ports, Instanzen und Leitungen verschieben. Versuchen Sie damit, folgenden Schaltplan zu erstellen: 14

2.4 Schematic des Volladdierers Völlig analog erzeugen Sie den Volladdierer aus zwei Halbaddierern. Für den Halbaddierer erzeugen Sie ein neues Symbol. Der Name des Halbaddierers soll half_adder lauten. Ferner wird ein Oder-Gatter benötigt, das Sie aus der `builtin Library beziehen. Der Volladdierer könnte somit folgendermaßen aussehen: Zuletzt muss noch der Halbaddierer entworfen werden. Verwenden Sie hierzu nur die nand2- Gatter aus der `builtin Library : Der DxDesigner hat eine Auto- Backup- Funktion. Änderungen im Projekt werden zeitnah automatisch übernommen. Wenn Sie den DxDesigner schließen warten Sie noch mit dem Abmelden des USB- Sticks bzw. Ausschalten der virtuellen Maschine bis alle Änderungen übernommen wurden. Sollten Sie dies nicht beachten, können Sie ihr angelegtes Projekt nicht mehr öffnen! 15

2.5 Simulation mit Modelsim Um die Simulation einfach steuern zu können, öffnen Sie das Top-Level Schematic, und erzeugen drei Busse A[3:0], B[3:0] und S[3:0] mit dem Symbol. Die Einzelbits der Busse werden dann mit an das 4-Bit Addierer-Symbol angeschlossen. Fügen Sie auch zwei Netze für CIN und COUT hinzu. In den Properties lässt sich der Netznamen für CIN und COUT entsprechend abändern. Das TopLevel Schematic sieht final folgendermaßen aus: Von diesem Schematic exportieren Sie bitte eine VHDL-Netzliste für die Simulation. Dazu selektieren Sie im Navigator TopLevel, und starten File Export VHDL Netlist. Erzeugen Sie für die Simulation und die VHDL-Netzliste ein eigenes Directory H:\cd\epd\vf\adder\Modelsim. Im Output- Fenster sollten nun die Meldungen `No errors found und `Completed Netlist Generation erscheinen. Der Simulator Modelsim von Mentor Graphics lässt sich über den Desktop mit dem Icon starten. Wechseln Sie zuerst mit File Change Directory in das Directory H:\cd\epd\vf\adder\Modelsim. Anschließend erzeugen Sie mit File New Project ein neues Projekt mit dem Namen `adder. 16

Nach OK können Sie mit Add Existing File das VHDL-File von DxDesigner hinzufügen: Jetzt sollten Sie im Workspace das File sehen. Mit der rechten Maustaste klicken Sie auf Compile Compile All: Falls alles richtig gelaufen ist, muss im Transcript-Directory die Meldung # Compile of TopLevel.vhd was successful. erscheinen. Um die Library zu sehen, muss sie noch dem Workspace mit File New Library bekannt gemacht werden (Library Name work ). 17

Jetzt lässt sich durch Doppelklick auf toplevel in der Library work die Simulation starten: Um das Ergebnis anzeigen zu können, öffnen Sie das Waveform Panel mit View Wave, und selektieren im Workspace-Manager mit der rechten Maustaste im Toplevel-Kontextmenu Add To Wave All items in region: Sie können jetzt im Simulator Transcript Fenster verschiedene Stimuli für die Schaltung testen. Legen Sie dazu zuerst die Werte 9 und 1 für die Busse A und B an, und setzen den CIN Eingang auf 0. Mit run 100ns läuft die Simulation 100ns: force a 16#9 force b 16#1 force cin 0 run 100 ns Entspricht das Ergebnis Ihren Erwartungen? 18

Testen Sie noch folgende Belegungen: a=11, b=7, cin=0 und a=5, b=6, cin=1. Die entsprechenden Befehle können Sie auch in ein TCL-File schreiben und mit source <filename> laden. Das File könnte folgendermaßen aussehen: restart -f ; # restart simulation # pattern 1 force a 16#9 force b 16#1 force cin 0 run 100 ns # pattern 2 force a 16#B force b 16#7 force cin 0 run 100 ns # pattern 3 force a 16#5 force b 16#6 force cin 1 run 100 ns Es sollte sich folgendes Simulationsergebnis einstellen: 19

Versuch B: Zählerentwurf nach dem Bottom-Up Prinzip Im folgenden soll am Beispiel eines Zählers das Bottom-Up Prinzip erläutert werden, d.h. der Zähler wird von unten nach oben aufgebaut. Erzeugen Sie dazu im Dashboard ein neues Projekt counter, und beginnen Sie mit dem Design eines Toggle_FF. Beschalten Sie dazu das JK-FF aus der Bibliothek 'builtin' derart, dass es als Toggle_FF arbeitet: Im Bottom-Up Stil lässt sich das Symbol automatisch mit Tools Generate Symbol erzeugen. Verwenden Sie nun das erzeugte Toggle-Flip-Flop, um eine Dekade eines synchronen BCD- Zählers aufzubauen und führen Sie diese, wenn sie korrekt funktioniert, in ein Symbol 'Dekade' über. Mit dem Dekadensymbol ist ein Zähler '3-dekaden' aufzubauen, der von 0 bis 999 zählt und dann wieder bei 0 beginnt. 20

Für die finale Simulation kann das TCL-File z.b. folgendermaßen aussehen: restart -f # Start with counter reset force res 1 force clk 0 force set 0 run 100 # run with clock period of 200ns force clk 1 100, 0 200 -r 200 force res 0 run 20000 Die erfolgreiche Simulation liefert dann etwa: 21

6. Häusliche Vorbereitung 1. Machen Sie sich mit der Addition und Subtraktion von Dualzahlen vertraut. 2. Analysieren Sie die Spezifikation und legen Sie fest, wie viele Ein- bzw. Ausgänge die geforderte Schaltung haben muß. 3. Die gesuchte Schaltung kann in vier gleiche Subsysteme (1-Bit Volladdierer- Schaltungen) zerlegt werden. Ergänzen Sie den angefangenen Schaltplan derart, dass die 4-Bit Zahl B (B3,B2,B1,B0) zur 4-Bit Zahl A (A3,A2,A1,A0) addiert wird. LSB MSB Sum C_out Sum C_out Sum C_out Sum C_out Car- B A Carry B A Carry B A Carry B A 4. Vergewissern Sie sich, dass die vorgegebene Schaltung aus NAND-Gattern die Funktion eines Halbaddierers erfüllt. Erstellen Sie hierfür eine Wertetabelle. 5. Machen Sie sich mit dem Entwurf von Zählern vertraut. 6. Durch welche Erweiterung wird ein Dualzähler zu einem BCD-Zähler? 7. Machen Sie sich mit der Funktion des JK-Flip-Flops vertraut Versuchsauswertung 1. Analysieren Sie bitte die zur Simulation der verschiedenen Teilschaltungen bereitgestellten Command-Files. 2. Überprüfen Sie anhand der Simulationsergebnisse die korrekte Funktion der von Ihnen erstellten Teilschaltungen für den Voll- und den Halbaddierer. 3. Wie müsste ein Command-File aussehen, bei dem alle acht Eingangskombinationen von allen vier Volladdierern geprüft wurden. A i 0 0 0 0 1 1 1 1 B i 0 0 1 1 0 0 1 1 C i 0 1 0 1 0 1 0 1 4. Analysieren Sie die 'Waveformen' der Simulationsergebnisse für Entwurfsstufen der beiden Versuchsschaltungen. 22