Nested Dynamic Function eXchange (DFX) is the concept of placing one or more dynamic regions within a dynamic region, subdividing a device to permit more granular reconfiguration. With this feature, you can segment a RP into smaller regions, each of which is partially reconfigurable. This greater depth of flexibility allows for RM of different sizes, shapes, and resource sets to be swapped on the fly. For example, a data center application could load one large RM in a region in a device, or two smaller independent functions in that same region; these two smaller functions could then be individually reconfigured as needed, resulting more efficient use of silicon resources.
Although there is no formal limit to the number of levels into which a device can be subdivided, the further you subdivide, the more difficult it is to place and route. Also, the more complex the levels become, the more complex the management of partial bitstreams become. Realistically, most designs on even the largest devices should not exceed three levels of reconfiguration.
Nested DFX is supported as follows. Only the Tcl-based non-project flow is supported in this release.
- UltraScale and UltraScale+ devices, including Zynq UltraScale+ MPSoC and RFSoC devices are supported.
- Versal devices are not currently supported.
- 7 series are not supported.