找回密码
 注册
关于网站域名变更的通知
查看: 1095|回复: 2
打印 上一主题 下一主题

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

[复制链接]
  • TA的每日心情
    开心
    2020-9-15 15:27
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    各位大虾们:/ }4 B+ ?! M) v
                       小弟最近刚刚学习cpld ,按照例程写了一些简单的驱动,发现过程学习起来,还有许多问题,困惑已久。不知道怎么么解决,希望大虾们支持下小弟。

    新建文件夹.rar

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

    该用户从未签到

    2#
    发表于 2013-7-17 15:32 | 只看该作者
    看了下你的代码。
    ( _: S6 K( m! [2 x. D/ W你的LED定义为5位的:reg [4:0]led,可是你在逻辑部分,却将一个8位的值赋给它了 led<=8'b11111111;# P4 l, m; l0 U( Y

    4 o7 j% @& Q9 I还有你延时寄存器delay_cnt定义为13位的:reg [12:0]delay_cnt;可是13位的最大才8191吧,永远达不到12999999。' E2 L# l! f. P$ q: j( R
    所以才会产生第一张图的warnning。3 u, O8 l2 P" u9 |  M6 U* N  h  V
    至于第二张图的warnning,你把warnning前的+号打开,看看具体是什么warnning

    该用户从未签到

    3#
    发表于 2013-7-17 20:59 | 只看该作者
    本帖最后由 zgq800712 于 2013-7-17 21:03 编辑   P  G. g  ~# B5 @. b" _
    4 |8 e! D# ?$ ~& }& X: n. }0 X
    module led_flicker( d3 \1 J  u; B4 e$ V
    (
    3 }( J( o8 [9 m0 N2 z! h& i+ A, C        led,
    + R' E# J6 p% c% w3 e- d        sys_clk,
    2 J& v$ H% k( B) f1 c1 P        sys_rst4 j; z7 j( c+ P; ~5 N+ R
    );
    9 n! V5 n9 m9 L5 C# Q, S! u) W5 H4 q6 M3 D& j' {6 Q0 d8 V; X; B
    //定义输入输出信号) ^5 N& H1 @- o% o  o7 u
    input sys_clk        ;//全局时钟,26MHZ
    ; R. p' O. F! j8 b- z: [& J+ H( Dinput sys_rst        ;//复位信号,低电平有效  Y8 P# n( D; E8 K
    output [4:0]led        ;//LED输出信号( ^  c+ m8 ?# L, Z2 `- a& K- z
    8 z; D6 \  y9 }& h. C
    //定义寄存器  h' S7 T2 U" A& V* o" H
    reg [4:0]led        ;//LED寄存器
    0 [6 V, P5 K. j4 Q6 lreg [12:0]delay_cnt        ;//延时计数器- A! _+ l& x7 u' p) M' X

    ; R/ C2 }2 ~  B8 y& S# p//逻辑部分8 |- t7 U) Q0 B% x  i
    always@(posedge sys_clk or negedge sys_rst)) W. ]7 }$ G! b1 U  T+ e
    begin
    7 ~5 L0 s8 G' X3 |8 y: H        if(!sys_rst)' G; H% @; g: d% H0 M
                    delay_cnt<=13'd0;
    : t; w0 \; G- a. ?0 X* n        else5 N+ O; O% O: E7 p
                    begin" @: I& |% X  S! E* ^! P+ j
                            if(delay_cnt==13'd12999999)
    , x  q5 s* {  b# M0 @                                delay_cnt<=13'd0;. t8 c$ N0 ]" R, D0 A
                            else; H5 l2 @5 p3 s! c! {4 G8 m# r
                                    delay_cnt<=delay_cnt+1'b1;
    + ~  c% M7 M2 R2 R                end       
    4 n, [; a, \# a6 w- D8 G) iend/ \7 q* C# K' @: Z  I

    : q( `) ]  E% W2 Ualways@(posedge sys_clk or negedge sys_rst)9 n2 L5 V  @2 v( f# M2 X* {
    begin' v  }- F' ?! |# N* p+ K' c0 B
            if(!sys_rst)
    1 \5 M+ R/ f6 G/ S* F% O* A                led<=8'b11111111;
      n$ D& s  t& f+ I* y        else: Y! B4 y! K+ h6 A& N4 h) _* G
                    begin
    2 b  O2 k: S$ I' q                        if(delay_cnt ==13'd12999999)
    ' L# O$ ^3 B+ X, ?4 S! ~; A                                led<=~led;
    , ^/ s$ X2 Q6 t7 E5 k6 q                        else2 \8 T6 f0 j5 l( Q
                                    led<=led;
    2 W! I& ~0 \) A9 P% f, O, }                end5 N! b4 _3 X( F( o9 l1 g1 g1 e4 s5 L
    end3 J1 C* q) v; x% y8 m* l4 N, K

    2 Z' N; Z0 g4 p* j6 Z3 ]endmodule1 d- z  ?- x4 H. o9 c$ [

    " i" d9 q% u. u& O' `8 v" b9 l" Q5 m% ]  T# N
    // 13'dxxxxx                     就是13位的二进制数十进制表示, 最多表示十进制就是 0-8191;  按这里你应该用24’dxxxxxx 表示
    7 C. M0 `% C5 }2 j1 I6 w
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-21 20:07 , Processed in 0.140625 second(s), 27 queries , Gzip On.

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

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

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