9–62
Chapter 9: Configuration, Design Security, and Remote System Upgrades in the Cyclone III Device Family
Configuration Features
(1)
Table 9–19. JTAG CONFIG_IO (without JTAG_PROGRAM) Instruction Flows
(Part 2 of 2)
Configuration Scheme and Current State of the Cyclone III Device Family
Prior to User Mode
(Interrupting
User Mode
Power Up
JTAG Instruction
Configuration)
AP
AP
AP
PS FPP
AS
PS
FPP
AS
PS FPP AS
(4)
(4)
(4)
(2)
(2)
(2)
(2)
ACTIVE_ENGAGE
R
A
A
R
A
A
R
R
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
(3)
(3)
(3)
(3)
PULSE_NCONFIG
Pulse nCONFIGpin
JTAG TAP Reset
A
R
A
R
A
R
A
R
O
O
R
O
O
R
R
R
Notes to Table 9–19:
(1) “R” indicates that the instruction is to be executed before the next instruction, “O” indicates the optional instruction, “A” indicates that the
instruction must be executed, and “NA” indicates that the instruction is not allowed in this mode.
(2) Required if you use ACTIVE_DISENGAGE
.
(3) Neither of the instruction is required if you use ACTIVE_ENGAGE
.
(4) AP configuration is for Cyclone III devices only.
The CONFIG_IOinstruction does not hold the nSTATUSpin low until reconfiguration.
You must disengage the active configuration controllers (AS and AP) by issuing the
ACTIVE_DISENGAGEand ACTIVE_ENGAGEinstructions when the active configuration is
interrupted. You must issue the ACTIVE_DISENGAGEinstruction alone or prior to the
CONFIG_IOinstruction if the JTAG_PROGRAMinstruction is to be issued later (Table 9–20).
This puts the active configuration controllers into the idle state. The active
configuration controller is re-engaged after user mode is reached using JTAG
programming (Table 9–20).
1
While executing the CONFIG_IOinstruction, all user I/Os are tri-stated.
If reconfiguration after interruption is performed using configuration modes (rather
than using JTAG_PROGRAM), it is not necessary to issue the ACTIVE_DISENGAGE
instruction prior to CONFIG_IO. You can start reconfiguration by either pulling the
nCONFIGpin low for at least 500 ns, or issuing the PULSE_NCONFIGinstruction. If the
ACTIVE_DISENGAGEinstruction was issued and the JTAG_PROGRAMinstruction fails to
enter user mode, you must issue the ACTIVE_ENGAGEinstruction to reactivate the active
configuration controller. Issuing the ACTIVE_ENGAGEinstruction also triggers the
reconfiguration in configuration modes; therefore, it is not necessary to pull the
nCONFIGpin low or issue the PULSE_NCONFIGinstruction.
ACTIVE_DISENGAGE
The ACTIVE_DISENGAGEinstruction places the active configuration controller (AS and
AP) into an idle state prior to JTAG programming. The active configuration controller
is the AS controller when the MSEL pins are set to AS configuration scheme and the
AP controller when the MSEL pins are set to the AP configuration scheme. The two
purposes of placing the active controllers in an idle state are:
■
To ensure that they are not trying to configure the device in their respective
configuration modes during JTAG programming
Cyclone III Device Handbook
Volume 1
August 2012 Altera Corporation