26
Combinatorial Logic Circuit Diagrams -Programmable Implementation Devices Design Hierarchy reduces the complexity required to represent the schematic diagram of a circuit Combinatorial Circuit N Inputs M Outputs Combinatorial Logic Circuits Chapter 3

Combinatorial Logic Circuit Diagrams

  • Upload
    aderes

  • View
    58

  • Download
    4

Embed Size (px)

DESCRIPTION

Combinatorial Logic Circuits Chapter 3. Combinatorial Logic Circuit Diagrams. Design Hierarchy reduces the complexity required to represent the schematic diagram of a circuit. N Inputs. M Outputs. Combinatorial Circuit. - Programmable Implementation Devices. - PowerPoint PPT Presentation

Citation preview

Page 1: Combinatorial Logic Circuit Diagrams

Combinatorial Logic Circuit Diagrams

-Programmable Implementation Devices

Design Hierarchy reduces the complexity required to represent the schematic diagram of a circuit

Combinatorial Circuit

N Inputs M Outputs

Combinatorial Logic CircuitsChapter 3

Page 2: Combinatorial Logic Circuit Diagrams

•In this chapter we introduce the use of a hierarchy and top down design, which are essential for the design of digital circuits.•Computer Aided-Design is discussed including Hardware Description Languages (HDL’s) and Logic Synthesis.•Topics related to digital circuit implementation are discussed:

–Fan-in–Fan-out–Propagation delays

•Design procedures are presented:–Specification–Formulation–Optimization–Fixed implementation & technology mapping–Verification

Combinatorial Logic CircuitsChapter 3

•The purpose of this chapter is to use the knowledge acquired in the previous chapters to formulate systematic design procedures for combinatorial circuits.

•The design steps will be related to the use of computer aided design tools.

Page 3: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

A Combinatorial circuit performs an operation that can be specified by a set of Boolean equations.A Sequential circuit employ elements that store bit values. The outputs of a sequential circuit dependnot only on the current input values, but also on past inputs.

A combinatorial circuit consists of input variables, output variables, logic gates and interconnections.Each input and output variable consists of a binary signal that takes on values 0 and 1.

Combinatorial Circuit

N Inputs M OutputsFor n inputs there are 2n possible binary input combinations

For each binary combination of the input variables there is one possible binary value on each output specified by a truth table.

A combinatorial function can also be described by m Boolean functions, one for each output variable.

Page 4: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

Design Hierarchy:

•A circuit may be specified by a symbol showing its inputs and outputs and a description on how it operates.

•A complex digital system may contain millions of interconnected gates. A Very Large Scale Integrated (VLSI) processor often contains tens of millions of gates.

•In order to deal with such circuit complexity, a divide and conquer approach is used.

A circuit is broken into blocks that are interconnected to form the circuit.

The functions of blocks and their interfaces are clearly defined so the circuit obeys the circuit specification.

Xo

X1

X2

Ao

A1

A2

3-Input odd function

B0

X3

X4

X5

Ao

A1

A2

3-Input odd function

B0

X6

X7

X8

Ao

A1

A2

3-Input odd function

B0

Ao

A1

A2

3-Input odd function

B0Zo

Circuit as 3 input odd function blocks

9 inputOdd

function

Xo

X1

X2

X3

X4

X5

X6

X7

X8

Zo

Symbol for circuit

Ao

A1

A2Bo

Circuit using exclusive Or’s

A hierarchy gives a simplified representation of a complex circuit

Each EOR can be represented by 4 NAND Gates

Page 5: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

The Hierarchy ends in a set of leaves. In this case the leaves consist of NAND gates, referred as primitive blocks.

We are only interested in designing the logic. Their function can be defined by a program or description that can serve as a model.

XOR XOR

3-Input Odd function

XOR XOR

3-Input Odd function

XOR XOR

3-Input Odd function

9-InputOdd function

NAND Gates

XOR XOR

3-Input Odd function

Page 6: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

9-InputOdd function

XOR

3-Input Odd function

We can simplify it even further, where there is only one copy of each block, since the designer can design one three input odd function block and one exclusive-OR block and can use these multiple times respectively.

The appearance of a block within a design is called an instance of the block and its use is called instantiation. The block is reusable and this greatly reduces the design effort required for complex circuits.

