Verification of a generic arbiter, what approach is better: formal verification or dynamic verification?

Hi VA,

What approach (formal/dynamic) is preferred for verifying a generic arbiter?
Could you elaborate what are the cons/pros of each method?
What can be missed in case I am writing a dynamic verification environment for the arbiter?

In general, I would like to start learning formal verification methods.
From where should I start?
Any good online course? Book? Videos?

Thanks,
Michael

In reply to Michael54:

Formal Verification.

Once you adopt formal verification, that should be your default choice unless there is something preventing it (and there are a lot of situations where formal won’t work, like not having a complete synthesizable design).

https://verificationacademy.com/courses/assertion-based-verification

In reply to dave_59:

Thanks for the answer Dave!

Since we don’t have a formal verification engineer/expert in the group.
And we would like to start writing a dynamic/functional verification env for the arbiter,
what may it miss in the verification of the arbiter?
Could anyone contribute from his experience/knowledge? To what should we pay attention?

Thanks,
Michael