An RTL implementation of an arithmetic algorithm like Robertson, Booth (for arithmetic multiplication) or restoring/non-restoring division contains some components like: At the end, the components should work together. A special care should be given to the synchronization between different components, i.e., if each component has been tested separately and all of them worked properly, but the entire system does not work properly, it is most likely a problem of synchronization.

The VHDL model will be tested by giving several sets of operands and checking the results.

Bonus points will be given for the accuracy of the implementation and for its capability to be generalized (e.g., to parametrize the number of bits for the binary representation of the operands).