How to collect data in master monitor from master driver

Hi,

I am verify I2c protocol using UVM and i want to collect data from driver to monitor.How to merge 1 by 1 bit data in single 8 bit output?

In reply to Hardik_1192:

Could you please elaborate in more detail what does it mean ‘i want to collect data from driver to monitor’?

In reply to chr_sue:

As per I2C protocol we have transferred the data in bit format,but now at Monitor side we have to collect the data in byte format so how we will able to do?

In reply to Hardik_1192:

In reply to chr_sue:
As per I2C protocol we have transferred the data in bit format,but now at Monitor side we have to collect the data in byte format so how we will able to do?

One byte represents 8 bit. What is the reason for observing on the monitor side bytes instead of bits?

In reply to Hardik_1192:

In reply to chr_sue:
As per I2C protocol we have transferred the data in bit format,but now at Monitor side we have to collect the data in byte format so how we will able to do?

Did you mean, you provide input in bits to DUT, but output of DUT is in bytes which needs to be sampled by Monitor?
In that case, your sequence_item should have input(a bit) and output(byte). if you want the input to be compared with output in scoreboard, you need to get it from virtual interface to the DUT.

In reply to uvmsd:

The I2C has a serial interface, i.e. you are sending in single bits.
Your monitor is observing this serial interface and extracting transactions for further processing. You have to assemble this transaction due to your requirements.
In the scoreboard you should never compre pinlevel data depending on clock cycles. You have to compare always transaction level data.