找回密码
 注册
关于网站域名变更的通知
查看: 98|回复: 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,希望大佬指点一下,非常感谢。) E8 b9 e4 v' \- {9 v1 S0 o, _
    ////////////////////////以下为代码部分,写的不好之处,请大佬批评指导,(FPGA资源为美高森美A3PE), R( g  i+ x$ @, c+ a
    module keyin( clk,led,key1);" _7 y: \1 i: G) U( `+ F
    3 ^* s2 Z- o- m6 i8 u: H' d8 F
    input clk;
    ) D( b. _/ D8 s: }+ Ninput key1;2 v) M0 l: O6 h- `2 z
    % N2 x! U1 ?. V9 [
    output led;
    4 }" L. o$ s' Q5 }& g5 K- R6 m5 J' o; U% T$ o5 V4 q
    //software reset# j) C# P6 x7 n+ f5 B" i
    reg [31:0]rst_cnt=0;5 z2 C" O2 K: B; }( g5 W
    reg rst_n;! ?. i( D; h  V
    " V5 i. ?+ m7 ]. T4 `
    always@(posedge clk)begin7 L' ~0 _4 p+ e- I
        if(rst_cnt==32'd39999999)
    2 R8 Q/ P, t# {    rst_n<=1'b1;4 P# @) i$ f+ H3 v9 |
    $ X$ \5 B( q+ H0 o2 C4 C
        else
    4 m, k  p4 e& G    begin
    1 f( Q$ F; p5 j/ C, h3 L6 L    rst_cnt<=rst_cnt+1;
    7 ?3 n" u/ e, b) i. T    rst_n<=0;
    ! Y' y8 r( x8 p3 j/ R    end
    # l% ]8 w4 C! g4 S! h6 {3 F+ Dend& g! s6 z5 O, _, u% b
    ; y* E. G3 A0 a2 g
    //check key change
    8 y; c; ?  I- j- T% A! Lreg low_sw1;
    1 Q3 [: W; `9 s8 i9 l7 }reg low_sw1_r;
    - ?# J2 T9 {$ j" Lreg [19:0] sample_cnt;
    5 I9 ]* p% [7 b" Q5 U3 t( b/ \+ d8 ~2 u: m
    //key_a
    ; i0 L$ r5 ~( d' V: d' p2 Nalways@(posedge clk or negedge rst_n)begin6 p: u3 j/ B" }; q  j  E
        if(!rst_n)begin
    ) c& `; [5 R: ~; U  p8 E    low_sw1<=1'b1;
    7 G* C' a3 I. I% u9 L    sample_cnt<=0;: P+ h1 m. J( B' i1 H
        end
    3 Z. n3 B6 V% p5 ?$ Q    else if(sample_cnt==799999)begin
    + J# v/ [9 I$ k; E2 {    sample_cnt<=0;5 O+ d+ @4 `3 D' {: U" S
        low_sw1<=key1;
    . @: S! N1 P! S+ K: S! e/ m    end& K  C* W0 s* b5 {" X- q3 s
        else2 J4 Q- Q+ H7 O) ^- d/ K
        sample_cnt<=sample_cnt+1;% s! R* [0 P& p& L0 L2 s& Y' U
    end$ C  C' ~1 U: b- r7 s4 a8 g. S5 `
    * e4 N  N, x. b# |0 z1 Q* \
    always@(posedge clk or negedge rst_n)begin* X( J9 }/ F4 h8 I
        if(!rst_n)begin# }& i- z3 g/ h
            low_sw1_r<=1'b1;
    * l2 Q3 z: Q% pend* x: v6 Q3 J) X2 I0 m% {, N
        else
    % J! V4 c0 s/ i4 r& s        begin# f/ ^- d  c* O1 j8 W
            low_sw1_r<=low_sw1;
    * z& u- J) g% e, X0 Wend
    ' K+ G3 Z4 a' ?  F. O$ Q( qend8 F" ^7 y; s/ G& J! H

    5 U3 T. _9 _* Rwire key_en;
    7 m  l  R; {7 j! Y6 t% ]- L* s$ {9 r- F
    assign key_en=low_sw1_r&(~low_sw1); //pulse edge check! a& Z4 @: b: v/ |
    : H% [$ T6 e+ }! r( K2 X
    //1s timer: M" Y1 f& R9 a! Q
    reg [24:0]time_cnt;: U9 O  v2 J: n6 c$ |
    reg time_en;* e. X4 H  _( D" p8 O
    reg [7:0]led;
    . `, Q) N: A; h+ w9 D; }5 w# T. N! J5 v1 ]  b1 B
    $ \6 }6 B$ X# i0 w" R* \
    always@(posedge clk )begin //这里想用按键来控制计数器开始与停止
    ; V, `8 Q8 |/ D/ l+ f, Y* w        if(!key_en)begin+ W2 I2 ^/ v- a3 o
                time_cnt<=0;
    8 p; Q+ r7 n+ O, x            //time_en<=0;
    + }5 ]) H  Z! I  X- J0 I7 {( b            led<=0;
    ! u# P7 P. }- o" H' ~        end
    8 C4 f7 T+ g2 M        else begin/ y) P4 ^6 i: v8 Z& K- w: ?6 l! N
                   // if(key_en)8 D* J6 S" G9 w" S/ y: S3 N! N  ?
                        if(time_cnt==25'd39999999)begin2 b* @8 F; T7 I1 A+ L5 M
                            time_cnt<=0;
    ' ?" m" I) u0 w7 E7 O5 `                        //time_en<=1;
    - J( d7 p: V- j- T, E                        led<=led+8'd1;
    6 D, B5 j* ?  m, L4 ~+ W                        end1 [; m% I5 O- c0 M# j& v
                        else begin
    3 Z% [) ~0 I2 K9 \3 i                        time_cnt<=time_cnt+1;
    * \  ~5 H- |. ]2 A+ d: j: h8 k                        //time_en<=0;
    9 r: u3 Z' L) X  B; ]8 `2 I% A2 {- d                        led<=led;5 x1 B9 _: E5 i
                             end
    4 @* ^- E$ v  U: R              //  else6 k; Z, o" j( Q* a0 i
                          //  time_cnt<=time_cnt;
    1 O0 _5 J1 R2 I* O$ @: Xend' g# ?+ k8 |0 M' U7 H1 m
    end. @6 g# X+ v# N4 c' ^& _- u. t
    endmodule, M0 r4 ?( |8 M- i( H: k7 ~4 c9 F
    ' O: o5 ~. n' d* J( @
  • TA的每日心情
    开心
    2022-1-24 15:10
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2022-8-15 15:56 | 只看该作者
    引脚分配应该和代码没太大关系。再找一找。# c9 B  ]. C  m( R$ D1 z

    点评

    是我的代码有问题,已经解决了,谢谢  详情 回复 发表于 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- c+ q5 T: e6 n' T4 s  E0 n, K3 a: N
    引脚分配应该和代码没太大关系。再找一找。
    6 Y) ~0 p1 Q  g' ^9 {0 M
    是我的代码有问题,已经解决了,谢谢! Y% x( e* ?% l$ q
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-6 23:03 , Processed in 0.156250 second(s), 27 queries , Gzip On.

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

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

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