#!/usr/bin/python2.7
from __future__ import print_function

import cocotb
from cocotb.clock import Clock
from cocotb.triggers import Timer, RisingEdge

@cocotb.test(timeout=None)
def proto(dut):
  CLK_PERIOD = 15

  dut.arg_a <= 0
  dut.arg_b <= 0

  dut_clk = Clock(dut.clk, CLK_PERIOD, 'ns')
  clk = cocotb.fork(dut_clk.start())

  dut.reset <= 1
  for i in range(2):
     yield RisingEdge(dut.clk)
  dut.reset <= 0
  for i in range(2):
     yield RisingEdge(dut.clk)
  yield Timer(1)
  dut.arg_a <= 8
  dut.arg_b <= 6
  for i in range(5):
     yield RisingEdge(dut.clk)
     print('Value in dut:', dut.sub_module.arg.value)
     yield Timer(1)
     dut.arg_a <= 8 + i
     dut.arg_b <= 6 - i