Übungsblatt 1. Einführung in die Xilinx Vivado FPGA Design Plattform

Ähnliche Dokumente
Übungsblatt 2 Entwicklung und Test sequentieller Logik Abgabefrist: Mittwoch , 14:00 Uhr

2. Aufgabenblatt

Arbeiten mit XILINX - ISE - WebPACK

D i g i t a l l a b o r

Eine blinkende LED mit Xilinx ISE 13: das Hello World! der Hardware.

Hardware Praktikum 2008

Übung Hardwareentwurf

Schritt 1 : Das Projekt erstellen und programmieren des Zählers

Laborübung 4. Zustandsautomaten (Finite State Machines)

Konfiguration des MIG für DDR2-SDRAM Ansteuerung

Laborübung 2. Teil 1: Latches, Flipflops, Counter. Abbildung 1: Schaltkreis eines Gated D-Latch

Technische Informatik für Ingenieure Winter 2005/2006 Übungsblatt Nr. 3

Tutorial zur MAX+PLUS II Baseline Software von Altera

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

Übung 3: VHDL Darstellungen (Blockdiagramme)

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007

Programmierbare Logik Arithmetic Logic Unit

Schülerseminar Programmieren einer Ampelsteuerung

Configurable Embedded Systems

I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK

D.5 Versuchsreihe 5: Arithmetisch-Logische Einheit

Laborübung - Erstellen Sie eine Partition in Windows Vista

Hardware Praktikum 2008

HTWK Leipzig Fakultät EIT. Praktikum Schaltungstechnik. Versuch PLD. Anleitung zum. Bedienen der Entwurfssoftware. StateCAD.

WaveFormer Pro in Simulationsumgebungen mit ModelSim

Einführung in Automation Studio

Praktikum Systementwurf mit VHDL HDL Design Lab

Institut für Informatik. Deutsche Kurzanleitung Lattice ISPLever v1.0 zum Elektronik Grundlagenpraktikum. 5. Praktikumskomplex

Darstellung eines 1-Bit seriellen Addierwerks mit VHDL. Tom Nagengast, Mathias Herbst IAV 07/09 Rudolf-Diesel-Fachschule für Techniker

HaPra Versuchsreihe 4 - Aufbau eines Volladdierers. Aufbau eines Volladdierers mit diskreten Bausteinen

Eclipse Tutorial.doc

Institut für Informatik. Deutsche Kurzanleitung Lattice ISPLever v5.0 zum Elektronik Grundlagenpraktikum. 5. Praktikumskomplex

Anleitung für VHDL tools

Mikrocontrollertechnik. F5 Erstes Programm. AVR Studio 4

Semestralklausur Einführung in Computer Microsystems

D.4 Versuchsreihe 4: Integrierte Logikbausteine

Einführung in die technische Informatik

Anleitung ModelSim. ModelSim SE6.3j, PE (Mentor Graphics) Designflow. 1/14 Aktualisiert: 11/2012 Pal

XILINX ISE WEBPACK und DIGILENT BASYS2

RS-232 SERIAL EXPRESS CARD 1-PORT. Expansion

Herzlich Willkommen. JUMO mtron T. Erste Schritte mit Soft-SPS CODESYS V3

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Konvertieren von CFC Plänen von DIGSI 4 Projekten nach DIGSI 5

Wechseln Sie in den oberen Bereich auf Start> Dokumentenverwaltung> Neues Schreiben.

Computer Engineering 1

Im Mathe-Pool startet man Eclipse am besten aus einer Shell heraus, und zwar indem man im Home- Verzeichnis den Befehl

RELEASE 5 Lotus Notes als Datenquelle

FPGA-Entwurf mit VHDL. Serie 3

EHP Einführung Projekt A

Versuch 8 Gerätesteuerung mit SICL und VISA in C Widerstandskennlinie

Einführung in Xilinx Webpack ISE 10.1

Einbindung der RasPiLC in die CODESYS-Umgebung

InDesign Gate

