Professional Documents
Culture Documents
com i
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
www.xilinx.com 3
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
Objectives
After completing this lab, you will be able to:
Use the I/O pin planning environment to explore device resources and define alternate compatible
devices for the design
Import, create, and configure I/O ports
Create interfaces by grouping the related I/O ports together.
Use the semi-automatic placement modes to assign critical I/O ports to package pins
Export and examine the I/O ports list, which can be used for HDL header or PCB schematic symbol
generation
Open a netlist-based project and place GTXE, MMCM_ADV, and BUFG objects
Run DRCs and noise analysis to validate legal I/O placement
Update the constraint files with the interactive assignments
Procedure
This lab is separated into steps that consist of general overview statements that provide information on
the detailed instructions that follow. Follow these detailed instructions to progress through the lab.
If you need help completing a general instruction, go to the detailed steps below it, or if you are ready,
simply skip the step-by-step directions and move on to the next general instruction.
www.xilinx.com 5
1-877-XLX-CLAS
Lab5: I/O Pin Planning Lab Workbook
This lab comprises twp parts: In Part 1, you will use an I/O pin planning project to perform several
common tasks before synthesis. In Part 2, you will use several I/O planning features on a synthesized
design.
Note: If you are unable to complete the lab at this time, you can download the original lab files for this lab
from www.xilinx.com/training/downloads.htm. These are the original lab files and do not contain any work
that you may have previously completed.
Design Description
The small sample design used in this lab includes:
A RISC processor CPU core
A pseudo FFT
Four gigabit transceivers (GTs)
Two USB interfaces
The design targets an xc7k70t device. A small design is used to:
Allow the lab to be run with minimal hardware requirements
Enable timely completion of the lab
Minimize data size
6 www.xilinx.com
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
www.xilinx.com 7
1-877-XLX-CLAS
Lab5: I/O Pin Planning Lab Workbook
12-11-10. Click Next to open the Default Part selector dialog box.
13-12-11. In the Filter section, click the Family pull down menu and select Kintex-7.
Notice that the list is filtered to show those devices.
14-13-12. In the Search field, type 70T.
Notice the 70T devices.
8 www.xilinx.com
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
www.xilinx.com 9
1-877-XLX-CLAS
Lab5: I/O Pin Planning Lab Workbook
An alternate method is to click the Package View Layers button , located in the Package
View toolbar. Expand the I/O banks, select any I/O bank, right-click it, and select Select Objects.
The Layer Control can also be used to display specific multi-function pins, such as Vref, adjust
the look of the Package window, highlight specific bank types, or hide transceiver banks.
The selected I/O bank location is highlighted in the Package window.
23-21-19. Expand the selected I/O bank in the Package Pins window to display the package pin
information for each pin in the I/O bank.
The internal package trace min and max delays are shown also (scroll the view to the right to see
them). These are the routing delays between the pin on the package and the pad on the die.
24-22-20. Scroll down the list and select any I/O bank.
25-23-21. Select the General tab in the I/O Bank Properties window.
26-24-22. Review the I/O count and voltages.
This information is populated as I/O ports are assigned to the I/O bank. This allows you to search
for compatible I/O banks to place the remaining I/O ports.
27-25-23. Select the various tabs in the I/O Bank Properties window.
10 www.xilinx.com
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
28-26-24. Click the Maximize button in the Package Pins window banner.
The Package Pins window is maximized.
29-27-25. Select the Expand All button in the Package Pins window.
30-28-26. Scroll to the right and view the pin information in the table.
31-29-27. Unselect the Group by I/O Bank button in the Package Pins window to expand and
flatten the list.
37-34-31. In the Package Pins window header, click the Restore button .
The Package Pins window is restored. The Package window now displays prohibited pins.
www.xilinx.com 11
1-877-XLX-CLAS
Lab5: I/O Pin Planning Lab Workbook
40-37-34. Zoom fit the Package window: Click and drag the cursor from the lower right to the upper
left in a diagonal motion.
Note: The Configure I/O Ports command opens a similar dialog box that enables you to configure
existing I/O ports.
45-41-37. Type mybus in the Name field.
46-42-38. Select the Create Bus option.
47-43-39. Review the other options and click OK.
The new I/O Ports display in the I/O Ports window.
48-44-40. Select Edit > Undo to remove the recently added mybus I/O ports.
12 www.xilinx.com
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
50-45. Import and exam the CSV format I/O port list.
51-46-41. In Windows Explorer, open the following I/O Ports CSV file:
C:\training\si-bd\labs\lab5\Sources\IO_Ports_import.csv
52-47-42. Examine the I/O ports spreadsheet format and content, and exit without saving.
53-48-43. In the Vivado IDE, select Import I/O Ports from the Flow Navigator, located on the left
side.
54-49-44. Select CSV File and browse to select:
C:\training\si-bd\labs\lab5\Sources\IO_Ports_import.csv
55-50-45. Click OK.
The Device and Package views display the assigned ports, and the I/O Ports window is now
populated with the imported I/O ports, as shown in the following figure. If you are going to import
a CSV file, do this before defining ports with the Create I/O Ports command because they will be
overwritten.
www.xilinx.com 13
1-877-XLX-CLAS
Lab5: I/O Pin Planning Lab Workbook
57-51. Exporting the I/O ports list by using the Export I/O Ports command.
58-52-46. Select File > Export > Export I/O Ports.
59-53-47. Select CSV, XDC, Verilog, and VHDL in the Export I/O Ports dialog box.
Figure 5-11: Exporting I/O Ports to a CSV Spreadsheet and UCF File
14 www.xilinx.com
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
www.xilinx.com 15
1-877-XLX-CLAS
Lab5: I/O Pin Planning Lab Workbook
16 www.xilinx.com
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
82-73-63. In the I/O Ports window, click to unselect Group by Interface and Bus .
83-74-64. Scroll down the list of buses and signals.
The I/O Ports now display as a flat list rather than grouped by bus.
The Neg Diff Pair fields are populated for some of the buses indicating that they are differential
pair buses.
www.xilinx.com 17
1-877-XLX-CLAS
Lab5: I/O Pin Planning Lab Workbook
18 www.xilinx.com
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
93-82-70. Click the Show Search button in the I/O Ports window.
94-83-71. Type _0_ in the Search field.
www.xilinx.com 19
1-877-XLX-CLAS
Lab5: I/O Pin Planning Lab Workbook
101-90-78. Click the Show Search button to remove the search filter.
11-1-10. Click the Group by Interface and Bus and the Collapse All buttons.
The I/O ports list is condensed with all of the USB-related ports in interface groups.
11-1-11. Expand the Scalar ports folder to view the clocks resets and other ports.
11-1-12. Click the Restore button in the view banner.
The I/O Ports window is restored to the original location.
Figure 5-17: Viewing I/O Port Interface Groups and Scalar Ports
20 www.xilinx.com
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
105-93-80. In the Package Pins window banner, click the Maximize View button .
108-96-83. In the Package Pins window, click to unselect Group by I/O Bank .
The Package Pins now display as a flat list rather than grouped by I/O bank.
109-97-84. Click the Type column header to sort based on the Type field.
110-98-85. Scroll to view the Multi-function pins.
www.xilinx.com 21
1-877-XLX-CLAS
Lab5: I/O Pin Planning Lab Workbook
114-102-88. Click Collapse All to return the tree table display to the default display structure.
Note: The Vivado IDE has several tree table style views. There are search and filtering
capabilities available in these views. See “Using Tree Table Style Views” in the Using the Viewing
Environment chapter of the Vivado Design Suite User Guide (UG632) for more information.
118-105-90. In the Set Configuration Modes dialog box, select one or two of the other modes to view
the descriptions, schematics, and related data sheets.
119-106-91. Leave JTAG/Boundary Scan selected and click Cancel.
22 www.xilinx.com
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
Setting a configuration mode results in the pins associated with it to be displayed at the top of the
Package Pins window, allowing you to examine potential multi-function pin conflicts.
www.xilinx.com 23
1-877-XLX-CLAS
Lab5: I/O Pin Planning Lab Workbook
24 www.xilinx.com
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
128-113. Place the USB0 port interface using Place Ports in an I/O Bank.
129-114-97. In the I/O Ports window, select the USB0 interface.
130-115-98. In the Package window, click to expand the Place Ports button .
131-116-99. Select Place I/O Ports in an I/O Bank.
As you drag the cursor over the package Pins, the assignmentp pattern displays the number of
pins to be placed shows in the tool tip.
www.xilinx.com 25
1-877-XLX-CLAS
Lab5: I/O Pin Planning Lab Workbook
The Information bar at the bottom of the Vivado IDE displays information about the objects being
dragged over, including I/O banks and package pins.
132-117-100. Click I/O Bank 14 on the top-right side of the package to drop the I/O ports.
The I/O Ports are assigned in the order in which they appear in the I/O Ports window. Assignment
locations are vectored out from the initial pin selected.
133-118. Place the USB1 I/O port interface using Place Ports in Area.
134-119-101. In the Device window, zoom in to the upper half of the device.
135-120-102. In the I/O Ports window, select the USB1 interface.
136-121-103. In the Device window, click to expand the Place Ports button .
137-122-104. Select Place I/O Ports in Area.
The cursor displays a cross indicating that you can draw a rectangle.
26 www.xilinx.com
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
138-123-105. Draw a rectangle starting at the bottom of the first I/O bank in the top half of the device
and drag it up and to the right until all I/O Ports are placed in the rectangle within the top clock
region.
141-126-107. In the Device window, click to expand the Place Ports button .
142-127-108. Select Place I/O Ports Sequentially.
143-128-109. Drag and click to place the first diff pair I/O port into one of the GT I/O banks on a
designated pin.
www.xilinx.com 27
1-877-XLX-CLAS
Lab5: I/O Pin Planning Lab Workbook
Both diff pairs associated with the GTs were placed on legal sites. You might see a tool tip
indicating that the selected site is not legal and stating why it is not legal.
You can manually enter a pin location in the Site field in the I/O Port Properties window.
After placing the first set of GT diff pair pins, the next group of pins to place is queued up.
144-129-110. Place all eight RXP_IN GT [ort groups in the two upper-left I/O banks.
The cursor tool tips will help guide you to legal pin selections to place the I/O banks.
Note: GT logic objects are automatically grouped by the Vivado IDE to ensure proper behavior
when I/O ports are placed or moved. Both sets of diff pair I/O ports as well as the GT itself are all
placed and moved as a group.
145-130. Remove the split Workspace view for the Device and Package views.
Now that the I/O ports are placed, the Package window is no longer needed
to share the Workspace window. The split window can be removed easily.
146-131-111. Right-click the Package or Device window tab to select Move to Previous Tab Group.
147-132-112. Select the Device window tab to bring it to the front.
148-133-113. Adjust the window size and zoom fit the window, if needed.
28 www.xilinx.com
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
154-138-117. Scroll down the list of objects and observe the following:
o BUFG
o MMCME2_ADV
www.xilinx.com 29
1-877-XLX-CLAS
Lab5: I/O Pin Planning Lab Workbook
30 www.xilinx.com
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
162-145-123. Click the Regenerate Schematic button in the Schematic window to clean up the
connections.
You can easily expand and explore logic in the Schematic window. Select or highlight logic in the
Schematic window to cross-select or highlights it in all other views.
You can also drag logic directly out of the Schematic for placement into the Device, Package or
Clock Resources windows.
163-146-124. Close the Schematic window tab.
www.xilinx.com 31
1-877-XLX-CLAS
Lab5: I/O Pin Planning Lab Workbook
168-150-127. Click the Maximize Workspace button in the window banner to display the window
full screen.
169-151-128. Scroll around and examine the Clock Resources window.
The clock regions, I/O banks, and various device resources display in their relative location as
found on the device.
You can expand or collapse sections of the clock resources to hide or display the resources as
needed. Logic that is placed is displayed under the Instance columns.
Placed clock resources such the GTXE2s and their associated diff pair ports are displayed in the
chart along with BUFGs and MMCMs.
32 www.xilinx.com
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
175-156-132. In the Clock Resources window, click the Restore Workspace button in the window
banner to return the view layout.
176-157-133. Click the Device window tab in the Workspace.
www.xilinx.com 33
1-877-XLX-CLAS
Lab5: I/O Pin Planning Lab Workbook
34 www.xilinx.com
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
www.xilinx.com 35
1-877-XLX-CLAS
Lab5: I/O Pin Planning Lab Workbook
Conclusion
In this lab, you:
Used the I/O pin planning environment to explore device resources and define alternate compatible
devices for the design.
Imported, created, and configured I/O ports.
Created interfaces by grouping the related I/O ports together.
Used the semi-automatic placement modes to assign critical I/O ports to package pins. Placement of
the remaining I/O ports was done using automatic placement.
Exported and examined the I/O ports list, which can be used for HDL header or PCB schematic
symbol generation.
Opened a netlist-based project and placed GTXE, MMCM_ADV, and BUFG objects by using the logic
connectivity as a guide for correct placement.
Ran DRCs and noise analysis to validate legal I/O placement.
Updated the constraint files with the interactive assignments.
36 www.xilinx.com
1-877-XLX-CLAS
Lab Workbook Lab5: I/O Pin Planning
www.xilinx.com 37
1-877-XLX-CLAS