Hi All,
I'm trying to understand checkpoint concept. When I found save and restart concept in cdnshelp, There is just describing about "$save" and "xrun -r "~~~".
and I found also the below link about save restart and it saves your time.
But I can't find any benefits from my experiment from save&restart article( I fully agree..the article)
Ok, So I'v got some experiment Here.
1. I declared $save and got the below result as I expected within the simple UVM code.
In UVM code...
$display("TEST1");
$display("TEST2");
$save("SAVE_TEST");
$display("TEST3");
$display("TEST4");
And I restart at "SAVE_TEST" point by xrun -r "SAVE_TEST", I've got the below log
xcelium> run
TEST3
TEST4
Ok, It's Good what I expected.(The concept of Save and Restore is simple: instead of re-initializing your simulation every time you want to run a test, only initialize it once. Then you can save the simulation as a “snapshot” and re-run it from that point to avoid hours of initialization times. It used to be inconvenient. I agree..)
2. But The Problem is that I can't restart with modified code. Let's see the below example.
I just modified TEST5 instead of "TEST3"
$display("TEST1");
$display("TEST2");
$save("SAVE_TEST");
$display("TEST5"); //$display("TEST3");
$display("TEST4");
and I rerun with xrun -r "SAVE_TEST", then I've got the same log
xcelium> run
TEST3
TEST4
There is no "TEST5". Actually I expected "TEST5" in the log.From here We know $save can't support partially modified code after $save.
Actually, through this, we can approach to our goal about saving developing time.
So I want to know Is there any possible way that instead of re-initializing our simulation every time we want to run a test, only initialize it once and keep developing(debugging) our code ?
If we do, Could you let me know the simple example?