You are on page 1of 64

Digital Circuit and Logic

Design

Chapter 7-1
Sequential Circuit
State Table and State Diagram
Latches and Flip-Flops
Combinational Circuit Vs. Sequential Circuit
วงจรดิจต ่
ิ อลทีประกอบด ้วยเกตแต่เพียงอย่างเดียวนั้นเรียกว่าเป็ นวงจรประเภท Combination Logic
Circuit วงจรประเภทนี ้ Output ของมันทีเวลาใดๆ
่ ่
จะเป็ น Function ของ Input ทีเวลานั ้นๆเท่านั้น

โครงสร้างวงจรคอมไบเนชั่น โดยที่เอาต์พตุ
ของวงจรจะขึน้ อยู่กบั อินพุตขณะนัน้ เพียง
อย่างเดียว

เมื่อนําวงจร Combination Logic เข้ามารวมกับวงจรประเภทหน่วยความจํา (เช่น Flip Flop) ทําให้


Output ที่เวลาใดๆ เป็ น Function ของ Input จากภายนอกที่เวลานัน ้ ๆ และก็ยงั เป็ น Function ของ
ข้อมูลที่เก็บไว้ในหน่วยความจํานัน้ ๆ ด้วย เราเรียกวงจรประเภทนีว้ า่ วงจรซีเควนเชียล (Sequential
Circuit)
โครงสร้างของวงจรซีเควนเชียล จะประกอบด้วย
วงจรคอมไบเนชั่นและหน่วยความจํา
(Memory) ส่วนที่เป็ นหน่วยความจําจะทํา
หน้าที่เป็ นวงจรป้อนกลับ (Feedback)
2
Sequential Circuit

เอาต ์พุตของวงจรจะขึนอยู ่กบ ้ นพุตและข ้อมูลทีเก็
ั ทังอิ ่ บ
ไว ้ในหน่ วยความจํา

ถ้าให้
• สัญญาณจากภายนอกทีจ่ ่ ายให ้กับวงจร เรียกว่า
อินพุต เขียนแทนด ้วย x1 , x2 , ..., xn
• สัญญาณเอาต ์พุตของวงจร เขียนแทนด ้วย z 1 , z 2 ,
…., z m

• สัญญาณจากเอาต ์พุตของหน่ วยความจําจะ


ป้ อนกลับไปเป็ นอินพุตของวงจรคอมไบเนชัน ่ เรียก
สัญญาณส่วนนี ว่้ า Pres ent State
หรือสถานะปัจจุบน ั ได ้แก่ y1 , y2 , …., yr

• สัญญาณเอาต ์พุตของฟลิปฟลอป เรียกว่า Next


State หรือสถานะถัดไป ได ้แก่ Y1 , Y2 , …, Yr จะ

เกิดขึนจากการทํางานของฟลิปฟลอปแต่ละชนิ ด
ตามสัญญาณทีเป็ นอินพุตของฟลิปฟลอปนั้น ๆ

3
Sequential Circuit
Sequential Circuit with D-FF

4
ิ า (Clock)
สัญญาณนาฬก
• สัญญาณนาฬก ิ า (Clock) ทําหน้าทีควบคุ ่ มการทํางานของฟลิปฟลอป

ซึงอาจจะมี
หรือไม่มกี ็ได ้แล ้วแต่ชนิ ดของวงจร
• สัญญาณนาฬก ิ ามีลก ั ษณะเป็ นพัลส ์ (Pulse) มีการนับช่วงคาบเวลา 2
แบบ คือ

5
ประเภทของวงจรซีเควนเชียล
วงจรซีเควนเชียลแบ่งเป็ น 2 ชนิ ดคือ
1. วงจรซิงโครนัส (Synchronous Sequential) เป็ นวงจรทีมี ่ สญั ญาณนาฬก ิ าเสมอ
โดยฟลิปฟลอปทุกตัวจะได ้ร ับสัญญาณนาฬก ิ าจากภายนอกเหมือนกัน
2. วงจรอะซิงโครนัส (Asynchronous Sequential) เป็ นวงจรทีอาจจะมี ่ หรือไม่มี
สัญญาณนาฬก ิ าก็ได ้ ถ ้ามีสญ ิ าจะมีฟลิปฟลอปอย่างน้อย 1 ตัว ไม่ได ้ต่อ
ั ญาณนาฬก
กับสัญญาณนาฬก ิ าโดยตรง

