首页 > 其他分享 >边沿检测电路?上升&下降&双边沿

边沿检测电路?上升&下降&双边沿

时间:2023-07-27 19:12:44浏览次数:30  
标签:clk 检测 sys 电路 edge 边沿 rst reg

请设计一个边沿检测电路,检测上升、下降、双边沿?

module edge_detect(
input        sys_clk             ,
input        sys_rst_n           ,
input        in                  ,
output       pose_edge           ,
output       nege_edge           ,
output       dou_edge           
);
//要实现边沿检测,最直接的想法是用两级寄存器,第二级寄存器锁存住某个时钟上升沿到来时的输入电平,第一级寄存器锁存住下一个时钟沿到来时的输入电平,如果这两个寄存器锁存住的电平信号不同,就说明检测到了边沿,具体是上升沿还是下降沿可以通过组合逻辑来实现。
reg  edge_0;  
reg  edge_1;

always@(posedge sys_clk or negedge sys_rst_n) begin
    if(!sys_rst_n) begin 
        edge_0<=1'b0;
        edge_1<=1'b0;
    end 
    else  begin 
        edge_0<=in;
        edge_1<=edge_0;
    end 
end 

assign pose_edge =edge_0&(~edge_1);  //检测上升沿
assign nege_edge =(~edge_0)&edge_1;  // 检测下降沿
assign dou_edge  =edge_0^edge_1;     //检测双沿  edge_0&(~edge_1)|(~edge_0)&edge_1
endmodule 
`timescale 1ns/1ns
module tb_edge_detect();
reg      sys_clk        ;
reg      sys_rst_n      ;
reg      in             ;
wire     pose_edge      ;
wire     nege_edge      ;
wire     dou_edge       ;

initial begin
    sys_clk<=1'b0;
    sys_rst_n<=1'b0;
    in<=1'b0;
    #20
    sys_rst_n<=1'b1;
    #30              //模拟 输入 产生上升沿和下降沿
    in<=1'b1;
    #40
    in<=1'b0;
    #50
    in<=1'b1;
    #40
    in<=1'b0;
    #60
    in<=1'b1;
    #55
    in<=1'b0;
    #30
    in<=1'b1;
    #30
    in<=1'b0;
    #90
    in<=1'b1;
    #30
    in<=1'b0;
    #200
    in<=1'b1;
    #105
    in<=1'b0;
end 

always  #10 sys_clk<=~sys_clk;

edge_detect    edge_detect_inst(
.sys_clk     (sys_clk  )        ,
.sys_rst_n   (sys_rst_n)        ,
.in          (in       )        ,
.pose_edge   (pose_edge)        ,
.nege_edge   (nege_edge)        ,
.dou_edge    (dou_edge )        
);

endmodule

波形图:

 

 

 

标签:clk,检测,sys,电路,edge,边沿,rst,reg
From: https://www.cnblogs.com/yhm1314/p/17585805.html

相关文章

  • 按键消抖电路如何实现?
    请设计一个按键消抖电路?按键消抖:按键消抖_百度百科(baidu.com)modulekey_debounce(inputsys_clk,//20nsinputsys_rst_n,inputkey,//outputregkey_flag,//正点原子中将表示信号作为一路输出信号使......
  • 奇分频电路如何实现? 负沿触发&非负沿触发
    请设计一个奇分频电路,占空比为50%?以下给出解答:1、带负沿触发 modulediv//带负沿触发#(parameterN=5)//定义分频参数(inputsys_clk,inputsys_rst_n,outputdiv_clk);//核心:在上下边沿的计数器......
  • OpenCV4之特征提取与对象检测
    1、图像特征概述图像特征的定义与表示图像特征表示是该图像唯一的表述,是图像的DNA图像特征提取概述传统图像特征提取-主要基于纹理、角点、颜色分布、梯度、边缘等深度卷积神经网络特征提取-基于监督学习、自动提取特征特征数据/特征属性尺度空间不变性像素迁移不......
  • 成功实现FaceTime拨打,FaceTime数据筛选,检测手机号是否开通FaceTime的原理
    FaceTime是苹果公司iOS和macOS(以前称MacOSX或OSX)内置的一款视频通话软件,通过Wi-Fi或者蜂窝数据接入互联网,在两个装有FaceTime的设备之间实现视频通话。其要求通话双方均具有装有FaceTime的苹果设备,苹果ID以及可接入互联网的3G/4G/5G或者Wi-Fi网络。 一、Windows电脑上部署苹......
  • SORT:基于检测的目标跟踪的鼻祖
    本文来自公众号“AI大道理”​SORT是一种多目标跟踪的经典算法,整个算法是一些常规技术的简单组合,却达到了非常好的效果。Sort算法的核心是匈牙利匹配算法和卡尔曼滤波算法。​ 添加图片注释,不超过140字(可选)1、SORT简介SORT(SimpleOnlineandReal......
  • BNC端口防雷击浪涌静电保护电路图
    BNC连接器(英语:BayonetNeill-Concelman,直译为“尼尔-康塞曼卡口”)是一种很常见的RF端子同轴电缆终结器,用于射频信号的传输,包括模拟或数字视频信号的传输、业余无线电设备天线的连接、航空电子设备和其他的一些电子测试设备的连接。BNC连接器没有被淘汰,主要因为同轴电缆是一种屏蔽电......
  • 数据库 SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确 解决方法
    消息824,级别24,状态2,第35行SQLServer检测到基于一致性的逻辑I/O错误校验和不正确(应为:0xafd28414,但实际为:0x84d07fc6)。在文件'D:\back\U9TEST1_Data.mdf'中、偏移量为0x00000a3cde4000的位置对数据库ID17中的页(1:5367538)执行读取期间,发生了该错误。SQL......
  • 论文解读|用于从RGB-D数据进行3D物体检测的Frustum PointNets
    原创|文BFT机器人01摘要论文研究了室内和室外场景中基于RGBD数据的3D目标检测。论文的方法不仅仅依赖于3D方案,而是利用成熟的2D对象检测器和先进的3D深度学习进行对象定位,即使是小对象也能实现高效率和高召回。直接在原始点云中学习,可以在强遮挡或非常稀疏的点下也能够精确地估......
  • 印制电路板中常用标准有哪些?
    在PCB电路板中一般都有哪些标准呢?一起来看看。1)IPC-ESD-2020:静电放电控制程序开发的联合标准。包括静电放电控制程序所必须的设计、建立、实现和维护。根据某些军事组织和商业组织的历史经验,为静电放电敏感时期进行处理和保护提供指导。2)IPC-SA-61A:焊接后半水成清洗手册。包括......
  • 快速检测HTTP代理IP是否有效的方法及python代码示例
     1.使用在线代理检测工具:有许多免费的在线代理检测工具可用,如ProxyChecker、ProxyScrape等。只需将待检测的代理IP和端口输入工具中,点击开始检测,即可迅速获得代理的可用性和匿名性等信息。 2.使用命令行工具进行检测:在命令行中使用curl命令来测试代理的可用性。例如,输入命令"......