2011-04-23

Tron Re-Score

Tron ist tot - lang lebe Tron!


Nun ist es auch schon mittlerweile wieder 3 Monate her, dass ich enttäuscht den Kinosaal nach dem lang erwarteten Tron-Nachfolger verlassen habe und, wie viele Andere wahrscheinlich auch, mich gefragt habe ob es denn Sinn macht, dass die Filmindustrie charakterlose Inhalte durch höheren Ausreiz an Special Effects wettmacht.
Nicht nur, dass der Film fast schon gar nichts mehr mit der eigentlichen Aussage des Vorgängers zu tun hatte, welcher für die damalige Zeit fast schon als Lehrstunde für Computerwissenschaften galt - Nein, viel schlimmer noch wird einem eine 3D-Vorstellung angepriesen, die im Grunde genommen durch mangelhafte technische 3D-Effektumsetzung und hochgerendertem Bildmaterial, dem Zuschauer ein Sinnbild zur Entwicklung der Film- und Gameindustrie vor Augen hält:
Bessere Grafik <=> Stumpfsinniger Inhalt
Man möchte hier fast meinen, dass es in der Welt der Computeranimation nicht möglich ist eine gelungene Story in schön gerendertem Bildmaterial zu packen, wenn da nicht die ein oder andere Ausnahme wäre!

Worauf ich jedoch glücklicherweise vor kurzem auf meiner Reise durch die Blogger-Welt gestoßen bin ist ein wirklich schöner Re-Score mit Bildern des original Tron aus dem Jahre 1981, welchen ich euch nicht vorenthalten möchte. Für mich ist es also eindeutig, dass an den Kultstatus diverser alter Werke heute wohl nichts mehr so schnell rankommen wird, worüber sich die Filmindustrie jedoch ihre Gedanken machen sollte, möchte sie auch ein Publikum erreichen, jenseits des Gefühls einem Kitch ausgesetzt zu sein für den es reiferen Menschen nicht gelingt etwas übrig zu haben.. Viel Spaß mit dem 1-stündigen Re-Score:

2011-04-07

FPGA

Flexibles Hardware-Design mit FPGA!


Vor kurzem habe ich mich mit der "Entwicklung eines DVB-C Basisband Generators" auf Basis eines sogenannten Field Programmable Gate Arrays (kurz: FPGA) beschäftigt und muss sagen, dass es schon erstaunlich ist wie flexibel sich diese Wunderwerke der Technik programmieren lassen. Während mir im Gegensatz dazu ein Mikrocontroller die Entwicklung eines nur seriell ablaufenden Algorithmus ermöglicht und ich im Grunde genommen dem Aufbau des von mir erworbenen Mikrocontrollers ausgesetzt bin, kann ich mit einem FPGA beliebig viele (bzw. entsprechend der vorhandenen Gatteranzahl) parallele Operationen ausführen und habe somit einen beliebig großen Spielraum.


Bei einem FPGA handelt es sich um eine Aneinderreihung reiner Logikgatter, deren Zusammenhang von vornherein noch undefiniert bleibt. Mittels einer Hardwarebeschreibungssprache (VHDL, Verilog u.a.) lässt sich die interne Funktionsweise des FPGAs definieren. Im Grunde genommen ist die Handhabung ähnlich wie bei der C-Programmierung eines Mikrocontrollers. Man verwendet eine Entwicklungsumgebung, die einen Compiler für eine diverse Anzahl an FPGAs eines Herstellers und codiert den Algorithmus in einem Editor, was im Grunde genommen einer Art Bitshifting gleichkommt. Was am FPGA von vornherein angeschlossen sein sollte, ist jedoch ein Quarzoszillator der dem FPGA eine bestimmte Taktfrequenz vorgibt. Auf diesen aufbauend können über sogenannte PLLs (Phase Locked Loops) Takte festgelegt werden mit denen der Algorithmus schaltet.
Eine weitere Besonderheit ist auch, dass die Peripherie des FPGAs frei bestimmbar ist. Man kann also (natürlich unter der Voraussetzung einer geeigneten A/D-Wandlung) an einer beliebigen Stelle des FPGAs analoge Signale hineingeben oder ausgeben. Alles fällt am Ende auf die Codierung und Definition in der HDL ab.
Den einzigen Nachteil bringen FPGAs jedoch in der Speicherung des HDL-Codes mit sich. In der Regel wird nämlich der auf den FPGA geladene Code nach Abschaltung der Spannungsversorgung gelöscht und die Logikgatter fallen wieder in ihren Default-Zustand. Somit wäre es auch empfehlenswert, wenn vorher an einen speicherbaren Flash- oder EEPROM-Baustein gedacht wird. Einige Hersteller (wie Actel) bieten jedoch FPGAs an, die in ihrer Architektur bereits einen integriert haben.

Wer gerne mal in die Materie schlüpfen möchte, dem empfehle ich wärmstens sich nach einem günstigen Entwicklungskit der Hersteller Xilinx, Actel oder Altera umzugucken. Es wäre jedoch zu empfehlen sich vorab zu informieren für welche FPGAs die kostenlosen SDKs der Hersteller geeignet sind bevor man sein wertvolles Geld für ein Board verpulvert, welches sich am Ende nicht oder nur über eine teure Lizenz kompilieren lässt. Ansonsten verweise ich gerne auf fpga4fun, dort finden sich einige gute Einstiegsinformationen zum besseren Verständnis sowie eine gute weiterführende Linksammlung zum Erlernen einer Hardwarebeschreibungssprache und zum dementsprechenden FPGA-Markt.