Dual Slice Programmable Logic Block Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional programmable logic device (PLD) architectures are not optimized for specific applications, leading to unused resources, larger die size, and inefficient scaling due to homogeneous programmable logic blocks with limited slice types.

Innovation Solution

Implementing a programmable logic device with a mixture of dual-slice logic blocks, each comprising different types of slices, and providing control signals and configuration data to optimize logic block architecture, allowing for a larger number of lookup tables (LUTs) and efficient resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If homogeneous programmable logic blocks with limited slice types are used, then device complexity is reduced and ease of manufacture is improved, but resource utilization efficiency deteriorates and die size increases

Engineering Contradiction:
Improveease of manufactureVSAvoidresource utilization efficiency
Core Design Contradiction:
Ease of manufactureVSLoss of energy

Solution Approach 1:

The patent implements heterogeneous logic blocks with different slice types (e.g., slices with 2, 4, 6, or 8 LUTs) distributed throughout the device, allowing each region to be optimized for specific functions. This local differentiation improves resource utilization efficiency without significantly increasing manufacturing complexity, as the heterogeneity is achieved through configurable logic rather than complex fabrication processes.

Inventive Principle:
Principle #3Local quality

2Device complexity

If homogeneous programmable logic blocks with limited slice types are used, then device complexity is reduced, but die size increases due to unused resources

Engineering Contradiction:
Improvedevice complexityVSAvoiddie size
Core Design Contradiction:
Device complexityVSArea of stationary object

Solution Approach 1:

The patent changes the parameters of logic blocks by providing multiple slice types with different numbers of LUTs (2, 4, 6, or 8) and different register configurations. This allows the device to pack logic more efficiently, reducing the number of unused resources and thereby reducing die size while maintaining manageable device complexity through systematic design.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If homogeneous programmable logic blocks are used, then ease of operation is improved, but productivity deteriorates due to inefficient scaling for providing larger number of LUTs

Engineering Contradiction:
Improveease of operationVSAvoidproductivity
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the logic block architecture into different slice types that can be independently configured and combined. This segmentation allows for efficient scaling of LUT capacity by selecting appropriate slice combinations, improving productivity for high-density applications while maintaining ease of operation through programmable configuration that abstracts the underlying complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7385417B1Dual slice architectures for programmable logic devices
Publication Date: 2008.06.10 LATTICE SEMICON CORP
  • US7385417B1 patent drawing
  • US7385417B1 patent drawing
  • US7385417B1 patent drawing

AI summary

Systems and methods are disclosed herein to provide dual slice architectures and programmable logic block architectures along with control logic architectures in accordance with embodiments of the present invention. For example, in accordance with an embodiment of the present invention, a programmable logic device includes a plurality of programmable logic blocks and a plurality of dual-slice logic blocks within each of the programmable logic blocks, wherein each dual-slice logic block includes a first and a second slice each having at least a first lookup table, with a first one of the dual-slice logic blocks of a logic block slice type different from a second one of the dual-slice logic blocks, and a third one of the dual-slice logic blocks of a logic block slice type different from the first and second dual-slice logic blocks.