Arbeiten mit dem MACH-Demoboard - Fakultät für Informatik und

Transcription

Arbeiten mit dem MACH-Demoboard - Fakultät für Informatik und
Hochschule Karlsruhe – Technik und Wirtschaft
Fakultät für Informatik und Wirtschaftsinformatik
Prof. Dr. A. Ditzinger / Dipl.-Inform. (FH) O. Gniot
Prof. Dr. N. Link
/ Dipl.-Ing. J. Krastel
Digitallabor
Arbeiten mit dem MACH-Demoboard
Auf dem MACH-Demoboard, das in unserem Versuch verwendet wird, befindet sich ein
Baustein der ispMACH 4A5 CPLD Familie. Der Baustein heißt M4A5-64/32 hat 64 Macrozellen und 32 I/O-Pins (siehe Block Diagram Bild 11 und Connection Diagram Bild 12 im
Anhang).
Dieser Baustein ist über die JTAG-Schnittstelle elektrisch programmier- und löschbar.
Durch Verwendung dieser Schnittstelle ist es möglich den Baustein umzuprogrammieren
ohne ihn auszubauen (ISP – In-System-Programming).
Kurze Beschreibung des Demoboards
In Bild 1 sehen Sie das Blockschaltbild
des Demoboards mit mehreren Funktionsblöcken.
- Multiplexer 1 zur Auswahl von 3 Oszillatorfrequenzen: 0,3Hz, 1Hz, 100Hz oder
einem entprellten Taster (S11 rot) für
Clockeingang CLK0/I0. Die Auswahl erfolgt mit den Schaltern S13 und S14.
- Multiplexer 2 zur Auswahl von einer Oszillatorfrequenz von 100Hz oder einem
entprellten Taster (S12 schwarz) für
Clockeingang CLK1/I1. Die Auswahl erfolgt mit dem Schalter S15.
- 8 Schalter (S1..S8) zur binären Eingabe, die an den I/O-Pins 2..9 des CPLD
angeschlossen sind.
- 2 Schalter (S9..S10) zur binären Eingabe, die an den I/O-Pins 19..20 des
CPLD angeschlossen sind.
- JTAG Schnittstelle zum Programmieren
des CPLD-Bausteins auf dem Demoboard über die parallele Schnittstelle
des PC‘s.
Bild 1: Blockschaltbild des Demoboards
- Jeweils eine rote und grüne LED
(D12..D13), die an den I/O-Pins 17..18 des CPLD-Bausteins angeschlossen sind.
P:\G\DTL\DTL_Versuche\Mach_Beschreibung\Mach_Beschreibung_04.sxw 20121114_155406
1 von 6
J.Krastel
- Jeweils eine rote, gelbe
und grüne LED
(D9..D11), die an den I/O-Pins 14..16 des
CPLD-Bausteins angeschlossen sind.
- 8 rote LEDs (D1..D8) zur binären Ausgabe, die
an den I/O-Pins 36..43 des CPLD-Bausteins angeschlossen sind.
- 4 * 7 - Segment-Anzeigen (0-FH) mit Dezimalpunkt. Durch die I/O-Pins 28..31 wird das anzuzeigende Zeichen übergeben und durch die I/OPins 24..27 wird die entsprechende 7-SegmentAnzeige ausgewählt.
Bild 10 zeigt den Lageplan der Schalter und LE- Bild 2: Device Selector - Dialogbox
D's auf dem Demoboard.
Beispielprojekt: UND-Gatter
mit 3 Eingängen
Zum Kennenlernen des Demoboards werden anhand eines Beispiels die nötigen Arbeitsabläufe
zur Programmierung des CPLDBausteins aufgezeigt.
Als Beispiel dient ein „UND-Gatter
mit 3 Eingängen".
Im VHDL-Modul sollten keine Pins Bild 3: ispDesignExpert Project Navigator mit Projekt UND3
zugewiesen werden, da die Zuweisung mit dem Constraint Editor im
späteren Verlauf des Beispiels erfolgt.
Legen Sie ein neues Projekt an.
Projektname: „UND3“ (Dateityp:
Project File (*.syn) | Project Type –
VHDL ).
Durch doppelklicken auf den Bauteilenamen können Sie das Bauteil
der ispMACH 4A5 Familie mit nachfolgenden Merkmalen auswählen
(siehe Bild 2):
- Family:
ispMACH 4A5
- Device:
M4A5-64/32
- Speed grade: -10
- Package:
44PLCC
Bild 4: Constraint Editor
Erstellen Sie sich ein VHDL-Modul für ein UND-Gatter mit 3 Eingängen. Nach dem Anlegen des VHDL-Moduls UND3, sollte Ihr Projekt wie in Bild 3 abgebildet aussehen. Das
„Processes for Current Source:“ - Fenster wird um einige Eintragungen erweitert, unter anderem auch einem Eintrag des Constraint Editors, der zur einfachen Pinvergabe dient.
P:\G\DTL\DTL_Versuche\Mach_Beschreibung\Mach_Beschreibung_04.sxw 20121114_155406
2 von 6
J.Krastel
Bauteile-Pins vergeben
Doppelklicken auf Constraint Editor.
Der Constraint Editor wird geöffnet
(falls keine Fehler im compilierten
Programm aufgetreten sind) (siehe Bild 4). Am leeren rechten Fenster erkennt man, dass noch keine
Bauteile-Pins vergeben wurden.
Zur Pinvergabe müssen Sie die
„Location Assignment" - Dialogbox
mit nachfolgendem Befehl öffnen:
Menüleiste: Pin Attribute /Location
Assignment (siehe Bild 5).
Im Fensterbereich „Signals /List:"
werden alle Signalnamen aufgelis- Bild 5: Location Assignment - Dialogbox
tet, die in der Schaltung vorkommen. Sie können im Fensterbereich
„Filter" auswählen ob nur Eingänge
(Input), Ausgänge bzw. Bidirectionale Signale (Output/Bidi) oder Buried Nodes angezeigt werden sollen.
Im Fensterbereich „Assignment:
/Pin:" werden alle nicht zugeordneten Anschlußpins des ausgewählten Bausteins angezeigt.
Im Bild 5 im Fensterbereich: Signals /List: werden gerade alle Eingänge und Ausgänge angezeigt
(Filter steht auf Input und
Output/Bidi). Um dem Eingang „a“ Bild 6: Location Assignment Fenster mit zugewiesenen Pins
einen Pin zuzuweisen, klicken Sie
auf „a". Dem markierten a-Signal
können Sie jetzt im Fensterbereich
Assignment /Pin: den I/O Pin 2 zuweisen. Klicken Sie auf den AddButton. Der Signalname mit dem
ausgewähltem Pin wird im unteren
Teil der Dialogbox im Fensterbereich „Existing Location Assignment
List:" angezeigt.
Weisen Sie den Eingängen „b“ und
„c“ die I/O-Pins 3 und 4 und dem
Ausgang „y“ den I/O Pin 36 zu.
Jetzt müsste der Fensterbereich
„Signals /List" leer sein und im
Fensterbereich „Existing Location Bild 7: Constraint Editor mit zugewiesenen Pins
Assignment List:“ die zugewiesenen Pins wie im Bild 6 dargestellt angezeigt werden. Nach
P:\G\DTL\DTL_Versuche\Mach_Beschreibung\Mach_Beschreibung_04.sxw 20121114_155406
3 von 6
J.Krastel
dem Schließen der „Location Assignment“ - Dialogbox befinden Sie
sich wieder im Constraint Editor,
der alle zugewiesenen Pins anzeigt
(siehe Bild 7). Schließen Sie den
Constraint Editor (speichern nicht
vergessen) und compilieren Sie Ihre
Schaltung (Doppelklicken auf „JEDEC File“).
Programmieren des CPLDBausteins
Zum Programmieren des CPLDBauteils ist die Programmiersoftwa- Bild 8: LatticePro JTAG In-System-Configuration Software
re ispVM System LatticePRO notwendig.
Programmaufruf: „Menüleiste: Tools /ispVM System". Es öffnet sich der „LSC ispVM System“Fenster.
Zur Auswahl des zu programmierenden Bauteils
und des erstellten JEDEC Files aus unserem Projekt, wählen Sie in der „Menüleiste: Edit /Add Device“. Es öffnet sich das „Device Information“ -Fenster. Füllen Sie es wie in Bild 9 dargestellt aus.
Den Bauteile Namen können Sie aus einer Liste
von Bauteilen auswählen (Button: Select).
–
Device Family
: MACH4A
–
Device
: iM4A5-64/32
–
Package
: 44-pin PLCC
Bild 9: JTAG Part Properties
Für den Eintrag „Data File" müssen Sie das JEDEC File aus Ihrem Projektverzeichnis eintragen. Das JEDEC File hat das Extension „JED". In unserem Beispiel UND3.JED.
Für „Operation“ müssen Sie unbedingt „P=Erase, Program & Verify" auswählen, damit ein
vorher geladenes Programm gelöscht und das neue Programm übernommen wird. Quittieren Sie mit OK.
Schließen Sie die JTAG Schnittstelle des Demoboard über das vorhandenes Kabel an die
parallele Schnittstelle des PC's an. Schließen Sie das Demoboard an eine Spannungsquelle von 9V bis 12V an.
Zum Programmieren des CPLD-Bausteins auf dem Demoboard wählen Sie in der Menüleiste: Project /Download. Im Fenster „Status" wird das Fortschreiten des Programmiervorgangs mitprotokolliert. Nach maximal 10s sollte der Vorgang abgeschlossen sein. Speichern Sie Ihre Einstellungen ab. Beenden Sie die ispVM System-Software.
Testen Sie Ihr Programm.
P:\G\DTL\DTL_Versuche\Mach_Beschreibung\Mach_Beschreibung_04.sxw 20121114_155406
4 von 6
J.Krastel
Anhang
Bild 10: Lageplan der Schalter und LED's auf dem Demoboard
Bild 11: Block Diagram - M4A5-64/32
P:\G\DTL\DTL_Versuche\Mach_Beschreibung\Mach_Beschreibung_04.sxw 20121114_155406
5 von 6
J.Krastel
Bild 12: Connection Diagram: M4A5-64/32
P:\G\DTL\DTL_Versuche\Mach_Beschreibung\Mach_Beschreibung_04.sxw 20121114_155406
6 von 6
J.Krastel