XILINX ISE WEBPACK und DIGILENT BASYS2
Eine
kurze Einführung. Download
ISE Projektdateien auch links im Menü (ZIP)
Abteilung Elektronik an der HTL Mödling 2011/2015
Grundbegriffe
Xilinx ist eine Firma die programmierbare Digitalbausteine herstellt. Die Entwicklungsplattform heißt „ISE Webpack“ und ist frei verfügbar.
FPGA (field programmable gate array): RAM-Technologie d.h. Bei Stromausfall geht die Schaltung verloren; muß in einem Bootprozess von externem Flash (USB Stick Technologie) geladen werden.
CPLD (complex programmable device): Flash-Technologie; behält die Schaltung bei Stromausfall; Flash hat große Speicherzellen, CPLD‘s enthalten daher nur einen kleineren Speicher als FPGAs.
1 GE (gate equivivalent, Gatteräquivalent): Maßeinheit für die Komplexität einer Digitalschaltung z.B: 2-fach-Nand = 1GE, 2-fach-NOR = 1GE, Inverter = 0.5GE, RS-FF = 2GE, D-FF = 8 GE, Garagentorsteuerung: 100GE, Mikroprozessor: 1E4 bis 1E7 GE, CPLD: 1E4 GE, FPGA 1E6 GE
Software/Firmware: Firmware legt die grundlegende Verschaltung eines Systems fehst; liegt meist in einem Flash; es geht um die Belange der Hardware. Software liegt meist in einem Schreib-/Lesespeicheer und kümmert sich um die Bedürfnisse der Anwender.
VHDL Programmiersprache zur Entwicklung von Digitalschaltungen (Firmware)
FPGA
Package CP132 (132 Pin Ball Grid Array)
Standard Speed Grade -4 (Laufzeit von Eingang auf Ausgang ca. 10ns)
Baustein Spartan XC3E100S CP132 -4
Innenleben
![](data:image/png;base64,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UwAmrF69eq6uridOnNBtycjI+Oabb/71r3/FxMToNoomM3DgQH9/f1tbW+2Wx48f161bN8dqlpaWYkExrV27dvkQHgCMh6ICQC+6YyYABiFaire3965du0qWLDlu3DjROiwsLP7666+1a9cuXrz41KlT69ats7Oz080XJeeDDz7QjmNjY2/duvXnn3+KSrNlyxYPDw9JDwIADICiAgCAgixfvly0lLp16/7444/Ozs7aje3atRs8ePCgQYOOHj06e/bsoKAg3fxy5cpNmTIl+wrbtm0bPnz4smXL/v3vf+drdAAwKIoKAABKkZycvHjx4oIFC65cuVLXUrScnJxEh2nRosWqVatGjhxZsmTJFy2i/Qi+mzdv6rakpaVt3bo1PDw8IyOjTp063bp1c3BwMNqDAADDoKgAAKAUBw4ciI+P79Wr13M/oEJUl759+/7rX//asWPHoEGDXrTI5cuXxWXNmjW1Vx8+fPj+++///fffpUuXTkpKEj1n4cKFW7ZsEVeN9CgAwCAoKgBeW2xsbNGiRWWnAFQoNDRUXHp6er5owltvvSWKinaaVkJCwuHDh7XjtLS0a9eurVixomzZspMnT9ZuFLXkxo0bW7dubdy4sbj6n//8Z8CAAV9//fXMmTON+EgAQG8UFQCv58GDB7Vr1969e3eTJk1kZwHUJioqSly6uLi8aEKpUqUKZP011G25cuVKnz59ckwbPny47tywy5cvFy9evFGjRtqrbdq0mTJlSva34wOAMlFUALyegIAADw8PWgpgDNbW//13OS0t7UUTUlNTxWX2mlG9evXp06drx8nJyTExMdu3b//mm2/CwsI2btxoZWVVp06dY8eOdezY0cvLq0WLFmK+qDFGfhwAYAAUFQCvISQkRBz6ZD/tBIABVapUSVxeu3atQ4cOz51w9epVcVmxYkXdlkKFCon6kX1O7969hw0btnPnzt27d3fp0iUwMDApKWnz5s2fffZZgayPM+7Zs+fo0aM5gROAwlFUAORWRkaGn5/fiBEjateuLTsLoE5vvfWWuNy7d+/IkSOfO0HcpJv2IhYWFm3atBFF5e+//xZXHR0d58+fP3369NOnT//xxx/bt29ftmzZ77///ttvv1laWhrhQQCAYVBUAOTWihUrIiMjdSeZADA4d3f3mjVrnjx5UrSIZ19U0W4vVarUK791XvvCS8mS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8+bt3LkzR1Hp0aPH8OHDN27c2Lhx4+3bt/fp04fzvgAAxkBRAQBzsWHDhvPnz7dv3177lW1iULx48Z9++mnatGmVKlXKPvPx48ffffddsWLFnv2oH7GxXbt2v/zyS6tWrRISEnr16pVv+V+OL3wEAJWhqACA+qWkpKxZs2bMmDFOTk7z58/XbnR0dPzss898fX07d+4sikfNmjW12+/evdu/f//o6OiFCxc+9xuXRTnZtWvXhAkTSpQowXlfAAAjoagAgDpVqFBB9/LC06dPk5OTRa/46aef6tatq5szevTo69evL1q0qE6dOs2bN3dzc4uMjNy/f39qauonn3wiOsxzV+7evbutre3NmzeHDh2q+956AAAMi39gAGU5f/585cqVn/sFfEAutWvXTvt2eR1nZ+dGjRr16tWrWLFi2beLJvPVV1916dJlwYIFBw8e/P3334sXL966dethw4b17NlTN61MmTLivm+88Yb2qlhk4sSJFy9eFGVGN0e0FwcHB2M+rFzh1C8AUA2KCqAgT58+7dat28iRIwMCAmRngQmbM2fOa81vl+UlE7RfE5l9S3BwcI45q1ateq2dAgDwchQVQEFmzpxpa2s7ZswY2UEAAAAko6gASnHlypW5c+du375ddBXZWQBTxalfAKAaFBVAKQICAjp16tS+fXvZQQAAAOSjqACKsHPnzgMHDly8eFF2EMBUab9HBQCgGhQVQL6UlBRfX9/x48drv4YPAAAAFBVAvgULFmRmZgYGBsoOAgAAoBQUFUCyW7duzZgxY82aNfb29rKzACaMU78AQGUoKoBkgYGBLVu2zP7legDyjE/9AgDVoKgAMh08eHDLli3h4eGygwAAACgLRQWQJi0tbdSoUaNHj65WrZrsLIDJ49QvGERCQkJAQEA+7Ojp06c3btxo0qTJvHnznjshOjp68uTJ+ZDkyZMnt27dat68+RdffJEPu1OZoKAgJycniQGioqIk7t3YKCqANKtWrXr06NGUKVNkBwHUg1O/oKfU1NTt27fn2+5EG3lRUUlOTs7PJPHx8RSV3Hvw4IF2cPDgQblJdFJSUmRHMDyKCiBN796969evX7RoUdlBAAA5id/PJUuWNN764eHh4mDXxcXllTMbNWrk7OxsvCShoaGPHj0qXbq08XahPro/OA8PD7mfhRMbG6s9gdzOzk5iDCOhqADS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)
Features
CLB
= Konfigurierbarer Logikblock (LUT Wahrheitstafel +
Flipflops)
Block Ram oder verteiltes Ram
18x18bit
Multiplizierer
DCM Digitale Clock Manager (erzeugt aus langsamen
Takten schnelle usw.)
Ausgänge auch differenziell (für höhere
Störsicherheit)
IO
Slew Rate einstellbar; Pullups zuschaltbar u.v.a.m
Kompatibel zu
3.3V low-voltage TTL (LVTTL)
Low-voltage CMOS (LVCMOS) at 3.3V, 2.5V, 1.8V, 1.5V, or 1.2V
aber auch zu differenziellen Standards
LVDS low voltage differential signalling
Projekt anlegen
Projektordner anlegen z.B: M:\hwe\xilinx
Beispiel kopieren und entpacken l:\kneringer\xilinx\uebung1.zip → m:\xilinx\uebung1
Software starten: „Xilinx 64bit“
Projekt öffnen und Einstellungen kontrollieren
//Project/Design Properties
Family: Spartan3E
Device: XC3S100E
Package: CP132
Simulator: ISIM
Preferred Language: VHDL
Schaltplan zeichnen
keine Sonderzeichen nirgendwo! (auch
nicht in Kommentaren; english spoken)
Verschieben von
Schaltungsteilen mit Attributen (z.B: Signalnamen) ist nicht
möglich, daher ist vor dem Platzieren ein Floorplaning nötig oder
Attribute erst zuletzt am Schaltplan sichtbar machen.
Location-Attribut vergeben
legt fest, bei welchen Pins die Ein- und Ausgänge angeschlossen sind
Location-Attibut über User Constraints File (.UCF)
menu://Project/New File/Implementation Constraints File
Vorlage kopieren von : http://kner.at/home/60.Elektronik/xilinx/tb.template1.zip
Beispiel:
#loc=p38 ... Achtung, die Pin-Namen ändern sich je nach Package des ASICS
#bufg=clk ... führt das Signal clk über eine Lonngline (=schnelle Leiterbahn zur Signalverteilung)
#data_gate Eigenschaft führt das Signal über ein Latch, dadurch wird Strom gespart, weil nicht jede Signaländerung am Eingang interne Logik umschaltet
net clk loc = p38 | bufg=clk | data_gate;
Häufige Fehler:
Takt für Flipflops über normale Leiterbahn zur Verfügung stellen ist ein Fehler; Clock muss über schnelle Leiterbahnen verteilt werden, dafür gibt es eigene Clock-Eingänge am ASIC
Abhilfe: NET "mclk" CLOCK_DEDICATED_ROUTE = FALSE; in das UCF File schreiben erlaubt die Verwendung von normalen Pins
Schaltplan prüfen
menu://Tools/Check Schematic
Simulation
siehe ISIM
Simulation starten![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATYAAADeCAMAAACAAtzAAAABxVBMVEUAAAAAADMAKwAAKzMzAAAzADMzKwAzKzMAAGYAK2YzAGYzK2YAVQAzVQAzVTMAVWYzVWZmAABmADNmKwBmKzNmAGZmK2ZmVQBmVTNmVWYAK5kzK5kAVZkzVZkAVcwAVf8zVcxmK5lmVZlmVcwAgAAAqgAzgAAzgDMzqgAzqjMzgGYzqmYz1QAz1TNmgABmqgBmqjNmgGZmqmZm1TNm1WYAgJkzgJkzqpkAgMwzgMwzgP8zqswzqv9mgJlmqplmgMxmgP9mqsxmqv9m1f+ZADOZKwCZKzOZK2aZVQCZVTOZVWbMAADMADPMKzP/AAD/KzPMVQDMVTP/VTPMVWb/VWaZVZnMVZmZgACZgDOZqgCZqjOZgGaZqmaZ1QCZ1TOZ/wCZ1WbMgADMgDPMqgDMqjP/gDP/qgD/qjPMgGbMqmb/gGb/qmbM1QDM1TPM/wD/1QD/1TP//wDM1WbM/2b/1Wb//2aZgJmZqpmZgMyZqsyZqv+Z1ZmZ/5mZ1cyZ1f+Z/8yZ///MgJnMqpn/gJn/qpnMqszMqv//qszM1ZnM/5n/1Zn//5nM1czM1f/M/8zM////1cz/1f///8z////8A/sAAAD///8XVRafAAAAlXRSTlP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ADZkGzgAAEBASURBVHic5X2NY9zWcefKlkPZbBnKtVOtyFVZuk2ju17PKzc67anr7dLn1G3vUifxXc5H99rIamIddVKkkwFDKTfsRnBo8gEPwPuHb+Y3MwB2SerL+ooJcrFYfGPwe/P95nVC6IR6ai0+92nrVf+8b+HoqRNcpzUFF1yZ0597nkv0d+3kicmLcCtH3F6nnKGiC2XIy1Dm9O0CfZfPep0sO7mZ53ED91+H3yWhrU3MHPfK37JYf5eyaN/YKdTfreP4u3VcKGeOw85h5vjWcXwHzfHlY5/k6d28s9+dmpggpN5DqfvogUJ5bJd7DqVu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)
Projektansicht auf „Simulation umschalten
auf das zu simulierende Modul klicken (top.sch)
[Simulate Behavioral Model] startet den Simulator.
Bedienung Simulator
put sw(0) 1
put sw 15 -radix dec
put sw 0x3f -radix hex
isim force add sw(0) 0 -value 1 -time 50 ns -repeat 80 ns oder einfacher über Rechtsklick auf das Signal //Force Clock
Zoom: F6 (Zoom all) und „Zoom to Cursors“ (Lupe mit rotem Rechteck)
Implementierung
Umschalten auf (2)
Starten mit (4)
Programmierdatei erzeugen (6); bei den Eigenschaften evtl. auf Takt JTAG umstellen
wenn Schaltungsteile nicht verwendet werden, in den Optionen von Map (5) auf map -u stellen
Kontrolle (7) und (1)
Ergebnis der Implementierung in (3)
Generate Programming File
submenu://Process Properties/Startup Options/JTAG Clock
Erzeugen der Firmware
Anschließen an USB Kabel
Checken, ob Demoboard auf JTAG eingestellt ist (Jumper JP6 in Stellung „PC“)
Programmierung über ADEPT2 Software und JTAG Interface
Ein VHDL Modul in den Schaltplan einbauen
VHDL Modul schreiben und debuggen
z.B: menu://Language Templates/VHDL/Synthesis Constructs/Coding Examples/Misc/7-Segment Decoder
processes://synthesize-XST/Check Syntax
processes://DesignUtilities/Create Schematic Symbol
erzeugt ein Symbol in der Library „WORK“das Symbol einbauen und anschließe
Links
Kurze Dokumentation über das Demoboard http://kner.at/home/60.Elektronik/xilinx/index.html
Materialien
http://kner.at/home/60.Elektronik/xilinx/materialien/index.html