System level verification of SOC is complex and it covers mostly data paths and error scenarios. So code coverage of SOC will be less using only system level testbench. So to get complete idea it is usually preferred to merge block level code coverage with SOC coverage. Below is commands/ways to do it with different tools.
Cadence IMC :
Here , assumed that you have block level and system level coverage database ready.
- Make one merge file as recommended by IMC , which has mapping of block to system level module . Below is sample command in file. merge_config -source <block level DUT path> -target <System level DUT path>
- run imc in batch mode and run following command merge -out <out_dir> <system_dir> <block_dir>
urg -dir system.vdb -dir block.vdb -map <blokname>
- Here blockname is the module which we need to merge.
vcs also supports mapfile option where Instance based mapping can be done.