学习FPGA边沿检测——输出脉冲信号(一)

1、代码如下:
module pulse
(
clk,rst_n,
din,dout
);

input clk; //时钟信号
input rst_n; //异步复位信号,低电平有效
input din; //输入信号
output reg dout; //输出信号,无边沿信号时为0
reg din_reg; //输入信号缓存

always @(posedge clk,negedge rst_n)
begin
if(!rst_n)
begin
dout <= 0;
din_reg <= 0;
end
else
begin
din_reg <= din; //输入数据缓存
if(din_reg!=din)
dout <= 1;
else
dout <= 0;
end
end

endmodule

结论:输入为电平信号时,上升沿到来之后,下一个时钟上升沿到来时输出一个高电平脉冲信号,其高电平持续一个周期;下降沿到来之后,下一个时钟上升沿到来时输出一个高电平脉冲信号,其高电平持续一个周期;
举例说明:
1、当输入信号上升沿和下降沿间隔一个周期,则输出的脉冲信号其高电平持续2个周期;
2、当输入信号为周期性信号,其频率为时钟信号一半,则输出信号为高电平信号;

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值