AN 953: Partially Reconfiguring a Design: on an Intel® Agilex® F-Series FPGA Development Board

ID 683849
Date 7/23/2021
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Step 7: Preparing PR Implementation Revisions

You must prepare the PR implementation revisions before you can compile and 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.
  1. To set the current revision, click Project > Revisions, select blinking_led_default as the Revision name, and then click Set Current.
  2. To verify the correct source for each implementation revision, click Project > Add/Remove Files in Project. The blinking_led.sv file appears in the file list.
    Figure 8. Files Page
  3. Repeat steps 1 through 2 to verify the other implementation revision source files:
    Implementation Revision Name Source File
    blinking_led_default blinking_led.sv
    blinking_led_empty blinking_led_empty.sv
    blinking_led_slow blinking_led_slow.sv
  4. To verify the .qdb file associated with the root partition, click Assignments > Design Partitions Window. Confirm that the Partition Database File specifies the blinking_led_static.qdb file, or double-click the Partition Database File cell to specify this file.
    Alternatively, the following command assigns this file:
    
    set_instance_assignment -name QDB_FILE_PARTITION \
    	blinking_led_static.qdb -to |
  5. In the Entity Re-binding cell, specify the entity name of each PR partition that you change in the implementation revision. For the blinking_led_default implementation revision, the entity name is blinking_led. In this tutorial, you overwrite the u_blinking_led instance from the base revision compile with the new blinking_led entity.
    Note: A placeholder entity rebinding assignment is added to the implementation revision automatically. However, you must change the default entity name in the assignment to an appropriate entity name for your design.
    Implementation Revision Name Entity Re-binding
    blinking_led_default blinking_led
    blinking_led_slow blinking_led_slow
    blinking_led_empty blinking_led_empty
    Figure 9. Entity Rebinding

    Verify that each of the following lines now exists in the appropriate .qsf:

    ##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
  6. To compile the design, click Processing > Start Compilation. Alternatively, the following command compiles this project:
    quartus_sh --flow compile blinking_led –c blinking_led_default
  7. Repeat the above steps to prepare blinking_led_slow and blinking_led_empty revisions:
    quartus_sh --flow compile blinking_led –c blinking_led_slow
    quartus_sh --flow compile blinking_led –c blinking_led_empty
    Note: You can specify any Fitter specific settings that you want to apply during the PR implementation compilation. Fitter specific settings impact only the fit of the persona, without affecting the imported static region.