next up previous contents
Next: Implementation of the System Up: Overview of the Interaction Previous: The Component Protocol

The Netlist Protocol

The netlists comprising a circuit are represented by stanzas with the headers input, output or internal, each of which represent a different type of netlist. An input netlist is defined to be a netlist which is connected only to the input ports of one or more components; an output netlist is defined to be a labelled netlist which is connected to the output port of a component (an output netlist may also be connected to one or more input ports).gif An internal netlist is the same as an output netlist, except that it has not been labelled by the user. Netlists which are not connected to the ports of any component are not transmitted by the protocol. The number of attributes each netlist has depends upon the netlist type and which module (either the GUI or the simulator engine) is generating the protocol. All three netlist types have an id attribute whose value is the netlist number as assigned by the GUI.

The GUI can generate stanzas representing all three netlists as part of its protocol to the simulator engine. Only the id attributes of the internal and output netlists are specified. The input netlists, however, each contain an additional attribute called values. The value of this attribute consists of a Tcl-like list of input signal values and the times that the signals occurred. The list takes the form of { tex2html_wrap_inline7614 tex2html_wrap_inline7616 } { tex2html_wrap_inline7618 tex2html_wrap_inline7620 } ...{ tex2html_wrap_inline7622 tex2html_wrap_inline7624 }, where t represents the time of the signal and v represents its value -- either 0, 1 or X. In order to minimize the amount of data being transferred through the pipe, only the changes in the input signals are actually transmitted by the GUI to the simulator engine.

After constructing the circuit internally and initializing the input netlists according to the stanzas received from the GUI, the simulator engine then simulates the circuit, thereby producing signals on the output netlists. The output netlists are then traversed by the simulator engine. Stanzas representing each output netlist and their corresponding identifiers and signals values are transmitted back to the GUI along the pipe for presentation. The format of the output stanzas produced by the simulator engine is identical to that of the input stanzas produced by the GUI. Again, only changes in output signal values are reported by the simulator engine so as to limit the volume of information sent along the pipe.

Examples of the stanzas comprising both the component and netlist protocols are presented in the next section which provides more implementation details regarding the communication between the GUI and the simulator engine.


next up previous contents
Next: Implementation of the System Up: Overview of the Interaction Previous: The Component Protocol

Donald Craig
Mon Jul 8 12:05:35 NDT 1996