PLD Processor Communication via Lookup Table Control Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing complex processing systems face inefficiencies in communication between software and hardware components in programmable logic devices (PLDs), requiring improved methods for efficient data transfer and platform-dependent aspect encapsulation to support mixed hardware/software processing.

Innovation Solution

The implementation of a system with lookup tables and control logic to manage communication between processing elements and a processor in a PLD, using packet-based instructions and a hardware-based API to abstract platform-dependent aspects, enabling efficient data transfer and task delegation between software and hardware components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional communication methods are used between processor and hardware blocks, then system compatibility is maintained, but communication efficiency deteriorates

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidcommunication management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces control logic as an intermediary component that manages communication between the processor and processing elements. The control logic uses lookup tables to map instructions to appropriate processing elements, acting as a mediator that simplifies the communication interface while improving efficiency. This intermediary layer handles the complexity of task distribution and resource allocation, allowing the processor to communicate efficiently without directly managing the complexity of multiple processing elements.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements self-service through automated task scheduling and processing element selection. The control logic automatically queries the first lookup table to determine which processing elements can service specific instructions, and updates the second lookup table to track current task assignments. This automated self-management eliminates the need for manual intervention or complex processor-side management logic, improving communication efficiency while maintaining simplicity.

Inventive Principle:
Principle #25Self-service

2Productivity

If processing elements are dynamically selected based on capability, then resource utilization is optimized, but system complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidlookup table management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-configuring the first lookup table with information about which processing elements are capable of performing which instructions. This capability mapping is established in advance, allowing the control logic to quickly determine appropriate processing elements without complex real-time analysis. The second lookup table is also pre-initialized to track task assignments, enabling efficient dynamic selection while avoiding the need for complex runtime decision-making logic.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If platform-dependent aspects are encapsulated in hardware-based API, then programming interface efficiency is improved, but hardware complexity increases

Engineering Contradiction:
Improveprogramming interface efficiencyVSAvoidhardware API implementation complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements universality through the hardware-based API that provides a standardized interface for communicating with multiple types of processing elements. The API encapsulates platform-dependent aspects in a universal manner, allowing the same interface to work with different processing elements regardless of their specific capabilities. The lookup tables serve as a universal mechanism for mapping instructions to processing elements, simplifying the programming interface while the underlying hardware handles the complexity of adapting to different element types.

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

Data Source

PatentUS7991909B1Method and apparatus for communication between a processor and processing elements in an integrated circuit
Publication Date: 2011.08.02 XILINX INC
  • US7991909B1 patent drawing
  • US7991909B1 patent drawing
  • US7991909B1 patent drawing

AI summary

Method and apparatus for communication between a processor and processing elements in an integrated circuit (e.g., a programmable logic device is described. In an example, a first lookup table is configured to store first information representing which of the processing elements is capable of performing which of a plurality of instructions. A second lookup table is configured to store second information representing which of the plurality of instructions is being serviced by which of the processing elements. Control logic is coupled to the processor, the first lookup table, and the second lookup table. The control logic is configured to communicate data from the processor to the processing elements based on the first information, and communicate data from the processing elements to the processor based on the second information.