The above makefile i am using to run multiple testcases but only the test1 is running not test2, can anyone help me where is the problem as i am new to write makefile.
In reply to Amarjit pradhan:
How did you execute this Makefile? Did you call ‘make regress’ instruction?
Note: This is Makefile execution problem, it doesn’t related to UVM.
I believe if you perform command ‘make regress’ both test1 and test2 will run. But keep in mind, if the commands ($IUS, $CHECK) in test1 target are not successully executed (exit status != 0) then Makefile won’t execute the next target (test2). Please check the exit code of $IUS and $CHECK command at test1 target.
You can manually check the exit code of a command by using “echo $?”. If it returns 0, then the command is successfully executed otherwise it isn’t. I think the problem comes from $CHECK command, if you can’t grep “UVM_ERROR : 0” or “UVM_FATAL : 0” (your UVM Test failed), the exit code of $CHECK command will be 1, and the Makefile will be terminated. That’s why you won’t see test2 target is executed.
In reply to cuonghl:
You can manually check the exit code of a command by using “echo $?”. If it returns 0, then the command is successfully executed otherwise it isn’t. I think the problem comes from $CHECK command, if you can’t grep “UVM_ERROR : 0” or “UVM_FATAL : 0” (your UVM Test failed), the exit code of $CHECK command will be 1, and the Makefile will be terminated. That’s why you won’t see test2 target is executed.
Thanks,
Chris.
yes i checked using “echo $?” and it returns 0.
just look at the below makefile i am using now without $check ,its behaves same.
Can you manually run the following command in terminal and check the exit code status by run "echo ?":
irun -access rw -uvmhome (UVM_HOME) +UVM_VERBOSITY=(UVM_VERBOSITY) -quiet -coverage all (TIMESCALE) -f filelist.f +UVM_TESTNAME=spi_test_1 +svseed=$(SEED)
I think the command above does not return exit code 0.
In reply to Amarjit pradhan:
Can you manually run the following command in terminal and check the exit code status by run "echo ?":
irun -access rw -uvmhome (UVM_HOME) +UVM_VERBOSITY=(UVM_VERBOSITY) -quiet -coverage all (TIMESCALE) -f filelist.f +UVM_TESTNAME=spi_test_1 +svseed=$(SEED)
I think the command above does not return exit code 0.
yes you are correct, it returns 1. could you please tell me what is the correct way to do it.
Thank you now its working, but is it possible to observe two testcase waveforms in a single waveform window because for this case two waveforms are generated separately for two testcases.