iv
SC140 DSP Core Reference Manual
2.2.1.7
2.2.2
2.2.2.1
2.2.2.2
2.2.2.2.1
2.2.2.2.2
2.2.2.2.3
2.2.2.3
2.2.2.4
2.2.2.5
2.2.2.5.1
2.2.2.5.2
2.2.2.6
2.2.2.6.1
2.2.2.6.2
2.2.2.7
2.2.2.8
2.2.2.8.1
2.2.2.8.2
2.2.2.9
2.3
2.3.1
2.3.2
2.3.2.1
2.3.2.2
2.3.2.2.1
2.3.2.2.2
2.3.2.3
2.3.2.4
2.3.2.5
2.3.2.6
2.3.3
2.3.3.1
2.3.3.2
2.3.3.3
2.3.3.4
2.3.3.5
2.3.3.6
2.3.3.7
2.3.4
2.3.4.1
2.3.4.2
2.3.4.3
2.3.4.4
2.3.5
Scaling and Arithmetic Saturation Mode Interactions . . . . . . . . . . . . . . .2-16
DALU Arithmetic and Rounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-17
Data Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-17
Data Formats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-18
Signed Fractional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-18
Signed Integer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-19
Unsigned Integer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-19
Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-20
Division. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-20
Unsigned Arithmetic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-20
Unsigned Multiplication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-20
Unsigned Comparison. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-21
Rounding Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-21
Convergent Rounding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-21
Two’s Complement Rounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-23
Arithmetic Saturation Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-25
Multi-Precision Arithmetic Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-26
Fractional Multi-Precision Arithmetic . . . . . . . . . . . . . . . . . . . . . . . .2-26
Integer Multi-Precision Arithmetic. . . . . . . . . . . . . . . . . . . . . . . . . . .2-28
Viterbi Decoding Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-30
Address Generation Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-31
AGU Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-31
AGU Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-34
Address Registers (R0–R15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-35
Stack Pointer Registers (NSP, ESP). . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-35
Shadow Stack Pointer Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-36
Initializing ESP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-36
Offset Registers (N0–N3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-36
Base Address Registers (B0–B7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-36
Modifier Registers (M0–M3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-36
Modifier Control Register (MCTL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-36
Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-38
Register Direct Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-38
Address Register Indirect Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-38
PC Relative Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-40
Special Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-40
Memory Access Width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-41
Memory Access Misalignment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-41
Addressing Modes Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-42
Address Modifier Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-44
Linear Addressing Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-44
Reverse-carry Addressing Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-44
Modulo Addressing Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-44
Multiple Wrap-Around Modulo Addressing Mode . . . . . . . . . . . . . . . . .2-46
Arithmetic Instructions on Address Registers . . . . . . . . . . . . . . . . . . . . . . . .2-47