触发器
- 电平触发、边沿触发和脉冲触发是三种主要的触发形式。
always @(posedge clk or negedge rst_n)
是一个典型的 Verilog 语句,用于定义一个带复位的触发器。D触发器是一种基本的数字存储元件,主要用于数据存储和时序控制。
D触发器的建立时间和保持时间
- 在时钟的上升沿附近数据要保持稳定,以确保正确采样。
建立时间(Setup Time)
- 建立时间是指在时钟信号的上升沿到来之前,数据输入(D)需要保持稳定的时间。换句话说,D输入在时钟信号的触发前必须在有效状态,并且在这个时间段内不能发生变化。DATA(D)先出发,即在CLK上升沿到来前要先稳定一段时间。
保持时间(Hold Time)
- 保持时间是指在时钟信号的上升沿到来之后,数据输入(D)仍然需要保持稳定的时间。也就是说,在时钟信号的触发后,D输入必须在其有效状态,并且不能立即改变。保持时间去确保DATA被上传到输出端。
D触发器示例
1.主从边沿触发的 D 触发器
- 主从边沿触发的 D 触发器基础结构 — D 锁存:
- 主从边沿触发的 D 触发器由D 锁存组成:
- 如果 Clk 为 0,则表示从锁存器的 Enable input 也为 0。所以这个 latch 的 output 不会发生任何事情。
- 但是当 Clk 从 0 变为 1 (上升沿)时,slave 锁存器的 Enable input 设置为 1。这意味着在 Clk 从 0 变为 1 的那一刻 master latch 的 output 上的任何内容都保存到 slave latch 的 output。
2.经典的正边沿触发 D 触发器
非门(NAND gate)
下面是与非门(NAND gate)的真值表:
A | B | A NAND B |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
在这个真值表中:
- 当输入 A 和 B 都为 1 时,输出为 0。
- 其他情况下,输出都为 1。
经典的正边沿触发 D 触发器如下所示:
- D触发器有两个主要输入:数据输入D和时钟输入CLK。当CLK信号的边缘到来时,D触发器会“锁定”D的值,然后将其输出到Q
CG
-
https://en.wikipedia.org/wiki/Flip-flop_(electronics)#Gated_D_latch
-
DUAL D-TYPE POSITIVE-EDGE-TRIGGERED FLIP-FLOPS WITH PRESET AND CLEAR SDLS119 − DECEMBER 1983 − REVISED MARCH 1988
-
青少年电子技术基础第22讲:单稳态