Step 10: Partially Reconfiguring the FPGA - 2024.1 English

Vivado Design Suite Tutorial: Dynamic Function eXchange (UG947)

Document ID
UG947
Release Date
2024-06-12
Version
2024.1 English
The led_shift_count design targets one of four demonstration boards. The current design supports the KCU105, VCU108, KCU116, and VCU118 boards, revisions Rev 1.0 and newer.

Configuring the Device with a Full Image

  1. Connect the board to your computer using the Platform Cable USB and power on the board.
  2. From the main Vivado IDE, select Flow > Open Hardware Manger.
  3. Select Open target on the green banner. Follow the steps in the wizard to establish communication with the board.
  4. Select Program device on the green banner and pick the target device, e.g., xcku040_0.
  5. Navigate to the Bitstreams folder to select Config_RightUp.bit, then click OK to program the device.

    You should now see the bank of GPIO LEDs performing two tasks. Four LEDs are performing a counting-up function (MSB is on the left), and the other four are shifting to the right. Note the amount of time it took to configure the full device.

Partially Reconfiguring the Device

At this point, you can partially reconfigure the active device with any of the partial bitstreams that you have created, starting first with the appropriate clearing bitstream.

  1. UltraScale targets only: Select Program device on the green banner again. Navigate to the Bitstreams folder to select Config_RightUp_pblock_inst_shift_partial_clear.bit, then click OK to program the device.

    The shift portion of the LEDs stopped, but the counter kept counting up, unaffected by the reconfiguration. Note the much shorter configuration time, as well as the fact that the DONE LED turned off.

  2. Select Program device on the green banner again. Navigate to the Bitstreams folder to select Config_LeftDown_pblock_inst_shift_partial.bit, then click OK to program the device.

    The shift portion of the LEDs restarted in the opposite direction, and the DONE LED is back on.

  3. UltraScale targets only: Select Program device on the green banner again. Navigate to the Bitstreams folder to select Config_RightUp_pblock_inst_count_partial_clear.bit, then click OK to program the device.

    The count portion of the LEDs stopped, but the shifter kept shifting, unaffected by the reconfiguration.

  4. Select Program device on the green banner again. Navigate to the Bitstreams folder to select Config_LeftDown_pblock_inst_count_partial.bit, then click OK to program the device.

    The counter is now counting down, and the shifting LEDs were unaffected by the reconfiguration. This process can be repeated with the Config_RightUp partial bit files to return to the original configuration, or with the blanking partial bit files to stop activity on the LEDs (they will stay on). Keep track of the currently loaded module for each partition to ensure the correct clearing bitstream is loaded before the next partial bitstream.