找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

[复制链接]

20

主题

163

帖子

2266

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
各位大虾们:" T) q; K+ u# }2 Y, F
                   小弟最近刚刚学习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 编辑
& d% D: T4 D( D& T$ R" U- P/ B
, B. ]9 {* l0 i5 Y* [module led_flicker, A  V) _! r! @5 t8 I! x
(; `& l$ l% y2 L2 P' }# A
        led,
! `- S( e( {2 o  x3 W) H9 _        sys_clk,
! \- Y. z, B+ |( z' F) ~: Q        sys_rst8 l2 R% ~# C- R3 h' f
);
# h& V6 t( y, }  Q0 G8 b+ r2 p1 M7 a9 b
//定义输入输出信号0 v0 G9 V* `4 c; r- I+ u
input sys_clk        ;//全局时钟,26MHZ
# v* G7 b$ |9 V5 f* minput sys_rst        ;//复位信号,低电平有效
& f1 u: I  z8 foutput [4:0]led        ;//LED输出信号2 \- g' _  @+ Z+ D" E

" F) j% \& M5 K& s//定义寄存器9 k  v$ d8 n% w! C5 x
reg [4:0]led        ;//LED寄存器5 b% D5 D1 V. }' v( g( R1 R% _* j
reg [12:0]delay_cnt        ;//延时计数器5 u! F8 t, u% ^2 w& g! C, v

7 V# E. [1 H8 V! X! O//逻辑部分7 L3 o3 U- [7 ~8 q
always@(posedge sys_clk or negedge sys_rst)) J/ q! m1 J% r* ]
begin
% k* ^- p, F4 Q$ u( R6 P+ l- Q        if(!sys_rst)  f+ d( W3 K8 |8 i4 h: {4 S) \
                delay_cnt<=13'd0;1 M0 Y  {/ ?5 k, U' R+ V, `* p
        else5 o$ R5 P6 ^1 s% l, r
                begin
1 e/ f4 {' H4 r* {( H  _                        if(delay_cnt==13'd12999999)
3 @0 u2 [  f4 H2 P                                delay_cnt<=13'd0;
7 b+ G' W2 Y% M3 S& {% t1 ?) q                        else) J) J; \* w: L
                                delay_cnt<=delay_cnt+1'b1;, U% x8 T8 ^: E) M$ e9 p9 ]5 ]
                end        " W3 Y# g5 D, F  c- g, x# u6 U+ H
end
% ]" N3 \. W, n7 E' }) b
( ?: X+ X# n& D; k5 {  K% V) ~! Ualways@(posedge sys_clk or negedge sys_rst)
2 ^/ ^. b* \( b' T1 W1 }0 _begin
$ [0 x1 n; v# k6 a7 R9 @4 H        if(!sys_rst)
5 t3 U( e4 _. `1 O2 {- ~                led<=8'b11111111;
! N4 [  A" u/ o# f, K; k        else7 u. z/ D9 N* F; c2 M
                begin$ u+ y" X2 o! N6 Q! ]
                        if(delay_cnt ==13'd12999999)1 n3 C0 _8 Q# w
                                led<=~led;2 _$ I+ z9 l, e- Y9 K
                        else" o" g, S) G1 H$ Y/ [
                                led<=led;
. l" u- K. p: b$ o" S( S                end" p8 ~" ?# i2 @
end/ l# k( e) ]! h7 V2 k6 C8 F

4 H* J; [. ^7 qendmodule% N3 ?2 ^! L* b
+ U3 a  g/ e0 e; g6 E" Q- \
! U- i6 M4 _. Y* w. g
// 13'dxxxxx                     就是13位的二进制数十进制表示, 最多表示十进制就是 0-8191;  按这里你应该用24’dxxxxxx 表示
8 z6 I* v$ i" I; P% {9 k- z# H
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

0

主题

28

帖子

300

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
300
2#
发表于 2013-7-17 15:32 | 只看该作者
看了下你的代码。! n8 U6 V& y5 h2 p9 q/ ~& }
你的LED定义为5位的:reg [4:0]led,可是你在逻辑部分,却将一个8位的值赋给它了 led<=8'b11111111;3 J( V+ ~  E/ u4 j) g( G

+ U( X* v: \3 e7 `0 v+ J5 N' M还有你延时寄存器delay_cnt定义为13位的:reg [12:0]delay_cnt;可是13位的最大才8191吧,永远达不到12999999。! u& r$ }5 ?5 e, K4 }
所以才会产生第一张图的warnning。
' j8 |5 P3 ]% K) L1 ?至于第二张图的warnning,你把warnning前的+号打开,看看具体是什么warnning
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-24 07:48 , Processed in 0.073072 second(s), 36 queries , Gzip On.

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

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

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