Verilog边沿检测

edge_check.v

Matlab 复制代码
module edge_check(
    input clk,
    input in,
    output neg_edge,
    output pos_edge
    );
    
    reg r1=1'd0;
    reg r2=1'd0;
    
    assign neg_edge=(~r1)&r2;
    assign pos_edge=r1&(~r2);
    
    always@(posedge clk)
    begin
        r1<=in;
        r2<=r1;
    end
    
endmodule

tb.v

Matlab 复制代码
`timescale 1ns/1ns

module tb;
//被测模块的输入信号必须在tb中必须是reg型
reg clk;
reg in;
	
wire neg_edge;
wire pos_edge;

edge_check u1(
    .clk(clk),
    .in(in),
    .neg_edge(neg_edge),
    .pos_edge(pos_edge)
 );
 
 //产生时钟激励
 initial  clk = 1; 
 always #10  clk = ~clk;
 
 //输入激励
 initial  begin 
    in=0;
    #20;
    in = 1;
    #20
    in=0;
    #20;
    in=1;
    #20;
    in=0;
    #20;
    in=1;
    #20;
    in=0;
    $stop;
 end
 
 endmodule 

仿真波形:

相关推荐
电院工程师11 小时前
ChipWhisperer教程(三)
笔记·python·嵌入式硬件·安全·fpga开发·安全架构
sz66cm11 小时前
FPGA基础 -- 什么是 Verilog 的模块(`module`)
fpga开发
anhuihbo1 天前
FPGA实现VESA DSC编码功能
fpga开发·vesa dsc
ThreeYear_s1 天前
基于fpga的疲劳驾驶检测
fpga开发
岁月磨吾少年志1 天前
【FPGA开发】DDS信号发生器设计
fpga开发
DQI-king1 天前
ZYNQ学习记录FPGA(三)状态机
学习·fpga开发
ThreeYear_s2 天前
基于FPGA的PID算法学习———实现PI比例控制算法
学习·算法·fpga开发
ThreeYear_s2 天前
基于FPGA的PID算法学习———实现PID比例控制算法
学习·算法·fpga开发
第二层皮-合肥2 天前
实战案例-FPGA如何实现JESD204B可重复的延迟
fpga开发
9527华安3 天前
国产安路FPGA实现图像视频采集转HDMI输出,提供5套TD工程源码和技术支持
fpga开发·音视频·安路·安路fpga·tangdynasty