上升沿和下降沿的判断

FPGA 中的上升沿和下降沿的判断,原理都是buffer 进行缓存。要分清楚的是,信号是先通过buffer0 或者 reg1,最后是通过 buffer1 和 reg2 , reg_x ,一定是先通过数值小的,再通过数值大的。

方法1: 采用拼接的方式

 reg [1:0] r_Key;
    always@(posedge Clk)
        r_Key <= {r_Key[0],Key};
    wire pedge_key;
    assign pedge_key = r_Key == 2'b01;
    wire nedge_key;
    assign nedge_key = r_Key == 2'b10;

方法2:  

	always@(posedge clk or negedge reset_n)
	    if(!reset_n)begin 
		    key_in_reg1 <=  1'b0;
			key_in_reg2 <= 1'b1;
		end 
		else begin 
		    key_in_reg1 <= key_in;
			key_in_reg2 <= key_in_reg1;
 		end 
	
	assign key_pedge = key_in_reg1&(!key_in_reg2);
	assign key_nedge = (!key_in_reg1)&key_in_reg2;
	

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值