找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

[复制链接]

20

主题

163

帖子

2266

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
各位大虾们:
; M9 O% [" x+ V- W% Q; W! i                   小弟最近刚刚学习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 | 只看该作者
看了下你的代码。
2 E5 @* K, G' N; V' B. ]你的LED定义为5位的:reg [4:0]led,可是你在逻辑部分,却将一个8位的值赋给它了 led<=8'b11111111;
. T1 P% h5 e* k! ~) n% Z: a. g- O1 ?! X
还有你延时寄存器delay_cnt定义为13位的:reg [12:0]delay_cnt;可是13位的最大才8191吧,永远达不到12999999。
$ q3 N0 O# `9 e; J7 b3 h' z) D- C所以才会产生第一张图的warnning。
- t; L& g0 p* N$ \! p至于第二张图的warnning,你把warnning前的+号打开,看看具体是什么warnning

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
3#
发表于 2013-7-17 20:59 | 只看该作者
本帖最后由 zgq800712 于 2013-7-17 21:03 编辑 " q$ r0 k2 {* K% L5 g9 |
0 W( N% U# g5 _3 O" j: X
module led_flicker
2 |* ~# s2 ]7 p3 _# B6 [(
% ?8 G% f6 y8 r1 r% n; D        led,
4 R+ t& l, P; v) O        sys_clk,
( k1 D9 e" V0 i3 J        sys_rst+ P/ ~5 r( N" Q2 X8 l2 f6 g
);
% {0 @! ?- r0 o3 Z1 i4 P+ n7 ^: I6 ^( |9 T
//定义输入输出信号
- p) w% Y: K7 m4 Qinput sys_clk        ;//全局时钟,26MHZ
& b3 n. |3 s& r- `7 N, m/ J7 M- sinput sys_rst        ;//复位信号,低电平有效
( u4 s* O3 |7 `4 k$ N; B8 loutput [4:0]led        ;//LED输出信号) D2 ~/ H: x$ v( O( H; \7 m

. H7 g$ \6 Z' s//定义寄存器
5 a: W+ `" I: F1 Breg [4:0]led        ;//LED寄存器
. s, ?! O: H+ ]$ C- ]8 U" f9 treg [12:0]delay_cnt        ;//延时计数器
0 J9 B! L0 f/ [3 {3 H7 s5 Q( I& Y+ I+ F/ |8 r7 h4 c7 o8 z
//逻辑部分% f# e0 O5 Q( M1 \" M2 L
always@(posedge sys_clk or negedge sys_rst)
: ?9 s6 F. P& `" Qbegin( B& t* g' J* p* T& b( p
        if(!sys_rst)
5 }  U( ?' y3 z( D$ m                delay_cnt<=13'd0;. q$ Q( H1 H1 s& @6 C0 R4 O
        else
! F  Y& [6 T. h4 e/ `6 P                begin
) j3 m# z6 L% P                        if(delay_cnt==13'd12999999): q) K* J' u8 U( x' }
                                delay_cnt<=13'd0;+ b- @( m0 G5 q6 g
                        else
5 n( b- `: |' u$ g8 j9 ^                                delay_cnt<=delay_cnt+1'b1;
8 ?, Y/ G0 n* ?% L+ ^                end       
9 w1 }: A; O: a( rend
+ x# k9 n  D! W' t9 V# e- A+ ]  m9 y7 i1 C  }  f
always@(posedge sys_clk or negedge sys_rst)
3 i& o3 D! U0 y9 G- T# zbegin4 j$ g. B* C, O' K9 G1 l( Y7 S
        if(!sys_rst)
3 \- b8 A; z. [5 o, N) p5 f                led<=8'b11111111;% a6 B# g! M  l. \1 b2 w
        else
8 O$ \( l0 N' h! _: W                begin; B  `# P) @% M1 ]2 l2 K9 b
                        if(delay_cnt ==13'd12999999)
( Z0 b  X) {/ `& e! q                                led<=~led;
1 V0 U/ R/ U) t; p8 }/ O( S                        else
: H* b$ l) l4 ?- P( r3 y7 f                                led<=led;; R3 S2 V$ N  Z  H" J6 O
                end! r$ A4 p: s- G- y, l1 @
end
9 Y7 W% s* O9 y  Z% S9 Q* z' F! K) A+ @) T5 u. Z6 ~5 e* _( W; s6 t
endmodule- Q% }' W$ r9 y4 x+ Q

  _# C( d& N* O# c0 ?8 P* x' D- d' J' B) {+ O' N4 i
// 13'dxxxxx                     就是13位的二进制数十进制表示, 最多表示十进制就是 0-8191;  按这里你应该用24’dxxxxxx 表示& s: T/ z) i) v& V* J; |
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2025-4-8 23:51 , Processed in 0.061445 second(s), 35 queries , Gzip On.

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

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

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