AN 869: Partially Reconfiguring a Design: on Intel® Cyclone® 10 GX FPGA Development Board

ID 683503
Date 7/15/2019
Public

Step 3: Allocating Placement and Routing Region for a PR Partition

For every base revision you create, the PR design flow uses your PR partition region allocation to place the corresponding persona core in the reserved region. To locate and assign the PR region in the device floorplan for your base revision:

  1. Right-click the u_blinking_led instance in the Project Navigator and click Logic Lock Region > Create New Logic Lock Region.
  2. To view the Logic Lock in the Chip Planner floorplan, right-click the Region Name, and then click Locate Node > Locate in Chip Planner.
    Figure 5.  blinking_led in Chip Planner
  3. To define the properties of the Logic Lock region, click Assignments > Logic Lock Regions Window.
  4. Specify the placement region co-ordinates in the Origin column. The origin corresponds to the lower-left corner of the region. For example, to set a placement region with (X1 Y1) co-ordinates as (81 15), specify the Origin as X81_Y15. The Intel® Quartus® Prime software automatically calculates the (X2 Y2) co-ordinates (top-right) for the placement region, based on the height and width you specify.
    Note: This tutorial uses the (X1 Y1) co-ordinates - (81 15), and a height and width of 20 for the placement region. Define any value for the placement region, as long as the region covers the blinking_led logic.
  5. Enable the Reserved and Core-Only options.
  6. Double-click the Routing Region option. The Logic Lock Routing Region Settings dialog box appears.
  7. Select Fixed with expansion for the Routing type and click OK. Selecting this option automatically assigns an expansion length of 1.
    Note: The routing region must be larger than the placement region, to provide extra flexibility for the Fitter when the engine routes different personas.
  8. To ensure reliable operation with PR and EDCRC, create a floorplan assignment to reserve the unusable device resources at row Y=59. Use the Logic Lock Regions Window to define an empty reserved region, or add the following .qsf assignment:
    set_instance_assignment -name EMPTY_PLACE_REGION /
         "X0 Y59 X102 Y59-R:C-empty_region" -to |
    Figure 6. Empty Logic Lock Region
Verify that the blinking_led.qsf contains the following assignments, corresponding to your floorplanning:
set_instance_assignment -name PLACE_REGION "X81 Y15 X100 Y34" -to u_blinking_led
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 u_blinking_led -to u_blinking_led
set_instance_assignment -name ROUTE_REGION "X80 Y14 X101 Y35" -to u_blinking_led
set_instance_assignment -name RESERVE_ROUTE_REGION OFF -to u_blinking_led
set_instance_assignment -name EMPTY_PLACE_REGION /
     "X0 Y59 X102 Y59-NR:C-empty_region" -to |