FPGA Latch-Based Shift Registers With Local Programmable Interconnect

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Field Programmable Gate Arrays (FPGAs) face inefficiencies in silicon utilization and increased costs due to the implementation of larger logic functions, particularly in shift registers, where unused logic elements and wire congestion lead to sparse utilization of available resources.

Innovation Solution

A shift register design that incorporates a latch within a basic logic element and a programmable interconnect to minimize external interconnect usage, allowing for the adjacency of latches and the formation of carry chains within the basic logic block, thereby reducing global wire congestion and enhancing silicon utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If shift registers are implemented using prior-art FPGAs with LUTs and Flip-Flops, then shift register functionality is achieved, but silicon utilization efficiency deteriorates due to unused logic elements and wire congestion

Engineering Contradiction:
Improvesilicon utilization efficiencyVSAvoidwire congestion
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The invention segments the shift register functionality into distributed latch units that can be independently placed throughout the FPGA fabric. Each latch unit is a self-contained module that can operate autonomously, allowing the shift register to be broken into manageable segments rather than requiring a monolithic implementation. This segmentation enables better resource utilization and reduces wire congestion by localizing connections.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The latch units are nested within the existing FPGA logic element structure, utilizing the available logic resources within each element. By nesting the latch functionality within the existing FPGA architecture rather than adding external components, the invention achieves efficient silicon utilization without increasing overall device complexity or wire congestion.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Device complexity

If latches are placed adjacently to form shift registers, then interconnect usage is minimized, but placement flexibility deteriorates due to constrained positioning requirements

Engineering Contradiction:
Improveinterconnect usageVSAvoidplacement flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The latch units are designed as universal building blocks that can serve multiple functions within the FPGA fabric. Each latch unit can be configured to work with adjacent units to form shift registers, or operate independently for other logic functions. This multi-functionality allows the same latch unit design to be used throughout the fabric, providing placement flexibility while maintaining the ability to form adjacent chains when needed.

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

Solution Approach 2:

The invention introduces dynamic configurability to the latch units, allowing them to adapt their behavior and connections based on design requirements. The latch units can be dynamically configured to enable or disable adjacent connections, allowing the shift register formation to be adjusted during programming without changing the physical placement. This dynamic behavior resolves the contradiction between adjacency requirements and placement flexibility.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If global interconnects are used to route register outputs, then placement freedom is improved, but wire congestion worsens due to tie-up of valuable horizontal and vertical wires

Engineering Contradiction:
Improveplacement freedomVSAvoidwire congestion
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The invention extracts the interconnect functionality from the global routing resources and embeds it within the latch units themselves. By taking out the need for extensive global wire usage and replacing it with local connections between adjacent latch units, the invention reduces wire congestion while maintaining placement freedom. The latch units handle their own interconnections locally rather than relying on the global interconnect matrix.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The latch units act as intermediaries that locally handle data transfer between stages, replacing the need for global interconnect wires. Instead of using the global routing matrix as an intermediary for all connections, the invention makes the latch units themselves the intermediaries for data propagation, using local wiring within the FPGA fabric that does not consume valuable horizontal and vertical global wires.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7573293B2Programmable logic based latches and shift registers
Publication Date: 2009.08.11 CALLAHAN CELLULAR LLC
  • US7573293B2 patent drawing
  • US7573293B2 patent drawing
  • US7573293B2 patent drawing

AI summary

A latch is described, comprising: a first programmable logic element (LE); and a second programmable logic element (LE); and an output of the first LE adapted to directly couple to a first input of the second LE; and an output of the second LE coupled to a first input of the first LE; and a first common input coupled to a second input of the first and second LE; and a second common input coupled to a third input of the first and second LE.