找回密码
 注册
关于网站域名变更的通知
查看: 96|回复: 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,希望大佬指点一下,非常感谢。
    6 o2 d/ A3 k: Y, S; j4 X, d) i+ B////////////////////////以下为代码部分,写的不好之处,请大佬批评指导,(FPGA资源为美高森美A3PE). i6 K) m+ M4 l! j- p6 |
    module keyin( clk,led,key1);
    . \8 @8 t: g3 h% Y$ X: y; Z1 m% O! G
    input clk;
    / l- u$ `: ?  E9 @( u+ `2 oinput key1;
    / _0 T; G/ k& Q" a# H( N0 D  F) O: M8 j, G! L
    output led;3 t2 v3 S* ^5 d* z/ B! N
    ) I- r: i! S. |5 e2 w) M( Y
    //software reset
      y5 p% q; b4 h$ {/ q; Rreg [31:0]rst_cnt=0;
    2 J, I* c2 U, E$ xreg rst_n;5 N2 l! v" H5 X* e% h; R6 X
    + \: ?0 ]' E" N( e; Z
    always@(posedge clk)begin
    7 f7 k% D" O/ E' Q  ~    if(rst_cnt==32'd39999999)
    1 ?1 A6 o" ^0 ^2 B) O. L8 ?' Y4 Y) O    rst_n<=1'b1;$ X- h2 Q: K9 X* T1 c0 y6 y
    2 `9 |8 J+ f, n( A8 j) n
        else) A- ]6 @0 J& _' L& e: [
        begin
    ! u' Z! n3 L( s$ V5 P    rst_cnt<=rst_cnt+1;/ S* i; j7 o7 X0 h5 k
        rst_n<=0;; `! @+ O7 P% @$ c
        end4 `8 V4 F) a8 v; B7 Q6 w" q
    end8 Y" ~; |4 N0 \9 [1 A

    4 f; q6 w) h( H8 S% u/ ~//check key change
      E9 i3 [+ P- ^6 H" I, ~/ Y+ Breg low_sw1;& G6 `& d; }' n, m) P1 Q, G
    reg low_sw1_r;
    ! P3 A9 ?6 @: u' ~reg [19:0] sample_cnt;
    # h) R- e3 V( j4 u5 J) j. O* E* R3 _! A
    //key_a2 T! r1 X  D+ W0 x* ^8 J, F( O
    always@(posedge clk or negedge rst_n)begin+ j- F" }8 U& s3 J$ l
        if(!rst_n)begin3 n% [7 z6 Y! F0 c0 e( K/ x
        low_sw1<=1'b1;
    & V. e/ T  h& o, y2 K    sample_cnt<=0;
    8 n$ D/ U! G" y( b  l4 l    end
    ! e, a6 q  s; l) o$ C( A' S4 B    else if(sample_cnt==799999)begin
    , Y& N" O7 E4 E- P! @7 l    sample_cnt<=0;+ l; g! k2 ?2 {9 f# ]0 V+ O9 j: \& C
        low_sw1<=key1;
    2 C. ~- W8 d" G+ z* }    end
    % m, O: f! I- W: `    else/ t# g& u7 h2 T& _
        sample_cnt<=sample_cnt+1;9 }. D3 @& K4 L# O
    end
    : _  X% U0 f' B9 }5 L! c: G$ V5 w- q
    ( Z1 z% U0 J# Y# M8 ialways@(posedge clk or negedge rst_n)begin$ U8 T  h. k, z6 ~, \3 e+ P
        if(!rst_n)begin% |$ ?, A) A5 l- B
            low_sw1_r<=1'b1;
    # s. B! e4 ]6 i" `end
    ) Q5 F  V% Q- l" L! [# a. u. V    else$ d: u3 Z* _# u$ j& ]
            begin+ l/ ~. w9 y% P1 q# d5 T3 g
            low_sw1_r<=low_sw1;4 ^0 k0 U: Z# }8 K( c8 a
    end
    ) Z  k3 q8 a% R" K8 ]; cend
    & e, e! ?) Q, M# Q9 X: i' e; B4 S) N0 l
    wire key_en;4 s; Z9 I" u6 \
    * T& S, H* G. L( v2 s) A
    assign key_en=low_sw1_r&(~low_sw1); //pulse edge check
      H1 u  o$ v: i* `" u6 w' ?; x! T) L  h2 D: i
    //1s timer3 h" _7 K& z2 o; i( e/ f+ Z
    reg [24:0]time_cnt;( E6 M: Z. b6 ^; o! ^7 Y: X+ [
    reg time_en;/ o" B* l/ ]8 g+ l9 I
    reg [7:0]led;( Y; ^5 U% `  B
    % w8 ?/ ~4 \4 U3 e
    6 n6 b( Q( D, B7 J4 R3 n) Z
    always@(posedge clk )begin //这里想用按键来控制计数器开始与停止6 A4 z1 ~& [/ V; N
            if(!key_en)begin7 t; \& q" v9 G
                time_cnt<=0;# T% X# t* S; a- n& r
                //time_en<=0;
    1 _/ J% Q3 m; I' N            led<=0;% m) [2 O: T1 d; N# @
            end
    ) e) q8 W' p) H4 c        else begin# w- h' j' ]( W' ]
                   // if(key_en)
    # b4 {& o' d  a, d                    if(time_cnt==25'd39999999)begin
    / L& i$ a, Y1 f. W                        time_cnt<=0;
    $ F$ r- K$ w6 e                        //time_en<=1;
    & B% ]2 f4 \; p4 L                        led<=led+8'd1;0 C$ g) d, Q9 K8 P4 r: u
                            end
    + T  {/ T- D4 o. ^, X0 ^3 E; U                    else begin: \3 }' M$ w$ F$ f7 k/ J4 }
                            time_cnt<=time_cnt+1;
    ) S* d4 l/ W0 n                        //time_en<=0;
    4 T" ^5 _) U6 h$ Q" @                        led<=led;, x% _" |' s! H; p% l0 F# Q& W
                             end
    : e7 @8 x% Y1 x: |' l. E5 p              //  else4 `2 K' m* `8 S
                          //  time_cnt<=time_cnt;& ~5 C$ I' ~. [9 d7 [6 L
    end, d5 z+ b1 Q& k
    end
    # L+ M: u) r8 r1 ]endmodule
    : A0 v# H  K2 ~1 |

    " F' n4 {/ g  c4 z3 x
  • TA的每日心情
    开心
    2022-1-24 15:10
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2022-8-15 15:56 | 只看该作者
    引脚分配应该和代码没太大关系。再找一找。# s# `# @! D! n0 }

    点评

    是我的代码有问题,已经解决了,谢谢  详情 回复 发表于 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
    / h8 @5 V9 |2 e2 e引脚分配应该和代码没太大关系。再找一找。

    8 x* ]3 @" F4 n5 g- B是我的代码有问题,已经解决了,谢谢
    ( K7 X& l- y" K# h0 ^% t3 O' B8 R
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-9-24 02:48 , Processed in 0.156250 second(s), 31 queries , Gzip On.

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

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

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