Programmable Logic Block Slice Layout for Better Resource Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

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

Innovation Solution

A programmable logic device with a heterogeneous architecture featuring multiple slices of different types within each block, including dual-slice configurations that provide register and RAM functionality, along with optimized control logic for efficient resource allocation and reduced overhead.

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 manufactureVSProductivity

Solution Approach 1:

The patent implements heterogeneous programmable logic blocks with different slice types (e.g., slices with register functionality, slices with RAM functionality, slices without storage) within the same device. Each slice type is optimized for specific functions, allowing local customization of logic blocks to match application requirements. This resolves the contradiction by enabling high resource utilization through specialized slices while maintaining manufacturing simplicity through standardized block structures.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent divides programmable logic blocks into multiple independent slices, each capable of being configured for different functions. This segmentation allows individual slices to be optimized for specific tasks (logic, register, memory) while the overall block structure remains manageable and manufacturable. The segmentation principle enables fine-grained resource allocation without increasing overall device complexity.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If homogeneous programmable logic blocks 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:

By providing different slice types in different logic blocks based on application needs, the patent eliminates unused resources. For example, blocks requiring memory functionality include RAM-capable slices, while logic-intensive blocks use slices optimized for computation. This local customization reduces die size by removing unnecessary resources while maintaining simple standardized block templates for manufacturing.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent varies parameters such as the presence/absence of register functionality, RAM functionality, and slice configuration across different logic blocks. This parameter variation allows optimization of each block for its specific function, reducing overall die size by eliminating unused resources while maintaining a relatively simple base architecture.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If homogeneous programmable logic blocks are used, then ease of manufacture is improved, but scaling efficiency deteriorates

Engineering Contradiction:
Improveease of manufactureVSAvoidscaling efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent segments programmable logic into standardized blocks containing multiple configurable slices. This segmentation enables efficient scaling because additional logic capacity can be added by replicating and configuring blocks with appropriate slice types, rather than redesigning the entire architecture. The segmented structure maintains manufacturing simplicity while enabling flexible scaling.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates universal block templates that can be configured for different functions through slice selection and programming. Each block type serves multiple purposes (logic, memory, registers) depending on configuration, enabling the device to scale efficiently for different applications without requiring entirely new designs. This multi-functionality maintains ease of manufacture while improving scaling efficiency.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Device complexity

If conventional homogeneous architecture is used, then device complexity is reduced, but control architecture efficiency deteriorates as device size increases

Engineering Contradiction:
Improvedevice complexityVSAvoidcontrol architecture efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements control logic that is optimized for heterogeneous slice types within each programmable logic block. Different control paths and configurations are provided for different slice types, enabling efficient control of memory operations, register operations, and logic operations. This local optimization improves control architecture efficiency without significantly increasing overall device complexity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7696784B1Programmable logic device with multiple slice types
Publication Date: 2010.04.13 LATTICE SEMICON CORP
  • US7696784B1 patent drawing
  • US7696784B1 patent drawing
  • US7696784B1 patent drawing

AI summary

In one embodiment, a programmable logic device includes a plurality of programmable logic blocks and a plurality of slices within each of the programmable logic blocks. At least one programmable logic blocks includes a first slice not adapted to provide register functionality or RAM functionality, a second slice adapted to provide register functionality but not RAM functionality, and a third slice adapted to provide register functionality and RAM functionality. Control logic within the programmable logic block is adapted to provide control signals at the programmable block level and at the slice level.