+ All Categories
Home > Documents > 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten...

2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten...

Date post: 15-Apr-2019
Category:
Upload: hakiet
View: 216 times
Download: 0 times
Share this document with a friend
28
17.04.2012 – Version 1.02 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Technische Informatik und Ingenieurinformatik Fachgebiet: Integrierte Kommunikationssysteme Praktikumsanleitung Integrierte Hardund Softwaresysteme II Versuch: Reaktionstester Dipl.Ing. Steffen Ostendorff, B.Sc. Johannes Both
Transcript
Page 1: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

17.04.2012 – Version 1.02  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

Technische Universität Ilmenau

Fakultät für Informatik und Automatisierung 

Institut für Technische Informatik und Ingenieurinformatik 

Fachgebiet: Integrierte Kommunikationssysteme 

Praktikumsanleitung 

Integrierte Hard‐ und Softwaresysteme II

 

Versuch: Reaktionstester 

Dipl.‐Ing. Steffen Ostendorff, B.Sc. Johannes Both 

 

Page 2: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

2  

Inhaltsverzeichniss 

1  Aufgabenstellung ............................................................................................................... 3 

1.1  Einführung ................................................................................................................... 3 

1.2  Anforderungen ............................................................................................................ 4 

1.3  Übersicht ...................................................................................................................... 6 

1.4  Modul: IHS2_PRAK_Control ......................................................................................... 7 

1.5  Modul: IHS2_Prak_Random ........................................................................................ 8 

1.6  Modul: IHS2_Prak_10msTimer .................................................................................... 9 

1.7  Hardware ..................................................................................................................... 9 

2  Anleitung: Modultest ....................................................................................................... 10 

2.1  Installation (Modelsim) .............................................................................................. 10 

2.2  Starten einer Simulation mithilfe von do‐Files (Modelsim) ...................................... 10 

2.3  Installation (ISE 13.4) ................................................................................................. 11 

2.4  Starten einer Simulation mithilfe von do‐Files (ISE 13.4) .......................................... 15 

2.5  Aufbau und Verwendung von TestBenches .............................................................. 17 

2.6  Aufbau von do‐Files (Modelsim) ............................................................................... 18 

3  Anleitung: Programmierung der Zielhardware ................................................................ 19 

4  Anhang: Zusammenfassung VHDL Befehle ...................................................................... 21 

4.1  Concurrent Statements ............................................................................................. 21 

4.2  Sequential Statements .............................................................................................. 22 

4.3  Specifications ............................................................................................................. 24 

4.4  Library & Use Clause .................................................................................................. 24 

4.5  Declarations ............................................................................................................... 24 

4.6  Library Units ............................................................................................................... 26 

5  History .............................................................................................................................. 28 

 

Page 3: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

3  

1 Aufgabenstellung

1.1 Einführung

Das IHS2 Seminar hat sich von 2009 bis 2012 mehr und mehr von VHDL‐lastigen Übungen zu 

Themen  verschoben,  die  in  der  Vorlesung  behandelt worden  sind. Daher  gibt  es  für  das 

Praktikum  einen  extra  Satz  Folien,  die  zum  Verständnis  notwendig  sind.  Diese  sind  als 

Arbeitsmaterial  des  Praktikums  auf  der Webseite  des  Fachgebiets  zu  finden.  Sie  sind  als 

Zusatzmaterial gedacht und wurden aus Seminarunterlagen von 2009 zusammengestellt und 

daher nicht extra für das Praktikum entworfen. Dies ist beim Lesen ggf. zu berücksichtigen. 

 

Auf Basis, der in diesen Folien vorgestellten VGA Moduls, soll ein Reaktionstester entwickelt 

werden.  Dafür  werden  4  Grafikmodule1  als  7‐Segmentanzeige  verwendet.  Hier  soll  die 

benötigte Reaktionszeit angezeigt werden. Ein weiteres Grafikmodul wird zur Anzeige eines 