Für die Erstellung von Javaprogrammen sind eventuell zwei Komponenten nötig. 1. Das Java-Develepment-Kit (JDK) und die 2. Java Runtime Engine (JRE)

Beschreibung zur Überprüfung einer digital signierten E-Rechnung

Von SystemC zum FPGA in 7 Schritten. Kurzes Tutorial für die Synthese von SystemC Entwürfen auf dem ISMS Server der Hochschule

How-To-Do. Ethernet-Konfiguration der CPU 31xNET mit dem SIMATIC Manager von Siemens

BASIC-Tiger Starter Kit. Tel: +49 (241) Fax: +49 (241)

Codegenerierung für FPGAs aus einem Simulink-Modell (Schritt-für-Schritt-Anleitung)

3 Geoverarbeitung mit dem ModelBuilder

Kurzanleitung Eclipse

Erstellung einer Mittelwertberechnung

1 Dateien über das Kontextmenü in ein Archiv verschlüsseln

COTI-Plugin für SDL Trados Studio 1.0

(1)Einführung in Eclipse

Abhängig von Monitorgrösse und gewählter Auflösung können die Menueleisten etwas anders aussehen als in den Bildern dargestellt.

Entwurf und Simulation einfacher Logikelemente

Sicherer GINA Zugriff mit HTTPS Installationsanleitung für Google Chrome 1

Einführung in das Programmieren

Einführung in VHDL (2)

Bedienungsanleitung für MEEM-Kabel-Desktop-App Mac

IHS2 Praktikum. Zusatzfolien. Integrated HW/SW Systems Group. IHS2 Praktikum Zusatzfolien 2012 Self-Organization 20 April

Sicherer GINA Zugriff mit HTTPS Installationsanleitung für Mozilla Firefox 1

5.1.1 Dateilinks hinzufügen

Installieren und Verwenden des Document Distributor 1

Arbeitsblatt 5 EAD II NetBeans

Installation von Java-JDK, BlueJ und SuM Eine Schritt-für-Schritt-Anleitung

1. Keil starten. Sollten Sie keinen leeren Bildschirm haben, löschen Sie einfach die

Laborübung - Erstellen einer Partition unter Windows XP

FAQ Kommunikation über PROFIBUS

1. Schritt Download der Firmware und des Firmwaredownloaders von unser Website

PROJEKTIEREN EINES SMARTSTIX S MIT CSCAPE

FreeQDA. Eine freie Software zur Analyse qualitativer Forschungsdaten. Anleitung. von Jörg große Schlarmann. und Dirk Kitscha

Verilog/VHDL. Mehdi Khayati Sarkandi Uni Siegen

BOOTLOADER für AVR-Entwicklungsmodule

Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch

PeakTech Zeitprogramm erstellen über Excel - Beispiel / Timed programs with Excel Example

Übertragung der Software Aktivierung auf neuen PC

Bedienungsanleitung. Name:Programmierbarer LED Controller Model:TC420

Installation & Usage. Version 1.0. estickflashtool

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

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt

Mit Unity 3D eine Augemented Reality-App auf ein ios-device spielen

Bedienungsanleitung Micro-Manager mit Spannungsverstärker NV120/1 NV120/1CLE

Anleitungen zu den Übungen mit CIP Tool

Installation des Bondruckers TM-T88xx, der mittels eines USB-Adapters (COM-to-USB) an der USB-Schnittstelle angeschlossen ist.

3 Maps richtig ablegen und

Transkript:

Praktikum zur Vorlesung Prozessorarchitektur SS 2016 Übungsblatt 1. Einführung in die Xilinx Vivado FPGA Design Plattform 1.1. Einführung In dieser Übung werden wir einen einfachen digitalen Entwurf als praktische Einführung implementieren. Dazu gehören die Entwicklung eines Entwurfs, welcher die vorgegebene Spezifikation erfüllt, die Umsetzung dieses Entwurfs in VHDL, die Entwurfssimulation und schließlich, die Umsetzung des Entwurfs auf einem realen FPGA Prototyp. Alle Schritte werden mit den Xilinx-Tools durchgeführt. Für die Laboraufgaben, werden Sie mit VHDL arbeiten und das Xilinx Vivado Tool als Entwicklungsumgebung benutzen. Diese Übung führt Sie durch die Grundlagen der Erstellung eines neuen Projekts in Vivado, durch den Entwurf eines einfachen VHDL-Moduls, das eine kombinatorische Logik implementiert und durch die Überprüfung des Entwurfs in der Simulation. Schließlich, wird Ihr Entwurf auf einem realen FPGA Modul getestet werden. 1.1. Schritt 1: Erstellung eines neues Projektes in Xilinx Vivado Als erster Schritt, werden wir ein neues Projekt in Vivado erstellen: 1. Starten Sie Xilinx Vivado, das auf allen Laborcomputer installiert ist. 2. Erstellen Sie ein neues Projekt mit dem Namen lab1. Den Zielordner können sie frei auswählen. Wählen Sie RTL project als Zielprojekt und stellen Sie sicher, dass Do not specify sources at this time ausgewählt ist. 3. Sie werden aufgefordert, einige Einstellungen für das Projekt bereitzustellen. Verwenden Sie die folgenden Einstellungen: Product Category: All Family: Artix-7

Sub-Family: Artix-7 Package: csg324 Speed grade: -1 Temp grade: C Part: xc7a100tcsg324-1 Nehmen Sie sich Zeit, um sich mit der Vivado Umgebung vertraut zu machen. Beachten Sie, dass zu diesem Zeitpunkt keine Quellen zu dem Projekt hinzugefügt werden. Sie werden die gleichen Projekteinstellungen durch alle Praktika verwenden. 1.2. Schritt 2: Erstellen Sie eines Entwurfs in VHDL Sie werden ein einfaches Modul, einen 4-Bit-Addierer mit Carry-Out-Signal in VHDL beschreiben und implementieren. Das Modul ist wie folgt spezifiziert: Das Modul hat zwei 4-Bit-Eingangsports, a und b. Das Modul hat zwei Ausgangsports, 4-bit sum und 1-bit carry_out. Erstellen Sie eine VHDL-Quelldatei für das Projekt: 1. Klicken Sie auf Flow Navigator > Project Manager > Add Sources und wählen Sie Add or create design sources. Klicken Sie auf Next. 2. Klicken Sie auf Create File und wählen Sie File Type > VHDL. Geben Sie den Namen adder.vhd unter File Name ein und klicken Sie auf Finish. 3. Das neue Fenster Define Module wird geöffnet. Geben Sie I/O Ports gemäß der Spezifikation an und klicken Sie auf Ok. Die Datei adder.vhd wird im Fenster Sources angezeigt. Öffnen Sie die Datei mit einem Doppelklick auf den Dateinamen. 4. Wie auch bei vielen Software Programmiersprachen beginnt der VHDL-Code mit einer Liste von benutzten Bibliotheken. Der generierte Code sollte bereits einen Import für ieee.std_logic_1164.all enthalten. Nun fügen Sie einen weiteren Import für ieee.std_logic_unsigned.all. Die spätere Bibliotheksdefinition ermöglicht die Anwendung der arithmetischen Operation "Addition" auf "std_logic' Typen der Signale, wodurch die Signaltypkonvertierung nicht mehr nötig ist. 5. Nun beschreiben Sie den Architekturteil des erzeugten VHDL-Moduls. Definieren Sie ein temporäres 5-Bit-Signal temp, dem das Ergebnis der Addition der an den Eingangs-Ports anliegenden Signale zugewiesen werden soll. Die entsprechenden Bits des internen temp Signals sollten den Ausgangsanschlüssen des Addierer-Moduls zugeordnet werden. Verwenden Sie den Verkettungsoperator &, um die Größe des Eingangs-Ports intern auf 5 Bits zu erweitern.

