Presentation is loading. Please wait.

Presentation is loading. Please wait.

Combinatorial Logic Circuit Diagrams - Programmable Implementation Devices Design Hierarchy reduces the complexity required to represent the schematic.

Similar presentations


Presentation on theme: "Combinatorial Logic Circuit Diagrams - Programmable Implementation Devices Design Hierarchy reduces the complexity required to represent the schematic."— Presentation transcript:

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

2 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 Circuits Chapter 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.

3 Combinatorial Logic Circuits Chapter 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 depend not 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 InputsM Outputs For n inputs there are 2 n 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.

4 Combinatorial Logic Circuits Chapter 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 B0 Zo Circuit as 3 input odd function blocks 9 input Odd function Xo X1 X2 X3 X4 X5 X6 X7 X8 Zo Symbol for circuit Ao A1 A2 Bo Circuit using exclusive Or’s A hierarchy gives a simplified representation of a complex circuit Each EOR can be represented by 4 NAND Gates

5 Combinatorial Logic Circuits Chapter 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 3-Input Odd function XOR 3-Input Odd function XOR 3-Input Odd function 9-Input Odd function NAND Gates XOR 3-Input Odd function

6 Combinatorial Logic Circuits Chapter 3 9-Input Odd 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.

7 Combinatorial Logic Circuits Chapter 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.

8 Combinatorial Logic Circuits Chapter 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.

9 Combinatorial Logic Circuits Chapter 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.

10 Combinatorial Logic Circuits Chapter 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. InOut In Out Tphl 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

11 Combinatorial Logic Circuits Chapter 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

12 Combinatorial Logic Circuits Chapter 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 gate1.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

13 Combinatorial Logic Circuits Chapter 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 CMOS Gate XYXY Z Truth TableGate block diagram

14 Combinatorial Logic Circuits Chapter 3 X Y Z 0 0 0 0 1 0 1 0 0 1 1 1 Positive Logic XYXY Z XYXY Z 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

15 Combinatorial Logic Circuits Chapter 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.

16 Combinatorial Logic Circuits Chapter 3 Example (Design Procedure:) Design of a BCD to Excess-3 Code converter: (Add 3 to every BCD digit) Decimal Input BCDOutput Excess-3 A B C DW X Y Z 00 0 0 0 0 0 1 1 1 0 0 0 10 1 0 0 20 0 1 00 1 0 1 30 0 1 1 0 1 1 0 40 1 0 00 1 1 1 50 1 0 11 0 0 0 60 1 1 0 1 0 0 1 70 1 1 11 0 1 0 81 0 0 01 0 1 1 91 0 0 11 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

17 Combinatorial Logic Circuits Chapter 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 AB CD 1 XX X 00 01 11 10 1X X 11 1 X A B C D 5 0 1 0 1 = A B C D 60 1 1 0 = A B C D 70 1 1 1 = A B C D 81 0 0 0 = A B C D 9 1 0 0 1 = A B C D Truth Table for W=1 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 BD A B C D A BC W=A + BC + BD

18 Combinatorial Logic Circuits Chapter 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 1 AB CD XX X 00 01 11 10 1 X X 1 1 X 1 A B C D 1 0 0 0 1 = A B C D 20 0 1 0 = A B C D 30 0 1 1 = A B C D 40 1 0 0 = A B C D 9 1 0 0 1 = A B C D Truth Table for X=1 A B C D BCD A B C D BC X=BC + BD + BCD A B C D BD

19 Combinatorial Logic Circuits Chapter 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 1 AB CD 1 XX X 00 01 11 10 1X X 1 X 1 A B C D 1 0 0 0 0 = A B C D 30 0 1 1 = A B C D 40 1 0 0 = A B C D 70 1 1 1 = A B C D 81 0 0 0 = A B C D A B C D Truth Table for Y=1 A B C D CD A B C D Y=CD + CD A B C D CD A B C D

20 Combinatorial Logic Circuits Chapter 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 AB CD XX X 00 01 11 10 1 1X X 1 1 X 1 A B C D 00 0 0 0 = A B C D 20 0 1 0 = A B C D 40 1 0 0 = A B C D 6 0 1 1 0 = A B C D 81 0 0 0 = A B C D Truth Table for Z=1 A B C D D Z=D A B C D

21 Combinatorial Logic Circuits Chapter 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 W A X Y B C D Z

22 Combinatorial Logic Circuits Chapter 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 XYXY X Y Z= XY 0 0 1 0 1 1 1 0 1 1 1 0 F XYXY Using a NAND gate as a AND gate XY Using a NAND gate as a OR gate XYXY XYXY X + Y X Y X Y X + Y 0 0 1 1 0 0 1 1 0 1 10 0 1 1 1 1 0 0 1

23 Combinatorial Logic Circuits Chapter 3 Cell Library for technology mapping: ( to NAND Logic) Cell NameCell SchematicNormalized TypicalTypical Input toBasic Function AreaInput LoadOutput DelayTemplate Inverter 2 NAND 3 NAND 1.01.000.04 +.012 * SL (referred to as 1.0 Standard Load) 1.251.00.05 +.014 * SL 1.501.000.06 +.017 * SL Basic building block 2NAND Procedures (Replace AND-OR gates with equivalent circuits) AND OR

24 Combinatorial Logic Circuits Chapter 3 A W B X C D Y Z Using Technology Mapping BCD to Excess-3 Code Converter (AOI) And –or-Inverter

25 Combinatorial Logic Circuits Chapter 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 DW X Y Z 0 0 0 0 0 0 0 1 1 1 0 0 0 10 1 0 0 2 0 0 1 00 1 0 1 3 0 0 1 1 0 1 1 0 4 0 1 0 00 1 1 1 5 0 1 0 11 0 0 0 6 0 1 1 0 1 0 0 1 7 0 1 1 11 0 1 0 8 1 0 0 01 0 1 1 9 1 0 0 11 1 0 0 A W B X C D Y Z (AOI) And –or-Inverter Original Specification Technology Mapped Circuit Result (should be same as Specification)

26 Combinatorial Logic Circuits Chapter 3


Download ppt "Combinatorial Logic Circuit Diagrams - Programmable Implementation Devices Design Hierarchy reduces the complexity required to represent the schematic."

Similar presentations


Ads by Google