MOTOROLA DSP56311

Freescale Semiconductor
Errata
DSP56311CE1K34A
Rev. 5, 11/2004
DSP56311 Device Errata for Mask
1K34A
General remark: In order to prevent the use of instructions or sequences of instructions that do not operate correctly,
we encourage you to use the “lint563” program to identify such cases and use alternative sequences of instructions.
This program is available as part of the Freescale DSP Tools CLAS package.
Silicon Errata
Errata
Number
Errata Description
None known.
© Freescale Semiconductor, Inc., 1997–2004. All rights reserved.
Applies
to Mask
1K34A
Documentation Errata
Documentation Errata
1K34A
Description (revised 11/9/98):
XY memory data move does not work properly under one of the following two
situations:
1. The X-memory move destination is internal I/O and the Y-memory
move source is a register used as destination in the previous adjacent
move from non Y-memory
2. The Y-memory move destination is a register used as source in the next
adjacent move to non Y-memory.
Here are examples of the two cases (where x:(r1) is a peripheral):
ED1
Example 1:
move #$12,y0
move x0,x:(r7) y0,y:(r3) (while x:(r7) is a peripheral).
Example 2:
mac
move
x1,y0,a x1,x:(r1)+
y0,y1
y:(r6)+,y0
Any of the following alternatives can be used:
1. Separate these two consecutive moves by any other instruction.
2. Split XY Data Move to two moves.
Pertains to: DSP56300 Family Manual, Section B-5 “Peripheral pipeline
restrictions.
1K34A
Description (added before 2/18/1996):
ED3
BL pin timings T198 and T199 in the data sheet are changed, improving the
arbitration latency: T198 is 5 ns (max), T199 is 0 ns (min).
Pertains to: Data Sheet, Synchronous Timings (SRAM) table, Table 2-17.
1K34A
Description (added 1/27/98):
ED7
When activity is passed from one DMA channel to another and the DMA interface
accesses external memory (which requires one or more wait states), the DACT and
DCH status bits in the DMA Status Register (DSTR) may indicate improper activity
status for DMA Channel 0 (DACT = 1 and DCH[2:0] = 000).
Workaround: None.
This is not a bug, but a specification update.
DSP56311 Device Errata for Mask 1K34A, Rev. 5
2
Freescale Semiconductor
Documentation Errata
Description (added 1/27/98):
1K34A
When the SCI is configured in Synchronous mode, internal clock, and all the SCI
pins are enabled simultaneously, an extra pulse of 1 DSP clock length is provided on
the SCLK pin.
ED9
Workaround:
1. Enable an SCI pin other than SCLK.
2. In the next instruction, enable the remaining SCI pins, including the
SCLK pin.
This is not a bug, but a specification update.
Description (added 7/21/98):
ED15
1K34A
The DRAM Control Register (DCR) should not be changed while refresh is
enabled. If refresh is enabled only a write operation that disables refresh is allowed.
Workaround:
First disable refresh by clearing the BREN bit, than change other bits in the DCR
register, and finally enable refresh by setting the BREN bit.
Description (added 9/28/98):
ED17
1K34A
In all DSP563xx technical data sheets, a note is to be added under “AC Electrical
Characteristics” that although the minimum value for “Frequency of Extal” is
0MHz, the device AC test conditions are 15MHz and rated speed.
Workaround:
N/A
Description (added 11/24/98):
ED20
1K34A
In the Technical Data sheet Voh-TTL should be listed at 2.4 Volts, not as:
TTL = Vcc-0.4
Workaround: This is a documentation update.
Description (added 11/24/98):
ED24
1K34A
The technical data sheet supplies a maximum value for internal supply current in
Normal, Wait, and Stop modes. These values will be removed because we will
specify only a “Typical” current.
Workaround: This is a documentation update.
Description (added 1/6/99):
1K34A
The specification DMA Chapter is wrong.
ED26
“Due to the DSP56300 Core pipeline, after DE bit in DCRx is set, the corresponding
DTDx bit in DSTR will be cleared only after two instruction cycles.”
Should be replaced with:
“Due to the DSP56300 Core pipeline, after DE bit in DCRx is set, the corresponding
DTDx bit in DSTR will be cleared only after three instruction cycles.”
DSP56311 Device Errata for Mask 1K34A, Rev. 5
Freescale Semiconductor
3
Documentation Errata
1K34A
Description (added 1/7/1997; identified as Documentation Errata 2/1/99):
When two consecutive LAs have a conditional branch instruction at LA-1 of the
internal loop, the part does not operate properly. For example, the following
sequence may generate incorrect results:
ED28
DO #5, LABEL1
NOP
DO #4, LABEL2
NOP
MOVE (R0) +
BSCC _DEST
internal loop
NOP
LABEL2
NOP
LABEL1
NOP
NOP
_DEST NOP
NOP
RTS
; conditional branch at LA-1 of
; internal LA
; external LA
Workaround: Put an additional NOP between LABEL2 and LABEL1.
Pertains to: DSP56300 Family Manual, Appendix B, Section B-4.1.3, “At LA-1.”
Description (added 9/12/1997; identified as a Documentation errata 2/1/99):
ED29
1K34A
When the ESSI transmits data with the CRA Word Length Control bits
(WL[2:0]) = 100, the ESSI is designed to duplicate the last bit of the 24-bit
transmission eight times to fill the 32-bit shifter. Instead, after shifting the 24-bit
word correctly, eight 0s are being shifted.
Workaround:
None at this time.
Pertains to: UM, Section 7.4.1.7, “CRA Word Length Control.” The table number
is 7-2.
Description (added 9/12/1997; identified as a Documentation errata 2/1/99):
1K34A
When the ESSI transmits data in the On-Demand mode (i.e., MOD = 1 in CRB and
DC[4:0] = $00000 in CRA) with WL[2:0] = 100, the transmission does not work
properly.
ED30
Workaround:
To ensure correct operation, do not use the On-Demand mode with the
WL[2:0] = 100 32-bit Word-Length mode.
Pertains to: UM, Section 7.5.4.1, “Normal/On-Demand Mode Selection.”
DSP56311 Device Errata for Mask 1K34A, Rev. 5
4
Freescale Semiconductor
Documentation Errata
Description (added 9/12/1997; modified 9/15/1997; identified as a Documentation
errata 2/1/99):
ED31
1K34A
Programming the ESSI to use an internal frame sync (i.e., SCD2 = 1 in CRB) causes
the SC2 and SC1 signals to be programmed as outputs. If however, the
corresponding multiplexed pins are programmed by the Port Control Register
(PCR) to be GPIOs, then the GPIO Port Direction Register (PRR) chooses their
direction, but this causes the ESSI to use an external frame sync if GPIO is selected.
Note: This errata and workaround apply to both ESSI0 and
ESSI1.
Workaround: To assure correct operation, either program the GPIO pins as outputs
or configure the pins in the PCR as ESSI signals.
Note: The default selection for these signals after reset is GPIO.
Pertains to: UM, Section 7.4.2.4, “CRB Serial Control Direction 2 (SCD2) Bit 4”
Description (added 11/9/98; identified as a Documentation errata 2/1/99):
1K34A
When returning from a long interrupt (by RTI instruction), and the first instruction
after the RTI is a move to a DALU register (A, B, X, Y), the move may not be
correct, if the 16-bit arithmetic mode bit (bit 17 of SR) is changed due to the
restoring of SR after RTI.
ED32
Workaround: Replace the RTI with the following sequence:
movec
nop
rti
ssl,sr
Pertains to: DSP56300 Family Manual. Add a new section to Appendix B that is
entitled “Sixteen-Bit Compatibility Mode Restrictions.”
DSP56311 Device Errata for Mask 1K34A, Rev. 5
Freescale Semiconductor
5
Documentation Errata
Description (added 12/16/98; identified as a Documentation errata 2/1/99):
1K34A
When Stack Extension mode is enabled, a use of the instructions BRKcc or
ENDDO inside do loops might cause an improper operation.
If the loop is non nested and has no nested loop inside it, the errata is relevant only if
LA or LC values are being used outside the loop.
Workaround:
If Stack Extension is used, emulate the BRKcc or ENDDO as in the following
examples. We split between two cases, finite loops and do forever loops.
1) Finite DO loops (i.e. not DO FOREVER loops)
==============================================
BRKcc
Original code:
do #N,label1
.....
.....
do #M,label2
.....
.....
BRKcc
.....
.....
ED33
label2
.....
.....
label1
Will be replaced by:
do #N, label1
.....
.....
do #M, label2
.....
.....
Jcc
fix_brk_routine
.....
.....
DSP56311 Device Errata for Mask 1K34A, Rev. 5
6
Freescale Semiconductor
Documentation Errata
nop_before_label2
nop
label2
.....
.....
label1
....
....
1K34A
; This instruction must be NOP.
fix_brk_routine
move #1,lc
jmp nop_before_label2
ENDDO
-----Original code:
do #M,label1
.....
.....
do #N,label2
.....
.....
ENDDO
.....
.....
ED33 cont.
label2
.....
.....
label1
Will be replaced by:
do #M, label1
.....
.....
do #N, label2
.....
.....
JMP
fix_enddo_routine
DSP56311 Device Errata for Mask 1K34A, Rev. 5
Freescale Semiconductor
7
Documentation Errata
1K34A
nop_after_jmp
NOP ; This instruction must be NOP.
.....
.....
label2
.....
.....
label1
....
....
fix_enddo_routine
move #1,lc
move #nop_after_jmp,la
jmp nop_after_jmp
ED33 cont.
2) DO FOREVER loops
===================
BRKcc
----Original code:
do #M,label1
.....
.....
do forever,label2
.....
.....
BRKcc
.....
.....
label2
.....
.....
label1
DSP56311 Device Errata for Mask 1K34A, Rev. 5
8
Freescale Semiconductor
Documentation Errata
Will be replaced by:
1K34A
do #M,label1
.....
.....
do forever,label2
.....
.....
JScc
fix_brk_forever_routine
note: JScc and not Jcc
.....
.....
ED33 cont.
nop_before_label2
nop
label2
.....
.....
label1
....
....
; <---
; This instruction must be NOP.
fix_brk_forever_routine
move ssh,x:<..> ; <..> is some reserved not used
address (for temporary data)
move #nop_before_label2,ssh
bclr #16,ssl
;
move #1,lc
rti
; <---- note: "rti" and not "rts" !
ENDDO
-----Original code:
do #M,label1
.....
.....
DSP56311 Device Errata for Mask 1K34A, Rev. 5
Freescale Semiconductor
9
Documentation Errata
1K34A
do forever,label2
.....
.....
ENDDO
.....
.....
label2
.....
.....
label1
Will be replaced by:
ED33 cont.
do #M,label1
.....
.....
do forever,label2
.....
.....
JSR
fix_enddo_routine
; <--- note:
JSR and not JMP
nop_after_jmp
NOP ; This instruction should be NOP
.....
.....
label2
.....
.....
label1
....
....
fix_enddo_routine
nop
move #1,lc
bclr #16,ssl
move #nop_after_jmp,la
rti
; <--- note: "rti" and not
"rts"
Pertains to: DSP56300 Family Manual, Section B-4.2, “General Do Restrictions.”
DSP56311 Device Errata for Mask 1K34A, Rev. 5
10
Freescale Semiconductor
Documentation Errata
Description (added 1/5/99; identified as a Documentation errata 2/1/99):
1K34A
When stack extension is enabled, the read result from stack may be improper if two
previous executed instructions cause sequential read and write operations with SSH.
Two cases are possible:
Case 1:
For the first executed instruction: move from SSH or bit manipulation on SSH (i.e.
jclr, brclr, jset, brset, btst, bsset, jsset, bsclr, jsclr).
For the second executed instruction: move to SSH or bit manipulation on SSH (i.e.
jsr, bsr, jscc, bscc).
For the third executed instruction: an SSL or SSH read from the stack result may be
improper - move from SSH or SSL or bit manipulation on SSH or SSL (i.e., bset,
bclr, bchg, jclr, brclr, jset, brset, btst, bsset, jsset, bsclr, jsclr).
ED34
Workaround:
Add two NOP instructions before the third executed instruction.
Case 2:
For the first executed instruction: bit manipulation on SSH (i.e. bset, bclr, bchg).
For the second executed instruction: an SSL or SSH read from the stack result may
be improper - move from SSH or SSL or bit manipulation on SSH or SSL (i.e., bset,
bclr, bchg, jclr, brclr, jset, brset, btst, bsset, jsset, bsclr, jsclr).
Workaround:
Add two NOP instructions before the second executed instruction.
Pertains to: DSP56300 Family Manual, Appendix B, add a new section called
“Stack Extension Enable Restrictions.” Cover all cases. Also, in Section 6.3.11.15,
add a cross reference to this new section.
Description (added 7/14/99):
ED38
1K34A
If Port A is used for external accesses, the BAT bits in the AAR3-0 registers must be
initialized to the SRAM access type (i.e. BAT = 01) or to the DRAM access type
(i.e. BAT = 10). To ensure proper operation of Port A, this initialization must occur
even for an AAR register that is not used during any Port A access. Note that at
reset, the BAT bits are initialized to 00.
Pertains to: DSP56300 Family Manual, Port A Chapter (Chapter 9 in Revision 2),
description of the BAT[1 –0] bits in the AAR3 - AAR0 registers. Also pertains to
the core chapter in device-specific user’s manuals that include a description of the
AAR3 - AAR0 registers with bit definitions (usually Chapter 4).
DSP56311 Device Errata for Mask 1K34A, Rev. 5
Freescale Semiconductor
11
Documentation Errata
1K34A
Description (added 11/11/99):
When an instruction with all the following conditions follows a repeat instruction,
then the last move will be corrupted.:
1. The repeated instruction is from external memory.
2. The repeated instruction is a DALU instruction that includes 2 DAL
registers, one as a source, and one as destination (e.g. tfr, add).
3. The repeated instruction has a double move in parallel to the DALU
instruction: one move's source is the destination of the DALU instruction (causing a DALU interlock); the other move's destination is the
source of the DALU instruction.
Example:
rep #number
tfr x0,a x(r0)+,x0 a,y0 ; This instruction is from external memory
|__|_________|------|----------> This is condition 3 second part.
|_____________|----------> This is condition 3, first part - DALU interlock
ED40
In this example, the second iteration before the last, the “x(r0)+,x0” doesn't happen.
On the first iteration before the last, the X0 register is fixed with the “x(r0)+,x0”,
but the “tfr x0,a” gets the wrong value from the previous iteration's X0. Thus, at the
last iteration the A register is fixed with “tfr x0,a”, but the “a,y0” transfers the
wrong value from the previous iteration's A register to Y0.
Workaround:
1. Use the DO instruction instead; mask any necessary interrupts before
the DO.
2. Run the REP instructions from internal memory.
3. Don't make DALU interlocks in the repeated instruction. After the
repeat make the move. In the example above, all the “move a,y0” are
redundant so it can be done in the next instruction:
rep #number
tfr x0,a
x(r0)+,x0
move a,y0
If no interrupts before the move is a must, mask the interrupts before the REP.
Pertains to: DSP56300 Family Manual, Rev. 2, Section A.3, “Instruction Sequence
Restrictions.”
1K34A
Description (added on 3/22/2000)
ED42
The DMA End-of-Block-Transfer interrupt cannot be used if DMA is operating in
the mode in which DE is not cleared at the end of the block transfer (DTM = 100 or
101).
Pertains to:
DSP56300 Family Manual, Rev. 2, Section 10.4.1.2, “End-of-Block-Transfer
Interrupt.” Also, Section 10.5.3.5, “DMA Control Registers (DCR[5–0],”
discussion of bits 21 – 19 (DTM bits).
DSP56311 Device Errata for Mask 1K34A, Rev. 5
12
Freescale Semiconductor
NOTES
Description (added on 7/6/2000)
ED43
1K34A
Two HI08 registers, the Host Command Vector Register (HCVR) and the Host
Interrupt Vector Register (HIVR), do not have a known value at reset. That is, their
initial value after reset is unknown.
Workaround: To use these registers, the user must write a value to these registers.
Description (added 3/31/2001):
1K34A
When used with MS=1, a very small fraction of devices may seem to have bad
memory bits, although the problem is actually with the busses used in the switch
mode and/or the logic that enables them. This impacts all mask revisions of the
DSP56311. When used with MS=0, this problem is not present.
ED44
Diagnostic: With the mode set for maximum program memory, write and read both
1’s and 0’s to each bit of extended program memory. Repeat the process via both
core and DMA accesses. If possible, the screen should be performed at the highest
temperature and lowest voltage the parts will see in the application. If high
temperature testing is difficult, the following procedure can be followed:
1. run the test at room temperature, 10 MHz, and 1.9V
2. run the test at room temperature, (Fmax + 6) MHz, and 1.7V
3. confirm any failures at spec temperature, speed and voltage
Workaround: The production test program has been modified to address the issue.
This test has been run on all material with date codes of WW10, 2001 and later, and
for all material with a drypack seal date of March 8, 2001 or later.
Description: (added 1/19/2002):
1K34A
Reclassified from ES135 to ED47 (spec change) on 5/9/2002:
ED47
When DMA line-by-line block transfers are used with the EFCOP to perform IIR
filtering with two or fewer IIR coefficients, the first output of the IIR filter is lost.
The rest of the outputs are shifted and inaccurate.
Workaround: Instead of DMA line-by-line block transfers, use DMA word-by-word
block transfers.
Description (added 9/10/1996 as ES29; reclassified as a documentation erratum on
8/2/2002):
ED50
1K34A
When the SCI transmitter is used in Synchronous mode, the last bit of the
transmitted byte might be truncated to the half of the serial cycle.
Workaround: Not available.
NOTES
1. An over-bar (i.e., xxxx) indicates an active-low signal.
2. The letters in the right column tell which DSP56311 mask numbers apply.
DSP56311 Device Errata for Mask 1K34A, Rev. 5
Freescale Semiconductor
13
How to Reach Us:
Home Page:
www.freescale.com
E-mail:
[email protected]
USA/Europe or Locations not listed:
Freescale Semiconductor
Technical Information Center, CH370
1300 N. Alma School Road
Chandler, Arizona 85224
+1-800-521-6274 or +1-480-768-2130
[email protected]
Europe, Middle East, and Africa:
Freescale Halbleiter Deutschland GMBH
Technical Information Center
Schatzbogen 7
81829 München, Germany
+44 1296 380 456 (English)
+46 8 52200080 (English)
+49 89 92103 559 (German)
+33 1 69 35 48 48 (French)
[email protected]
Japan:
Freescale Semiconductor Japan Ltd.
Headquarters
ARCO Tower 15F
1-8-1, Shimo-Meguro, Meguro-ku,
Tokyo 153-0064, Japan
0120 191014 or +81 3 5437 9125
[email protected]
Asia/Pacific:
Freescale Semiconductor Hong Kong Ltd.
Technical Information Center
2 Dai King Street
Tai Po Industrial Estate
Tai Po, N.T. Hong Kong
+800 2666 8080
For Literature Requests Only:
Freescale Semiconductor Literature Distribution Center
P.O. Box 5405
Denver, Colorado 80217
1-800-441-2447 or 303-675-2140
Fax: 303-675-2150
[email protected]
DSP56311CE1K34A
Rev. 5
11/2004
Information in this document is provided solely to enable system and software implementers to
use Freescale Semiconductor products. There are no express or implied copyright licenses
granted hereunder to design or fabricate any integrated circuits or integrated circuits based on
the information in this document.
Freescale Semiconductor reserves the right to make changes without further notice to any
products herein. Freescale Semiconductor makes no warranty, representation or guarantee
regarding the suitability of its products for any particular purpose, nor does Freescale
Semiconductor assume any liability arising out of the application or use of any product or
circuit, and specifically disclaims any and all liability, including without limitation consequential
or incidental damages. “Typical” parameters which may be provided in Freescale
Semiconductor data sheets and/or specifications can and do vary in different applications and
actual performance may vary over time. All operating parameters, including “Typicals” must be
validated for each customer application by customer’s technical experts. Freescale
Semiconductor does not convey any license under its patent rights nor the rights of others.
Freescale Semiconductor products are not designed, intended, or authorized for use as
components in systems intended for surgical implant into the body, or other applications
intended to support or sustain life, or for any other application in which the failure of the
Freescale Semiconductor product could create a situation where personal injury or death may
occur. Should Buyer purchase or use Freescale Semiconductor products for any such
unintended or unauthorized application, Buyer shall indemnify and hold Freescale
Semiconductor and its officers, employees, subsidiaries, affiliates, and distributors harmless
against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of,
directly or indirectly, any claim of personal injury or death associated with such unintended or
unauthorized use, even if such claim alleges that Freescale Semiconductor was negligent
regarding the design or manufacture of the part.
Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. StarCore
is a trademark of StarCore LLC. All other product or service names are the property of their
respective owners.
© Freescale Semiconductor, Inc. 2004.