|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
module bcd_counter(rst, clk, qout);
9 p$ Q0 v, [: f4 B" h input rst;# a. V( N* U4 w: ]2 s2 s
input clk; n" z/ n) A; g1 ^+ _1 b6 T
output[7:0] qout;/ n y1 r1 b; z5 |+ ^4 `
: |& m& P7 {, [6 Y8 V( C( Y reg [3:0] low;" [: \4 g. W9 c5 I
reg [3:0] high;
# D; B8 y- R4 j1 w1 J m c' K+ z( Z& c; B% G. l% ^
assign qout ={high,low};" K- c' V. s: S- H% s: a
6 B9 k3 n+ W7 Y! _! w6 R always @(posdge clk)% U+ C" s, _8 U
if(rst)
1 q; j. L$ E Y/ A begin6 i& ]! f9 s3 ]
low <= 4'h0;
& ?# _/ r" [2 Y ` high <= 4'h0;
6 v) x6 x! @; T3 K* i, y" V end( {5 X! S* v* `4 K* X' Q5 D5 i
else `/ _1 a; E# t; V
begin4 {+ T( V2 D8 F) a9 t& @( ^
case(low)
& [; P: d" |1 J) }6 q: t' k 0,1,2,3,4,5,6,7,8:
/ @- f6 \7 T7 ~7 I: c% }. o low <= low+4'h1;, @0 J- s4 ^8 C% m4 `
9:! p8 W. w3 _1 v) a
begin4 P( o7 Y; f) i$ Z* r. r! n; N, n! o
low <= 4'h0;
8 M5 e% o% k2 j case(high)- G. z% T2 b5 W% J
0,1,2,3,4,5,6,7,8:
2 e. T9 n6 v; Y( S! a high <= high+4'h1;( g5 L# Z* {5 P; h5 T7 D6 V9 R
9:1 m7 W: e9 ^# ^; A
high <= 0;
2 S$ s i' K& I' Y/ \# j( s; j" S. m endcase
8 T4 h" w5 v6 b% ]9 { end9 K5 A6 ^- Q( @. m& \0 m9 @ J. R
endcase
8 R, _# [/ i& { end
, o1 p$ H. h1 e8 ^& w end module |
|