venravi Posted July 19, 2011 Report Posted July 19, 2011 Hi, While migrating code base from 1.0EA to 1.0p1 I am having issues registering sequences to the virtual sequencer. In 1.0ea sequences were registered to virtual sequencer with the following macro. `uvm_sequence_utils(BufferingVirtualSeq, RtrVirtualSequencer) The sequence was registered in 1.0ea. Part of the migration I had to change the macro to the following. `uvm_object_utils(BufferingVirtualSeq) `uvm_declare_p_sequencer(RtrVirtualSequencer) When I try to read the number of sequences registered to the sequencer(virtual sequencer) with the following line I get a a value of 0. p_sequencer.sequences.size() Can someone let me know why a sequence that was registered to 1.0ea was not able to be registered to 1.0p1? Am I missing a step with regards to registering a sequence to a sequencer? Thanks Ravi Quote
uwes Posted July 20, 2011 Report Posted July 20, 2011 hi, if you do use the new(UVM10+) model (no uvm_"sequence"_* macros) you do NOT associate sequence types with a particular sequencer type anymore. the uvm_declare_p_sequencer is only giving you the type+p_seqeuncer pointer but nothing happens in terms of registration. accessing the p_sequencer.sequences.size() just make me think that you want to pick sequences from the sequencer based on some selection criteria. for that you should look into the uvm_sequence_library capability. with that you can make your selection (what sequence to run) in a seqeunce library. you may associate seqeunces with multiple sequence_libraries (N:M, per type, per instance) and later you simply run your sequence library on a particular sequencer. Quote
janick Posted July 21, 2011 Report Posted July 21, 2011 FYI, to create a virtual sequence library, you have to specialize the sequence library using uvm_sequence_item: class my_virt_seq_lib extends uvm_sequence_lib#(uvm_sequence_item); ... endclass Quote
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.