|
module sh(a,division,out);
7 ~9 n! u" o; V" X+ J1 ^/ W- d. [; O' x9 P
input [7:0] a;, J1 c& N, z' p: q8 t
input division;3 \3 G% |+ `0 U4 u& W* O3 P* f2 N' a
output [10:0] out;; ~# N& O8 s/ n# ^" m
reg [10:0] out;- Z3 ?0 W# C4 F9 ^! G/ V
wire [4:0] div_8_out;
( b) W" a+ ]9 ?' w5 wwire [10:0] mult_8_out ;! C0 I+ d. Y8 K: U J/ f
% q- F" t; C7 y" f0 ~- c* ^
assign div_8_out = a>>4'b0011;
3 J$ P$ I, S! Q5 `* n i3 |assign mult_8_out = a<<4'b0011;
1 f ?9 Z6 z" h; G4 m- t9 a, h
2 g/ w4 j4 F- ualways@(*)
& F# r1 _7 Y9 D) @begin& x* b, o9 X& ^; p- b
if(division)
0 W9 B4 F2 L$ h3 \3 }, K- l4 K begin
0 {6 F+ c6 A3 n- s8 U! u2 X6 ]+ H L out ={6'b0,div_8_out};
4 X' r9 P7 t( R9 s! k/ M# o8 K5 ? end
' t; w5 \6 Z% {( a! pelse
# f$ O5 ^! W, `7 L begin
( x4 k$ }' C6 R7 r: H9 a out =mult_8_out ;
7 U" | ?) [9 U: r Q( h* y end
?$ X, R6 V7 C! w" J/ E- gend# R% T4 V4 n' O* s) y
1 l0 I8 q: U/ y( p Z$ a! wendmodule
2 {/ e4 _( E. v! @) F0 Z+ N! u' X" W5 n6 n* e2 W5 u$ V
[ 本帖最後由 masonchung 於 2008-12-22 02:22 PM 編輯 ] |
|