Fix derivability check
This commit is contained in:
@@ -1078,7 +1078,7 @@ instance CHERICap #(CapReg, OTypeW, FlagsW, CapAddressW, CapW, TSub#(MW, 3));
|
|||||||
|
|
||||||
function Bool isDerivable (CapReg cap);
|
function Bool isDerivable (CapReg cap);
|
||||||
return cap.bounds.exp <= resetExp
|
return cap.bounds.exp <= resetExp
|
||||||
&& !(cap.bounds.exp == resetExp && (cap.bounds.topBits != 0) || (cap.bounds.baseBits[valueOf(TSub#(MW,1))] != 1'b0))
|
&& !(cap.bounds.exp == resetExp && ((truncateLSB(cap.bounds.topBits) != 1'b0) || (cap.bounds.baseBits[valueOf(TSub#(MW,1))] != 1'b0)))
|
||||||
&& !(cap.bounds.exp == resetExp-1 && (cap.bounds.baseBits[valueOf(TSub#(MW,1)):valueOf(TSub#(MW,2))] != 2'b0))
|
&& !(cap.bounds.exp == resetExp-1 && (cap.bounds.baseBits[valueOf(TSub#(MW,1)):valueOf(TSub#(MW,2))] != 2'b0))
|
||||||
&& (cap.reserved == 0);
|
&& (cap.reserved == 0);
|
||||||
endfunction
|
endfunction
|
||||||
|
|||||||
Reference in New Issue
Block a user