# syntax for a qsim help file: # 1) a line beginning in a hash is ignored as a comment. # 2) a command name must be preceded by a '$' and be alone on that line. # 3) no other lines can begin with a '$'. # 4) the literal message to be printed follows the line with $cmdName. $ $ $ ? ? online help. $ # # comment line ignored by the simulator. # Any line that begins with a hash mark is ignored by the simulator. $ | | no operation (nop). | Causes the simulator to do nothing. Used for aliasing another command to have no effect. $ after AFTER display instances with particular node as input. AFTER (options) nodename Displays information about the instances that have the named node as an input. The only option is PIN, which reduces typing for following a path through many instances. With this option, 'name' must be a pin name on the last instance displayed. The command then acts as if that pin's node name was typed. $ alias ALIAS list/define special command abbreviations. ALIAS Lists all presently defined aliases. ALIAS name . Removes the alias definition for the 'name'. ALIAS name string Defines 'name' as an alias for 'string'. All uses of 'name' at the beginning of a command will substitute in 'string'. Aliases may NOT be abbreviated. If 'name' already exists, the old definition will be superceded by the new. $ before BEFORE display instances with particular node as output. BEFORE (options) name Displays information about all the instances that have the named node as an output. The only option is PIN, which reduces typing for following a path through many instances. With this option, 'name' must be a pin name on the last instance displayed. The command then acts as if that pin's node name was typed. $ bus BUS create a vector and constituent nodes. BUS busname[n1:n2] Creates a vector named 'busname' and creates the nodes in the vector. The index ranges 'n1' to 'n2' must be nonnegative integers. The created nodes have names 'busname[n]', where n ranges from 'n1' to 'n2' inclusive. Neither the vector name nor any of the node names can previously exist. The second index may be either larger or smaller than the first. $ capacitance CAPACITANCE list node's capacitance. CAPACITANCE nodelist Lists the capacitances of the nodes in 'nodelist'. $ capacitor CAPACITOR add capacitance to a node. CAPACITOR cap_value node1 node2 Adds capacitance to the two nodes. One of them must be a VSS node. 'cap_value' is in pF. $ charged CHARGED set nodes to a floating/undriven logical state. CHARGED value nodelist Sets the listed nodes to a floating (capacitive) state. The logical value will be either 'value' (HIGH, LOW, UNKNOWN), or the current nodal value if 'value' is "*". The new state can be overridden by the circuit. $ checkpoint CHECKPOINT show fault coverage at given interval CHECKPOINT number Tells ProFault to write fault simulation results to the screen every 'number' of strobes. $ chipparms CHIPPARMS set simulation parameters for part of the circuit. CHIPPARMS CHIPPARMS . CHIPPARMS pathName parmName1 parmValue1 parmName2 parmValue2 ... Sets the SIMPARM values for a part of the circuit. The 'pathName' must be an instance name, possibly ending in a wildcard (asterisk). All instances that start with this name will be affected by the given parameters. The legal names for the name/value pairs can be found under SIMPARMS (exclude timeScale and the catch-all delayFactor). If no arguments are given, then the currently defined chipparms will be displayed. If a period is given as the first argument, then all chipparms will be disposed. $ clock CLOCK list/define a clocked node. CLOCK Lists information about all the defined clocks. CLOCK name . Removes clock definition for named node. CLOCK (options) name clock_spec Makes the named node into a clock. The 'clock_spec' is a sequence of entries of the form "value(time)", where 'value' is the logical value of "1" or "0" for the phase, and 'time' is the duration of the phase in nanoseconds. If "(time)" is omitted, the duration defaults to the previously given duration or 400 ns if no durations have been given so far. An initial, nonrepeating sequence can be given by seperating these entries from the rest by a semicolon. A new definition for a node will override the previous one. Until explicitly defined, all options default onto the first clock. Options: PRIMARY for CYCLE and PHASE commands. REPORT for static trace output. PROFAULT for fault simulation strobing period. $ cycle CYCLE run the simulation. CYCLE number Continues the simulation for 'number' more cycles of the primary clock. If the simulation is already midcycle then it will run one complete cycle, ending again in midcycle. If the simulation is in midphase, then completion of the current phase is counted as one entire phase. If 'number' is not given then it is assumed to be one. If 'number' is given as zero, then the simulation is run until the end of the current cycle. $ echo ECHO print a message in the transcript. ECHO (options) string Writes the message 'string' to the trace file and the transcript pane. The message will be preceded by a comment mark "#". Options: TIME writes the current simulator time before the message. $ equiv EQUIV add another name for an object. EQUIV name Makes 'name' the preferred name for the node or vector. EQUIV oldname newnames The names listed in 'newnames' become synonyms for 'oldname'. $ event EVENT list gate/model event counts EVENT Lists the number of gate/model evaluations since the last call to this command. Also lists the cumulative number of evaluations. $ exit EXIT terminate the simulation. EXIT Terminate the simulation and close down the simulator. Same as QUIT. $ forced FORCED force nodes to a particular logical state. FORCED value nodelist Sets the listed nodes to the given logical value, but with a forced strength. This means that the simulator cannot override the values on these nodes, they will remain as set until the user releases them. 'value' must be HIGH, LOW, or UNKNOWN. $ h H set nodes to a logical high. H nodelist A fast version of the command for setting nodes to logic high (see INPUT). 'nodelist' cannot contain vector references nor wildcards. $ inputs INPUTS set nodes to a particular logical state. INPUTS value nodelist Sets the listed nodes to the specified logic value. 'value' must be: HIGH, LOW, or UNKNOWN. 'nodelist' can contain any combination of node names, subvectors, and wildcards. INPUTS vector_value vector_name Sets the named vector to the given value. The 'vector_value' must have a radix indicator followed by a value string. A radix indicator is an apostrophe and a letter: 'b = binary, 'o = octal, 'd = decimal, 'h = hex- adecimal. Only one vector can be handled per line. $ instances INSTANCES display information about particular circuit instances. INSTANCES (options) instanceName Displays information about the named instance. Information includes the gate/cell type, pin names, attached nodes, and pin/node logic values. The option PARAMETERS will list the instance-specific timing parameters. $ interfaces INTERFACES lists currently existing user interfaces. INTERFACES Lists the presently defined user interfaces. $ join JOIN join two nodes into one. JOIN node nodelist Joins each of the nodes in 'nodelist' to 'node'. The nodes then behave as if they are wired directly to each other. The 'nodelist' names become synonyms for 'node'. JOIN vector nodelist Joins the nth node in 'nodelist' to the nth member of 'vector'. Nodelist can contain any combination of nodes, subvectors, and vectors, but the total number of nodes named must equal the size of 'vector'. JOIN nodelist1 ; nodelist2 Joins the nth node in 'nodelist1' to the nth member of 'nodelist2'. Both lists can contain any combination of nodes, subvectors, and vectors, but their total number of nodes must agree. $ l L set nodes to a logical low. L nodelist A fast version of the command for setting nodes to logic low (see INPUT). 'nodelist' cannot contain vector references nor wildcards. $ linelimit LINELIMIT limit simulator output to the transcript. LINELIMIT Shows the linelimit parameters. The linelimit count is the maximum lines of output the simulator can spew for a command. The prompting flag deter- mines whether the user can ask for more output. LINELIMIT number Sets the linelimit count to 'number'. To set the prompting flag, see the command OPTIONS. $ load LOAD load a netlist, command file, or model instance. LOAD TTY LOAD (options) cell LOAD (options) cell instanceName LOAD (options) cell instanceName parameterList Loads a netlist file, a simulator command file, or a single model instance. For a netlist or instance, the top level can be given the optional 'instanceName'. If the netlist or instance takes parameters, they can be passed in 'parameterList' by name/value pairs or by "@" followed by a parameter cell name. If a parameter list is desired but an instanceName isn't, use double quotes "" for the 'instanceName'. The 'cell' must be of the form "[typ]name", where 'typ' is a two or three letter celltype and 'name' is the cellname. Valid celltypes for an instance are [mds] or [mde], and for a command file are [sim], [txt], or [bsm]. LOAD TTY will open a new interface with input coming from the keyboard. Close it with POP. Options: ECHO all subsequent commands are echoed. ONELEVELECHO only commands from this file are echoed. PARALLEL load as a parallel interface. NOPREFIX don't append instance name to global prefix. FLATTEN flatten the netlist, even if a flattened type. NOFLATTEN don't flatten, even if a hierarchical type. HNL load using the old netlist system. PIPE load a netlist via pipe, reduces memory usage. $ manager MANAGER call the cell/library manager. MANAGER Opens up a session with the VLSImanager. $ modeloptions MODELOPTIONS list/set options for model errors. MODELOPTIONS Lists the names and current values of the modeloptions. These control model behavior in an error condition, and echoing of model error messages. MODELOPTIONS name Sets the named modeloption. To turn an option on, give the name. To turn it off, precede the name with a minus sign (-). At least one modeloption MUST be on at circuit loading if the user intends to do any error checking in a simulation. $ module MODULE load a simulation driver module. MODULE (options) name MODULE (options) name arguments Loads a mainsail simulation driver module. A new user interface is created to run the driver. If 'arguments' exists, then the rest of the line is passed as given to the module. A QUIT command cannot be executed while under the control of a module. If the NEW option is not given and the module has been previously invoked, then the module will be run with all of its internal variables intact. Options: ECHO all subsequent commands are echoed. ONELEVELECHO only commands from this module are echoed. NEW reinitialize module's internal variables. $ mode MODE select command language. MODE type Declares the simulator command language to be used. The two choices for 'type' that are supported are VLSIsim or VLSIqsim. $ names NAMES list existing netlist names. NAMES (options) namelist Displays the names in 'namelist' that the simulator recognizes. The list can be any combination of node names, subvectors, vectors, instance names, and wildcards. Options: EXPAND expands a vector name into its component nodes. NOSYNONYMS lists only one name per object. $ node NODE create new nodes. NODE name Creates a new node called 'name'. $ options OPTIONS list/set simulator runtime options. OPTIONS Lists the options and their present value. OPTIONS namelist Sets the named options. To turn an option on, give the name. To turn it off, precede the name with a minus sign (-). Options are: "bidirConflict" report bidirectional conflicts. "failTestOnZ" z-state nodes will fail in TEST command. "glitchDetection" print simulation glitch messages. "literalNL" overrides automatic mde/qfe netlist switching. "noTraceHeader" turn off machine-readable header for standard trace. "parallelGateMessage" list parallel gates that are created. "proFault" perform probabilistic fault simulation. "prompting" turns on LINELIMIT feature. "rc" use RC input delays for extracted netlists. "standardTrace" use the standard tabular trace output. "tabularReportOnChange" use (reportOnChange) option for every WATCH. "translatorMessage" print all error messages from translator. $ output OUTPUT select file for transition (trace) output. OUTPUT Shows the present trace file name and the value of the dual display option. OUTPUT . Closes the present trace file. OUTPUT (options) Changes the dual display option without changing the trace file. OUTPUT (options) filename Opens 'filename' to be the new trace file. If a trace file already exists, it is closed. Default celltype is [trc]. Options: ONLY trace output only goes to the trace file. DUAL output goes to both the trace file and the transcript. $ phase PHASE run the simulation. PHASE number Continues the simulation for 'number' more phases of the primary clock. If the simulation is in midphase, then completion of the current phase is counted as one entire phase. If 'number' is not given then it is assumed to be one. $ pop POP terminate command file. POP (options) Terminates the present interface and returns control to the parent one. If the current input is from a command file, then the file is closed. This function cannot be used to exit from a simulation driver module. Options: TOP exit all non-module interfaces. PARALLEL closes a parallel command file. $ power POWER calls power calculation module. POWER (options) Calls the power calculation module. Options: COMMAND calls the command interface in the power module. $ preprocess PREPROCESS execute simulation preprocessing. PREPROCESS Immediately executes circuit preprocessing. $ prefix PREFIX list/set name prefixes. PREFIX Lists all defined prefixes. PREFIX string Redefine the global prefix. To clear a prefix, set it to "". PREFIX name string Define/redefine a prefix 'name' to use 'string' as its substitution. $ quit QUIT terminate the simulation. QUIT Terminate the simulation and close down the simulator. Same as EXIT. $ radix RADIX set radix base for vector output. RADIX Show the global radix. To see a specific radix, use the VIEW command. RADIX number vectorList Set the radices for the listed vectors to be 'number'. The only choices for 'number' are 2, 8, 10, 16. $ rc RC show rc delays for a node. RC nodename Lists all of the pins and the timing deltas due to rc's on the named node. $ rename RENAME change the name of an object. RENAME oldname newname It is preferred that a user NEVER uses this command ! Removes the name 'oldname' for a node or vector and adds the preferred synonym 'newname'. $ request REQUEST send user-request to a model instance. REQUEST instanceName arg1 arg2 Sends the two string arguments as a user request to a model 'instanceName'. The model's response is printed. The arguments are optional, the default being an empty string. If an argument is not contained in double quotes, then it is considered to end at the first blank space. $ reset RESET resets the simulation without disposing the netlist. RESET (options) Resets the simulation to the beginning without the need to reload the netlist. It returns the simulator to the state just after netlist loading. Time equals zero, all nodes are unknown, and there are no definitions for clocks, vectors, or watched nodes. Simparms and connectivity can be altered up until the next preprocessing. Options: VECTOR don't dispose vector definitions. WATCHED retain the watched node list. CLOCKS keep the existing clocks. SAVEALL use all the above options. $ risefall RISEFALL set explicit delay time for a node. RISEFALL number number Sets the global default delays to the given values. These times only apply to nodes that have no other delays specified. The first argument is for rising transitions, the second for falling transitions. The 'numbers' are in nanoseconds. RISEFALL number number nodelist Forces the listed nodes to have delay times given by the two numbers. The new delays will override all other delay calculations. To remove the override, set both times to zero. (see SHOWRISEFALL). $ selectmodel SELECTMODEL force use of [mde] rather than [qfe] SELECTMODEL Lists the cells that have the [qfe] switching disabled. SELECTMODEL cellname Specifies that the automatic [qfe] switching should be disabled for all netlist instances of the named cell. $ setcap SETCAP set a node's capacitance to a particular value. SETCAP number nodelist Sets the total capacitance on the listed nodes to be 'number' pF. The old capacitance cannot be reinstated. $ showgate SHOWGATE list parameters for gate models. SHOWGATE name Lists data and parameters for the named gate models. If 'name' is excluded, then all gate model names will be listed. $ showrisefall SHOWRISEFALL list explicitly declared delays. SHOWRISEFALL nodelist Shows the explicit rise/fall delays for all listed nodes. $ showvector SHOWVECTOR list information about a vector. SHOWVECTOR name Lists the constituent nodes of the named vector. $ simparms SIMPARMS list/set some simulation parameters. SIMPARMS Lists the names and values for the user-setable simulation parameters. SIMPARMS name, number Sets the named parameter to the given value. These MUST be set before netlist loading starts! Available parameters are: chargeDecayTime (ns) Sets the delay time for charge decay. All floating nodes will change to unknown after this delay. Charge decay isn't modeled if the decay time is set to zero (floating nodes hold their values forever). defCap (pF) Default capacitance applied to all nodes in a preroute netlist that lack explicit capacitors. incCap (pF/pin) Incremental capacitance added to a node for each attached pin. delayFactor propRiseDelayFactor propFallDelayFactor rampRiseDelayFactor rampFallDelayFactor suhDelayFactor Scaling factors for model delay times. "suhDelayFactor" is for both setup-and-hold and other error checks. The parameter "delayFactor" is the catch-all that sets all of the other five to a uniform value. tabularLineWidth Sets maximum number of columns in tabular output. If columns exceeds this number, then trace output will be wrapped onto the next line. (The continuation character is a hyphen). Default value is 255. timeScale (quanta/ns) Sets the simulator time granularity. A larger number will give better timing resolution, but slow down the simulator. Valid values are 1, 10, 100, 1000. Default is 10 (tenth ns). transistorDelay (ns) Sets the delay used by all pullup/pulldown transistors. $ status STATUS list information about the loaded netlist. STATUS Displays information about the current circuit size. $ step STEP run the simulation. STEP (options) number Continues the simulation for 'number' nanoseconds. Options: DEFERCLOCKS run simulation without changing clocks. $ strobe STROBE declare fault-sim strobing pins STROBE nodelist Declares which nodes will be strobed during fault simulation. $ switch SWITCH set/clear a netlist flattening switch. SWITCH Displays the current netlist switch name. SWITCH cell Sets the current netlist switch name to 'cell'. $ synonyms SYNONYMS list all names for an object. SYNONYMS name Show all synonyms defined for 'name'. $ test TEST compare a node's actual versus expected value. TEST (options) name value TEST (options) name value mask TEST (options) name value mask command Compare the logical value of the named node or vector with 'value'. If they don't match, the test fails and an error message is written. If a mask is given, then only those bits that are a "1" in 'mask' are included in the comparison. If 'command' is given, then a failed test will suppress the error message and execute 'command'. Options: NOTEQUAL test succeeds if the values are not equal. MESSAGE write the error message, even if 'command' exists. $ time TIME list the current simulator time. TIME (options) Show the current simulation time. The option is NS which will force the time to be listed in absolute nanoseconds rather than by clock phases. $ toggles TOGGLES list toggle counts for nodes. TOGGLES (options) namelist Lists the toggle counts for the simulation. Each node will list two numbers, transitions to low and to high. If "namelist" is given as a period (.), then the toggle counts will be reset to zero for all nodes. If namelist isn't given, then the output list will only contian those nodes which haven't toggled. In the latter case, the option TOTALS will suppress listing of the node names and just give a total count of the nodes that haven't toggled. $ trace TRACE set format for transition (trace) output. TRACE Show trace information. TRACE (options) headerSize pageSize clusterSize formfeed Set trace mode. The arguments can be given for the TABULAR option only. HeaderSize is the number of characters written for each name in the header. PageSize is the number of lines of trace output per page, including header. ClusterSize sets the size of the column groupings in the tabular output. Formfeed, either FF or NOFF, issues a formfeed between each page of output. Options: STATIC trace output occurs at the end of reporting interval. DYNAMIC trace output occurs when item changes. TABULAR output in tabular form, default is nontabular. ALL output all watched items. NONE suppress trace output. Standard trace output has the following coding: enable on 0 1 u enable unknown q r x enable off s t z $ transistor TRANSISTOR add a transistor to the circuit. TRANSISTOR type gate source drain Creates a gate approximation for a transistor and inserts it into the circuit. Only two choices for 'type' are allowed, P for pullups, and E for pulldowns. The next three arguments are the node names for attaching the three active transistor pins. $ translate TRANSLATE translate command file to another format. TRANSLATE type cellname Translates subsequent command input into another language and writes it to a file. The necessary translation module must be available to the simulator. The choices for 'type' are: VLSISIM translate VLSIqsim language to VLSIsim language. VLSIQSIM translate VLSIsim to VLSIqsim. BINARY translate either VLSIsim or VLSIqsim into a binary format. The translations are written into "[sim]cellname" for VLSISIM and VLSIQSIM, and into "[bsc]cellname" for BINARY. TRANSLATE type . Ends the specified translation session and closes the file. $ u U set nodes to a logical unknown. U nodelist A fast version of the command for setting nodes to logic unknown (see INPUT). 'nodelist' cannot contain vector references nor wildcards. $ unwatch UNWATCH remove nodes from the watched list. UNWATCH nodelist Removes the watched status from the named nodes and vectors. $ vector VECTOR group nodes under one name for easy reference. VECTOR name nodelist Creates a vector 'name' made up of the named nodes. The vector indices will be 1 to n, where n is the number of nodes named. VECTOR name[lb:rb] nodelist Creates the vector, but the indices run from 'lb' up/down to 'rb'. VECTOR name[lb:ub] Creates the vector using the nodes "name[lb]" through "name[ub]". As in all forms of the VECTOR command, the nodes must previously exist. $ view VIEW list node's current logical state. VIEW Show the logic values of all watched items. VIEW nodelist Show the values of all named nodes and vectors. $ watch WATCH automatically list all node's transitions. WATCH (options) nodelist Add the named nodes and vectors to the watched list for trace output. Options: DISPLAY display the waveform. REPORTONCHANGE a transition will trigger dynamic/tabular output. NOSPACE suppress spaces in between tabular columns. $ wave WAVE save transition information for graphic display later. WAVE Display the current waveform cellname. WAVE . Close the current waveform cell. WAVE cellname Create cells "[wfd]cellname" and "[wft]cellname" and start saving all waveform information in these cells. If a cell already is opened, it is closed and saved. $ z Z set nodes to a floating/undriven state. Z nodelist A fast version of the command for setting nodes to a floating state with their present logical value (see CHARGED *). 'nodelist' cannot contain vector references nor wildcards.