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