Name: Chinh Minh Le
Due date: 09/17/2013
Operation date: 09/16/2013
Class: ITCS 3181,L
Fall 2013
I. Purpose: The goal of this assignment is to design a 4-bit expandable shifter. Input two 4-bit D3D2D1D0, output is shift of inputs. They depend on right shift or left shift or non shift. All of things, we should begin from smallest elements, then after we develop it. So, in this assignment, I begin from smallest elements such as: XOR, 2-in AND, 2-in OR, and NOT gates. I take ownership of these components by making personal symbols of them from Motorola library, test them(create test data, and simulate) and store them in my personal library. I used these components to build an XOR and make ownership, test it, create a symbol for it. Next, I used these gates to design 2-bit var mux , test it and make symbol for it. Finally, I design 4-bit expandable shifter. We know that in 2-bit var nux, then depend on S0S1 that we have output equal with one of inputs. I this case, we have true table follow:
S0
S1
Q
0
0
I0
0
1
I1
1
0
I2
1
1
I3
From 2-var mux we design 4-bit expandable by use 4 components of 2-var mux. We base on tables follow to design them:
Table for shift:
S0
S1
D0
0
0
Non Shift
D1
0
1
Shift Left
D2
1
0
Shift Right
D3
1
1
not used
S0
S1
Q3
Q2
Q1
Q0
0
0
D3
D2
D1
D0
Left Shift
0
1
D2
D1
D0
0
Right Shift
1
0
0
D3
D2
D1
Not used
1
1
II. Design of 4- bit expandable shifter:
1. Real component 4- bit expandable shifter:
a. Block 4 -bit expandable shifter:
b. Schematic 4- bit expandable shifter:
c. Symbol 4 bit expandable shifter:
d. cmd file of 4 - bit expandable shifter: restart wave 4-input_shifter.wfm D3 D2 D1 D0 S0 S1 Q3 Q2 Q1 Q0 pattern D3 1 0 1 0 0 1 pattern D2 0 1 0 1 1 0 pattern D1 0 1 0 1 0 1 pattern D0 1 0 1 0 1 0 pattern S0 0 0 0 0 1 1