farbigen  Signals  verwendet  und  dient  zur  Zustandssignalisierung während  des  Reaktions‐

tests.  Es  kann  über  3  Steuerleitungen  die  3  Grundfarben  des  RGB‐Raums  sowie  deren 

Mischfarben darstellen. Weitere  Informationen über die verwendeten Grafikmodule sowie 

das VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. 

 

Der Reaktionstester  soll  nach  seiner Aktivierung  eine  zufällige  Zeit  in  einem Wartemodus 

bleiben. Danach wird auf der 7‐Segmentanzeige ein Timer angezeigt, welcher durch einen 

Tastendruck angehalten wird. Beim vorzeitigen Drücken einer Taste, wird der Versuch mit 

einem  roten  Signal  abgebrochen.  Die  einzelnen  Phasen  (Idlephase,  Wartephase, 

Reaktionsphase  und Anzeigephase)  sollen  durch  unterschiedliche  Farben  über  das  farbige 

Signal gekennzeichnet werden.  

 

Für  das  Praktikum  ist  eine  Bearbeitungszeit  von  ca.  10  Stunden  vorgesehen.  Davon 

entfallen 7 Stunden auf die häusliche Vorbereitung und 3 Stunden auf die Umsetzung der 

praktischen Aufgaben  im Praktikumsraum. Die Bearbeitung des Praktikums darf nur mit 

vorbereiteten  und  vollständigen Unterlagen  durchgeführt werden! Das  Praktikum  ist  in 

Teams von 2 Personen durchzuführen. 

 

Alle Module sind  in VHDL zu  implementieren. Nutzen Sie dazu die Xilinx  ISE 13.42 sowie 

ggf. Modelsim. Es wird empfohlen die einzelnen  zu entwickelnden Module mit dem  ISE 

Simulator oder Modelsim vor dem Praktikum zu simulieren. 

                                                       1 Als Grafikmodul wird ein Modul in VHDL bezeichnet, das nach gegebenen Vorgaben (siehe extra Foliensatz) ein 128x128 Pixel großes Bild ausgibt. Dieses Modul ist unabhängig von anderen Modulen. 2 http://www.xilinx.com/support/download/index.htm 

Page 4: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

4  

 

Zur  Verhaltensvalidation  (Teil  der  Vorbereitung)  können  die  bereits  angelegten 

TestBenches  verwendet werden  (siehe Kap.  2 Anleitung: Modultest). Weiterhin  besteht 

die Möglichkeit  sich  eine  Hardware‐Plattform  auszuleihen.  Kontaktieren  Sie  dazu  Herr 

Ostendorff per Mail 

 

Alle  Vorbereitungsaufgaben  sind  schriftlich  zu  erfüllen  und  MÜSSEN  zum 

Praktikumstermin  vorgelegt  werden.  Die  restlichen  Aufgabenteile  (Programmierung  in 

VHDL)  sollten  zu  Beginn  des  Praktikums  fehlerfrei  synthetisierbar  sein.  Kleinere 

Verhaltensfehler können noch während der Praktikumszeit ausgebessert werden. 

1.2 Anforderungen

Zu entwerfen ist der Reaktionstester mit folgenden Anforderungen: 

 

der  Reaktionstester  ist  zu  Beginn  in  einem  neutralen  Zustand  (alle 

7‐Segmentanzeigen auf 0, beliebig farbiges Signal) 

durch Drücken einer Taste ändert sich das Signal auf gelb (‐> Abbildung 1) 

das gelbe Signal bleibt für eine zufällige Zeit von 1 bis 10 Sekunden angezeigt 

wird während  dieser  Zeit  eine weitere  Taste  gedrückt,  so wechselt  das  Signal  auf 

rot (durch erneutes Drücken einer Taste wechselt das System zurück in den neutralen 

Zustand) 

nach  Ablauf  der  zufälligen  Zeit  erlischt  das  gelbe  Signal  und  es  wird  ein  Timer 

