
MachXO2 Programming and Configuration Usage Guide
12
• You must prevent external logic from interfering with device programming. Make sure that recovered sysCONFIG
pins are not asserted when the MachXO2 is in Feature Row HW Default Mode state. One example is driving
PROGRAMN with an active low signal after the MachXO2 is in Feature Row HW Default Mode state. Failure to
reprogram the Feature Row with PROGRAMN disabled prevents the FPGA from configuring and entering user
mode.
• Use care when using JTAGENB to selectively enable and disable the JTAG port. Any external logic connected to
the JTAG I/O must not contend with the JTAG programming port.
Table 7 lists the default state of the shared sysCONFIG pins. As you can see, a Default Mode Feature Row device
has the JTAG, SPI Slave and I
2
C ports enabled. Upon entry to User Mode the MachXO2, the default state of the
SSPI, and I
2
C sysCONFIG pins become general purpose I/O. This means you lose the ability to program the
MachXO2 using SSPI, or I
2
C when using the default sysCONFIG port settings. To retain the SSPI, or I
2
C sysCON-
FIG pins in user mode, be sure to ENABLE them using the Diamond Spreadsheet View editor.
Unless specified otherwise, the sysCONFIG pins are powered by the VCCIO0 voltage. It is crucial you take this into
consideration when provisioning other logic attached to Bank 0.
The function of each sysCONFIG pin is described in detail.
Table 7. Default State of the sysCONFIG Pins
1
Table 8. Default State in Diamond for Each Port
Self Download Port Pins
PROGRAMN: The PROGRAMN is an input used to configure the FPGA. The PROGRAMN pin, when enabled, is
sensitive to a high-to-low transition, and has an internal weak pull-up. When PROGRAMN is asserted low, the
FPGA exits user mode and starts a device configuration sequence at the Initialization phase, as described earlier.
Holding the PROGRAMN pin low prevents the MachXO2 from leaving the Initialization phase. The PROGRAMN
Pin Name
Associated
sysCONFIG Port
Pin Function in
Feature Row Erased Mode
(Configuration Mode)
Pin Direction
(Configuration Mode)
Default Function
in User Mode
2
PROGRAMN
SDM
PROGRAMN
Input with weak pull up
User-defined I/O
INITN
SDM
I/O
I/O with weak pull up
User-defined I/O
DONE
SDM
I/O
I/O with weak pull up
User-defined I/O
MCLK/CCLK
SSPI/MSPI
SSPI
Input with weak pull up
User-defined I/O
SN
SSPI/MSPI
SSPI
Input with weak pull up
User-defined I/O
SI/SISPI
SSPI/MSPI
SSPI
Input User-defined I/O
SO/SPISO
SSPI/MSPI
SSPI
Output User-defined
I/O
CSSPIN
MSPI
I/O
I/O with weak pull up
User-defined I/O
SCL
I
2
C
I
2
C
Bi-Directional User-defined
I/O
SDA
I
2
C
I
2
C
Bi-Directional User-defined
I/O
1. All pins will be in Configuration Mode until the device is configured and enters User Mode.
2. Disabled sysConfig Pins will assume h/w default behavior in User Mode, that is, high-impedance with a weak pull down.
sysConfig Port
Diamond Default
1
SDM_PORT
Disable
SLAVE_SPI_PORT
Disable
I2C_PORT
Disable
MASTER_SPI_PORT
Disable
JTAG_PORT
Enable
1. This Default setting can be modified in the Diamond Spreadsheet View, Global Preferences tab.