Hi, I am going through the Functional coverage concepts in cookbook. I got a doubt when I read this paragraph
Functional Coverage should be based on observation:
The stimulus side of the testbench should be used to drive the DUT, the stimulus side should not be used for coverage because the DUT or the stimulus may not work correctly resulting in false coverage. Instead the functional coverage should be based on what is observed to happen at the DUT outputs in the testbench. In a UVM testbench, the functional coverage would be based on the content of analysis transactions. This has implications on the design of the testbench and the analysis transactions.
My question is, while writing the covergroups only the output signals can be included or both output & input signals can be included as coverpoints?
For example: I have a dual port synchronous RAM, it has clock, data_in, read_address, write_address, reset as inputs and data_out as output. While I write my functional coverage model, can I include the input signals for functional coverage?