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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
module bcd_counter(rst, clk, qout);- X4 P; l; v1 M% j( u
    input rst;3 K8 K% J# D/ {0 A7 @
    input clk;
8 Z8 N6 S2 B7 R6 Z0 ^$ Y( q    output[7:0] qout;8 w# v5 s. o0 g& P: q* @% J4 O3 z

. P, _. b: L# U0 f% d( J    reg [3:0] low;
$ l/ L! P2 j- o    reg [3:0] high;. @7 B3 L1 t  T5 g9 D

$ W- V6 W& ?4 Q6 K    assign qout ={high,low};2 t$ ^- w, q; R, G* h. U
4 r  x! [9 a2 w  d- d) S/ a4 K! V
    always @(posdge clk): V  @( K4 y  R. Q* i( i
        if(rst)7 m+ t( P* J% r/ H
            begin& I* Q9 b; K& M
                low <= 4'h0;1 V9 p# u  w3 O: T8 e5 x. w2 e0 F6 B. o
                high <= 4'h0;) i# s1 B1 ]; h0 l
            end
& O9 s- G- M  h2 x# {; o        else4 L; y5 }  m2 g5 r* H
            begin5 \2 D; _( l! b& s3 G% [1 q
                case(low)
/ q1 O. @4 n4 `& C) _                0,1,2,3,4,5,6,7,8:
* x& [; Y- }) {# u8 b& a                    low <= low+4'h1;: m3 H8 G3 O; ^7 V2 z
                9:
$ a% ^$ \8 P% W$ h7 @* n# y                    begin
0 f0 u4 i% p7 k4 ^4 S" l                        low <= 4'h0;- H+ C2 i4 H* A3 S+ `8 y
                        case(high)
! |, a3 s& A& W# A" S                            0,1,2,3,4,5,6,7,8:" J- A" Z" Z& x( ^8 c7 X
                                high <= high+4'h1;
4 i' Y8 Q7 _5 m0 d3 G" U                            9:) `: E( J9 h* J# S* b9 J
                                high <= 0;
: a/ |4 d( c; H1 j; u                        endcase
8 i5 Y4 G, @' B  U9 p% Z                    end1 W4 x4 M# _# l8 A( ~
                endcase% V  P4 O' v; L6 E0 p
            end
7 a) I0 z2 \0 V  O    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)" Q; s$ b# e; i, S
          0,1,2,3,4,5,6,7,8:  low <= low+4'h1;! H( c! K  F  `# m9 w
          9: begin/ G9 `0 r0 q2 t
              low <= 4'h0;
, D5 e6 t% l9 m; ?0 x8 G               case(high)* g0 h# Z- [2 K: v' F% Z- i7 B
                          0,1,2,3,4,5,6,7,8:high <= high+4'h1;  ]8 o" s1 P0 k* a  P0 `& m0 P
                          9:high <= 0;+ _% C$ e7 A  x
               endcase
$ m- M2 e5 R/ L7 o0 D               end5 d8 d3 C& F* c8 u' V9 k
endcase1 `, S0 H, k/ G* b- r' E
$ A" i% x5 w  f, L* d4 s/ A2 v
应该这样看,现在看明白了吗

该用户从未签到

4#
 楼主| 发表于 2013-7-3 09:08 | 只看该作者
zgq800712 发表于 2013-7-2 22:13
6 g7 V# f4 v8 I- B: }: m% rcase(low)
, I: S# r% t. u          0,1,2,3,4,5,6,7,8:  low
4 {) y" x9 b6 b% y8 }$ l6 i
谢谢,后来看是看明白了,但是还是有个疑问,09 19 29.。。。。这几个数有吗?他用到的是非阻塞赋值

该用户从未签到

5#
发表于 2013-7-3 15:06 | 只看该作者
pipiliang 发表于 2013-7-3 09:08
( g% w# }7 \% u, `2 ~谢谢,后来看是看明白了,但是还是有个疑问,09 19 29.。。。。这几个数有吗?他用到的是非阻塞赋值

5 E% z9 j- B. R8 ?0 j00-99
) {9 n0 O4 z5 s6 ^  d( Z+ j6 d

该用户从未签到

6#
 楼主| 发表于 2013-7-4 09:18 | 只看该作者
zgq800712 发表于 2013-7-3 15:06
1 a4 K' m' D- I$ s( v1 Z00-99

1 ~& s  T& H, S* 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-10-5 14:16 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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