Fracturable Logic Elements With Segmented LUT Reconfiguration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
There is a need for logic elements with programmable structures that can efficiently implement both larger lookup tables and a multiplicity of smaller lookup tables, as existing solutions face inefficiencies due to increased hardware requirements and reduced usage of larger LUTs.
Innovation Solution
A fracturable logic element comprising four two-input lookup tables (2-LUTs) with a control circuit that operates in multiple modes, allowing it to function as a single 4-LUT, two 3-LUTs, or other configurations, optimizing resource usage and reducing hardware needs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If larger LUTs (e.g., 6-LUT) are used to reduce the number of logic elements and improve circuit speed, then the logic circuit becomes faster with fewer LUTs in series, but the hardware requirements and cost of each LUT grow exponentially
Solution Approach 1:
The logic element is divided into multiple smaller LUTs (e.g., four 2-LUTs) that can be independently configured. These segmented LUTs can work together to implement complex functions, avoiding the exponential complexity growth of single large LUTs while maintaining fast performance through parallel operation and reduced critical path delays.
Solution Approach 2:
The logic element incorporates a control circuit that dynamically reconfigures the functionality of the segmented LUTs based on operational mode. This dynamic reconfiguration allows the same hardware to adapt between different LUT sizes and configurations, optimizing performance for different logic functions without requiring fixed large LUTs that would be underutilized for simpler functions.
2Productivity
If larger LUTs are used to reduce the number of LUTs required for a logic circuit, then fewer LUTs are needed, but the larger LUTs are not used to their fullest extent for many logic functions
Solution Approach 1:
The logic element design allows each segmented LUT to be universally configured for different functions through the control circuit. The same physical LUT hardware can be dynamically assigned to different input combinations and logic functions, making the structure universally adaptable to various logic requirements without wasting hardware resources.
Solution Approach 2:
The control circuit enables dynamic reconfiguration of the LUT functionality based on the specific logic function being implemented. This dynamic adaptation ensures that the LUTs are always used to their fullest extent for the current operation, whether implementing simple or complex logic functions, thereby maximizing productivity and resource utilization.
3Adaptability or versatility
If more memory elements are used in each LUT to increase its size, then the LUT can handle more inputs, but the cost and hardware requirements increase exponentially
Solution Approach 1:
Instead of using a single large LUT with exponentially growing memory elements, the design segments the functionality across multiple smaller LUTs. Each small LUT uses a manageable number of memory elements (e.g., four 2-LUTs), but through coordinated operation and dynamic reconfiguration, they collectively provide the input capacity and versatility of a much larger LUT without the exponential hardware cost.
Data Source
Figure 1~8
Figure 2
Figure 3
AI summary
A fracturable logic element includes a first, second, third, and fourth two-input lookup tables (2-LUTs). Each 2-LUT includes four memory elements. Each memory element is configured to hold one data bit. The fracturable logic element also includes a set of six inputs and a control circuit configured to operate in a first mode and a second mode. When the control circuit operates in the first mode, a first combinatorial output is generated using four of the set of six inputs and the first, second, third, and fourth 2-LUTs. When the control circuit operates in the second mode, a second combinatorial output is generated using a first subset of three of the set of six inputs and the first and second 2-LUTS. Additionally, when the control circuit operates in the second mode, a third combinatorial output is generated using a second subset of three of the set of six inputs and the third and fourth 2-LUTs, the first and second subsets being non-intersecting subsets of the set of six inputs.