DSP Adder Circuit With Carry-Outs for Concurrent Arithmetic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing demand for real-time, concurrent arithmetic operations in digital signal processing (DSP) applications, particularly in 3G base stations, is not adequately met by traditional DSP chips due to bottlenecks in programmable logic devices (PLDs) and the limitations of single DSP microprocessors.
Innovation Solution
An integrated circuit (IC) with cascaded digital signal processing elements (DSPEs) and a specialized architecture that includes multiplexers, arithmetic logic units (ALUs), and carry lookahead adders to perform extended multiply-accumulate operations, enhancing arithmetic performance by cascading DSP elements and optimizing data processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple DSP elements are configured in programmable logic devices, then concurrent DSP operations are enabled, but the fabric of the PLD becomes a bottleneck
Solution Approach 1:
The DSP element is divided into functionally independent blocks (multiplier block, adder block, data input blocks, data output blocks) that can operate independently and concurrently. Each block processes specific portions of the DSP operation, allowing parallel execution of multiply and accumulate operations without fabric bottlenecks.
Solution Approach 2:
The critical arithmetic functions (multiplier, adder) are extracted from the programmable logic fabric and implemented as dedicated hardware blocks. This removes the bottleneck by taking the performance-critical operations out of the general-purpose programmable fabric and placing them in specialized execution units.
2Productivity
If a single DSP microprocessor is used, then the device is simple, but it cannot meet the increasing demand for real-time arithmetic operations
Solution Approach 1:
Multiple DSP elements are merged into a single integrated circuit device, allowing concurrent execution of multiple arithmetic operations. The merged structure includes multiple multiplier blocks, adder blocks, and associated control logic that work simultaneously to achieve high throughput for real-time DSP applications.
Solution Approach 2:
The DSP element incorporates dynamic control mechanisms including opcode registers that can be programmed to perform different operations (multiply-accumulate, multiply-subtract, add, subtract). The element can dynamically switch between different computational modes and can be configured through control signals to adapt to different algorithmic requirements in real-time.
3Adaptability or versatility
If DSP elements are programmed in PLD, then adaptability is improved, but the fabric bottleneck reduces performance
Solution Approach 1:
Different portions of the DSP element have specialized functions optimized for their specific tasks. The multiplier block is optimized for multiplication operations, the adder block for addition/accumulation, and the control logic for operation sequencing. Each local block has quality optimized for its specific function rather than being general-purpose programmable logic.
Solution Approach 2:
The DSP element allows parameter changes through programmable control mechanisms including opcode registers and control signals that can modify the behavior of the hardware blocks. Parameters such as operation type (multiply-accumulate vs. multiply-subtract), data path configuration, and output routing can be changed dynamically without reconfiguring the entire device.
Data Source
AI summary
An integrated circuit having a digital signal processing (DSP) circuit is disclosed. The DSP circuit includes: a plurality of multiplexers receiving a first set, second set, and third set of input data bits, where the plurality of multiplexers are coupled to a first opcode register; a bitwise adder coupled to the plurality of multiplexers for generating a sum set of bits and a carry set of bits from bitwise adding together the first, second, and third set of input data bits; and a second adder coupled to the bitwise adder for adding together the sum set of bits and carry set of bits to produce a summation set of bits and a plurality of carry-out bits, where the second adder is coupled to a second opcode register.


