Increase BMC depth for sorting network assertions
This commit is contained in:
parent
036c91539b
commit
5011245007
|
@ -119,12 +119,10 @@ class OutputNetwork(Elaboratable):
|
||||||
f_past_valid = Signal()
|
f_past_valid = Signal()
|
||||||
m.d.sync += f_past_valid.eq(1)
|
m.d.sync += f_past_valid.eq(1)
|
||||||
|
|
||||||
# TODO: assert outputs is a permutation of inputs
|
# Valid nodes always come first in outputs
|
||||||
|
|
||||||
# Channel numbers for outputs are sorted in increasing order
|
|
||||||
with m.If(f_past_valid):
|
with m.If(f_past_valid):
|
||||||
# TODO: Get the below (bogus) assertion to fail
|
for i in range(lane_count - 1):
|
||||||
m.d.comb += Assert(self.output[7].payload.channel == 0)
|
m.d.comb += Assert(self.output[i].valid | ~self.output[i + 1].valid) # TODO: Figure out why this is failing
|
||||||
|
|
||||||
def elaborate(self, platform):
|
def elaborate(self, platform):
|
||||||
return self.m
|
return self.m
|
||||||
|
|
|
@ -12,7 +12,7 @@ class OutputNetworkTestCase(FHDLTestCase):
|
||||||
# Bounded model check
|
# Bounded model check
|
||||||
self.assertFormal(
|
self.assertFormal(
|
||||||
OutputNetwork(16, 2, [("data", 32), ("channel", 3)], fv_mode=True),
|
OutputNetwork(16, 2, [("data", 32), ("channel", 3)], fv_mode=True),
|
||||||
mode="bmc", depth=10)
|
mode="bmc", depth=40)
|
||||||
# TODO: unbounded proof
|
# TODO: unbounded proof
|
||||||
|
|
||||||
OutputNetworkTestCase().verify()
|
OutputNetworkTestCase().verify()
|
||||||
|
|
Loading…
Reference in New Issue