Creator User Manual


HOME

This manual should be used as a reference tool for understanding 
the formats of file-types and for simulator specific command-line options. 
To see how files should be converted into the proper format to run in the simulator, click here.
To see how files should be loaded and run in the simulator, click here.

 

  1. Create a source file (*.des)
        A source file describes a network to simulate.

        click here for example!
     

  2. Compile the Mozart source file (*.des) using:
        $ mcomp

        NOTE: mcomp uses the file name without the extension.

        This compilation creates a files with the (*.deo) extension for each module
        present in the source file (*.des).
     

  3. Link the modules using:
        $ mlink

        NOTE: mlink uses the file name without the extension. The linker produces
        a file with the *.dee extension.

        click here for example
     

  4. Create symbol table:
        A symbol table maps the user defined representation of the circuit elements
        to the internal representation of these elements.

        $ crest

        NOTE: crest uses the file name without the extension.

        The program crest creates a file with the extension (*.SMT) containing the
        symbol table.

        click here for example

        crest strips the symbol table information from the (*.dee) file based upon the symbol table offset
        stored in the header section of the (*.dee) file.
     

  5. Running The Simulator:
        $ doc

        NOTE: doc uses the file name without the extension.

        The Simulator is interactive.

        Input Waveforms (Optional):
            Input waveforms are specified in an input waveform source file (*.dws).  The input waveform source
            file is then compiled using the command:
            $ cw

            NOTE: cw uses the file name without the extension.

            The program cw produces a file (*.dwe) which can be loaded by the simulator.

        Fault Simulation (Optional):
            For fault simulation additional preprocessing needs to be performed.

            The program mfault takes a linked (*.dee) network description file and creates classes of equivalent faults.
            The collapsed fault list is written in a (*.fau file). This is obtained through the following commands:

            $ MFAULT EX FM> WRITE REPRESENTATIVE FM> ^Z $

            A translator converts the fault list contained in the file (*.fau) into a format compatible with the fault
            simulator (The program MFAULT was written for the simulator MOZART).
            The translator CREFL produces a file (ex.fls) from the files (ex.fau) and (ex.dee).

            $ CREFL EX EX /* crefl fault_list_filename network_filename */

            The (*.fls) file has the following format:
            fault_type node_number     Mozart_specific_data     Mozart_specific_data

            The fault is an 8 bit number whose high order bit encodes the fault model:

    High order bits
    fault model
    for stuck@0
    for stuck@1
            and the low order bits encode the faulty terminal:
    Low order bits
    faulty terminal
    output
    input1
    2
    input2
    3 .. 5
    input3 ..5
            The node name can be obtained from the node number by looking into the symbol table stored in the
            (*.smt) file or by running the program SYMTAB.

            For instance, the second faulty machine in the ring oscillator example is specified by the second line in
            the RING.FLS file:

            128 5 -1 0
     
            The simulator uses only the first two numbers. The first number specifies a stuck at one fault at the
            output terminal of a gate (128 = 1 * 2**7). The number 5 specifies which node is stuck at one.
            Its name is obtained by running symtab:
     
            $ SYMTAB RING 2 /* get name option of the program */ 5 /* node number */
     
        Running The Simulator:
            $ doc <filename optional>         /* run simulator */
     
            NOTE: the following symbol command:> is used to represent the command line.

            Create Experiement
                command:>c e <experiment name> <network name>

            Attatch experiment
                command:>a e

            Load Symbol Table
                command:>l s
     
            Load Waveforms
                command:>l w

            Load Fault List
                command:>l f <fault file name>

            Set Mode to Fault simulation and define the maximum fault number
                command:>s f 100

            Set Fault detection flag to enabled
                command:>s d e

            Set Fault detection flag to disabled
                command:>s d d

            Trace input/output of reference machine
                command:>t <input/output_name> r

            Force input/output
                command:>f <input/output_name> <value>
     
            Unforce input/output
                command:>u <input/output_name>

            Run simulator for some time unit
                command:>r f <time unit>

            Run simulator until
                command:>r u

            Run quiescent
                command:>r q

            Display faults
                command:>d f

            Display element
                command:>d e <element_name> <reference or CID>

            Display coverage
                command:>d c
     
            Display statistics
                command:>d s

            ATPG commands
                command:>ATPG initialize
                command:>ATPG save
                command:>ATPG restore

            Exit
                command:>e

           NOTE: several commands can be appended on the same line
     
     

            Miscellaneous commands:
                check_for_phase_skipping/nocheck_for_phase_skipping
                surely_detections_only/possibly_detections_too  
                continue
                hello
                @ (call command file)
                X (exit from command file)
                ! (comment)
                interrupt (only network version)