I modified the SPI OVM testbench that can be downloaded from Mentor's web site. The testbench is customized to test our design. I have been using Mentor's Questa tool to run simulation while we evaluate the tool. The testbench has worked with Questa. We are also evaluating Cadence's Incisive. I started to compile and run simulation with Incisive. It apprears to compile OK but $cast does not seem to work right.
seq_item_port.get_next_item(req); $cast(cloned_item, req.clone()); ap.write(cloned_item);
This works fine with Questa but not with Incisive. The data members in req are defined but not cloned_item after $cast.
Is there any reason that this does not work with Incisive? Questa was sourceing OVM-2.1.2 source code.
Without seeing definitions for "req" and the classes it uses, it's impossible to say why this doesn't work.Are you certain that the data members have all been registered with OVM such that they would be copied?
I would have expected it to work provided the declarations were correct.