33design Analysis and Floorplanning
33design Analysis and Floorplanning
Abstract
This lab introduces how to floorplan a design using Pblocks in the Vivado® IDE.
This lab should take approximately 45 minutes.
Objectives
After completing this lab, you will be able to:
Perform early timing analysis and analyze results
Highlight critical timing paths
Hierarchically highlight placement results
Examine connectivity
Floorplan hierarchical instances
Introduction
The design analysis features enable early detection of potential design issues, exploration of al-
ternate devices, and floorplanning.
You can target alternate devices and choose the optimal device by analyzing device utilization
statistics. By running Design Rule Checks (DRCs), you can quickly resolve constraint conflicts that
would otherwise cause implementation errors. Logic can be explored in the Netlist, Hierarchy,
and Schematic views. A quick estimation of timing performance can be performed to assess de-
sign feasibility and identify potential problem areas. You can view, modify, or create constraints
in the design. You can analyze the design hierarchical connectivity and data flow as well as iden-
tify critical logic connectivity and clock domains.
Timing and placement results can be examined by using the various analysis capabilities in the
Vivado IDE. Placement can be highlighted by module. Timing paths can be highlighted and ex-
amined. These analysis capabilities can help identify problem logic or can be used to drive floor-
planning efforts.
A small sample design consisting of a RISC processor, FFTs, gigabit transceivers and two USB
port modules is used throughout this lab. A small design is used intentionally to allow the lab to
be run with minimal hardware requirements and enable timely completion of the labs, as well as
to minimize the shipped data size. It may not be the best candidate for performance improve-
ment through floorplanning, as typically the best results are seen with larger devices.
www.xilinx.com 1
© Copyright 2019 Xilinx
Lab Workbook Design Analysis and Floorplanning
This lab is intended to provide an introduction to various analysis, floorplanning and implemen-
tation features of the Vivado IDE. Do not put too much emphasis on specific aspects of this de-
sign. Focus on the processes and functionality of the Vivado IDE and how they might relate to
your specific designs.
General Flow
Step 1: Step 2: Step 3:
Step 4:
Analyzing Highlighting Exploring
Floor-
Post-Impl. Module Design Con-
planning
Results Placement nectivity
2-1. [Linux users]: Launch VirtualBox from the Start menu and start the
Ubuntu_VM virtual machine.
3-2. [Linux users]: Copy the files from the shared Windows folder to your
training directory using the following Linux command:
[host]$ source /media/sf_training/setup_TopicCluster.sh
floorplanning
If you do not recall how to perform these tasks, refer to the "Board, OS, COM,
and IP Address Tasks" section in the Lab Reference Guide.
www.xilinx.com 2
© Copyright 2019 Xilinx
Lab Workbook Design Analysis and Floorplanning
If you do not recall how to perform this task, refer to the "Opening a Vivado De-
sign Suite Project" section under Vivado Design Suite Operations in the Lab Ref-
erence Guide.
You can analyze timing results from the implementation to drive the
floorplanning effort. You can also use the path sorting and selection techniques
available in the Timing Results window with the STA report data.
Imported timing results sort the timing paths on a constraint-by-constraint basis. When
you select paths in the Timing Results view, the Path Properties view shows the details of
the timing path.
Because the placement and routing information is loaded in to memory, the path is
highlighted in the Device view. This visualization makes it easy to understand how to
take appropriate floorplanning steps to improve the timing.
12-11-5. Select the Device View if required. Disable the Show Cell Connections ( ) if needed.
After the Mark command is used, the red and green stars show the timing path start and
endpoints.
After the Mark command is run, the green mark shows the timing path start point, and
the red mark shows the timing path endpoint. The yellow mark shows the instances in
the timing path, such as LUT.
13-12-6. Press Shift and select all of the paths in PhyClk0. Do not select paths from the other
timing group.
14-13-7. Right-click and select Schematic.
The Schematic view shows all of the instances on the selected paths.
www.xilinx.com 3
© Copyright 2019 Xilinx
Design Analysis and Floorplanning Lab Workbook
15-14-8. Right-click and select Select Leaf Cell Parents in the Schematic view to select the
smallest parent modules that contain all of the instances in the selected paths.
Notice that the corresponding logic modules are selected in the Netlist view.
16-15-9. Select the Device tab to switch to the Device view.
4 www.xilinx.com
© Copyright 2019 Xilinx
Lab Workbook Design Analysis and Floorplanning
22-20. Highlight the modules with cycling colors to easily view placement.
23-21-14. Select both usbEngine0 and usbEngine1 in the Netlist view by using the Shift or
Ctrl key.
24-22-15. Right-click and select Highlight Leaf Cells > Cycle Colors.
25-23-16. Select the Device tab to view the highlighting.
The primitives in each module are highlighted in a different color.
Notice the wide dispersal of the primitives. Scroll around and change the zoom level.
Notice that many of the instances are block RAMs. These might benefit from floorplan-
ning to improve timing.
26-24. Simplify the device view.
27-25-17. Click the Settings icon in the top-right corner of the Device window.
28-26-18. Uncheck the box next to Cells in the Layers tab.
www.xilinx.com 5
© Copyright 2019 Xilinx
Design Analysis and Floorplanning Lab Workbook
Various elements of the netlist or elements of the device can be hidden to make the De-
vice window easier to interpret.
29-27-19. Click the Settings icon in the Device window again, if required.
30-28-20. Check the box next to Cells to get the placement back.
31-29-21. Click View > Unselect All, or press <F12>.
35-32-23. Click the Settings icon in the top-right corner of the Device window.
36-33-24. Click the General Tab.
37-34-25. Click and enable the Show I/O Nets if it is not already selected.
Green lines show the connectivity from the placed logic to the I/O pins.
6 www.xilinx.com
© Copyright 2019 Xilinx
Lab Workbook Design Analysis and Floorplanning
Note: If the Routing Resources icon is enabled, you will not be able to see the Show
I/O Nets icon.
Notice that the I/O lines on the bottom left of the chip cross to the right side of the chip.
38-35-26. Inspect the Netlist view.
39-36-27. Click Collapse All in the Netlist view.
40-37-28. Press the Shift key and select usbEngine0 and usbEngine1.
41-38-29. Right-click and select Show Connectivity.
www.xilinx.com 7
© Copyright 2019 Xilinx
Design Analysis and Floorplanning Lab Workbook
Notice that the interface nets that connect usbEngine0 and usbEngine1 to the rest of the
design are highlighted. The I/O nets are shown in green.
42-39-30. Right-click in the Device window and select Show Connectivity again to select
all of the logic objects that these nets connect to.
43-40-31. Right-click In the Device window and select Show Connectivity once again to
highlight all of the nets that fanout from those selected logic objects.
You can use the Show Connectivity command to highlight or select a cone of logic from
any source net or logic object.
44-41-32. Click View > Unselect All, or press <F12>.
8 www.xilinx.com
© Copyright 2019 Xilinx
Lab Workbook Design Analysis and Floorplanning
www.xilinx.com 9
© Copyright 2019 Xilinx
Design Analysis and Floorplanning Lab Workbook
54-50-40. Click No in the Assign Cells to Pblock dialog box to disallow the clearance of the
location constraints that fall outside of the Pblock.
10 www.xilinx.com
© Copyright 2019 Xilinx
Lab Workbook Design Analysis and Floorplanning
www.xilinx.com 11
© Copyright 2019 Xilinx
Design Analysis and Floorplanning Lab Workbook
12 www.xilinx.com
© Copyright 2019 Xilinx
Lab Workbook Design Analysis and Floorplanning
In Complexity mode, the command performs complex analysis of the current design and
reports the rent exponent, which is a measure of complexity (a higher rent indicates
higher complexity), the average fanout, and the total primitives used in the design.
Summary
Here you used the Vivado IDE to explore and analyze the implemented design and then floor-
planned the timing critical hierarchy.
After running the design through the synthesis and implementation tools, you:
Viewed implementation results and examined timing results.
Analyzed critical path objects in the schematic and selected the parent modules of those
path objects.
Highlighted module placement and displayed the connectivity of the modules using the
Show Connectivity command.
Analyzed placement and routing of critical timing paths.
14 www.xilinx.com
© Copyright 2019 Xilinx
Lab Workbook Design Analysis and Floorplanning
Answers
Since there were no questions in this lab, this section is intentionally left blank.
www.xilinx.com 15
© Copyright 2019 Xilinx