Differences
This shows you the differences between two versions of the page.
| programmable-logic:genesys-zu:reference-manual [2021/11/17 06:17] – [Table] Elod Gyorgy | programmable-logic:genesys-zu:reference-manual [2022/10/04 04:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 7: | Line 7: | ||
| There are two variants of the Genesys ZU mentioned in this Reference Manual: 3EG and 5EV. These two variants are differentiated by the MPSoC model and some peripherals. As compared to the 3EG, with the 5EV you get slightly faster DDR4, more FPGA, a video codec, and GTH transceivers allowing HDMI Source, Sink and SFP+ 10G. | There are two variants of the Genesys ZU mentioned in this Reference Manual: 3EG and 5EV. These two variants are differentiated by the MPSoC model and some peripherals. As compared to the 3EG, with the 5EV you get slightly faster DDR4, more FPGA, a video codec, and GTH transceivers allowing HDMI Source, Sink and SFP+ 10G. | ||
| - | Used stand-alone with a hearty bundle in the box, powered by the 12V power supply, it straight up boots Linux from the microSD card (whoops, [[programmable-logic: | + | Used stand-alone with a hearty bundle in the box, powered by the 12V power supply, it straight up boots Linux from the microSD card (whoops, [[programmable-logic: |
| Want to dive deep into development? | Want to dive deep into development? | ||
| Line 327: | Line 327: | ||
| You need a JTAG programmer to connect into the JTAG chain of the Genesys ZU. There is an on-board USB-JTAG controller with built-in support starting Vivado 2020.1. Connect the bundled USB 2.0 A-micro B cable to J8 labeled PROG/UART (no. 3 in [[programmable-logic: | You need a JTAG programmer to connect into the JTAG chain of the Genesys ZU. There is an on-board USB-JTAG controller with built-in support starting Vivado 2020.1. Connect the bundled USB 2.0 A-micro B cable to J8 labeled PROG/UART (no. 3 in [[programmable-logic: | ||
| + | |||
| + | Up until rev B.1, the on-board USB-JTAG controller and USB-UART converter are powered from the Genesys ZU board, not from USB. This means that power-cycling the Genesys ZU board, with the USB 2.0 A-micro B cable connected from the PC to J8, will result in the UART and JTAG controller connections going away on the PC. | ||
| + | |||
| + | From rev D.1 onwards, the on-board USB-JTAG controller and USB-UART converter are powered from the PC, via their micro B USB connection; they do not share supply lines with the rest of the Genesys ZU board. This means that power-cycling the Genesys ZU board, with the USB 2.0 A-micro B cable connected from the PC to J8, will not result in the UART and JTAG controller connections going away on the PC. Also, disconnecting the USB 2.0 A-micro B cable from J8 and reconnecting it, with the Genesys ZU board powered on, will not result in the Zynq Ultrascale+ SoC getting reset; this means that a project running on the SoC will not go away as a result of this reconnection. | ||
| The JTAG chain includes the FMC connector too as required by the standard. Any JTAG device on the FMC mezzanine card is daisy-chained to the MPSoC using the TDI and TDO pins, thus extending the JTAG chain with additional devices. The standard mandates that if JTAG functionality is not used on the mezzanine card it must still loop back TDI to TDO, thus completing the chain. Some debug cards, like the Xilinx XM105, expose signals on pin headers but do not provide the loopback themselves. This will cause JTAG programmers (either on-board or external) to not detect the JTAG chain and the MPSoC anymore. When there is no mezzanine card in the FMC slot, an on-board switch loops back TDI to TDO, again completing the chain. | The JTAG chain includes the FMC connector too as required by the standard. Any JTAG device on the FMC mezzanine card is daisy-chained to the MPSoC using the TDI and TDO pins, thus extending the JTAG chain with additional devices. The standard mandates that if JTAG functionality is not used on the mezzanine card it must still loop back TDI to TDO, thus completing the chain. Some debug cards, like the Xilinx XM105, expose signals on pin headers but do not provide the loopback themselves. This will cause JTAG programmers (either on-board or external) to not detect the JTAG chain and the MPSoC anymore. When there is no mezzanine card in the FMC slot, an on-board switch loops back TDI to TDO, again completing the chain. | ||
| Line 354: | Line 358: | ||
| <-- | <-- | ||
| - | For more details about JTAG see "JTAG Functional Description" | + | For more details about JTAG see "JTAG Functional Description" |
| ==== 2.2 microSD Boot Mode ==== | ==== 2.2 microSD Boot Mode ==== | ||
| Line 367: | Line 371: | ||
| - Turn the board on. The board will now boot the image on the microSD card. | - Turn the board on. The board will now boot the image on the microSD card. | ||
| - | For more details about SD boot mode see "SD Boot Mode" section in [[https://www.xilinx.com/ | + | For more details about SD boot mode see "SD Boot Mode" section in [[https://docs.xilinx.com/ |
| ==== 2.3 Quad SPI Boot Mode ==== | ==== 2.3 Quad SPI Boot Mode ==== | ||
| Line 376: | Line 380: | ||
| - Turn the board on. The board will now boot the image stored in the Quad SPI flash. | - Turn the board on. The board will now boot the image stored in the Quad SPI flash. | ||
| - | For more details about Quad SPI boot mode see " | + | For more details about Quad SPI boot mode see " |
| ==== 2.4 USB Boot Mode ==== | ==== 2.4 USB Boot Mode ==== | ||
| - | It is the only boot mode apart from JTAG where the MPSoC takes a slave role. It shows up as a DFU (Device Firmware Upgrade) USB device to the PC, waiting for a configuration. Using this boot mode you will be able to load the newly created image on Zynq UltraScale+ via the USB Port. For more details see the "Boot Sequence for USB Boot Mode" mode in [[https://www.xilinx.com/ | + | It is the only boot mode apart from JTAG where the MPSoC takes a slave role. It shows up as a DFU (Device Firmware Upgrade) USB device to the PC, waiting for a configuration. Using this boot mode you will be able to load the newly created image on Zynq UltraScale+ via the USB Port. For more details see the "Boot Sequence for USB Boot Mode" mode in [[https://docs.xilinx.com/ |
| ==== 2.5 Status LEDs ==== | ==== 2.5 Status LEDs ==== | ||
| Line 394: | Line 398: | ||
| Main memory is a single-slot populated DDR4 SODIMM, always upgradeable by the user. It is wired to the PS (Processing System) side using the hard-core memory controller. | Main memory is a single-slot populated DDR4 SODIMM, always upgradeable by the user. It is wired to the PS (Processing System) side using the hard-core memory controller. | ||
| - | The bundled module up until rev B.1 is a 4GiB Kingston HyperX HX424S14IB/ | + | The bundled module up until rev B.1 is a 4GiB Kingston HyperX HX424S14IB/ |
| Although some modules support > | Although some modules support > | ||
| Line 402: | Line 406: | ||
| ==== 3.1 Implementation ==== | ==== 3.1 Implementation ==== | ||
| - | There is a single SODIMM slot on the top side of the Genesys ZU just north of the MPSoC. It is wired to the PS-side memory controller and supports any SODIMM module complying with the memory controller' | + | There is a single SODIMM slot on the top side of the Genesys ZU just north of the MPSoC. It is wired to the PS-side memory controller and supports any SODIMM module complying with the memory controller' |
| The serial presence detect (SPD) interface is wired to MIO8 (DDR_SCL) and MIO9 (DDR_SDA), accessible through the I2C1 controller. | The serial presence detect (SPD) interface is wired to MIO8 (DDR_SCL) and MIO9 (DDR_SDA), accessible through the I2C1 controller. | ||
| Line 417: | Line 421: | ||
| CRC is calculated both by the controller and the DRAM to avoid data corruption in the the write data burst. It can detect single bit, double bit, odd count and one multi-bit UI vertical column errors. Upon error detection, DRAM will assert the ALERT_n line. The controller should retry the write upon error. | CRC is calculated both by the controller and the DRAM to avoid data corruption in the the write data burst. It can detect single bit, double bit, odd count and one multi-bit UI vertical column errors. Upon error detection, DRAM will assert the ALERT_n line. The controller should retry the write upon error. | ||
| - | It should be enabled in systems that expect a high amount of signal integrity issues and where high reliability is desired. It trades data rate for reliability. CRC support is optional in SODIMM modules. Even if the module supports it, implementation is not easy. For CRC to work the controller must know what pin swaps were performed on the memory interface. In case of SODIMM modules, there are some restricted pin swaps possible and must be documented in the SPD EEPROM. The controller is expected to read these, combine it with pin swaps on the system board and assign the bits to CRC inputs accordingly. According to [[https://www.xilinx.com/ | + | It should be enabled in systems that expect a high amount of signal integrity issues and where high reliability is desired. It trades data rate for reliability. CRC support is optional in SODIMM modules. Even if the module supports it, implementation is not easy. For CRC to work the controller must know what pin swaps were performed on the memory interface. In case of SODIMM modules, there are some restricted pin swaps possible and must be documented in the SPD EEPROM. The controller is expected to read these, combine it with pin swaps on the system board and assign the bits to CRC inputs accordingly. According to [[https://support.xilinx.com/ |
| ---- | ---- | ||
| Line 482: | Line 486: | ||
| The microSD connector J9 located on the top side has a hinge-based mechanism. It is compatible with UHS-I allowing 1.8V signalling and speeds up to SDR104, or 104MB/s. | The microSD connector J9 located on the top side has a hinge-based mechanism. It is compatible with UHS-I allowing 1.8V signalling and speeds up to SDR104, or 104MB/s. | ||
| - | To enable UHS-I support and speeds up to SDR104, see the following Answer Records from Xilinx: [[https://www.xilinx.com/ | + | To enable UHS-I support and speeds up to SDR104, see the following Answer Records from Xilinx: [[https://support.xilinx.com/ |
| ==== 4.3 mSATA slot ==== | ==== 4.3 mSATA slot ==== | ||
| Line 500: | Line 504: | ||
| The PL on Genesys ZU has a clock source of (by default) 25 MHz on pin E12 (SYSCLK), coming from the CLK_OUT pin of the Ethernet PHY IC36 (DP83867CRRGZR). This LVCMOS18 I/O standard clock can be used for any purpose in the PL, with certain restrictions: | The PL on Genesys ZU has a clock source of (by default) 25 MHz on pin E12 (SYSCLK), coming from the CLK_OUT pin of the Ethernet PHY IC36 (DP83867CRRGZR). This LVCMOS18 I/O standard clock can be used for any purpose in the PL, with certain restrictions: | ||
| - | * It enters the FPGA via HDGC (High-Density I/O Bank Global Clock) pins. These can only directly drive BUFGCE primitives, not MMCM/PLL primitives. See Global Clock Inputs in [[https://www.xilinx.com/ | + | * It enters the FPGA via HDGC (High-Density I/O Bank Global Clock) pins. These can only directly drive BUFGCE primitives, not MMCM/PLL primitives. See Global Clock Inputs in [[https://docs.xilinx.com/ |
| * Is available whenever the PHY is out of reset and is not specifically configured through its registers to disable this clock. By default it is synchronous to the crystal input of the Ethernet PHY (25 MHz). | * Is available whenever the PHY is out of reset and is not specifically configured through its registers to disable this clock. By default it is synchronous to the crystal input of the Ethernet PHY (25 MHz). | ||
| Line 517: | Line 521: | ||
| The Genesys ZU provides several different methods of resetting the Zynq Ultrascale+ device, as described in the following sections. | The Genesys ZU provides several different methods of resetting the Zynq Ultrascale+ device, as described in the following sections. | ||
| - | ==== 6.1 Power-on Reset ==== | + | ==== 6.1 Power-on Reset Signals |
| The Zynq Ultrascale+ PS supports external power-on reset signals. The power-on reset is the master reset of the entire chip. This signal resets every register in the device capable of being reset. The Genesys ZU drives this signal from the PG_ALL signal of the power supplies in order to hold the system in reset until all power supplies are valid. The Genesys ZU also has a red push button, labeled POR, which can toggle the power-on reset of the Zynq Ultrascale+. | The Zynq Ultrascale+ PS supports external power-on reset signals. The power-on reset is the master reset of the entire chip. This signal resets every register in the device capable of being reset. The Genesys ZU drives this signal from the PG_ALL signal of the power supplies in order to hold the system in reset until all power supplies are valid. The Genesys ZU also has a red push button, labeled POR, which can toggle the power-on reset of the Zynq Ultrascale+. | ||
| Line 529: | Line 533: | ||
| The external system reset button, labeled SRST, resets the Zynq Ultrascale+ device without disturbing the debug environment. For example, the previous break points set by the user remain valid after system reset. Due to security concerns, system reset erases all memory content within the PS, including the On-Chip-Memory (OCM). The PL is also cleared during a system reset. System reset does not cause the boot mode strapping pins to be re-sampled. After changing boot moode jumpers a power-on reset is needed to act on the new setting. | The external system reset button, labeled SRST, resets the Zynq Ultrascale+ device without disturbing the debug environment. For example, the previous break points set by the user remain valid after system reset. Due to security concerns, system reset erases all memory content within the PS, including the On-Chip-Memory (OCM). The PL is also cleared during a system reset. System reset does not cause the boot mode strapping pins to be re-sampled. After changing boot moode jumpers a power-on reset is needed to act on the new setting. | ||
| - | For more details about configuration pins see " | + | For more details about configuration pins see " |
| ---- | ---- | ||
| Line 641: | Line 645: | ||
| ==== 9.2 HDMI Source* ==== | ==== 9.2 HDMI Source* ==== | ||
| - | The PL side of the Genesys ZU-5EV ZynqUltrascale+ can forward the incoming video and audio streams to the PHY layer via [[https://www.xilinx.com/ | + | The PL side of the Genesys ZU-5EV ZynqUltrascale+ can forward the incoming video and audio streams to the PHY layer via [[https://docs.xilinx.com/ |
| - | The Genesys ZU-5EV board provides a <wrap hi> | + | The Genesys ZU-5EV board provides a <wrap hi> |
| {{ : | {{ : | ||
| Line 691: | Line 695: | ||
| ==== 9.3 HDMI Sink* ==== | ==== 9.3 HDMI Sink* ==== | ||
| - | The received video and audio streams can be decoded and properly interfaced with PHY layers via [[https://www.xilinx.com/ | + | The received video and audio streams can be decoded and properly interfaced with PHY layers via [[https://docs.xilinx.com/ |
| to allow for the highest resolutions of 4k2k60p24 bits per pixel and up to WUXGA16-bit color depth or 1080p with higher refresh rates. It will automatically configure itself as a redriver at lower data rates (<1.0 Gbps) or as a retimer above this data rate. | to allow for the highest resolutions of 4k2k60p24 bits per pixel and up to WUXGA16-bit color depth or 1080p with higher refresh rates. It will automatically configure itself as a redriver at lower data rates (<1.0 Gbps) or as a retimer above this data rate. | ||
| In redriver mode, the device supports HDMI1.4b with data rates up to 3.4 Gbps. | In redriver mode, the device supports HDMI1.4b with data rates up to 3.4 Gbps. | ||
| - | More details about the supported resolutions and color spaces can be found by accessing the [[https:// | + | More details about the supported resolutions and color spaces can be found by accessing the [[https:// |
| | | ||
| | | ||
| Line 829: | Line 833: | ||
| The pin-out of the FMC connector can be found in the XDC constraints file available on Digilent Reference. The schematic also shows the mapping between FMC connector pins and FPGA pins. Keep in mind that pin designators for the connector are not the same as pin designators for the FPGA specified in the XDC constraints file. For example, the connector pin with designator H28 and named LA24_P is wired via net FMC_LA24_P to the FPGA pin with designator AF7 and named IO_L11P_T1U_N8_GC_64. In the constraints file FMC_LA24_P will need to be location constrained to AF7. | The pin-out of the FMC connector can be found in the XDC constraints file available on Digilent Reference. The schematic also shows the mapping between FMC connector pins and FPGA pins. Keep in mind that pin designators for the connector are not the same as pin designators for the FPGA specified in the XDC constraints file. For example, the connector pin with designator H28 and named LA24_P is wired via net FMC_LA24_P to the FPGA pin with designator AF7 and named IO_L11P_T1U_N8_GC_64. In the constraints file FMC_LA24_P will need to be location constrained to AF7. | ||
| - | For FMC designs which use FMC_LA_07_P/ | + | For FMC designs which use FMC_LA_07_P/ |
| === 10.2.1 Gigabit Data Signals* === | === 10.2.1 Gigabit Data Signals* === | ||
| Line 842: | Line 846: | ||
| The FMC user defined pins are not affected by this limitation. | The FMC user defined pins are not affected by this limitation. | ||
| - | Table 10.2.1.1 shows how the FMC gigabit signals are mapped to pins and GTH primitives. Refer to the UltraScale Architecture GTH Transceivers User Guide ([[https://www.xilinx.com/ | + | Table 10.2.1.1 shows how the FMC gigabit signals are mapped to pins and GTH primitives. Refer to the UltraScale Architecture GTH Transceivers User Guide ([[https://docs.xilinx.com/ |
| //Table 10.2.1.1: FMC Gigabit Signals Mapping// | //Table 10.2.1.1: FMC Gigabit Signals Mapping// | ||
| Line 962: | Line 966: | ||
| Each SYZYGY Standard interface contains 14 single-ended I/O pins (2 of which I< | Each SYZYGY Standard interface contains 14 single-ended I/O pins (2 of which I< | ||
| - | The differential pairs were prioritized and wired to HP banks, allowing the maximum data rates supported by the SelectI/O architecture. However, the single-ended pins are wired to an HD bank, limiting the data rate to 250 Mb/s according to the Zynq UltraScale+ MPSoC Data Sheet: DC and AC Switching Characteristics [[https://www.xilinx.com/ | + | The differential pairs were prioritized and wired to HP banks, allowing the maximum data rates supported by the SelectI/O architecture. However, the single-ended pins are wired to an HD bank, limiting the data rate to 250 Mb/s according to the Zynq UltraScale+ MPSoC Data Sheet: DC and AC Switching Characteristics [[https://docs.xilinx.com/ |
| Template constraints for the Zmod port can be found in the Genesys ZU's Master XDC file, available through Digilent' | Template constraints for the Zmod port can be found in the Genesys ZU's Master XDC file, available through Digilent' | ||

