Arithmetic Unit Interface Generation for Expression Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Users of programmable logic devices, particularly those performing arithmetic functions, face challenges in specifying implementation details such as connectivity, data alignment, and pipelining, which increases the complexity of executing arithmetic expressions.

Innovation Solution

A method and system for implementing symbolic specifications using a dynamically configurable arithmetic unit, where mathematical expressions are parsed, abstract syntax trees are formed, and input variables are assigned to input ports, generating an interface that determines operations and aligns data types, thereby simplifying the execution of arithmetic expressions on integrated circuits like FPGAs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If users explicitly specify implementation details (connectivity, data alignment, pipelining) for arithmetic expressions on cores, then the arithmetic expressions can be executed on the IC, but the complexity of the implementation process increases

Engineering Contradiction:
Improveease of executing arithmetic expressionsVSAvoidcomplexity of implementation details
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically analyzing high-level arithmetic expressions and generating the necessary implementation details (connectivity configurations, data alignment, pipelining) without requiring user specification. The synthesis tool autonomously translates mathematical expressions into core-specific implementation parameters.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

An intermediary synthesis tool is introduced between the user's high-level arithmetic expression specification and the core's detailed implementation requirements. This intermediary automatically translates and adapts the expressions, generating appropriate connectivity, alignment, and pipelining configurations without user involvement.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If users manually configure connectivity, data alignment, and pipelining for arithmetic cores, then precise control over implementation is achieved, but the time and effort required increases

Engineering Contradiction:
Improveprecision of arithmetic expression implementationVSAvoidtime required for configuration
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The synthesis tool performs preliminary analysis and configuration generation before the user needs to implement the arithmetic expressions. By pre-processing the high-level expressions and automatically generating all necessary implementation details, the system eliminates the time-consuming manual configuration process while maintaining precision.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The manual mechanical process of configuring connectivity, alignment, and pipelining is replaced with an automated computer-based synthesis system. This substitution eliminates manual effort and time while maintaining or improving implementation precision through systematic analysis and generation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If traditional core interfaces require explicit specification of arithmetic expression details, then the core can be programmed, but the interface complexity increases

Engineering Contradiction:
Improveability to program cores with arithmetic functionsVSAvoidcomplexity of core interface
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The synthesis tool provides a universal interface that accepts diverse high-level arithmetic expressions and automatically adapts them to specific core requirements. This multi-functional approach allows the same interface to handle various arithmetic operations (addition, multiplication, etc.) without requiring users to understand core-specific implementation details.

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

Data Source

PatentUS7523434B1Interfacing with a dynamically configurable arithmetic unit
Publication Date: 2009.04.21 XILINX INC
  • US7523434B1 patent drawing
  • US7523434B1 patent drawing
  • US7523434B1 patent drawing

AI summary

An exemplary embodiment includes a method that receives a plurality of mathematical expressions having a plurality of input variables. The mathematical expressions can then be parsed, checked for proper syntax and one or more abstract syntax trees can be formed. Next, the input variables are then assigned to input ports of the dynamically configurable arithmetic unit. Then using the parsed mathematical expressions with the assigned input ports, a list of operations to be performed by the dynamically configurable arithmetic unit are determined. And lastly, an interface to the dynamically configurable arithmetic unit is generated using in part the variable-to-input port assignments and the list of operations.