angezeigt 

für den Timer  stehen die vier 7‐Segmentanzeigen  zur Verfügung  ‐ dabei  soll die 4. 

Stelle die 1/100 s, die  3. Stelle die 1/10s, die 2. Stelle die 1s und die 1. Stelle die 10s 

anzeigen (‐> Abbildung 1 & Abbildung 2) 

wird  jetzt eine  Taste  gedrückt, wird der  Timer  angehalten, die benötigte  Zeit wird 

angezeigt und ein grünes Signal ausgegeben (‐> Abbildung 2) 

durch  erneutes Drücken  einer  Taste wechselt  das  System  zurück  in  den  neutralen 

Zustand 

Page 5: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

5  

 

Abbildung 1: Wartephase ‐ Signal gelb ‐ Timer auf 0 

 

Abbildung 2: Anzeigephase ‐ Signal grün ‐ Timer steht

Page 6: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

17.04.2012 – Version 1.02  

1.3 Übersicht

Für den Reaktionstester sind folgende Grundmodule zu entwerfen und in VHDL zu implementieren: 

 

 

Abbildung 3: Übersicht über die Grundmodule des Reaktionstesters und deren Verschaltung 

 

 

Die  Entitys  der  einzelnen Module  sind  bereits  vorhanden. Die  Signale  zur  Kommunikation  untereinander  sind  ebenfalls  schon  angelegt.  Alle 

benötigten VHDL Gerüste sind in dem Projekt "VGA_Projekt_IHS2_PRAK" zu finden. 

Page 7: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

17.04.2012 – Version 1.02  

1.4 Modul:IHS2_PRAK_Control

Das  Modul  realisiert  die  interne  Verwaltung  des  Reaktionstesters.  Entwerfen  Sie  eine 

geeignete Struktur zur Realisierung der Anforderungen. 

1.4.1 Ports 

CLK:        25.175 MHz Main Clock des Systems (Achtung! ‐ nicht der VGA 

        Clock) 

RST:        globaler Reset des Systems 

pvButton_IN:      beschreibt 3 Tasten auf dem Experimentierboard    

        (Abbildung  5)  die  Tasten  sollen  für  den  internen  Ablauf  des 

        Systems verwendet werden 

pvRandomNumber_IN:  12 Bit Random Zahl die vom IHS2_Prak_Random generiert wird  

pvTimeInDecimals_IN:  Input Vektor für den Timer‐Output 

        die Zeit muss in BCD‐Code dargestellt sein jeweils 4 Bits  

        entsprechen den darzustellenden Digits 

pfGetRandom_OUT:    wenn 1, wird auf pvRandomNumber_IN  ein Zufallswert  

        geliefert 

pfSetXXXColour_OUT:  setzt das Signal auf die entsprechende Farbe (es können  

        mehere Farben gleichzeitig gesetzt werden) die Farben sind  im 

        RGB Farbformat codiert 

pfStartTimer_OUT:    startet den Timer 

pfSopTimer_OUT:    stoppt den Timer ‐ letzter Wert wird  beibehalten 

pfResetTimer_OUT:    setzt den Timer auf 0 ‐ der aktuelle Zustand wird beibehalten 

pv7SegX_Out:     Anzeigewert für die vier 7‐Segmentanzeigen 

        der Ausgabewert muss ein BCD Wert enthalten ‐ andere  

        Werte werden nicht dargestellt 

 

Vorbereitung: 

 

Informieren  sie  sich  über  die Möglichkeiten  zur  Beschreibung  von Automaten  in VHDL. 

Nutzen  sie  dazu  die  Materialen  aus  den  Zusatzfolien  des  Praktikums  oder  aus  dem 

Language Templates der ISE unter "VHDL‐>Synthesis Constructs‐>Coding Examples". 

Entwerfen  Sie  einen  geeigneten  Automat  zur  Umsetzung  von  IHS2_PRAK_Control.  Die 

