Computer circuit
Computer circuit
A circuit is a triple
, where
is a set of values,
is a set of gate labels, each of which is a function from
to
for some non-negative integer
(where
represents the number of inputs to the gate), and
is a labelled directed acyclic graphwith labels from
.
The vertices of the graph are called gates. For each gate
of in-degree
, the gate
can be labeled by an element
of
if and only if
is defined on
.
Terminology
The gates of in-degree 0 are called inputs orleaves. The gates of out-degree 0 are calledoutputs. If there is an edge from gate
to gate
in the graph
then
is called a childof
. We suppose there is an order on the vertices of the graph, so we can speak of the
th child of a gate when
is less than the out-degree of the gate.
The size of a circuit is the number of nodes of a circuit. The depth of a gate
is the length of the longest path in
beginning at
up to an output gate. In particular, the gates of out-degree 0 are the only gates of depth 1. Thedepth of a circuit is the maximum depth of any gate.
Level
is the set of all gates of depth
. Alevelled circuit is a circuit in which the edges to gates of depth
comes only from gates of depth
or from the inputs. In other words, edges only exist between adjacent levels of the circuit. The width of a levelled circuit is the maximum size of any level.
Evaluation
The exact value
of a gate
with in-degree
and label
is defined recursively for all gates
.
where each
is a parent of
.
The value of the circuit is the value of each of the output gates.
Comments
Post a Comment