FPGA入门练习 Verilog写一个下降沿检测

记录学习FPGA的点点滴滴
//首先是代码

module check_down(
input clk,
input gate,//测试信号
input rst_n,
output sign
);
reg d0;
reg d1;
always @(posedge clk or negedge rst_n)begin
    if(!rst_n) begin
        d0 <= 1'b0;
        d1 <= 1'b0;
    end
    else begin
        d0 <= gate;
        d1 <= d0;
    end
end
assign sign=d1&(~d0);
endmodule在这里插入代码片

然后是仿真代码

`timescale 1 ns/ 1 ns
module tb_check_down();
reg clk;
reg rst_n;
reg gate;
wire sign;
check_down u1(.clk(clk),.rst_n(rst_n),
.gate(gate),.sign(sign));
initial begin
clk<=1'b0;
rst_n<=1'b0;
gate<=1'b1;
#100 rst_n<=1'b1;
#200 gate<=1'b0;
end
always #10 clk<=~clk;
endmodule

原理较简单,在此就不赘述了。

最后是仿真波形
在这里插入图片描述
很显然,当测试信号gate下降沿到来时,sign在下个时钟周期变为高电平,检测成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值