simulate - simulate the flattened network


simulate [ -I <0/1> ] [ -O <0/1> ] [ -P <0/1> ] [ -S <0/1> ] [ -h ] [ -i <vectors_file> ] [ -n <vectors_number> ] [ -o <output_file> ] [ -p <0|1> ] [ -v ]

Simulates a network with a set of input vectors. Before calling this command, the user should create a partition (using the command build_partition_mdds). The simulation vectors can be provided by the user (using -i vectors_file), or generated randomly.

Command options:

-I <0/1>
This option controls the printing the primary input variables. 0 implies printing is disabled, enabled otherwise. The default value is 1. The output file generated with this flag set to 0 may not be used as input file for simulation (if there are some primanry inputs to the system).
-O <0/1>
This option controls the printing the primary output variables. 0 implies printing is disabled, enabled otherwise. The default value is 1.
-P <0/1>
This option controls the printing the pseudo input variables. 0 implies printing is disabled, enabled otherwise. The default value is 1. The output file generated with this flag set to 0 may not be used as input file for simulation (if there are some pseudo-inputs to the system).
-S <0/1>
This option controls the printing the state variables. 0 implies printing is disabled, enabled otherwise. The default value is 1.
-h
Print a help message that details all options.
-i <vectors_file>
Give the simulation vector file name. If this option is not used, vectors are generated randomly.
-n <N>
Simulate N vectors. This option should be used if vectors_file is not specified. If a vectors_file is given, and if there are more than N vectors in the file, only the first N vectors are simulated.
-o <output_file>
Give the name of a file where the simulation result should be written. If this option is not used, the simulation result is directed to standard output.
-p <0|1|2>
This option is available only with random vector generation mode, and affects how values for pseudo-inputs (non-deterministic constants) are generated. 0: pseudo-inputs are treated by user. 1: pseudo-inputs are treated randomly. 2: pseudo-inputs are treated by choosing the first possibility.
-v
Enable verbose mode. Prints CPU time usage.
The vectors_file has two main parts:
Declarations:
Inputs list:
Gives an ordering of the primary and pseudo inputs. Every input must be reported in this field.
Latches list:
Gives an ordering of the latches. Every latch must be reported in this field.
Outputs list:
Gives an ordering of the outputs. This list may be incomplete. Simulation is performed only on outputs present in this list.
Initial state:
Value of an initial state. This value is given with respect to the latch ordering.
Simulation Vectors:
One vector per line according to the given order of inputs.
Final State:
Prints the value of state variables after the last simulation vector is applied.
An example of a simulation vectors file is:
    # ----> Declarations

    .inputs X1 X2
    .latches L1 L2
    .outputs O
    .initial green 0
    .start_vectors
    # ----> Vectors
    0 1
    1 0
    1 1

Note the keywords: .inputs, .latches, .outputs, .initial, .start_vectors. A line started by a '#' is a comment line.

The simulation result is printed either in a file (using -o output_file) or to standard output. It has the same format as vectors_file with additional fields for latches and outputs. Here is the result of simulation on last vectors_file example:

    .inputs X1 X2
    .latches L1 L2
    .outputs O
    .initial green 0
    .start_vectors
    #input; current_state; output
    0 1 ; green 0 ; 0
    1 0 ; blue 0 ; 1
    1 1 ; red 1 ; 1
    #Final State : green 1
Note that each input line has been extended by its simulation result with current states and outputs listed in order. The output_file can be read by simulate as vectors_file (latches and outputs values are ignored). When starting simulation a good trick is to run simulate with random vectors generation mode; the resulting can be used as a template to write a vectors_file. For example, executing "simulate -n 1 -o foo.output" will generate a representative file.


Last updated on 20010517 18h00
You are not logged in 
©2002-2009 U.C. Regents