请教大侠个简单的问题 verilog hdl 万谢了
时间:10-02
整理:3721RD
点击:
rs232_rx0 <= rs232_rx;
rs232_rx1 <= rs232_rx0;
rs232_rx2 <= rs232_rx1;
rs232_rx3 <= rs232_rx2;
以上我懂;滤除毛刺的;
以下这是啥意思啊?
assign neg_rs232_rx = rs232_rx3 & rs232_rx2 & ~rs232_rx1 & ~rs232_rx0;
rs232_rx1 <= rs232_rx0;
rs232_rx2 <= rs232_rx1;
rs232_rx3 <= rs232_rx2;
以上我懂;滤除毛刺的;
以下这是啥意思啊?
assign neg_rs232_rx = rs232_rx3 & rs232_rx2 & ~rs232_rx1 & ~rs232_rx0;
没人,恩
rs232_rx0 <= rs232_rx;
rs232_rx1 <= rs232_rx0;
rs232_rx2 <= rs232_rx1;
rs232_rx3 <= rs232_rx2;
很明显对输入信号rs232_rx用寄存器打了三拍,防止亚稳态
接着说这个assign neg_rs232_rx = rs232_rx3 & rs232_rx2 & ~rs232_rx1 & ~rs232_rx0;
rs232_rx作为输入,若出现从“1”到“0”的变化,那么随之而来的三个时钟rs232_rx0、rs232_rx1、rs232_rx2和rs232_rx3也会出现下降沿,那么rs232_rx3为“1”而rs232_rx0、rs232_rx1、rs232_rx2为“0”的时候neg_rs232_rx只在这个时刻为“1”,下一个周期就又变“0”了,neg_rs232_rx表明的是输入信号rs232_rx的下降沿~
assign pose_rs232_rx = ~rs232_rx3 & rs232_rx2 & rs232_rx1 & rs232_rx0同理就是表示rs232_rx的上升沿咯~
检测有没有亚稳态产生或者检测边沿
检测0011
理解了,非常感谢哈