Design an unsigned 4-bit by 4-bit multiplier producing an 8-bit product. A structural approach forms the four partial products (each bit of b AND-ed with a, shifted by its position) and adds them.
Inputs: a and b, 4-bit unsigned operands.
Output: p, the 8-bit product.
The testbench applies all 256 operand pairs and compares p with a * b.
Contributed by Indicore