Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Custom_table_size_100 |
---|
Page properties | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
Template Revision 2.1 Design Name always "TE Series Name" + optional CPLD Name + "CPLD" Change List 2.0 to
|
Overview
CPLD Device with designator U21: LCMX02-256HC
Feature Summary
- JTAG routing
- Boot Mode settings
- LED
Firmware Revision and supported PCB Revision
See Document Change History
Product Specification
Port Description
Note:
PCB REV04 REV05 Connection
PCB REV01 REV02 Connection
For PCB REV04 EN1(input) (pulled up in CPLD) / For PCB REV05 REST_EN(output) (Floating in CPLD)
Power Enable from B2B Connector (Positive Enable) (input pin) for PCB revision 04 in this case used only for PGOOD feedback / Reset pin (output pin) for PCB revision 5 in this case this pin is reset pin that is activated by firmware and not by hardware after changing the boot mode via software.
Scroll Ignore | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
CPLD Device with designator U46: 10M08SAU169
Feature Summary
- something to have access to CPLD to read out status of Power management
- Power management
- Reset
Firmware Revision and supported PCB Revision
See Document Change History
Product Specification
Scroll Ignore | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
Port Description
Name / opt. VHD Name | Direction | Pin | Pullup/Down | Bank Power | Description PCB REV04 REV05 Connection PCB REV01 REV02 Connection |
---|---|---|---|---|---|
JTAGEN | in | E5 | -- | 3.3V | fixed to 3.3V |
TCK_MAX10 | in | G2 | -- | 3.3V | JTAG |
TMS_MAX10 | in | G1 | -- | 3.3V | JTAG |
TDO_MAX10 | out | F6 | -- | 3.3V | JTAG |
TDI_MAX10 | in | F5 | -- | 3.3V | JTAG |
RST_EN | inout | 27 | NONE | 3.3VIN | Reset pin output to reset FPGA via CPLD chip
|
EN_VTT_PL_DDR | out | J2 | 3.3V LVCMOS | ||
EN_2V5_PL_DDR | out | J1 | 3.3V LVCMOS | ||
EN_1V2_PL_DDR | out | H4 | 3.3V LVCMOS | ||
PG_1V2_PL_DDR | H5 | 3.3V LVCMOS | |||
EN_1V8_PS_AUX | out | M2 | 3.3V LVCMOS | ||
PG_SOM | out | M1 | 3.3V LVCMOS | This pin is used as power good (input) | |
PG_VCCINT | N3 | 3.3V LVCMOS | |||
LTM_FAULT | N2 | 3.3V LVCMOS | |||
SC_EXT_2 | out | L3 | 3.3V LVCMOS | ||
M_SDA | M3 | 3.3V LVCMOS | |||
MR | out | K2 | 3.3V LVCMOS | ||
EN_SOM | K1 | 3.3V LVCMOS | |||
SC_EXT_3 | L2 | 3.3V LVCMOS | |||
SMB_ALERTn | L4 | 3.3V LVCMOS | |||
PG_2V5_PL_DDR | L5 | 3.3V LVCMOS | |||
EN_LTM_RUNP | out | M5 | 3.3V LVCMOS | ||
M_SCL | M4 | 3.3V LVCMOS | |||
nRST_SYS | K5 | 3.3V LVCMOS | |||
EN_0V9_GTH_AVCC | out | N5 | 3.3V LVCMOS | ||
EN_0V9_GTY_AVCC | out | N4 | 3.3V LVCMOS | ||
PG_1V2_PS_DDR | M7 | 3.3V LVCMOS | |||
PG_0V9_GTH_AVCC | N6 | 3.3V LVCMOS | |||
PG_0V9_GTY_AVCC | N8 | 3.3V LVCMOS | |||
EN_3V3_SW | out | N7 | 3.3V LVCMOS | ||
EN_1V2_PS_PLL | out | J6 | 3.3V LVCMOS | ||
PG_1V8_PS_GTR_AVTT | M9 | 3.3V LVCMOS | |||
PG_1V8 | M8 | 3.3V LVCMOS | |||
EN_2V5_PS_DDR | out | M13 | 3.3V LVCMOS | ||
PG_1V2_GTY_AVTT | N9 | 3.3V LVCMOS | |||
EN_1V2_GTY_AVTT | out | N10 | 3.3V LVCMOS | ||
M_INT | L11 | 3.3V LVCMOS | |||
EN_1V8_VCC_ADC | out | M11 | 3.3V LVCMOS | ||
PG_1V8_PS_GTR_AVCC | K8 | 3.3V LVCMOS | |||
EN_VTT_PS_DDR | out | J8 | 3.3V LVCMOS | ||
EN_1V8 | out | L10 | 3.3V LVCMOS | ||
EN_1V8_GTY_AUX | out | M10 | 3.3V LVCMOS | ||
PG_2V3 | N12 | 3.3V LVCMOS | |||
| |||||
EN_+1.8V_GTR_AVTT_PS | out | K10 | 3.3V LVCMOS | ||
EN_+1.8V_GTH_AUX | out | K11 | 3.3V LVCMOS | ||
EN_+1.8V_AUX | out | K12 | 3.3V LVCMOS | ||
EN_+1.2V_GTH_AVTT | out | J12 | 3.3V LVCMOS | ||
+3.3V_SW | J9 | 3.3V LVCMOS | |||
EN_+1.2V_PS_DDR | out | J13 | 3.3V LVCMOS | ||
EN_+0.85V_GTR_AVCC_PS | out | H13 | 3.3V LVCMOS | ||
PG_+1.2V_GTH_AVTT | H9 | 3.3V LVCMOS | |||
EN_VCCINT | out | H8 | 3.3V LVCMOS | ||
EN_+2.3V | out | G13 | 3.3V LVCMOS | ||
PG_+1.8V_AUX | G12 | 3.3V LVCMOS | |||
PG_2.5V_PS_DDR | L13 | 3.3V LVCMOS |
Functional Description
Power
All power regulators are controlled by the power sequencer core. It enables and discharges the power regulators and monitors the power good signals.
The power-up sequence corresponds to Intel's recommendations and is shown in the table below:
Power Group | Power enable | Power good | Notes |
---|---|---|---|
0 | EN_0V9 | PG_0V9 | -- |
1 | EN_0V95 | PG_0V95 | -- |
2 | EN_1V8 | PG_1V8 | -- |
3 | EN_1V8VIO | PG_1V8VIO | -- |
EN_1V35 | PG_1V35 | -- | |
EN_VTT | -- | -- | |
VADJ_EN | PG_VADJ | 1.8V (default) | |
MAX_IO19 | MAX_IO20 | B2B J2-74/J2-76 / Signals for 3.3V on carrier board TEIB0006 → EN_3V3MB/PG_MB_3.3V | |
MAX_IO23 | MAX_IO22 | B2B J2-86/J2-82 / Signals for 1.8V on carrier board TEIB0006 → EN_1V8MB/PG_MB_1.8V |
The voltages for Bank 2K ( VCCIO2K) and Bank 2J (VCCIO2J) are supplied externally via the B2B connectors (J1-53/53 and J2-29/30).
Output voltage VADJ of power regulator U11 is set to 1.8V via VADJ_VS0 and VADJ_VS1 pin. Possible selectable voltages are 1.8V, 2.5V and 3.0V.
I2C interface
CPLD firmware consists of a i2c t GPIO block. This subsystem provides i2c protocol interface to 32-bit (4 x 8-bit) (GPIO_input[31:0]) registers for reading from CPLD and (4 x 8-bit) (GPIO_output[31:0]) registers for writing in CPLD as general purpose parallel input and output (I/Os). The written and read data is communicated from/to FPGA via i2c bus interface protocol. The address of this block in the firmware is 0x20.In this case related i2c bus is bus 1.
Register | Direction in CPLD | Address |
---|---|---|
GPIO_input[7:0] | Output (reading from CPLD) | 0x00 |
GPIO_input[15:8] | Output (reading from CPLD) | 0x01 |
GPIO_input[23:16] | Output (reading from CPLD) | 0x02 |
GPIO_input[31:24] | Output (reading from CPLD) | 0x03 |
GPIO_output[7:0] | Input (writing to CPLD) | 0x00 |
GPIO_output[15:8] | Input (writing to CPLD) | 0x01 |
GPIO_output[23:16] | Input (writing to CPLD) | 0x02 |
GPIO_output[31:24] | Input (writing to CPLD) | 0x03 |
NOSEQ pin
This pin in PCB REV04 with old CPLD firmware version (REV04) is used as boot mode pin select. If CPLD is programmed with SC0820_qspi_sd_jtag.jed as jed file and NOSEQ is high, JTAG boot mode will be selected. For PCB REV05 or PCB REV04 with new CPLD firmware (CPLD firmware REV05) NOSEQ pin can be used by user as GPIO pin and accessed via i2c interface. In this case the following table can be used:
NOSEQ pin as output | Condition | Command in linux console |
---|---|---|
'1' | GPIO_output(16) = '1' | i2cset -y 1 0x20 0x02 0x01 |
'0' | GPIO_output(16) = '0' | i2cset -y 1 0x20 0x02 0x00 |
NOSEQ pin as input | Description | Command in linux console |
Reading state of NOSEQ pin | GPIO_input(16) = NOSEQ | i2cget -y 1 0x20 0x02 |
Access to CPLD Registers
CPLD registers can be accessed via i2c interface. In the following table is shown how these registers can be read or written:
Register | Direction in CPLD | Address | Related instruction in linux console to access the register |
---|---|---|---|
GPIO_input[7:0] | Output (reading from CPLD) | 0x00 | i2cget -y 1 0x20 0x00 |
GPIO_input[15:8] | Output (reading from CPLD) | 0x01 | i2cget -y 1 0x20 0x01 |
GPIO_input[23:16] | Output (reading from CPLD) | 0x02 | i2cget -y 1 0x20 0x02 |
GPIO_input[31:24] | Output (reading from CPLD) | 0x03 | i2cget -y 1 0x20 0x03 |
GPIO_output[7:0] | Input (writing to CPLD) | 0x00 | i2cset -y 1 0x20 0x00 <data> |
GPIO_output[15:8] | Input (writing to CPLD) | 0x01 | i2cset -y 1 0x20 0x01 <data> |
GPIO_output[23:16] | Input (writing to CPLD) | 0x02 | i2cset -y 1 0x20 0x02 <data> |
GPIO_output[31:24] | Input (writing to CPLD) | 0x03 | i2cset -y 1 0x20 0x03 <data> |
Some of these registers are using to show some information same as CPLD revision and boot mode while booting.
Register | Address | related data | Read/write by user | Description |
---|---|---|---|---|
GPIO_input[7:0] | 0x00 | CPLD REVISION (8 bits) | No | |
GPIO_input[15:8] | 0x01 | "00" & BOOTMODE_GEN (2 bits) & PUDC (1 bit) & CPLD_BM (1 bit) & BOOT_MODE (2 bits) | No | BOOTMODE_GEN is a generic parameter in firmware code to select type of jed-file. For example if this parameter is 3 , then by programming the related jed-file the user can have all boot mode options. (QSPI/JTAG/SD Card/eMMC). PUDC is the state of PUDC pin of FPGA. CPLD_BM is a parameter to show if boot mode selection is executed via hardware ( if low) or software (if high) BOOT_MODE shows selected boot mode. |
GPIO_input8[16] | 0x02 | NOSEQ pin | Yes | |
Register | Address | related data | Description | |
GPIO_output[16] | 0x02 | NOSEQ pin | Yes |
If CPLD firmware version is REV05, then boot mode, CPLD revision and some features of the board will be displayed in the linux console via FSBL code while booting. The format of these informations are shown in the following:
Information | Displayed in Linux console | Description |
---|---|---|
CPLD Revision | CPLD_REV = <cpld revision> | |
Boot mode selection procedure | CPLD_BM = < bm selection procedure> |
|
Jed file that on CPLD is programmed | BOOTMODE_GEN = < jed file type> |
|
PUDC pin state | PUDC_MODE = <pudc state> |
|
Boot mode | BOOT_MODE = <boot mode> |
|
The CPLD revision, boot mode and other informations will be displayed while booting as shown:
Scroll Title | ||||
---|---|---|---|---|
| ||||
Image Added |
If PCB revision is REV04 and CPLD firmware version is older than REV05 (for example REV04) , then it will not be displayed these informations same as boot mode while booting and the following message will be displayed:
Scroll Title | ||||
---|---|---|---|---|
| ||||
Image Added |
Appx. A: Change History
For PCB REV01 and REV02 Documentation available on: TE0820-REV01_REV02 CPLD
Revision Changes
- REV02 to REV03
- changed top design from block design to text design
- REV01 to REV02
- added Pin L3 SC_EXT_2 as output and set to VCC to enable USB
Document Change History
To get content of older revision got to "Change History" of this page and select older document revision number.
Page properties | ||||
---|---|---|---|---|
| ||||
|
Date | Document Revision | CPLD Firmware Revision | Supported PCB Revision | Authors | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| REV05 | REV04,REV05 |
|
|
Functional Description
JTAG
JTAG signals routed directly through the CPLD to FPGA. Access between CPLD and FPGA can be multiplexed via JTAGEN (logical one for CPLD, logical zero for FPGA) on JM1-89.
Boot Mode
Boot mode can be set either by hardware (dip-switch) on the carrier board or by firmware in linux console or FSBL code. Even after booting boot mode can be changed . After changing the boot mode FPGA is restarted automatically by CPLD, if PCB revision is REV05, otherwise for PCB revision 4 user must reset manually to execute boot mode changing correctly.To change boot mode a state machine continuously monitors the corresponding register that can be change via I2C interface between CPLD and FPGA.
i2cset -y 1 0x20 0x01 0x91
iic_write8(0x20,0x01,0x91)
i2cset -y 1 0x20 0x01 0x93
iic_write8(0x20,0x01,0x93)
i2cset -y 1 0x20 0x01 0x92
iic_write8(0x20,0x01,0x92)
i2cset -y 1 0x20 0x01 0x90
iic_write8(0x20,0x01,0x90)
If PCB revision is REV04, then user must reset manually the carrier board after changing the boot mode using i2cset command in linux console. If PCB revision is REV05, it is not necessary to reset the FPGA by user, because FPGA will be reset automatically via CPLD after changing the boot mode via i2cset command in linux console.
For other UltraScale+ Boot Modes options custom firmware is needed, see also Table 11.1 Boot Modes from Xilinx UG1085.Power
For PCB revision 4 or older PGOOD depends on EN1. There is no additional power management controlled by CPLD. For PCB revision 5 PGOOD depends on PG_ALL signal.
LED
Green LED D2 glows depending on boot mode and whether boot mode is selected by hardware or firmware.
i2cset -y 1 0x20 0x01 0x91 in linux console
i2cset -y 1 0x20 0x01 0x92 in linux console
i2cset -y 1 0x20 0x01 0x93 in linux console
i2cset -y 1 0x20 0x01 0x90 in linux console
Note: asterisk mean one blink. So for example **oooooo mean 2 time blink with a longer break(with the time of 6 blinks)
I2C interface
CPLD firmware consists of a i2c t GPIO block. This subsystem provides i2c protocol interface to 32-bit (4 x 8-bit) (GPIO_input[31:0]) registers for reading from CPLD and (4 x 8-bit) (GPIO_output[31:0]) registers for writing in CPLD as general purpose parallel input and output (I/Os). The written and read data is communicated from/to FPGA via i2c bus interface protocol. The address of this block in the firmware is 0x20.In this case related i2c bus is bus 1.
NOSEQ pin
This pin in PCB REV04 with old CPLD firmware version (REV04) is used as boot mode pin select. If CPLD is programmed with SC0820_qspi_sd_jtag.jed as jed file and NOSEQ is high, JTAG boot mode will be selected. For PCB REV05 or PCB REV04 with new CPLD firmware (CPLD firmware REV05) NOSEQ pin can be used by user as GPIO pin and accessed via i2c interface. In this case the following table can be used:
i2cset -y 1 0x20 0x02 0x01
i2cset -y 1 0x20 0x02 0x00
i2cget -y 1 0x20 0x02
Access to CPLD Registers
CPLD registers can be accessed via i2c interface. In the following table is shown how these registers can be read or written:
i2cset -y 1 0x20 0x03 <data>
Some of these registers are using to show some information same as CPLD revision and boot mode while booting.
BOOTMODE_GEN is a generic parameter in firmware code to select type of jed-file. For example if this parameter is 3 , then by programming the related jed-file the user can have all boot mode options. (QSPI/JTAG/SD Card/eMMC).
PUDC is the state of PUDC pin of FPGA.
CPLD_BM is a parameter to show if boot mode selection is executed via hardware ( if low) or software (if high)
BOOT_MODE shows selected boot mode.
If CPLD firmware version is REV05, then boot mode, CPLD revision and some features of the board will be displayed in the linux console via FSBL code while booting. The format of these informations are shown in the following:
- If boot mode via hardware is selected → Deactive(0)
- If boot mode via software (in linux console or via FSBL code) is selected → Active(1)
- Jed file type can be one of the following types :
- (0) QSPI/SD
- (1) QSPI/JTAG
- (2) JTAG/SD
- (3) default QSPI/JTAG/SD/eMMC
- PUDC can have one of the following state:
- Pull-up activated (0)
- Pull-up deactivated (1)
- The following boot modes can displayed:
- eMMC (0)
- JTAG (1)
- QSPI (2)
- SD Card (3)
The CPLD revision, boot mode and other informations will be displayed while booting as shown:
Scroll Title | ||||
---|---|---|---|---|
| ||||
Image Removed |
If PCB revision is REV04 and CPLD firmware version is older than REV05 (for example REV04) , then it will not be displayed these informations same as boot mode while booting and the following message will be displayed:
Scroll Title | ||||
---|---|---|---|---|
| ||||
Image Removed |
For PCB REV01 and REV02 Documentation available on: TE0820-REV01_REV02 CPLD
Revision Changes
- REV04 to REV05
Adding configuration of boot mode in linux console and via generic parameters
PGOOD pin used as boot mode selector pin.
Adding boot mode configuration via hardware
JTAG time constraint correction
Adding i2c to gpio ip (i2c_slave.vhd)
LED function is changed.
New generic parameter defined : PCB_REV
EN1 pin
is renamed to RST_EN.
pin is input for PCB_REV=4 and it is enable pin same as before.
is reset output for PCB_REV=5 or newer.
- REV03 to REV04
- PCB REV03 support only
X1 is input for USER LED
X0 select X0 or Firmware Blink status to User LE
blink modes for QSPI/SD firmware
- REV02 to REV03
- new Boot Mode variants
- new X0 status blink sequencing
- REV01 to REV02
- Boot Mode variants
- X1
- Remove ERR_STATUS
Document Change History
To get content of older revision got to "Change History" of this page and select older document revision number.
Page properties | ||||
---|---|---|---|---|
| ||||
|
Date | Document Revision | CPLD Firmware Revision | Supported PCB Revision | Authors | Description |
| |||||
---|---|---|---|---|---|---|---|---|---|---|---|
Page info | current-version | current-version | |||||||||
prefix | v. | REV05 | REV04,REV05 | ||||||||
Page info | modified-user | modified-user |
| ||||||||
2022-10-05 | v.3 | REV05 | REV04,REV05 | Mohsen Chamanbaz |
| ||||||
2018-08-29 | v.2 | REV04 | REV03 | John Hartfiel |
| ||||||
v.1 | REV04 | REV03 | John Hartfiel |
| |||||||
v.1 | REV04 | REV03 | Page info | | created-user | created-user | |||||
All |
|
Appx. B: Legal Notices
Include Page | ||||
---|---|---|---|---|
|
Scroll Only | ||
---|---|---|
|
Scroll pdf ignore | ||||||
---|---|---|---|---|---|---|
|