If functional coverage is 100% is code coverage is also 100%?

want to know significance of both types of coverage

Hi Divya,
Functional coverage measures the EXPLICIT functional requirements (design intent) of the device. Code coverage measures the IMPLCIT implementation requirements. Please refer the link Coverage | Verification Academy to know more about this.

in simple words,

if your code coverage is 100% you cannot say that your func cov. is 100% because there may be missing code in the RTL that was expected to be there according to the specification
you use assertion property coverage and covergroups telling explicitly that i need to have this functionality present

vice versa, just by putting your functional as 100% doesnt mean a lot, you MUST ensure that you have covered whole RTL , because your covergroup/cover property may bot be correct.being that you thought that you have verified the perticular functionality but the RTL code was never toggled/covered because of your wrong(somehow) coding

In reply to ecrahuljain:

Thank you for your reply, I got better understanding on this.

In reply to divyadm:

To add to Manju@GE pointed, the code coverage does not care about functional intent. Simulator would treat verilog code of processor same as that of network switch when it comes to code coverage. It will only speak language of lines, conditions, toggle, FSM etc. If you want to look at the coverage from functional point of view like instructions or packets you need functional coverage.

Code coverage also cannot address concurrency and sequences. These can come out either functional requirements or internal design implementation. Both of these needs to be covered as part of functional coverage.

For every line of specification: Think about three things.
[1] What it means to stimulus?
[2] What it means to check?
[3] and what it means to coverage?