Zustände  sowie  Zustandsübergänge  sind  in  einer  angemessenen  Form  schriftlich  zu 

entwerfen und grafisch zu dokumentieren. 

   

Page 8: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

8  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.5 Modul:IHS2_Prak_Random

Da man  in Hardware  keine  nichtdeterministischen Verfahren  implementieren  kann,  fallen 

die gängigen Methoden  zur Random‐Number Generierung aus. Eine mögliche Realisierung 

eines streng deterministischen Pseudozufallszahlengenerator  ist ein  linear  rückgekoppeltes 

Schieberegister (engl. Linear Feedback Shift Register, kurz LFSR). Die Güte der Zufallszahlen 

kann  durch  eine  Kombination  von  meheren  LFSR  und  durch  die  Wahl  eines  günstigen 

Generatorpolynoms beeinflusst werden. 

Dieses  Modul  soll  ein  solches  LFSR  mit  12  Bit  Ausgabebreite  realisieren.  Sobald  das 

pfGetRandom_IN Flag auf 1 gesetzt ist, soll an pvRandomNumber_OUT eine neue Zufallszahl 

anliegen. Wird  das  Flag wieder  auf  0  gesetzt,  soll  die momentane  Random  Number  am 

Ausgangsport gehalten werden. 

 

 

Vorbereitung: 

 

Informieren Sie sich über die Generierung von Zufallszahlen mittels LFSR. 

Skizzieren Sie den strukturellen Aufbau eines LFSR. 

Geben Sie ein geeignetes Generatorpolynom für ein 12 Bit LFSR an. 

 

 

Abbildung 5: Taster zur Steuerung des 

Reaktionstesters 

Abbildung 4: Language Templates

Page 9: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

9  

1.6 Modul:IHS2_Prak_10msTimer

Der Timer soll eine Stoppuhr realisieren. Sobald das pfStartTimer_IN Signal gesetzt  ist, wird 

der  Timer  aktiviert.  Mit  pfStopTimer_IN  wird  der  Timer  angehalten,  die  Ausgabe  bleibt 

bestehen. pfResetTimer_IN setzt den Zähler auf 0 zurück, der Timer verbleibt  im aktuellen 

Zustand  (zählend, angehalten). Die Auflösung  lässt  sich über das gCOUNTER_TICK Generic 

frei wählen. 

Ausgegeben werden vier BCD‐kodierte Digits, wobei die Bits 3 .. 0 die kleinste Stelle und die 

Bits 15 ... 12 die größte Stelle sind. Wird der interne Wert gCOUNTER_TICK erreicht, so wird 

das niederwertigste Digit inkrementiert. Es ist darauf zu achten, dass nur gültige BCD Werte 

ausgegeben werden. 

 

1.7 Hardware

Spartan‐3A DSP 1800 Board 

25.175 MHz Main Clock 

62,9375 MHz VGA Clock 

JTAG programming and configuration port 

Page 10: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

10  

2 Anleitung:ModultestFür die Simulation können der integrierte ISE Simulator oder Modelsim verwendet werden. 

Beim Erstellen dieser Anleitung gabe es mit Modelsim unter Win7 (64bit) Probleme bei der 

Installation, daher ist die hier beschriebene Anleitung für Modelsim evtl. nicht auf dem 

neusten Stand. 

2.1 Installation(Modelsim)

ModelSim  ist eine Simulationsumgebung  für VHDL und Verilog die  für Studenten kostenlos 

unter  

 

http://model.com/content/modelsim‐pe‐student‐edition‐hdl‐simulation 

 

heruntergeladen  werden  kann.  Zum  Download  ist  eine  Registrierung  erforderlich.  Eine 

Schritt‐für‐Schritt‐Anleitung ist auf der Seite vorhanden. 

2.2 StarteneinerSimulationmithilfevondo‐Files(Modelsim)

