Design and Implementation of a Virtual Hardware Machine

Authors: 
Lange, Sebastian
Year: 
2002
Language: 
English
Abstract in English: 
Reconfigurable hardware will be used in many future embedded applications. Since most of these embedded systems will be temporarily or permanently connected to a network, the possibility to reload parts of the application at run time arises. Current reconfigurable devices use FPGAs to implement changing functionality. FPGAs themselves, prove to be inherently incompatible to each other. This leads to tremendous number of configuration binaries for the same hardware design. The Java approach, based on a Java Virtual Machine (JVM), was invented to solve the problem for software. This thesis presents a way of implementing the hardware parts of an embedded system using a hardware byte code, which can be interpreted by a virtual hardware machine running on an arbitrary FPGA. Within this work the Virtual Hardware Byte Code was defined and a simulation environment for the Virtual Hardware Machine, as well as a VHDL to byte code compiler have been implemented. Using these tools the byte code and the machine was tested for validity of the approach. The results show that this approach is feasible and that it leads to fast and portable reconfigurable designs, which run on any programmable target architecture.
Abstract: 
Part 1 - Conceptual Design of the Byte Code and Machine, Implementation of the Virtual Hardware Framework. Rekonfigurierbare Hardware wird in vielen zukünftigen eingebetteten Systemen zur Anwendung kommen. Da die meisten dieser eingebetteten Systeme temporär oder permanent mit einem Netzwerk verbunden sein werden, ergibt sich die Möglichkeit Teile der Anwendung zur Laufzeit nachzuladen. Derzeitige rekonfigurierbare Architekturen bedienen sich FPGAs, um sich ändernde Funktionalität zu implementieren. FPGAs sind inhärent inkompatibel zu einander. Dies führt zu einer hohen Zahl unterschiedlicher Rekonfigurationsdaten für ein und dasselbe Hardwaredesign. Der Java Ansatz, der auf der Java Virtual Machine (JVM) basiert, löst dieses Problem für Software. In der vorliegenden Arbeit wird ein Ansatz präsentiert, Hardwareteile eines eingebetteten Systems mit Hilfe eines Hardwarebytecodes zu implementieren. Dieser wird von einer virtuellen Hardwaremaschine interpretiert, welche auf beliebigen FPGAs ausführbar ist. Im Rahmen dieser Arbeit wurde der virtuelle Hardwarebytecode definiert und eine Simulationsumgebung für die virtuelle Hardwaremaschine sowie ein VHDL Compiler implementiert. Unter Benutzung dieser Tools wurden der Bytecode und die Maschine hinsichtlich der Richtigkeit des Ansatzes geprüft. Die Resultate zeigen, dass der getroffene Ansatz umsetzbar ist und zu schnellen und portablen rekonfigurierbaren Designs führt, die auf jeder programmierbaren Zielarchitektur lauffähig sind.
Pubdate / Erscheinungsdatum: 
2003-05-15
Promoter / Gefördert durch: 
Oma
Pages / Seitenanzahl: 
116