6
ประเภทสัญญาณ
สัญญาณอินพุตจากภายนอกทีจ่่ ายให ้กับวงจรซีเควนเชียลแบ่งเป็ น 2 แบบ คือ
1. อินพุตแบบระดับสัญญาณ (Level) สัญญาณจะคงทีตลอดทั ่ ้
งคาบ ่ ยบกับสัญญาณ
เมือเที
นาฬก ิ า
่ ้ามาในช่วงเวลาสันๆ
2. อินพุตแบบพัลส ์ (Pulse) เป็ นอินพุตทีเข ้ ถ ้าเป็ นวงจรทีมี
่ สญ ิ า
ั ญาณนาฬก
จะกําหนดความกว ้างของพัลส ์เท่ากับความกว ้างพัลส ์ของสัญญาณนาฬก ิ า

ตัวอย่าง สัญญาณอินพุต 101110

7
State Table และ State Diagram
State Table และ State Diagram ใช ้ในการอธิบายคุณสมบัตก ิ าร
ทํางานของวงจรซีเควนเชียล ่ นการแสดงความสัมพันธ ์ระหว่าง
ซึงเป็
อินพุต(x), เอาต ์พุต(z), Pres ent State(y) และ Next State (Y) ของ
วงจร

State Diagram State Table

8
State Diagram และ State Table แบบของ Mealy

การเขียน State Diagram ตามแบบของ Mealy ใช ้ตัวอักษรเขียนอยู่ในวงกลม โดยที่


ตัวอักษรแสดงถึง State ต่างๆ การเชือมโยงระหว่่ าง Present State กับ Next

State เชือมด ่ อมโยง
้วยเส ้นตรงหรือเส ้นโค ้ง โดยมีหวั ลูกศรกํากับไว ้ และแต่ละเส ้นทีเชื ่
กันนั้น ก็ยงั มีตวั เลข 2 ชุด กํากับไว ้อีกด ้วยโดยตัวเลขชุดแรกแสดงถึง Input ส่วน
ตัวเลขชุดหลังแสดงถึง Output ของ วงจร เช่น 1/0 หมายความว่า เมือวงจรได ่ ้ร ับ
Input = 1 ก็จะให ้ Output = 0 เป็ นต ้น

9
State Diagram และ State Table แบบของ Mealy
่ งต
ตัวอย่าง กําหนดให ้วงจรเริมตั ้ ้นทํางาน (Starting State) ที่ State A และป้ อน Input
Sequence x = 001101100 ให ้กับวงจรแล ้ว จงเขียน State Sequence (Next State)
และ Output Sequence (Z)

เฉลย

10
State Diagram และ State Table แบบของ Moore

การเขียน State Diagram ตามแบบของ Moore ใช ้ตัวอักษรและตัวเลขเขียนอยู่ในวงกลม โดยที่


ตัวอักษรแสดงถึง State ต่างๆ ส่วนตัวเลขแสดงถึง Output ทีเวลานั ่ ้นๆ เช่น A/0 หมายความ
ว่า ถ ้าได ้ร ับ Input ใดๆ แล ้ว ทําให ้เกิดการย ้าย state มายัง A วงจรจะให ้ Output = 0 เป็ น
ต ้น

การเขียนเชือมโยงระหว่ าง Present State กับ Next State จะเชือมด ่ ้วยเส ้นตรงหรือ เส ้นโค ้ง
โดยมีหวั ลูกศรกากับไว ้และแต่ละเส ้นทีเชื ่ อมโยงกั
่ ่
นก็ยงั มีตวั เลข 1 ชุด ซึงแสดง ถึงการป้ อน
Input กํากับไว ้อีกด ้วย Moore Model ใช ้ในกรณี ที่ Output ของวงจรไม่ได ้ขึนอยู ้ ่กบั Input

แต่จะขึนอยู ่กบั Present State เท่านั้น

11
่ งต
้ ้นทํางาน (Starting State) ที่ State B และป้ อน Input
ตัวอย่าง กําหนดให ้วงจรเริมตั
Sequence x = 101100011 ให ้กับวงจรแล ้ว จงเขียน State Sequence (Next State)
และ Output Sequence (Z)

เฉลย

12
การแปลง State Table เป็ น State Diagram
่ าหนด จงเขียนแปลงเป็ น State Diagram แบบ Mealy
ตัวอย่าง จาก State Table ทีกํ

