hi sir. i have 2 agents with 3monitors in them.
- 1st agent contains driver,monitor,sequencer. this agent- monitor sends the expected transactions to comparator to compare with the observed transactions which comes from the 2nd agent in the scoreboard.
- 2nd agent contains 2 monitors 1 with valid data, other with random data.
my comparator has a uvm_tlm_analysis_fifo (exp_fifo.get) to get the values of expected transactions at one side after i get them i will trigger a ->EV event. On other side i have 2 monitors with the same trigger waits @(EV) in each of them, once their wait is over, pin activity converts to transactions and sent to comparator.
if i want to compare with my expected transaction with observed transaction.
so do i need to involve 2 fifos, obs1_fifo to get monitor1 value and obs2_fifo to get monitor2 values and compare?? or can i compare compare like this (exp.a==obs1.a or exp.a==obs2.a) then pass if not fail in comparator block??