Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Binary Adder/Subtractor.

Similar presentations


Presentation on theme: "1 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Binary Adder/Subtractor."— Presentation transcript:

1 1 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Binary Adder/Subtractor

2 2 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Overflow When does it occur? How do we detect it? 01110 10000 + 5 0101 -4 1100 + 7 0111 -6 1010 +12 ? 01100 -10 ? 10110

3 3 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Binary Multiplication The binary digit multiplication table is trivial: This is simply the Boolean AND function. Form larger products the same way we form larger products in base 10. (a × b) b = 0 b = 1 a = 0 0 0 a = 1 0 1

4 4 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Review - Decimal Example: (237 × 149) 10 Partial products are: 237 × 9, 237 × 40, and 237 × 100 Note that the partial product summation for n digit, base 10 numbers requires adding up to n digits (with carries). Note also n × m digit multiply generates up to an m + n digit result.

5 5 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Example: (101 x 011) Base 2 Partial products are: 101 × 1, 101 × 10, and 101 × 000 Note that the partial product summation for n digit, base 2 numbers requires adding up to n digits (with carries) in a column. Note also n × m digit multiply generates up to an m + n digit result (same as decimal). 101 × 011 101 101 000 001111

6 6 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Multiplier Boolean Equations We can also make an n × m “block” multiplier and use that to form partial products. Example: 2 × 2 – The logic equations for each partial- product binary digit are shown below: We need to "add" the columns to get the product bits P0, P1, P2, and P3. Note that some columns may generate carries. b1b1 b0b0  a1a1 a0a0 (a 0  b1)b1)  b0)b0) + (a 1  b1)b1)  b0)b0) P3P3 P2P2 P1P1 P 0

7 7 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Multiplier Arrays Using Adders An implementation of the 2 × 2 multiplier array is shown:

8 8 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 4-bit by 3-bit multiplier

9 9 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Design by Contraction Contraction is a technique for simplifying the logic in a functional block to implement a different function –The new function must be realizable from the original function by applying rudimentary functions to its inputs –Contraction is treated here only for application of 0s and 1s (not for X and X’) –After application of 0s and 1s, equations or the logic diagram are simplified

10 10 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Design by Contraction Example: Increment Contraction of a ripple carry adder to incrementer for n = 3 bits –Set B = 001 –The middle cell can be repeated to make an incrementer with n > 3.

11 11 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Incrementing & Decrementing Incrementing –Adding a fixed value to an arithmetic variable –Fixed value is often 1, called counting (up) –Examples: A + 1, B + 4 –Functional block is called incrementer Decrementing –Subtracting a fixed value from an arithmetic variable –Fixed value is often 1, called counting (down) –Examples: A  1, B  4 –Functional block is called decrementer

12 12 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Introduction to Sequential Circuits A Sequential circuit contains: –Storage elements: Latches or Flip-Flops –Combinatorial Logic: Implements a multiple-output switching function Inputs are signals from the outside. Outputs are signals to the outside. Other inputs, State or Present State, are signals from storage elements. The remaining outputs, Next State are inputs to storage elements. Combina- tional Logic Storage Elements Inputs Outputs State Next State

13 13 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Combinatorial Logic – Next state function Next State = f (Inputs, State) – Output function (Mealy) Outputs = g (Inputs, State) – Output function (Moore) Outputs = h (State) Output function type depends on specification and affects the design significantly Combina- tional Logic Storage Elements Inputs Outputs State Next State Introduction to Sequential Circuits

14 14 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Types of Sequential Circuits Depends on the times at which: –storage elements observe their inputs, and –storage elements change their state Synchronous –Behavior defined from knowledge of its signals at discrete instances of time –Storage elements observe inputs and can change state only in relation to a timing signal (clock pulses from a clock) Asynchronous –Behavior defined from knowledge of inputs an any instant of time and the order in continuous time in which inputs change –If clock just regarded as another input, all circuits are asynchronous! –Nevertheless, the synchronous abstraction makes complex designs tractable!

15 15 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Discrete Event Simulation In order to understand the time behavior of a sequential circuit we use discrete event simulation. Rules: –Gates modeled by an ideal (instantaneous) function and a fixed gate delay –Any change in input values is evaluated to see if it causes a change in output value –Changes in output values are scheduled for the fixed gate delay after the input change –At the time for a scheduled output change, the output value is changed along with any inputs it drives

16 16 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Simulated NAND Gate Example: A 2-Input NAND gate with a 0.5 ns. delay: Assume A and B have been 1 for a long time At time t=0, A changes to a 0 at t= 0.8 ns, back to 1. F A B DELAY 0.5 ns. F(Instantaneous)

17 17 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Gate Delay Models Suppose gates with delay n ns are represented for n = 0.2 ns, n = 0.4 ns, n = 0.5 ns, respectively: 0.2 0.5 0.4

18 18 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Consider a simple 2-input multiplexer: With function: –Y = A for S = 0 –Y = B for S = 1 “Glitch” is due to delay of inverter A 0.4 0.5 0.4 S B Y 0.2 Circuit Delay Model A S B Y S

19 19 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Storing State What if A con- nected to Y? Circuit becomes: With function: –Y = B for S = 1, and Y(t) dependent on Y(t – 0.9) for S = 0 The simple combinational circuit has now become a sequential circuit because its output is a function of a time sequence of input signals! B S Y S S B Y 0.5 0.4 0.2 0.4 Y is stored value in shaded area

20 20 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Storing State (Continued) Simulation example as input signals change with time. Changes occur every 100 ns, so that the tenths of ns delays are negligible. Y represent the state of the circuit, not just an output. Time

21 21 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Storing State (Continued) Suppose we place an inverter in the “feedback path.” The following behavior results: The circuit is said to be unstable. For S = 0, the circuit has become what is called an oscillator. Can be used as crude clock. S B Y 0.2 0.5 0.4 0.2

22 22 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Basic (NAND) S – R Latch “Cross-Coupling” two NAND gates gives the S -R Latch: Which has the time sequence behavior: S = 0, R = 0 is forbidden as input pattern Q S (set) R (reset) Q 1101Now Q “remembers” 0 0011Both go high 11??Unstable! Time

23 23 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Basic (NOR) S – R Latch Cross-coupling two NOR gates gives the S – R Latch: Which has the time sequence behavior: S (set) R (reset) Q Q


Download ppt "1 KU College of Engineering Elec 204: Digital Systems Design Lecture 11 Binary Adder/Subtractor."

Similar presentations


Ads by Google