1 / 21

Basic Circuit Analysis and Design

chuck
Download Presentation

Basic Circuit Analysis and Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. 7/29/2012 Additional Gates and Decoders 1 Additional gates We’ve already seen all the basic Boolean operations and the associated primitive logic gates. There are a few additional gates that are often used in logic design. They are all equivalent to some combination of primitive gates. But they have some interesting properties in their own right.

    2. 7/29/2012 Additional Gates and Decoders 2 Additional Boolean operations

    3. 7/29/2012 Additional Gates and Decoders 3 NANDs are special! The NAND gate is universal: it can replace all other gates! NOT AND OR

    4. 7/29/2012 Additional Gates and Decoders 4 Making NAND circuits The easiest way to make a NAND circuit is to start with a regular, primitive gate-based diagram. Two-level circuits are trivial to convert, so here is a slightly more complex random example.

    5. 7/29/2012 Additional Gates and Decoders 5 Converting to a NAND circuit Step 1: Convert all AND gates to NAND gates and convert all OR gates to NAND gates.

    6. 7/29/2012 Additional Gates and Decoders 6 Converting to NAND, concluded Step 2: Cancel all pairs of inverters ((x’)’ = x)..

    7. The NOR gate is also universal. The NOR gate is the dual of the NAND NOT AND’ OR NORS are also special!

    8. 7/29/2012 Additional Gates and Decoders 8 NOR gates The NOR operation is the dual of the NAND. NOR gates are also universal. We can convert arbitrary circuits to NOR diagrams by following a procedure similar to the one just shown: Step 1: Convert all OR gates to NOR gates and all AND gates to NOR gates. Step 2: Cancel pairs of inverters

    9. 7/29/2012 Additional Gates and Decoders 9 XOR gates A two-input XOR gate outputs true when exactly one of its inputs is true: XOR corresponds more closely to typical English usage of “or,” as in “eat your vegetables or you won’t get any pudding.” Several fascinating properties of the XOR operation:

    10. 7/29/2012 Additional Gates and Decoders 10 More XOR tidbits The general XOR function is true when an odd number of its arguments are true. For example, we can use Boolean algebra to simplify a three-input XOR to the following expression and truth table. XOR is especially useful for building adders (as we’ll see on later) and error detection/correction circuits.

    11. 7/29/2012 Additional Gates and Decoders 11 XNOR gates Finally, the complement of the XOR function is the XNOR function. A two-input XNOR gate is true when its inputs are equal:

    12. 7/29/2012 Additional Gates and Decoders 12 Design considerations, and where they come from Circuits made up of gates, that don’t have any feedback, are called combinatorial circuits No feedback: outputs are not connected to inputs If you change the inputs, and wait for a while, the correct outputs show up. Why? Capacitive loading: “fill up the water level” analogy. So, when such ckts are used in a computer, the time it takes to get stable outputs is important. For the same reason, a single output cannot drive too many inputs Will be too slow to “fill them up” May not have enough power So, the design criteria are: Propagation delay (how many gates in a sequence from in to out) Fan-out Fan-in (Number of inputs to a single gate) Fan-in: Number of inputs that can be connected to a single gate. Fan-out: number of input that can be driven by a single output. Fan-in: Number of inputs that can be connected to a single gate. Fan-out: number of input that can be driven by a single output.

    13. June 17, 2002 Basic circuit analysis and design 13 Basic circuit design The goal of circuit design is to build hardware that computes some given function. The basic idea is to write the function as a Boolean expression, and then convert that to a circuit. Step 1: Figure out how many inputs and outputs you have. Step 2: Make sure you have a description of the function, either as a truth table or a Boolean expression. Step 3: Convert this into a simplified Boolean expression. (For this course, we’ll expect you to find MSPs, unless otherwise stated.) Step 4: Build the circuit based on your simplified expression.

    14. June 17, 2002 Basic circuit analysis and design 14 Design example: Comparing 2-bit numbers Let’s design a circuit that compares two 2-bit numbers, A and B. The circuit should have three outputs: G (“Greater”) should be 1 only when A > B. E (“Equal”) should be 1 only when A = B. L (“Lesser”) should be 1 only when A < B. Make sure you understand the problem. Inputs A and B will be 00, 01, 10, or 11 (0, 1, 2 or 3 in decimal). For any inputs A and B, exactly one of the three outputs will be 1.

    15. June 17, 2002 Basic circuit analysis and design 15 Step 1: How many inputs and outputs? Two 2-bit numbers means a total of four inputs. We should name each of them. Let’s say the first number consists of digits A1 and A0 from left to right, and the second number is B1 and B0. The problem specifies three outputs: G, E and L. Here is a block diagram that shows the inputs and outputs explicitly. Now we just have to design the circuitry that goes into the box.

    16. June 17, 2002 Basic circuit analysis and design 16 Step 2: Functional specification For this problem, it’s probably easiest to start with a truth table. This way, we can explicitly show the relationship (>, =, <) between inputs. A four-input function has a sixteen-row truth table. It’s usually clearest to put the truth table rows in binary numeric order; in this case, from 0000 to 1111 for A1, A0, B1 and B0. Example: 01 < 10, so the sixth row of the truth table (corresponding to inputs A=01 and B=10) shows that output L=1, while G and E are both 0.

    17. June 17, 2002 Basic circuit analysis and design 17 Step 3: Simplified Boolean expressions Let’s use K-maps. There are three functions (each with the same inputs A1 A0 B1 B0), so we need three K-maps.

    18. June 17, 2002 Basic circuit analysis and design 18 Step 4: Drawing the circuits

    19. June 17, 2002 Basic circuit analysis and design 19 Testing this in LogicWorks Where do the inputs come from? Binary switches, in LogicWorks How do you view outputs? Use binary probes.

    20. June 17, 2002 Basic circuit analysis and design 20 Example wrap-up Data representations. We used three outputs, one for each possible scenario of the numbers being greater, equal or less than each other. This is sometimes called a “one out of three” code. K-map advantages and limitations. Our circuits are two-level implementations, which are relatively easy to draw and follow. But, E(A1,A0,B1,B0) couldn’t be simplified at all via K-maps. Can you do better using Boolean algebra? Extensibility. We used a brute-force approach, listing all possible inputs and outputs. This makes it difficult to extend our circuit to compare three-bit numbers, for instance. We’ll have a better solution after we talk about computer arithmetic.

    21. June 17, 2002 Basic circuit analysis and design 21 Summary Functions can be represented with expressions, truth tables or circuits. These are all equivalent, and we can arbitrarily transform between them. Circuit analysis involves finding an expression or truth table from a given logic diagram. Designing a circuit requires you to first find a (simplified) Boolean expression for the function you want to compute. You can then convert the expression into a circuit. Next time we’ll talk about some building blocks for making larger combinational circuits, and the role of abstraction in designing large systems.

More Related