acb9fa23c64bed34182c6c36fcb53356d8881ed1
2 from random
import randrange
5 from migen
.genlib
.sort
import *
7 from migen
.test
.support
import SimCase
10 class BitonicCase(SimCase
, unittest
.TestCase
):
11 class TestBench(Module
):
13 self
.submodules
.dut
= BitonicSort(8, 4, ascending
=True)
16 self
.assertEqual(len(self
.tb
.dut
.i
), 8)
17 self
.assertEqual(len(self
.tb
.dut
.o
), 8)
19 self
.assertEqual(len(self
.tb
.dut
.i
[i
]), 4)
20 self
.assertEqual(len(self
.tb
.dut
.o
[i
]), 4)
24 for repeat
in range(20):
25 for i
in self
.tb
.dut
.i
:
26 yield i
.eq(randrange(1<<len(i
)))
28 self
.assertEqual(sorted((yield self
.tb
.dut
.i
)),
29 (yield self
.tb
.dut
.o
))