RST_n的问题
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
endalways@(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的问题的更多相关文章
- FPGA旋转编码器的实现
module pmodenc( clk, rst_n, A, B, BTN,// A_Debounce,// B_Debounce,// BTN_Debounce,// Rotary_right,// ...
- 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 ...
- 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 ...
- 25M电子琴实现
module qin(input clk,output reg beep,input [3:0] col,output [3:0] row_data,output [7:0]out ,input rs ...
- 基于小脚丫DDS 调频 调幅 调相 切换波形 AD5601输出模拟波形
先讲讲里面的矩阵键盘,矩阵键盘列有下拉电阻,默认全为0000,默认行输入为1111,当有按键按下的时候,列输入会被拉高,这时控制行的输出做行扫描,电子琴用key_flag_r0电平作为使能,这里用ke ...
- spi 10方式编写
//第一个CS变低的时候要sclk为高电平,第一个跳变沿进行赋值 module spi(input clk,input rst_n,output reg sclk,output reg cs,outp ...
- 基于小脚丫的ADC081S101 电压采集595数码管显示
RTL结构图 采集模块运用SPI 通讯 MISO方式收集数据 module ad_collect(input sddata,input rst_n,output reg cs,output reg s ...
- 10-8位7段数码管驱动实验——小梅哥FPGA设计思想与验证方法视频教程配套文档
芯航线--普利斯队长精心奉献 实验目的: 1.实现FPGA驱动数码管动态显示: 2.使用In system sources and probes editor工具,输入需要显示在数码管上的的数据, ...
- 09B-独立按键消抖实验02——小梅哥FPGA设计思想与验证方法视频教程配套文档
芯航线--普利斯队长精心奉献 实验目的: 1.复习按键的设计 2.用模块化设计的方式实现每次按下按键0,4个LED显示状态以二进制加法格式加1,每次按下按键1,4个LED显示状态以二进制加法格式减 ...
随机推荐
- JS对于数据常见操作
var _mozi=['墨家','墨子','墨翟','兼爱非攻','尚同尚贤']; $.each(_mozi,function(key,val){//先key 后值 循环 console.log(ke ...
- HDU 1503 带回朔路径的最长公共子串
http://acm.hdu.edu.cn/showproblem.php?pid=1503 这道题又WA了好几次 在裸最长公共子串基础上加了回溯功能,就是给三种状态各做一个 不同的标记.dp[n][ ...
- C/C++相对论——C++中为什么要使用异常?
C++中为什么要使用异常? 很多人也许知道C++中的异常机制,很多人也许不知道.很多人知道C中常用的assert,也知道在编译时候指定NODEBUG来忽略它. 对于C语言,使用正常的if-else即是 ...
- [ruby on rails] 跟我学之(10)数据输入验证
这里简单加上几个验证,非空,最小长度,唯一 修改模型 修改app/models/post.rb文件,如下: class Post < ActiveRecord::Base #attr_acces ...
- django 添加动态表格的方法
传统方法(基于方法的视图):http://stellarchariot.com/blog/2011/02/dynamically-add-form-to-formset-using-javascrip ...
- powerdesigner反向
1.Could not initial JVM不能初始化 :要求安装32位的JDK,把path指向32的安装目录 2.Non SQL Error : Could not load class orac ...
- Nginx 使用 sever 段规则屏蔽恶意 User Agent
相对于 Apache,Nginx 占用的系统资源更少,更适合 VPS 使用.恶意的 User Agent 无处不在,博客更换到 WordPress 没几天,就被 SPAM(垃圾留言)盯上,又被暴力破解 ...
- linux命令——mutt的安装和使用【转】
linux命令--mutt的安装和使用[转] 首先介绍一下mutt这个软件,它是一款基于文字界面的邮件客户端,非常小巧,但功能强大,可以用它来读写,回复保存和删除你的邮件,能在linux命令行模式下收 ...
- 使用Gitosis搭建Git服务器
使用Gitosis搭建Git服务器 作者: JeremyWei | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址: http://weizhifeng.net/build- ...
- cf592d
题意:给出一个无根树,点数为10^5,所有边的长度为1.给定其中有一些点是受到攻击的. 现在要求一个人选定一个点作为起点,走遍所有的受攻击点(不用再回到起点). 需要的最短距离是多少,选定的起点是哪个 ...