「Verilog学习笔记」边沿检测

专栏前言

本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网

「Verilog学习笔记」边沿检测_第1张图片


「Verilog学习笔记」边沿检测_第2张图片

`timescale 1ns/1ns
module edge_detect(
	input clk,
	input rst_n,
	input a,
	
	output reg rise,
	output reg down
);
	reg a_tem ; 

	always @ (posedge clk or negedge rst_n) begin
		if (!rst_n) a_tem <= 1'b0 ; 
		else a_tem <= a ; 
	end
	
	always @ (posedge clk or negedge rst_n) begin 
		if (!rst_n) begin
			rise <= 1'b0 ;
			down <= 1'b0 ; 
		end
		else if (!a_tem && a) begin
			rise <= 1'b1 ; 
			down <= 1'b0 ; 
		end
		else if (a_tem && !a) begin
			rise <= 1'b0 ; 
			down <= 1'b1 ; 
		end
		else begin
			rise <= 1'b0 ;
			down <= 1'b0 ; 
		end
	end
endmodule

你可能感兴趣的:(Verilog学习笔记,学习,笔记,Verilog)