Transcript Document

‫فصل پنجم‬
‫مدارهاي ترتيبي همزمان‬
‫مدارهاي ترتيبي همزمان‬
‫‪‬‬
‫يک سيستم ديجيتالي شامل مدارهاي ترکيبي و ترتيبي است‪ .‬قسمت ترتيبي‬
‫شامل المانهاي ذخيره سازي (حافظه) است‪.‬‬
‫‪feedback path‬‬
‫‪‬‬
‫‪‬‬
‫اطالعات باينري ذخيره شده در المانهاي حافظه نشان دهنده حالت مدار‬
‫در هر لحظه از زمان هستند‪.‬‬
‫مقدار خروجيها و حالت بعدي مدار از روي مقدار وروديها و حالت‬
‫فعلي مدار تعيين مي گردند‪.‬‬
‫مدارهاي ترتيبي همزمان‬
‫‪‬‬
‫‪‬‬
‫مدارهاي ترتيبي همزمان از سيگنال مخصوصي استفاده مي کند که مقدار‬
‫المانهاي حافظه را در فواصل گسسته اي از زمان تغيير مي دهد‪.‬‬
‫براي حصول همزماني‪ ،‬از يک دستگاه زماني به اسم توليد کننده کالک‬
‫استفاده مي شود که دنباله اي از پالسهاي کالک را توليد مي کند‪.‬‬
‫‪‬‬
‫در مدارهاي ترتيبي که از کالک استفاده مي کنند به المانهاي حافظه‬
‫فليپ فالپ ميگويند‪.‬‬
‫‪‬‬
‫فليپ فالپ يک دستگاه ذحيره سازي دودويي است که قادر به ذخيره يک‬
‫بيت اطالعات است‪.‬‬
‫مدارهاي ترتيبي (خروجی و ورودی ها)‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫خروجيها مي توانند از قسمت ترکيبي مدار يا از فليپ فالپها و يا از هر دو‬
‫قسمت گرفته شوند‪.‬‬
‫فليپ فالپها ورودي خود را از قسمت ترکيبي مدار و کالک دريافت مي کنند‪.‬‬
‫حالت فليپ فالپها فقط در لبه هاي کالک (باالرونده يا پايين رونده) و يا سطوح‬
‫کالک (‪ 1‬يا ‪ )0‬تغيير مي کند‪.‬‬
‫لچ ها ‪Latches‬‬
‫‪‬‬
‫لچ ها از انواع اصلي فليپ فالپها هستند و با سطوح کالک کار مي کنند‪ .‬لچ ها‬
‫عنصر اصلي تشکيل دهنده انواع فليپ فالپها هستند‪.‬‬
‫‪undefined state‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫در شرايط عادي‪ ،‬هر دو ورودي لچ ‪ 0‬هستند و لچ حالت خود را حفظ مي کند‪.‬‬
‫اگر ‪ S=1,R=0‬بشود لچ به حالت ‪ set‬خواهد رفت يعني ‪ Q=1‬خواهد شد‪.‬‬
‫اگر ‪ S=0,R=1‬بشود لچ به حالت ‪ reset‬خواهد رفت يعني ‪ Q=0‬خواهد شد‪.‬‬
‫خروجي ’‪ Q‬هميشه معکوس ‪ Q‬است‪.‬‬
RS-Latch as Cross-Coupled NOR Gates
R
S
•
•
•
•
If R = 1, Q resets to 0
If S = 1, Q sets to 1
If RS = 00, no change
RS = 11 is not allowed
because leads to
oscillation
Q
Q
Truth table
SR
Q
00
No change
01
0
10
1
11
Undefined
RS-Latch as Cross-Coupled NOR Gates
• If RS = 00, no change
a) Q = 1
R
Q
Q
S
0
1
NOR Truth table
RS Truth table
AB
A NOR B
SR
Q
00
1
00
No change
01
0
01
0
10
0
10
1
11
0
11
Undefined
RS-Latch as Cross-Coupled NOR Gates
• If RS = 00, no change
a) Q = 1
b) Q = 0
R
Q
Q
S
0
1
NOR Truth table
RS Truth table
AB
A NOR B
SR
Q
00
1
00
No change
01
0
01
0
10
0
10
1
11
0
11
Undefined
RS-Latch as Cross-Coupled NOR Gates
• If RS = 01, Q sets to 1
a) Q = 0
b) Q = 1
R
Q
Q
S
0
1
NOR Truth table
RS Truth table
AB
A NOR B
SR
Q
00
1
00
No change
01
0
01
0
10
0
10
1
11
0
11
Undefined
RS-Latch as Cross-Coupled NOR Gates
• If RS = 10, Q sets to 0
a) Q = 0
b) Q = 1
R
Q
Q
S
0
1
NOR Truth table
RS Truth table
AB
A NOR B
SR
Q
00
1
00
No change
01
0
01
0
10
0
10
1
11
0
11
Undefined
‫لچ‬
‫‪ NAND‬با گيت ‪ِ SR‬‬
‫‪undefined state‬‬
‫• لچ ‪ SR‬با گيت ‪ NAND‬وقتي تغيير حالت مي دهد که سيگنال صفر را روي‬
‫ورودي ببيند‪.‬‬
‫• مقادير خروجيها براي لچ ‪ SR‬با گيت ‪ NAND‬نسبت به لچ ‪ SR‬با گيت ‪NOR‬‬
‫مکمل هستند‪.‬‬
RS-Latch as Cross-Coupled NAND Gates
• If RS = 11, no change
a) Q = 1
S
Q
Q
R
0
1
NAND Truth table
RS Truth table
AB
A NANDB
SR
Q
00
1
11
No change
01
1
10
0
10
1
01
1
11
0
00
Undefined
RS-Latch as Cross-Coupled NAND Gates
• If RS = 11, no change
a) Q = 1
b) Q = 0
S
Q
Q
R
0
1
NAND Truth table
RS Truth table
AB
A NANDB
SR
Q
00
1
11
No change
01
1
10
0
10
1
01
1
11
0
00
Undefined
RS-Latch as Cross-Coupled NAND Gates
• If RS = 01, Q sets to 1
a) Q = 1
b) Q = 0
S
Q
Q
R
0
1
NAND Truth table
RS Truth table
AB
A NOR B
SR
Q
00
1
11
No change
01
1
10
0
10
1
01
1
11
0
00
Undefined
RS-Latch as Debouncing
R
S
R
S
Q
Q
RS Truth table
SR
Q
11
No change
10
0
01
1
00
Undefined
Level-Sensitive RS-Latch
• “Q” only changes when CLK is high (i.e. level-sensitive)
• When CLK is high, behavior same as RS latch
S
Q
CLK
Q
R
NAND Truth table
AB
A NOR B
00
1
01
1
10
1
11
0
SR Flip Flop Truth table
CLK
SR
Q
0
XX
No change
1
00
No change
1
01
0
1
10
1
1
11
Undefined
Level-Sensitive RS-Latch
• “Q” only changes when CLK is high (i.e. level-sensitive)
• When CLK is high, behavior same as RS latch
S
Q
CLK
Q
R
NAND Truth table
AB
A NOR B
00
1
01
1
10
1
11
0
SR Flip Flop Truth table
CLK
SR
Q
0
XX
No change
1
00
No change
1
01
0
1
10
1
1
11
Undefined
Level-Sensitive D-Latch
• Make level-sensitive D-latch from level-sensitive RS-latch
by connecting S = D and R = not D
D
Q
CLK
Q
NAND Truth table
AB
A NOR B
00
1
01
1
10
1
11
0
SR Flip Flop Truth table
CLK
SR
Q
0
XX
No change
1
00
No change
1
01
0
1
10
1
1
11
Undefined
‫سمبلهاي لچها‬
‫فليپ فالپ‬
‫‪‬‬
‫مي توان گفت که فليپ فالپ نوعي از لچ است که فقط هنگام تغيير آني‬
‫سيگنال کنترل تغيير حالت مي دهد‪.‬‬
‫‪‬‬
‫به اين تغيير آني سيگنال کنترل تريگر مي گويند‪ .‬اصطالحا مي گويند که‬
‫فليپ فالپ تريگر شده است‪.‬‬
‫‪‬‬
‫مثال لچ ‪ D‬فليپ فالپي است که وقتي سيگنال کنترل ‪ 1‬شود تريگر مي‬
‫گردد‪ ،‬يا اصطالحا به سطح مثبت حساس است‪ .‬تا وقتي که کنترل يک‬
‫باشد تغييرات ورودي روي خروجي مشاهده خواهد شد‪.‬‬
‫فليپ فالپ حساس به لبه‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫وقتي که کالک ‪ 0‬است خروجي معکوس کننده برابر ‪ 1‬است‪ .‬لذا‪ ،‬لچ تابع‬
‫فعال شده و خروجي ‪ Q‬برابر با خروجي لچ رييس )‪ (Y‬است‪ .‬در اين‬
‫هنگام لچ رييس غير فعال است‪.‬‬
‫وقتي که کالک ‪ 1‬مي گردد‪ ،‬لچ رييس فعال و لچ تابع غير فعال مي گردد‪.‬‬
‫لذا ورودي ‪ D‬روي خروجي لچ رييس )‪ (Y‬ظاهر مي شود‪ .‬اما خروجي ‪Q‬‬
‫تغييري نمي کند‪.‬‬
‫لذا اين مدار در لبه منفي کالک از ورودي ‪ D‬نمونه مي گيرد و متناسب با‬
‫آن خروجي را تغيير مي دهد‪.‬‬
‫فليپ فالپ حساس به لبه‬
MASTER
D
Q
D
SLAVE
Q
Q
Q
CLK
Positive Pulse
Negative Pulse
Logic 1
Logic 0
Pos
Neg
Neg
POS
D
Q
D-FF
Master
Slave
‫فليپ فالپ حساس به لبه مثبت‬
• If D = 0 when CLK
R  0, Q = 0: ‘reset state’
• If D changes while CLK is high  flip-flop will not respond to the change.
•When CLK
, R 1, flip-flop will be in the same state (no change in output).
•If D = 1 when CLK
, S  0, Q = 1: ‘set state’
‫سمبلهاي گرافيکي فليپ فالپهاي حساس به لبه‬
‫‪‬‬
‫موثرترين و اقتصادي ترين فليپ فالپي که ساخته شده است‬
‫فليپ فالپ ‪ D‬حساس به لبه است‪ .‬زيرا گيتهاي مورد نياز براي‬
‫ساخت آن مينيمم است‪.‬‬
‫فليپ فالپ ‪JK‬‬
‫‪‬‬
‫فليپ فالپ ‪ JK‬قابليت ‪ set‬و ‪ reset‬کردن و معکوس کردن‬
‫خروجي خود را دارد‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اگر فقط ورودي ‪ J=1‬باشد خروجي فليپ فالپ ‪ 1‬خواهد شد‪.‬‬
‫اگر فقط ورودي ‪ K=1‬باشد خروجي فليپ فالپ ‪ 0‬خواهد شد‪.‬‬
‫اگر هر دو ‪ 1‬شوند خروجي معکوس خواهد شد‪.‬‬
‫فليپ فالپ ‪JK‬‬
‫‪D  JQ' K ' Q‬‬
‫اگر ‪ J = 1 , K = 0‬باشد‪ D = 1،‬است و در لبه بعدي کالک خروجي ‪ 1‬خواهد شد‪.‬‬
‫اگر ‪ J = 0 , K = 1‬باشد‪ D = 0 ،‬است و در لبه بعدي کالک خروجي ‪ 0‬خواهد شد‪.‬‬
‫اگر ‪ J = 1 , K = 1‬باشد‪ D = Q’،‬است و در لبه بعدي کالک خروجي معکوس خواهد شد‬
‫اگر ‪ J = 0 , K = 0‬باشد ‪ D = Q‬است و در لبه بعدي کالک خروجي تغييري نخواهد کرد‪.‬‬
‫فليپ فالپ ‪T‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اگر ورودي فليپ فالپ ‪ T‬يک باشد‪ ،‬اين فليپ فالپ خروجي‬
‫خود را در لبه بعدي کالک عوض مي کند‪.‬‬
‫اگر ‪ T = 0 D  T  Q  Q‬يعني ‪ D = Q‬و خروجي‬
‫تغييري نمي کند‪.‬‬
‫اگر'‪ T = 1 D  T  Q  Q‬يعني ’‪ D = Q‬و خروجي در‬
‫کالک بعدي تغيير مي کند‪.‬‬
‫جدول مشخصات فليپ فالپها و معادالت آنها‬
‫حالت فعلي = )‪Q(t‬‬
‫حالت بعدي = )‪Q(t+1‬‬
‫)‪Q(t+1‬‬
‫بدون تغيير )‪Q(t‬‬
‫معکوس )‪Q’(t‬‬
‫‪T‬‬
‫‪0‬‬
‫‪1‬‬
‫‪Q(t  1)  T  Q  TQ'T ' Q‬‬
‫)‪Q(t+1‬‬
‫بدون تغيير )‪Q(t‬‬
‫‪0‬‬
‫‪Reset‬‬
‫‪1‬‬
‫‪Set‬‬
‫معکوس )‪Q’(t‬‬
‫‪K‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪J‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪Q(t  1)  JQ' K ' Q‬‬
‫)‪Q(t+1‬‬
‫‪0 Reset‬‬
‫‪1 Set‬‬
‫‪D‬‬
‫‪0‬‬
‫‪1‬‬
‫‪Q(t  1)  D‬‬
‫جدول درستي ‪ JK‬فليپ فالپ‬
‫مشخصه هاي فليپ فالپ‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫جدول درستي‬
‫جدول حالت‬
‫معاله حالت‬
‫جدول تحريك‬
‫‪K‬‬
‫‪X‬‬
‫‪X‬‬
‫‪1‬‬
‫‪0‬‬
‫‪J‬‬
‫‪0‬‬
‫‪1‬‬
‫‪X‬‬
‫‪X‬‬
‫‪Q‬‬
‫‪No change‬‬
‫‪00‬‬
‫لبه‬
‫‪0‬‬
‫‪01‬‬
‫لبه‬
‫‪1‬‬
‫‪10‬‬
‫لبه‬
‫‪Toggle‬‬
‫‪11‬‬
‫لبه‬
‫جدول حالت فليپ فالپ ‪JK‬‬
‫جدول تحريک فليپ فالپ ‪JK‬‬
‫)‪Q (t +1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪No change‬‬
‫‪JK‬‬
‫‪XX‬‬
‫‪CLK‬‬
‫سطح‬
‫) ‪Q (t‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫) ‪Q (t+1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫) ‪Q (t‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪K‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫معادله حالت فليپ فالپ ‪JK‬‬
‫‪Q(t  1)  JQ' K ' Q‬‬
‫‪J‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