
Data Sheet
June 2001
DSP16410B Digital Signal Processor
Agere Systems Inc.
Agere Systems—Proprietary
Use pursuant to Company instructions
51
4 Hardware Architecture
(continued)
4.9 Bit Input/Output Units
(BIO
0—1
)
(continued)
If an IO
0,1
BIT[n] pin is configured as an output and
the software writes
cbit
to change the state of the pin,
there is a latency of one cycle until the DSP16410B
changes the state of the pin and a latency of an addi-
tional cycle until the VALUE[n] field (
sbit
[6:0]) reflects
the change. The use of two
nop
instructions in the fol-
lowing code segment illustrates this latency:
sbit=0x1000
cbit=0x0010
nop
nop
a0h=sbit
// IOBIT4 is an output.
// Drive IOBIT4 high.
// IOBIT4 goes high.
// VALUE4 is updated.
// Bit 4 of a0h is 1.
If the software writes
sbit
to change an IO
0,1
BIT[n]
pin from an input to an output or from an output to an
input, there is a latency of one cycle before the
VALUE[n] field of
sbit
is updated to reflect the state of
the pin. If the software writes
sbit
to change an
IO
0,1
BIT[n] pin from an output to an input and back
to an output, the BIO drives the pin with its original out-
put value.
The following code segment illustrates the latency
described in the previous paragraph:
sbit=0x0F00
cbit=0x000A
// IOBIT[3:0] - output.
// IOBIT[3:0] = 1010
// ...after 1 cycle.
// Toggle IOBIT0...
// IOBIT[3:0] = 1011
// ...after 1 cycle.
// IOBIT[3:0] - input.
// IOBIT[3:0] - output.
// IOBIT[3:0] = 1011
// ...after 0 cycles.
// Any instruction.
// a0h[3:0] = 1011.
cbit=0x0101
sbit=0
sbit=0x0F00
nop
a0h=sbit
Table 18. BIO Operations
..
Table 19. BIO Flags
DIREC[n]
0
≤
n
≤
6.
The BIO tests the state of input pins to determine the states of the
BIO flags. See Table 19 for details on the BIO flags.
MODE[n]/
MASK[n]
0
DATA[n]/
PAT[n]
0
1
0
BIO Action
1
(Output)
Clear IO
0,1
Set IO
0,1
BIT[n].
Do not change
IO
0,1
BIT[n].
Toggle IO
0,1
BIT[n].
Do not test
IO
0,1
BIT[n].
Test
IO
0,1
BIT[n]
for logic zero.
Test
IO
0,1
BIT[n]
for logic one.
1
1
X
0
(Input)
0
1
0
1
Condition
ALLT
(alf[0])
1
0
0
1
1
ALLF
(alf[1])
0
1
0
1
1
SOMET
(alf[2])
1
0
1
0
0
SOMEF
(alf[3])
0
1
1
0
0
All or some of the
IO
0,1
BIT[6:0] pins are
configured as inputs.
§
For at least one pin IO
0,1
BIT[n] with DIREC[n] = 0 and MASK[n] = 1, IO
0,1
BIT[n] = PAT[n], and for at least one pin IO
0,1
BIT[n] with
DIREC[n] = 0 and MASK[n] = 1, IO
0,1
BIT[n]
≠
PAT[n].
For all pins IO
0,1
BIT[n] with DIREC[n] = 0, MASK[n] = 0.
§§ DIREC[6:0] are all ones.
For at least one pin IO
0,1
BIT[n], DIREC[n] = 0.
For every pin IO
0,1
BIT[n] with DIREC[n] = 0 and MASK[n] = 1, IO
0,1
BIT[n] = PAT[n].
For every pin IO
0,1
BIT[n] with DIREC[n] = 0 and MASK[n] = 1, IO
0,1
BIT[n]
≠
PAT[n].
All tested inputs match the pattern.
All tested inputs do not match the pattern.
§
Some (but not all) of the tested inputs match the pattern.
All of the inputs are not tested.
All IO
0,1
BIT[6:0] pins are configured as outputs.
§§