首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 常用文档 > debounce测试文件

debounce测试文件

资料介绍
debounce测试文件

关于xilinx官方消抖例程的看法

最近开始学习ISE。软件版本ISE Design Suit 13.2,系统XP。
首先打开软件Help->Xilinx on the web-
>Tutorials,会在软件中出现xilinx的帮助页面。然后下载这个软件的相关手册和例程
等资料。
[pic]
这是一个秒表的实例。其中debounce.v文件是软件实现按键消抖。程序不长,在此贴出

`timescale 1ns / 1ps
module debounce(
input sig_in,
input clk,
output sig_out
);
reg [2:0] q;

always @ (posedge clk)
q <= {q[1:0], sig_in};
assign sig_out = q[0] & q[1] & !q[2];

endmodule

我用modelsim做了个仿真,如下图:
[pic]

从图中可以看出,只要在某个clk的上升沿sig_in为低电平,且之后连续有两个clk上升
沿检测到sig_in是高电平就被认为是按键按下一次。这个,我觉得是不合理的。因为偶
尔一个低电平干扰信号都有可能被认为是按键被按下。一般按键消抖,需要使按键信号
保持足够长时间的低电平才算是按键被按下。关于按键消抖网上有许多的例子。
不知道我的想法对不对,贴出来欢迎指正。

附上下载的入门手册和官方verilog编写的秒表例程以及我写的debounce测试文件。
标签:debouncetestbench
debounce测试文件
本地下载

评论