Design decisions
Supporting bigger numbers risked making the coprocessor harder to use, so the team split multiplication into two designs instead of one. The simple multiplier is the easy path for 8-bit numbers; the complex multiplier handles full 16-bit numbers at the cost of a second instruction. A programmer picks whichever multiplier fits the task.
Each operation was built as its own separate hardware block behind a shared interface, so teammates could work on different operations in parallel without stepping on one another.
The change that mattered most was replacing a hand-written multiplier with VHDL’s standard math libraries. The standard libraries do the arithmetic reliably and cut the debugging, which freed the team to focus on the harder problem — getting SCOMP and the peripherals to talk to each other correctly.


