Combinational
   HOME

TheInfoList



OR:

In
automata theory Automata theory is the study of abstract machines and automata, as well as the computational problems that can be solved using them. It is a theory in theoretical computer science with close connections to cognitive science and mathematical l ...
, combinational logic (also referred to as time-independent logic) is a type of
digital logic A logic gate is a device that performs a Boolean function, a logical operation performed on one or more binary inputs that produces a single binary output. Depending on the context, the term may refer to an ideal logic gate, one that has, for ...
that is implemented by
Boolean circuit In computational complexity theory and circuit complexity, a Boolean circuit is a mathematical model for combinational digital logic circuits. A formal language can be decided by a family of Boolean circuits, one circuit for each possible inpu ...
s, where the output is a
pure function In computer programming, a pure function is a function that has the following properties: # the function return values are identical for identical arguments (no variation with local static variables, non-local variables, mutable reference ...
of the present input only. This is in contrast to
sequential logic In automata theory, sequential logic is a type of logic circuit whose output depends on the present value of its input signals and on the sequence of past inputs, the input history. This is in contrast to '' combinational logic'', whose output i ...
, in which the output depends not only on the present input but also on the history of the input. In other words, sequential logic has ''
memory Memory is the faculty of the mind by which data or information is encoded, stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If past events could not be remembe ...
'' while combinational logic does not. Combinational logic is used in
computer A computer is a machine that can be Computer programming, programmed to automatically Execution (computing), carry out sequences of arithmetic or logical operations (''computation''). Modern digital electronic computers can perform generic set ...
circuits to perform
Boolean algebra In mathematics and mathematical logic, Boolean algebra is a branch of algebra. It differs from elementary algebra in two ways. First, the values of the variable (mathematics), variables are the truth values ''true'' and ''false'', usually denot ...
on input signals and on stored data. Practical computer circuits normally contain a mixture of combinational and sequential logic. For example, the part of an
arithmetic logic unit In computing, an arithmetic logic unit (ALU) is a Combinational logic, combinational digital circuit that performs arithmetic and bitwise operations on integer binary numbers. This is in contrast to a floating-point unit (FPU), which operates on ...
, or ALU, that does mathematical calculations is constructed using combinational logic. Other circuits used in computers, such as half adders,
full adder An adder, or summer, is a digital circuit that performs addition of numbers. In many computers and other kinds of processors, adders are used in the arithmetic logic units (ALUs). They are also used in other parts of the processor, where they ar ...
s,
half subtractor In electronics, a subtractor is a digital circuit that performs subtraction of numbers, and it can be designed using the same approach as that of an adder. The binary subtraction process is summarized below. As with an adder, in the general cas ...
s, full subtractors,
multiplexer In electronics, a multiplexer (or mux; spelled sometimes as multiplexor), also known as a data selector, is a device that selects between several Analog signal, analog or Digital signal (electronics), digital input signals and forwards the sel ...
s, demultiplexers, encoders and decoders are also made by using combinational logic. Practical design of combinational logic systems may require consideration of the finite time required for practical logical elements to react to changes in their inputs. Where an output is the result of the combination of several different paths with differing numbers of switching elements, the output may momentarily change state before settling at the final state, as the changes propagate along different paths.


Representation

Combinational logic is used to build circuits that produce specified outputs from certain inputs. The construction of combinational logic is generally done using one of two methods: a sum of products, or a product of sums. Consider the following
truth table A truth table is a mathematical table used in logic—specifically in connection with Boolean algebra, Boolean functions, and propositional calculus—which sets out the functional values of logical expressions on each of their functional arg ...
, which represents a 3-input combinatorial logic element taking inputs A, B, and C, and with an output which is true only when both input A is true, and inputs B and C are either both true or both false. Using sum of products, all logical statements which yield true results are summed, giving the result: : (A \wedge \neg B \wedge \neg C) \vee (A \wedge B \wedge C) \, Using
Boolean algebra In mathematics and mathematical logic, Boolean algebra is a branch of algebra. It differs from elementary algebra in two ways. First, the values of the variable (mathematics), variables are the truth values ''true'' and ''false'', usually denot ...
, the result simplifies to the following equivalent of the truth table: : A \wedge ((\neg B \wedge \neg C) \vee (B \wedge C)) \,


Logic formula minimization

Minimization (simplification) of combinational logic formulas is done using the following rules based on the laws of Boolean algebra: : \begin (A \vee B) \wedge (A \vee C) &= A \vee (B \wedge C) \\ (A \wedge B) \vee (A \wedge C) &= A \wedge (B \vee C) \end : \begin A \vee (A \wedge B) &= A \\ A \wedge (A \vee B) &= A \end : \begin A \vee (\lnot A \wedge B) &= A \vee B \\ A \wedge(\lnot A \vee B) &= A \wedge B \end : \begin (A \vee B)\wedge(\lnot A \vee B)&=B \\ (A \wedge B) \vee (\lnot A \wedge B)&=B \end : \begin (A \wedge B) \vee (\lnot A \wedge C) \vee (B \wedge C) &= (A \wedge B) \vee (\lnot A \wedge C) \\ (A \vee B) \wedge (\lnot A \vee C) \wedge (B \vee C) &= (A \vee B) \wedge (\lnot A \vee C) \end With the use of minimization (sometimes called
logic optimization Logic optimization is a process of finding an equivalent representation of the specified logic circuit under one or more specified constraints. This process is a part of a logic synthesis applied in digital electronics and integrated circuit ...
), a simplified logical function or circuit may be arrived upon, and the logic
combinational circuit In automata theory, combinational logic (also referred to as time-independent logic) is a type of digital logic that is implemented by Boolean circuits, where the output is a pure function of the present input only. This is in contrast to seque ...
becomes smaller, and easier to analyse, use, or build.


See also

*
Asynchronous circuit Asynchronous circuit (clockless or self-timed circuit) is a sequential logic, sequential digital logic electrical network, circuit that does not use a global clock circuit or clock signal, signal generator to synchronize its components. Instea ...
* Field-programmable gate array *
Formal verification In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of a system with respect to a certain formal specification or property, using formal methods of mathematics. Formal ver ...
*
Ladder logic Ladder logic was originally a written method to document the design and construction of relay logic, relay racks as used in manufacturing and process control. Each device in the relay rack would be represented by a symbol on the ladder diagram w ...
*
Programmable logic controller A programmable logic controller (PLC) or programmable controller is an industrial computer that has been ruggedized and adapted for the control of manufacturing processes, such as assembly lines, machines, robotic devices, or any activity that ...
*
Relay logic Relay logic is a method of implementing combinational logic in electrical control circuits by using several electrical relays wired in a particular configuration. Ladder logic The schematic diagrams for relay logic circuits are often called ...
*
Sequential logic In automata theory, sequential logic is a type of logic circuit whose output depends on the present value of its input signals and on the sequence of past inputs, the input history. This is in contrast to '' combinational logic'', whose output i ...
*
Tseytin transformation The Tseytin transformation, alternatively written Tseitin transformation, takes as input an arbitrary combinatorial logic circuit and produces an equisatisfiable boolean formula in conjunctive normal form (CNF). The length of the formula is line ...


References

*


External links

* {{DEFAULTSORT:Combinational Logic Logic in computer science Digital electronics