در مدارهای ترتیبی همزمان
Download
Report
Transcript در مدارهای ترتیبی همزمان
مبحث پنجم
منطق ترتیبی همزمان
Synchronous Sequential Logic
Presented by Ali Maleki
Spring Semester, 2009
فهرست مطالب
مقدمهای بر مدارهای ترتیبی
َ
عناصر ذخیرهساز :لچها
عناصر ذخیرهساز :فلیپفالپها
تحلیل مدارهای ترتیبی ساعتدار
کاهش و تخصیص حالت
طراحی مدارهای ترتیبی همزمان
یادآوری
مدارهای منطقی
مدارهای ترتیبی
ثبات
فلیپفالپ
مدارهای ترکیبی
شمارنده
دیکدر
مالتیپلکسر
جمعکننده
مدار ترکیبی
مداری شامل گیتهای منطقی که خروجیهای آن تنها به ورودیها در همان زمان وابسته است.
واژهنامه:
مدار منطقی ترکیبیCombinational Logic, Combinatorial Logic :
یادآوری
مدارهای منطقی
مدارهای ترتیبی
ثبات
فلیپفالپ
مدارهای ترکیبی
دیکدر
شمارنده
مالتیپلکسر
جمعکننده
مدار ترتیبی
مداری شامل گیتهای منطقی و عناصر حافظه که خروجی آن عالوه بر ورودیهای فعلی به
حالت مدار (ورودیهای قبلی) نیز وابسته است.
واژهنامه :مدار منطقی ترتیبی:
Sequential Logic
مدارهای ترتیبی ()sequential circuits
مدارهای منطقی ترتیبی:
عناصر حافظه ()Memory elements
حالت مدار ترتیبی ()State
مدارهای ترتیبی ()sequential circuits
تقسیمبندی مدارهای ترتیبی
مدارهای ترتیبی همزمان ()Synchronous
مدارهای ترتیبی غیرهمزمان ()Asynchronous
عناصر حافظه در مدارهای ترتیبی
در مدارهای ترتیبی همزمان :فلیپفالپ ()flip-flop
در مدارهای ترتیبی غیرهمزمان :عناصر تاخیر زمانی (تاخیر انتشار گیتها)
عامل همزمانی در مدارهای ترتیبی همزمان :ساعت ()clock
)sequential circuits( مدارهای ترتیبی
)Synchronous Clocked Sequential Circuit( مدارهای ترتیبی ساعتدار همزمان
)Clocked Sequential Circuit( تحلیل مدارهای ترتیبی ساعتدار
)clock( ساعت
عناصر ذخیرهساز ()Storage Elements
َ
لچها:
با سطح سیگنال عمل میکنند.
حساس به سطح هستند (.)Level Sensitive
فلیپفالپها:
با گذر سیگنال ساعت از یک سطح به سطح دیگر فعال میشوند.
حساس به لبه هستند (.)Edge Sensitive
َ
همهي فلیپفالپها با لچ ساخته میشوند.
عناصر ذخیرهساز ()Storage Elements
َ
لچها:
َ
لچ SR
َ
لچ D
فلیپفالپها:
فلیپفالپ D
فلیپفالپ JK
فلیپفالپ T
َ
لچ )SR Latch( SR
َ
لچ SRبا گیتهای :NOR
َ
حالتهای مفید لچ :
مثال:
حالت )Q=1 Q’=0( Set
حالت )Q=0 Q’=1( Reset
َ
برای لچ SRشکل باال ،جدول عملکرد روبرو را با رعایت ترتیب ورودیها تکمیل نمایید.
جدول عملکرد یا جدول درستی؟
آیا این خروجی با انتظار ما تناقض ندارد؟
شرایط مسابقه ()Race Condition
َ
ل
برای لچ ، SRجدو داده شده را تکمیل کنید.
ولی در واقعیت.... ،
َ
لچ )SR Latch( SR
َ
لچ SRبا گیتهای :NAND
مثال:
َ
برای لچ SRشکل باال ،جدول عملکرد را با رعایت ترتیب ورودیها تکمیل نمایید.
َ
لچ )SR Latch( SR
َ
لچ SRبا ورودی کنترل:
َ
لچ )D Latch – Transparent Latch( D
ی:
پشتوانهي این نامگذار
َ
لچ :Dقابلیت نگهداری داده ()Data
َ
لچ شفاف :وجود نداشتن حالت نامعین یا غیرمجاز
َ
نمادهای ترسیمی برای لچها
مدارهای کاربردی :مدار حذف نوسان کلید ()Debouncer
نوسان کلید چیست؟
حذف نوسان کلید:
وقتی کلید در حال جدا شدن از موقعیت 1است.
وقتی کلید در حال اتصال به موقعیت 2است.
فلیپفالپها
فلیپفالپ Dتحریکشده با لبه ()Edge-triggered
فلیپفالپ master-slave
این فلیپفالپ با کدام لبه کار میکند؟
با لبهي منفی
)(Negative-edge-triggered flip-flop
چگونه میتوان این فلیپفالپ را به تحریک شده با لبهي مثبت تبدیل نمود؟
فلیپفالپ Dتحریکشده با لبه ()Edge-triggered
فلیپفالپ تحریکشده با لبهي مثبت
Positive-edge-triggered flip-flop
فلیپفالپ Dتحریکشده با لبه ()Edge-triggered
وقتی D=0است با آمدن لبه ي مثبت CLK
وقتی D=0و CLK=1است تغییر ورودی ....
وقتی D=1است با آمدن لبه ي مثبت CLK
وقتی D=1و CLK=1است تغییر ورودی ....
وقتی CLK=0است.
10
خروجی بدون تغییر باقی می ماند.
خروجی Q=0می شود.
خروجی Q=1می شود.
0101
10 1
01
نمادهای ترسیمی برای فلیپفالپ Dتحریکشده با لبه
نشانگر ورودی دینامیک
()dynamic input indicator
بررس ی عملکرد فلیپفالپ Dبه کمک نمودار زمانی
محدودیت های زمانی فلیپ فالپ D
ی ()setup time
زمان آماده ساز
زمان نگهداری ()hold time
محدودیت های زمانی فلیپ فالپ D
زمان انتشار ()propagation time
زمان آمادهسازی ()hold time
زمان نگهداری ()setup time
JK فلیپ فالپ
D=JQ'+K'Q
J=0 K=0
D=Q
J=1 K=0
D=1
J=0 K=1
D=0
J=1 K=1
D=Q’
شیوهي عملکرد
فلیپ فالپ JK
بررس ی عملکرد فلیپ فالپ JKبه کمک نمودار زمانی
فلیپ فالپ JK
مثال :با تعیین خروجی فلیپفالپ ،نمودار زمانی شکل زیر را تکمیل نمایید.
فلیپ فالپ T
اصول عملکرد فلیپفالپ T
فلیپفالپ Tبا استفاده از فلیپفالپ JK
فلیپفالپ Tبا استفاده از فلیپفالپ D
نماد فلیپفالپ T
آیا با فلیپفالپ JKمیتوان فلیپفالپ Tساخت؟
)characteristic Table( جدول مشخصه
J
K
Q(t+1)
0
0
1
1
0
1
0
1
Q(t)
0
1
Q’(t)
D
Q(t+1)
0
1
0
1
T
Q(t+1)
0
1
Q(t)
Q’(t)
JK جدول مشخصه برای فلیپ فالپ
No change
Reset
Set
Complement
D جدول مشخصه برای فلیپ فالپ
Reset
Set
T جدول مشخصه برای فلیپ فالپ
No change
Complement
)characteristic Equation( معادلهي مشخصه
D Flip-Flop :
JK Flip-Flop :
T Flip-Flop :
Q(t + 1) = D
Q(t + 1) = JQ’ + K’Q
Q(t + 1) = TQ’ + T’Q
)Direct Inputs( ورودیهای مستقیم
Set – Preset
Reset – Clear
ضرورت وجود ورودی مستقیم
ورودیهای مستقیم ()Direct Inputs
بررس ی ورودیهای مستقیم فلیپفالپ به کمک نمودار زمانی
چه ارتباطی بین فرکانس ورودی (پالس ساعت) و خروجی این مدار وجود دارد؟
مدارهای کاربردی :تقسیمکنندهي فرکانس ()Frequency Divider
مثال :مدار تقسیمکنندهي فرکانس ی طراحی نمایید که موج مربعی ورودی را دریافت نموده و موج
مربعی با فرکانس یک چهارم فرکانس ورودی تولید نماید .از فلیپفالپ JKاستفاده نمایید.
مدارهای کاربردی :تقسیمکنندهي فرکانس ()Frequency Divider
مثال :مدار تقسیمکنندهي فرکانس ی طراحی نمایید که موج مربعی ورودی را دریافت نموده و موج
مربعی با فرکانس یک هشتم فرکانس ورودی تولید نماید .از فلیپفالپ JKاستفاده نمایید.
طراحی کنید!
تحلیل مدارهای ترتیبی ساعتدار ()Clocked Sequential Circuit
معادلههای ورودی فلیپفالپ
معادلههای حالت
جدول حالت
نمودار حالت
مثال :تحلیل مدارهای شامل فلیپفالپ D
مثال :تحلیل مدارهای شامل فلیپفالپ JK
مثال :تحلیل مدارهای شامل فلیپفالپ T
ماشین حالت محدود Mealyو ماشین حالت محدود Moore
تحلیل مدارهای ترتیبی ساعتدار ()Clocked Sequential Circuit
معادلههای ورودی فلیپفالپ (:)Flip-flop Input Equation
مثال :معادله های ورودی فلیپ فالپ را برای مدار ترتیبی همزمان زیر را بنویسید.
DA = Ax + Bx
DB = A'x
'y = (A + B)x
تحلیل مدارهای ترتیبی ساعتدار ()Clocked Sequential Circuit
معادلههای حالت (:)State Equations
مثال :معادلههای حالت مدار ترتیبی همزمان زیر را بنویسید.
)A(t +1) = A(t) x(t) + B(t) x(t
)B(t +1) = A'(t) x(t
)y(t) = [A(t) + B(t)] x'(t
تحلیل مدارهای ترتیبی ساعتدار ()Clocked Sequential Circuit
جدول حالت (:)State Table
مثال :جدول حالت مدار ترتیبی همزمان زیر را بنویسید.
خروجی
حالت بعدی
ورودی
حالت فعلی
تحلیل مدارهای ترتیبی ساعتدار ()Clocked Sequential Circuit
جدول حالت (:)State Table
فرم نمایش دیگر:
تحلیل مدارهای ترتیبی ساعتدار ()Clocked Sequential Circuit
نمودار حالت (:)State Diagram
حالت
ورودی
خروجی
این شیوهي نمایش مربوط به شرایطی است که
خروجی به ورودی وابسته باشد.
تحلیل مدارهای شامل فلیپفالپهای D
معادلهي ورودی و معادلهي حالت
جدول حالت
نمودار حالت
Input equation: DA = A x y
State Equation: A(t+1) = A(t) x y
تحلیل مدارهای شامل فلیپفالپهای JK
معادلههای ورودی
جدول حالت
نمودار حالت
JA = B
'KA = Bx
'JB = x
KB = A x
تحلیل مدارهای شامل فلیپفالپهای T
معادلههای ورودی
جدول حالت
نمودار حالت
TA = Bx
TB = x
این شیوهي نمایش مربوط به شرایطی است که خروجی تنها به
حالتها وابسته باشد.
برای ماشینهای حالت محدودMoore وMealy مدلهای
)Finite State Machine( FSM ماشین حالت محدود یا
Mealy ماشین حالت محدود
Moore ماشین حالت محدود
ns
X
Mealy ماشین حالت محدود
CL
CL
F
R
E
G
ps
H
Y
clock
reset
CL
CL
ns
X
F
R
E
G
ps
H
Y
Moore ماشین حالت محدود
clock
reset
Mealy-Moore مدل
مدلهای Mealyو Mooreبرای ماشینهای حالت محدود
نمونهای از ماشین حالت محدود ، Mealyکه پیشتر مورد بحث قرار گرفت:
مدلهای Mealyو Mooreبرای ماشینهای حالت محدود
نمونهای از ماشین حالت محدود ، Mooreکه پیشتر مورد بحث قرار گرفت:
طراحی مدارهای ترتیبی
مفهوم طراحی در مقایسه با تحلیل
مباحثی که در این بخش مطرح خواهد شد:
کاهش حالت
تخصیص حالت
روند طراحی
مثالها :طراحی آشکارساز دنباله ()sequence detector
شمارندهي باینری سه بیتی
...
کاهش حالت
ضرورت و اهمیت کاهش حالت:
روال کاهش حالت:
-1درون جدول حالت ،حالتهای معادل را بیابید.
-2یکی از حالتهای معادل را حذف نمایید و بر این مبنا ،محتوای جدول را بهنگام نمایید.
-3روند را تا جایی ادامه دهید که دیگر هیچ دو حالت معادلی نتوان یافت.
توجه:
کاهش حالت را با استفاده از نمودار حالت نیز میتوان انجام داد ولی انجام این کار با
استفاده از جدول حالت سادهتر است.
مثال کاهش حالت
مدار ترتیبی را در نظر بگیرد که با نمودار حالت زیر توصیف شده است.
چرا حالتها با حروف مشخص شدهاند؟
در این مدار ،تنها رشته ي ورودی -خروجی اهمیت دارد.
به عنوان مثال می خواهیم با شروع از حالت ، aخروجی مدار
را در پاسخ به رشته ي ورودی زیر به دست آوریم.
01010110100
مثال کاهش حالت
به عنوان مثال می خواهیم با شروع از حالت ، aخروجی مدار را در پاسخ به رشته ي ورودی زیر به دست آوریم.
01010110100
0/0
a
0/0
0/0
c
0/0
1/0
b
1/0
e
0/0
state a a b c d e f f g f g a
input 0 1 0 1 0 1 1 0 1 0 0
output 0 0 0 0 0 1 1 0 1 0 0
0/0
1/0
1/1
d
g
1/1
1/1
0/0
f
1/1
مثال کاهش حالت
:جدول حالت
Present
state
a
b
c
d
e
f
g
Next state
Output
x=0 x=1 x=0 x=1
a
b
0
0
c
d
0
0
a
d
0
0
e
f
0
1
a
f
0
1
g
f
0
1
a
f
0
1
مثال کاهش حالت
یافتن حالتهای معادل:
حالت های معادل حالتهایی هستند که به ازای هر ورودی یکسان ،خروجی یکسانی ایجاد نمایند و حالت بعدی نیز
یکسان یا معادل باشد.
d, f equivalent
e, g equivalent
Next state
Output
x=0 x=1 x=0 x=1
a
b
0
0
c
d
0
0
a
d
0
0
e
f d
0
1
a
f d 0
1
g e f
0
1
a
f
0
1
Present
state
a
b
c
d
e
f
g
مثال کاهش حالت
جدول حالت کاهش یافته:
نمودار حالت کاهش یافته:
نمودار حالت کاهش یافته را رسم کنید.
Next state
Output
x=0 x=1 x=0 x=1
a
b
0
0
c
d
0
0
a
d
0
0
e
d
0
1
a
d
0
1
Present
state
a
b
c
d
e
مثال کاهش حالت
پاسخ متناظر با نمودار حالت کاهش یافته به دنبالهي ورودی
a a b c d e d d e d e a
0 1 0 1 0 1 1 0 1 0 0
0 0 0 0 0 1 1 0 1 0 0
f f g f g a
1 0 1 0 0
1 0 1 0 0
a a b c d e
0 1 0 1 0 1
0 0 0 0 0 1
State:
Input:
Output:
State:
Input:
Output:
تخصیص حالت
برای طراحی یک مدار ترتیبی با استفاده از قطعات فیزیکی ،الزم است کدهای باینری به حالتها
تخصیص یابد.
طرح مورد بررس ی دارای 5حالت است .حداقل تعداد
بیتهای الزم برای تخصیص کد چقدر است؟
باینری تنها گزینه برای تخصیص کد نیست!
One-hot
Binary
Gray
State Assignment1 Assignment2 Assignment3
00001
00010
00100
01000
10000
000
001
011
010
110
000
001
010
011
100
a
b
c
d
e
تخصیص حالت
:تخصیص کدهای باینری به حالتهای طرح کاهش حالت یافتهي مثال قبل
Present
state
a
b
c
d
e
Next state
Output
x=0 x=1 x=0 x=1
a
b
0
0
c
d
0
0
a
d
0
0
e
d
0
1
a
d
0
1
Present
state
000
001
010
011
100
Next state
Output
x=0 x=1 x=0 x=1
000 001
0
0
010 011
0
0
000 011
0
0
100 011
0
1
000 011
0
1
روال طراحی
روال طراحی:
-1نمودار حالت و جدول حالت طرح را رسم کنید.
-2در صورت نیاز ،حالتها را کاهش دهید.
-3به حالتها ،مقدار باینری تخصیص دهید.
-4جدول حالت را با مقادیر باینری اختصاص یافته به حالتها بهنگام نمایید.
-5نوع فلیپفالپ را تعیین کنید.
-6در صورت نیاز ،ستونهای ورودی فلیپفالپ را به جدول حالت اضافه نمایید.
-7با استفاده از نقشه ،معادلههای ورودی فلیپفالپها و خروجیها را به دست آورید.
-8شماتیک طرح را رسم کنید.
مثال طراحی :آشکارساز دنباله
مثال :میخواهیم مداری طراحی کنیم که سه یک پشت سر هم را در دنبالهی ورودی تشخیص دهد.
طراحی بر اساس فلیپفالپ Dانجام گردد.
DA = Ax + Bxنمودار حالت طرح را رسم کنید.
D = Ax + B'x
Bنمودار حالت نشانگر مدل Mealy
y = AB
است یا مدل Moore؟
S0 = 00
S1 = 01
S2 = 10
S3 = 11
Output
N State
Input
P State
y
B
A
x
B
A
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
جدول تحریک فلیپفالپها
جدول تحریک فلیپفالپ:
جدولی که ورودیهای مورد نیاز برای تغییر حالت خواسته شده را تعیین میکند.
جدول تحریک چه تفاوتی با جدول حالت دارد؟
T
0
1
1
0
T flip-flop
)Q(t) Q(t+1
0
0
0
1
1
0
1
1
D flip-flop
Q(t) Q(t+1) D
0
0
0
0
1
1
1
0
0
1
1
1
K
x
x
1
0
JK flip-flop
Q(t) Q(t+1) J
0
0
0
0
1
1
1
0
x
1
1
x
RS flip-flop
Q(t) Q(t+1) S R
0
0
0 x
0
1
1 0
1
0
0 1
1
1
x 0
مثال طراحی :سنتز با استفاده از فلیپفالپ JK
مثال :جدول حالت مداری ترتیبی داده شده است .طرح را با استفاده از فلیپفالپ JKسنتز نمایید
(یا به عبارت دیگر ،مدار را با استفاده از فلیپفالپ JKطراحی نمایید).
K
x
x
1
0
JK flip-flop
Q(t) Q(t+1) J
0
0
0
0
1
1
1
0
x
1
1
x
'JA = Bx
KA = Bx
JB = x
')KB = (Ax
مثال طراحی :سنتز با استفاده از فلیپفالپ T
مثال :با استفاده از فلیپفالپ Tیک شمارندهي باینری 3بیتی طراحی
نمایید.
TA2 = A1A0
TA1 = A0
TA0 = 1