Digitaltechnik SS2013. Praktikum Digitaltechnik



Ähnliche Dokumente
Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./

Softwareupdate-Anleitung // AC Porty L Netzteileinschub

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

Tietze, Schenk: Halbleiterschaltungstechnik (Kap. 10) Keller / Paul: Hardwaredesign (Kap. 5) L. Borucki: Digitaltechnik (Kap.

BitRecords FPGA Modul XC6SLX25_V2.0, Mai2013 1

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

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

SICHERN DER FAVORITEN

Überprüfung der digital signierten E-Rechnung

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

Anleitung zum Erstellen einer Library (Altium)

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

teischl.com Software Design & Services e.u. office@teischl.com

Bedienungsanleitung Version 1.0

miditech 4merge 4-fach MIDI Merger mit :

Kurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen

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

Um eine Person in Magnolia zu erfassen, gehen Sie wie folgt vor:

LTSpice Tutorial 2: Eigene Modelle und Symbole

Nutzung der VDI Umgebung

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Installation OMNIKEY 3121 USB

Urlaubsregel in David

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Wie verbindet man Nokia 6600 mit Oxygen Phone Manager II for Symbian OS phones ( )

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

Künstliches binäres Neuron

Laden der beiden virtuellen Orgeln (36 bzw. 100 Register) unter Hauptwerk

Herzlich Willkommen bei der BITel!

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

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

iphone-kontakte zu Exchange übertragen

Version 0.3. Installation von MinGW und Eclipse CDT

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

CALCOO Lite. Inhalt. 1. Projekt anlegen / öffnen. 2. Projekt von CALCOO App importieren

Verschlüsselung

Tel.: Fax: Ein Text oder Programm in einem Editor schreiben und zu ClassPad übertragen.

How to install freesshd

Installation / Aktualisierung von Druckertreibern unter Windows 7

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

TeamSpeak3 Einrichten

MetaQuotes Empfehlungen zum Gebrauch von

Backup Premium Kurzleitfaden

Anleitung zur Webservice Entwicklung unter Eclipse

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Lehrer: Einschreibemethoden

Anleitung zur Installation und Nutzung des Sony PRS-T1 ebook Readers

Anleitung zur Installation und Nutzung des Sony PRS-T1 ebook Readers

Scharl 2010 Dokument ist Urheberrechtlich geschützt. Port Forwarding via PuTTY und SSH. Was ist Port forwarding?

Wireless LAN PCMCIA Adapter Installationsanleitung

AdmiCash-Wiederherstellung auf einem neuen PC oder Betriebssystem

System-Update Addendum

Konvertieren von Settingsdateien

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

Arbeiten mit dem Outlook Add-In

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Menü auf zwei Module verteilt (Joomla 3.4.0)

Programm GArtenlisten. Computerhinweise

Einrichtung des WS_FTP95 LE

Live Update (Auto Update)

! Tipps und Tricks Sie können den Windows Explorer am einfachsten mit der Tastenkombination Windows+ E öffnen.

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

disk2vhd Wie sichere ich meine Daten von Windows XP? Vorwort 1 Sichern der Festplatte 2

Hex Datei mit Atmel Studio 6 erstellen

Anleitung. Einrichtung vom HotSync Manager für den Palm 1550 bis 1800 unter Windows 7. Palm SPT 1500 / 1550 Palm SPT 1700 / Bits & Bytes Seite 1

Einrichten eines HBCI- Zugangs mit Bank X 5.1

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Bauteilattribute als Sachdaten anzeigen

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

M-net -Adressen einrichten - Apple iphone

Diese sind auf unserer Internetseite im Downloadbereich für den Palm zu finden:

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Übung - Konfigurieren einer Windows Vista-Firewall

Installationsanleitung dateiagent Pro

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

-Virtuelle Jagdfliegerschule- Teamspeak Seite 1 von 6

Einrichten eines IMAP Kontos unter Outlook Express

Übung 1. Explorer. Paint. Paint. Explorer

System-Update. 3. In diesem Ordner müssen nun folgende vier Dateien vorhanden sein:

KNX BAOS Gadget. Installations- und Bedienanleitung. WEINZIERL ENGINEERING GmbH. DE Burgkirchen Web:

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

Es gibt einige Kardinalstellen, an denen sich auf der Festplatte Müll ansammelt: Um einen Großteil davon zu bereinigen.

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Mediator 9 - Lernprogramm

Windows Server 2012 R2 Essentials & Hyper-V

Anleitung zur Einrichtung des WDS / WDS with AP Modus

Warum? Keine umständliche Telefonbuch-Synchronisierung, alle Kontakte sind gleich zur Hand.

Installationsanleitung für das KKL bzw. AGV4000 Interface

Password Depot für ios

Registrierung am Elterninformationssysytem: ClaXss Infoline

Dokumentenverwaltung im Internet

Folgen Sie bitte genau den hier gezeigten Schritten und achten Sie auf die korrekte Eingabe der Daten.

Anleitung für Zugriff auf den LEM-FTP-Server

Aufklappelemente anlegen

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Transkript:

Praktikum Digitaltechnik Inhalt Praktikum Digitaltechnik... 1 Durchführung... 1 Versuch 01: CMOS-Transistoren als Logikgatter... 2 1.1 Transferkennlinie U out (U in ) eines Inverters... 2 1.2 Verzögerung eines Inverters... 3 1.3 Aufbau einer logischen Funktion... 3 Starting with Electronics Explorer Board... 4 1. Hardware... 4 2. WaveForms Software... 5 3. Oscilloscope... 6 4. Arbitrary Waveform Generator... 7 5. Power Supplies and Voltmeters... 8 6. Digital I/O... 9 Static Input/Output (SIO)... 9 Schaltplanerstellung für das Electronic Explorer Board... 11 Versuch 02: Logikfunktionen mit 3 Eingängen mit NAND Gattern oder Multiplexern... 12 2.1 Aufbau der logischen Funktion mit NAND Gattern... 12 2.2 Aufbau einer logischen Funktion mit einem Multiplexer... 14 Versuch 03: Logikfunktionen mit einem FPGA Board... 15 3.1 Verdrahtung herstellen... 15 3.2 Konfigurationsdatei hinzufügen... 16 3.3 Wahrheitstabelle erstellen... 16 Versuch 04: Erweiterung der Logikfunktionen mit einem FPGA Board... 17 4.1 Simulation und Testvektoren... 17 4.2 Erweiterung der Schaltung mit einem Schaltplan... 18 4.3 Schaltungssimulation und Wahrheitstabelle... 18 Versuch 05: Eine Finite state machine im FPGA... 19 5.1 Das Board und die Knöpfe... 19 5.2 Projekterstellung... 19 5.3 Verbindung der Schaltungsblöcke... 20 5.4 Zustandsmaschine Statex.vhdl... 20 5.5 Inbetriebnahme und Test... 21 Das Program Xilinx ISE Design Suite... 22 Erstellen eines digitalen Designs... 22 Durchführung Lesen Sie vor dem Versuch die Anleitung. Dokumentieren Sie jeden Versuch in einer Ausarbeitung mit VHDL code, Bildschirmkopien der Ergebnisse und Ihren persönlichen Erfahrungen.

Versuch 01: CMOS-Transistoren als Logikgatter Sie lernen, wie man CMOS Transistoren für die Realisierung von Logikgattern verwenden kann. Untersucht wird ein Inverter und eine NAND Funktion des CMOS IC 4007. Es steht Ihnen ein Electronic Explorer Board zum Aufbau und der Messung zur Verfügung. Das Board hat ein 4 Kanal Oszilloskop, 2 Spannungsversorgungen, 2 Signalgeneratoren und 31 Digitale IOs zur Verfügung. 1.1 Transferkennlinie Uout(Uin) eines Inverters Bauen Sie die skizzierte Schaltung mit dem CMOS IC 4007 auf dem Electronic Explorer Board auf. Verbinden Sie den Eingang mit dem Signalgenerator 1 AWG1 und dem Kanal 1 des Oszilloskops. Die Schaltung wird mit 5V über die Spannungsversorgung VP+ verbunden. Der Ausgang Pin12 wird mit dem Kanal2 des Oszilloskops verbunden. Pin 7 9 10 11 12 14 Verbindung GND GND AWG1 VP+ SCOPE 2 VP+ SCOPE 1 Nehmen Sie folgende Einstellungen vor: VP+=5V AWG1: Dreieck 0..5V: Offset 2.5V Amplitude=2.5V Frequency: 1kHz Tragen Sie die Messwerte für die Ausgangsspannung in Abhängigkeit von der Eingangsspannung ein. U in [V] U out [V ]

Bestimmen Sie die Wahrheitstabelle des Inverters: in out 1.2 Verzögerung eines Inverters Legen Sie nun eine Rechteckspannung an den Eingang und messen Sie das Ausgangssignal. AWG1: Rechteck 0..5V: Offset 2.5V Amplitude=2.5V Frequency: 1kHz Bestimmen Sie die Verzögerung des steigenden und fallenden Ausgangssignals. Wie ist die Verzögerungszeit definiert? t DELAYRise = t DELAYFall = 1.3 Aufbau einer logischen Funktion Bauen Sie folgende Schaltung auf. Pin 7 2 9 4 10 11 3 12 12 14 Verbindung GND VP+ 5 GND AWG1 SCOPE 1 VP+ AWG2 SCOPE 3 1 SCOPE 2 VP+ Oszilloskopieren Sie die Eingänge und Ausgänge. Synchronisieren Sie AWG1 und AWG2 mit Mode: Auto sync. Bestimmen Sie die Wahrheitstabelle: In1 (AWG1) In2(AWG2) Out

Starting with Electronics Explorer Board 1. Hardware To set up the board. 1. First install Digilent WaveForms software on your PC. See Installer Details for more information. 2. Connect a 12V 60W power supply to the Electronics Explorer board. 3. Connect the board to your PC using a USB cable. 4. The Ready LED will light when the Output Enable switch is ON and the WaveForms application is connected to the board. All the components of the board work relative to the common ground. None of the instruments has a floating ground. Vertical adjacent holes in one column are connected: (A,B,C,D,E) (F,G,H,I,J). The pins next to horizontal lines are connected. All pins along the red line are connected. All pins along the blue line are connected. At the connectors for the instruments 2 vertical pins are connected. The small black dots or arrows represent a GND, 0V connection. All GND pins are connected.

2. WaveForms Software See Installer Details for information on installing the WaveForms software application. See WaveForms for information on using the application The WaveForms main window is shown below.

3. Oscilloscope The Oscilloscope has four channels with AC and DC input. Specifications: The input bandwidth is 100 MHz and the ADC frequency is 40 MSps. The DC inputs have an impedance of 9.3 MOhms in parallel with 10 pf. The AC inputs have 100 nf filter capacitor. The input voltage is from -20 V to 20 V. The ADC is 10 bits, 40M Sps, with adjustable resolution from 800 uv to 40 mv. The offset is adjustable from -20 V to 20 V. The maximum input voltage is 200 V. The buffer can be up to 16 ks on four channels.

4. Arbitrary Waveform Generator The Electronics Explorer board is equipped with two Waveform Generators. Specifications: The output current is 25 ma. The DAC is 14 bits and 40 MSps. The output 10Vp-p, ~0.6 mv resolution. The output bandwidth is 20 MHz. When a channel is closed, the output is not in high impedance but should be close to zero volts. Verify the voltage on the Waveform Generator channels before connecting it to circuit. The carrier buffer can be up to 32 ks or 16kS carrier and 16kS modulation buffer on two channels. The positive and negative power supplies can be used as slow voltage or current basic waveform generators.

5. Power Supplies and Voltmeters The board has four voltmeters, two reference voltages, one positive, one negative and one 3.3/5V supply. Specifications: The fixed power supply 3.3/5 V can provide up to 2 A. The positive power supply has a range of 0 to 9 V and 0 to 1.5 A current limit. The negative power supply has a range of 0 to -9 V and 0 to -1.5 A current limit. The reference voltage supplies can provide only limited current, up to 10 ma. The disabled reference voltage output is not in high impedance but should be close to zero volts.

6. Digital I/O The Electronic Explorer board has 32 digital I/O pins (DIO 0-31). Specifications: The digital pins are supplied at 3.3 V, They have 16 ma drive strength, They have 220 Ohm series resistor, They can output push-pull, open-source, open-drain and tri-state signals. The generator/analyzer frequency is 100 MHz. The analyzer can work on an external clock, up to 100 MHz. Static Input/Output (SIO) The SIO instrument allows easy configuration of input and output devices on the digital lines. It is called "static" because the value from the digital lines corresponds directly to the values generated or read by the input and output devices. Once a signal value is set, it remains in that state until a new value is set. See Digital instruments for information about the behavior of digital instruments. The SIO controls the 32 digital lines, which are managed in groups of eight: 31-24, 23-16, 15-8, and 7-0. For each group of lines, a device can be assigned. See Define Input Output Devices Types for specific device types. In the instrument form, devices are placed in a vertical stack. It is possible to Remove/Add groups of eight lines. See Remove/Add Lines Group. See SIO Configuration for information about instrument configurations.

Schaltplanerstellung für das Electronic Explorer Board Sie können auch außerhalb der Praktikumszeit in das Digitaltechniklabor kommen und selbständig das Experimentierboard benutzen. Die Software ist frei verfügbar unter: http://www.digilentinc.com/products/detail.cfm?navpath=2,66,849&prod=waveforms Skizzieren Sie Ihre Schaltung zur Vorbereitung des Versuchs. Die Buchsen entlang der blauen und roten Linien sind horizontal verbunden und sollen für den Masseanschluss und die Spannungsversorgung verwendet werden. Die integrierte Schaltung IC4007 wird zwischen die Reihen E und F gesetzt. Die Buchsen A,B,C,D,E und FGHIJ sind jeweils spaltenweise verbunden. Die restlichen Verbindungen stellen Sie mit Drähten her. Unten sieht man die Anschlüsse des 4 Kanal Oszilloskops (SCOPE, 1,2,3,4) der Funktionsgeneratoren (AWG1 und AWG2) und der Spannungsversorgung (VP+, VP-, VCC). Eine Webseite zur interaktiven Eingabe der Schaltung steht im L Laufwerk zur Verfügung. L-LEHRVERANSTALTUNGEN/Vollrath/Digitaltechnik1/ElectronicBreadboard/index.html Dokumentieren Sie Ihre Ergebnisse: Foto Ihres Aufbaus. Bilder Ihrer Messungen. Interpretation der Ergebnisse.

Versuch 02: Logikfunktionen mit 3 Eingängen mit NAND Gattern oder Multiplexern Sie lernen, wie man eine Logikfunktion mit Invertern und NAND Gattern oder mit Multiplexern aufbauen kann. Realisieren Sie einen der Ausgänge Out0..8 aus folgende Wahrheitstabelle: In2 In1 In0 Out0 Out1 Out2 Out3 Out4 Out5 Out6 Out7 Out8 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 Es steht Ihnen zum Aufbau und zur Messung das Electronic Explorer Board zur Verfügung. Im Programm Waveforms benutzen Sie den Digitalen Pattern Generator. Erzeugen Sie einen Bus mit DIO0..2 der die Signale IN0, IN1, IN2 erzeugt. Setzen den Type durch Doppelklick auf Binary counter. Den Output auf PP. Den Takt auf 1MHz und die Timebase auf 1us/div. Die Eingänge und der Ausgang werden mit dem Oszilloskop dargestellt. Schaltbilder der Digitalbausteine 74 HC xxx finden Sie im Anhang, Datenblätter auf dem L Laufwerk. 2.1 Aufbau der logischen Funktion mit NAND Gattern Realisieren Sie eine Spalte der Wahrheitstabelle als Schaltung. Geben Sie die Normalform mit Mintermen an. Out. = Für die Schaltung stehen Ihnen 3 input (74 HC 10) NAND Gatter und Inverter (74 HC 04) zur Verfügung. Zeichnen Sie einen Schaltplan. Bauen Sie die Schaltung auf. Verwenden Sie die Digital Pattern Funktion des Electronic Explorer Boards mit den Kanälen DIO0, DIO1, DIO2 zur Erzeugung der Eingangssignale. Messen Sie alle Signale mit dem Oszilloskop. Überprüfen Sie die Eingangssignale. Verwenden Sie die Spannungsversorgung VP+ und vergessen Sie nicht die Masse zu verbinden.

Dokumentieren Sie Ihre Ergebnisse. Welche maximale Verzögerungszeit hat ihre Schaltung? Wie messen Sie die Verzögerungszeit? Dual 3-Input NAND Gate 74 HC 10 8-Input NAND Gate 74 HC 30 Dual 4 Input Multiplexer 74 HC 153 6 Inverter in one Package 74 HC 04 4 2-input NAND 74 HC 00

2.2 Aufbau einer logischen Funktion mit einem Multiplexer Realisieren Sie eine Spalte der Wahrheitstabelle als Schaltung. Verwenden Sie dazu Inverter (74 HC 04) und einen doppelten 4 zu 1 Multiplexer (74 HC 153). Das enable Signal muss mit Masse verbunden sein. Zeichnen Sie einen Schaltplan. Bauen Sie die Schaltung auf. Verwenden Sie die Digital Pattern Funktion des Electronic Explorer Boards mit den Kanälen DIO0, DIO1, DIO2 zur Erzeugung der Eingangssignale. Messen Sie die Eingangssignale und das Ausgangssignal mit dem Oszilloskop. Verwenden Sie die Spannungsversorgung VP+ und vergessen Sie nicht die Masse zu verbinden. Dokumentieren Sie Ihre Ergebnisse. Welche maximale Verzögerungszeit hat ihre Schaltung? Wie messen Sie die Verzögerungszeit?

Versuch 03: Logikfunktionen mit einem FPGA Board Sie lernen, wie man Logikfunktionen mit einem Field Programmable Gate Array (FPGA) realisieren kann. Logikfunktionen werden in einem FPGA realisiert. 3.1 Verdrahtung herstellen Starten Sie Xilinx ISE Design Suite. Wenn ein Projekt offen ist, bitte mit File-> Close Project schließen. Legen Sie ein Neues Project an: New Project. Name: Digi2_Versuch1_01_<Gruppennummer> Im nächsten Schritt wählen Sie aus der Family All / Spartan3E das richtige Device (XC3S100E/XC3S250E) und das richtige Package (TQ144), das Sie von der Platine ablesen. Es gibt 2 Ansichten (View): Implementation und Simulation. Wählen Sie zu Anfang den Modus Implementation. Im ersten Teil des Versuches sollen die logischen Schaltungen aus der Vorlesung aufgebaut werden. y= (x 1 +x 2 )(x 2 +x 3 )+/x 4 X1, X2, X3, X4 sollen mit den Schaltern 0..3 verbunden werden. Die Funktion y soll an Led<5> ausgegeben werden. Sie erzeugen eine VHDL Beschreibung dieser logischen Funktion: Rechtsklick->New Source: VHDL Module, Name: Func1 Dann geben Sie x1, x2, x3, x4 als Typ: in ein und y als Typ: out. Damit wird ein Template für Func1 erzeugt. Nun geben sie im Abschnitt `architecture die logische Funktion ein. Klammern Sie die logischen Funktionen ein. Speichern Sie ab. Dabei wird der Syntax überprüft und Sie können noch Korrekturen einbringen. Laden Sie nun die vorbereitete Gesamtschaltung LOGIC1.VHDL als VHDL code, die Func1 benutzt. Reiter Design, Hierarchy, Rechtsklick: Add Copy of Source -> L:/vollrath/Digi2/Logic1.vhdl Setzen Sie nun diesen VHDL Code als top module: Rechtsklick auf den Eintrag: set as top module.

Im Abschnitt entity in der Datei Logic1.vhdl sehen Sie folgende Pins: led: OUT STD_LOGIC_VECTOR (7 DOWNTO 0); -- leds sw: IN STD_LOGIC_VECTOR (7 DOWNTO 0); -- switches Im Abschnitt architecture sehen Sie als erstes die Deklaration COMPONENT Func1, damit Sie diese Schaltungsbeschreibung nutzen können. Dann werden Leitungen (signal) definiert, um die LED und Schalter mit den Signalen von Func1 zu verbinden. Zwischen Begin und End werden alle Verbindungen hergestellt und eine Instanz FUN0 des Schaltungsblocks Func1 erzeugt. 3.2 Konfigurationsdatei hinzufügen Dem Projekt ordnen Sie nun eine Konfigurationsdatei zu, indem die Verbindungen der externen Pins zu den internen Signalen beschrieben werden. Rechtsklick, Add Copy of Source. Auswahl von MainBasys.ucf. In der Datei finden Sie zum Beispiel folgende Zeile: # Pin assignment for LEDs NET "Led<7>" LOC = "p2" ; # Bank = 3, Signal name = LD7 Hier wird ein VHDL signal led(7) mit dem Pin P2 des FPGAs verbunden. Nun generieren Sie die Konfigurationsdatei für das FPGA: View: Implementation Rechtsklick auf Generate Programming File: Process Properties, Startup Options, JTAG Clock Rechtsklick auf Generate Programming File: Run 3.3 Wahrheitstabelle erstellen Starten Sie nun die Software Adept vom Desktop und laden Sie das File in das FPGA (program). Verifizieren Sie nun durch Variation der Schalter die Logikfunktion. Sw(3) Sw(2) Sw(1) Sw(0) Led(0)

Versuch 04: Erweiterung der Logikfunktionen mit einem FPGA Board Es wird die Schaltung aus dem ersten Versuch verwendet und erweitert. 4.1 Simulation und Testvektoren Öffnen Sie das Projekt vom vorigen Versuch. Sie sollen das Verhalten der Schaltung simulieren. Dazu wird eine VHDL Test Bench erstellt. Wechseln Sie in die View Simulation. Rechtsklick, New Source: VHDL Test Bench Alle CLOCK Signale werden gelöscht. Die folgende Liste wird durch alle möglichen Eingangssignale ergänzt: tb: process begin sw(0)<= '0'; sw(1) <= '0'; sw(2)<='0'; sw(3)<='0'; wait for 100 ns; Hier müssen Sie weitere Testvektoren eingeben. end PROCESS tb; Starten Sie nun Simulate Behavioral Model. Sie sollten nun ein ähnliches Bild wie unten sehen. Dokumentieren Sie Ihr Ergebnis. Stimmt die Simulation mit Ihren Erwartungen überein?

4.2 Erweiterung der Schaltung mit einem Schaltplan Es soll folgendes Schaltbild eingegeben werden: Rechtsklick->New Source: Schematic, Name: Func2 Add Symbol, Category: logic, and2 Add wire Add I/O Marker: x1, x2,x3,x4,y,y1,,y1, y2 Diese Schaltung soll nun auch in LOGIC1.VHDL verwendet werden. X1, X2, X3, X4 sollen mit den Schaltern 0..3 verbunden werden. Die Funktionen y1, y2 und y sollen an Led(4), Led(3),Led(2) ausgegeben werden. Erweitern Sie den Code von LOGIC1.VHDL um die FUNC2 zu benutzen. Dokumentieren Sie den VHDL code. 4.3 Schaltungssimulation und Wahrheitstabelle Simulieren Sie die Schaltung noch einmal und dokumentieren Sie die Signale. Programmieren Sie das FPGA wie in Teil 1.2 beschrieben. Verifizieren Sie nun durch Variation der Schalter die erweiterte Logikfunktion. Sw(3) Sw(2) Sw(1) Sw(0) Led(0) Led(2) Led(3) Led(4) SS2012 Prof. Jörg Vollrath 19.04.2012

Digitaltechnik SS2013 Versuch 05: Eine Finite state machine im FPGA Sie lernen, wie man einen Automaten mit einem Field Programmable rogrammable Gate Array rray (FPGA) realisieren kann. Mit Hilfe von 2 Knöpfen soll eine Zahl im 4 stelligen 7 Segment Display nach rechts und links geschoben werden. Mit 2 anderen Knöpfen soll die angezeigte angezeigte Zahl erhöht oder erniedrigt werden. 5.1.1 Das Board und die Knöpfe BTN<0> (Pin 69):: Zahl nach rechts BTN<1> (Pin 48): Zahl erniedrigen BTN<2> (Pin 47): Zahl erhöhen BTN<3> (Pin 41): ): Zahl nach links schieben Zur Ansteuerung der 7 Segment Anzeige A steht Ihnen das Modul SegCntrl.vhdl.vhdl zur Verfügung. Der Bus an wird mit den Pins 34, 33, 32, 26 verbunden. Das Signal dp wird mit pin 22 verbunden. verbunden Die Segmentansteuerung wird über den Bus Seg (6 downto 0), der die Leitungen CA..CG verbindet, realisiert. Weitere Informationen finden Sie im Dokument Basys_m.pdf. Lesen Sie die Erklärung. 5.2 Projekterstellung Erstellen Sie ein Neues Projekt mit dem Namen Zahlenspiel. Erzeugen Sie eine VHDL Datei mit Namen Zahlenspiel und geben Sie dort die Ein- und Ausgänge Ausgän für die Clock CLK, die Knöpfe btn(3 downto 0) und das 7 Segment Display seg(6 SS2012 Prof. Jörg Vollrath 19.04.2012

downto 0), dp und an(3 downto 0) ein. Fügen Sie die Kopie des 7_Segment Blocks SegCntrl.vhd, und HEX2LEDA.vhdl zum Projekt dazu. Fügen Sie das MainBasys_Versuch2.ucf File hinzu. Überprüfen Sie die Einträge für die Verbindung der Knöpfe und 7-Segment Anzeige mit den Signalnamen in dieser Datei. Dazu wählen Sie den nach Anwahl der Datei den Menüpunkt: Process-> user constraints-> edit constraints (text). Sie benötigen einen herunter geteilten Takt, der ein Enable Signal EN erzeugt, damit Sie die Knöpfe nur selten abfragen und so die Funktionalität realisieren können: CLKDIV.vhd. Fügen Sie diese Datei zu Ihrem Projekt hinzu. 5.3 Verbindung der Schaltungsblöcke Instanziieren Sie diese Blöcke in der Architecture von Zahlenspiel und fügen Sie Signale ein. signal EN:STD_LOGIC; signal Digit0, Digit1, Digit2, Digit3:STD_LOGIC_VECTOR(3 DOWNTO 0); clkdiv0: CLK_DIV port map (CLK => CLK, RESET =>'0', EN=> EN); segcntrl0: SegCntrl port map(clk1 => CLK, Digit0 => Digit0, Digit1 => Digit1, Digit2 => Digit2, Digit3 => Digit3, reset => '0', seg => seg, an =>an, dp =>dp); 5.4 Zustandsmaschine Statex.vhdl Erstellen Sie eine synchrone Zustandsmaschine (Block Statex), die es erlaubt mit Hilfe von 2 Knöpfen eine Zahl im 4 stelligen 7 Segment Display nach rechts und links zu schieben. Mit 2 anderen Knöpfen soll die angezeigte Zahl im Bereich von 1..9 erhöht oder erniedrigt werden. Sie benötigen Register für die Position der Zahl (POS (1 downto 0) ) und für den Zahlenwert (ZINT (3 downto 0) ). signal POS: STD_LOGIC_VECTOR(1 downto 0); signal ZINT: STD_LOGIC_VECTOR(3 downto 0); Als Beispiel für den Zustandsautomaten kann Ihnen DrehDecoder.vhd dienen. Dazu fügen Sie diese Datei Ihrem Projekt hinzu und kopieren Sie entsprechende Abschnitte in Zahlenspiel.vhd. Da Sie keinen Reset Knopf haben erzeugen Sie eine Leitung RESET und setzen Sie auf Null.

signal RESET: STD_LOGIC; Reset <= '0'; Die case Anweisung kann benutzt werden um einem Digit0..3 den Zählerstand ZINT zu zuweisen. Die Knöpfe btn(x) kann man mit IF Abfragen auswerten und die Position POS und den Zähler ZINT entsprechend setzen. Für die Addition und Subtraktion ZINT <= unsigned(zint)-1; benötigen Sie noch das Paket: use IEEE.STD_LOGIC_ARITH.ALL; Fügen Sie diese Zeile am Anfang Ihrer Datei ein. Wie viele Zustände gibt es? Erstellen Sie eine Zustandstabelle. Erstellen Sie einen Zustandsgraphen. Erstellen Sie einen VHDL Code für eine Zustandsmaschine, ausgehend von der Datei DrehDecoder.vhd. 5.5 Inbetriebnahme und Test Laden Sie Ihren Code in das FPGA Board und testen Sie Ihre Schaltung. Erstellen Sie einen Bericht und stellen Sie Ihre Erfahrungen und Schwierigkeiten dar.

Digitaltechnik SS2013 Das Program Xilinx ISE Design Suite Nach dem Start des Programms sehen Sie folgendes Fenster. Je nach der Version kann die Ansicht etwas variieren, aber Sie finden immer die folgenden Bereiche. 1) Zeigt die Hierarchie des Projekts. Dort erscheinen alle VHDL Dateien, Schaltpläne Schal und Konfigurationsdateien hierarchisch geordnet. geordnet Dort können Sie neue VHDL Dateien mit einem rechten Mausklick anlegen.. 2)Prozesse: Dort wird die Verarbeitung gestartet (Doppelklick auf den Eintrag): Syntaxprüfung, Simulation und Implementierung. 3)) In diesem Bereich wird der VHDL Code oder ein Schaltplan erstellt und angezeigt. 4) Hier werden Aktivitäten und Fehlermeldungen angezeigt. Jeder Bereich hat Reiter oder Knöpfe mit denen man die Ansicht variieren kann. A,B,C,D. Nehmen Sie sich Zeit überalll einmal darauf zu klicken und die Funktionen kennen zu lernen. Der Computer explodiert nicht! Erstellen eines digitalen Designs Als erstes wird ein Projekt erstellt und diesem Projekt werden alle VHDL, Schematic chematic Dateien und eine ucf Datei zugeordnet. VHDL und Schematic Dateien enthalten die Schaltkreisbeschreibung. Eine ucf Datei enthält die Zuordnung von Signalnamen zu physikalischen Pins des FPGAs. Dann wird festgelegt welche Datei die Gesamtfunktion des Schaltkreises beschreibt (set as root). SS2012 Prof. Jörg Vollrath 19.04.2012

Danach wird entweder der Arbeitsschritt Simulation oder Implementierung durchgeführt. Bei der Simulation untersucht man das zeitliche Schaltverhalten bei verschiedenen vorgegebenen Eingangssignalen. Es gibt spezielle VHDL Dateien die das zeitliche Verhalten der Eingangssignale beschreibt. Ein Gerüst für diese Datei kann automatisch erzeugt werden (VHDL Test Bench). Durch die Aktion Simulate Behavioral Model, wird der Syntax aller Dateien des Projects und die korrekte Zuordnung von Verbindungen geprüft. Dann wird ein Simulator gestartet, der das Zeitverhalten der benutzten Signale darstellt. Normalerweise überprüft man hier die Wahrheitstabelle einer digitalen Schaltung, wobei man alle möglichen Eingangskombinationen anlegt. Wenn die Simulation erfolgreich ist, führt man den Schritt Implementierung durch. Er besteht aus den Unterschritten Synthesis, Implement Design, Generate Programming File. Bei der Synthesis werden wieder alle Dateien auf korrekten Syntax überprüft und auf VHDL Konstrukte abgebildet. Beim Schritt Implement Design wird dann versucht diese VHDL Konstrukte auf einfache Logikblöcke abzubilden und im FPGA zu platzieren und zu verdrahten (Map, Place and Route). Als letztes wird dann die gefundene Lösung in einen Bitstream umgewandelt, der in das FPGA zur Konfigurierung geladen wird.