Layered stimulus generation for multi-lane protocols

Hi there,

Is there a “standard way” or best practice for generating stimulus using layered stimulus for multi-lane protocols? I’m thinking of protocols where data is distributed across multiple physical channels in, say, a round-robin basis.

My main concern is how to synchronize the 1-to-many generation across multiple lanes when the individual lane drivers are individually pulling lane-level sequences from the layering sequence; each one isn’t guaranteed to ask the translating sequence at the same time.

I see there is a hint that uvm_barrier_pools might be useful in Doulos’ Easier UVM; using a push model is another potential solution, and maybe a TLM approach rather than layered sequences might be another solution.

I’m guessing due to the prevalence of multi-lane protocols (Ethernet, PCIe etc.) that this is a problem that has been solved a number of times - hopefully someone can provide some insight into this.

Thanks
Gareth