|
module sh(a,division,out);1 z t' p$ Y3 Q3 a
4 P& K0 w4 p6 F* b1 |+ `input [7:0] a;
# G8 r7 i! J: j7 } Q# Jinput division;: y& \. t* n0 k! t( ^/ d8 F5 t, }
output [10:0] out;
7 p: K6 s0 c8 {) F- {reg [10:0] out;
7 T2 h( G& _$ \, wwire [4:0] div_8_out;
5 m9 e: h$ b& Owire [10:0] mult_8_out ;
( P! H: L( S+ G
: S9 i& J; m- |6 i0 A' s$ Hassign div_8_out = a>>4'b0011;) U, I3 [6 f8 m7 B+ a$ J) v( ~
assign mult_8_out = a<<4'b0011;6 ?$ A' `. ?! `
3 o1 j& _0 j# G" V; _& {
always@(*)
, b+ k# ^6 l W& Fbegin4 n/ e2 a/ m4 G
if(division)
: B5 u0 A6 m, Y ~5 r begin* e2 k- h( D% Z' a* E
out ={6'b0,div_8_out};
1 ~' |8 x' \$ ?1 n% u, B. d end
5 |0 F7 n1 ?- Q2 u2 P0 @$ u# {* C; eelse
5 O o5 N6 }. f begin
3 Q" P0 E* K7 T2 T9 z out =mult_8_out ;$ {5 X' N0 B( O) o# v
end
: ~9 j0 x: @- B: a# }end6 ~7 p/ k$ _; Z; d( W
# |# m0 Y) Q m+ E( t- U& Y5 r, Aendmodule
4 w! W2 t) }& J5 y2 x
! ]3 u4 }" N) ~2 ^* I; K8 D[ 本帖最後由 masonchung 於 2008-12-22 02:22 PM 編輯 ] |
|