找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

[复制链接]

20

主题

163

帖子

2266

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
各位大虾们:% M: K3 n/ l  |7 k
                   小弟最近刚刚学习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 | 只看该作者
看了下你的代码。) o3 o; }/ p* J, l+ O
你的LED定义为5位的:reg [4:0]led,可是你在逻辑部分,却将一个8位的值赋给它了 led<=8'b11111111;/ n  T+ @! L5 A  y- J

; h7 }2 q: X% o3 k) Y, y还有你延时寄存器delay_cnt定义为13位的:reg [12:0]delay_cnt;可是13位的最大才8191吧,永远达不到12999999。: r5 b$ y+ V/ y; p0 Q
所以才会产生第一张图的warnning。
. Q/ Z# [  Q" ^) ~至于第二张图的warnning,你把warnning前的+号打开,看看具体是什么warnning

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
3#
发表于 2013-7-17 20:59 | 只看该作者
本帖最后由 zgq800712 于 2013-7-17 21:03 编辑
$ N7 U2 F& o; ]% b1 O8 M7 u0 r
; X  `$ n# z$ M0 V2 {module led_flicker4 \* @  g9 L$ }- }% Q
(
5 v% i, i7 A5 Q0 u2 F$ ?. m) ~: Q+ w        led,
2 |1 F( T* l9 W6 S        sys_clk,, w) W! |# f; W# Q- S' Z& s
        sys_rst* ?' Y* y$ G: U6 [6 Y
);; Y$ h  E6 `8 B4 Q

7 r  {5 V; L2 E8 }//定义输入输出信号1 H. g5 r2 [: k* `
input sys_clk        ;//全局时钟,26MHZ
$ R( N* f8 j  l, E( p5 E; ninput sys_rst        ;//复位信号,低电平有效# `8 z0 m0 g+ W  P5 ^
output [4:0]led        ;//LED输出信号2 ]6 ^) H9 J% F1 U% a
% A, U) X& \( G- \& V- V5 d* ?& k- V
//定义寄存器9 B: ^  E9 n; G) ^: v
reg [4:0]led        ;//LED寄存器4 o6 I* F" w. c: p
reg [12:0]delay_cnt        ;//延时计数器
' b* R/ R8 c9 \3 g+ V/ p5 S% a6 V0 m+ }2 Q9 e2 K! {
//逻辑部分1 c& _: f# K% z0 A
always@(posedge sys_clk or negedge sys_rst)
5 p- M" Q" a2 T5 V4 Tbegin( k, }: n" ?& {
        if(!sys_rst)) n. q7 }/ T+ Y0 C# U8 V
                delay_cnt<=13'd0;
- v& r% o! L4 l) J8 K( |4 M* Z% h& R4 p        else5 y& I& Z0 H  d
                begin' B5 x5 k- X6 f
                        if(delay_cnt==13'd12999999)8 t: q4 W: Q" C* r9 m: h
                                delay_cnt<=13'd0;( S8 e% H' }& s3 W& p) E
                        else
% M" j8 b, F: z% h7 X1 T& H' \                                delay_cnt<=delay_cnt+1'b1;/ i4 S1 E/ P. T  v' {: o# J
                end       
3 ~$ W+ @( s0 v7 h7 a# B% Aend
5 X' N6 S1 A+ P- o: Z5 D
( S: B# ^1 y* [) D/ H2 Xalways@(posedge sys_clk or negedge sys_rst)
: w1 S% i# j+ [8 Q# A* N7 e( o3 fbegin- g* P) a# Z; Q4 {9 e+ g4 g
        if(!sys_rst)6 N1 j  F) T. M) _7 ?! [. O+ z. g
                led<=8'b11111111;
; w6 g- D1 Z: O+ K        else
' {& G  \7 C: B8 J+ `4 X# [- l                begin
3 `7 t; x) w8 J! O" v* a9 @                        if(delay_cnt ==13'd12999999)
) f+ [! o9 @5 D; d- B                                led<=~led;# g" e) y+ S1 S6 o) u/ |  x: O5 o
                        else
- T1 r: J% d7 _, t; }# W9 @                                led<=led;
% u, F; k/ B9 w, ~8 n                end
* T$ s8 N& T2 E3 J7 @3 o% C- P# k  Rend
) G/ K9 ?# c+ b9 J7 E3 x# l( M. m  @6 `' l- c
endmodule5 T. |8 X  e% E' b+ f
2 K$ j/ _1 C2 k! A3 v

! b- h; w/ t* t( x: ]1 H// 13'dxxxxx                     就是13位的二进制数十进制表示, 最多表示十进制就是 0-8191;  按这里你应该用24’dxxxxxx 表示- v! p, F/ z3 ~5 s/ L4 L! O# y
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-28 01:08 , Processed in 0.062468 second(s), 35 queries , Gzip On.

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

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

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