- Configware
Configware (Configuration Ware) is the program source for
morphware , i. e. for reconfigurable platforms likeFPGA s (field-programmable gate array s), or, to coarse-grained reconfigurable platforms likereconfigurable datapath array s (rDPAs). Software is the counterpart to configware. In contrast to software which is instruction-stream-based and deserves procedural programming for instruction scheduling onto von-Neumann-like machine resources, configware deserves structural programming like e. g. for placement and routing before the application run time.As configware code, configware also refers to the bit code configuration filesfor a
FPGA (field-programmable gate array ), or, for a rDPA (Morphware ). These files specify the configuration of logic blocks internal to the device, and the interconnection between blocks, and external I/O. Configware code files are unique to a particular manufacturer's part. They may be handled with software-like configuration management procedures. When configuration is completed so that the resources are ready for use, suitableFlowware has to be compiled for data scheduling.To-day, configware compilers and other configware application development support tools are usually implemented as software running on von-Neumann-like processors. This may change in the future. In contrast to operating systemsfor software (SW-OS), emerging operating systems for configware (CW-OS) deserve to manage multi-tasking and other administrative jobs on reconfigurable platforms.
The CW-OS is especially important for dynamically reconfigurable systems, whereparts of the reconfigurable resources are at execution mode when, at the same time, other parts are at configuration mode, and also, where in addition to thisa swapping of configware code modules helps flexibility and to save resources.Prof.
Reiner Hartenstein , TU Kaiserslautern, has coined term "Configware" the mid 90's.Compiler
A Configware Compiler is used in the area of
Reconfigurable Computing for data-stream-based reconfigurable systems using platforms likeFPGA s or coarse-grained reconfigurable datapath arrays (rDPA s) to generate two different blocks of code:configware code andflowware code (see figure). Byplacement and routing the mapper generates theconfigware code for reconfiguration of the platform. Based on the mapper's result the data scheduler generates theflowware code which is used to organize the data streams needed by programming thedata counter s through reconfiguration of the address generators, such as for instanceGeneric address generator sGAG , in theAuto-sequencing memory (ASM ) blocks. A configware compiler may be, for instance, part of a Configware/Software Co-Compiler.The fundamental architectural model behind this methodology is the
Super systolic array (KressArray ), a generalization of thesystolic array having been derived by Rainer Kress, who replaced the algebraic synthesis models known from originalsystolic array s restricting their use only to applications with regular data dependencies, bysimulated annealing merging both the mapper and the data scheduler.External links
* [http://morphware.net/ The Morphware Page]
* [http://configware.org/ The Configware Page]
* [http://flowware.net/ The Flowware Page]
* [http://www.hicss.hawaii.edu/hicss_32/etcfp.htm#1 introducing the term "Configware"]
Wikimedia Foundation. 2010.