Step 8: Examine the Results with Highlighting Scripts - 2022.1 English

Vivado Design Suite Tutorial: Dynamic Function eXchange (UG947)

Document ID
UG947
Release Date
2022-05-31
Version
2022.1 English
With the routed configuration open in the IDE, run some visualization scripts to highlight tiles and nets. These scripts identify the resources allocated for Dynamic Function eXchange and are automatically generated.
  1. In the Tcl Console, issue the following commands from the \led_shift_count_us directory:
    source hd_visual/pblock_inst_shift_Routing_AllTiles.tcl
    
    highlight_objects -color green [get_selected_objects]
  2. Click somewhere in the Device view to deselect the frames (or enter unselect_objects), then issue the following commands:
    source hd_visual/pblock_inst_shift_Placement_AllTiles.tcl
    
    source hd_visual/pblock_inst_count_Placement_AllTiles.tcl
    
    highlight_objects -color blue [get_selected_objects]

    The partition frames appear highlighted in the Device view, as shown in the following figure.

    Figure 1. Reconfigurable Partition Frames Highlighted

    These highlighted tiles represent the configuration frames used for placement (blue) and routing (green) for each RM. The green tiles are sent to bitstream generation to create the partial bitstream (for inst_shift). The SNAPPING_MODE feature adjusted three of four edges of pblock_shift to account for alignment to programmable unit boundaries. This snapping behavior explains why it appears that static logic may appear to have been placed inside Reconfigurable Partitions, as seen in prior steps. In actuality, the effective boundary is one CLB row higher than the user-defined Pblock boundary indicates, so this static logic is placed correctly. This effective boundary can also be seen in the shading of the Pblock during creation, as shown in Step 5: Build the Design Floorplan.

    Note: RCLK rows matching the width of the Pblocks are included. Global clocks driving logic in these Reconfigurable Partitions are connected to the spines running through these rows and are enabled or disabled during Dynamic Function eXchange.

    The other “tile” scripts are variations on these. If you had not created Pblocks that vertically aligned to the clock region boundaries, the FrameTiles script would highlight the explicit Pblock tiles, while the AllTiles script extends those tiles to the full reconfigurable frame height. Note that these leave gaps where unselected frame types (such as global clocks) exist.

    The GlitchTiles script is a subset of frame sites, avoiding dedicated silicon resources; the other scripts are more informative than this one.

  3. Close the current design:
    close_project