|
module sh(a,division,out);
( [, B) d" T% v" T3 V5 Y/ m8 e9 f2 k7 X+ q; H2 e
input [7:0] a;
8 }7 `$ U* e% L1 c, P6 xinput division;
2 u7 ^# ^- o J( soutput [10:0] out;; L( B( v4 n& W* w" |1 i; m
reg [10:0] out;
' X# Z+ ~5 z0 W& Q" ~wire [4:0] div_8_out;8 ?. F* U, ~3 l1 n+ _0 X2 y
wire [10:0] mult_8_out ;
( ~' m/ @$ b1 ]. z
' v( V4 H) U, K% y! w+ Z. uassign div_8_out = a>>4'b0011;
' W7 j( \; y* q9 qassign mult_8_out = a<<4'b0011;' ~' x& a6 b- w6 `/ ^; R, i/ a a
# J! M3 _9 [; G" g9 g
always@(*)
$ ~/ m7 P; _/ ?5 O2 sbegin
8 m+ U3 P/ W- Q: R hif(division)
2 x$ x; Z+ C# ?- T+ b! l% l begin+ U9 I' l; o+ |" m% V+ e8 x6 r# |9 n
out ={6'b0,div_8_out};5 K9 p) g1 g. z$ l0 }
end
* A+ a2 o0 r' e0 helse4 Z& C1 t {7 ?! h0 } t
begin- d( u. \ |3 T; [$ A& u* [
out =mult_8_out ;1 b m9 y, r/ j8 e+ E
end
0 @6 J6 V5 a* o. q3 Nend$ \, E9 i, `1 T9 s
1 L" D, d8 l$ k, v; bendmodule: Z9 ?- j8 Q7 ~& D
0 H5 W7 T. o) F$ e( g3 z$ R+ p[ 本帖最後由 masonchung 於 2008-12-22 02:22 PM 編輯 ] |
|