Load initial state

  • Thread starter Kenneth Brun Nielsen
  • Start date
K

Kenneth Brun Nielsen

Guest
I am simulating a DUT in a testbench. The DUT has a long boot
sequence, which I would like to bypass by loading the entire
"final" (after boot) state of the device.

I.e. I somehow want to save a state, and in another simulation I would
like to load this state to the device.

Is that possible in an easy way? In Icarus?

Best regards,
Kenneth
 
Kenneth Brun Nielsen wrote:
I am simulating a DUT in a testbench. The DUT has a long boot
sequence, which I would like to bypass by loading the entire
"final" (after boot) state of the device.

I.e. I somehow want to save a state, and in another simulation I would
like to load this state to the device.

Is that possible in an easy way? In Icarus?
The $save and $restart system tasks are likely what you want(Annex C
1364-2005). These are informative (not part of the standard) and
unfortunately Icarus does not currently support them.

Regards,

Cary
 
Cary R. wrote:
Kenneth Brun Nielsen wrote:

Is that possible in an easy way? In Icarus?

Icarus does not currently support them.
I have spoken with Steve and while it is technically possible to add
this to Icarus. It's unlikely this would be added anytime soon. It's a
fairly complex issue and it's probably better for development efforts to
stay focused on fixing bugs, implementing the missing 1364-2005 features
and possibly adding SV support. Your problem is something that a faster
computer can ameliorate while the others are fundamental defects.

Regards,

Cary
 
On 2010-07-13, Cary R. <no-spam@host.spam> wrote:
The $save and $restart system tasks are likely what you want(Annex C
1364-2005). These are informative (not part of the standard) and
unfortunately Icarus does not currently support them.
Even if Icarus doesn't support it out of the box, it may be possible
to do more or less the same thing by checkpointing the Icarus process
itself if you can find a suitable checkpointing framework to do so.

You could certainly do this by using the checkpointing facility in
a hypervisor. However, I'm unaware of any good way of doing this
for a single process instead of an entire operating system.

(I know that there have been experimental programs to checkpoint
the state of a process in Linux, but I don't know how good they are.)


If you used Modelsim however, you have an inbuilt checkpoint/restore
facility.

regards
/Andreas
 

Welcome to EDABoard.com

Sponsor

Back
Top