|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
module bcd_counter(rst, clk, qout);
{ x1 q: l8 _% P8 }- [& ^* K2 Z input rst;' m8 b# c) R4 B3 ?8 `- g
input clk;
& t+ W! J. v& f' p$ e% o output[7:0] qout;5 s: n% J$ N1 n; v* G, ?
6 K) C) O: ~# r7 a/ f reg [3:0] low;
8 j' w1 `+ z/ R% I reg [3:0] high;
9 [; {! `3 F4 l7 {2 G$ U
9 V' Z5 ~& o2 I assign qout ={high,low};
- v' E; L7 o% i# v! x$ }$ [( k% w# N/ P- s0 @
always @(posdge clk)7 ?# H* _8 `) u6 V) R
if(rst)$ l; A3 J9 Q5 a6 V2 v7 Z9 U
begin
# y5 K( C; k+ u5 S* J' h4 y H low <= 4'h0;* v, B: S# \+ Y! J* _" P6 |
high <= 4'h0;
9 l4 p) g9 Y' s( j6 p4 Y end+ s5 `. F, {. f! ^+ B' x% i, Z, d* h
else
: o5 C. A+ F. L, a; `. J2 \ begin
O: m# E, k, o) }* n; B- S: p case(low)
8 a4 U* h \& s( Q, Q3 s! { 0,1,2,3,4,5,6,7,8:1 X: i/ \8 F9 E: _9 f5 c# M' J
low <= low+4'h1;
5 ]8 B2 A, F5 W V+ ]0 f X 9:, q7 l4 H( q2 J+ P w% o
begin# C1 i$ h& n% a* L& ?
low <= 4'h0;5 i/ E7 G9 O' X
case(high)8 b4 v' b, u) K% U3 y* n0 l, X3 v
0,1,2,3,4,5,6,7,8:4 ?/ m) Y6 d0 \9 h; d- D
high <= high+4'h1;
: @% D, a+ a( R7 T0 a8 c4 k) d 9:8 i3 f2 o1 V E# K! a& d/ O
high <= 0;! m0 r# B t7 b$ T# P: a4 C
endcase' x- d+ ~. Q# q F
end
5 h9 A% t0 Y% c endcase
1 V6 V) `1 I8 V+ z1 I7 M end! h" [- w; d9 ?0 ?' h5 T
end module |
|