Let's say I have the following DUT. The UVM environment contains a chain of models/predictors. Input data flows down this chain and generates the expected CHIP output, which is compared to actual.
Pros: verifies top-level functionality.
Cons: Does not verify block level functionality.
A good start, but I'd like to also verify the blocks in a system setting. So, I create block-level environments, then reuse them at the top level.
Awesome, but wait a minute. I still need the top-level verification (Input-to-Output) like in the first example. However, all 3 of my block predictors are being used in their corresponding environments' scoreboards, hooked up to the RTL, via agents.
How does one do both? Surely I'm not supposed to instantiate duplicate copies of my block level predictors to create the end-to-end model chain...
↧
block level verification in a system setting
↧