Jaor Ma Posted July 26 Report Share Posted July 26 I am trying to use +uvm_set_default_sequence to set default sequence to an parameterized sequence, but i didn't make it. Can anyone please help and show me what went wrong? The sequence is parameterized like below. class seq_a #(int param = 10) extends uvm_sequence; //`uvm_object_utils(seq_a) `uvm_object_param_utils(seq_a#(param)) function new(string name = "my_seq"); super.new(name); do_not_randomize = 1'b1; // Required for ModelSim set_automatic_phase_objection(1); endfunction task body; uvm_sequence_state_enum state = get_sequence_state(); // In UVM 1.1d: starting_phase.raise_objection(this); `uvm_info("SEQ_A", $sformatf("state is %s", state.name()), UVM_LOW); while ($time < 10us) begin #1us; `uvm_info("SEQ_A", $sformatf("[%d] ping at time %d", param, $time), UVM_LOW); end // In UVM 1.1d: starting_phase.drop_objection(this); endtask endclass And I added +uvm_set_default_sequence=*,main_phase,seq_a#(10) to VCS runtime option. Unfortunately, it went wrong, and log was like below. UVM_INFO @ 0: reporter [RNTST] Running test test... UVM_WARNING @ 0: reporter [UnknownTypeName] find_wrapper_by_name: Type name 'seq_a#(10)' not registered with the factory. UVM_ERROR @ 0: reporter [UVM_CMDLINE_PROC] Invalid type 'seq_a#(10)' provided to +uvm_set_default_sequence UVM_FATAL @ 0: reporter [BUILDERR] stopping due to build errors 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.