Integrated circuits often contain registers for storing register states. A typical integrated circuit may hold hundreds or thousands of register states during normal operation of the integrated circuit.
During debugging operations (as an example), it would be very time consuming to have to exhaustively monitor all of the register states on the integrated circuit. As another example, during retiming operations, it would be very time consuming to have to check the performance impact of moving every single register on the integrated circuit. As yet another example, it would be very inefficient to have to transfer all register states from one integrated circuit to another during a live migration event (i.e., an event where running of an application is transferred from one computing resource to another).
It is within this context that the embodiments described herein arise.