Easily Translating C Algorithms into Hardware with Configurable Processors
Configurable processors and tools that generate configurable processors from C/C++ applications can enable a simple, efficient, and programmable mechanism to implement algorithms. We gave an example of such a tool, the XPRES compiler, which exhibits many of the traits desired in a configurable processor. The XPRES-generated processors come with a full suite of development tools ranging from compilers to simulators to operating systems. XPRES is capable of generating processors automatically from C/C++ code yet allows the developer to manually guide the tool and to integrate the results of the tools with manually specified extensions. XPRES benefits from application tuning but the best tuning often results when the code is simplified to expose more parallelism to the compiler. This allows the developer to tune the code once for multiple cost points without being tied to the specifics of a particular processor configuration or tools vendor.