Starten Sie ModelSim nach der erfolgreichen Installation. 

 

Abbildung 6: ModelSim 

Wechseln Sie über den File‐>Change Directory Befehl in das Hauptverzeichnis ihres Projekts. 

 

Abbildung 7: ModelSim ‐ change directory 

Page 11: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

11  

Zum Starten der Simulation können automatische do‐Skripte verwendet werden. Für die 3 

Hauptmodule des Praktikums sind Standard‐do‐Files im ./Sim/ModelSim Ordner vorhanden. 

Diese müssen bei Bedarf noch um user‐spezifische Signale erweitert werden (s.u.).  

Zum  Starten  eines  do‐Files  geben  sie  do  ./sim/ModelSim/<Name  des  do‐Files>.do  in  die 

Konsole ein. 

 

Abbildung 8: ModelSim – console 

2.3 Installation(ISE13.4)

Die ISE13.4 ist von der Xilinx Website3 herunterzuladen. ACHTUNG: Die Datei ist ca. 5.7Gbyte 

groß und benötigt zum Entpacken erneut 5.7Gbyte. Die Installation des Webpacks belegt 

anschließend ca. 14Gbyte. 

Im Folgenden sind ein paar Bilder der Installation sowie der empfohlenen Einstellungen 

dargestellt. Die Lizenzbedingungen (3 Stück) sind zu akzeptieren, damit die Software 

installiert werden kann. Im Anschluss an die Installation ist die Lizensierung der ISE auf der 

Xilinx Website durchzuführen. Hierfür muss ggf. ein Login erstellt werden. 

                                                       3 http://www.xilinx.com/support/download/index.htm 

Page 12: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

12  

 

Abbildung 9: ISE Installation – erstes Fenster 

 

Abbildung 10: ISE Installation – Auswahl der Edition 

Page 13: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

13  

 

Abbildung 11: ISE Installation – Auswahl der zu installierenden Komponenten 

 

Abbildung 12: ISE Installation – Angabe des Installationspfades 

Page 14: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

14  

 

Abbildung 13: ISE Installation – Lizensierung 

 

Abbildung 14: ISE Installation – Lizenz Konfiguration 

 

Abbildung 15: ISE Installation – Xilinx License Site 

Page 15: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

15  

2.4 StarteneinerSimulationmithilfevondo‐Files(ISE13.4)

Nach  der  Installation  ist  die  ISE  zu  starten.  Anschließend  kann  über  „Open  Project“  ein 

Projekt  geöffnet  werden.  Es  stehen  folgende  Projekte  in  denen  für  das  Praktikum 

bereitgestellten Dateien zur Verfügung. 

Projekt im Unterordner ./prj/ 

‐ ISE13: 

Hauptprojekt für die Synthese des gesamten Entwurfs (wird im Praktikum benötigt) 

‐ ISE13_IHS2_PRAK_10msTimer: 

Projekt für die Simulation des zu entwerfenden Moduls 10msTimer 

‐ ISE13_IHS2_PRAK_Control: 

Projekt für die Simulation des zu entwerfenden Moduls Control 

‐ ISE13_IHS2_PRAK_Random: 

Projekt für die Simulation des zu entwerfenden Moduls Zufallsgenerator 

 

Das Hauptprojekt ist für die Synthese des Gesamtprojekts. Die anderen Projektordner sind 

für die einzelnen zu entwerfenden Module und deren Simulation. 

 

Zum Durchführen der Simulation mit dem ISim Simulator ist das entsprechende Projekt (z.B. 

ISE13_IHS2_PRAK_10msTimer) zu öffnen. Beispielhaft sind die nötigen Schritte im Folgenden 

dargestellt. 

 

Abbildung 16: ISim – Process Properties aufrufen 

Page 16: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

16  

Als erstes  ist  in den Simulationsview zu wechseln. Dies  ist oben  links unterhalb des Menüs 

