Thanks for your detail information and great help.
From your feedback,it seems:
m_scenario_controller = controller_1_ptr;
m_scenario_controller = controller_2_ptr;
To implement this,
scenario it should know which specific controller will he talking to and when he will talk to this controller.that means you will use hierarchical handle of controller for controller_1_ptr and controller_2_ptr.
Right?Is it ok to use configuration in scenarios?if yes,we can use configuration in Test level to get the low controller handle and assign to scenarios.Otherwise,it's not a reuse rule we expected.
2.Thanks for your detail information of parents argument.it will use to manage the hierarchical scenarios lock...unlock....
3.Thanks for your conclusion.
4.What I mean here is,
Separate the item generation and sequential item generation from "Packet" Factory.
what i thought is(Maybe it will not be possible.....)
I will create a Ethernet Factory,it know how to generate a Ethernet Packet(Single).Every time,you(scenario) tell him,one item will generate.
I will create a Ethernet Scenarios,it tell what type of Ethernet I want.
Also I will create other Ethernet Scenario,it tell Ethernet Factory how to generate a sequential Ethernet item,A->B->C->A.
If we use ovm component to create this type of Ethernet Generator and register it in the Factory.
Then when we use type override..........?
Is it possible? or type override only use in hierarchical TB side not in Scenarios part..?
5.how to define the algorithm for scenarios controller?
because how to choose a scenario is base on controller's algorithm.
so whether is it possible to customize the algorithm of controller is very important.
6.what i mean here is.
is ovm_scenario_drive can do like mailbox do?
mailbox may copy the data.
mailbox may try to get the data,that means no blocking.
try_copy is mean,try to copy a data and no blocking.
is it possible?
Thank you very much!