Automatic Pipelining of Cascaded Memory Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Manual approaches for pipelining cascaded memory blocks are prone to errors and not scalable, making it difficult for circuit designers to achieve optimal performance in large memory systems.

Innovation Solution

A computer processor automates the pipelining process by generating a model of memory blocks arranged in a matrix, determining the number and positions of delay registers based on latency constraints, and modifying the circuit design to include these registers, ensuring balanced latency across paths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual approaches are used for pipelining cascaded memory blocks, then circuit designers can implement memory systems, but the process is prone to errors and not scalable

Engineering Contradiction:
Improveerror-free pipeliningVSAvoidmanual attribute editing
Core Design Contradiction:
ReliabilityVSExtent of automation

Solution Approach 1:

The system performs automatic pipelining of cascaded memory blocks using a computer processor that determines delay register positions and modifies the circuit design without requiring manual intervention. The processor automatically generates a model of memory blocks, determines optimal delay register placements based on latency constraints, and updates the netlist, enabling the system to service itself rather than relying on manual designer input.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If manual approaches are used for pipelining cascaded memory blocks, then circuit designers can implement memory systems, but scalability is limited

Engineering Contradiction:
Improvescalability to large memory systemsVSAvoidmanual attribute editing
Core Design Contradiction:
Adaptability or versatilityVSExtent of automation

Solution Approach 1:

The automatic pipelining system scales to large memory systems by using a computer processor to handle the complexity of determining delay register positions across multiple cascaded memory blocks. The system automatically generates models, calculates optimal placements based on latency constraints, and modifies designs without manual intervention, enabling scalability from small to large memory configurations.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system determines the number and positions of delay registers based on latency constraints as key parameters. By automatically adjusting these parameters (delay register count and positions) based on the specific memory configuration and performance requirements, the system adapts to different memory system sizes and configurations, enabling scalability.

Inventive Principle:
Principle #35Parameter changes

3Speed

If delay registers are inserted to balance latency across paths, then memory access performance is improved, but the complexity of determining optimal positions increases

Engineering Contradiction:
Improvememory access speedVSAvoidcomplexity of determining delay register positions
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The computer processor automatically determines the optimal positions of delay registers by generating a model of memory blocks, analyzing latency constraints, and calculating the required delay distribution across cascaded paths. This self-service approach eliminates the need for manual latency balancing while achieving optimal memory access speed.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces an intermediary modeling step where a computer processor creates a simplified model of the memory block cascade structure. This model serves as an intermediary representation that makes it easier to determine delay register positions by abstracting the complex interconnections, allowing the system to calculate optimal placements without directly managing the full complexity of the cascaded memory architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If automatic pipelining is implemented, then processing efficiency is improved, but the complexity of the design tool increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcomplexity of design tool
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The automatic pipelining system improves productivity by having the computer processor self-perform the entire pipelining process: generating memory block models, determining delay register positions based on latency constraints, and automatically modifying the circuit design netlist. This eliminates manual designer effort and significantly improves processing efficiency despite the increased automation complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The design tool complexity is managed by segmenting the automatic pipelining process into distinct functional modules: (1) netlist parsing and memory block identification, (2) model generation of cascaded memory structure, (3) delay register position determination based on latency constraints, and (4) netlist modification. This segmentation allows each module to handle a specific task, making the overall complex system more manageable and maintainable.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10664561B1Automatic pipelining of memory circuits
Publication Date: 2020.05.26 XILINX INC
  • US10664561B1 patent drawing
  • US10664561B1 patent drawing
  • US10664561B1 patent drawing

AI summary

Disclosed approaches of pipelining cascaded memory blocks include determining memory blocks combined to implement a memory in a netlist of a circuit design. A model of the memory blocks arranged in a matrix is generated and a total number of delay registers that can be inserted between an input and an output of the memory is determined based on an input latency constraint. For each column, positions of delay registers are determined between an input of the column and the output of the memory. The circuit design is modified to include the delay registers at the determined positions.