触发器
触发器(英語:Flip-flop, FF),中國大陆譯作「触发器」、臺灣及香港譯作「正反器」,是一种具有两种稳态的用于储存的元件,可記錄二进制数字信号「1」和「0」。触发器是一种雙穩態多諧振盪器(bistable multivibrator)。该电路可以通过一个或多个施加在控制输入端的信号来改变自身的状态,并会有1个或2个输出。触发器是构成时序逻辑电路以及各种复杂数字系统的基本逻辑单元。触发器和锁存器是在计算机、通讯和许多其他类型的系统中使用的数字电子系统的基本组成部分。
触发器的線路圖由逻辑门組合而成,其結構均由SR锁存器衍生而來(广义的触发器包括锁存器)。触发器可以处理輸入、輸出信號和時序脈波(CK)之间的相互影响。这里的触发器特指flip-flop,flip-flop一词主要是指具有两个状态相互翻转,例如编程语言中使用flip-flop buffer(翻译作双缓冲)[來源請求]。
触发器的種類
正反器可以分成幾種常見的類型: SR (設置-重置,"set-reset"), D (數據或延遲,"data" or "delay"[1]), T(反轉,"toggle"),和JK。 以上類型的正反器皆可用特徵方程,以現有的輸入、輸出訊號(Q),導出下個(即下個時鐘脈衝的)輸出(Qnext)。
RS触发器
基本RS触发器又称SR锁存器,是触发器中最简单的一种,也是各种其他类型触发器的基本组成部分。两个与非门或或非门的输入端输出端进行交叉耦合或首尾相接,即可构成一个基本RS触发器。
當R與S皆為低電位,回授會讓Q與Q(Q的反相)保持於一個固定的狀態。當S(Set)為高電位,R(Reset)為低電位時,輸出Q會被強制設定為高電位;相反的,當S為低電位,R為高電位時,輸出Q會被強制設定為低電位。
SR閂鎖運算[2] | ||||||||
---|---|---|---|---|---|---|---|---|
狀態轉移表 | 激發表 | |||||||
S | R | Qnext | 動作 | Q | Qnext | S | R | |
0 | 0 | Q | 保持 | 0 | 0 | 0 | X | |
0 | 1 | 0 | 重置 | 0 | 1 | 1 | 0 | |
1 | 0 | 1 | 設置 | 1 | 0 | 0 | 1 | |
1 | 1 | X | 不允許的輸入 | 1 | 1 | X | 0 |
特徵方程为,且RS=0。
D触发器
D触发器有一個輸入、一個輸出和一個時脈輸入,當時脈由0轉為1時,輸出的值會和輸入的值相等。此類触发器可用於防止因為噪声所帶來的錯誤,以及通过管线增加處理數據的數量。
真值表如下:
D | CK | Q | Qnext |
0 | ↑ | X | 0 |
1 | ↑ | X | 1 |
X | 0(1) | 0 | 0 |
X | 0(1) | 1 | 1 |
JK触发器
JK触发器設有兩個輸入,其輸出的值由以下的算式來決定。
JK触发器和触发器中最基本的RS触发器结构相似,其区别在于,RS触发器不允许R与S同时为1,而JK触发器允许J与K同时为1。当J与K同时变为1的同时,輸出的值状态会反转。也就是说,原来是0的话,变成1;原来是1的话,变成0。
對應表如下:
JK正反器運算[4] | |||||||||
---|---|---|---|---|---|---|---|---|---|
狀態轉移表 | 激發表 | ||||||||
J | K | CK | 動作 | Qnext | Q | Qnext | 動作 | J | K |
0 | 0 | ↑ | 保持 | Q | 0 | 0 | 不變 | 0 | X |
0 | 1 | ↑ | 重置 | 0 | 0 | 1 | 設置 | 1 | X |
1 | 0 | ↑ | 設置 | 1 | 1 | 0 | 重置 | X | 1 |
1 | 1 | ↑ | 反轉 | Q | 1 | 1 | 不變 | X | 0 |
X | X | 0(1) | 保持 | Q |
T触发器
T触发器(Toggle Flip-Flop,or Trigger Flip-Flop)設有一個輸入和輸出,當時脈由0轉為1時:如果输入端T为1,則输出端的状态Q发生反转;如果输入端T为0,則输出端的状态Q保持不变。把JK触发器的J和K輸入點連接在一起,即構成一個T触发器。
因此T觸發器的算式為:
T正反器運算[4] | ||||||||
---|---|---|---|---|---|---|---|---|
狀態轉移表 | 激發表 | |||||||
動作 | 動作 | |||||||
0 | 0 | 0 | 保持(無上升沿) | 0 | 0 | 0 | 不變 | |
0 | 1 | 1 | 保持(無上升沿) | 1 | 1 | 0 | 不變 | |
1 | 0 | 1 | 反轉 | 0 | 1 | 1 | 反相 | |
1 | 1 | 0 | 反轉 | 1 | 0 | 1 | 反相 |
同步触发器
在一个较为复杂的数字系统中,需要多个触发器翻转时间同步,这时候需要附加门控电路而构成同步触发器。
主从触发器
为了防止空翻现象对触发器实际工作的影响,主从结构触发器被研制出来。
主从RS触发器
它由两个同步RS触发器以及一个反相器所构成。
主从JK触发器
由于主从RS触发器对输入信号有所约束(R跟S不能同时为1),又开发出了主从JK触发器。
時序考量
- 建立時間(setup time)是指數據在被採樣時鐘邊沿採樣到之前,需保持穩定的最小時間。
- 維持時間(hold time)是指數據在被採樣時鐘邊沿採樣到之後,需保持穩定的最小時間。
在正反器的數據手冊一般會標示元件的建立時間(tsu)及維持時間(th),一般會是以奈秒(ns)為單位,有些先進的正反器可以到數百皮秒(ps)。若數據及控制輸入從採樣時鐘邊沿之前就維持定值,且時間超過建立時間,在採樣時鐘邊沿之後就維持定值,且時間也超過維持時間,可以避免正反器的亞穩態現象。
参见
参考资料
- ^ Shiva, Sajjan G. Computer design and architecture 3rd. CRC Press. 2000: 81. ISBN 978-0-8247-0368-4.
- ^ Roth, Charles H. Jr. "Latches and Flip-Flops." Fundamentals of Logic Design. Boston: PWS, 1995. Print.
- ^ M Morris Mano, Michael D Ciletti. Digital design: With an Introduction to the Verilog HDL. 培生教育. 2013: 第216頁. ISBN 9780273764526.
- ^ 4.0 4.1 Mano, M. Morris; Kime, Charles R. Logic and Computer Design Fundamentals, 3rd Edition. Upper Saddle River, NJ, USA: Pearson Education International. 2004: pg283. ISBN 0-13-191165-1.
- Hwang, Enoch. Digital Logic and Microprocessor Design with VHDL. Thomson. 2006 [2010-02-22]. ISBN 0-534-46593-5. (原始内容存档于2008-10-12).
- Salman, E., Dasdan, A., Taraporevala, F., Kucukcakar, K., Friedman, E. Pessimism Reduction in Static Timing Analysis Using Interdependent Setup and Hold Times. Proc. of Int. Symp. on Quality Electronic Design (ISQED): 159–164. 2006. (This paper explains the interdependence of setup time, hold time, and clock-to-q delay and shows how to use it for pessimism reduction in static timing analysis.)
- Schulz, Klaus-E. Ideal pulse circuit without RC-combination and non-clocked JK flip-flops (look discussion) (PDF). 2007.[永久失效連結]
- Michael Keating, Pierre Breacaud. 片上系统——可重用设计方法学(第二版)(英文名:Reuse Methodology Manual for System-on-a-Chip Designs, Third Edition). 北京: 电子工业出版社. 2004. ISBN 7-5053-9338-3.
外部链接
- FlipFlop Hierarchy, shows interactive flipflop circuits.
- The J-K Flip-Flop (页面存档备份,存于互联网档案馆)