I encountered this error when I was trying to collect the code coverage of my design.
The nc simulation command line contains" +ncinput+./testbench/sim/ict.tcl". And the contents of the file ict.tcl are as follows.
coverage -setup -dut top.tb_top.my_design -testname my_design -workdir .coverage -code -database -local_dbcoverage -code -score allrun
I don't know what's the cause. The simulation tool I use is ncverilog 09.20-s032.
Who can help me? Thanks a lot!!!
After I changed the simulation tool from ncverilog 09.20-s032 to "ldv 5.7", the problem was resolved.
Your problem is that you're using Tcl commands that rely on a very old version of the simulator.
Starting from version 5.8 the entire coverage system was replaced. Since then you must set the coverage scoring options at elaboration time. There are only a limited number of things which you may now change at simulation time, mainly you can turn coverage off completely and you can set the test name.
Put the following commands into a file named (for example) cov.options:
select_coverage -be -instance top.tb_top.my_design...
Then use the ncverilog or irun option "-covfile cov.options" at elaboration time. You should then get rid of all your Tcl coverage commands from ict.tcl.
By the way, 5.7 through to 9.2 are all old and unsupported versions now. Please consider upgrading to the latest, 12.2, since that has many improvements in terms of coverage performance and better analysis features. In addition you will actually get support for version 12.2! :-)
Thank you very much for your kind reply. I will adopt your advice and use the new commands during simulation. Thanks again!