找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 776|回复: 2
打印 上一主题 下一主题

刚刚入门,只需要在坚持一下

[复制链接]

20

主题

163

帖子

2266

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2266
跳转到指定楼层
1#
发表于 2013-7-17 14:53 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您!

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

x
各位大虾们:7 I1 h" b" x/ b  F' u' u0 q0 R) ~& w
                   小弟最近刚刚学习CPLD ,按照例程写了一些简单的驱动,发现过程学习起来,还有许多问题,困惑已久。不知道怎么么解决,希望大虾们支持下小弟。

新建文件夹.rar

84.53 KB, 下载次数: 10, 下载积分: 威望 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
3#
发表于 2013-7-17 20:59 | 只看该作者
本帖最后由 zgq800712 于 2013-7-17 21:03 编辑 9 y7 @% W" H. n  G9 f( M4 z  ]
; Q7 D  V1 g. F% x9 ?) y7 j) V
module led_flicker0 e, J! F2 B; C
(5 w3 S+ B8 i+ E% H0 w4 C
        led,
  H/ S- g2 ?7 V6 R        sys_clk,2 r2 r, V% R0 t1 ?
        sys_rst/ n; v5 o5 ?3 P/ u2 j* L
);. F- h5 j+ @* C( H7 N

1 B' o$ u" y% Q//定义输入输出信号+ A: M# q1 T) y+ ^1 R
input sys_clk        ;//全局时钟,26MHZ
+ G$ F( s5 o$ K0 P& minput sys_rst        ;//复位信号,低电平有效) A7 K7 c/ T, p$ x& b  ]* ]
output [4:0]led        ;//LED输出信号
9 m0 m7 }3 K% o. C* E+ n0 \
% s" o+ z/ N. p//定义寄存器- K5 K4 R% Q  G
reg [4:0]led        ;//LED寄存器
# ^4 h% u, A! kreg [12:0]delay_cnt        ;//延时计数器
4 w/ c* X- e. i' N/ K
) Q) W7 f* k$ ^- E* \# p$ ]9 r//逻辑部分: V/ Y4 P1 Y/ o& a) ]6 }" i
always@(posedge sys_clk or negedge sys_rst)
7 u( h/ E0 I* q* x9 s. [  Kbegin& i) @: @1 @) D: o" U9 `/ P, j
        if(!sys_rst)
& x/ ]- n) @5 ~  K7 y+ F                delay_cnt<=13'd0;
  o) G  M8 n5 Q        else
( T- U) A4 f. S) r+ s- L: Z5 F3 u+ d! K                begin) \' J4 j1 O$ a: [# K4 T
                        if(delay_cnt==13'd12999999)& u+ S4 p8 y5 H1 |; P+ O
                                delay_cnt<=13'd0;
* |$ s" h% z1 X5 \& J; C                        else
6 d% n4 ]+ o; ]9 @+ d' z1 \3 l6 G8 a" I                                delay_cnt<=delay_cnt+1'b1;
1 M8 G# p, R4 o! g: H                end       
5 R* d3 y5 k: x) |1 @0 K2 e4 Mend
7 e6 G5 e+ L( v& I8 N  [0 a7 V( A3 h- [
always@(posedge sys_clk or negedge sys_rst)) g$ ^' \6 j% r7 q
begin7 S' I4 l1 G3 F# q1 M# N7 E- x* @( V
        if(!sys_rst)
& a" w  f+ v1 V; q                led<=8'b11111111;2 P" Z5 W6 S% w3 |. u; I
        else
. Q7 K% \1 Z% a$ f  @2 z                begin0 _. o' X1 ?+ G" ^
                        if(delay_cnt ==13'd12999999)* N+ J) _6 N$ K: v1 |  N1 d
                                led<=~led;6 D0 o/ `! `# A7 I8 p
                        else- ?# N1 @3 a1 p' [' i
                                led<=led;
, o+ D/ P0 s$ y* C' w3 N1 r8 B                end
* I6 S# T) C4 d. j2 v1 `0 ]end& |! A1 R% ^6 V. _2 c
% d6 g+ e% Q+ k9 a. x# g
endmodule- l$ r# d2 H) R

/ C( M" h5 ]+ M# S% ]  ?
' t2 q9 Q6 {: T5 I( L9 M# L. H- ~// 13'dxxxxx                     就是13位的二进制数十进制表示, 最多表示十进制就是 0-8191;  按这里你应该用24’dxxxxxx 表示# }* C5 x$ Z  t3 q3 Z( J
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

0

主题

28

帖子

300

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
300
2#
发表于 2013-7-17 15:32 | 只看该作者
看了下你的代码。
1 d/ d; {' K. S7 W8 N你的LED定义为5位的:reg [4:0]led,可是你在逻辑部分,却将一个8位的值赋给它了 led<=8'b11111111;  T8 s, b1 k0 r

" _' n0 N' h: X9 D0 x还有你延时寄存器delay_cnt定义为13位的:reg [12:0]delay_cnt;可是13位的最大才8191吧,永远达不到12999999。8 n2 k, ?. k7 c6 N
所以才会产生第一张图的warnning。
2 U# z' p; `  L; g$ c8 [至于第二张图的warnning,你把warnning前的+号打开,看看具体是什么warnning
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-4-17 15:39 , Processed in 0.062506 second(s), 36 queries , Gzip On.

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

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

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