Temporal Checker mainly depends on the Temporal Expressions ( TE's) and these are directed statments ( one line statement) with major reference to Reference clocks.
For ex :
I have shown a small example which expects certain event to be emitter based on the following conditions.
<'
unit bus_u {
event bus_clk is change('clk') @sim;
event transmit_start is rise('transcation_done') @bus_clk;
event transmit_end is rise('transmit_done') @bus_clk;
event bus_cycle_length;
on transmit_start {
out ("found the transmit_start event...", sys.time);
};
expect bus_cycle_length is @transmit_start => {[0..9];@transmit_end} @bus_clk
else dut_error("Bus cycle did not end in 10 cycles");
};
extend sys {
bus : bus_u is instance; keep bus.hdl_path() == "top";
};
'>
Monday, June 7, 2010
Subscribe to:
Posts (Atom)