Für den Test sind eine Reihe einzelner DMA-Transfers zu erzeugen. Die Testszenarien werden ebenso wie primitive Operationen innerhalb der Aktionen beschrieben. Da die Testszenarien selbst aus Aktionen bestehen, wird ein Aktivitätsdiagramm (Stichwort: Activity), zur Regelung der Beziehungen zwischen den Unteraktionen, hinzugefügt (Bild 5).
Wichtig ist dabei die Deklaration einer Aktion simple_xfer innerhalb einer Komponente (Bild 6). Die Komponente enthält eine Instanz der Komponente wb_dma_c, welche die Aktion do_dma deklariert. Die Aktion simple_xfer wiederholt die Aktion do_dma 256 Mal.
Die Tests sind erweiterbar, beispielsweise um zwei Back-to-Back-DMA-Transfers durchzuführen. Es sollen unterschiedliche Kanäle für beide Transfers genutzt werden. Die Zufallsfelder Aktionsinstanz werden aus einer höheren Hierarchie beschränkt, was bei Verwendung einer gezielten Zufallsfolge eine Herausforderung darstellt.
Die PSS-Type Extension-Fähigkeit bindet Aktionen ohne Aktions- oder Komponentenmodifikation an die UVM-Testbench.
In der UVM-Testbench wird der Stimulus von einer UVM-Sequenz erzeugt, die Sequenz-Items wb_dma_descriptor generiert. Die PSS-Beschreibung soll in eine UVM-Sequenz integriert werden und ebenfalls Sequenz-Items wb_dma_descriptor generieren (Bild 7), allerdings mit PSS-spezifizierten Feldwerten, anstatt mit regulärem Constrained-Random-SystemVerilog Stimuli. PSS-Pakete bündeln die Details der Umgebung. Ein Paket bindet die Details ein, mit denen die Aktion do_dma in die UVM-Sequenz integriert wird. Es wird in der Sequenz ein Task do_item erwartet, das ein Sequenzitem wb_dma_descriptor akzeptiert und ausführt.
Das Import-Statement spezifiziert die Signatur dieser externen Methode.
Nun wird spezifiziert, wie die Aktion do_dma diese importierte Methode ausführt. PSS stellt Exec-Blöcke zur Verfügung zur Spezifizierung der Beziehung zwischen PSS-Einheiten und externem Code. Der Body-Typ eines Exec-Blocks deklariert das Verhalten während der Ausführungszeit (gleichsam dem Body-Task in der UVM-Sequenz). Hier wird festgelegt, dass die Aktion do_dma während der Ausführungszeit, das Feld wb_dma_descriptor an den Task do_item übergibt (Bild 8).
Damit ist der Vorgang abgeschlossen. Die neue PSS-UVM-Sequenz steuert nun die UVM-Testbench, allerdings unter viel effizienterer Ausführung der DMA-Transfermodi.