Page 7: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

•In later chapters we focus on predefined reusable blocks. These blocks provide basic functions used in digital design.

•This allows designers to do much of the design process above the primitive block level.

•These blocks are in computer aided design tool libraries

Top Down Design:

The circuit function is specified by text or a Hardware Description Language (HDL) plus constraints on cost, performance and reliability.

In automated synthesis, the HDL description is converted to logic automatically. (Ideal approach).

In reality its often necessary to perform portions of the design bottom up to make maximum use of predefined modules.

A particular circuit design may violate one of the constraints of the initial specification. In this case its often necessary to backtrack upward to a level at which the violation is reached.

Page 8: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

Computer Aided Design (CAD)

Designing complex systems would not be feasible without CAD tools.

Libraries of graphics symbols and functional blocks are provided.

The primitive and functional blocks have associated models that allow the behavior and the timing of the hierarchical blocks to be verified.

Page 9: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

Gate Properties:

An Integrated Circuit (IC) is a silicon semiconductor crystal, called a chip, containing the gates and storage elements.

The chip is mounted on a ceramic or plastic container and the connections are made to the external pins. The number of pins range from 14 to several hundred on large IC’s.

Each IC has a numeric designation printed on the package. Vendors publish data sheets or catalogs that describe the functional characteristics of the IC’s.

Definitions:

The number of gates present on a chip ranges from small scale integrated to Very Large Scale.

Small scale Integrated (SSI): Contain several primitive gates usually less that 10.

Medium Scale Integrated (MSI): Contain 10-100 gates: Example simple 4-bit adder:

Large Scale Integrated (LSI): Contain between a 100 and several thousand gates. Example is a simple processor.

Very Large Scale Integrated (VLSI): Contains several thousand to tens of millions of gates. Example is a complex microprocessor.

Complementary Metal Oxide Semiconductor (CMOS): Used for high circuit density, high performance low power applications.

Gallium Arsenide (GaAs) and Silicon Germanium(SiGe) are used for very high speed circuits.

Page 10: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

Technology Parameters:

Parameters used to characterize an implementation technology:

Fan-in: specifies the number of inputs available on a gate.

Usually restricted to 4 or 5.(related to gate speed)

Fan-out: specifies the number of standard loads driven by a gate output. Maximum fan-out, specifies the fan-out that the output can drive without impairing gate performance.

Noise margin: is the maximum external noise voltage superimposed on a normal input value that will not cause an undesirable change in the circuit output.

Propagation Delay: Is the time required for a change in value of a signal to propagate from input to output.

Power Dissipation: Is the power drawn from the power supply and consumed by the gate. The power consumed is dissipated as heat. Related to the operating temperature and cooling requirements of the chip.

In Out

In

OutTphl

The high to low propagation Tphl is the delay measured from the reference voltage IN to the reference voltage OUT

Tplh

Tpd is the propagation delay = max(Tphl, Tplh)

Reason for this is to find the longest time for a signal to propagate from inputs to outputs

Page 11: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

0 1 2 3 4 5 6 7 8

Time (Ns)

AND Gate

A

Takes ~1 NS to go from Logical 0 to 1

B

No delay

Transport Delay

Example of Transport and Inertial Delays

Page 12: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

Fan-out:

Each input on a given gate provides a load on the output of the driving gate which is measured in standard load units.

The input to a specific inverter can have a standard load of 1.0. If a gate drives six inverters then it would be 6.0.

The output of a gate has a maximum load it can drive called maximum fan-out.

The load on the output of a gate determines the time required for the output of the gate to change fro H to L and L to H. If the load on the output is increased then this time transition time is increases.

The propagation delay is also increased.

Ex: Calculation of gate delay based on fan-out.

A 4 input NAND gate output is attached to the inputs of the following gates.

-4 input NOR gate 0.8 standard load

-3 input NAND gate 1.0 standard load

-Inverter 1.0 standard load

The formula for the delay of the 4 input NAND gate is (CMOS gates)

Tpd=0.07 + 0.021 X SL ns (where SL is the sum of the standard loads driven by the gate)

(ignoring the wiring delay) (Tpd is the propagation delay)

Tpd=0.07 + 0.021 x (0.8 + 1.0 + 1.0) = 0.129 ns

Page 13: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

