找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

[复制链接]

20

主题

163

帖子

2266

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
各位大虾们:
+ y8 D' p0 Q1 |! Q2 s2 q                   小弟最近刚刚学习CPLD ,按照例程写了一些简单的驱动,发现过程学习起来,还有许多问题,困惑已久。不知道怎么么解决,希望大虾们支持下小弟。

新建文件夹.rar

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

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

0

主题

28

帖子

300

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
300
2#
发表于 2013-7-17 15:32 | 只看该作者
看了下你的代码。
' F9 e& L% w' u: k) S你的LED定义为5位的:reg [4:0]led,可是你在逻辑部分,却将一个8位的值赋给它了 led<=8'b11111111;
5 q* s: k2 `% C6 ^! l0 q( d) y# @6 |1 o- n: H" ?' h
还有你延时寄存器delay_cnt定义为13位的:reg [12:0]delay_cnt;可是13位的最大才8191吧,永远达不到12999999。4 ?2 }, W3 Z. e5 Q4 s
所以才会产生第一张图的warnning。' a  f, }. U2 T) Y) T/ a, V8 ~
至于第二张图的warnning,你把warnning前的+号打开,看看具体是什么warnning

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
3#
发表于 2013-7-17 20:59 | 只看该作者
本帖最后由 zgq800712 于 2013-7-17 21:03 编辑 % c% i4 Q% X/ X! J/ w

( |" d2 R) C6 W+ y* {; Y4 j2 |! ?module led_flicker
1 }! P0 u4 p! l  ?% k- V(, w% L  n' B" N6 Q) I
        led,
( f6 h$ W% H. q3 x* A. L        sys_clk,/ f. l" Y  F1 V
        sys_rst
6 Q( ]0 q( @$ D$ t);7 J# h% K" q5 `; T/ S" s
( g" ^0 N8 C3 Q$ N( M) g
//定义输入输出信号4 u7 K% v' O6 [) t; v7 y) c; O
input sys_clk        ;//全局时钟,26MHZ+ x, G4 `+ ?3 j2 o6 h) C" u( F0 ^
input sys_rst        ;//复位信号,低电平有效
8 w8 X$ X! j' E- N1 toutput [4:0]led        ;//LED输出信号
3 w2 ]( v7 {1 S' S  A5 T( o; p+ R$ V# C
//定义寄存器
( }( ?) r. j" x+ _reg [4:0]led        ;//LED寄存器' b& B) s5 s7 y% L6 {
reg [12:0]delay_cnt        ;//延时计数器" r* H4 \5 g3 V8 Y' i$ z

( P1 |5 U, q6 C) R//逻辑部分
- M* a/ _& ~2 u/ xalways@(posedge sys_clk or negedge sys_rst)
( Q; m9 v' A: |# x2 Mbegin
1 X0 i, T" D: l" j( F        if(!sys_rst)
3 Q. x5 `4 K+ s) m+ \: ~8 n  |+ ^                delay_cnt<=13'd0;
$ q4 _3 p7 f6 ?- F        else
8 Q% F) @9 E: q7 w3 I' }9 }                begin
# {8 n- X* t3 x$ @# n% [' j2 |                        if(delay_cnt==13'd12999999)
! \8 S( c/ W4 O- y) K* b5 y                                delay_cnt<=13'd0;$ a5 M" J2 \  r, C  ?
                        else
% ]$ I2 l+ _$ r6 F                                delay_cnt<=delay_cnt+1'b1;7 I4 V. p0 B5 C
                end        3 a! f: C0 Q! j
end
8 B) f. N" E' I' P2 \( P$ N* C/ ^" G2 K( c2 e
always@(posedge sys_clk or negedge sys_rst)8 U% W+ Z  u$ Y7 m% u$ E9 G
begin6 H) t+ s3 X7 b& f0 T' ~" \
        if(!sys_rst)6 d- V  Q( Z) t4 g
                led<=8'b11111111;( s" Y" U+ A% r, h
        else
) X+ N7 ]$ M4 z( I7 ]9 h                begin' u% |( S0 k- G2 o! ^6 l
                        if(delay_cnt ==13'd12999999)& B( _# U, H) A: @+ s9 b
                                led<=~led;- |5 F" Q7 `# ^+ Z* O& X- @0 f& p
                        else- a' H3 K" J# B/ p  w$ G- U' H, x
                                led<=led;
, @& ]8 K$ ]" [4 y1 L                end0 H) `1 C# ?; J2 V1 g
end
% p+ w2 V9 R4 P' q
% M( V+ u+ m' R' q+ q; k% X9 [" Lendmodule
5 R2 B/ a% y( p2 o" w
& u6 e) a& s8 g* g2 A5 S  H0 m0 L; _/ N7 \# }' S
// 13'dxxxxx                     就是13位的二进制数十进制表示, 最多表示十进制就是 0-8191;  按这里你应该用24’dxxxxxx 表示( s( d* u) _% R  D* g* P; [
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-24 05:10 , Processed in 0.062200 second(s), 36 queries , Gzip On.

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

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

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