从多级延迟触发器到边沿检测

  本文记录一下关于延迟触发器链与它的常用用法(即边沿检测。多级延迟的触发器应该是比较常用的,当我们需要对信号信号进行延时,这个时候我们就用到了延迟触发器链。下面就来记录一下吧。

  

一、多级延迟触发器(或延迟触发器链)

  (1)多级延迟触发器电路

  多级延迟触发器,顾明思议就是多个触发器串在一起,对信号进行打拍,一个触发器就延时了一拍,也就是延迟了一个时钟周期。

多级触发器的代码如下所示:

 1 module DFF_N #(parameter N=3)(2   input clk,3   input reset,4   input [N-1:0] D,5   output reg [N-1:0] Q6 );7 reg [N-1:0]d0;8 reg [N-1:0]d1;9 always@(posedge clk or negedge reset)
10   if(!reset)begin
11     d0 <= 0; //异步清 0,低电平有效
12     d1 <= 0; //异步清 0,低电平有效
13     Q  <= 0; //异步清 0,低电平有效
14   end
15   else begin
16     d0 <= D;
17     d1 <= d0;
18     Q  <= d1;
19   end
20 
21 endmodule

 d0 是 D 的延迟一级采样或者称为 D 的延迟一拍信号,同样 d1 是 D 的延迟两拍信号,而 Q 则是 延迟三拍信号。一方面可以通过修改N来改变对多少位的信号的进行延时;另一方面,可以用通过修改部分代码,添加或者减少延迟计数。

 

代码综合得到的电路(综合之后)如下所示:

 

电路中显示出三级延时,可以延时三个时钟节拍(也就是三个时钟周期),需要说明的是,上述每一级触发器都包含了3个触发器(对三位数据总线进行延时)。

  (2)多级延迟触发器的主要用法

①简单的延时

   多级延迟触发器最原始的作用单纯的对 D 信号做延迟操作,这里就不进行详述。

②降低亚稳态往后级传输的概率

   如果 D 信号相对 clk 属于不稳定信号,则 Q 和 d1 输出相对 clk 属 于稳定信号,这样就有效地降低了亚稳态往后级传输的概率,多级延时触发器链有时也称为同步器。有关多级触发器在降级亚稳态传输概率的内容,请查看我的另一篇博文:http://www.cnblogs.com/IClearner/p/6485389.html 。

③用来边沿检测

   可以通过 d1 和 Q 信号获取 D 信号的上升沿或者下降沿,具体介绍如下第二大点所示。

 

 

二、边沿检测电路

  边沿检测,顾名思义,就是检查信号的边沿,当信号的上升沿或者下降沿到来时,获取一个脉冲信号,时序图如下所示:

上图的检测信号同时输出上升沿检测和下降沿检测。那么这个波形怎么来的呢,我们来看看下面几组波形:

 

可以发现:

  始信号与延迟一拍的信号 d0 的反向信,就是上升沿脉冲

  而始信号取反,然后与延迟一拍信号d0就是下降沿脉冲

如果担心采样不稳定,可以利用延迟两拍的 d1 信号进行相 与。如果担心不定态,还可以将脉冲信号进行锁存。

代码如下所示:

 1 module  DFF_N #(parameter  N=1)(2     input clk,3     input reset,4     input  [N-1:0]  D,5     output [N-1:0] D_rising_edge, //上升沿检测6     output [N-1:0] D_falling_edge //下降沿检测7 );8 reg [N-1:0]d0;9 reg [N-1:0]d1;
10 reg [N-1:0]Q;
11 always@(posedge clk or negedge reset)
12 if(!reset)begin
13     d0 <= 0;
14     d1 <= 0;
15     Q  <= 0;
16 end    else begin 
17     d0 <= D;
18     d1 <= d0;
19     Q  <= d1;
20 end
21 
22 assign D_rising_edge = ~d0 & D; //关键
23 assign D_falling_edge= d0 & ~D; //关键
24 endmodule

 (反入与延上升沿:取反输入信号之后,再与延迟一拍的输出相与就得到了上升沿)

综合得到的电路如下所示:

 

这个电路把代码中的Q触发器优化掉了。两个输出信号D_rising_edge 、D_falling_edge分别输出上升沿检测信号脉冲和下降沿检测信号脉冲。

转载于:https://www.cnblogs.com/IClearner/p/7197993.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416375.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS 11: CORE ML—浅析

本文来自于腾讯Bugly公众号&#xff08;weixinBugly&#xff09;&#xff0c;未经作者同意&#xff0c;请勿转载&#xff0c;原文地址&#xff1a;https://mp.weixin.qq.com/s/OWD5UEiVu5JpYArcd2H9ig 作者&#xff1a;liujizhou 导语&#xff1a;在刚刚过去的WWDC上&#xff0…

angular的uiRouter服务学习(5) --- $state.includes()方法

$state.includes 方法用于判断当前激活状态是否是指定的状态或者是指定状态的子状态. $state.includes(stateOrName,params,options) $state.includes方法接受三个参数,其中第二和第三个都不知道是干啥的...估计也不太用得到,就暂时不管了... stateOrName:字符串(必填). 是一个…

前端学习(2487):在VUE中使用element-ui的el-select组件时出现该报错

一. 报错场景 在VUE中使用element-ui的el-select组件时出现该报错 [Vue warn]: Missing required prop: "value" 1 二. 报错原因 2.1.el-select中没有进行双向数据绑定&#xff08;v-model&#xff09; 2.2 el-option没有进行value赋值 三. 具体示例 3.1 报错…

php 正则mysql语句_MySQL正则表达式搜索 - mysql数据库栏目 - 自学php

products表如下&#xff1a;1. 基本字符匹配vcrH1NrV7j2wdDL0cv3o6zWu9KqcHJvZF9uYW1l1tCw/LqswcvLcvRy/e1xNfWt/uzb/J0tTBy6OstvhMSUtFyOe57K708PNqMXkt/ujrMTHw7TSqsfzcHJvZF9uYW1l0vL0cv3tcTX1rf70qrN6sirxqXF5KO60rKzcrHy7XPwsPmtcTA/dfTo6zQ6NKqyrnTwyBMSUtFIA"JetPa…

python 类和对象 有必要学吗_类与对象-python学习19

类与对象类&#xff1a;我们常用类来划分一个个特定的群体&#xff1b;我们所说的类&#xff0c;是物以类聚的类&#xff0c;是分门别类的类&#xff0c;是多个类似事物组成的群体的统称。类的概念能帮助我们快速理解和判断事物的性质。类(class)&#xff0c;比如整数、字符串、…

最简单的基于FFmpeg的移动端样例:IOS 视频转码器

最简单的基于FFmpeg的移动端样例系列文章列表&#xff1a;最简单的基于FFmpeg的移动端样例&#xff1a;Android HelloWorld最简单的基于FFmpeg的移动端样例&#xff1a;Android 视频解码器最简单的基于FFmpeg的移动端样例&#xff1a;Android 视频解码器-单个库版最简单的基于F…

PHP_CodeIgniter _remap重新定义方法

如果controller定义了_remap方法&#xff0c; 在_remap中重新定义方法 class Test extends CI_Controller{public function index(){echo "hello world";}//index.php/Test/success/id/1aapublic function _remap($method,$params){if($methodsuccess){$method . 2; …

php20个字,北京人会说不会写的20个字,第一个我就跪了

这20个字你们都会写吗?扽■ 【读音】dn■ 【释义】拉&#xff0c;猛拉&#xff0c;使伸直或平整。■ 【举例】快来人啊&#xff0c;我扽不住他啦!熥■ 【读音】tēng■ 【释义】把已经熟了的食物再加热。■ 【举例】馒头凉了&#xff0c;熥熥再吃。皴■ 【读音】cūn■ 【释义…

【洛谷2986】【USACO10MAR】伟大的奶牛聚集

题面 题目描述 Bessie is planning the annual Great Cow Gathering for cows all across the country and, of course, she would like to choose the most convenient location for the gathering to take place. Each cow lives in one of N (1 < N < 100,000) differ…

工作73:获取id值

this.$route.params,id取值