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

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

常用结构如下:

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

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

相关推荐
FakeOccupational5 小时前
fpga系列 HDL:ModelSim显示模拟波形+十进制格式数值(临时方法和设置持久化的默认值)
fpga开发
沐欣工作室_lvyiyi9 小时前
基于单片机的智慧农业大棚系统(论文+源码)
单片机·嵌入式硬件·fpga开发·毕业设计·单片机毕业设计
贝塔实验室10 小时前
一种基于动态部分重构的FPGA自修复控制器
fpga开发·重构·系统架构·硬件架构·硬件工程·fpga·安全架构
一口一口吃成大V10 小时前
FPGA随记——过约束
fpga开发
贝塔实验室10 小时前
FPGA三模冗余TMR工具(二)
安全·fpga开发·重构·硬件架构·硬件工程·软件构建·fpga
林伟_fpga11 小时前
必要性论证:将FPGA深入应用于基于CPU、CPU+GPU的人形机器人控制系统
人工智能·fpga开发·机器人
CodingCos14 小时前
【SOC 芯片设计 DFT 学习专栏 -- DFT std logic 介绍 】
fpga开发·std logic
水饺编程14 小时前
简易CPU设计入门:内存读写(二)
linux·嵌入式硬件·fpga开发·硬件架构
ktd00715 小时前
Xilinx MultiBoot中BITSTREAM.CONFIG.TIMER_CFG参数定义说明
fpga开发
小仇学长18 小时前
FPGA(二)组成结构基础内容
fpga开发