微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请教大侠个简单的问题 verilog hdl 万谢了

请教大侠个简单的问题 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_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



    理解了,非常感谢哈

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top