CORDIC DMA Engines for Continuous Calculation Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing CORDIC implementations require continuous CPU involvement for each calculation step, leading to inefficient CPU loading and slowed execution times in industrial applications.

Innovation Solution

Integration of Direct Memory Access (DMA) engines to manage data transfer between a CORDIC and memory, allowing for simultaneous CPU operations while the CORDIC performs calculations, using start and end triggers to streamline data copying.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If CPU continuously involves in each CORDIC calculation step, then calculation accuracy is maintained, but CPU loading increases and execution time increases

Engineering Contradiction:
Improvecalculation accuracyVSAvoidexecution speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

A DMA engine is introduced as an intermediary component between the CPU and the CORDIC unit. The DMA engine automatically transfers calculation data sets from memory to the CORDIC unit and retrieves result data sets without requiring continuous CPU intervention. This mediator enables the CORDIC unit to operate independently with high speed while maintaining calculation accuracy through automated data handling.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system pre-loads multiple calculation data sets into memory before the CORDIC unit begins processing. The DMA engine is configured to automatically fetch the next calculation data set from memory as soon as the current one is processed, eliminating waiting time. This preliminary preparation of data allows the CORDIC unit to continuously execute calculations without CPU intervention, significantly improving execution speed while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If CPU continuously loads data into CORDIC for each calculation, then data availability is ensured, but CPU bandwidth is consumed and processing efficiency decreases

Engineering Contradiction:
Improvedata availabilityVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The DMA engine serves as an intermediary that handles all data transfer operations between memory and the CORDIC unit. It automatically ensures data availability by fetching the next calculation data set as soon as the current one is processed, without consuming CPU bandwidth. This eliminates the trade-off between data availability and processing efficiency, as the DMA engine manages data supply independently.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The CORDIC unit is designed to be self-sufficient by automatically triggering data fetch operations through the DMA engine. When a calculation is completed, the CORDIC unit signals the DMA engine to retrieve the next data set, and when data is needed, it automatically initiates the transfer. This self-service mechanism eliminates the need for continuous CPU involvement in data loading, improving processing efficiency while maintaining data availability.

Inventive Principle:
Principle #25Self-service

3Device complexity

If single CORDIC calculation is executed at a time with CPU involvement, then control simplicity is maintained, but overall execution time increases

Engineering Contradiction:
Improvecontrol simplicityVSAvoidexecution time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system prepares multiple calculation data sets in advance and loads them into memory. The DMA engine is pre-configured to automatically fetch and transfer data sequences without CPU intervention. This preliminary setup enables the CORDIC unit to process multiple calculations in rapid succession, significantly reducing total execution time while the control mechanism remains simple through automated triggering.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The DMA engine ensures continuous data supply to the CORDIC unit by automatically fetching the next calculation data set as soon as the current one is processed. This eliminates idle time and waiting periods, maintaining continuous useful action throughout the calculation process. The control simplicity is preserved through the automated nature of the DMA engine, which handles data transfer without complex CPU involvement.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS12360932B2Coordinate rotation digital computer using direct memory access engines
Publication Date: 2025.07.15 INFINEON TECHNOLOGIES AMERICAS CORP
  • US12360932B2 patent drawing
  • US12360932B2 patent drawing
  • US12360932B2 patent drawing

AI summary

A device includes a Coordinate Rotation Digital Computer (CORDIC), a memory, a first Direct Memory Access (DMA) engine, and a second DMA engine. The memory stores an array of calculation data sets and an array of result data sets corresponding to the calculation data sets. The first DMA engine copies each data set of the array of calculation data sets from the memory to the CORDIC. The second DMA engine copies each result data set of the array of result data sets from the CORDIC to the memory and generates a trigger in response to copying a final result data set of the array of result data sets to the memory.