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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
module bcd_counter(rst, clk, qout);
  {  x1 q: l8 _% P8 }- [& ^* K2 Z    input rst;' m8 b# c) R4 B3 ?8 `- g
    input clk;
& t+ W! J. v& f' p$ e% o    output[7:0] qout;5 s: n% J$ N1 n; v* G, ?

6 K) C) O: ~# r7 a/ f    reg [3:0] low;
8 j' w1 `+ z/ R% I    reg [3:0] high;
9 [; {! `3 F4 l7 {2 G$ U
9 V' Z5 ~& o2 I    assign qout ={high,low};
- v' E; L7 o% i# v! x$ }$ [( k% w# N/ P- s0 @
    always @(posdge clk)7 ?# H* _8 `) u6 V) R
        if(rst)$ l; A3 J9 Q5 a6 V2 v7 Z9 U
            begin
# y5 K( C; k+ u5 S* J' h4 y  H                low <= 4'h0;* v, B: S# \+ Y! J* _" P6 |
                high <= 4'h0;
9 l4 p) g9 Y' s( j6 p4 Y            end+ s5 `. F, {. f! ^+ B' x% i, Z, d* h
        else
: o5 C. A+ F. L, a; `. J2 \            begin
  O: m# E, k, o) }* n; B- S: p                case(low)
8 a4 U* h  \& s( Q, Q3 s! {                0,1,2,3,4,5,6,7,8:1 X: i/ \8 F9 E: _9 f5 c# M' J
                    low <= low+4'h1;
5 ]8 B2 A, F5 W  V+ ]0 f  X                9:, q7 l4 H( q2 J+ P  w% o
                    begin# C1 i$ h& n% a* L& ?
                        low <= 4'h0;5 i/ E7 G9 O' X
                        case(high)8 b4 v' b, u) K% U3 y* n0 l, X3 v
                            0,1,2,3,4,5,6,7,8:4 ?/ m) Y6 d0 \9 h; d- D
                                high <= high+4'h1;
: @% D, a+ a( R7 T0 a8 c4 k) d                            9:8 i3 f2 o1 V  E# K! a& d/ O
                                high <= 0;! m0 r# B  t7 b$ T# P: a4 C
                        endcase' x- d+ ~. Q# q  F
                    end
5 h9 A% t0 Y% c                endcase
1 V6 V) `1 I8 V+ z1 I7 M            end! h" [- w; d9 ?0 ?' h5 T
    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)
  [& O% v3 s9 V" x          0,1,2,3,4,5,6,7,8:  low <= low+4'h1;
' z0 J# P' |1 Z3 h. B- I          9: begin
# S- B; a3 q% k; {" \# C              low <= 4'h0;
8 s5 f9 T: n& `/ J! |" y! f7 T/ }1 ]3 G               case(high)
, t# L2 Z( \0 s' a3 c                          0,1,2,3,4,5,6,7,8:high <= high+4'h1;
7 X' Y+ b' Z% y7 g7 W                          9:high <= 0;
3 k  |1 V. p% [  ]0 f" a9 D               endcase! U9 c* E5 k# S2 d+ ?6 \
               end) X* i' U  L& U; A+ K* R/ j% S# ~! U0 |
endcase
5 t  N, Z7 k5 g2 p" k+ Y/ T
5 n9 H) M+ z3 I5 P7 Q2 f应该这样看,现在看明白了吗

该用户从未签到

4#
 楼主| 发表于 2013-7-3 09:08 | 只看该作者
zgq800712 发表于 2013-7-2 22:13 - S: z; f, x5 H9 U
case(low)
* A' S3 [. S, [- x          0,1,2,3,4,5,6,7,8:  low

/ a# _8 |% s9 f7 O) ]谢谢,后来看是看明白了,但是还是有个疑问,09 19 29.。。。。这几个数有吗?他用到的是非阻塞赋值

该用户从未签到

5#
发表于 2013-7-3 15:06 | 只看该作者
pipiliang 发表于 2013-7-3 09:08 : n  M- A; \0 F% x, i, |
谢谢,后来看是看明白了,但是还是有个疑问,09 19 29.。。。。这几个数有吗?他用到的是非阻塞赋值
1 x; g+ l1 B+ o
00-99
- B8 p) ]8 p4 `! e" w9 {* j6 i/ t! h

该用户从未签到

6#
 楼主| 发表于 2013-7-4 09:18 | 只看该作者
zgq800712 发表于 2013-7-3 15:06
7 t; ]# U$ C2 _, A00-99

& X/ j; u& F7 i* n谢啦!我终于明白了!

该用户从未签到

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 23:08 , Processed in 0.109375 second(s), 24 queries , Gzip On.

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

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

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