6. Wenn der Entwurf der VHDL-Datei abgeschlossen ist, speichern Sie die Datei und prüfen Sie nach Syntaxfehlern. Nun müssen Sie das Design auf Synthetisierbarkeit prüfen. Klicken Sie auf Flow Navigator > RTL Analysis > Open Elaborated Design. Das Design wird übersetzt und das Fenster mit der RTL-Darstellung Ihres Moduls öffnet sich (Abbildung 1.1). Abbildung 1.1. RTL Schema des Addierer Moduls. 1.3. Schritt 3: Durchführen einer einfachen Simulation Es gibt zwei Möglichkeiten den VHDL-Entwurf im Vivado Simulator zu überprüfen: Typisch ist es eine VHDL-Testbench zu verwenden, die Impulse für den Test definiert. Die zweite Möglichkeit ist die, Werte der Eingangssignale direkt im Simulator anzulegen. In dieser Übung werden wir die zweite Methode verwenden. 1. Klicken Sie auf Flow navigator > Simulation > Simulation settings. Wählen Sie VHDL als Simulationssprache und Vivado Simulator als Zielsimulator. Ändern Sie den Wert der xsim.simulation.runtime Variablen im Simulation Tab auf 0 ns und klicken Sie auf Ok. 2. Klicken Sie auf Run Simulation > Run Behavioral Simulation, um die Simulation zu starten. Die neuen Fenster ( Scopes, Objects und Waveform ) werden geöffnet. Nehmen Sie sich Zeit, um sich mit der Simulationsumgebung vertraut zu machen. 3. Jetzt legen Sie Eingangssignalpegel für die Simulation an. Klicken Sie im Fenster Objects mit der rechten Maustaste auf die Signalnamen a und b und wählen Sie Force constant. Setzen Sie das Eingangssignal a auf den Wert 0101 und das Eingangssignal b auf den Wert 1010. 4. Lassen Sie die Simulation 10 us laufen, in dem Sie run 10 us in die Tcl Console eingeben. Überprüfen Sie die Ergebnisse im Waveform-Fenster. Was sind die Werte von sum und carry_out?

5. Jetzt stellen Sie den Wert von Signal b auf 1011 um. Lassen Sie die Simulation weitere 10 us laufen. Überprüfen Sie die Ergebnisse. Hat sich carry_out Signal geändert? Was ist der Wert von sum? Die Ergebnisse der Simulation sind in der Abbildung 1.2 dargestellt. Abbildung 1.2. Die Ergebnisse der Simulation. 1.4. Schritt 4: Testen des Entwurf auf einem FPGA Sobald das korrekte Verhalten des Entwurfs überprüft wurde, können Sie weiter die Funktionalität direkt auf FPGA-Hardware testen. Sie werden die Nexsys-4-Entwicklungsboards von Digilent verwenden. Das FPGA Board ist mit einem Xilinx Artix-7 FPGA-Modul und mit einigen zusätzlichen Komponenten wie Switches, Sieben-Segment-LCD-Displays und LED- Dioden ausgestattet. 1. Bevor Sie mit der FPGA Implementierung anfangen können, muss folgendes beachtet werden: Die LEDs und die Schalter des FPGAS sind mit bestimmten Pins des Artix-7 FPGA Chips auf dem Board verbunden. Um die Modul-Ports mit den gewünschten Pins zu verbinden, müssen Sie eine Verbindungsspezifikation bereitstellen. Klicken Sie auf Flow Navigator > Project Manager > Add Sources und wählen Sie Add or create constraints. Klicken Sie auf Next. Jetzt klicken Sie auf Create file und geben sie adder.xdc als File Name ein. Ihr Ziel ist den Eingangsport a mit den Schaltern SW15-SW12 zu verbinden. Der Eigangsport b sollte mit den Schaltern SW11-SW8 verbunden werden. Der Ausgangsport sum wird mit den Led-Dioden LD3-LD0 verbunden und der Ausgangsport carry_out mit der Led-Diode LD4. Die Verbindungen zwischen FPGA-Pins und I/O Modulen auf dem Nexsys-4 Board ist in dem Dokument Nexsys-4 FPGA Board Reference Manual zu finden (Seite 18). Schließen Sie die Erstellung des adder.xdc wie angegeben und speichern Sie die Datei. Verwenden Sie das mitgelieferte Beispiel als Referenz.

