5
USB Type-C Demo Kit V2 Board
Programming Circuit
The Mini-USB Type B connector is used for programming the board, using the standard Diamond Programmer soft-
ware. Figure 3 shows the programming block of the USB Type-C Demo Kit V2.
The Mini-USB Type B connector interfaces with the FTDI FT2232H IC. The FTDI IC works with Diamond program-
mer to provide interfaces for JTAG (for programming MachXO2-4000ZE) and SPI (for programming both the
iCE40™ LP and iCE40 Ultra™ devices and their SPI Flash Memories). The SPI programming works in conjunction
with a mux design that must be programmed into the MachXO2-4000ZE. The mux design operation and required
switch settings are described in detail in the next section. When the MachXO2 device contains the mux design and
the proper switch settings are chosen, the Diamond Programmer interfaces directly with the iCE40 devices or SPI
Flashes.
Figure 3. Programming Block
Programming Mux and Switch Settings
The board allows for programming the various devices contained on the USB Type-C Demo Kit V2:
• MachXO2 (LCMXO2-4000ZE-1MG132C) – U4
• iCE40 LP (iCE40LP8K-CM81) – U22
— Configuration or Programming
— iCE40 Ultra External SPI Flash – U10
— Micron Technology Inc. (N25Q032A13ESC40F)
— CDONE LED (Red) – D11
• iCE40 Ultra (iCE5LP4K-SG48) – U7
— Configuration or Programming
— iCE40 Ultra External SPI Flash - U6
— Micron Technology Inc (N25Q032A13ESC40F)
— CDONE LED (Green) – D9
• iCE40 Device CRESETB can be asserted by pushing SW1
— Routed through MachXO2 device
USB MINI-B
FTDI
FT2232H
LCMX02-
4000ZE
ICE40LP8K-
CM81 or
ICE5LP4K-48
Switch
FLASH
J2
U1
U4
U5/U22
SW3
U10