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 

仿真波形:

相关推荐
海涛高软25 分钟前
yolov8目标检测训练在rk3588上部署
fpga开发
第二层皮-合肥2 小时前
USB3.0专题-硬件的测试
fpga开发
hexiaoyan8273 小时前
高速数据采集卡设计方案:886-基于RFSOC的8路5G ADC和8路9G的DAC PCIe卡
fpga开发·高速数据采集卡·光纤pcie卡·通用pcie卡·xc7a100t板卡
嵌入式软硬件攻城狮9 小时前
2.FPGA板卡通过电脑映射连接上网
fpga开发·电脑
brave and determined10 小时前
可编程逻辑器件学习(day22):“让ARM穿上FPGA的马甲“:赛灵思Zynq的命名哲学与技术革命
arm开发·嵌入式硬件·fpga开发·zynq·fpga设计·嵌入式设计·fpga开发流程
FPGA_小田老师1 天前
FPGA语法基础(二):SystemVerilog 数组清零方法详解
fpga开发·systemverilog·数组清零·systemverilog数组·systemverilog语法
jiushun_suanli1 天前
FPGA(现场可编程门阵列)详解
经验分享·学习·fpga开发
Terasic友晶科技1 天前
1-串行通信基础知识
fpga开发·串口通信·异步通信·串行通信·同步通信·并行通信·单工
FPGA_小田老师1 天前
Xilinx Aurora 8B/10B IP核(2):Shared Logic的选择
fpga开发·aurora 8b/10b·share logic·aurora接口
嵌入式软硬件攻城狮2 天前
4.FPGA字符格式
fpga开发