test: add divider
This commit is contained in:
parent
ec1d4edf84
commit
0a55ef5bc3
|
@ -0,0 +1,26 @@
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
from migen import *
|
||||||
|
from migen.genlib.divider import Divider
|
||||||
|
from migen.test.support import SimCase
|
||||||
|
|
||||||
|
|
||||||
|
class DivisionCase(SimCase, unittest.TestCase):
|
||||||
|
class TestBench(Module):
|
||||||
|
def __init__(self):
|
||||||
|
self.submodules.dut = Divider(4)
|
||||||
|
|
||||||
|
def test_division(self):
|
||||||
|
def gen():
|
||||||
|
for dividend in range(16):
|
||||||
|
for divisor in range(1, 16):
|
||||||
|
yield self.tb.dut.dividend_i, dividend
|
||||||
|
yield self.tb.dut.divisor_i, divisor
|
||||||
|
yield self.tb.dut.start_i, 1
|
||||||
|
yield
|
||||||
|
yield self.tb.dut.start_i, 0
|
||||||
|
while not (yield self.tb.dut.ready_o):
|
||||||
|
yield
|
||||||
|
self.assertEqual((yield self.tb.dut.quotient_o), dividend//divisor)
|
||||||
|
self.assertEqual((yield self.tb.dut.remainder_o), dividend%divisor)
|
||||||
|
self.run_with(gen())
|
Loading…
Reference in New Issue