|
module sh(a,division,out);% \) ]( p( }. H
3 Y4 p2 | O, K, U) {$ _+ y
input [7:0] a;1 x+ T9 }8 h }' v
input division;
( z" ?8 z* _8 b+ |: {2 u* S7 _7 Aoutput [10:0] out;3 h: u+ N6 o* K/ R' |$ Y
reg [10:0] out;$ ^& B7 u% h# ?, F) X6 X
wire [4:0] div_8_out;+ b6 A; Z; ~6 d) D, q1 a
wire [10:0] mult_8_out ;# C5 \% o& ^. s# L
5 i5 y: z( d$ q
assign div_8_out = a>>4'b0011;! M; v6 m5 S- o a7 _
assign mult_8_out = a<<4'b0011;& s! \! \/ L2 i O1 y/ p( W" F& `
- y, R4 `7 z9 F5 o. V, }5 ^ J
always@(*), ^5 y; p& @6 m! @; Y$ y
begin
% v5 L4 P v6 |7 S& ^4 F$ l- B, Y# kif(division)
4 V" c$ j3 _4 e begin
* M, q3 D5 b/ ~& s) ~ c& a out ={6'b0,div_8_out};
9 \8 v$ [3 r+ C end9 s/ n8 {6 h/ m6 W
else
M+ Z3 i$ a7 T& o: ]3 N begin
9 A7 K. ~8 Z B/ i# x out =mult_8_out ;
& ^) L3 t3 C9 J( E% T" H5 {' j2 g end
& I; ^: H! [; V) P3 I: _8 G* I5 }end/ B6 b4 }0 y, z/ q5 N) u. f- x" \
7 K: A/ m7 \& f; }4 {; uendmodule
5 U4 w' g6 `- H V7 n4 }- a- a
/ H# W, R3 O2 B! K/ v& a0 h. h[ 本帖最後由 masonchung 於 2008-12-22 02:22 PM 編輯 ] |
|