Basispraktikum TI: Hardwarenaher Systementwurf
Gelernt habe ich hier das Programmieren von Logikbausteinen (FPGAs) mittels der Hardwarebeschreibungssprache VHDL.
Eigentlich ist dieses Praktikum nicht Bestandteil meines Studiums. Aber da ich viel mit den Mikrocontrollern von Atmel spiele, wollte ich herausfinden, was die FPGAs so drauf haben.
Ein FPGA kann man sich in etwa so vorstellen, wie ein großes Brett mit lauter Transistoren. Mit der Programmierung bestimmt man wie diese Transistoren zusammengeschalten werden.
Der Große Vorteil gegenüber den Mikrocontrollern ist ihre Geschwindigkeit. Befehle und Funktionen werden im FPGA gleichzeitig und nicht nacheinander abgearbeitet. Außerdem sind Taktfrequenzen bis 500MHz möglich.
Um die programmierten Schaltungen zu testen, stand uns das Xilinx Testboard Spartan-3A zur Verfügung. Nach zahlreichen Simulationen und ein paar blinkenden LEDs ging es an den VGA-Ausgang. Mit einem 4-Bit DA-Wandler pro Farbe (RGB) kann man einen schönen Farbverlauf erzeugen.
Danach durften wir 'Pong' programmieren. Sau gut!!! (Pong ist dieses super alte Tennis-Spiel mit je einem Balken links und rechts.)
Ein wenig aufwändiger als Pong ist Space Invaders. Das haben wir von www.fpgaarcade.com heruntergeladen, auf unseren FPGA angepasst und programmiert.
Weil die kleinen Taster auf dem Spartan-Testboard zu fummelig sind, habe ich aus ein paar Schaltern kleine Joysticks gebaut.
Das Praktikum habe ich zusammen mit dem Michi gemacht. Weil uns die Pixel-Schubserei gar so viel Spaß gemacht hat, haben wir noch ein eigenes Spiel kreiert.
Auf einem matschig braunem Hintergrund fahren zwei Panzer. Man kann seinen Panzer in jede Himmelsrichtung bewegen (hoch, runter, links, rechts) und muss versuchen den anderen Panzer abzuschießen, bevor ihm selbiges gelingt. Ist ein Panzer getroffen, explodiert sein Geschützturm und er kann (logischerweise) nicht mehr fahren.
Um die Panzer leichter malen zu können bzw. um zu sehen, welches Pixel welche Farbe bekommt, habe ich die Panzer vorher in einer Exel-Tabelle gezeichnet.
Vielen Dank an Oliver und Fabian für das top Praktikum und die nette Betreuung!!
letzte Änderung: 5.03.2011