Das Beispiel der Pin-Zuordnung in XDC-Datei: # map port a[3] to the related pin of SW15 (P4) set_property PACKAGE_PIN P4 [get_ports {a[3]}] set_property IOSTANDARD LVCMOS33 [get_ports {a[3]}] # map port a[2] to the related pin of SW14 (P3) set_property PACKAGE_PIN P3 [get_ports {a[2]}] set_property IOSTANDARD LVCMOS33 [get_ports {a[2]}]. 2. Jetzt kann die Implementierung erfolgen. Der erste Schritt in der Umsetzung ist die Synthese. Dabei wird die RTL Beschreibung des Designs zu logischen Gattern konvertiert. Um die Synthese zu starten, klicken Sie auf Flow-Navigator' > 'Synthese' > 'Run Synthesis. Das Fenster öffnet sich und zeigt, ob der Syntheseschritt erfolgreich beendet wurde. Klicken Sie auf "Cancel", um das Fenster zu schließen. Ein neues Menü 'Open Synthesized Design' wird unter 'Synthesis Tab angezeigt. Klicken Sie auf Schematic und schauen Sie sich die schematische Darstellung des synthetisierten Designs an. Der erstellte Schaltplan sollte ähnlich zu der Abbildung 1.3 sein. Abbildung 1.3. Schaltplan nach der Synthese. 3. Jetzt machen Sie weiter mit dem Implementations Schritt. Der Schritt macht das Place & Route des synthetisierten Designs auf dem Ziel-FPGA-Module. Klicken Sie auf Flow Navigator > Implementation > Run Implementation. Wenn der Implementation Schritt

erfolgreich abgeschlossen ist, wird ein neues Fenster geöffnet. Sie werden gefragt, ob Sie mit Bitstream Generation fortfahren möchten. 4. In dem geöffneten Fenster wählen Sie "Generate Bitstream" aus und klicken Sie auf "Ok". Das Tool wird eine Bit-Stream-Datei adder.bit erzeugen, die für die Programmierung des FPGA verwendet wird. Ein neues Fenster öffnet sich und zeigt, ob Bitstream Generation erfolgreich abgeschlossen wurde. 5. Bevor Sie fortfahren, prüfen Sie, ob der Netzschalter an der Nexsys-4 Board eingeschaltet ist und ob alle Schalter auf der Platine in der Nullstellung sind. Wählen Sie nun Open Hardware Manager in dem neu geöffneten Fenster aus und klicken Sie auf OK. Das Hardware-Manager-Fenster öffnet sich und zeigt, dass kein Hardware Target geöffnet ist. Klicken Sie auf den 'Open Target' Link auf dem grün-farbigen Balken des Fensters Hardware-Manager und wählen Sie Auto Connect. Das Programm findet das Zielgerät, und Sie werden den Namen des Geräts im Fenster Hardware sehen können. Klicken Sie auf der Link Program Device an der Oberseite des Fensters Hardware Manager oder klicken Sie mit der rechten Maustaste auf den Gerätenamen und wählen Sie Program Device aus. Ein neues Fenster wird geöffnet. Die Ziel-Bitstrom-Datei (adder.bit) und die Debug-Probes- Datei (debug_nets.ltx) werden im Fenster gezeigt. Klicken Sie auf Program. Der Addierer wird auf dem Zielmodul auf dem FPGA-Board realisiert werden. 6. Um das Addierermodul zu testen, ändern Sie die Werte der Eingangssignale, wobei Sie die On-Board Schalter SW15 bis SW8 umschalten. Die LED-Dioden, die zu den Ausgangsport (LD0-LD4) zugeordnet sind, werden leuchten und das Ergebnis der Additionsoperation wird gezeigt. Ändern Sie die Eingangsporteinstellungen auf dem Board und beobachten Sie die Änderungen in den Werten der Summe- (LD3 zu LD0) und Carry-Out-Signale (LD4).