Xtp693 Zcu670 Ibert Example Design 2022 1
Xtp693 Zcu670 Ibert Example Design 2022 1
Xtp693 Zcu670 Ibert Example Design 2022 1
• Board System Design: Designing a PCB through schematics and board layout. Also involves
power, thermal, and signal integrity considerations. For more information, see Versal ACAP
Design Process Documentation Board System Design.
Additional Resources
See Appendix E Additional Resources and Legal Notices for references to documents, files, and
resources relevant to the ZCU670 evaluation board.
After the script has been properly executed, the project for the IP customization (XCI) can be inspected
or manipulated. If this is modified, new scripts will need to be generated as this will invalidate any
generated designs. If your intention is to only inspect or manipulate the provided example design, it is
suggested to utilize the bd_only=true argument. This will cause the design to exit execution just
after the IP has been customized and XCI scripting has been created. More information can be found in
the Design Arguments and Steps to Execute Design sections.
The below design, generated by the scripting is a multipart design. This is done in this way to create a
clean and efficient separation between the IP and the Board level effort. This can be clearly understood.
To dive deeper into this design, in the ZCU670_IBERT Vivado instance, right click the
ibert_ultrascale_gty_0 design source and choose Re-customize IP…
Each tab contains various configuration options for the customized IP. The ZCU670 has a 156.25 Mhz
clock which is connected to the MGTREFCLK1 on Quad 127. Refer to the ZCU670 schematic pages 6,
35,38 for details.
Within the Protocol Definition tab, the IP has been customized with 25 Gbps LineRate as that utilizes
the default clocks properly. This IP has also been configured for multiple protocols to ease future
customization. Throughout this design, options will be selected for all lanes to utilize the same outputs.
The most important piece of this is the Refclk selection. Note that the IP has been selected to utilize the
same MGTREFCLK1 from Quad 127. This is possible as in this chip architecture, adjacent Quads can
utilize clocks from adjacent inputs. Refer to UltraScale Architecture GTY Transceivers User Guide
(UG578) for more information.
Next inspect the Clock Settings tab. Of note in this is the clock source selection. It has been selected to
utilize the MGTREFCLK1 from Quad 127. For other frequencies supported by the ZCU670 using the
included clock mux and generators, selecting the appropriate input clock is done here.
Power
12VDC Power needs to be provided using J50. Use only the suggested power supply to ensure
compatibility and to avoid damage.
Refer to ZCU670 Evaluation Board User Guide (UG1532) for Board Component Locations
JTAG
Using the included micro-USB 2.0 type-A cable, connect J24 to your PC. It is suggested to avoid USB
Hubs as well as extender cables. If using another JTAG interface, refer to that product user guide, as
well as ZCU670 Evaluation Board User Guide (UG1532) for configuration options.
Refer to ZCU670 Evaluation Board User Guide (UG1532) for Board Component Locations.
Vivado Installation
For help with installation and licensing, refer to the Vivado Design Suite User Guide (UG973).
Design Files
Extract Archive
The source scripts are archived in rdf0624-zcu670-ibert-c-2021-2.zip. Extract these files to your hard
drive. It is advised to use C:\vivprj
Note: Under Windows, there is a possibility to run into a path length error. The directory names
suggested throughout are specifically chosen to maintain an organized design structure, yet work
within that limit. Caution is advised if you deviate from these instructions.
For further information see Answer Record 52787
Linux does not have this path limitation.
The design consists of multiple scripts that handle specific features. This can be summarized as a
donut structure.
VPK120_IPI ZCU670_IPI
etc etc
This donut consists of a framework and a project design. This framework creates a uniform customer
experience across all designs giving a form/fit/function interface be the design IBERT, NOC/DDR, IPI,
etc. across any evaluation board. Customers can leverage this design as a guide to create scripted
flows along with other AMD/Xilinx guides. In some cases, the design incorporates a scripted interface
to the scripting flow for Vitis. This allows a seamless single command execution that provides in the
end a useable design, of course based on the arguments provided.
Within the script, there are many arguments that can augment the behavior of the script.
Design Arguments
Arguments are not case sensitive. Arguments can be provided in any order.
• help
o Prints help to the screen
• prod=<product_short_name>
o This design defaults to ZCU670
• bd_only=true/{false}
o defaults to false
o Create design up to XCI Design and STOP
o Useful if manually setting values or customizing the design without waiting for
remainder of bitstream generation steps
• clean=true/{false}
o defaults to false
o Cleans design by effectively deleting the design
• version_override=true/{false}
a.
2. Once open, in the TCL console, change directory to the c:\vivprj folder
a. cd {c:\vivprj}
b.
c.
3. Generating the entire design requires setting an argument. In batch mode, this is normally
accomplished through the -tclargs flag. While in the Vivado GUI, we need to set the argv
directly
set argv {prod=zcu670}
5. Note as the script creates a new design targeting the ZCU670 Evaluation Platform
a. It is normal to see a wait box, such as the below indicating Vivado is busy
Note: If bd_only=true argument is provided, the script will stop here allowing you
to manipulate the various pieces of the design
c. Once the IP scripts are created, the Example Design script will command Vivado to
run the IP Generated script in a new Vivado instance, working through all steps in the
Navigation Flow, to bitstream generation. During this last stage, expect to see a
similar indicator until the bitstream has been created
e. Without this, you can also tell the image is complete with the message in the upper
right, or feedback in the TCL console
or select the “Open Hardware Manager” step from the Flow Navigator
• You will see the TCL commands execute to connect to the hw_server and then connect to
the JTAG chain
• Now program the device, Vivado will prepopulate the Bitstream file field on the open design
dialog
• While you wait, notice the device is also displayed in the Hardware dialog
• Be aware that transceivers will not link until you populate a loopback adapter to the zSFP+
connector (J29), or the FMCP HSPC connector (J28)
• From here, you can view and adjust the various features of the GTY transceivers
• You can also select Auto-detect Links or for manual selection, select Create Links
For manual selection, choose the two channels you would like to pair, then click the + button,
repeat as necessary
• Notice the commands being executed in the TCL console, these actions can also be scripted!
• The ZCU670 Evaluation Board has been wired as indicated by the schematic, however with
the use of a loopback adapter, the channels are looped back on the same Quad and Lane
• To ensure that the design is looping data through the loopback adapter, scroll to the right in
the Serial I/O Links tab until Loopback Mode is discovered
• If None is selected, click the pull-down menu for each desired lane, and select None
o Note: Each mode allows for testing of different areas of interest – internal to the
device, analog, digital, etc.
o Note: DFE has been enabled in this design. This further enhances the performance of
the transceiver. Refer to UltraScale Architecture GTY Transceivers User Guide (UG578)
“RX Equalizer (DFE and LPM)” topic
• In the Serial I/O Links tab, you can see the various metrics around each link
o Here you can change and tune your lane, changing to various patterns, injecting
errors, etc.
o For example, changing the transmit and receive Patterns to MISMATCH demonstrates
a drop in link. Matching the pattern resumes link
• Clicking Reset will reset the link (notice Errors are now 0)
• IBERT GTY Serial I/O Scans, you can view specific performance measurements, open area,
range and other metrics for specific GTY channels
• In order to run a scan, right click the lane of choice, and select Create Scan…
• In the next dialog, keep the defaults and select Create Scan
• A new scan will appear in the Serial I/O Scans tab
See the Vivado Design Suite User Guide: Using Constraints (UG903) for more information.
Note: The IBERT Example Design generates an XDC based on design parameters and using the board
awareness of Vivado. Once generated, this can be inspected.
IMPORTANT! See the ZCU670 board documentation ("Board Files" check box) for the XDC File
Xilinx Design Hubs provide links to documentation organized by design tasks and other topics, which
you can use to learn key concepts and address frequently asked questions. To access the Design Hubs:
Note: For more information on DocNav, see the Documentation Navigator page on the Xilinx website.
References
The most up to date information related to the ZCU670 board and its documentation is available on
these websites:
Revision History
The following table shows the revision history for this document.
AUTOMOTIVE PRODUCTS (IDENTIFIED AS "XA" IN THE PART NUMBER) ARE NOT WARRANTED
FOR USE IN THE DEPLOYMENT OF AIRBAGS OR FOR USE IN APPLICATIONS THAT AFFECT
CONTROL OF A VEHICLE ("SAFETY APPLICATION") UNLESS THERE IS A SAFETY CONCEPT OR
REDUNDANCY FEATURE CONSISTENT WITH THE ISO 26262 AUTOMOTIVE SAFETY STANDARD
("SAFETY DESIGN"). CUSTOMER SHALL, PRIOR TO USING OR DISTRIBUTING ANY SYSTEMS THAT
INCORPORATE PRODUCTS, THOROUGHLY TEST SUCH SYSTEMS FOR SAFETY PURPOSES. USE OF
PRODUCTS IN A SAFETY APPLICATION WITHOUT A SAFETY DESIGN IS FULLY AT THE RISK OF
CUSTOMER, SUBJECT ONLY TO APPLICABLE LAWS AND REGULATIONS GOVERNING LIMITATIONS
ON PRODUCT LIABILITY.
Copyright
© Copyright 2022 Xilinx, Inc. Xilinx, the Xilinx logo, Alveo, Artix, Kintex, Kria, Spartan, Versal,
Vitis, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx
in the United States and other countries. AMBA, AMBA Designer, Arm, ARM1176JZ-S, CoreSight,
Cortex, PrimeCell, Mali, and MPCore are trademarks of Arm Limited in the EU and other
countries. PCI, PCIe, and PCI Express are trademarks of PCI-SIG and used under license. All other
trademarks are the property of their respective owners.