|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
module bcd_counter(rst, clk, qout);, w! e+ z; v& T* x
input rst;& F6 S0 D6 D) Q
input clk;9 a# G" \& W7 A& v d! t
output[7:0] qout;/ ~* _# U, S- d( i: Y
) p" c/ x6 ?+ S) T reg [3:0] low;! R5 B! ^, _) G1 _. \" v" f0 X
reg [3:0] high;5 c, n& k5 I/ o" e# h7 _+ K+ X7 |
% a6 z0 J" O% j8 B3 q* n
assign qout ={high,low};; Y" ?& G. B ?% p( r; E: M$ r
7 y1 ?; r3 D$ a) A" q
always @(posdge clk)
3 A& z1 n5 \$ J. G- G$ P* }: G. J! B if(rst)% A- X- r! J: v
begin( a9 [/ f. O) C. m3 E
low <= 4'h0;
1 N- z% ?% t" ]1 e9 o high <= 4'h0;
! f( P, Y/ i1 w end/ m$ S8 @* b: D; Q6 p3 z
else8 @/ ^1 g$ J, h
begin/ U6 }& a1 W" K& i* j
case(low)
( f0 w" z, i: w5 x 0,1,2,3,4,5,6,7,8:
& T1 m( c: ^2 v$ m9 e; |8 W low <= low+4'h1;
+ Z" c# _7 b% `4 Y. {6 H 9:/ g% X6 d! z* R4 \7 k
begin1 H( J* U/ @. i ~1 D- g6 y
low <= 4'h0;
1 k: V& ]. ]0 o) Q& e- u. O; q case(high)
" z) c9 z/ ]7 J" q) v 0,1,2,3,4,5,6,7,8:
) c* X! L% s) y0 m high <= high+4'h1;' a. I- V8 o" Y* O4 _7 W
9:! f M# C* |; ^2 ^3 R, ^
high <= 0;
' Q& _. }! C) ?) B$ k endcase
( x2 l. O4 t! w. N end
& R5 `& J- R$ i' Y. f% ]5 T# L4 e' U } endcase* G7 c2 q2 K+ d7 s5 M2 J
end( I7 h* K3 l. G! |, |
end module |
|