|
module sh(a,division,out);4 K" D4 I5 t# d) f" z2 R" Q
& X1 S8 a$ m6 G/ {; s5 Oinput [7:0] a;! m& F4 h) U& x' L; w0 }) u
input division;; q( T/ U$ O+ h7 c3 e+ D
output [10:0] out;
. Q+ o M! y* E2 Q% r, ^* r E$ Preg [10:0] out;! f n! O- w; d; J& \' ]+ Z r$ d4 A
wire [4:0] div_8_out;
8 t5 j; e/ V4 K+ rwire [10:0] mult_8_out ;9 I2 @6 K' o2 _
V1 l9 s* Q$ S
assign div_8_out = a>>4'b0011;
4 \7 _, j% }( T. B( Tassign mult_8_out = a<<4'b0011;6 L( z! J8 {3 c( t e+ h G
2 A) h3 z; T3 v* s8 x" Q- B
always@(*)
& r/ b# K% e$ h/ \9 ?& g9 Zbegin
' ^# Q$ P" ~5 R. kif(division)0 d/ `! q0 X- ^ J+ ^- g; E7 U7 K
begin
. ]1 M! e- `3 B+ o! g out ={6'b0,div_8_out};
/ D: `; n# Z' i" A end
* t4 H+ ~& H3 N- yelse) j: ?( c* ^ Z" D" o, K3 a& w9 ?
begin
) r8 i# c9 p& _3 z0 O4 Y# w" S out =mult_8_out ;
0 |0 s: o# h7 \+ b; V; T6 n end
& r1 f( x( g: k6 A1 Gend7 P6 z( V. Y. k4 A) c: t- w
h1 Y+ ^1 u& ^8 R, A
endmodule' D, K) ^1 p' G3 E
5 O z7 P8 }9 f6 V[ 本帖最後由 masonchung 於 2008-12-22 02:22 PM 編輯 ] |
|