|
module sh(a,division,out);% m& k* H" R$ e/ ?* E/ g/ B. [
. [6 n! Q4 k% P+ U
input [7:0] a;
$ |6 r+ n! q2 [, C! Q: N; L* ninput division;
0 Y, W5 t3 {# Goutput [10:0] out;
8 V, n' i# _! n0 M% D: Preg [10:0] out;0 H; a; R- u, X% I* N7 K- I
wire [4:0] div_8_out;
6 O3 P- N& `1 Awire [10:0] mult_8_out ;7 X, ^& H8 i8 A, I! {- x# B9 e& W
8 k1 o1 K! f; |; b) _2 u
assign div_8_out = a>>4'b0011;
9 N4 Q3 d9 _ Vassign mult_8_out = a<<4'b0011;" _ \ _# J" X* V9 G
2 D) a* R% D' f& r5 r
always@(*). S! w$ {1 w' u! z: p, q3 o3 i
begin
, Y) ?6 Z8 h \: ?! vif(division)
. z0 f* w8 f- R1 e5 T. ~ begin
/ b1 X) H. H/ i9 v out ={6'b0,div_8_out};5 q- w8 N& c5 H. u' @+ S; N3 `; m( O
end
# W8 z: t$ Q; O+ velse* u: i$ ~2 T! g8 I
begin
; H- Z+ [& \# \# e* ^* ~5 K5 p) ^! n0 z out =mult_8_out ;% z6 @7 x$ f6 _2 I3 L8 g# q7 ]
end
3 D( D4 ?7 |: e3 zend
. @2 q+ s P: O( \. a8 T- x4 P1 C( W. Z9 c+ z
endmodule% \4 }1 J/ X/ w3 G9 {% d! j: L4 ^
) ^" p5 }: ]$ R$ c$ X% \. ` o
[ 本帖最後由 masonchung 於 2008-12-22 02:22 PM 編輯 ] |
|