IT评测·应用市场-qidao123.com
标题:
边沿检测电路漏检缘故原由分析
[打印本页]
作者:
勿忘初心做自己
时间:
2025-1-1 05:49
标题:
边沿检测电路漏检缘故原由分析
边沿检测电路漏检缘故原由分析
常用布局如下:
module edge_detect1(
input clk,
input signal,
output pe, //上升沿
output ne, //下降沿
output de //双边沿
);
reg reg1;
always@(posedge clk) begin
reg1 <= signal;
end
assign pe = (~reg1) & signal;
assign ne = reg1 & (~signal);
assign de = pe | ne; // 或 reg1 ^ signal
endmodule
复制代码
对应的电路布局如下
该布局的边沿检测模块,仅使用到1个寄存器,其边沿输出通过信号 signal 与前一时刻的 signal 做逻辑运算得到,正因此,其一旦signal信号发生变动,其边沿信号也会随之改变,其优点是边沿信号相应敏捷,而缺点是边沿信号高电平时间小于一个 clk 周期,因此容易出现漏检。尤其是当信号和时钟边沿很靠近时,会出现高电平的时间非常短,从而出现误判
改进方法1:加入寄存器,2级缓存
module edge_detect3(
input clk,
input signal,
output pe, //上升沿
output ne, //下降沿
output de //双边沿
);
reg reg1,reg_2;
always@(posedge clk) begin
reg1 <= signal;
reg2 <= reg1;
end
assign pe = reg1 & (~reg2);
assign ne = (~reg1) & reg2;
assign de = reg1 ^ reg2;
endmodule
复制代码
用这种方式的缺点是会造成检测边沿信号延迟一个时钟周期。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4