找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

[复制链接]

20

主题

163

帖子

2266

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
各位大虾们:
6 U* {7 H4 k. N. n2 ?7 \" T% _                   小弟最近刚刚学习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 | 只看该作者
看了下你的代码。. n9 N% Z  L/ g
你的LED定义为5位的:reg [4:0]led,可是你在逻辑部分,却将一个8位的值赋给它了 led<=8'b11111111;
; E$ Q) X- t% C* _* G! z, \4 O" ~6 N9 R% M  W5 I% W/ U
还有你延时寄存器delay_cnt定义为13位的:reg [12:0]delay_cnt;可是13位的最大才8191吧,永远达不到12999999。
3 C! T: u! b$ O: G& J所以才会产生第一张图的warnning。
/ s! i# G( r' P/ v0 j, y至于第二张图的warnning,你把warnning前的+号打开,看看具体是什么warnning

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
3#
发表于 2013-7-17 20:59 | 只看该作者
本帖最后由 zgq800712 于 2013-7-17 21:03 编辑
9 @2 [0 F0 B, ~# B9 }3 |7 @- [
5 N8 p; M3 O. Q/ J5 W3 j9 p& Smodule led_flicker- {4 j: N4 y7 E, |
(% f( F8 t" ]- E' Z* t; q8 {( P
        led,
1 M# p, Z$ x+ J- `        sys_clk,
9 ^1 ]! b. q6 Q1 {! i, \        sys_rst) e6 i7 f" z5 i  O
);: m9 V; w; a6 d

+ B( g6 Z+ ~5 Z& T! F8 r5 ~//定义输入输出信号( a" P. ?, j$ g# b( C
input sys_clk        ;//全局时钟,26MHZ
" I: ~1 b. X: Q  D$ Minput sys_rst        ;//复位信号,低电平有效
6 r( Q% g9 f: Q: k5 ~2 J8 coutput [4:0]led        ;//LED输出信号: t% U, f! r2 x% E# I: p

8 i  q2 Y$ p* l% G//定义寄存器8 p$ t: j. M8 V5 [* F* |
reg [4:0]led        ;//LED寄存器! J/ H, e/ [- ^: M# j
reg [12:0]delay_cnt        ;//延时计数器
; |- v7 y/ q; ^0 A$ [; m  v  I3 |* Y# j5 W( [
//逻辑部分/ z! `4 u+ Y0 |: z) G
always@(posedge sys_clk or negedge sys_rst)% n/ i, X1 ]1 y1 w5 B3 u6 V
begin. ]  v1 `" ~) |
        if(!sys_rst)* u7 m4 q& a5 Z! q* l
                delay_cnt<=13'd0;
+ f2 ^6 n, X3 [; R* d- m        else
+ I; K, p5 T; j" N                begin
% C3 y' W% ~' o# B                        if(delay_cnt==13'd12999999)
! B5 n- L8 `/ b# z0 A& G3 ]1 y, E: k                                delay_cnt<=13'd0;
& s" f' m0 I: x7 B. T$ X, ~" e. U                        else. W( S3 A' |! f, v4 J
                                delay_cnt<=delay_cnt+1'b1;) d: p% H5 J% R9 w3 t3 `5 Z6 Y+ b) Y
                end        . a0 L6 q  i0 ?# B8 c$ E
end
; V* w; H* U% j7 T3 d% k% v3 o7 g5 P0 z+ ?; A/ Z. ~
always@(posedge sys_clk or negedge sys_rst)
% [7 a* S- Q$ Abegin  b% _8 F. V& G9 }- X
        if(!sys_rst)
5 a. Y) ^0 q- N) K" @3 o5 T                led<=8'b11111111;
- W+ a+ x9 A5 r& N- E8 E        else
6 ^8 U: E' p$ A                begin1 A# L- K0 |% ^- H& y! c
                        if(delay_cnt ==13'd12999999)$ Q6 J6 b3 ]0 Z0 H+ I! P3 `
                                led<=~led;! y; U' d6 X, K& f" Q
                        else% H' K- d: y" G
                                led<=led;& m8 Z" E; I5 R0 Z5 G3 O( y
                end
$ J: h: Y, }7 s- i9 f8 z" g0 u9 ]9 Aend. I# G# `( r/ ?

/ j2 E. `2 @# O9 dendmodule: J3 A) s3 h. V5 m

% ?! c, H! s: V- M& l
" _! ]) |4 S0 C9 H3 K// 13'dxxxxx                     就是13位的二进制数十进制表示, 最多表示十进制就是 0-8191;  按这里你应该用24’dxxxxxx 表示
1 Q9 h" ~$ m$ d8 a6 r4 W1 z
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-24 04:55 , Processed in 0.061041 second(s), 35 queries , Gzip On.

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

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

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