13
การหา State sequence และ Output sequence
ตัวอย่าง จากข ้อก่อนหน้า ถ ้าป้ อนสัญญาณอินพุต x = 0110101100 กําหนดให ้วงจร
่ างานทีสเตตเริ
เริมทํ ่ มต่ ้น (y0 ) = A
จงหาลําดับของเอาต ์พุตและสเตตสุดท ้าย (Present state สุดท ้ายหลังจากทีป้่ อนอินพตุ
ให ้กับวงจรครบทุกบิต)

14
การบ้าน1

Note: State table ที่กาํ หนดเป็ นแบบ Mealy หรือ Moore?

15
การบ้าน2

16
ฟลิปฟลอบ (Flip Flop)
เป็ นอุปกรณ์ททํ ี่ าหน้าทีเก็
่ บข ้อมูลแบ่งเป็ นทํางานทีขอบสั
่ ญญาณ อาจจะเป็ นขอบขึน้
(Positive Edge - Triggered) หรือ ขอบลง (Negative Edge - Triggered)
และ แบบพัลส ์ (Puls e - Triggered) ซึงจะทํ ่ างานก็ตอ ่ ทงขอบขาขึ
่ เมือมี ั้ ้
นและขอบ
ขาลงของสัญญาณนาฬก ิ าเข ้ามา 1 พัลส ์ นั่นเอง บางครงเรี้ั ยกฟลิบฟลอบชนิ ดนี ว่้ า
Mas ter/Slave Flip-Flop
โดยมีสญ ั ญาณนาฬก ิ า หรือ Clock (CK, CLK หรือ CP) ทําหน้าทีกํ ่ ากับจังหวะการ
ทํางาน ทําให ้สัญญาณอินพุตอืนๆ ่ จะมีผลกับฟลิบฟลอบก็ตอ ่ สญ
่ เมือมี ั ญาณนาฬก ิ า
เข ้ามาเท่านั้น เรียกอินพุตเหล่านี ว่้ า Synchronous Input

17
SET-RESET (S-R) Latch

Reset (R) หมายถึงทําให้เป็ น 0 ; ถ้าขา R active ทําให้เอาต์พต


ุ Q เป็ น 0
Set (S) หมายถึงทําให้เป็ น 1 ; ถ้าขา S active ทําให้เอาต์พต
ุ Q เป็ น 1

Input Output Input Output


S R Q Q- S R Q Q-
0 0 No change 0 0 1 1 Invalid
0 1 0 1 Reset 0 1 0 1 Reset
1 0 1 0 Set 1 0 1 0 Set
1 1 0 0 Invalid 1 1 No change

Note: ที่ input (S,R) เหมือนกันจะได้ output สถานะ Reset และ Set เดียวกัน แต่ No change และ Invalid จะสลับกัน

Note: วงจรด้านขวาหากทําการสลับ input (S <->R) และกลับสัญญาณ (1<->0) จะได้ output เหมือนกับวงจรด้านซ้าย


ทุกสถานะ เรียกวงจรที่สลับขาและสัญญาณว่า Active-low S-R FF (ดูหน้าถัดไป) 18
SET-RESET (S-R) Latch

Input Output Input Output

S R Q Q- S- R- Q Q-
0 0 No change 0 0 1 1 Invalid
0 1 0 1 Reset 0 1 1 0 Set
1 0 1 0 Set 1 0 0 1 Reset
1 1 0 0 Invalid 1 1 No change

19
Logic symbols for the S-R latch

Timing Diagram
Input Output
S- R- Q Q-
0 0 1 1 Invalid
0 1 1 0 Set
1 0 0 1 Reset
1 1 No change

Set, Nochg, Reset 20


Logic function /Switching function for the S-R latch
Truth table
Input Output
Input Output Input Output
S R Qn Qn+1
S R Q Q- S R Qn+1
0 0 d 0 0 No change
0 0 No change
0 0 Qn No change 0 1 0 0 Reset
0 1 0 1 Reset
0 1 0 Reset 1 0 0 1 Set
1 0 1 0 Set
1 0 1 Set
1 1 0 - Invalid
1 1 0 0 Invalid
1 1 0
0 0 1 1 No change
Invalid
0 1 1 0 Reset
1 0 1 1 Set
Logic/Switching Function 1 1 1 - Invalid

Excite table (State table)

d : Invalid 21
Logic/Switch Fn พิจารณาจาก Truth Table d : Don’t care
S-R latch used to eliminate switch contact
bounce

- -
Position 1 to 2: S = 0<->1 (bounce), R = 1
= Set <-> No-change
Q = 1, No-change

