Description
This laboratory aims to get you familiar with some of the most important IC components like multiplexers and decoders. You will draw the circuit using Logisim tool with the given gates.
1 IC Pool
- 74LS08 (AND)
- 74LS32 (OR)
- 74LS04 (Inverter)
- 74LS02 (NOR)
- 74LS00 (NAND)
- 74LS153 (Multiplexer)
- 74LS86 (XOR)
- 74LS138 (Decoder)
2 Lab Work
In this lab, you will be given three 2-bit numbers, A, B, S as input and you will produce the 3-bit output X. Additionally, for the logisim part you will produce an 8-bit output Y. Requirements are given as follows:
- The digits of input A should be labelled as A1 and A0 where A0 is the least significant digit and A1 is the most significant digit.
- The digits of input B should be labelled as B1 and B0 where B0 is the least significant digit and B1 is the most significant digit.
- The digits of input S should be labelled as S1 and S0 where S0 is the least significant digit and S1 is the most significant digit.
- Your output X is a 3-bit number which should be labelled as X2, X1 and X0 where X0 is the least significant digit and X2 is the most significant digit.
- Your 8-bit output Y [Y7..Y0] will be used to display decimal numbers corresponding to binary representation of X. Only one bit of Y is set at a time. Y0 means 0, Y5 means 5 (or -3, see Figure 1).
If X is 110, Y is 01000000 or if X is 011, Y is 00001000
- You are expected to perform the following 4 tasks depending on the value of S:
- If S is 0 the outputs will be A-B.
- If S is 1 the outputs will be max(A,B).
- If S is 2 the outputs will be 2*B.
- If S is 3 the outputs will be 2*A+1.
2.1 Implementation of A-B
A-B will return a 3 bit number and you will use X to represent it. For the negative values generated from A-B you can use Figure- 1 for the mapping of negative values to positive values in 3 bit representation.
Figure 1: Mapping of negative numbers to positive numbers in 3 bit representation.
Example: (00)2 – (01)2 → (111)2, (11)2 – (10)2 → (010)2
2.2 Implementation of max(A,B)
This will always print the larger number between A and B to X.
Example: max((10)2,(01)2) → (010)2, max((00)2,(11)2) → (011)2
2.3 Implementation of 2*A+1 and 2*B
This will calculate the expression (decimal multiplication and addition) and set the 3 bit value to X.
Example: 2 ∗ (10)2 + 1 → (101)2, 2 ∗ (01)2 → (010)2
3 Logisim-Only Part
In your logisim submissions, you also need to display the decimal conversion of X in the output Y for every task. You will not build the circuit components that generate output Y in the lab.



