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

ID 749443
Date 1/16/2024
Public

1.5.7. Step 7: Set Up PR Implementation Revisions

You must prepare the PR implementation revisions before you can generate the PR bitstream for device programming. This setup includes adding the static region .qdb file as the source file for each implementation revision. In addition, you must specify the corresponding entity of the PR region.

Follow these steps to setup the PR implementation revisions:

  1. To set the current revision, click Project > Revisions, select blinking_led_default as the Revision name, and then click Set Current. Alternatively, you can select the current revision on the main Intel® Quartus® Prime toolbar.
  2. To verify the correct source for this implementation revision, click Project > Add/Remove Files in Project. Confirm that the blinking_led.sv file appears in the file list.
  3. To verify the correct source file for the implementation revisions, click Project > Add/Remove files in Project, and add the following source files for the implementation revisions. If present, remove blinking_led.sv from the list of project files.
    Implementation Revision Name Source File
    blinking_led_empty blinking_led_empty.sv
    blinking_led_slow blinking_led_slow.sv
  4. Set blinking_led_default as the Current Revision.
  5. To specify the .qdb file as the source for root_partition, click Assignments > Design Partitions Window. Double-click the Partition Database File cell and specify the blinking_led_static.qdb file.
  6. Similarly, specify blinking_led_supr_partition_final.qdb as the Partition Database File for supr_partition.
    Figure 10. 
    Alternatively, use the following .qsf assignments to specify the .qdb:
    set_instance_assignment -name QDB_FILE_PARTITION \
         blinking_led_static.qdb -to |
    set_instance_assignment -name QDB_FILE_PARTITION \
         blinking_led_supr_partition_final.qdb -to u_top_counter
  7. In the Design Partitions Window, click the () adjacent to the farthest right column and enable the Entity Re-binding column.
  8. In the Entity Re-binding cell, specify the new entity name for the PR partition you are changing in the current implementation revision. For the blinking_led_default implementation revision, the entity name is blinking_led. In this case, you are overwriting the u_blinking_led instance from the base revision compile with the new entity blinking_led. For other implementation revisions, refer to the following table:
    Revision Entity Re-binding Value
    blinking_led_slow blinking_led_slow
    blinking_led_empty blinking_led_empty
    Figure 11. Entity Rebinding
    Alternatively, you can use the following lines in each revision's .qsf to set the assignments:
    ##blinking_led_default.qsf
    set_instance_assignment -name ENTITY_REBINDING blinking_led \
         -to u_blinking_led
    ##blinking_led_slow.qsf
    set_instance_assignment -name ENTITY_REBINDING blinking_led_slow \
         -to u_blinking_led
    ##blinking_led_empty.qsf
    set_instance_assignment -name ENTITY_REBINDING blinking_led_empty \
         -to u_blinking_led
  9. Delete the place_holder text from the Entity Re-binding cell for supr_partition.
  10. To compile the design, click Processing > Start Compilation. Alternatively, use the following command to compile this project:
    quartus_sh --flow compile blinking_led –c blinking_led_default
  11. Repeat steps 4 through 11 to prepare and compile the blinking_led_slow and blinking_led_empty implementation revisions.