HDL
Documentation

Version Latest

ECO and partial reconfiguration

Engineering change orders on a routed Vivado checkpoint, recorded with a replay script, and reconfigurable partitions built with Vivado Dynamic Function Exchange or Quartus Prime Pro partial reconfiguration.

State: not yet run against Vivado or Quartus Prime Pro; kit shipped. The generators and readers are tested on real report_route_status output and a Vivado log from public projects; the pr_verify and partial-bitstream sample text was written by us in Vivado's layout, as no permissively licensed log was found. Nothing is verified on Windows.

Vivado ECO

In the persistent Vivado session, on a routed checkpoint, the ECO section of the Timing Analysis editor (or the commands below) changes the design in Vivado's memory and records each change:

CommandWhat it does
Vivado ECO: Change a LUT Equation...Sets a LUT's equation; the INIT value is worked out by the Editor
Vivado ECO: Connect Pins to a Net...Changes a net connection
Vivado ECO: Probe a Net...Connects a net to a debug probe
Vivado ECO: Release a Probe Input...Releases a debug probe input
Vivado ECO: Route Changed Netsroute_design -nets on the changed nets (or route the whole design)
Vivado ECO: Report DRCreport_drc on the changed design, with report_route_status
Vivado ECO: Write CheckpointWrites the changed design as a checkpoint
Vivado ECO: Write Bitstream...Writes the bitstream and debug probes, after a confirmation; refused until the changes are routed and DRC shows no error
Vivado ECO: Open Change LogOpens the ECO's record

Each change shows the netlist before and after. Each ECO is recorded in the build folder (eco/<target>/) as eco.json, a change log and a replay script. Changes, routing, checkpoints and bitstreams ask you to confirm.

State: kit shipped; route_design -nets comes from search results and is checked by the kit.

Dynamic Function Exchange and partial reconfiguration

Reconfigurable partitions are declared once in a target's reconfiguration block in hdl.json (Vivado or Quartus targets only):

  • partitions: each with its name, instance, and a Pblock (Vivado) or a region with place and route bounds (Quartus);
  • modules: the reconfigurable modules of each partition;
  • configurations: each a named set of modules, one per partition.

Build Partial Reconfiguration Configurations builds them, and Stop Partial Reconfiguration Build stops a running build:

VendorFlow
VivadoThe DFX non-project flow: out-of-context modules, HD.RECONFIGURABLE and Pblocks, lock_design, pr_verify, full and partial bitstreams
Quartus Prime ProIts PR revision flow: a base revision, one implementation revision per persona, an .rbf per partition

Each configuration is a run in the Implementation Runs editor, with its worst slack, slowest clock, logic and bitstreams, the pr_verify verdict, and each step's log.

State: kit shipped; create_revision and quartus_cpf for .pmsf come from search results and are checked by the kit.

Last reviewed 17 October 2026View as Markdown

ECO and partial reconfiguration · Docs · Neural Inverse