CD2470A ,80A,90A Summary
1.3 CD2470A Core – Memory
Interface Diagram
1.4 CD2470A Basic Memory Access
Timing Idea
1.6 CD2470A Registers Bit
assignment
1.7 CD2470A ALU Flag Updating
Summary
2.
CD2470A 16 Bit DSP Description
Numeric
Data Representation and Overflow
2.3 Barrel Shifter / Normalizer
3.
CD2470A Instruction Details
3.1 CD2470A Instruction summary
Table
3.2 CD2470A Instruction
condensed code table
General idea
about the Round off.
4.5 Bit Stream Data Read/Write
This manual presents a comprehensive description of
the Clarkspur’s 16 bit Fixed point DSP CD2470A Core. The 24 bit version (CD2480A) and the 32 bit version (CD2490A) of the DSP’s are also referred in this manual as
the derivatives of the CD2470A. Actually, the CD2480A,90A have the same instruction set /
architecture as that of CD2470A, except that the CD2480A,90A have different data register/memory
bit width.
- Summary of the CD2470A -
·
16 bit Fixed point DSP with strong
double word instructions.
·
Compatible with standard single port
clocked memory IP.
·
Four sets of double word accumulator.
·
Strong barrel shifter / normalizer.
·
Bit stream data handling.
·
Variable length code handling (e.g.
Huffman code).
·
Table look up capability.
·
Instruction compatibility with higher
precision DSP (CD2480A, CD2490A).
·
No pipeline latency.
·
6% code space reserved for custom
instructions.
·
Verilog HDL Synthesizable design with
visualized block diagrams.
·
Communication port with outside Host
hardware.
·
70MIPS for common 90nm Xilinx, Altera
FPGA chips.
|
|
CD2470A |
CD2480A |
CD2490A |
|
Data bit width |
16 |
24 |
32 |
|
Instruction bit width |
16 |
16 |
16 |
|
Memory |
Program 64Kx16 Data0 64Kx16 Data1 64Kx16 |
Program 16Mx16 Data0 16Mx24 Data1 16Mx24 |
Program 4Gx16 Data0 4Gx32 Data1 4Gx32 |





AL/AL0
(Accumulator-Low Register) Register
Address=0
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
D15 |
D14 |
D13 |
D12 |
D11 |
D10 |
D9 |
D8 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
A/AH/AH0
(Accumulator-High Register, Single word Accumulator) Register Address=1
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
D15 |
D14 |
D13 |
D12 |
D11 |
D10 |
D9 |
D8 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
AL1/TL
(Shadow Accumulator-Low Register)
Register Address=2
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
D15 |
D14 |
D13 |
D12 |
D11 |
D10 |
D9 |
D8 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
AH1/TH
(Shadow Accumulator-High Register)
Register Address=3
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
D15 |
D14 |
D13 |
D12 |
D11 |
D10 |
D9 |
D8 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
AL2
(General Purpose-Low Register) Register
Address=4
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
D15 |
D14 |
D13 |
D12 |
D11 |
D10 |
D9 |
D8 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
AH2
(General Purpose -High Register)
Register Address=5
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
D15 |
D14 |
D13 |
D12 |
D11 |
D10 |
D9 |
D8 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
PL/AL3
(Product-Low Register) Register
Address=6
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
D15 |
D14 |
D13 |
D12 |
D11 |
D10 |
D9 |
D8 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
PH/AH3
(Product-High Register) Register
Address=7
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
D15 |
D14 |
D13 |
D12 |
D11 |
D10 |
D9 |
D8 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
X
(MPYer input Register) Register
Address=8
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
D15 |
D14 |
D13 |
D12 |
D11 |
D10 |
D9 |
D8 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
Y
(MPYer input Register) Register
Address=9
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
D15 |
D14 |
D13 |
D12 |
D11 |
D10 |
D9 |
D8 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
ST
(Status Register) Register Address=10
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
N |
OV |
Z |
CY |
RZ |
OP |
IEx |
IE2 |
IE1 |
IE0 |
PRL |
|||||
PC
(Program Counter) Register Address=11
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
D15 |
D14 |
D13 |
D12 |
D11 |
D10 |
D9 |
D8 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
SP
(Stack Pointer Register) Register
Address=12
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
P15 |
P14 |
P13 |
P12 |
P11 |
P10 |
P9 |
P8 |
P7 |
P6 |
P5 |
P4 |
P3 |
P2 |
P1 |
P0 |
BF
(PC I/F Buffer Register) Register
Address=13 (SELBF=1)
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
D15 |
D14 |
D13 |
D12 |
D11 |
D10 |
D9 |
D8 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
RC
(Repeat Counter Register) Register
Address=13 (SELBF=0)
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
n7 |
n6 |
n5 |
n4 |
n3 |
n2 |
n1 |
n0 |
m7 |
m6 |
m5 |
m4 |
m3 |
m2 |
m1 |
m0 |
TR
(Temporary Register or Barrel Shifting bit counter Register [Lower
6 bit]) Register Address=14
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
T15 |
T14 |
T13 |
T12 |
T11 |
T10 |
T9 |
T8 |
T7 |
T6 |
T5 |
T4 |
T3 |
T2 |
T1 |
T0 |
PM
(Temporary Register or Pointer Modifier Register [Lower 9 bit], Guard bit Register[15-9]) Register
Address=15
|
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
M15 |
M14 |
M13 |
M12 |
M11 |
M10 |
M9 |
M8 |
M7 |
M6 |
M5 |
M4 |
M3 |
M2 |
M1 |
M0 |
|
Instructions |
|
W |
C |
|
N |
OV |
Z |
CY |
RZ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ADSI
Rij,#sSImm |
|
1 |
1 |
|
|
|
|
|
|
|
|
Aop
A,RAM,w |
|
1 |
1 |
|
|
|
|
|
|
|
|
Aop
Ad,As,(Rij),w |
|
1 |
1 |
|
|
|
|
|
|
|
|
Aop
Ad,As,Rij |
|
1 |
1 |
|
|
|
|
|
|
|
|
Aop
Ad,As,S,w |
|
1 |
1 |
|
|
|
|
|
|
|
|
AopI
Ad,As,#Imm |
|
2 |
2 |
|
|
|
|
|
|
|
|
AopSI
As,#Simm |
|
1 |
1 |
|
|
|
|
|
|
|
|
BRA
cond |
|
2 |
2 |
|
|
|
|
|
|
* DRZi,NDRZi conditions only |
|
CALL
cond |
|
2 |
2 |
|
|
|
|
|
|
|
|
INC
(Rij) / DEC (Rij),cond |
|
1 |
2 |
|
|
|
|
|
|
|
|
INC
S / DEC S,cond |
|
1 |
2 |
|
|
|
|
|
|
|
|
LD
A,RAM,w / LD RAM,A,w |
|
1 |
1 |
|
|
|
|
|
|
|
|
LD
D,(Rij),w / LD (Rij),S,w |
|
1 |
1 |
|
|
|
|
|
|
|
|
LD
D,(Rij)p / LD (Rij)p,S |
|
1 |
3/4 |