![](http://datasheet.mmic.net.cn/Analog-Devices-Inc/AD9558BCPZ-REEL7_datasheet_100660/AD9558BCPZ-REEL7_46.png)
AD9558
Data Sheet
Rev. B | Page 46 of 104
EEPROM Conditional Processing
The condition instructions allow conditional execution of
EEPROM instructions during a download sequence. During
an upload sequence, however, they are stored as is and have
no effect on the upload process.
Note that, during EEPROM downloads, the condition instructions
themselves and the end instruction always execute unconditionally.
Conditional processing makes use of two elements: the condition
(from Condition 1 to Condition 8) and the condition tag board.
The relationships among the condition, the condition tag board,
and the EEPROM controller appear schematically in
Figure 45.The condition is a 4-bit value with 16 possibilities. Condition = 0
is the null condition. When the null condition is in effect, the
EEPROM controller executes all instructions unconditionally.
Condition 9 through Condition 15 are not accessible using the
M pins. The remaining eight possibilities (that is, Condition = 1
through Condition = 8) modify the EEPROM controller’s
handling of a download sequence. The condition originates
from one of two sources (see
Figure 45), as follows:
FncInit, Bits[3:0], which is the state of the M2 and M3
Register 0x0E01, Bits[3:0]
If Register 0x0E01, Bits[3:0] ≠ 0, then the condition is the value
that is stored in Register 0x0E01, Bits[3:0]; otherwise, the condition
is FncInit, Bits[3:0]. Note that a nonzero condition that is present
in Register 0x0E01, Bits[3:0] takes precedence over FncInit,
Bits[3:0].
The condition tag board is a table maintained by the EEPROM
controller. When the controller encounters a condition instruc-
tion, it decodes the B1 through CF instructions as Condition = 1
through Condition = 8, respectively, and tags that particular
condition in the condition tag board. However, the B0 condition
instruction decodes as the null condition, for which the controller
clears the condition tag board; and subsequent download
instructions execute unconditionally (until the controller
encounters a new condition instruction).
During download, the EEPROM controller executes or skips
instructions depending on the value of the condition and the
contents of the condition tag board. Note, however, that the
condition instructions and the end instruction always execute
unconditionally during download. If condition = 0, then all
instructions during download execute unconditionally. If
Condition ≠ 0 and there are any tagged conditions in the condition
tag board, then the controller executes instructions only if the
condition is tagged. If the condition is not tagged, then the
controller skips instructions until it encounters a condition
instruction that decodes as a tagged condition. Note that the
condition tag board allows for multiple conditions to be tagged
at any given moment. This conditional processing mechanism
enables the user to have one download instruction sequence
with many possible outcomes depending on the value of the
condition and the order in which the controller encounters
condition instructions.
EXAMPLE
CONDITION 3 AND
CONDITION 13
ARE TAGGED
EEPROM
EEPROM CONTROLLER
UPLOAD
PROCEDURE
CONDITION
HANDLER
DOWNLOAD
PROCEDURE
CONDITION
TAG BOARD
1
6
5
4
3
2
11
10
9
8
7
30
31
24
23
22
21
20
19
18
17
16
15
14
13
12
25
26
27
28
29
IF B1 ≤ INSTRUCTION ≤ CF,
THEN TAG DECODED CONDITION
EXECUTE/SKIP
INSTRUCTION(S)
SCRATCH
PAD
COND ITION
CONDITION = 0E01
, BITS[3:0]
ELSE
CONDITION = FncInit,
BITS[3:0]
ENDIF
M3 AND M2 PINS
(3-LEVEL LOGIC)
IF INSTRUCTION = B0,
THEN CLEAR ALL TAGS
FncInit, BITS[3:0]
REGISTER
0x0E01, BITS[3:0]
STORE CONDITION
INSTRUCTIONS AS
THEY ARE READ FROM
THE SCRATCH PAD.
WATCH FOR
OCCURRENCE OF
CONDITION
INSTRUCTIONS
DURING
DOWNLOAD.
IF {NO TAGS} OR {CONDITION = 0}
EXECUTE INSTRUCTIONS
ELSE
IF {CONDITION IS TAGGED}
EXECUTE INSTRUCTIONS
ELSE
SKIP INSTRUCTIONS
ENDIF
4
IF {0E01, BITS[3:0] ≠ 0}
09758-
025
Figure 45. EEPROM Conditional Processing