Run the FullAncillaAllocation pass on dag.
Extend the layout with new (physical qubit, virtual qubit) pairs. The dag signals which virtual qubits are already in the circuit. This pass will allocate new virtual qubits such that no collision occurs (i.e. Layout bijectivity is preserved)
The coupling_map and layout together determine which physical qubits are free.
dag (DAGCircuit) – circuit to analyze
returns the same dag circuit, unmodified
TranspilerError – If there is not layout in the property set or not set at init time.