Reconfigurable Architectures
This article explores the concept of granularity in reconfigurable systems, which refers to the abstraction level used for device configuration. Granularity can range from fine-grained (Boolean-level representation, such as FPGAs) to coarse-grained (instruction-level and functional-level structures). Each level affects efficiency and device capabilities differently, depending on application needs. The discussion includes various architectures, their efficiencies, and practical implications in complex computations, as well as insights into hybrid devices that integrate multiple levels of granularity for optimal performance.
Reconfigurable Architectures
E N D
Presentation Transcript
Granularity of Reconfigurable Systems • Granularity: • The abstraction level used to configure the device. • May use a • Boolean-level, • instruction-level, • function-level, • process-level representation.
Granularity of Reconfigurable Systems • Granularity: • Proportional to the length of a configuration: • Fine/low-grain: long configuration • Course grain (high-level granularity): short configuration • Fine-grain (Boolean-level) architecture: • FPGA: • Primary computational elements: limited-input LUTs • Suitable for simple to complex Boolean functions. • Inefficient for complex functions like multipliers • Instruction-level: • Has computational units that perform instruction-level operations • Units vary from byte-width to word-width (32-bit) datapath operations. • Units rarely have states: • Read from registers and written to registers • Efficient for performing instructions but inefficient at performing Boolean operations.
Granularity • Freedom of device: • Instruction-level granularity only allows a limited number of register locations and small number of operations (on those locations) • Lower granularity level allows more locations and different complex customized FUs. • Can implement complex functions by a number of LUTs. • Efficiency: • The more closely the application operation is matched to the granularity, the more efficient the device will execute. • Example: • DSP application needs a lot of word-size add and mult. • instruction-level granularity. • Application with a lot of Boolean operations: • Boolean-level granularity.
Granularity • Functional-level: • Units are complex multi-cycle operations • Extensible processors with customized instructions. • Process-level: • Extremely complex processes which often take 100-1000 cycles to complete. • Example: • A cryptography device which decides on the algorithm based on the input key.
Hybrid Devices • Recent commercial FPGA devices with multiple levels of granularity: • LUTs, • Dedicated adders/multipliers, • DSP units.
Granularity • Course-grained reconfigurable devices (rDPA) • Fine-grained reconfigurable devices (FPGA) [Hartenstein07]
References [Hartenstein07] Hartenstein, “Basics of Reconfigurable Computing,” S. P. J. Henkel, Ed. New York: Springer-Verlag, 2007. [Kastner04] Kastner, Kaplan, Sarrafzadeh, “Synthesis techniques and optimizations for reconfigurable systems,” Kluwer, 2004.