The I/O structure of our device is intended to be usable by a human
switching physical pins to connect inputs to high and low, where it
is not possible to assert a signal for just one clock cycle, or to
switch it from high to low in one cycle. Therefore, the intended
use is as follows, starting with all inputs low:
- Assert restart, then deassert it.
- Put the desired value of A, the first multiplicand, in
data_input.
- Assert start, then deassert it.
- Put the desired value of B in data_input.
- Assert readyB, then deassert it.
- When the multiplication is done, the output signal finish
will be asserted.