Die Zielplattform fuer diese Arbeit ist ein ML-300 Evaluation Board der Firma Xilinx. Dieses Board basiert auf einem VirtexII-Pro FPGA mit integriertem PowerPC Prozessor. Auf dem PowerPC Core laeuft ein 2.4.x Linux Kernel. Die gesamte Peripherie des Systems, u.a. Hardwarekomponenten fuer die Grafik oder Ethernet werden ausschliesslich vom FPGA bereitgestellt.
Um das System zu konfigurieren, erstellt der Programmierer die Software als C-Programme und die Hardware Komponenten in Form von VHDL Modulen. Die VHDL Module werden synthetisiert und die Software entsprechende compiliert. Abschliessend werden beide Komponenten zu einem Bit Stream zusammengefasst, mit welchen das FPGA programmiert wird. Nach einem Reset fuehrt der Prozessor dann den Code aus.
Ziel der Arbeit ist, den oben beschriebenen statischen Entwicklungsprozess dahingehend zu erweitern, dass das "Nachladen" von Hardware Modulen auch zur Laufzeit moeglich ist. So soll es moeglich sein, dass der Linux Kernel erkennt, wenn eine Applikation spezielle Hardware benoetigt (z.B. Firewire Schnittstelle). Er soll dann sowohl das Kernel Modul automatisch laden als auch das FPGA mit den benoetigten Hardware Komponenten rekonfigurieren, ohne das das System neu gestartet werden muss.
Ablauf:|
|
|
|