IP Library Granted Patent US 7,120,661
Granted Patent B2
US 7,120,661 · App. 10/447,352 · Granted Oct 10, 2006

Bit exactness support in dual-MAC architecture

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,120,661
App. No.
10/447,352
Granted
Oct 10, 2006
Kind
B2
Abstract

An arrangement ( 200 ) and method for bit exactness support in dual-MAC architecture by detecting when underflow or overflow conditions will occur, and for operating the dual-MAC arrangement in single-MAC mode for at least one cycle upon such detection. This produces the advantages of providing dual-MAC execution with saturation capabilities, with only a small degradation in performance, while employing detection logic that is very small and simple compared to the logic required for a conventional full saturation dual-MAC architecture.

Claims (45)

1. An arrangement for bit exactness support in dual-MAC architecture, comprising:

a dual-MAC arrangement for performing multiply-accumulate arithmetic operations on digital values A, B, C, D and E to produce a result E=<E+<C*D>+<A*B>>, where ‘+’ represents addition, ‘*’ represents multiplication, and ‘<>’ represents saturation; and

a detector and enabler for detecting when an underflow or overflow condition will occur from adding C*D, and for enabling the dual-MAC arrangement to operate in single-MAC mode for at least a cycle upon such detection.

2. The arrangement of claim 1 wherein the detector is arranged to detect when the signs of A*B and E are the same and the sign of C*D is different to that of A*B and E, and for enabling the dual-MAC arrangement to operate in single-MAC mode for at least 2 cycles upon such detection.

3. The arrangement of claim 1 wherein the means for detecting comprises an evaluator for evaluating most significant bits from source operands for predicting saturation occurrence.

4. The arrangement of claim 1 wherein the dual-MAC arrangement comprises:

a first saturating multiplier without carry look-ahead arranged for multiplying values A and B;

a second saturating multiplier without carry look-ahead arranged for multiplying values C and D;

a first carry saturating adder coupled to receive the value E and outputs from the first saturating multiplier;

a second carry saturating adder coupled to receive a first output from the second saturating multiplier and outputs from the first carry saturating adder;

a third carry saturating adder coupled to receive a second output from the second saturating multiplier and outputs from the second carry saturating adder;

a carry look-ahead adder coupled to receive outputs from the third carry saturating adder;

a saturation detector coupled to the carry look-ahead adder for producing a saturation value; and

a multiplexer coupled to the carry look-ahead adder and the saturation detector for selecting an output therefrom.

5. The arrangement of claim 4 wherein the detector and enabler comprises logic circuitry for detecting when an underflow or overflow condition will occur from adding C*D and an input control for applying the values A and B to the first saturating multiplier, and for subsequently applying the values C and D to the second saturating multiplier.

6. The arrangement of claim 5 wherein the logic circuitry comprises:

first AND logic for receiving a signal representative of the inverted sign of the value E, a signal representative of a logical exclusive-OR combination of the most significant bits of the values A and B, and a signal representative of the inverted logical exclusive-OR combination of the most significant bits of the values C and D, and for producing a logical AND combination thereof as an output;

second AND logic for receiving a signal representative of the sign of the value E, a signal representative of the inverted logical exclusive-OR combination of the most significant bits of the values A and B, and a signal representative of a logical exclusive-OR combination of the most significant bits of the values C and D, and for producing a logical AND combination thereof as an output;

OR logic for receiving the outputs of the first and second AND logic and for producing a logical OR combination thereof.

7. The arrangement of claim 1 comprised in a digital signal processor.

8. The arrangement of claim 1 wherein the wherein the arrangement is comprised in an integrated circuit.

9. A method for bit exactness support in dual-MAC architecture, the method comprising:

providing a dual-MAC arrangement performing multiply-accumulate arithmetic operations on digital values A, B, C, D and E to produce a result E=<E+<C*D>+<A*B>>, where ‘+’ represents represents addition, ‘*’ represents multiplication, and ‘<>’ represents saturation; and

detecting when an underflow or overflow condition will occur from adding C*D, and enabling the dual-MAC arrangement to operate in single-MAC mode for at least a cycle upon such detection.

10. The method of claim 9 wherein the detecting means detects when the signs of A*B and E are the same and the sign of C*D is different to that of A*B and E, and enables the dual-MAC arrangement to operate in single-MAC mode for at least 2 cycles upon such detection.

11. The method of claim 9 wherein the step of detecting comprises evaluating most significant bits from source operands for predicting saturation occurrence.

12. The method of claim 9 wherein the dual-MAC arrangement comprises:

a first saturating multiplier without carry look-ahead multiplying values A and B;

a second saturating multiplier without carry look-ahead multiplying values C and D;

a first carry saturating adder receiving the value E and outputs from the first saturating multiplier;

a second carry saturating adder receiving a first output from the second saturating multiplier and outputs from the first carry saturating adder;

a third carry saturating adder receiving a second output from the second saturating multiplier and outputs from the second carry saturating adder;

a carry look-ahead adder receiving outputs from the third carry saturating adder;

a saturation detector coupled to the carry look-ahead adder for producing a saturation value; and

a multiplexer coupled to the carry look-ahead adder and the saturation detector and selecting an output therefrom.

13. The method of claim 12 wherein the step of detecting and enabling comprises providing logic circuitry for detecting when an underflow or overflow condition will occur from adding C*D and input control means applying the values A and B to the first saturating multiplier means, and subsequently applying to the second saturating multiplier means the values C and D.

14. The method of claim 13 wherein the logic circuitry comprises:

first AND logic receiving a signal representative of the inverted sign of the value E, a signal representative of a logical exclusive-OR combination of the most significant bits of the values A and B, and a signal representative of the inverted logical exclusive-OR combination of the most significant bits of the values C and D, and producing a logical AND combination thereof as an output;

second AND logic receiving a signal representative of the sign of the value E, a signal representative of the inverted logical exclusive-OR combination of the most significant bits of the values A and B, and a signal representative of a logical exclusive-OR combination of the most significant bits of the values C and D, and producing a logical AND combination thereof as an output;

OR logic receiving the outputs of the first and second AND logic and producing a logical OR combination thereof.

15. The method of claim 9 performed in a digital signal processor.

16. The method of claim 9 performed in an integrated circuit.

17. The method of claim 9 performed in a bit exact application.

18. The method of claim 9 performed in a vocoder.

19. The method of claim 9 performed in a wireless communication system.

Assignments (16)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
323.01(C) ASSIGNMENT OR CHANGE OF NAME IMPROPERLY FILED AND RECORDED BY ANOTHER PERSON AGAINST OWNER'S PATENT Recorded Oct 3, 2019
From: TAIWAN SEMICONDUCTOR MANUFACTURING CO., LTD.
To: TAIWAN SEMICONDUCTOR MANUFACTURING CO., LTD.
Reel/Frame 052459/0656 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2017
From: NORTH STAR INNOVATIONS INC.
To: TAIWAN SEMICONDUCTOR MANUFACTURING CO., LTD.
Reel/Frame 041717/0736 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: NORTH STAR INNOVATIONS INC.
Reel/Frame 037694/0264 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0225 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →