|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
module bcd_counter(rst, clk, qout);
3 V9 s$ L* r* h# C input rst;+ Z+ ^2 }5 W0 d) `
input clk;1 V8 |, x8 q; P! F4 K+ E
output[7:0] qout;6 q0 B' J' f% E6 _. g
9 t# n8 w8 _% N( M6 f3 R
reg [3:0] low;
$ D" o0 s6 x) |, v( T k5 Z, C, B reg [3:0] high;
% W a5 _3 N6 f* ?) B5 n
+ G8 [/ n0 x" D, O6 m# e0 p assign qout ={high,low};6 N+ T& W9 Q/ A$ x2 V& Q9 R
+ k* M( l# w' W& F& W$ | always @(posdge clk)
7 c% T& Y: `! a& f4 n( Y' q6 \2 l if(rst)
; U0 L' G% f: i( p3 t2 N% R4 D1 b begin& t$ D/ v6 {+ i; q- |! V( r0 K# z; l
low <= 4'h0;
) W* a# w1 G4 v0 y: j# X% K high <= 4'h0;
* `& F7 w. ~! ^# O) \+ h3 E end$ q) x, B! l8 F1 C; b
else* n/ y# o! ?6 Y- j
begin( {7 F& v3 r; D3 N
case(low)
( m) S3 c& u) v- J* k: Q: i! _0 f5 h1 ] 0,1,2,3,4,5,6,7,8:
) M- N I! n; U5 j+ V! W/ B0 k" g3 } low <= low+4'h1;7 f/ i. s- i- m% n& u% M: }1 P
9:$ _( Y0 _6 d. u
begin
9 w( O5 e, {3 D( Q low <= 4'h0;2 v+ `4 g# N8 E
case(high)
! l8 } p! g& B5 Q. D 0,1,2,3,4,5,6,7,8:
1 z% E% _' x( r7 ?$ c" }/ D# D; W* q high <= high+4'h1;. ?. l } q6 U% }6 l$ I
9:! a# _& q3 V9 t* j" c5 d2 c! c% K! c
high <= 0;1 H# ^8 _, t% w6 l9 J: e2 q
endcase, G$ \" ~( N3 c/ Q6 @! m$ n. e
end
; Y8 Y2 Z6 R. u2 j. o endcase7 t u8 j5 ?7 W9 D
end% S# R6 e. h, }7 P; W; r5 o% i* \
end module |
|