Hi,
I am trying uvm_do_on_with to run i2c sequence on master sequencer and getting below syntax error . Can you please help on this ?
SEQUENCE CODE ------------------------------------------------------------------------------------------------------
// uvm_do_on_with(i2c_mst_seq,svt_i2c_master_transaction_sequencer,
uvm_do_on_with(i2c_mst_seq,m_env.i2c_env.i2c_system_env.sequencer.master_sequencer[0],
{
i2c_mst_seq.lcl_cmd == I2C_WRITE; i2c_mst_seq.lcl_addr ==
I2C_SLAVE0_ADDRESS;
i2c_mst_seq.lcl_data_size == 5;
i2c_mst_seq,lcl_sr_or_p_gen == 0;
i2c_mst_seq,lcl_send_start_byte == 0;
})
ERROR---------------------------------------------------------------------------------------------------------------
5206 Error-[SE] Syntax error
5207 Following verilog source has syntax error :
5208 “cambria_i2c_mst_write_sequence.sv”,
5209 30 (expanding macro): token is ‘,’
5210 })
5211 ^
5212
5213 #0, uvm_do_on_pri_with(SEQ_OR_ITEM=i2c_mst_seq, SEQR=m_env.i2c_env.i2c_system_env.sequencer.master_sequencer[0], PRIORITY=-1, CONSTRAINTS={ i2c_mst_seq.lcl_cmd == SVT_I2C_WRITE; i2c_mst_seq.lcl_addr ==
SVT_I2C_SLAVE0_ADDRESS; i2c_mst_seq.lcl_data_size == 5; i2c_mst_se q,lcl_sr_or_p_gen == 0; i2c_mst_seq,lcl_send_start_byte == 0; }) : “/p/psg/eda/synopsys/vcsmx/N-2017.12-SP2-3/linux64/suse/etc/uvm-1.1/src/macr os/uvm_sequence_defines.svh”:204
5214 #1, uvm_do_on_with(SEQ_OR_ITEM=i2c_mst_seq, SEQR=m_env.i2c_env.i2c_system_env.sequencer.master_sequencer[0], CONSTRAINTS={ i2c_mst_seq.lcl_cmd == SVT_I2C_ WRITE; i2c_mst_seq.lcl_addr ==
SVT_I2C_SLAVE0_ADDRESS; i2c_mst_seq.lcl_data_size == 5; i2c_mst_seq,lcl_sr_or_p_gen == 0; i2c_mst_seq,lcl_send_start_byte == 0; }) : “/p/psg/eda/synopsys/vcsmx/N-2017.12-SP2-3/linux64/suse/etc/uvm-1.1/src/macros/uvm_sequence_d efines.svh”:188
5215 full expansion of macro (uvm_do_on_with), error at line 9
5216 …
5217 $cast(i2c_mst_seq , create_item(w_, m_env.i2c_env.i2c_system_env.sequencer.master_sequencer[0], “i2c_mst_seq”));
5218 end
5219 if (!$cast(__seq,i2c_mst_seq)) start_item(i2c_mst_seq, -1);
5220 => if ((__seq == null || !__seq.do_not_randomize) && !i2c_mst_seq.randomize() with { i2c_mst_seq.lcl_cmd == 0; i2c_mst_seq.lcl_addr == 10’b1100110011; i2c_mst_seq.lcl_data_size == 5; i2c_mst_seq,lcl_sr_or_p_gen == 0; i2c_mst_seq,lcl_send_start_byte = = 0; } ) begin
5221 `uvm_warning(“RNDFLD”, “Randomization failed in uvm_do_with action”)
5222 end
5223 …