Programmable Logic Array Routing for Timing-Safe Flip-Flops

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In integrated circuits with programmable logic arrays (PLAs), ensuring proper timing relationships between flip-flops is challenging due to unpredictable combinational path delays, leading to potential timing errors and frustration for programmers.

Innovation Solution

The PLA is designed with hardware-level constraints that only allow connection paths ensuring proper timing, featuring direct and synchronized outputs, where direct outputs are restricted from connecting to logic elements of lower rank to prevent timing errors, thus ensuring safe setup times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If direct output connections are allowed to any logic element, then programming flexibility is improved, but timing errors increase

Engineering Contradiction:
Improveprogramming flexibilityVSAvoidtiming accuracy
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The output connections are segmented into two distinct types: direct outputs and synchronized outputs. Direct outputs provide fast, unsynchronized connections to logic elements of higher rank, while synchronized outputs provide clock-synchronized connections to all logic elements. This segmentation allows the system to offer both fast direct routing and timing-safe synchronized routing, resolving the contradiction between flexibility and timing reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different connection paths are provided with different timing characteristics based on the destination. Direct outputs offer minimal delay to higher-rank elements, while synchronized outputs ensure proper setup/hold times for all destinations. The programming interface allows selection of the appropriate output type based on the specific routing need, providing locally optimized timing characteristics for each connection.

Inventive Principle:
Principle #3Local quality

2Ease of operation

If all connection paths are permitted, then programming freedom is improved, but setup time violations increase

Engineering Contradiction:
Improveprogramming freedomVSAvoidsetup time compliance
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

The PLA structure pre-establishes two types of output paths before programming: direct outputs that inherently satisfy timing to higher-rank elements, and synchronized outputs that are clock-aligned. This preliminary structuring of connection options ensures that regardless of how the user programs the logic, the physical connection paths are already designed to meet setup time requirements, eliminating the need for post-programming timing verification.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Synchronized outputs act as an intermediary mechanism between the logic elements and the clock domain. By introducing this intermediate synchronized path, the system mediates between the need for flexible direct connections and the requirement for timing compliance, allowing programmers to achieve any logic function while maintaining setup time guarantees through the synchronized path.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11855633B2Programmable logic array with reliable timing
Publication Date: 2023.12.26 STMICROELECTRONICS (ROUSSET) SAS
  • US11855633B2 patent drawing
  • US11855633B2 patent drawing
  • US11855633B2 patent drawing

AI summary

An integrated circuit includes a programmable logic array. The programmable logic array incudes a plurality of logic elements arranged in rows and columns. Each logic element includes a direct output and a synchronized output. The direct output of each logic element is coupled to all other logic elements of higher rank, but is not coupled to logic elements of lower rank.