Programmable Logic Device Distributed Memory Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional programmable logic devices face limitations due to insufficient embedded volatile memory, leading to routing congestion and inflexibility in memory allocation, with the distributed memory approach often resulting in unused resources and an undesirable reliance on external bitstream programming.

Innovation Solution

A programmable logic device architecture that incorporates non-volatile memory for storing configuration data, allowing for flexible distribution of random access memory functionality across logic blocks, decoupling memory from logic to optimize resource allocation and reduce routing congestion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If embedded blocks of volatile memory are used, then temporary storage during operation is provided, but routing congestion occurs and memory capacity is insufficient

Engineering Contradiction:
Improvememory capacityVSAvoidrouting congestion
Core Design Contradiction:
Quantity of substanceVSObject-generated harmful factors

Solution Approach 1:

The patent divides memory functionality into two types: embedded volatile memory blocks for temporary storage and distributed memory within logic blocks for application-specific storage. This segmentation allows memory to be distributed throughout the device rather than concentrated in large blocks, reducing routing congestion while providing sufficient total capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a centralized memory architecture (large embedded blocks) to a distributed memory architecture (memory cells within each logic block). This dimensional change from集中式 to distributed architecture eliminates routing congestion by placing memory resources at the location where they are needed, eliminating long interconnect paths.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If distributed memory approach is used, then memory capacity is increased, but unused circuitry and resources result

Engineering Contradiction:
Improvememory capacityVSAvoidunused resources
Core Design Contradiction:
Quantity of substanceVSLoss of substance

Solution Approach 1:

The patent implements dynamic memory allocation where the amount and distribution of memory resources can be configured based on specific application requirements. During device programming, memory cells are allocated only where needed, allowing the system to adapt to different applications and eliminate unused resources through configurable memory distribution.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If conventional distributed memory is used, then memory flexibility is improved, but programming complexity increases due to external bitstream requirements

Engineering Contradiction:
Improvememory allocation flexibilityVSAvoidprogramming complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements self-service programming where configuration data is automatically loaded from non-volatile memory cells during device initialization, eliminating the need for external bitstream programming. The device configures itself by reading configuration data from its internal non-volatile memory, simplifying the programming process while maintaining flexible memory allocation.

Inventive Principle:
Principle #25Self-service

4Adaptability or versatility

If homogeneous logic blocks with distributed memory are used, then routing flexibility is improved, but resource efficiency decreases

Engineering Contradiction:
Improverouting flexibilityVSAvoidresource waste
Core Design Contradiction:
Adaptability or versatilityVSLoss of substance

Solution Approach 1:

The patent implements heterogeneous logic blocks with varying memory capacities rather than homogeneous blocks. Each logic block can be configured with the specific amount of memory needed for its function, allowing optimal resource utilization. This local differentiation ensures that routing flexibility is maintained while eliminating the resource waste associated with uniform block designs.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7355441B1Programmable logic devices with distributed memory and non-volatile memory
Publication Date: 2008.04.08 LATTICE SEMICON CORP
  • US7355441B1 patent drawing
  • US7355441B1 patent drawing
  • US7355441B1 patent drawing

AI summary

Systems and methods are disclosed herein in accordance with one or more embodiments of the present invention to provide programmable logic devices with non-volatile memory and a variable amount of distributed memory (e.g., in a cost-effective manner). For example, in accordance with an embodiment of the present invention, a programmable logic device includes a plurality of input/output blocks providing an input/output interface for the programmable logic device and a first and second plurality of logic blocks providing programmable logic functions, with only the second plurality of logic blocks further adapted to provide random access memory functions. A routing structure programmably interconnects the input/output blocks and the first and second plurality of logic blocks. Configuration memory cells store configuration data to configure the input/output blocks, the first and second plurality of logic blocks, and the routing structure, with at least one block of non-volatile memory to store configuration data that can be transferred to the configuration memory cells.