möglich.  Anschließend  sind  in  der  Mitte  links  unter  „Simulate  Behavioral  Model“  die 

„Process Properties“  zu öffnen. Diese  sind  in der  folgenden Abbildung dargestellt. Bei den 

vorgefertigten Projekten sind die Projektpfade anzupassen. 

 

Abbildung 17: ISim – Process Properties ausfüllen 

 

Abbildung 18: ISim – Simulation 

Die ISim Simulation ist im oberen Bild dargestellt. Links können alle vorhandenen Ports und 

Signale  angezeigt  werden,  die  dann  per  Drag&Drop  in  das  Simulationsfenster  gezogen 

werden können. Für Details zur Steuerung und  für weitere Optionen des Simulators sei an 

dieser Stelle auf dessen Dokumentation verwiesen. 

Page 17: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

17  

2.5 AufbauundVerwendungvonTestBenches

Für  eine  Simulation  eines VHDL‐Moduls wird  ein VHDL  TestBench(TB) benötigt.  Ein  TB  ist 

ebenfalls eine VHDL‐Datei welche die zu testenden Datei (UUT ‐ unit under test) instanziiert. 

Durch  das  TB  werden  die  Eingangs‐Stimuli  festgelegt  und  die  Ausgangssignale  der  UUT 

entgegen genommen. 

 

Abbildung 19: TestBench & UUT 

Um eine bestimmte Eingangsbelegung am UUT  zu  testen muss diese zu einem definierten 

Zeitpunkt von der TB erzeugt werden. Die TBs für die 3 Hauptmodule des Praktikums sind im 

./sim Ordner vorhanden. 

In  jeder  TB  gibt  es  einen  "stimulus  process" der die  Eingangsstimuli  erzeugt. Dabei  ist  zu 

beachten, dass die Signale die dort gesetzt werden zeitlich aufeinander abgestimmt sind.  

z.B.: 

  pvButton_IN <= "100"; 

  wait for CLK_period*2; 

       pvButton_IN <= "000"; 

  wait for 200 ns;     

  pvButton_IN <= "100"; 

  wait for CLK_period*1; 

  pvButton_IN <= "000"; 

  wait for 200 ns; 

 

Page 18: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

18  

Hier wird der pvButton_IN Port für 2 CLK‐Perioden auf "100" gesetzt. Danach sofort wieder 

auf "000". Danach passiert 200 ns  (5 Takte  ‐ bei 40ns CLK‐Periode  ) nichts am Eingang der 

UUT. Danach wird der pvButton_IN Port erneut auf "100" gesetzt, diesmal jedoch nur ein 1 

CLK‐Periode gehalten. Daraufhin gibt es eine weitere 200 ns Pause. 

Mithilfe  der  TB  können  nur  Signale  am  Eingang  der  UUT  geändert werden.  Instanziierte 

Komponenten im Inneren der UUT oder interne Signale sind nicht direkt erreichbar. 

2.6 Aufbauvondo‐Files(Modelsim)

In  do‐Files  sind  alle  nötigen  Simulationseinstellungen  beschrieben.  Die  wichtigsten 

Konstrukte sind hier kurz dargestellt. 

 

vcom ./src/IHS2_PRAK_Random.vhd 

 

Der  "vcom"  Befehl  kompiliert  die  benötigten  VHDL  Files,  so  dass  sie  von  ModelSim 

verarbeitet  werden  können.  Alle  in  der  Simulation  verwendeten  VHDL‐Files  müssen 

kompiliert werden. 

 

  add wave  ‐noupdate   ‐format Literal   ‐radix hexadecimal  ‐label "CLK"  /IHS2_PRAK_Random_TB/clk 

 

Mit "add wave" können zu beobachtende Signale hinzugefügt werden. Dies Signale aus der 

TB wie auch aus der UUT sein. Die "format" Option gibt an ob das Signal als logischer Pegel 

(Logic) oder als Literal (Literal) angezeigt wird. Im Literal Modus kann über die "radix" Option 