Cost:

The cost is based on the area occupied by the layout cell for the circuit.

The layout cell area is proportional to the size of the transistors and the wiring in the gate layout.

Ignoring the wiring area, the area of the gate is proportional to the number of transistors in the gate, which is usually proportional to the gate input count.

Positive and Negative Logic:

Choosing the High level to represent logic 1 defines a positive-logic system.

Choosing the Low level to represent logic 1 defines a negative logic system.

X Y Z

L L L

L H L

H L L

H H H

Data sheet for CMOS gate where

H=5.0 Volts

L= 0.0 Volts

CMOSGate

X

YZ

Truth Table Gate block diagram

Page 14: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

X Y Z

0 0 0

0 1 0

1 0 0

1 1 1

Positive LogicX

YZ

X

YZ

The small triangles on the inputs and outputs are polarity indicators , which signifies that negative logic is assumed for the corresponding signal (also called taking the dual of the gate function.

We will use positive logic in the text.

X Y Z

0 0 1

0 1 1

1 0 1

1 1 0

Negative Logic

Page 15: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

Design Procedure:

The design of a combinatorial circuit starts from the specification of the problem and culminates in a logic diagram (or netlist that describes a logic diagram)

The procedure involves the following steps:

1) Specification: Write a specification for the circuit

2) Formulation: Derive the truth table or initial Boolean equations that define the

required relationships between inputs and outputs.

3) Optimization: Apply two-level and multi-level optimization. Draw a logic diagram or

netlist for the resulting circuit using AND , OR’s and Inverters.

4) Technology Mapping: Transform the logic diagram or netlist to a new diagram or netlist

using available implementation Technology.

Technology Mapping replaces AND, OR Gates and Inverters with

gates from the technology library

5) Verification: Verify the correctness of the final design.

Netlist: When using a HDL (Hardware description Language, XiLinx) a structural description describes the interconnection of components. This structural description is referred to as a netlist, used as input to a logic simulator.

Page 16: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

Example (Design Procedure:) Design of a BCD to Excess-3 Code converter: (Add 3 to every BCD digit)

Decimal Input BCD Output Excess-3

A B C D W X Y Z

0 0 0 0 0 0 0 1 1

1 0 0 0 1 0 1 0 0

2 0 0 1 0 0 1 0 1

3 0 0 1 1 0 1 1 0

4 0 1 0 0 0 1 1 1

5 0 1 0 1 1 0 0 0

6 0 1 1 0 1 0 0 1

7 0 1 1 1 1 0 1 0

8 1 0 0 0 1 0 1 1

9 1 0 0 1 1 1 0 0

Step 1) Specification: The Excess-3 code for a decimal digit is the binary combination corresponding to the decimal digit plus 3. An example is given the decimal digit 5 the binary combination is 5+3=8 (1000).

•Each BCD digit is four bits labeled A,B,C,D.

•Each Excess-3 digit is four bits labeled W,X,Y,Z.

Step 2) Formulation: The Excess-3 code is obtained by adding 0011 (3) to each BCD code. BCD codes 1010 through 1111 are not listed and can be treated ad don’t care conditions.

Truth Table:

K-Map for W

A K-Map will be generated for each output variable

K-Map for X

K-Map for Y

K-Map for Z

Page 17: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

Step 3: Optimization: This is a four variable function and we use the Karnaugh maps for optimization.

•For each output variable W,X,Y,Z we need a separate K-Map.

00 01 11 10AB

CD

1

X X

X

00

01

11

10 1 X

X

11

1

X

A B C D5 0 1 0 1 = A B C D6 0 1 1 0 = A B C D7 0 1 1 1 = A B C D8 1 0 0 0 = A B C D9 1 0 0 1 = A B C D

Truth Table for W=1

A B C D A B C DA B C D

A B C D A B C D

A B C D

Don’t-Care are BCD numbers 10-15

1010,1011,1100,1101,1110,1111

Optional to use these elements

A B C D A B C D A B C D

BD

A B C DA B C D

A

BC

W=A + BC + BD

Page 18: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

Step 3: Optimization: This is a four variable function and we use the Karnaugh maps for optimization.

•For each output variable W,X,Y,Z we need a separate K-Map.

00 01 11 10

1AB

CD

X X

X

00

01

11

10

