sdjun2 Posted July 5, 2013 Report Share Posted July 5, 2013 In the Layered Sequencers,As shown in the figure below, I want to use multiple lower layer sequencers(1,2,3) in parallel.Is it possible?If possible, Can you tell me how do I implement? Sequencer(Upper) +-----> Sequencer(Lower1) ----> Driver +-----> Sequencer(Lower2) ----> Driver +-----> Sequencer(Lower3) ----> Driver Quote Link to comment Share on other sites More sharing options...
uwes Posted July 9, 2013 Report Share Posted July 9, 2013 hi, there are multiple ways to do that. the easiest is to use a virtual sequence (one without a driver) which drives the sequences on Lower1,Lower2,Lower3 and have the subsequences started in a fork/join. class UpperVseq ... someSeq Lower1; someSeq Lower2; someSeq Lower3; task body(); fork `uvm_do_on(Lower1sqr,Lower1) `uvm_do_on(Lower2sqr,Lower2) `uvm_do_on(Lower3sqr,Lower3) join endtask Quote Link to comment Share on other sites More sharing options...
sdjun2 Posted July 10, 2013 Author Report Share Posted July 10, 2013 Thank you for reply.I understood about how to fork/join in virtual sequence. I was considering that I used to drive at the same time multiple lines in the Agent, this technology. The following is an example of multiple lines environment.This figure shows that the Agent is to distribute the data to the multiple lines. +-------------+ line 1 +-----------+ | +------------>+ | Data | | line 2 | | -----> | Agent +------------>+ DUT | | | line 3 | | | +------------>+ | | | line N | | | +------------>+ | +-------------+ +-----------+ Q1 In the case of the above, I was thinking of the following configuration, does this violate the concept of UVM?Q2 Is it possible in the UVM implementation like this?Q3 Is there a configuration of UVM a recommendation of when driving on Agent multiple lane like this? +---------------------------------------------------------------------------------------------+ +-------+ | Agent +---------------------------+ | | | | | +------+ | +--------------------------+ +----------+ | line 1 | | Data | | | |----->|Sequencer(Lower1)|-->|Driver 1 |--+----------+ | -----> | | | | | +--------------------------+ +----------+ | | DUT | | | Main |Dis | | +---------------------------+ +----------+ | line 2 | | | |Sequencer | tri |----->|Sequencer(Lower2)|-->|Driver 2 |--+----------+ | | | (Upper) |bute | | +---------------------------+ +----------+ | | | | | | | | +---------------------------+ +----------+ | line N | | | | | |----->|Sequencer(LowerN)|-->|Driver N |--+----------+ | | | +------+ | +---------------------------+ +-----------+ | | | | +--------------------------+ | | | +----------------------------------------------------------------------------------------------+ +-------+ - Sequenser(Upper and Lower) to describe the behavior of the model. - Driver drives the line. Quote Link to comment Share on other sites More sharing options...
uwes Posted July 11, 2013 Report Share Posted July 11, 2013 hi, this is a typical configuration/setup when one virtual sequence drives multiple lower level entities in parallel. there might be slight variations depending upon the exact properties of your environment. One thing you should be looking at is the translation/ending model of the upper/N*lower conversion. does one upper item translate into N same sized lower items? do the lower items complete at the same time? if its not guaranteed that they end at the same time then is there q requirement that driverX operates in back-to-back mode (no gaps between lower items on a line)? /uwe Quote Link to comment Share on other sites More sharing options...
Martin Borja Posted July 17, 2013 Report Share Posted July 17, 2013 Hi, I have a somewhat similar problem though it's more about the use of virtual sequencers to control both non-virtual and virtual sequencers. I created a post that you could follow with this link: http://forums.accellera.org/topic/1356-how-to-use-virtual-sequencers-to-control-both-non-virtual-sub-sequencers-and-virtual-sub-sequencers/?hl=%2Bvirtual+%2Bsequencer I look forward to your inputs guys. Thanks, Martin Quote Link to comment Share on other sites More sharing options...
sdjun2 Posted July 22, 2013 Author Report Share Posted July 22, 2013 Hi uwes. Thank you for reply. I understand that it is within the scope of the concept of UVM. Answer to the question is as follows. Q1. does one upper item translate into N same sized lower items?A1. Yes. Q2. do the lower items complete at the same time?A2. Yes. Q3.if its not guaranteed that they end at the same time then is there q requirement that driverX operates in back-to-back mode (no gaps between lower items on a line)?Q3. No there is not. Thanks, sdjun2 Quote Link to comment Share on other sites More sharing options...
sdjun2 Posted July 22, 2013 Author Report Share Posted July 22, 2013 Hi Martin Borja Thank you for advice. When you have a configuration similar, I now know that an error has occurred something. I will check the answer to the question. Thanks, sdjun2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.