در مدارهای ترتیبی همزمان

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 = (Ax‬‬
‫مثال طراحی‪ :‬سنتز با استفاده از فلیپفالپ ‪T‬‬
‫مثال‪ :‬با استفاده از فلیپفالپ ‪ T‬یک شمارندهي باینری ‪ 3‬بیتی طراحی‬
‫نمایید‪.‬‬
‫‪TA2 = A1A0‬‬
‫‪TA1 = A0‬‬
‫‪TA0 = 1‬‬