Test Engine FPGA IP User Guide: Agilex™ 5 and Agilex™ 7 FPGAs

ID 817758
Date 7/08/2024
Public
Document Table of Contents

5.3.1.1.7. tut7_driver_sync

Usage

def traffic_patterns.MemAxi4DriverPrograms.tut7_driver_sync (self)

Description

Synchronize across drivers.

In this demo every pair of drivers synchronize between each other, and finally all the drivers sync up before executing the final instruction.

    // Graph representation of the synchronized traffic sequence between a pair of drivers
    // Syntax: https://graphviz.org/doc/info/lang.html
    digraph progs_mem_axi4_driver_driver_sync {
       // common graph properties
       rankdir="LR";
       // common node properties
       node [fontname=Helvetica fontsize=10];
       // nodes
       a         [label="Even driver"];
       b         [label="Odd driver"];
       a_wr1     [label="Write 1s" shape=box];
       a_wr2     [label="Write 2s" shape=box];
       a_wr4     [label="Write 4s" shape=box];
       a_wr5     [label="Write 5s" shape=box];
       a_post1   [label="POST" shape=box style=filled fillcolor=green];
       a_wait2   [label="WAIT" shape=box style=filled fillcolor=yellow];
       a_post3   [label="POST" shape=box style=filled fillcolor=green];
       a_wait4   [label="WAIT" shape=box style=filled fillcolor=yellow];
       b_wr2     [label="Write 2s" shape=box];
       b_wr3     [label="Write 3s" shape=box];
       b_wr5     [label="Write 5s" shape=box];
       b_wait1   [label="WAIT" shape=box style=filled fillcolor=yellow];
       b_post2   [label="POST" shape=box style=filled fillcolor=green];
       b_post3   [label="POST" shape=box style=filled fillcolor=green];
       b_wait4   [label="WAIT" shape=box style=filled fillcolor=yellow];
       // edges
       a -> a_wr1 -> a_post1 -> a_wr2 -> a_wait2 -> a_wr4 -> a_post3 -> a_wait4 -> a_wr5;
       b -> b_wait1 -> b_wr2 -> b_wr3 -> b_post2 -> b_post3 -> b_wait4 -> b_wr5;
       a_post1 -> b_wait1;
       b_post2 -> a_wait2;
       a_post3 -> b_wait4;
       b_post3 -> a_wait4;
    }