|
Written by Wesley Peck
|
|
Tuesday, 01 August 2006 |
Hardware ImplementationAll of the hardware components in the Hthreads design are implemented using the VHDL programming language. Most of the components are implemented as simple state machines which react to commands which are issued across the standard system bus. The current VHDL implementation is not specific to any given FPGA architecture. However, the implementations have only been tested on Xilinx Virtex-II Pro FPGAs. Our belief is that the VHDL implementation is reasonably portable which should allow our system to run on many different kinds of FPGAs.
Software ImplementationMost of the software in the Hthreads design is architecture independent. This arises from the fact that most of the Hthreads functionality is implemented inside of hardware components on the FPGA. This means that the software only needs to issue the right commands on the bus and then interpret the resulting values correctly. The current implementation of the Hthreads software is a mix of portable C code with a small bit of architecture dependent assembly. The architecture dependent assembly is mainly used to abstract the hardware resources of the processor for use by the Hthreads system. Thus, in order to port the hthreads system to a new processor architecture, all that need to be done is to code a few assembly level functions to perform tasks such as context switching and interrupt handling. All of the remaining code can be compiled for the new architecture using a standard C cross compiler for the platform.
|
|
Last Updated ( Tuesday, 08 August 2006 )
|