边沿检测电路漏检原因分析

边沿检测电路漏检原因分析

常用结构如下:

c 复制代码
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级缓存

c 复制代码
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

用这种方式的缺点是会造成检测边沿信号延迟一个时钟周期。

相关推荐
bnsarocket33 分钟前
Verilog和FPGA的自学笔记6——计数器(D触发器同步+异步方案)
笔记·fpga开发·verilog·自学·硬件编程
博览鸿蒙36 分钟前
FPGA职位经典笔/面试题(附答案与解析)
fpga开发
li星野2 小时前
打工人日报#20251011
笔记·程序人生·fpga开发·学习方法
尤老师FPGA2 小时前
LVDS系列31:Xilinx 7系 ADC LVDS接口参考设计(二)
fpga开发
ARM+FPGA+AI工业主板定制专家3 小时前
基于Jetson+GMSL AI相机的工业高动态视觉感知方案
人工智能·机器学习·fpga开发·自动驾驶
易享电子10 小时前
基于单片机大棚浇水灌溉控制系统Proteus仿真(含全部资料)
单片机·嵌入式硬件·fpga开发·51单片机·proteus
cmc102812 小时前
127.XIlinx fpga端的pcie(XDMA)与驱动是如何交换数据的
笔记·fpga开发
荆白雪1 天前
触摸按键控制LED
fpga开发
sz66cm1 天前
FPGA基础 -- cocotb仿真之任务调度cocotb.start_soon与asyncio的使用注意事项
fpga开发
霖001 天前
ZYNQ裸机开发指南笔记
人工智能·经验分享·笔记·matlab·fpga开发·信号处理