test: add divider

This commit is contained in:
Sebastien Bourdeauducq 2015-09-18 11:07:14 +08:00
parent ec1d4edf84
commit 0a55ef5bc3
1 changed files with 26 additions and 0 deletions

View File

@ -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())