die  Darstellungsform  gewählt  werden.  Typische  Formate  sind:  Binary,  Octal,  Decimal, 

Hexadecimal, ASCII. Die "Label" Option gibt eine Alias für das Signal an um lange Namen zu 

vermeiden. Am Ende des Befehls wird das zu beobachtende Signal geschrieben.  

 

  run 200 us 

 

Gibt die Länge der Simulation an. 

 

  WaveRestoreZoom {0 us} {2 us} 

 

Zoomt nach Ende der Simulation in den angegeben Bereich. 

Page 19: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

19  

3 Anleitung:ProgrammierungderZielhardwareErstellen  Sie  als  erstes  ein  bit‐File  zur  Programmierung  des  FPGAs.  Nutzen  Sie  dazu  die 

"Generate Programming File" Option aus der ISE. 

 

 

Abbildung 20: Generate Programming File 

Starten Sie nun iMPACT. 

 

Abbildung 21: iMPACT 

Doppelklicken Sie auf "Boundary Scan" und initialisieren danach Sie die JTAG Kette über den 

"Initialize Chain" Button.  

Page 20: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

20  

 

Abbildung 22: iMPACT ‐ Boundary Scan & Initialize Chain 

Wählen Sie im erschienenen Dialog, das von der ISE generierte Bit‐File aus. Dies befindet sich 

standardmäßig in dem Projektordner des aktiven Projekts. Sie können auch nachträglich ein 

anderes  bit‐File  über  die  "Assign  New  Configuration  File"  Option  des  Xilinx‐Symbols 

zuweisen.  Diese  Option  ist  im  Kontextmenü  des  Symbols  zu  finden  und  wird  über  ein 

Rechtsklick angezeigt. 

 

Abbildung 23: iMPACT‐ Assign New Configuration File 

Nun werden sie gefragt, ob Sie ein SPI File anhängen möchten. Lehnen Sie das über die No 

Option  ab  und  bestätigen  Sie  die  darauf  folgenden  "Programming Options" mit OK. Nun 

können  sie  den  FPGA  Programmieren  indem  Sie  ein  Rechtsklick  auf  das  Xilinx‐Symbol 

machen, und dort die "Program" Option auswählen. 

 

Abbildung 24: iMPACT ‐ Program 

Page 21: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

21  

4 Anhang:ZusammenfassungVHDLBefehle4

4.1 ConcurrentStatements

4.1.1 block_statement

label: block [(guard_expression)]

[generic] [ports] [declarations]

begin

concurrent_statements

end block [label];

4.1.2 component_instantiation_statement

label : name [ generic map (map) ] [ port map (signals) ];

4.1.3 concurrent_assertion_statement

assert condition

[ report string_expression ] [ severity {NOTE | WARNING | ERROR | FAILURE} ];

4.1.4 concurrent_procedure_call

[ label : ] procedure_name [ (parameters) ];

4.1.5 concurrent_signal_assignment_statement

[ label : ] [ {conditional_assignment | assignment | selected_assignment} ];

 

                                                       4 University of Cambridge ‐ Department of Engineering, http://www2.eng.cam.ac.uk/~dmh/ptiiavlsi/VHDLcmd.htm (17.04.2011) 

Page 22: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

22  

4.1.6 generate_statement

label : [{ for specification | if condition }] generate

concurrent_statements

end generate [label];

4.1.7 process_statement

[label : ] process [ (sensitivity_list) ]

[ variable_declaration ] [ type_declaration ] [subprogram_declaration ] [ declarations ]

begin

sequential_statements -- Cannot contain a wait statement if sensitivity_list is used

end process [ label ];

4.2 SequentialStatements

4.2.1 assertion_statement

assert condition -- When condition is false [strng_expression] is printed

[ report string_expression ] [severity { NOTE | WARNING | ERROR | FAILURE } ];

4.2.2 case_statement

