找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

[复制链接]

20

主题

163

帖子

2266

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
各位大虾们:
2 V! t- [* l/ Q6 w+ k& q) C                   小弟最近刚刚学习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 | 只看该作者
看了下你的代码。
& u. O! T! ~9 T+ N' Y7 @你的LED定义为5位的:reg [4:0]led,可是你在逻辑部分,却将一个8位的值赋给它了 led<=8'b11111111;
' i; Q. x& J$ T/ }  K/ M
, p# b1 Q) _  X# }还有你延时寄存器delay_cnt定义为13位的:reg [12:0]delay_cnt;可是13位的最大才8191吧,永远达不到12999999。
/ q' K) ^  ?5 c$ J8 {所以才会产生第一张图的warnning。$ n5 }0 h- }4 f/ k: j
至于第二张图的warnning,你把warnning前的+号打开,看看具体是什么warnning

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
3#
发表于 2013-7-17 20:59 | 只看该作者
本帖最后由 zgq800712 于 2013-7-17 21:03 编辑
& [& J% c: \6 T7 N+ \. T
. Z8 [. U( m' Z  D% y7 j) |module led_flicker, s6 u3 T4 L9 p* l/ W2 Q; p
(
2 M. K, D) J* S% d) I6 E$ ?3 ~        led,  S9 H+ O$ m- |, v; l6 g7 N6 {; ]
        sys_clk,5 \1 Y2 e0 Q! Y" {) Y) W7 H+ x
        sys_rst6 W2 D7 g3 t# I2 d% j
);9 B, P) {: T4 E" r' p& H$ m+ P
( I0 \. \5 X: i8 ~* m
//定义输入输出信号5 Q" R. U% v+ i3 J
input sys_clk        ;//全局时钟,26MHZ
6 a! T( j. Y( J0 a1 binput sys_rst        ;//复位信号,低电平有效
  Z: C  v% D" \5 doutput [4:0]led        ;//LED输出信号
2 Q9 `8 m9 {* T+ m; ^: ^* I& @' o2 |4 ^& E( z
//定义寄存器
! t3 V8 n) R( i% p+ ereg [4:0]led        ;//LED寄存器- [/ \4 U& x/ o* i+ A* Z' \
reg [12:0]delay_cnt        ;//延时计数器
# t4 p6 E0 N' e9 c% D
: b6 D2 r: P: j! u+ a//逻辑部分: z' X# C8 H/ J9 }' R
always@(posedge sys_clk or negedge sys_rst)1 Q3 [, ^' ^9 U# i% }$ ]
begin4 V" h) o5 m8 O0 r- ^: _" G
        if(!sys_rst)
+ p* p+ C! j3 X1 N; L                delay_cnt<=13'd0;! G9 b0 e. z  \
        else
$ ?+ T' }- C! W# O1 ~; S1 }                begin7 h0 h) p- a8 Y$ i: c: l* X0 n9 x
                        if(delay_cnt==13'd12999999)- B6 S+ A- T! s, z
                                delay_cnt<=13'd0;
* d& ~: h4 ?3 ~5 N+ P9 w' n                        else% T4 q" m& V4 @: u3 e% \
                                delay_cnt<=delay_cnt+1'b1;' [; ]; B$ N, p0 B
                end       
5 S5 ~' }4 _; C, f$ M) Fend
0 V; l5 {. {8 w( m5 D6 T- q' n, f, [; }9 x9 X: Z: ~" v% V% e4 y
always@(posedge sys_clk or negedge sys_rst)
8 l% B( q" Y, G, ^! ybegin
1 n6 ~1 s* _8 g2 M' w! k" y! f+ f1 W, `+ n        if(!sys_rst)
: @  W, E/ z- z' {/ X: S                led<=8'b11111111;: F$ c( f" n, Q
        else
& [$ d; S; {# M( F; C9 V$ k8 |                begin7 p9 a. d5 i1 Y
                        if(delay_cnt ==13'd12999999)
" [5 ^  k! n- M3 G: s                                led<=~led;
9 ]7 C0 X9 |6 m/ c* {( C  _8 z) v                        else  b1 g6 r% I- y- b. D
                                led<=led;
$ W  R1 W, m- \+ w! F$ C) J; g                end9 y: a, F. M! l  r( V" J
end3 V+ i* {9 E. e

1 O8 }/ w- I( y. X* j' x) `endmodule7 w! Q. c. g$ x

1 e/ b8 L% ]! {: r. {8 q: g, `% t! Y5 T% x
// 13'dxxxxx                     就是13位的二进制数十进制表示, 最多表示十进制就是 0-8191;  按这里你应该用24’dxxxxxx 表示) P$ J6 o# ^# f/ U
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

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

GMT+8, 2025-7-15 08:17 , Processed in 0.057563 second(s), 34 queries , Gzip On.

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

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

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