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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
module bcd_counter(rst, clk, qout);0 C0 G% v+ S# M$ b' }
    input rst;6 w$ h" [" o; U1 ~" Q
    input clk;1 @, C5 {. u+ T+ t/ [
    output[7:0] qout;+ x* W; O- d: h& `( s  b" C$ y9 g

) U7 ^% A# J$ t: v    reg [3:0] low;& P- p3 u# O! ]5 }
    reg [3:0] high;. B/ b8 X( J1 p9 Q/ e0 T" f
0 L4 @5 W$ a" e; \3 o9 M8 e
    assign qout ={high,low};
# c* R% l  C" q1 ^& W& w
# K7 z$ Y- B6 [+ d: _    always @(posdge clk)
% K0 h2 J* e; G  @* H0 F        if(rst)/ l0 S# q: o/ I3 i; Q
            begin
$ Q! P! ?) z, [                low <= 4'h0;$ k+ K% C! A6 _1 R' O; Z% T
                high <= 4'h0;/ K+ n9 G0 W5 y& o: g: E( W
            end
  ^. _3 F) O' A        else
' e: @' K& ~" ]. M            begin
' h% j; `5 V$ U1 P                case(low)
1 X* Y0 }0 q+ [0 j) D- u7 l                0,1,2,3,4,5,6,7,8:
' x" ]' T0 e) x$ C0 U                    low <= low+4'h1;8 I5 `( O  }2 e! f
                9:
) r4 b/ c$ ~$ I8 i) e6 `0 N                    begin2 i' F4 K6 O  E0 r4 M8 S
                        low <= 4'h0;
6 c. v; ]$ g& w. T                        case(high)
* _  S4 u! @0 m( E% T* h9 O                            0,1,2,3,4,5,6,7,8:  U& V/ u, W  u3 B* |- G
                                high <= high+4'h1;# v8 y1 t; d, u6 e/ l1 Z
                            9:+ J/ ]' I1 t9 o$ X8 R1 \
                                high <= 0;/ n: \. \% p' _+ {# A
                        endcase9 |% r5 R* P& W1 v# m* t/ B0 u
                    end; d2 I0 ^7 @% Z. n  C
                endcase' G+ r7 Q  r6 d2 A' X
            end3 N0 Z# i9 O" V1 N
    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)
/ P2 k8 z: E# r4 t# I          0,1,2,3,4,5,6,7,8:  low <= low+4'h1;
, K3 ]. x% ?6 f5 W- O          9: begin
$ e  s& s1 j0 x+ E/ X& q; _" E              low <= 4'h0;" I6 Q) g( J. p
               case(high)
, a1 K2 _" F. `4 C( @2 k                          0,1,2,3,4,5,6,7,8:high <= high+4'h1;( `  E" Z5 I; B7 Z
                          9:high <= 0;
+ s  c3 ^0 G4 X. p% I+ ^" b               endcase& v& S, B/ B% I+ x% W
               end9 Y0 a( V9 M. B$ Q& T4 x1 o
endcase- u" e0 W5 ~2 C3 A9 A' n3 J

) Q( f: u1 C6 C! J3 r0 V! i3 G. e应该这样看,现在看明白了吗

该用户从未签到

4#
 楼主| 发表于 2013-7-3 09:08 | 只看该作者
zgq800712 发表于 2013-7-2 22:13
% U3 \3 v7 I& V. _  w+ Xcase(low)9 z7 |5 f( b. k% m  T' z6 }# V
          0,1,2,3,4,5,6,7,8:  low
/ A- I, }8 x# ^: E4 x8 d4 G
谢谢,后来看是看明白了,但是还是有个疑问,09 19 29.。。。。这几个数有吗?他用到的是非阻塞赋值

该用户从未签到

5#
发表于 2013-7-3 15:06 | 只看该作者
pipiliang 发表于 2013-7-3 09:08 # l8 H8 M- @7 c( q
谢谢,后来看是看明白了,但是还是有个疑问,09 19 29.。。。。这几个数有吗?他用到的是非阻塞赋值

0 O% ?; ~, \; e! y, g  z- N, J  q( a, q00-99 $ m! S# I9 g9 h7 ?" r' e. ]

该用户从未签到

6#
 楼主| 发表于 2013-7-4 09:18 | 只看该作者
zgq800712 发表于 2013-7-3 15:06 & a' R0 ?# Y6 Q, S5 C) x" V
00-99

* T) i( z2 R' q/ q7 v9 R* e谢啦!我终于明白了!

该用户从未签到

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-7-21 05:52 , Processed in 0.125000 second(s), 24 queries , Gzip On.

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

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

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