case expression is -- Avoid the use of parenthesis, if possible when choices_1 => sequential_statements . . when choices_n => sequential_statements end case;

4.2.3 exit_statement

exit [ label ] [ when condition ];

Page 23: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

23  

4.2.4 if_statement

if condition then

sequential_statements { elsif condition then sequential_statements } [ else sequential_statements ]

end if;

4.2.5 loop_statement

[ label : ] [ while condition | for loop_specification ] loop sequential_statements end loop [ label ] ;

4.2.6 next_statement

next [ label ] [ when condition ];

4.2.7 null_statement

null;

4.2.8 procedure_call_statement

procedure_name [ (parameters) ] ;

4.2.9 return_statement

return expression; --For use in a Function return; --For use in a Procedure

4.2.10 signal_assignment_statement

target <= expression [ after time_expression ] . . { , expression [ after time_expression ];

4.2.11 variable_assignment_statement

target := expression ;

 

Page 24: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

24  

4.2.12 wait_statement

wait --A Function may not contain a wait_statement

[ on signal_name {, signal_name} ] [ until conditional_expression ] [ for time_expression ] ;

4.3 Specifications

4.3.1 attribute_specification

attribute attribute_name of entity_name is expression ;

4.3.2 configuration_specifications

for component_name use [ generic_map_part ]

[port_map_part] ;

4.4 Library&UseClause

4.4.1 library_clause

LIBRARY names ;

4.4.2 use_clause

USE selected_names ;

4.5 Declarations

4.5.1 alias_declaration

alias name1 : type [ (indexes) ] is name2 [ (indexes) ] ;

4.5.2 attribute_declaration

attribute name : type ;

4.5.3 component_declaration

component identifier : [ generic (generic_list) ; ] [ port (port_list) ; ] end component ;

Page 25: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

25  

4.5.4 constant_declaration

constant name : type := expression ; constant name : array_type [ (indexes) ] := expression ;

4.5.5 file_declaration

file name : type is [ mode ] logical_name ;

4.5.6 signal_declaration

signal names : type [ constraint ] [ := expression ] ;

4.5.7 port_declaration

port ( names : direction type [ := expression ] [ ; more_signals ] );

4.5.8 subprogram_declaration

{ procedure name [ (parameters) ] | function name [ (parameters) ] return type; }

4.5.9 sub_program_body

is

declarations

begin

sequential_declarations

end [name] ;

4.5.10 subtype_declaration

subtype name is [ resolution_function] type [constraint] ;

4.5.11 type_declaration

type name is definition;

4.5.12 variable_declaration

variable names : type [ constraint ] [ := expression ] ;

Page 26: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

26  

4.6 LibraryUnits

4.6.1 architecture_body

architecture name of entity_name is

[types] [constants] [signals] [subprograms] [other declarations]

begin

concurrent_statements

end [name];

4.6.2 configuration_declaration

configuration name of entity_name is

declarative_part block_configuration

end [name];

4.6.3 entity_declaration

entity name is

[generics] [ports] [declarations]

[begin statements] --typically, an entity does not have statements. If it does, the statemnts cannot operate on signals end name;

 

Page 27: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

27  

4.6.4 package_body

package body name is

[subprogram] [type] [constant [signal] [declarations]

end [name];

4.6.5 package_declaration

package name is

[subprogram] [type] [constant] [signal] [file] [alias] [USE clause] [declarations] end [name];

Page 28: 2012-04-17 Aufgabenstellung IHS Praktikum v102 filedas VGA Modul finden Sie in den oben erwähnten Zusatzfolien zu finden. Der Reaktionstester soll nach seiner Aktivierung eine zufällige

28  

5 History‐ 1.02 

Anpassungen von ISE11 auf ISE13.4. 

Hinzufügen der Beschreibung des Simulators ISim. 

‐ 1.01 

Nicht weiter dokumentiert. 

‐ 1.00 

Erste erstellte Version. 


Recommended