FPGA笔记(四)
又到了周末,今天晚上感觉还有些状态,这几天状态都不好,也没有好好学习!这可是不行的,要好好努力!加油!Rome is not built in one day!
今天在看消抖的列子,深深地觉得模块化的思想在FPGA里同样适用,此外,想想,如果换做我自己来写整个消抖的程序,做不到这么规范,也细写不下去,认清了目前这个现实,明白要走的路还远着呢!
学习了比较多的东西,比如:
1、复位的一瞬间,电平是不平稳的,需要延时100us。(这个我自己想不到)
2、阻塞赋值与非阻塞赋值的区别(之前一直没看懂)
3、区分电平到底是从高到低还是从低到高的变换(感觉豁然开朗)
这个检测模块如下所示:
module detect_module(
CLK,//时钟
RSTn,//复位
Pin_In,//
H2L_Sig,
L2H_Sig
);
input CLK;
input RSTn;
input Pin_In;
output H2L_Sig;
output L2H_Sig;
parameter T100US=11'd4999;
reg[10:0] Count1;
reg isEn;
always@(posedge CLK or negedge RSTn)
begin
if(!RSTn)//复位后的初始化
begin
Count1<=11'b0;
isEn<=1'b0;
end
else if(Count1==T100US)
isEn<=1'b1;
else
Count1<=Count1+1'b1;
end