问题来源:
写RS-232串口的时候,涉及到按键处理逻辑模块,需要将“”在板子上按键”这一动作转化为一个脉冲信号。这一过程是通过同步整形电路实现的,精确表述如下:
将外部输入的异步信号进行同步处理(与系统时钟同步)和整形(将输入信号由不规则波形提取为具备一个或多个时钟周期长得脉冲信号)。
源代码有关片段如下:
。解析前,先明确整形电路的方法是:同步整形的基本方法就是通过时钟对异步信号连续采样得到同步信号,然后由前后两
次的同步采样进行逻辑组合得到整形输出。所以要先进行两次采样, bv1写成:bv1 <= {bv1[1],bv1[0],BUTTON_N};第一次采样时写成bv1 <= {bv1[0],BUTTON_N,BUTTON_N'} 第二次采样可以写成bv1 <= { BUTTON_N , BUTTON_N',BUTTON_N'' }.由此就得到2次采样。然后将然后将一次采样结果取反和二次采样结果相与得到输出信号。
这是根据采样方法来分析的,大家有不同意见可以多交流,相互学习。