7.0 Maximize Observability Be able to observe data and operation anywhere in the design. You can easily enable this monitor code in a top-level testbench by using a defparam statement. Becareful that using monitors embedded in the RTL may not be availble during a gate-level simulation. Counters can also greater increase observability. Consider adding in some counters within the actual design.
Counters can count major system events, errors, etc.
The counters are accessible to software running in a processor or even by HDL code. Counters cost area. Many ASICs these days inlcude or are controlled by a processor running C code. Many people use Bus Functional Models to emulate the C code and the processor. However, using actual C code brings you closer to what the software engineer will actually be doing.