AN 987: Static Update Partial Reconfiguration Tutorial: for Intel Agilex® 7 FPGA Development Board

ID 749443
Date 1/16/2024

1.5.3. Step 3: Allocate Placement and Routing Regions

For every base revision that you create, the Compiler uses the PR partition region allocation to place the corresponding persona core in the reserved region. Follow these steps to locate and assign a PR region in the device floorplan for your base revision:
  1. In the Project Navigator Hierarchy tab, right-click the u_blinking_led instance, and then click Logic Lock Region > Create New Logic Lock Region. The region appears in the Logic Lock Regions window.
  2. Specify a region Width of 5 and Height of 5.
  3. Double-click the u_blinking_led Region Name cell and rename it to pr_partition.
  4. Specify the placement region coordinates for u_blinking_led in the Origin column. The origin corresponds to the lower-left corner of the region. Specify the Origin as X166_Y199. The Compiler calculates (X170 Y203) as the top-right coordinate.
  5. Enable the Reserved and Core-Only options for the region.
  6. Double-click the Routing Region option. The Logic Lock Routing Region Settings dialog box appears.
  7. For the Routing Type, select Fixed with expansion. This option automatically assigns an Expansion length of one.
  8. Repeat the previous steps to allocate the following resources for the u_top_counter partition:
    • Region Namesupr_partition
    • Height5
    • Width5
    • OriginX173_Y199
    • Routing RegionFixed with expansion with Expansion length of one.
    • ReservedOn
    • Core-OnlyOn
    Figure 6. New Regions in Logic Lock Regions Window
    Note: The routing region must be larger than the placement region, to provide extra flexibility for the Compiler's routing stage, when the Compiler routes different personas.
  9. Your placement region must enclose the blinking_led logic. To select the placement region by locating the node in Chip Planner, right-click the u_blinking_led region name in the Logic Lock Regions window, and then click Locate Node > Locate in Chip Planner.
  10. Under Partition Reports, double-click Report Design Partitions. The Chip Planner highlights and color codes the region.
    Figure 7. Chip Planner Node Location for blinking_led

    Alternatively, adding the following lines to blinking_led.qsf creates these regions:

    set_instance_assignment -name PARTITION pr_partition -to \
         u_blinking_led -entity top
    set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION ON \
         -to u_blinking_led -entity top
    set_instance_assignment -name PARTITION supr_partition -to u_top_counter \
         -entity top
    set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION ON -to \
         u_top_counter -entity top
    set_instance_assignment -name PLACE_REGION "X166 Y199 X170 Y203" -to \
    set_instance_assignment -name RESERVE_PLACE_REGION ON -to u_blinking_led
    set_instance_assignment -name CORE_ONLY_PLACE_REGION ON -to u_blinking_led
    set_instance_assignment -name REGION_NAME pr_partition -to u_blinking_led
    set_instance_assignment -name ROUTE_REGION "X165 Y198 X171 Y204" -to \
    set_instance_assignment -name RESERVE_ROUTE_REGION OFF -to u_blinking_led
    set_instance_assignment -name PLACE_REGION "X173 Y199 X177 Y203" -to \
    set_instance_assignment -name RESERVE_PLACE_REGION ON -to u_top_counter
    set_instance_assignment -name CORE_ONLY_PLACE_REGION ON -to u_top_counter
    set_instance_assignment -name REGION_NAME supr_partition -to u_top_counter
    set_instance_assignment -name ROUTE_REGION "X172 Y198 X178 Y204" -to \
    set_instance_assignment -name RESERVE_ROUTE_REGION OFF -to u_top_counter