找回密码
 注册
关于网站域名变更的通知
查看: 85|回复: 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,希望大佬指点一下,非常感谢。$ c6 c( t/ z* q
    ////////////////////////以下为代码部分,写的不好之处,请大佬批评指导,(FPGA资源为美高森美A3PE)
    : F. h7 k; @. smodule keyin( clk,led,key1);
    ; a; F0 e% d+ t; I7 i1 L
    ! G/ w7 b6 [2 N; J' ninput clk;
    0 o  i- r' u1 Z! c4 ainput key1;
    7 E3 g9 Q8 i( N9 n$ \3 H: c$ G6 a- K5 ?) S2 L8 Z. T
    output led;2 S" l2 n* Z& F

    & r  B# N9 h& J% t% o' c0 q//software reset0 C1 s; Z4 N. g2 T6 h# g, x$ {
    reg [31:0]rst_cnt=0;7 M0 z, q" y. X$ B) {
    reg rst_n;
    % Q+ M; w3 \( X; B( _' F6 m9 `5 ~- T$ U/ n$ {' G: x. e7 Y
    always@(posedge clk)begin
    8 L/ X4 C% h  y5 ]5 u. H) Z2 h    if(rst_cnt==32'd39999999)* x9 z. c6 [0 F' S: h( k; h
        rst_n<=1'b1;
    % O+ c* M& M, z0 b) ]3 y- F. z  j8 ~6 v
        else
    " u; D+ o9 t7 G7 ]/ I7 D    begin. B! m) s. h& F+ k7 `. k. y
        rst_cnt<=rst_cnt+1;( B! r0 }4 B7 S
        rst_n<=0;
    ! q' [( A- T* Y0 }3 B/ h' o    end
    & X; V. M5 l# S5 yend
    2 t6 l" M# X: `0 q  G, W, A  d% u( a( Z: G% K# s& f
    //check key change
    ) l, J9 ]; N: u1 d" _( P3 D% f) Wreg low_sw1;# R( I- M  g% K( l
    reg low_sw1_r;# L! n2 f3 X( Y  X+ \( N0 W5 I
    reg [19:0] sample_cnt;
    5 g8 M+ \' ?0 J/ f7 G* b
    ; E2 Y+ I! p- e//key_a. c7 U; U) \' _$ l7 c
    always@(posedge clk or negedge rst_n)begin
    $ V4 O$ f, U+ O7 H9 o9 Y8 ^0 T, V    if(!rst_n)begin
    & Y  v2 i, F+ S5 J9 s# I- ~    low_sw1<=1'b1;# A4 m; z2 H9 a5 E
        sample_cnt<=0;2 ]% O$ B+ n9 i5 N
        end
    1 w. G+ v3 Q, h$ }! C# A8 O; q    else if(sample_cnt==799999)begin
    % P3 v6 ]( v( T3 T+ x1 ]+ J, F. G    sample_cnt<=0;
    3 V/ `( s( n' S  z; p/ b    low_sw1<=key1;
    9 Z; S, k3 i. p5 R    end
    ( @) L. c' ~( ?% n3 `2 o    else' E( c+ l: b( H
        sample_cnt<=sample_cnt+1;
    ' q1 `( P7 A+ C0 pend  B% h8 C& A8 g% o
    ( P" C; }8 @2 Y5 W5 [# W
    always@(posedge clk or negedge rst_n)begin+ X+ Y& K7 B8 t. W) [8 k
        if(!rst_n)begin/ }% L2 |5 g4 O. C" }- K
            low_sw1_r<=1'b1;0 A$ {; R) I. `. o; v3 n
    end5 O. i; U; R+ h: f- e
        else. j, k" a$ g8 K
            begin
    6 ?1 n, t+ W6 J# c, X* S        low_sw1_r<=low_sw1;
    9 r8 W4 n, e; z" E6 @. J) k  iend0 n) m( A' H, k0 n, Z
    end
    7 n6 P" w' o' w1 g, j# W) }0 Y# L" H! n; T8 a: j
    wire key_en;; ]* I  n, }! G% _

    + y7 J: h& m# [2 Lassign key_en=low_sw1_r&(~low_sw1); //pulse edge check
    * f8 ^- {& l- C% O# b& J
    2 M+ x5 c$ ^8 E1 F: h$ f' G//1s timer
    ( D# N/ [; N) P$ K! S* ^reg [24:0]time_cnt;& t$ u  a, Z5 Q3 y. ~" x: c
    reg time_en;+ p- s, n- [# A, f9 J
    reg [7:0]led;4 ^: e7 }/ z2 m& O1 D
    5 s, |7 _' w5 s7 `0 W

    , Z2 {- v, E& K; Z* e  Malways@(posedge clk )begin //这里想用按键来控制计数器开始与停止- s; n: x& m( ]
            if(!key_en)begin9 K2 F& s$ B' s4 Y
                time_cnt<=0;! n; [7 l+ \- U
                //time_en<=0;( r4 Q) {, |5 J
                led<=0;8 v8 r$ F/ u$ ^# g7 p; D4 C
            end
    2 o, i/ P9 i5 }* x4 D! u        else begin
      c" L9 @5 K. l) s               // if(key_en)
    - d- q/ y) @3 i4 a) `                    if(time_cnt==25'd39999999)begin
      V( k- C: u1 Q. f                        time_cnt<=0;
    $ W( B& a/ D9 t4 R% |& L                        //time_en<=1;) a# f# i# W/ X4 @! {" d+ w8 C
                            led<=led+8'd1;
    ) q: p% Q" u$ p8 H1 P                        end9 t" U" m4 t  }; o  e4 G
                        else begin2 d) N% U0 V* j! b3 {
                            time_cnt<=time_cnt+1;8 H! e" k% i* e# W! g- c
                            //time_en<=0;& s) Z' }5 @" b7 w: n, E' A. \; A9 x+ A
                            led<=led;5 H6 Q3 W/ u% B& a& N7 O
                             end7 m+ Q  \9 G6 B: I. H
                  //  else
    5 L2 I; d1 a  n9 P                      //  time_cnt<=time_cnt;+ ~( W8 \8 [0 B: q, S- k& p8 O5 n
    end$ q9 q8 b1 U5 X" |4 `
    end
    7 @3 J9 P/ U/ r; X! Z2 H* Qendmodule! F1 t2 D' u& H4 T
    ( E$ l4 C$ \  C1 s" x) }
  • TA的每日心情
    开心
    2022-1-24 15:10
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2022-8-15 15:56 | 只看该作者
    引脚分配应该和代码没太大关系。再找一找。
    $ g! n# q/ X. ^' h6 c

    点评

    是我的代码有问题,已经解决了,谢谢  详情 回复 发表于 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
    , {' o0 l% ~- ]) A4 v$ T引脚分配应该和代码没太大关系。再找一找。
    ) o" F( `; j7 r4 K4 [
    是我的代码有问题,已经解决了,谢谢
    , K  J$ e9 \/ I! ~6 |
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-7-23 12:22 , Processed in 0.140625 second(s), 28 queries , Gzip On.

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

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

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