0% found this document useful (0 votes)
629 views17 pages

11.1 Introduction To Combinational Logic Synthesis

This document provides an introduction to combinational logic synthesis. It discusses that combinational logic circuits do not have internal state and are built from logic gates. The behavior of a combinational circuit can be described by a Boolean function that maps inputs to outputs. Boolean functions may have don't care conditions where the output value is unspecified. Boolean functions can be specified using minterms, implicants, and other representations. Minimizing representations and finding prime implicants are important goals in combinational logic synthesis.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
629 views17 pages

11.1 Introduction To Combinational Logic Synthesis

This document provides an introduction to combinational logic synthesis. It discusses that combinational logic circuits do not have internal state and are built from logic gates. The behavior of a combinational circuit can be described by a Boolean function that maps inputs to outputs. Boolean functions may have don't care conditions where the output value is unspecified. Boolean functions can be specified using minterms, implicants, and other representations. Minimizing representations and finding prime implicants are important goals in combinational logic synthesis.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

INTRODUCTION TO COMBINATIONAL LOGIC SYNTHESIS

N.ABISHA

INTRODUCTION
COMBINATIONAL Logic circuits that do not possess an internal state Built from elementary logic gates ,such as NAND and NOR Cannot have directed cycles-memory elements

BEHAVIOR
Consists of m inputs and n outputs can be described by a Boolean function f: Bm Bn , where B={0,1} . Combinational logic synthesis problem be stated as the problem of generating some circuitry that will implement the behavior given by a Boolean function while minimizing the cost function. Practically, function is incompletely specified because values of some outputs do not matter for some specific input patterns. They require third output value called the dont care denoted by -.

contd
Thus, the Boolean function is redefined as f : Bm Y n , where Y={0,1,-}. Inputs are partitioned to three sets:
On-set output should be 1 Off-set - output should be 0 Dc-set output is dont care

A Boolean function whose dc-set is empty is called fully specified.

Minterm
The term literal denotes a Boolean variable or its complement . Any point in B m can be identified by a product of the m distinct literals . Such a product is called a minterm. So, x . x . x - minterm for B 3
1 2 3

fig.(1)

Cube
A product of literals can be used to define a set of points rather than a single point by dropping one or more literals from the product . (i.e) the absent literal can have both possible Boolean values. The set points defined in this way is called a cube.

fig.(2)

Boolean Function
Fully specified Boolean function is described by the points in its on-set, it can be specified by sum of minterms. Consider, the on-set of the Boolean function given in figure, the sum of minterms corresponding to this function is :

f x1.x2 .x3 x1.x2 .x3 x1.x2 .x3 x1.x2 .x3 x1.x 2 .x3 x1.x2 .x3

fig.(3)

contd
The main problem of using the sum-of-products canonical form in practice is the size of the representation. For a Boolean function with m variables has 2 m points which means that a SOP will consists of O( 2m) minterms. The specification of a Boolean function by its SOP canonical form is very similar to a specification by means of a truth table. The truth table enumerates all points in Boolean space and states for each point whether it belongs to the on-set, off-set or dc-set.

contd
By definition , any truth table for a function of m Boolean variables will have exactly 2 m entries.

Fig.(4) The truth table for function of fig.(3)

Implicant
A cube whose points are either in the on-set or the dc-set is called an implicant of a Boolean function. An implicant that is not included in any other implicant and that has at least one point in the on-set, is called a prime implicant. The function f of the example of fig.(3) can be written as the sum of its six prime implicants:

f x1.x 2 x1.x3 x 2 .x 3 x1.x 2 x 2 .x3 x1.x 3


Although each product is prime, the expression is reduntant.

contd
In this example, it turns out that two irredundant prime covers are possible, corresponding to the expressions:
f1 x1. x3 x2 . x3 x1. x2 and f 2 x1. x2 x2 . x3 x1. x3

They are illustrated in the fig.5(a) and (b).

Fig.(5 )two possible coverings by prime implicants(a , b)

contd
Although the last two expressions are both minimal, the existence of two different expressions shows that minimization alone does not lead to a canonical representation. The complete set of prime implicants off a function , on the other hand, is a canonical form, called Blakes canonical form.

Parity function
The representation general cubes instead of minterms does not always lead to a reduction of the representation size. A well known fully specified function with this property is the parity function. Its on-set consists of those minterms in which the number of non complemented Boolean variables is odd.

Fig.(6)

Example
library ieee; use ieee.std_logic_1164.all; entity example is port (x1,x2,x3,x4,x5:in std_logic; y1,y2:out std_logic); end example; architecture behavioral of example is begin react:process(x11,x2,x3,x4,x5) begin if x1='1' and x2='0' then y1<=not(x3 and (4 or x5)); y2<=x3 or x4; elsif x2='1' then y1<=not(x3 and (x4 or x5)); y2<='-'; end if; end process react; end behavioral;

contd
The on-sets are given by:

and the dc-sets are given by:

Boolean algebra such as:

Thank you

You might also like