- -
Position 2 to 1: S =1, R = 0 <-> 1 (bounce)
= Reset <-> No-change
Q = 0, No-change

22
74LS279A quad S-R latch (8.00฿)
Active-low input S-R FF

23
Gated S-R latch (Clock pulsed)

CK R S Q Q’
0 0 0
0 0 1 No
0 1 0 change
0 1 1
1 0 0 No change
1 0 1 1 0 Set
1 1 0 0 1 Reset
1 1 1 0 0 Invalid
24
Gated S-R latch

Active-High S-R
Neg O/P Active-Low S-R

Set Reset Set No change


25
Edge-triggered flip-flop logic symbols
Rising/Positive edge triggered

Falling/Negative edge triggered

26
Operation of a positive edge-triggered S-R FF

27
S-R FF
Positive-clk edge

No change Reset Set

28
Edge triggering

29
Edge/Pulse transition Detector Circuit

30
Transition from the RESET state to the SET state

No-change

Set

31
Transition from the SET state to the RESET state

No-change

Reset

32
Propagation delays, clock to output

33
D FF
From RS-FF

Input Output
S R Q Q-
0 0 No change
0 1 0 1 Reset
1 0 1 0 Set
1 1 0 0 Invalid

D-FF

Input Output
D Qn Qn+1
0 0 0
0 1 0
Input Internal Output
1 0 1
D S R Q Q-
1 1 1
0 0 1 0 1
34
1 1 0 1 0
D FF (Positive edge-triggered)

35
D-FF (Truth table, Excite table, Switching function)

Truth table Excite table (State Table)

Switching function

36
7474 dual positive edge-triggered D flip-flop
10.00฿

37
T (Toggle) flip-flop
From RS-FF
Input Output
R S Q Q-
0 0 No change
1 0 0 1 Reset
0 1 1 0 Set
1 1 0 0 Invalid

38
T (Toggle) flip-flop

39
J-K flip-flop
From RS-FF
Input Internal Output
J K R S Q Q-
0 0 0 0 No change
Qn =1 0 1 Reset
0 1 0 ( =J)
Qn =0 0 1 No Change
Qn-=1 1 0 Set
1 0 0 ( =K)
Qn-=0 1 0 No Change
1 1 1 0 0 1 Toggle
1 1 0 1 1 0 Toggle

40
J-K FF (Positive edge triggered)

41
J-K FF (Positive edge triggered)

42
J-K FF 7476 (17.00฿)

43
J-K FF with active-LOW preset and clear inputs

(J,K)=(1,1) and Clk at positive edge => Toggle

44
74112 dual negative edge-triggered J-K FF
(10.00฿)

45
Master / Slave Flip - Flop (M/S Flip - Flop)
• ฟลิปฟลอบทีเคยกล่ ่ าวถึงในตอนแรก จะทํางานทีตํ ่ าแหน่ งขอบขึนหรื
้ อขอบลงของสัญญาณ
นาฬก ิ า เรียกว่าแบบ Edge – Triggered ยังมีฟลิปฟลอบอีกชนิ ดหนึ่ งทีทํ ่ างานเมือสั
่ ญญาณ
นาฬก ิ าเข ้ามา 1 พัลส ์ เรียกฟลิบฟลอบชนิ ดนี ว่้ าเป็ นแบบ Master / Slave Flip – Flop หรือ
แบบ Pulse-Triggered
• Flip – Flop แบบ - Master / Slave ประกอบด ้วยฟลิปฟลอป 2 ตัวคือ Master จะทํางาน
ช่วงทีสั ่ ญญาณนาฬก ิ าเป็ น 1 และ Slaveจะทํางานเมือสั่ ญญาณ นาฬก ่
ิ าเปลียนไปเป็ น0
• เนื่ องจากเอาต ์พุตเปลียนสถานะ
่ ่ ญญาณนาฬก
ขณะทีสั ่
ิ าเปลียนไปเป็ ่
น 0 จึงเขียนเครืองหมาย

กํากับไว ้ทีเอาต ์พุต Qและ Q-

46
Master / Slave Flip – Flop with Data Lockout
• M/S Flip-Flop ก็คอื ขา input จะมีผลกับ Mas ter ตลอดเวลาขณะทีสั ่ ญญาณนาฬก ิ าเป็ น 1
ดังนั้นในช่วงนี ้ สัญญาณ input ต ้องคงที่ ถ ้าสัญญาณที่ input เกิดการเปลียนแปลงขณะที
่ ่
สัญญาณนาฬก ิ าเป็ น 1 จะทําให ้ฟลิปฟลอปทํางานผิดพลาดได ้

