|
module A2(2 w9 @3 k7 H" c2 D# c6 o9 B y
input clk,0 ?6 i1 S+ |) g% ]5 B- a
input [7:0] A,: v1 E0 ]3 p- E. v
input [7:0] B," J) U6 i& `- I% t, [. H( f' V y5 P
output reg [15:0] F
2 f0 R2 N! x/ U8 l' o );2 ^) C7 P+ c' s2 g: {, u
reg [7:0] P;9 q3 P% o5 ^! D8 n4 C8 L
reg [3:0] Cn=4'b1000;2 f! z+ ?$ r! H
reg [7:0] Y;
$ S/ K% u* e* k3 C reg C;
( C6 x7 D, l3 I always @(posedge clk)begin
- W2 S- H: d/ q k# y3 K if(Cn==4'b1000)( P! |8 C- P ?5 i \# ^! @2 Q) Y! E/ e
begin
- n ?5 s- _ h; |, e P<=4'b0000;3 R3 e/ g7 `, i
Y<=B;
) V7 q8 |" K, B Cn<=Cn-1;9 {& o" k9 O/ }2 c% S
end5 y) `1 l) i( Q
else if(Cn>=4'b0000) H* v4 Q- u3 e$ u" C
begin
& _7 `, V3 w- o* v' ^ if(Y[0]==0)
1 s6 C$ P# ] ~! z) T; k# o- n8 ~ begin
; z0 p4 Y6 ^- O0 @1 t7 v, p& ` {P,Y}<={P,Y}>>1;
3 ^ z5 S+ H5 t9 q% i+ c- S6 W D end
7 H* a( E7 ~: ]5 F5 j& S& d# }6 }* l else if(Y[0]==1)6 d2 b( E4 ~3 D( m0 D
begin& l3 n \: l& R0 E" Q, p2 O
{C,P}<={C,P}+A;% p+ ~. t# I2 U$ o* s L
{C,P,Y}<={C,P,Y}>>1;9 U: H3 v6 }* a$ i' m1 Z
end
( ^! h; h* l y0 s Cn<=Cn-1;9 j& i2 S; Y1 M* \" E3 V
end
$ g7 r9 r' c# t0 g `% } else / n5 Z3 Q4 J: Z" h6 h" @6 ?2 O
begin/ H, h+ C/ J- l2 z' ]5 A
F<={P,Y};* C1 S* @# k3 g5 {6 N7 R0 Q0 R& r
Cn<=4'b1000;
+ a' b; U+ D: Q }" _* |: \1 D end3 k# z) u. l( c4 p
end
9 x1 z6 r' W6 E6 C4 gendmodule |
|