AN 953: Partially Reconfiguring a Design: on an Intel Agilex® 7 FPGA Development Board

ID 683849
Date 1/30/2024
Public

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 blinking_led_default as 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 blinking_led_default implementation revision, click Project > Add/Remove Files in Project. Ensure that the blinking_led.sv file appears in the file list.
    Figure 8. Files Page
  3. Repeat steps 1 through 2 for each implementation revision to add and verify the correct 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 .qsf command assigns this file to the root partition:
    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 the blinking_led_default revision:
    quartus_sh --flow compile blinking_led –c blinking_led_default
  7. Repeat the above command to compile 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.