找回密码
 注册
关于网站域名变更的通知
查看: 104|回复: 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,希望大佬指点一下,非常感谢。# E  O7 V& t+ J( B; {8 v
    ////////////////////////以下为代码部分,写的不好之处,请大佬批评指导,(FPGA资源为美高森美A3PE)/ s( ?5 ^- }% }
    module keyin( clk,led,key1);! G4 D3 [0 J/ E4 J# G- f% P7 V
    . Q7 O" X- F5 |
    input clk;1 u8 j9 d2 [& D% f9 B, [% f
    input key1;; ~% W- ~* z, i: f5 \1 b( Q# s  b
      e1 ~% n) E* b- ]3 k' ?
    output led;/ J+ O  ]& f! n1 [+ f' z

    ' \; d# I1 q! W+ |/ `# C' M+ l2 W//software reset9 d4 `* u$ d* h7 ?3 P
    reg [31:0]rst_cnt=0;
    6 S7 K0 z* h" Hreg rst_n;
    : f1 `( a- `0 H* M; r$ z0 f
    + k$ |) J; I+ Q3 _always@(posedge clk)begin/ m2 h: D: v. V0 D4 f! \
        if(rst_cnt==32'd39999999)
    ; @, ~  }: ^# n" ^1 A6 {    rst_n<=1'b1;" V  _- I) B8 P. M: |
    9 _. A/ h  S; ?; S& o8 Q9 k8 ^
        else& r# B. R5 ?/ }
        begin
    ; X5 Q5 W& @  q" c5 a$ l( R: l    rst_cnt<=rst_cnt+1;- d1 Q  ]0 l/ f- _$ q
        rst_n<=0;
    8 v8 g& z6 d7 N    end
    # c) {3 M% g5 }1 d1 T( K5 y/ Vend2 P. j+ L8 B. h- ~
    7 S: }3 Z: m- E1 x- m% D& D
    //check key change, B8 r$ p6 E  w" v% A9 C
    reg low_sw1;# i" o* @6 m8 _) C: ]. |' K( Q
    reg low_sw1_r;6 b, P, _  t# q# r: @+ [; {: v' p
    reg [19:0] sample_cnt;" p9 K& l7 P( A
    ' m" l- a! d: W; [
    //key_a' [! I2 y" g+ }5 l% j& |( p, `3 e
    always@(posedge clk or negedge rst_n)begin
    ( `3 `7 k, J8 R9 N/ ]    if(!rst_n)begin6 |0 U6 @  e8 ~6 i# d* I: {" f. M
        low_sw1<=1'b1;6 u! T; W) _$ l3 O
        sample_cnt<=0;
    . C8 m2 W+ |% Q2 D  H' ]' o% w    end
      i* z; z; t) [& S    else if(sample_cnt==799999)begin
    * {$ s# v! t( x) j8 b& N* G    sample_cnt<=0;
    5 C3 j) j, ]5 D/ A3 m% l    low_sw1<=key1;
    . _- ?, g7 N  Y- x9 b, m7 H* H    end- @: G1 ~( o. s( {: ^' k# I
        else6 o. j$ A6 B- F  _- n) d4 S
        sample_cnt<=sample_cnt+1;
    , T# c, \9 z8 _( F% Iend
    $ U3 z1 e+ e9 u0 n0 h- x
    2 C4 S/ z% v" K7 ^: C7 T+ Zalways@(posedge clk or negedge rst_n)begin
    7 g# j' A' A! H1 _/ H    if(!rst_n)begin7 x" i- ^# F( z* k2 R; d
            low_sw1_r<=1'b1;
    7 t/ c/ O5 `# l% O/ e3 oend4 @3 Q  ^+ G( y0 h( j- B+ K
        else
    7 o1 n# k5 P, D7 ~4 X1 I2 ]1 [        begin
    . L" \6 z, O1 ~' T        low_sw1_r<=low_sw1;
    ' B( u) v1 v8 V+ P' K# y8 nend
    * q3 p# W# o! Zend$ S7 k5 f' H2 f- n1 V) h9 H: G
    . O, J7 \" V  l! T6 g
    wire key_en;$ n2 W& ]0 d8 ^6 d' p3 p- o8 u) a3 p
    ' a8 x/ D1 `2 h1 e7 Z
    assign key_en=low_sw1_r&(~low_sw1); //pulse edge check
    ) C; w% l) S0 q$ K" H
    4 m# w6 f$ e5 v7 _' b. U; R, n//1s timer
    5 `! Y; i0 ^1 T; Y; p  N* A% Freg [24:0]time_cnt;& A* b) J7 ?2 |% |+ f. D" v! ?
    reg time_en;. r5 D4 T% \2 p. B6 Q+ o
    reg [7:0]led;) U* r7 Y3 Y1 `  `6 T

    3 }% ?# W  a& `2 g- s9 K' G
    3 m+ u# J9 O, y# V: n; d  \4 |  }4 |always@(posedge clk )begin //这里想用按键来控制计数器开始与停止' c7 \4 G3 z! ?, c  d/ ~2 m6 n% x2 m
            if(!key_en)begin
    * P4 P4 i- z7 g, J" |            time_cnt<=0;* Y" Z1 U3 `2 `; ]! j
                //time_en<=0;3 c+ _8 y% @+ A$ q
                led<=0;
    ' V% z$ D3 |( k8 Z" }' U! H        end
    3 D* ?8 ^6 H7 i0 ]        else begin1 W9 U% A7 j7 v
                   // if(key_en). E9 l5 p9 M& w5 Q$ O) w( R0 X
                        if(time_cnt==25'd39999999)begin
    4 M! ?9 K3 P* k: t; ]                        time_cnt<=0;
    ) V$ I+ S) b$ d5 E$ R. i, N  f) K4 [                        //time_en<=1;
    3 x8 E8 O* T% \7 p                        led<=led+8'd1;
    8 k3 o+ Y5 R$ W( S                        end% y8 b* h- O: R- J) f2 B
                        else begin6 G: t; }& N6 v6 o) [" V& L1 J
                            time_cnt<=time_cnt+1;7 P" H3 }2 S; X( _; N$ _( [
                            //time_en<=0;: Y9 D2 b$ u5 U
                            led<=led;; T: l5 s5 g: q4 d! F
                             end3 t9 [) `# K5 a' Y# \3 U+ l
                  //  else
    4 l/ j0 L" i  K" b2 \7 k                      //  time_cnt<=time_cnt;
    & p. N5 {6 f9 wend
    - {" [; f% G- l7 eend
    8 S! i% x, H# E! O& aendmodule- L* E  O4 G( i+ T' L1 m8 q# u" q
    " w% S' Y0 W$ d0 [6 h5 W0 i
  • TA的每日心情
    开心
    2022-1-24 15:10
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2022-8-15 15:56 | 只看该作者
    引脚分配应该和代码没太大关系。再找一找。' d* j; m8 T+ q9 i! R9 ~

    点评

    是我的代码有问题,已经解决了,谢谢  详情 回复 发表于 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:566 f& q/ t! }, ?* H- g
    引脚分配应该和代码没太大关系。再找一找。
    ' A, o; C3 ~  E* d" r! ~( L1 T
    是我的代码有问题,已经解决了,谢谢% @* B- x% l0 X4 f
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-2 07:56 , Processed in 0.140625 second(s), 27 queries , Gzip On.

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

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

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