Program/Data Memory Requirements
NOTE: Be sure to see the notes below the tables for details on how to correctly interpret the contents of these tables.
Component, Ensemble, or System |
Analog Devices |
ARM |
Texas Instruments TMS320 |
Verisilicon ZSP |
||||||||||||||||||
BF53x |
219x |
218x |
ARM9e |
C2400 | C3000 |
C5400 |
C5500 |
C6200 |
C6400 |
ZSP400 |
||||||||||||
CODE+ COEFS |
RAM per- channel |
CODE+ COEFS |
RAM per- channel |
CODE+ COEFS |
RAM per- channe |
CODE+ COEFS |
RAM per- channel |
CODE+ COEFS
|
RAM per- channel |
CODE+ COEFS |
RAM per- channel |
CODE+ COEFS |
RAM per- channel |
CODE+ COEFS |
RAM per- channel |
CODE+ COEFS |
RAM per- channel |
CODE+ COEFS |
RAM per- channel |
CODE+ COEFS |
||
Baudot (bauddemo) | - | - | - | - | - | - | - | - | 1708 | 300 | - | - | - | - |
2401+ 576 |
355 | - | - | ||||
Bell103 (v21demo) | - | - | 2899 | 390 | 3147 | 390 |
2929+ 577 |
286 | 2147 | 575 | 1059 | 575 | - | - | - | - | - | - | - | - | ||
Bell202 (v23demo) | - | - | 2052 | 321 | - | - | - | - | 1999 | 575 | - | - | - | - | - | - | - | - | ||||
Caller ID, Bellcore (ciddemo) |
2860+ 582 |
574 | 2823 | 591 | 2634 | 591 |
4609+ 577 |
577 | - | - | 2206 | 831 | 2231 | 618 | 3312* | 839 | - | - | 9199* | 839 | ||
Caller ID, Japan (cidjdemo) |
3595+ 577 |
538 | ||||||||||||||||||||
GenDet (cptddemo) | - | - | - | - | - | - |
3841+ 577 |
291 | - | - | 2275 | 318 | 2358 | 318 | - | - | - | - | 12209* | 318 | ||
DTMF+GenDet (dtmfdemo) |
3126+ 754 |
398 | 2717 | 581 | 3277 | 581 |
5467+ 790 |
361 | 2096 | 752 | 2987 | 441 | 2938 | 391 | 5736* | 441 | - | - | 13734* | 441 | ||
MF (R1, R2F, R2B)+GenDet (mfdemo) |
2960+ 742 |
404 | 3215 | 464 | 3401 | 464 | 2228 | 925 | 2685 | 407 | 3109 | 373 | 5712* | 407 |
3120+ 453* |
408 | - | - | ||||
G.168-2002 | 3852 | 2467 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | 4051 | 1350 | ||||
G.726 (g726demo) | - | - | - | - | - | - | - | - | 3412 | 196 | - | - | - | - | - | - | - | - | ||||
STU-III Relay System |
30781+ 1572* |
4430 |
31744+ 1572* |
4430 | ||||||||||||||||||
T.38 Fax Relay System |
16575+ 3208* |
7160 | 32755 | 4742 | - | - | - | - | 29077 | 4742 |
19495+ 6167 |
2905 | 33403* | 4742 |
26984+ 3688* |
4742 |
36803+ 4190* |
4742 | ||||
V.14+V.32bis (v14demo) | - | - | 13662 | 1726 | - | - | - | - | 12351 | 1736 | - | - | - | - | - | - | - | - | ||||
V.21 (v21demo) | - | - | 3661 | 323 | 3817 | 320 | - | - | 2562 | 320 | 2653 | 283 | - | - | - | - | - | - | ||||
V.22bis+TxDTMF (v22demo) | - | - | 8716 | 552 | 8651 | 552 | 5620 | 1264 | 6955 | 668 | 7334 | 718 | - | - | - | - | 24096* | 718 | ||||
V.23 (v23demo) | - | - | 2052 | 321 | 2192 | 321 |
3854+ 577 |
286 | - | - | 1523 | 320 | 1350 | 320 | - | - | - | - | - | - | ||
V.26/V.26bis (v26demo) | - | - | 6337 | 1022 | 5094 | 1022 | 3361 | 1551 | 2928 | 1551 | - | - | 5752* | 1551 | - | - | - | - | ||||
V.27ter+GenDet (vmodem) | - | - | 5968 | 553 | 6041 | 553 | 3746 | 938 | 4402 | 938 | 4319 | 938 | 9696* | - | - | - | - | - | ||||
V.29+GenDet (v29demo) | - | - | - | - | - | - | - | - |
4565+ 1261 |
635 |
4056+ 1261 |
635 | - | - | - | - | - | - | ||||
V.32bis+TxDTMF (v32demo) | - | - | 12669 | 1654 | 10276 | 1654 | 8684 | 1639 | 11009 | 1611 | 11758 | 1664 | - | - | - | - | - | - | ||||
V.34+TxDTMF (v34demo) | - | - | - | - | - | - | - | - | 58400Ψ | 4426 | 50612Ψ | 4426 | - | - | 39998Ψ | 6096 | - | - | ||||
V.42+V.14+V.32bis (v42demo) | - | - | 19002 | 3021 | 19381 | 2030 | - | - | 15927* | 3000 |
13477+ 2111Ψ |
3522 | - | - |
19528+ 2111Ψ |
3522 | - | - | ||||
V.42+V.42bis+V.14+ V.32bis (v42bisdemo) |
- | - | - | - | - | - | - | - | 18158* | 15990 | - | - | - | - | - | - | - | - | ||||
V.21+V.17+V.27+V.29+ GenDet (Fax Bundle) |
6522+ 3366 |
870 | 12974 | 833 | 11028 | 833 | 9216 | 817 | 11191 | 817 | 10631 | 817 | 18579* | 832 | - | - | 26979* | 817 |
Object or Module |
Analog Devices ADSP |
Texas Instruments TMS320 |
LSI Logic ZSP |
|||||||||||||||
BF53x |
219x |
218x |
C3000 |
C5400 |
C5500 |
C6200 |
C6400 |
ZSP400 |
||||||||||
CODE+ COEFS |
RAM per- channel |
CODE+ COEFS |
RAM per- channel |
CODE+ COEFS |
RAM per- channel |
CODE+ COEFS |
RAM per- channel |
CODE+ COEFS |
RAM per- channel |
CODE+ COEFS |
RAM per- channel |
CODE+ COEFS |
RAM per- channel |
CODE+ COEFS |
RAM per- channel |
CODE+ COEFS |
RAM per- channel |
|
cid (Caller
ID) - Tx only - Rx only |
- | - |
711 391 380 |
- |
645 |
0 |
- |
0 |
680 |
0 |
596 310 286 |
0 |
1304* |
0 |
- | - |
- |
0 |
common | - | - | 1059 | - | 935 |
0 |
525 |
0 |
647 |
0 |
694 | 0 | 2992* | 0 |
- |
- |
4124* |
0 |
dtmf | - | - | 537 | - | 418 |
0 |
406 |
0 |
568 |
0 |
586 | 0 | 814* | 0 |
- |
- |
- |
0 |
echo | - | - | 226 | - | 178 | 0 | 115 | 0 | 170 | 0 | 174 | 0 | 601* | 0 | - |
- |
- | 0 |
filter | - | - | 53 | - | 51 | 0 | - | - | 41 | 0 | 44 | 0 | 464* | 0 | - |
- |
260* | - |
fsk | - | - | 623 | - | 426 | 0 | - | - | 241 | 0 | 276 | 0 | - | 0 | - |
- |
1197* | - |
gendet | - | - | 1801 | - | 1767 |
- |
- |
- |
1287 |
0 |
1353 | 0 | - | 0 |
- |
- |
6587* |
- |
g.726 - encoder only - decoder only |
- - - |
- - - |
- - - |
- - - |
- |
- |
- |
- |
3412 |
196 |
- - - |
- - - |
- - - |
- |
- |
- |
||
memory |
10 | |||||||||||||||||
mf | - | - | 686 | - | 530 |
0 |
522 |
0 |
712 |
0 |
500 | - | 946* | 0 |
- |
- |
- |
0 |
rxtx | - | - | 638 | - | 556 |
0 |
744 |
0 |
324 |
0 |
303 | 0 | 368* | 0 |
- |
- |
723* |
0 |
tcm | - | - | 1932 | - | 1863 |
0 |
1566 |
0 |
2252 |
0 |
2335 | 0 | 3929* | 0 |
- |
- |
3226* |
0 |
vcoefs |
3303 |
|
3303 |
|
4617 |
|
4617 |
|
4617 |
|
4617 |
|
- |
- |
3820 |
|
||
V.8 | - | - | - | - | - |
- |
- |
- |
2030* |
0 |
1818* |
0 |
- |
- |
- |
- |
||
V.17 | - | - | 1304 | - | 1089 |
0 |
2858 |
0 |
952 |
0 |
937 | 0 | 1718* | 0 |
- |
- |
2785* |
0 |
V.21/Bell 103 | - | - | 110 | - | 93 |
0 | 303 |
0 |
99 |
0 |
179 | 0 | 780* | 0 |
- |
- |
249* |
0 |
V.22bis | - | - | 3344 | - | - |
0 |
3096 |
0 |
3582 |
0 |
- | - | 4004* | 0 |
- |
- |
- |
0 |
V.23/Bell 202 | - | - | 226 | - | 156 |
0 | - |
- |
172 |
0 |
149 | 0 | - | - |
- |
- |
- |
- |
V.26 | - | - | 1556 | - | 1754 |
0 |
1516 |
0 |
1575 |
0 |
- | 0 | 1368* | 0 |
- |
- |
- |
0 |
V.27ter | - | - | 1453 | - | 1226 |
0 |
2453 |
0 |
1099 | 0 |
1050 | 0 | 1816* | 0 |
- |
- |
2800* |
0 |
V.29 | - | - | 1841 | - | 1403 |
0 |
2347 | 0 |
1490 |
0 |
1445 | 0 | 2390* | 0 |
- |
- |
3879* | 0 |
V.32 | - | - | 5501 | - | 5516 |
0 |
3562 |
0 |
5158 |
0 |
4333 | 0 | 7324* | 0 |
- |
- |
- |
0 |
V.32bis | - | - | 5633 | - | 5783 |
0 |
5011 |
0 |
5279 |
0 |
4337 | 0 | 7324* | 0 |
- |
- |
- |
0 |
V.34 | - | - | - | - | - |
- |
- |
- |
16133* |
2754* |
- | - | - |
- |
- |
- |
||
V.42 | - | - | - | - | 6677 |
3142 |
- |
- |
5572* |
1289* |
3834* | 0 | - |
- |
- |
- |
- |
- |
V.42bis MAX_CODEWORD: - 512 (compact) - 1024 (compact) - 2048 (compact) - 4096 (non-compact) |
- | - | - | - |
- |
- |
- |
- |
1776* |
|
- | - | - |
- |
- |
- |
- |
- |
UART | - | - | - | - | - |
- |
- |
- |
522 |
310 |
- | - | - |
- |
- |
- |
- |
- |
In these tables, "CODE+COEFS" refers to total read-only executable code/coefficient storage - only one instance required per system. "RAM per-channel" refers to read/write data storage required for each channel.
All CODE are in native WORDS for the device type: 32-bits for C3000, 16-bits for C5400/C5500, 32-bits for C6000; 32-bits for BF53x, 24-bits for 218x/219x, and 48-bits for 2106x; 16-bits for ZSP400.
All COEFS and RAM per-channel are in 16-bit "short integer" for all ports.
Items marked with an asterisk (*) were generated using an optimizing C compiler and are not manually Assembly-optimized for code size. All other numbers are measured from the Assembly Source code products built for optimal execution speed and on-chip memory usage. MESi Assembly Source products are manually ported from the C Source - they not compiler output and were not derived from C compiler output.
Items marked with psi (Ψ) are measured from mixed C and optimized Assembly Source for MIPs-intensive algorithms, such as Hilbert filters, FIR interpolator/decimators, adaptive equalizers, and adaptive echo cancellers. The C source is mainly for the initialization, control, and protocol sequencing operations and compiled versus assembly source performance is very similar. This may be the only form (mixed C and Assembly) available for some devices.
Memory usage varies widely with component configuration and code generation method. The CODE+COEFS numbers are the MAXIMUM you would need to store if each module is built with all options enabled. The RAM numbers are the MINIMUM you would need to implement a channel using the default buffer sizes. The individual Object numbers show you the size of each constituent Object module, but you need to look at the ensemble numbers to see how much memory is required to build a complete component.
Several RAM memory vectors are circular buffers and must be correctly aligned by the linker for Texas Instruments and Analog Devices DSPs. We provide example linker command files showing the needed alignment for one and two channel implementations.
V32bis includes the fallback to v32, and includes all v32bis bit rates (14400, 12000, 9600, 9600 non-TCM, 7200, and 4800 non-TCM). The v32 CODE+COEFS figure is for non-TCM v32 bit rates only (9600 and 4800 non-TCM).