SOS! A question about Nanosim that is off-topic, please forgive me!

Discussion in 'Cadence' started by walala, Dec 5, 2003.

  1. walala

    walala Guest

    Dear all,

    I am urgently in need of your help and I was unable to find any Synopsys
    newsgroup anywhere and the synthesis newsgroup is not active at all; I am
    facing an urgent deadline, but Synopsys support guys did not respond to me
    after I "entered a call" on their website for 6 days... I did get
    confirmation letter which is automatically generated after I submitted my
    "call for support"... I have also send reply to urge them to help me but no
    one responded... seems the whole support team is on vacation...

    My question is simple: how can Nanosim resume a broken simulation? Due to
    several problems here, my simulation always broke:

    1) the network is not stable and I am using NFS to write the simulation
    output; once a network is temporially off, even 10 seconds, nanosim hang;
    2) people working on workstation tends to restart in a university lab
    environment from time to time;
    3) due to some reason, nanosim itself is easily hang for large circuit
    simulation...

    I have been working on this simulation for 1 month but the simulation always
    broke... do any of you know how to let Nanosim resume a broken simulation at
    that very point of termination?

    Once again, please do not sniff at me as I am posting on a wrong place... I
    am really in urgent need of your help; I just want to by chance to grab one
    or two of you experts here to see if you had the similar experience before;
    I am terribly sorry if this wrong-posting offended you, wasted your time,
    wasted your energy, or ruinned your weekend... :=)

    Thanks a lot, experts!

    -Walala
     
    walala, Dec 5, 2003
    #1
  2. walala

    B Guest

    one way to do this is to save on a periodic basis.
    I myself don't use them, but look at the command save_ckt_state and
    restore_ckt_state.
    This does not answer exaclty your question. But in SOS case any
    workaround may save you.
    HTH
     
    B, Dec 5, 2003
    #2
  3. walala

    walala Guest

    Dear HTH,

    thank you very much for your answer! but how about the simulations that are
    currently stopping there? do you have any magic to resume simulation
    starting from the current point? (before that I have not applied any
    save_ckt_state or restore_ckt_state command... )

    Thanks a lot,

    -Wlalal
     
    walala, Dec 5, 2003
    #3
  4. walala

    Erik Wanta Guest

    I don't think there is a way to start the sim again if you didn't use
    the save/restore feature. Just run the sim again. Here is some more
    infomation:

    Introduction:
    The Save/Restore mechanism in TimeMill/PowerMill/NanoSim is used to
    save
    simulation state at specified points and restore subsequent
    simulations
    at the desired point without repeating the whole process again. The
    new
    mechanism of Save/Restore has greatly improved this feature by making
    it
    more efficient, flexible and stable.

    1.0 Synopsys Solution Methodologies to Customer Needs
    The primary advantages of the new feature are that it not only allows
    save/restore during transient simulation, but it also allows
    save/restore
    after the configuration file is read and after partitioning. It also
    allows simulation changes such as running interactive commands
    and stimulus changes in the restore simulation.

    1.1 Multiple saves at different phases
    You can save simulation data during different phases as follows.

    Phase one: After reading configuration files
    Phase two: After partitioning
    Phase three: Transient simulation at specified times

    Allowing save/restore at these phases of the simulation gives you
    more flexibility and control over the restored simulation. For
    instance, restoring after the config file read stage allows you to
    apply commands like search_ckt_analog, set_acc_limit, and
    set_node_spd/esv,
    specify output reporting like report_block_powr, or control
    partitioning
    by command like set_stage_size. Restoring after partitioning, you can
    control DC initialization with commands like set_node_ic or
    set_dc_opt.
    Restoring during transient simulation, you can specify simulation
    control parameters with commands like set_sim_esv/spd, modify device
    size
    by set_mos_length or set_mos_width or specify circuit diagnostics
    using
    limit_dcpath_search or report_ckt_dcpath. Some of the most commonly
    used configuration commands are used in the following phases:

    After reading configuration files.
    set_elem_acc, set_node_esv/spd, set_vec_opt, report_block_powr

    After Partitioning,
    set_node_ic, set_dc_opt

    Transient simulation
    set_sim_esv/spd, print_node_v/logic, set_mos_length/width,
    force_node_v/logic, rel_node_v/logic.

    Save/restore Syntax:
    save_ckt_state [ti=save_time_1] [ti=save_time_2...]
    + [phase=config|partition] [compress=0|1|2]
    save_ckt_state [start=start_time] [end=end_time] [period=cycle_time]
    compress= specifies the type of compression utility to create a
    compressed save file.
    0 no compression (default)
    1 using UNIX compress utility
    2 using gzip utility

    Due to the process of compression, you will experience some delay
    during the simulation. If disk space is not the critical issue, no
    compression is recommended to get the best performance.

    Example:
    save_ckt_state phase=config ti=100ns compress=1
    Saves state after the config file read phase and at time 100ns, and
    compresses save files using UNIX compress utility
    restore_ckt_state [ti=restore_time] [phase=config|partition]
    [interactive=0|1] [save_file=save_file_name]

    Example:
    restore_ckt_state ti=100ns interactive=1
    Restores circuit to a previously saved state, at time 100ns, and
    enters
    interactive mode.

    restore_ckt_state ti=100ns save_file=./save_dir/out.save.100.000000ns
    Restore circuit at time 100ns, with save file ./save_dir/
    out.save.100.000000ns
    Note: The user-defined save file capability is available for
    2001.06-SP1
    or later versions. The default save file is the one in the output
    directory
    defined in the nanosim command.

    1.2 Changes allowed between Save and Restore
    a. A complete list of interactive commands available for the restore
    run can
    be obtained by typing "help" at the interactive command prompt during
    the
    desired phase. The following is an example of the commands available:

    i. Simulation control.
    Force node values,
    force_node_logic, force_node_v;
    Change accuracy and speed setting,
    set_sim_esv, set_sim_spd;
    Ability to swap in an ADFMI model
    swap_model_adfmi;

    ii. Circuit modification
    Freedom to change device size and value:
    set_mos_length, set_mos_width, set_mos_minrdiff, set_node_cap,
    set_resistor_value;

    iii. Circuit diagnostic
    Ability to start new diagnostics:
    set_dcpath_thresh, report_block_power;

    iv. Output
    Ability to add signals to print, report:
    print_node_logic, print_node_v, report_node_ic;

    v. Execution control
    handle_ckt_error; set_elem_break; set_node_break; set_time_break

    vi. Interactive environment
    delete_cmd_alias; limit_mesg_byidx; limit_mesg_byphase;
    make_cmd_alias; read_cmd_file; set_cmd_env;
    set_cmd_mode; set_mesg_opt; set_sim_unit;

    vii Miscellaneous
    Ability to change frequency to print report
    set_sim_tup
    b. -cr/CR command line options to execute an interactive command file
    for
    a restore run.
    Example:
    nanosim -n netlist -c cfg -cr cfgr -o output
    The cfgr file contains interactive commands that you want to execute
    during the restore run. The -CR option behaves the same as -cr, except
    that
    all the commands in the cfgr file are echoed into the .log file.
    With the -cr or -CR command line option, you can have all interactive
    commands in one file to be executed automatically after a restore.
    This
    removes the need for you to go into the interactive mode and type
    commands one by one. The commands in this cfgr file are restricted to
    those that can be issued during the interactive mode and other
    appropriate
    phases.
    Please note that the configuration file used in the save run is still
    valid
    during the restore run. The final config commands used in the restore
    run are the ones applied during the save run PLUS the ones during the
    restore
    run, either by using the -cr or -CR command line option or in the
    interactive mode.
    The most conservative command is used when "overlapping" commands
    are applied. For instance, during a save run, if you have the
    configuration
    command search_ckt_logic el=*, and you have search_ckt_analog el=* in
    the
    restore run, this is just like applying two different search_ckt_xxxxx
    to
    the same part of circuit, the rules include both rules for these two
    search_ckt_xxxxx. Since search_ckt_analog contains more rules than
    search_
    ckt_logic. The result is equivalent to search_ckt_analog el=*.
    Reversing the order of running these two, i.e., search_ckt_analog el=*
    in the save run, then search_ckt_logic el=* in the restore run, the
    one
    in the restore run won't have any effect because of the reason
    explained
    previously. Another example, having print_node_l * in a save run, then
    print_node_l xi1. *, in a restore run, it makes no difference, both
    output files will contain logic value changes for all nodes. But
    having
    print_node_l xi1.* in a save run, then print_node_l * in a restore
    run, the
    output file after the restore run contains all node logic value
    changes
    while the one from the save run only contains logic changes of xi1.*.
    c. Vector files can be changed in a restore simulation
    i. Stimulus values can be changed
    ii. Cannot change the vector file name, rise/fall time, output
    resistance.
    iii. Only changes after the restore point will have effect.
    d. Command line options in restore simulation
    i. -t, and -i options are supported
    ii. -n(format), netlist format changes are not allowed.
    iii. -c , any changes to the configuration file that is used in the
    save
    run are ignored. When restore_ckt_state is executed, simulation
    directly
    jumps to the save point, EVERYTHING is restoredto the state of the
    save run up
    to that point.
    iv. -q,-z, technology files are not changeable
    v. -o, output file directory/name can be changed, however, you need to
    define the save file path with the restore_ckt_state command. For
    example:

    restore_ckt_state ti=1u save_file=./save_dir/pw.save.1000.000000ns

    Otherwise, the simulator will go to the new output directory defined
    by the
    nanosim command for the save file.
    2.0 Limitations
    2.1 Save/restore is not compatible between releases. This usage model
    only
    applies to version 2001.06 and beyond. In supported versions, the save
    run
    must be executed on the same version of the software as the restore
    run
    (i.e. 2001.06 save file cannot be restored with 2001.06-1).
    2.2 Currently Save/Restore is not supported with BDC, HAR or VCS-ACE.
    2.3 fsdb format output is not supported this time.
     
    Erik Wanta, Dec 7, 2003
    #4
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.