カミは死んだ

Paper Is Dead ... osz

UVM Cookbook 眺めてみた - The Test Is The Starting Point For The Build Process

はじめに

UVM Cookbookを眺めてみた、の続きです。今日はTestbenchのThe Test Is The Starting Point For The Build Processです。

The Test Is The Starting Point For The Build Process

  • UVMテストベンチのbuildプロセスはテストのクラスからトップダウンで始まるよ。
  • テストクラスのbuildメソッドはbuild phaseの中で一番最初にコールされてテストメソッドの設定でUVMテストベンチのビルドが決まるよ。
  • テストのbuildメソッドの機能はこんなだよ。
  • 検証環境において、buildメソッドではテストによらず全部同じことをするよ。
  • テストのbuildがどう実行されるかを説明するのに、ブロックレベルの検証環境を見てみるよ。
  • この例ではSPIマスターがDUTと接続されていて、2つのagentを持つよ。一つはAPBバスインタフェースで、もう一つがSPIインタフェースだよ。

Block Level UVM Test Bench - Hierarchical Layers

test---------------------------------------------
  env--------------------------------------------          -------------
     |Score|◇---◇|APB agent(monitor/SQR-Driver) <- IF -> | DUT
     |Board|◇---◇|SPI agent(monitor/SQR-Driver) <- IF -> |(SPI w/ APB)
     Configuration(apb config/spi config)

Factory Overrides

  • UVM factoryはあるUVMクラスを構成時に他の派生クラスで置き換えるよ。
  • この機能はコンポーネントの振る舞いの変更やアップデート、また、コンフィギュレーションオブジェクトを拡張するのに使えるよ。
  • factoryのオーバーライドはターゲットオブジェクトが構成されるまえに指定する必要があるよ。
  • なのでbuildプロセスの最初でやると便利だよ。

Sub-Component Configuration Objects