R1, R2 = 1 kΩ,R3, R4 = 10 kΩ触发器電路圖,取自Eccles與Jordan在1918年時申請專利的檔案。 触发器 (英語: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 ),導出下個(即下個時鐘脈衝的)輸出(Q next )。
由或非 门 所组成的高態動作RS触发器 基本RS觸发器又称RS閂(RS latch),是触发器中最简单的一种,也是各种其他类型触发器的基本组成部分。两个与非门 或或非门 的输入端與输出端进行交叉耦合或首尾相接,即可构成一个高態動作(輸入高電位時啟動)的基本RS触发器。
當R與S皆為低電位,回授 會讓Q與Q (Q的反相)保持於一個固定的狀態。當S(Set)為高電位,R(Reset)為低電位時,輸出Q會被強制設定為高電位;相反的,當S為低電位,R為高電位時,輸出Q會被強制設定為低電位。
R與S不允許同時輸入高電位,因為當兩者都啟動時,輸出結果Q與Q 會同時為低電位,這與Q和Q 互為反相的定義矛盾。[ 2]
SR閂鎖運算(高態動作)[ 3] 狀態轉移表 激發表 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
特徵方程为Q n e x t = S + R ¯ Q {\displaystyle Q_{next}=S+{\overline {R}}Q} ,且RS=0。
D正反器符號。> 是時脈輸入,D是數據輸入,Q是暫存數據輸出,Q'則是Q的反相值,S為1時強迫Q值為1,R為1時強迫Q值為0,以下圖例同 D触发器有一個輸入、一個輸出和一個時脈輸入,當時脈由0轉為1時,輸出的值會和輸入的值相等。此類触发器可用於防止因為噪声 所帶來的錯誤,以及通过管线 增加處理數據的數量。
Q n e x t = D {\displaystyle Q_{next}=D}
真值表 如下:
D CK Q Qnext 0 ↑ X 0 1 ↑ X 1 X 0(1) 0 0 X 0(1) 1 1
JK正反器符號。J、K是數據輸入 JK正反器的時序圖 JK触发器由傑克·基爾比(Jack Kilby ) 發明,因此得名。[ 4]
JK触发器設有兩個輸入,其輸出的值由以下的算式來決定。
Q n e x t = J Q ¯ + K ¯ Q {\displaystyle Q_{next}=J{\overline {Q}}+{\overline {K}}Q} [ 5]
JK触发器和触发器中最基本的RS触发器结构相似,其区别在于,RS触发器不允许R与S同时为1,而JK触发器允许J与K同时为1。当J与K同时变为1的同时,輸出的值状态会反转。也就是说,原来是0的话,变成1;原来是1的话,变成0。
對應表如下:
JK正反器運算[ 6] 狀態轉移表 激發表 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是數據輸入 T触发器(Toggle Flip-Flop,or Trigger Flip-Flop)設有一個輸入和輸出,當時脈由0轉為1時:如果输入端T为1,則输出端的状态Q发生反转;如果输入端T为0,則输出端的状态Q保持不变。把JK触发器的J和K輸入點連接在一起,即構成一個T触发器。
因此T觸發器的算式為:
Q n e x t = T ¯ Q + T Q ¯ = Q ⊕ T {\displaystyle Q_{next}={\overline {T}}Q+T{\overline {Q}}=Q\oplus T}
在一个较为复杂的数字系统 中,需要多个触发器翻转时间同步,这时候需要附加门控电路 而构成同步触发器。
为了防止空翻现象 对触发器实际工作的影响,主从结构触发器被研制出来。
它由两个同步RS触发器以及一个反相器 所构成。
由于主从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 . ^ 蕭柱惠. 數位邏輯設計. 台科大圖書. 2020: 200-201.ISBN 978-986-455-888-9 . ^ Roth, Charles H. Jr. "Latches and Flip-Flops." Fundamentals of Logic Design. Boston: PWS, 1995. Print. ^ JK Flip Flop . [2025-1-20] . 请检查|access-date=中的日期值 (帮助 ) ^ M Morris Mano, Michael D Ciletti.Digital design: With an Introduction to the Verilog HDL .培生教育 . 2013: 第216頁.ISBN 9780273764526 . ^6.0 6.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 .