|
module sh(a,division,out);- g4 t( }/ u" s! @
2 a4 | ^. G% x9 t0 Z% s* V
input [7:0] a;
/ ]3 |. i% _7 G$ T+ Winput division;0 J& D6 W1 R/ G2 b. Z- _# k
output [10:0] out;' @, h$ M1 C4 O, J% G6 y* @
reg [10:0] out;
8 ~8 J% r; P7 w( n* L. Dwire [4:0] div_8_out;, {, z4 N- n) W( q4 S2 h% v& Q
wire [10:0] mult_8_out ;" l) |. K5 N) s* W' i, X f
% I8 v! A3 b, V! H/ @assign div_8_out = a>>4'b0011;% \; m5 f) m7 V
assign mult_8_out = a<<4'b0011;
- w# `* U3 K2 ^. ~
( U3 k0 `; f+ O% [1 h3 ~/ M9 w- Falways@(*)+ e& v0 R7 c$ t" W/ G9 b$ ?+ K1 y) X
begin) R2 p( r! V [ B$ g' |$ y- r
if(division) }2 ^9 E6 k' c- S" f O
begin0 \( U2 T) J( _5 L
out ={6'b0,div_8_out};
0 R% U5 M9 Z3 |' T( c" M. d. K3 {2 c end" r, _- F; u: R$ e0 Y
else. x+ E; B- ~( n: {
begin4 E% [: C/ ~6 c
out =mult_8_out ;
+ h4 v4 A2 q; s0 K1 D: j7 d end
! R$ x$ `- } e+ b/ W3 q! jend7 p0 `* M1 L$ ?
% I, L! u# C# O: r- T' f* H
endmodule; i2 S, m# Y `( {
3 d! k" x: I9 s. X: `0 d[ 本帖最後由 masonchung 於 2008-12-22 02:22 PM 編輯 ] |
|