有一个灰常郁闷的问题。。。

module CLK_Generater(
                    input        CLOCK_100,
                    input        RST_n,
                    input        Key,
                    output    reg    [3:0]    CLK_DivChoose,

);
reg     [19:0]    count;            //Delay_10ms
reg             CLK_100Hz;         //100HZ(10ms)时钟信
reg     [2:0]    state;          //状态标志

reg        [16:0]    cnt;
reg        [17:0]    Div_cnt;

always @(posedge CLOCK_100 or negedge RST_n)
begin
    if(!RST_n)
        begin
        CLK_100Hz<=0;
        count<=0;
        end
    else
        begin
        if(count<20'd1000000)
            begin
            count<=count+1'b1;
            CLK_100Hz<=CLK_100Hz;
            end
        else
            begin
            count<=0;
            CLK_100Hz<=~CLK_100Hz;
            end   
        end
end

always@(posedge CLK_100Hz or negedge RST_n)
begin
    if(!RST_n)
        CLK_DivChoose <= 4'h0;
    else
        begin
        case(state)                //按键,不按下去的时候是VCC高,按下去的时候是GND低
        0:
            begin
            if(!Key)            //检测键盘是否被按下(Delay_5ms)
                state <= 1;
            else
                state <= 0;        //未按下,循环检测
            end
        1:
            begin
            if(!Key)            //检测键盘是否真的被按下,还是抖动(消抖动(Delay_5ms))
                state <= 2;        //检测到不是抖动,进行下一步操作
            else
                state <= 0;        //是抖动,回去继续检测按键
            end
        2:
            begin           
            CLK_DivChoose <= CLK_DivChoose+1'b1;
            state <= 3;            //只进行加1操作,不连加           
            end
        3:
            begin
            if(Key)                //松手(VCC)检测,有可能是抖动
                state <= 4;
            else                //检测到还是(GND)低电平,未松手
                state <= 3;
            end
        4:
            begin
            if(Key)                //松手(VCC)检测,有可能是抖动
                state <= 0;
            else
                state <= 4;        //检测到还是(GND)低电平,未松手
            end
        endcase
        end
end

endmodule

CLK_DivChoose 同时接到4个LED上面,RST_n是复位,Key是加,效果就是按RST_n全暗,按Key LED加1

但是郁闷的是不行,最后发现RST_n我接到了普通IO口上面,他NND竟然就是不行,但是我要是接到CLK2上面去了,系统灰常稳定,灰常稳定

铭记:“RST_n要接全局时钟!!!!!!!!!否则后果自负!”
总结:暂时还没有遇到,但是这是个很好的建议,以后 可以注意去做

RST_n的问题的更多相关文章

  1. FPGA旋转编码器的实现

    module pmodenc( clk, rst_n, A, B, BTN,// A_Debounce,// B_Debounce,// BTN_Debounce,// Rotary_right,// ...

  2. pwm 占空比 频率可调的脉冲发生器

    module xuanpin #(parameter N=25)(clk,clr,key_in_f,key_in_z,f_out);input clk,clr,key_in_f,key_in_z;ou ...

  3. SPI 2分频MOSI实现

    module spi_25M(input clk,input rst_n,output reg sdin,output reg sclk,output reg cs);reg [7:0]cnt;reg ...

  4. 25M电子琴实现

    module qin(input clk,output reg beep,input [3:0] col,output [3:0] row_data,output [7:0]out ,input rs ...

  5. 基于小脚丫DDS 调频 调幅 调相 切换波形 AD5601输出模拟波形

    先讲讲里面的矩阵键盘,矩阵键盘列有下拉电阻,默认全为0000,默认行输入为1111,当有按键按下的时候,列输入会被拉高,这时控制行的输出做行扫描,电子琴用key_flag_r0电平作为使能,这里用ke ...

  6. spi 10方式编写

    //第一个CS变低的时候要sclk为高电平,第一个跳变沿进行赋值 module spi(input clk,input rst_n,output reg sclk,output reg cs,outp ...

  7. 基于小脚丫的ADC081S101 电压采集595数码管显示

    RTL结构图 采集模块运用SPI 通讯 MISO方式收集数据 module ad_collect(input sddata,input rst_n,output reg cs,output reg s ...

  8. 10-8位7段数码管驱动实验——小梅哥FPGA设计思想与验证方法视频教程配套文档

    芯航线--普利斯队长精心奉献   实验目的: 1.实现FPGA驱动数码管动态显示: 2.使用In system sources and probes editor工具,输入需要显示在数码管上的的数据, ...

  9. 09B-独立按键消抖实验02——小梅哥FPGA设计思想与验证方法视频教程配套文档

    芯航线--普利斯队长精心奉献   实验目的: 1.复习按键的设计 2.用模块化设计的方式实现每次按下按键0,4个LED显示状态以二进制加法格式加1,每次按下按键1,4个LED显示状态以二进制加法格式减 ...

随机推荐

  1. Android应用中返回键的监听及处理

    MainActivity: package com.testnbackpressed;  import android.os.Bundle;  import android.view.KeyEvent ...

  2. ACdream1063——平衡树

    1.题目大意:让你设计一种数据结构,支持插入一个数,和在这个结构里查询结构中的哪个数和给定的数的异或值最小 2.分析:这个怎么做呢,就是trie树,我们建立一个trie树,把树按01进制存进去,然后在 ...

  3. 1. dex和Jar反编译对比

    Java源码 public class Hello { public int foo(int a,int b) { return (a + b) * (a - b); } public static ...

  4. ubuntu下编码转换工具

    ubuntu打开windows下的txt或者代码文件,经常会出现乱码, ubuntu自带一种转换工具,是命令行的,下面提供一种最简单的方法进行转换 比如要转换的文件为1.txt,进入1.txt的目录 ...

  5. VMware12中CentOS7网络设置

    VMware提供了三种将虚拟网卡和物理网卡捆绑起来的方式,即桥接(Bridge)模式,网络地址转换(Network Address Transformation, NAT)模式和主机(Host Onl ...

  6. [k]自定义上传文件按钮样式

    <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <title> ...

  7. linux内置的审计跟踪工具------last和lastb

    last是linux的一个内置工具,可以用来查看最后登录服务器的用户.它对于追踪非常有用. last命令显示的是来自/var/log/wtmp文件创建起,所有登录的用户.这个文件是一个二进制文件,不能 ...

  8. perl 判断数组相等的三种方法

    1.数组相等,数组成员相同,位置也相同 一般的如果判断@array1 等于 @array2 a.数组长度相同 $#array1=$#array2, 比较数组长度,不能使用length函数,length ...

  9. 6.nodejs权威指南--进程

    1. 进程 var net = require('net'); var cluster = require('cluster'); cluster.setupMaster({ exec:'child. ...

  10. 全能直播王PC版-0707-full_codecs

    全能直播王是一款高清流畅的全平台的电视直播应用,让您随时随地看高清电视直播. [全能特色] 1. 收录全国1400多个直播频道,包括湖南卫视.江苏卫视.浙江卫视等热门频道. 2. 频道多线路自动选择, ...