A design achieves 100% code coverage. What can you conclude?
100% code coverage means every line, branch, and toggle of RTL was exercised — but it says nothing about what scenarios were tested. A testbench that randomly drives inputs can achieve 100% code coverage while missing critical corner cases like overflow, back-to-back transactions, or reset-during-operation. Functional coverage is needed to verify that meaningful scenarios were actually tested.