Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
455678 | Computers & Electrical Engineering | 2013 | 16 Pages |
•A regular way to convert software functions into hardware implementations.•A new HFSM model with datapath based on optimized stacks built from memory blocks.•A regular technique permitting values to be supplied to/from HFSM modules.•Concurrent execution of HFSM modules permitting broad parallelism to be supported.•Examples of practical applications clearly demonstrating the benefits.
Advances in microelectronic devices have dissolved the boundary between software and hardware. Faster hardware circuits that enable significantly greater parallelism to be achieved have encouraged recent research efforts into high-performance computation in electronic systems without the direct use of processing cores. Standard multi-core processors undoubtedly introduce a number of constraints, such as pre-defined operand sizes and instruction sets, and limits on concurrency and parallelism. This paper suggests a way to convert methods and functions that are defined in a general-purpose programming language into hardware implementations. Thus, conventional programming techniques such as function hierarchy, recursion, passing arguments and returning values can be entirely implemented in hardware modules that execute within a hierarchical finite state machine with extended capabilities. The resulting circuits have been found to be faster than their software alternatives and this conclusion is confirmed by numerous experiments in a variety of application areas.
Graphical abstractFigure optionsDownload full-size imageDownload as PowerPoint slide