找回密码
 注册
关于网站域名变更的通知
查看: 1033|回复: 7
打印 上一主题 下一主题

这是一段十进制计数代码,请教大神是怎么实现计数的?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-7-2 18:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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  

该用户从未签到

2#
 楼主| 发表于 2013-7-2 18:05 | 只看该作者
我怎么看都是:00 01 02 03 04 05 06 07 08 10 20 30 40.。。。。。。请大神指点

该用户从未签到

3#
发表于 2013-7-2 22:13 | 只看该作者
case(low): T  y; N8 Z- V8 b" }2 n* z# R
          0,1,2,3,4,5,6,7,8:  low <= low+4'h1;
+ X: H) X4 L1 ~" E  ^7 I4 g+ B8 w5 O3 ~          9: begin
( C+ W! I8 ^7 S- L; j  q( i2 b' v              low <= 4'h0;, q( p" P; J# [: i# q# |0 \- W
               case(high)$ L1 |7 |( B5 Z7 ^+ g2 j, T! i3 [( {
                          0,1,2,3,4,5,6,7,8:high <= high+4'h1;- W# [5 q6 t! c
                          9:high <= 0;
, J4 ?( E4 X, n% x( [" L, O2 F9 m* ?               endcase
  l2 H/ K9 E( X, ?               end
* M- e) W+ a4 g6 Z% { endcase
1 R2 J1 i: ]- R5 t* d( E: D
- H& E" ^! g) p4 B应该这样看,现在看明白了吗

该用户从未签到

4#
 楼主| 发表于 2013-7-3 09:08 | 只看该作者
zgq800712 发表于 2013-7-2 22:13
+ P3 h' F3 ?6 C( ycase(low)- {3 I% `: j/ r& P
          0,1,2,3,4,5,6,7,8:  low

; n/ I6 ?& _7 \9 K谢谢,后来看是看明白了,但是还是有个疑问,09 19 29.。。。。这几个数有吗?他用到的是非阻塞赋值

该用户从未签到

5#
发表于 2013-7-3 15:06 | 只看该作者
pipiliang 发表于 2013-7-3 09:08
! d! j8 {& r; C谢谢,后来看是看明白了,但是还是有个疑问,09 19 29.。。。。这几个数有吗?他用到的是非阻塞赋值

4 K  _: r% R: i# a' q. A4 w1 S" u1 e00-99
1 S& |! y: m; X8 R

该用户从未签到

6#
 楼主| 发表于 2013-7-4 09:18 | 只看该作者
zgq800712 发表于 2013-7-3 15:06
) J/ a$ U8 `8 M  O* C" h00-99

" T' I5 v% Q  w. @谢啦!我终于明白了!

该用户从未签到

7#
发表于 2013-7-12 10:29 | 只看该作者
这种写法跟写C语言一样了,,这是设计电路,这样的写法实在不规范

该用户从未签到

8#
发表于 2013-7-12 11:45 | 只看该作者
个位可以弄成0-9计数,十位可以用各位等于9的时候做时钟时能计数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-31 07:15 , Processed in 0.125000 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表