1

X

X

1

1

X

1

A B C D1 0 0 0 1 = A B C D2 0 0 1 0 = A B C D3 0 0 1 1 = A B C D4 0 1 0 0 = A B C D9 1 0 0 1 = A B C D

Truth Table for X=1

A B C D

A B C DA B C D A B C D A B C D

BCD

A B C DA B C D

BC

X=BC + BD + BCD

A B C D A B C D A B C D

A B C D

A B C D

BD

Page 19: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

Step 3: Optimization: This is a four variable function and we use the Karnaugh maps for optimization.

•For each output variable W,X,Y,Z we need a separate K-Map.

00 01 11 10

1AB

CD

1

X X

X

00

01

11

10 1 X

X

1

X

1

A B C D1 0 0 0 0 = A B C D3 0 0 1 1 = A B C D4 0 1 0 0 = A B C D7 0 1 1 1 = A B C D8 1 0 0 0 = A B C D

A B C D

Truth Table for Y=1

A B C DA B C D A B C D A B C D

CD

A B C DA B C D

Y=CD + CD

A B C D

A B C D

A B C D

A B C D

CDA B C D

Page 20: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

Step 3: Optimization: This is a four variable function and we use the Karnaugh maps for optimization.

•For each output variable W,X,Y,Z we need a separate K-Map.

00 01 11 10AB

CD

X X

X

00

01

11

10

1

1 X

X

1

1

X

1

A B C D0 0 0 0 0 = A B C D2 0 0 1 0 = A B C D 4 0 1 0 0 = A B C D6 0 1 1 0 = A B C D8 1 0 0 0 = A B C D

Truth Table for Z=1

A B C DA B C D A B C D A B C D

D

A B C DA B C D

Z=D

A B C DA B C D

A B C D

A B C D A B C D

Page 21: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

Optimization (cont):

Each of the four maps represents one of the outputs of the circuit.

W=A + BC + BD

X=BC + BD + BCD

Y=CD + CD

Z=D

WA

X

Y

B

CD

Z

Page 22: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

Technology Mapping:

Starting with an optimized circuit we develop a new circuit using common gate elements. NAND gates are often used, since we can represent other gates using them.

As shown from Chapter 2: A gate type that alone can be used to implement all Boolean functions is called a Universal gate.

NAND Gate

F=X Y

X

Y

X Y Z= XY

0 0 1

0 1 1

1 0 1

1 1 0

F

X

Y

Using a NAND gate as a AND gate

XY

Using a NAND gate as a OR gate

X

Y

X

Y

X + Y

X Y X Y X + Y

0 0 1 1 0

0 1 1 0 1

1 0 0 1 1

1 1 0 0 1

Page 23: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

Cell Library for technology mapping: ( to NAND Logic)

Cell Name Cell Schematic Normalized Typical Typical Input to Basic Function

Area Input Load Output Delay Template

Inverter

2 NAND

3 NAND

1.0 1.00 0.04 + .012 * SL

(referred to as 1.0 Standard Load)

1.25 1.00 .05 + .014 * SL

1.50 1.00 0.06 + .017 * SL

Basic building block 2NAND

Procedures (Replace AND-OR gates with equivalent circuits)

AND

OR

Page 24: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

A

W

B

XC

DY

Z

Using Technology Mapping BCD to Excess-3 Code Converter

(AOI) And –or-Inverter

Page 25: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3

5) Verification / Simulation:

The goal is to determine whether a given circuit implements its specified function

(Boolean equations and HDL are used)

Dec Input BCD Output Excess-3

A B C D W X Y Z

0 0 0 0 0 0 0 1 1

1 0 0 0 1 0 1 0 0

2 0 0 1 0 0 1 0 1

3 0 0 1 1 0 1 1 0

4 0 1 0 0 0 1 1 1

5 0 1 0 1 1 0 0 0

6 0 1 1 0 1 0 0 1

7 0 1 1 1 1 0 1 0

8 1 0 0 0 1 0 1 1

9 1 0 0 1 1 1 0 0

A

W

B

XC

DY

Z(AOI) And –or-Inverter

Original Specification Technology Mapped Circuit Result

(should be same as Specification)

Page 26: Combinatorial Logic Circuit Diagrams

Combinatorial Logic CircuitsChapter 3