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

FPGA 对IO属性分配时,缺少了key,clk这两个逻辑,请问是什么原因?

[复制链接]
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2022-8-15 15:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

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

    x
    FPGA 按键控制1秒计数器的启动与停止来控制LED[7:0],每当满一秒时,led[7:0]+1。编写程序后,对IO属性分配时,只有LED逻辑,缺少了key,clk这两个逻辑(如图),请问是什么原因?本人刚学习FPGA,希望大佬指点一下,非常感谢。
    * {; @" o! p- F: U////////////////////////以下为代码部分,写的不好之处,请大佬批评指导,(FPGA资源为美高森美A3PE)
    * ~; B: E) l) R' L' I$ Mmodule keyin( clk,led,key1);
    " P3 M  p% v& m9 y
    4 p8 u7 e( k8 _: iinput clk;3 j9 U/ v6 `; \# k3 s" @
    input key1;
    # ]# @) c( i! [7 }
    ( T# ]1 \0 V: y0 l9 ooutput led;" e- I1 d; p4 F$ J5 a( o5 Y
    5 b. m0 M& N  ^6 s, s  L
    //software reset
    / Q! r4 e; d: s3 n# U7 Qreg [31:0]rst_cnt=0;5 s+ t# s! |! ^1 p3 K
    reg rst_n;  y" m: _& |  E# a

    & {4 ~( f* n( J; _always@(posedge clk)begin
    5 l8 E  N% k9 C5 w    if(rst_cnt==32'd39999999). e0 Z1 N& q5 M
        rst_n<=1'b1;; k, F0 q7 l: k0 H
    6 L7 o1 H- O* x7 r+ o3 J% Q
        else# ^! s: j8 _, f0 E! o) s
        begin3 H8 A. E2 D$ @' Z; W
        rst_cnt<=rst_cnt+1;: q. m! W, {! h$ A% `1 Q8 @
        rst_n<=0;
    6 ]9 H) z; W) s8 G* K, K    end
    * X' J8 F) a# kend. K' T4 \! s5 \- P: ?9 f8 [6 q

    + K. m" f1 ^) n( L& A//check key change
    7 H* \7 W1 e0 E0 X2 D. ?) |- `reg low_sw1;3 H: U, r  u  ]& }
    reg low_sw1_r;3 M4 V! J! H9 t1 R$ t
    reg [19:0] sample_cnt;) t7 b; u# S& _" i& ~
    # |3 Z! o3 G" ~; j  T2 f% t) @
    //key_a' z3 m! {; N8 s& U- h9 m
    always@(posedge clk or negedge rst_n)begin' L% _- Q5 [5 @4 `; I" V
        if(!rst_n)begin8 a! V) Z2 B' b0 b
        low_sw1<=1'b1;
    ; f$ }, @% L5 a' M3 p3 h1 r2 m    sample_cnt<=0;( o5 ~- \- m5 U0 t" v* p" A; H7 f) m
        end
    0 R& p/ `  p" g5 l. e7 L    else if(sample_cnt==799999)begin
    , P1 J' t) d5 A# z" S* l- D2 B. E" Z    sample_cnt<=0;
    7 N; H4 g5 o. n, M( B( k4 ?" k    low_sw1<=key1;
    ! w" L1 X0 ]* x& Z9 J/ O2 v" r    end# `* d4 `4 T- y" y$ G
        else
    . R# F0 x0 \1 Z" O' P    sample_cnt<=sample_cnt+1;
    , z6 J7 h, x: ^, [& v' q( U1 }5 xend5 q  V, B# F- R

    . s5 L% L) e# P! m1 Ualways@(posedge clk or negedge rst_n)begin. R" D- T) R* ~4 Z
        if(!rst_n)begin
    ' d- D. L) y2 i% _        low_sw1_r<=1'b1;
    5 a" m, |; o7 Z) L. I* k  Oend# h1 p: q( q! L- ~. d, u( S
        else; b  a2 q1 T! {& e5 o
            begin9 t5 d, c: C, K, g, J
            low_sw1_r<=low_sw1;
    : B1 q" \+ }3 i% ]9 G4 gend4 O. F/ o' ^# h$ r/ c' I& t
    end! S( u$ @0 L6 l7 R

    / b  s) }1 F8 q0 ?1 zwire key_en;
    ! L2 S% y0 n) G* I# @- |6 E& I, s. {+ x1 c' W
    assign key_en=low_sw1_r&(~low_sw1); //pulse edge check, |. w' k" d# ^$ M; e/ e8 R
    9 i$ h* O. f# V+ H
    //1s timer
    $ A  B2 H( M: z9 O& ureg [24:0]time_cnt;5 q9 c4 U- g, y4 X
    reg time_en;
    : j$ d/ n+ y7 ^2 L; s+ ireg [7:0]led;0 k$ X! y) J1 G4 t4 n* s$ N
    1 e) w0 F0 o% {# c! _$ _

    . x: q( R8 d' t( l7 {0 Aalways@(posedge clk )begin //这里想用按键来控制计数器开始与停止
    + ^0 x' i4 ^* g+ w+ y        if(!key_en)begin
    2 q( k" C: Z  S: _            time_cnt<=0;
    / q6 Y8 f+ o# [$ s            //time_en<=0;
    * C7 ?: z; F& D" Q' m( B$ n. H            led<=0;
    ) e  S' V: C& [0 I. g# d! l        end/ P, L( i! Y( E
            else begin
    0 e6 H" o; D* I               // if(key_en)
    5 ~- h3 {; M5 @2 k! S8 t                    if(time_cnt==25'd39999999)begin
    * P% g+ }0 e5 R& _9 b2 Y; \/ m                        time_cnt<=0;$ b# [5 u1 b# t6 ]' K
                            //time_en<=1;
    2 b. n$ E0 }$ q                        led<=led+8'd1;
    # F7 X# p& q  ~! c5 E                        end; }  o) o2 @# p' u
                        else begin
      G: O7 N# s' f! i' L6 U+ |                        time_cnt<=time_cnt+1;& |+ I5 _% a0 X# Y- d9 a0 w  s5 @2 |
                            //time_en<=0;: S! q* `! J& q- Z3 R$ [% J
                            led<=led;
    9 V: n5 Y9 _: q* [                         end  i( L: C/ e  _$ I0 _
                  //  else! `3 Z7 u  F  E  x) M$ g) b) X
                          //  time_cnt<=time_cnt;, G, T8 o3 V: n) j  b3 [
    end
      P5 d- B1 z& L% b4 {8 O5 J2 Tend  z" v  s4 W" m4 p/ @& }1 l
    endmodule: C, X3 U" C7 i1 h
    6 K4 P+ C3 ~& |. {' O  I
  • TA的每日心情
    开心
    2022-1-24 15:10
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2022-8-15 15:56 | 只看该作者
    引脚分配应该和代码没太大关系。再找一找。" D! Y/ A, f. J% P  ^

    点评

    是我的代码有问题,已经解决了,谢谢  详情 回复 发表于 2022-8-15 17:26
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
     楼主| 发表于 2022-8-15 17:26 | 只看该作者
    hfiwioq 发表于 2022-8-15 15:56+ p: B1 X$ h4 d4 ^) c, w; b
    引脚分配应该和代码没太大关系。再找一找。
    % O! P; h9 C' i1 G7 i% ]( |
    是我的代码有问题,已经解决了,谢谢0 x% _  Z+ i  |' S2 E, Y& k$ B) n
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-7-22 08:51 , Processed in 0.109375 second(s), 30 queries , Gzip On.

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

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

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