according to uvm_users_guide_1.1, page 152, these 2 implementations are shown: First:
class my_seq extends uvm_sequence #(my_item);
... // Constructor and UVM automation macros go here.
// See Section 4.8.2
virtual task body();
`uvm_create(req)
req.addr.rand_mode(0); // Disables randomization of addr
req.dc1.constraint_mode(0); // Disables constraint dc1
req.addr = 27;
...
endtask : body
endclass: my_seq
and:
class my_seq2 extends uvm_sequence #(my_item);
... // Constructor and UVM automation macros go here.
// See Section 4.8.2
virtual task body();
`uvm_create(req)
req.addr = 27;
req.data = 4;
// No randomization. Use a purely pre-generated item.
`uvm_send(req)
endtask : body
endclass: my_seq2
What will be the difference if I`ll not use the "rand_mode(0)" and "constraint_mode(0)" as in the second example?