omahesh Posted September 5, 2012 Report Share Posted September 5, 2012 Hi everyone, I'm trying to run below testcase; class mdio_normal_test extends uvm_test; mdio_env env_0; mdio_sequencer sequencer_0; `uvm_component_utils(mdio_normal_test) function new(string name = "mdio_normal_test",uvm_component parent = null); super.new(name,parent); endfunction virtual function void build_phase(uvm_phase phase); super.build_phase(phase); env_0 = mdio_env::type_id::create("env_0",this); //set_config_int("env_0.agent_0","is_active",UVM_ACTIVE); endfunction : build_phase function void end_of_elaboration_phase(uvm_phase phase); $cast(sequencer_0,this.env_0.agent_0.sequencer); sequencer_0.count = 1; endfunction:end_of_elaboration_phase task run_phase(uvm_phase phase); mdio_normal_seq inst_mdio_normal_seq; phase.raise_objection(this); inst_mdio_normal_seq = mdio_normal_seq::type_id::create("inst_mdio_normal_seq"); void'(inst_mdio_normal_seq.randomize()); inst_mdio_normal_seq.start(env_0.agent_0.sequencer); #1us; phase.drop_objection(this); endtask endclass After compiling it is showing the following error; ////////////////////////// *F,CUVUNF (/home/tools/cadence102/tools/uvm-1.1/src/seq/uvm_sequencer_param_base.svh,294|24): Hierarchical name component lookup failed at 'set_sequence_id'. ///////////////////////// can anyone help me in this regard? regards, mahee Quote Link to comment Share on other sites More sharing options...
whiteriver Posted September 5, 2012 Report Share Posted September 5, 2012 (edited) I'm not familiar with the sequencer being declared in the run_phase, but apart from this, I don't see the sequence being registered to the sequencer. In the build_phase there should be something like: uvm_config_db#(uvm_object_wrapper)::set(this, "*my_tb.my_env.my_agent.sequencer.run_phase", "default_sequence", a_test_sequence::type_id::get()); Edited September 5, 2012 by whiteriver Quote Link to comment Share on other sites More sharing options...
jadec Posted September 6, 2012 Report Share Posted September 6, 2012 This error is triggered by creating a parameterized sequencer using a type that it not a subclass of uvm_sequence_item. For example, "uvm_sequencer#(uvm_object)". 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.