边沿检测

边沿检测

在这里插入图片描述
在这里插入图片描述

边沿检测模块代码

module edge_check( 
    input				clk		,
    input				rst_n	,
    input               signial ,//输入系统外部信号

    output	wire	        pos_edge,//上升沿检测输出标志
    output	wire 	        neg_edge	
);								  			 
                        
    //中间信号定义		 
    reg			signial_r;//输入信号寄存器

    always @(posedge clk or negedge rst_n)begin 
            if(rst_n == 1'b0)begin
                signial_r <= 0;
            end 
            else begin 
                signial_r <= signial;
            end 
    end

    //当外部输入signial 由10时,neg_edge为高电平,并维持一个时钟周期
    assign neg_edge = signial_r & (~signial);
    //当外部输入signial 由01时,pos_edge为高电平,并维持一个时钟周期
    assign pos_edge = (~signial_r) & signial;

endmodule

边沿检测测试模块

`timescale 1ns/1ns
                
module edge_check_tb();
//激励信号定义 
reg				tb_clk  	;
reg				tb_rst_n	;
reg				signial		;

//输出信号定义	 
wire	    	pos_edge	;
wire	    	neg_edge    ;
                                          
//时钟周期参数定义					        
parameter		CLOCK_CYCLE = 20    ;
                                          
edge_check u_edge_check( 
    .	clk		(tb_clk),
    .	rst_n	(tb_rst_n),
    .   signial (signial),//输入系统外部信号

    .   pos_edge(pos_edge),//上升沿检测输出标志
    .   neg_edge(neg_edge)	
);							
//产生时钟							       		
initial 		tb_clk = 1'b0;		       		
always #(CLOCK_CYCLE/2) tb_clk = ~tb_clk;  		
                                                   
//产生激励							       		
initial  begin						       		
    tb_rst_n = 1'b0;								
    signial = 1;								
    #(CLOCK_CYCLE*20);				            
    tb_rst_n = 1'b1;
    #200 	signial = 0;
    #200 	signial = 1;
    #200 	signial = 0;
    #200 	signial = 1; 
    #200 	signial = 0;
    #200 	signial = 1;
    #200 	signial = 0;                                              
    end							       			
                                                   
endmodule 				

rtl视图
在这里插入图片描述
仿真波形图

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值