Formal methods can be used to fully verify IP blocks by describing functionality with formal properties, replacing UVM agents with "proof-kits". This allows bugs to be found early and verification is exhaustive compared to simulation. Challenges include relating formal metrics to coverage and managing proof run times, but end-to-end formal verification is well-suited for symmetric, control-dominated designs and can reduce verification effort versus traditional UVM approaches.