• ่
เพือแก ้ไขปัญหานี จึ้ งได ้มีการดัดแปลงเป็ นฟลิปฟลอปแบบ Mas ter/Slave with Data
Lockout ซึงฟลิ ่ ปฟลอปชนิ ดนี ้ จะออกแบบให ้สัญญาณทีขา ่ input มีผลกับ Mas ter ในช่วง

เวลาสันๆ เท่านั้น(ประมาณ 20-30 ns ) นอกจากนั้นเอาต ์พุตของ Mas ter จะไม่มก ี าร

เปลียนแปลงอี ก ถึงแม้สัญญาณนาฬก ิ าจะเป็ น 1 ก็ตาม

47
เปรียบเทียบช่วงเวลาทํางานของ D-FF แบบต่าง ๆ

48
JK Master / Slave Flip – Flop
• JK-F/F

• JK-F/F (Master/Slave)

49
JK Master / Slave Flip – Flop
เนื่ องจาก RS-F/F เป็ นแบบ Active-Low (สร ้างจาก NAND) ดังนั้น เมือป้
่ อนกลับไปยังขา JK
จึงต ้อง Cross connect

50
Basic register for parallel data storage

51
J-K FF as a divide-by-2 device

52
J-K FF used to divide the clock frequency by 4

53
J-K FF used to divide the clock frequency by 8

54
FF used to generate a binary count sequence

55
MOD-8 Count up Counter

56
Summary

57
Summary

58
การบ้าน3
จงเขียนตารางความจริงของวงจรต่อไปนี ้ แล ้วพิจารณาตารางความจริงของแต่ละวงจรว่ามี
คุณสมบัตเิ หมือนฟลิปฟลอปชนิ ดใด
4. เขียน Truth table ของแต่ละ function พร้อมทําการ
ลดรูป
(
Qn +1 = AQn + B + Q n Qn )
= AQ + BQn
NS(Qn+1) AB
PS (Qn) AB=00 AB=01 AB=11 AB=10
1. เขียน logic function ของแต่ละ input และ Output ของ F/F 0 0 0 1 1
1 1 0 0 1
S = AQn
R = BQn 6. เขียน Excite Table (Transition/Switching Table)
Qn +1 = S + R Qn ตอบ
NS (Qn+1)
2. เขียน logic function ของ Output ของวงจร PS (Q)= 0 PS (Q) = 1
AB=00 0 1 no change
AB=01 0 0
Qn +1 = S + R Qn AB=10 1 1
Reset
Set
AB=11 1 0 Toggle
3. เขียน Switching function จาก 1 และ 2
ตอบ J-K F/F
Qn +1 = AQn + (BQn )Qn 59
การบ้าน3 (ต่อ)
จงเขียนตารางความจริงของวงจรต่อไปนี ้ แล ้วพิจารณาตารางความจริงของแต่ละวงจรว่ามี
คุณสมบัตเิ หมือนฟลิปฟลอปชนิ ดใด
4. เขียน Truth table ของแต่ละ function พร้อมทําการ
ลดรูป
Qn +1 = A ⊕ Qn
= AQ n + AQn

NS(Qn+1) A
PS (Qn) A=0 A=1
1. เขียน logic function ของแต่ละ input และ Output ของ F/F 0 0 1
1 1 0
D = A ⊕ Qn
6. เขียน Excite Table (Transition/Switching Table)
Qn +1 = D ตอบ
NS (Qn+1)
2. เขียน logic function ของ Output ของวงจร PS (Q)= 0 PS (Q) = 1
A=0 0 1 no change
Qn +1 = D A=1 1 0 Toggle

3. เขียน Switching function จาก 1 และ 2


ตอบ T-F/F
Qn +1 = A ⊕ Qn 60
การบ้าน3(ต่อ)
จงเขียนตารางความจริงของวงจรต่อไปนี ้ แล ้วพิจารณาตารางความจริงของแต่ละวงจรว่ามี
คุณสมบัตเิ หมือนฟลิปฟลอปชนิ ดใด

61
การบ้าน3 (ต่อ)
จงเขียนตารางความจริงของวงจรต่อไปนี ้ แล ้วพิจารณาตารางความจริงของแต่ละวงจรว่ามี
คุณสมบัตเิ หมือนฟลิปฟลอปชนิ ดใด

62
การบ้าน4

63
การบ้าน5

64

You might also like