N
niv
Guest
Hi, I'm trying to get a PSL vunit to work, but having some trouble (as usual)!
(I'm using Modelsim 10.1d)
The vunit is as follows:
vunit interface_check (iface(struct))
{
default clock is clk;
assert never {wren AND fifo_full}; -- works OK.
assert never {rden AND fifo_empty}; -- works OK.
assert always (req -> next[2](gnt)); -- works OK.
assert always (req -> next[3](gnt)); -- works OK.
assert always (req -> next[4](gnt)); -- works OK.
assert always (req -> next[5](gnt)); -- works OK.
-- BUT, I should be able to replace above 4 lines with something like:
assert always (req -> next[*2..5](gnt)); -- which does not compile.
-- OR
assert always (req -> next[*2:5](gnt)); -- which does not compile.
}
Could someone please explain what I'm doing wrong?
I've tried all sorts of minor variations, but can't get the composite assertion to compile.
Regards, Niv.
(I'm using Modelsim 10.1d)
The vunit is as follows:
vunit interface_check (iface(struct))
{
default clock is clk;
assert never {wren AND fifo_full}; -- works OK.
assert never {rden AND fifo_empty}; -- works OK.
assert always (req -> next[2](gnt)); -- works OK.
assert always (req -> next[3](gnt)); -- works OK.
assert always (req -> next[4](gnt)); -- works OK.
assert always (req -> next[5](gnt)); -- works OK.
-- BUT, I should be able to replace above 4 lines with something like:
assert always (req -> next[*2..5](gnt)); -- which does not compile.
-- OR
assert always (req -> next[*2:5](gnt)); -- which does not compile.
}
Could someone please explain what I'm doing wrong?
I've tried all sorts of minor variations, but can't get the composite assertion to compile.
Regards, Niv.