7/24/2019 vhdl-lab work file
1/28
CA ASSIGNMENT-6
BY KANERIA DHAVAL
BARREL SHIFTER
module barrel (
i!u" #$%&i'
i!u" #$%&)*'
i!u" )*i+",Le+"Ri*"'ro"a"e,Le+"Ri*"'ou"!u" re #$%& ou"./
!arame"er 012/
al3a4)5
bei
i+(7)*i+",Le+"Ri*".
ou" 0 i88)*/
el)e i+()*i+",Le+"Ri*".
ou" 0 i99)*/
el)e
bei
:a)e()*.
;i#-@$%&'i#$-2&?$>i#2$%&'i#$@&?/
;i#-$%&'i#$-1&?$>i#1$%&'i#$&?/
7/24/2019 vhdl-lab work file
2/28
;i#-6$%&'i#$-;&?$>i#;$%&'i#$6&?/
;i#-$%&'i#$-&?$>i#$%&'i#$&?/
;i#-2%$%&'i#$-&?$>i#$%&'i#$2%&?/
;i#-2@$%&'i#$-22&?$>i#22$%&'i#$2@&?/
;i#-2$%&'i#$-21&?$>i#21$%&'i#$2&?/
;i#-26$%&'i#$-2;&?$>i#2;$%&'i#$26&?/
;i#-2$%&'i#$-2&?$>i#2$%&'i#$2&?/
;
7/24/2019 vhdl-lab work file
3/28
;i#-@2$%&'i#$-@%&?$>i#@%$%&'i#$@2&?/
;i#-@1$%&'i#$-@@&?$>i#@@$%&'i#$@1&?/
;i#-@;$%&'i#$-@&?$>i#@$%&'i#$@;&?/
;i#-@$%&'i#$-@6&?$>i#@6$%&'i#$@&?/
;i#-@$%&'i#$-@&?$>i#@$%&'i#$@&?/
;i#-12$%&'i#$-1%&?$>i#1%$%&'i#$12&?/
de+aul"$
ou"0i/
ed:a)e
ed
7/24/2019 vhdl-lab work file
4/28
ed
edmodule
"ime):ale 2) 2!)
module barrel,"b F(!arame"er 012.(./
re #$%&i/
re #;$%&)*/
re )*i+",Le+"Ri*"'ro"a"e,Le+"Ri*"/
3ire #$%& ou"/
barrelb)(i(i.')*()*.')*i+",Le+"Ri*"()*i+",Le+"Ri*".'ro"a"e,Le+"Ri*"(ro"a"e,Le+"Ri*".'ou"(ou"../
ii"ial
bei
F2i01@
7/24/2019 vhdl-lab work file
5/28
F2 )*0;
7/24/2019 vhdl-lab work file
6/28
Ii"ialie I!u")
i 0 %/
)* 0 %/
)*i+",Le+"Ri*" 0 %/
ro"a"e,Le+"Ri*" 0 %/
ai" 2%% ) +or lobal re)e" "o Ji)*
F2%%/
Add )"imulu) *ere
ed
edmodule
7/24/2019 vhdl-lab work file
7/28
8 BIT BOOTH MULTIPLIER
module mul"i!lier(!rod' bu)4' m:' m!' :l' )"ar"./
ou"!u" #2;$%& !rod/
ou"!u" bu)4/
i!u" #$%& m:' m!/
i!u" :l' )"ar"/
re #$%& A' ' M/
re ,2/re #$%& :ou"/
3ire #$%& )um' diOere:e/
al3a4) 5(!o)ede :l.
bei
i+ ()"ar". bei A 80 A' ' ,2? 80 >A#&' A' ?/
ed:a)e
7/24/2019 vhdl-lab work file
8/28
:ou" 80 :ou" P 2
7/24/2019 vhdl-lab work file
9/28
I!u")
re #$%& m:/
re #$%& m!/
re :l/
re )"ar"/
u"!u")
3ire #2;$%& !rod/
3ire bu)4/
I)"a"ia"e "*e i" der Te)" (T.
mul"i!lier uu" (
!rod(!rod.'
bu)4(bu)4.'
m:(m:.'
m!(m!.'
:l(:l.'
)"ar"()"ar".
./
ii"ial bei
Ii"ialie I!u")
m: 0 %/
m! 0 %/
:l 0%/
)"ar" 0 2/
ai" 2%% ) +or lobal re)e" "o Ji)*
7/24/2019 vhdl-lab work file
10/28
Add )"imulu) *ere
F; m: 0 ;/ m! 0 1/ )"ar" 0 2/
F; )"ar" 0 %/
F; m: 0 ;/ m! 0 1/ )"ar" 0 2/
F; )"ar" 0 %/
F% Ji)*/
ed
al3a4) F; :l 0 7:l/
edmodule
7/24/2019 vhdl-lab work file
11/28
32 BIT FULL ADDER(CARRY RIPPLE ADDER)
module +ulladder,1@bi"(
i!u" #$%& a%'
i!u" #$%& a2'
i!u" #$%& a@'
i!u" #$%& a1'
i!u" #$%& b%'
7/24/2019 vhdl-lab work file
12/28
i!u" #$%& b2'
i!u" #$%& b@'
i!u" #$%& b1'
ou"!u" #$%& )%'
ou"!u" #$%& )2'
ou"!u" #$%& )@'
ou"!u" #$%& )1'
ou"!u" :ou"'
i!u" :i
./
3ire 32'3@'31/
adder,bi" a(a%'b%':i')%'32./
adder,bi" b(a2'b2'32')2'3@./
adder,bi" :(a@'b@'3@')@'31./
adder,bi" d(a1'b1'31')1':ou"./
edmodule
SB MDLE( BIT LLADDER.
module adder,bi"(
i!u" #$%& a'
i!u" #$%& b'
i!u" :i'
ou"!u" re #$%& )um'
ou"!u" re :ou"
./
al3a4) 5(a'b':i.
7/24/2019 vhdl-lab work file
13/28
>:ou"')um? 0 aPbP:i/
Edmodule
TEST BENCH
module +ulladder/
I!u")
re #$%& a%/
re #$%& a2/
re #$%& a@/
re #$%& a1/
re #$%& b%/
re #$%& b2/
re #$%& b@/
re #$%& b1/
re :i/
u"!u")
3ire #$%& )%/
3ire #$%& )2/
3ire #$%& )@/
3ire #$%& )1/
3ire :ou"/
I)"a"ia"e "*e i" der Te)" (T.
+ulladder,1@bi" uu" (
a%(a%.'
a2(a2.'
a@(a@.'
7/24/2019 vhdl-lab work file
14/28
a1(a1.'
b%(b%.'
b2(b2.'
b@(b@.'
b1(b1.'
)%()%.'
)2()2.'
)@()@.'
)1()1.'
:ou"(:ou".'
:i(:i.
./
ii"ial bei
Ii"ialie I!u")
a% 0 %/
a2 0 %/
a@ 0 %/
a1 0 %/
b% 0 %/
b2 0 %/
b@ 0 %/
b1 0 %/
:i 0 %/
ai" 2%% ) +or lobal re)e" "o Ji)*
F2%%/
F@%% a%0
7/24/2019 vhdl-lab work file
15/28
F@%% a%0
7/24/2019 vhdl-lab work file
16/28
i!u" #12$%& b'
i!u" :i'
ou"!u" re #12$%& )um'
ou"!u" re :ou"
./
al3a4) 5(a'b':i.
>:ou"')um? 0 aPbP:i/
Edmodule
TEST BENCH
module adder1@bi"/
I!u")
re #12$%& a/
re #12$%& b/
re :i/
u"!u")
3ire #12$%& )um/
3ire :ou"/
I)"a"ia"e "*e i" der Te)" (T.
adder,1@bi" uu" (
a(a.'
b(b.'
:i(:i.'
)um()um.'
:ou"(:ou".
7/24/2019 vhdl-lab work file
17/28
./
ii"ial bei
Ii"ialie I!u")
a 0 %/
b 0 %/
:i 0 %/
ai" 2%% ) +or lobal re)e" "o Ji)*
F2%%/
F@%% a01@
7/24/2019 vhdl-lab work file
18/28
32 BIT CARRY LOOKAHED ADDER
module RARD,1@BIT(
i!u" #$%& a%'
i!u" #$%& a2'
i!u" #$%& a@'
i!u" #$%& a1'
i!u" #$%& b%'
i!u" #$%& b2'
i!u" #$%& b@'
i!u" #$%& b1'
i!u" :i'
ou"!u" #$%& )%'
ou"!u" #$%& )2'
ou"!u" #$%& )@'
ou"!u" #$%& )1'
ou"!u" :ou"
./
3ire 32'3@'31/
7/24/2019 vhdl-lab work file
19/28
+ulladd a()%'32'a%'b%':i./
+ulladd b()2'3@'a2'b2'32./
+ulladd :()@'31'a@'b@'3@./
+ulladd d()1':ou"'a1'b1'31./
edmodule
TEST BENCH
module +or3ard,1@bi","b/
I!u")
re #$%& a%/
re #$%& a2/
re #$%& a@/
re #$%& a1/
re #$%& b%/
re #$%& b2/
re #$%& b@/
re #$%& b1/
re :i/
u"!u")
3ire #$%& )%/
3ire #$%& )2/
3ire #$%& )@/
3ire #$%& )1/
3ire :ou"/
7/24/2019 vhdl-lab work file
20/28
I)"a"ia"e "*e i" der Te)" (T.
RARD,1@BIT uu" (
a%(a%.'
a2(a2.'
a@(a@.'
a1(a1.'
b%(b%.'
b2(b2.'
b@(b@.'
b1(b1.'
:i(:i.'
)%()%.'
)2()2.'
)@()@.'
)1()1.'
:ou"(:ou".
./
ii"ial bei
Ii"ialie I!u")
a% 0 %/
a2 0 %/
a@ 0 %/
a1 0 %/
b% 0 %/
b2 0 %/
b@ 0 %/
b1 0 %/
:i 0 %/
7/24/2019 vhdl-lab work file
21/28
ai" 2%% ) +or lobal re)e" "o Ji)*
F2%%/
F@%% a%0
7/24/2019 vhdl-lab work file
22/28
module mai(
i!u" #$%& a'
i!u" #$%& b'
i!u" #$%& :' i!u" #$%& d'
i!u" #$%& e'
i!u" :l'
i!u" r)"'
ou"!u" #$%& ou"
./
3ire #$%& 32'3@'31'3'3;'36'3'3/
dO d2(a'r)"':l'32./
dO d@(b'r)"':l'3@./
mul m2(32'3@'31./
dO d1(31'r)"':l'3./
add a2(:'3'3;./
dO d(3;'r)"':l'36./
)ub )2(d'36'3./
dO d;(3'r)"':l'3./
)*i+" )@(e'3'ou"./
edmodule
SB MDLE R D
module dO(
i!u" #$%& di'
i!u" r)"'
i!u" :l'
7/24/2019 vhdl-lab work file
23/28
ou"!u" re #$%& dou"
./
al3a4) 5(!o)ede :l'eede r)".
beii+(Ur)".
dou" 0
7/24/2019 vhdl-lab work file
24/28
el)e
r@ 0 @
7/24/2019 vhdl-lab work file
25/28
SBMDLE R SB
module )ub(
i!u" #$%& a' i!u" #$%& b'
ou"!u" re #$%& ou"
./
al3a4) 5(a'b.
ou" 0 a-b/
edmodule
SBMDLE R SHIT
module )*i+"(
i!u" #$%& a'
i!u" #$%& b'
ou"!u" re #$%& ou"
./
al3a4) 5(a'b.
ou" 0 b88a/
edmodule
TESTBENCH
module mai,"b/
7/24/2019 vhdl-lab work file
26/28
I!u")
re #$%& a/
re #$%& b/re #$%& :/
re #$%& d/
re #$%& e/
re :l/
re r)"/
3ire #$%& ou"/
I)"a"ia"e "*e i" der Te)" (T.
mai uu" (
a(a.'
b(b.'
:(:.'
d(d.'
e(e.'
:l(:l.'
r)"(r)".'
ou"(ou".
./
al3a4)
F@%% :l 0 7:l/
ii"ial bei
Ii"ialie I!u")
a 0 %/
7/24/2019 vhdl-lab work file
27/28
b 0 %/
: 0 %/
d 0 %/
e 0 %/:l 0 %/
r)" 0 2/
F@%% r)" 0 %/
F%% r)" 0 2/
F@%% a0
7/24/2019 vhdl-lab work file
28/28
Top Related