logo Use CA10RAM to get 10%* Discount.
Order Nowlogo
(5/5)

You are given two decoders. 1 of type 3-to-8 decoder and 1 of type 4-to-16 decoder. Use them to implement the outputs of your 2-bit full adder.

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

A 2-bit ripple-carry adder adds bits (An+1, An) to bits (Bn+1, Bn) and takes into consideration the carry from the previous stage, called Cn-1 where n+1, n and n-1 are indices.

A number of 2-bit ripple-carry adders are used to form a larger M bit ripple-carry adder. For instance, you might be designing a 32-bit ripple-carry adder which performs A + B, where both A and B are 32 bit numbers with

A= A31 A30 … A0

B= B31 B30 … B0

 In this case M = 32 and you would use 16 of your 2-bit full-adders to generate the sum

S = S31 S30 … S0

And the Carry out of the full 32 bit ripple-adder is C31

Now your generic 2-bit full adder stage has inputs:

X1,   Bit N+1 of number A

Y1,    Bit N+1 of number B

X0,   Bit N      of number A

Y0,    Bit N      of number B

C-1     Carry bit from the previous stage

It will also have 3 outputs. They are the 2 sum bits and a carry

S0     Representing the sum of X0 and Y0 and C-1 (the carry from any previous stage connected to this stage)

S1     Representing the sum of X1 and Y1 and C0 (the carry from X0 + Y0)

C1     Representing the carry out of your 2-bit full adder

 

Implementation # 1 (25 pts)

You are given two decoders. 1 of type 3-to-8 decoder and 1 of type 4-to-16 decoder. Use them to implement the outputs of your 2-bit full adder.  This means that you need to design circuitry to compute S1, S0 and C1.

In this implementation, you can go ahead and also implement C0 (the carry out of your 0th stage) if you feel you can use C0 in your design to compute some of the other outputs. C0 would have to use one of the two decoders you were given.

 

Implementation #2 (25 pts)

After your first design, your boss decided to have you make a faster version that would not have the drawback of the delay due to the ripples associated with the calculation of the intermediate carry of your 2-bit adder.

To help, your boss suggests (which means demands) that you design your circuit using a programmable logic array having 5 dedicated input pins and  3 dedicated output pins. There are NO feedback pins.

So, you must design a 2-bit adder (no ripple within a 2 stage) using a programmable logic array having 5 dedicated inputs called A0 A1 B0 B1 C0 in that order from the top line of your PLA where A0 is the least significant bit (LSB and topmost input) and C0 the most significant bit (MSB and bottommost input). There are 3 dedicated outputs and should be named S0, S1 and C1 and be shown in that order from top output to bottom output of your PLA.

To show that you know what you are doing, you will need to label each AND gate in your AND array with the minterm number it recognizes (this can be written in decimal or in binary using C0 as MSB and A0 as LSB). That requirement might make you appreciate the requirement that the inputs be ordered A0 A1 B0 B1 C0. You might notice a relationship between the minterm number and the sum (A1 A0) + (B1 B0) + C0

   Implementation #3 (25 pts)

You are now asked to design a 1-bit full adder using a sequential circuit. You are simply asked to provide a state table and a state diagram representing the operation of your 1-bit adder. A 1-bit adder is just one half of your 2-bit ripple adder.

Your 1-bit adder simply adds bits Cin, A and B. Your implementation of your state machine will have a 1 bit input called X that will be used to feed the inputs in that same order: First Cin, then bit A then bit B.  To make the notation simpler, just call the inputs C, A and B for Carry, Bit A and Bit B respectively.

A more experienced team member as been assigned to you as a mentor and she is offering the following advices:

  1. Decide how many states your state table and state diagram will have (advice #e might help you there)
  2. As your input X receives the data (C, A, then B) you will move from one state to another and you need to specify the value of your 2 outputs S (the sum S) and Cout (the carry out)
  3. She suggests that your original state be called state 0.
  4. She suggests that when you receive your first input X (which will be C, the carry in), if it is 0 (no carry in) that you stay in that same state 0 and your outputs be S=0 (the sum at that point is 0) and Cout = 0 (the carry out at that point is also 0). If it is 1, you will go to a state called state 1 (which essentially will represent what your overall result is at that point. She adds that this state number is not the same as the Sum output bit S) and that your outputs should be S=1 , Cout = 0 meaning that at that point the S bit is 1 and the Carry out is 0. She also adds that this procedure should help you determine how many states you will need.
  5. Finally do not worry about what state you go to after you have processed the last bit of your input X (Bit B). There will be a reset signal to reset your machine to its state 0. You are not to be concerned about the reset signal.
(5/5)
Attachments:

Expert's Answer

512 Times Downloaded

Related Questions

. Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

. The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t

. Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th

. SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

. Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

512 Times Downloaded

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Um e HaniScience

511 Answers

Hire Me
expert
Muhammad Ali HaiderFinance

616 Answers

Hire Me
expert
Husnain SaeedComputer science

625 Answers

Hire Me
expert
Atharva PatilComputer science

988 Answers

Hire Me