Presentation is loading. Please wait.

Presentation is loading. Please wait.

مدار منطقی Logic Circuits

Similar presentations


Presentation on theme: "مدار منطقی Logic Circuits"— Presentation transcript:

1

2 مدار منطقی Logic Circuits
Synchronous Sequential Logic

3 Sequential Circuits Asynchronous Synchronous Combinational Circuit
Memory Elements Inputs Outputs حافظه همان حالت سیستم است. وابسته به ورودیهای قبلی تعداد عناصر ذخیره کننده انرژی تعداد حالت سیستم را مشخص میکند. (State) حالت سیستم در هر لحظه به ورودیها و حالتهای قبلی بستگی دارد. معمولا فیدبک ها همیشه از خروجیهای حافظه گرفته میشود. تحلیل این مدارات به صورت زمانی است. در مد آسنکرون تاخیر گیتها بسیار مهم است و تحلیل مدار پیچیده میشود و ممکن است نا پایدار نیز باشند. توضیحات جامع درمورد Clk و ماهیت آن. Time discrete از یک لبه تا لبة بعدی Clock فرصت است تا مدار ترکیبی خروجی خود را درست کند. حداکثر سرعت توسط تاخیر مدار ترکیبی مشخص میشود. عناصر حافظه ای که با سطح کنترل میشوند Latch و آنهایی که با لبه کنترل میشوند FF گویند. In gate-type asynchronous systems, the storage elements consist of logic gates whose propagation delay provides the required storage. Thus, an asynchronous sequential circuit may be regarded as a combinational circuit with feedback Combinational Circuit Flip-flops Inputs Outputs Clock

4 Memory 1 Q Q′ B مشکل این مدار مقدار دادن به آن است. چون سیستم که روشن شود به صورت رندم مقداری را به خود میگیرد. برای عوض کردن این مقدار باید به صورت دستی صفر و یا یک به مدار وارد کنیم ولی این مدار ورودی ندارد و اگر بخواهیم مثلا ورودی گیت اول را صفر کنیم چون این ورودی خروجی گیت دوم است باید از این خروچی جریان زیاد کشید که باعث مصرف بالای توان و یا آسیب به گیت میشود. راه حل استفاده از Not دو ورودی است! A Q′ Q

5 Latches SR Latch 1 Initial Value S R Q0 Q Q’ 0 0 0 1 Q = Q0
1 Q = Q0 اگر هر دو ورودی یک باشد دیگر Q و Q’ معنی ندارد و از همه مهمتر اینکه در این حالت اگر هر دو ورودی صفر شود آنگاه حالت بعدی قابل تشخیص و تعیین نیست و به همین دلیل مهم است که ورودی یک با هم ممنوع است. در حالت کار عادی هر دو ورودی صفر هستند و مقدار قبلی را ذخیره میکند. برای تغییر حالت یک پالس کوتاه روی S و یا R میآید وبلافاصله صفر میشود. لازم نیست برای زمان طولانی نگه داشت. 1 Initial Value

6 Latches SR Latch S R Q0 Q Q’ 1 Q = Q0 1 Q = Q0 1

7 Latches SR Latch S R Q0 Q Q’ 1 Q = Q0 1 Q = 0 1 1

8 Latches SR Latch 1 1 S R Q0 Q Q’ 0 0 0 1 0 0 1 0 1 0 0 1 1 Q = Q0
1 Q = Q0 Q = 0 1 1 1 Q = 0

9 Latches SR Latch 1 1 S R Q0 Q Q’ 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0
1 Q = Q0 Q = 0 1 Q = 1 1 1

10 Latches SR Latch 1 1 S R Q0 Q Q’ 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1
1 Q = Q0 1 Q = 0 Q = 1 1 Q = 1 1

11 Latches SR Latch 1 1 1 S R Q0 Q Q’ 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0
1 Q = Q0 1 Q = 0 Q = 1 Q = Q’ 1 1

12 Latches SR Latch 1 1 1 S R Q0 Q Q’ 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0
1 Q = Q0 1 1 Q = 0 Q = 1 Q = Q’ Q = Q’ 1

13 Latches SR Latch S R Q 0 0 Q0 0 1 1 0 1 1 1 Q=Q’=0 No change Reset Set
0 0 Q0 0 1 1 0 1 1 1 Q=Q’=0 No change Reset Set Invalid S R Q 0 0 Q=Q’=1 0 1 1 1 0 1 1 Q0 Invalid Set Reset No change

14 Latches SR Latch S R Q 0 0 Q0 0 1 1 0 1 1 1 Q=Q’=0 No change Reset Set
0 0 Q0 0 1 1 0 1 1 1 Q=Q’=0 No change Reset Set Invalid S’ R’ Q 0 0 Q=Q’=1 0 1 1 1 0 1 1 Q0 در حالت NOR ورودی های R و S همیشه صفر هستند و فقط در لحظات کوتاهی برای SET و یا Reset کردن مدار یک میشوند و دوباره بلافاصله صفر خواهند شد. Invalid Set Reset No change

15 Controlled Latches SR Latch with Control Input C S R Q 0 x x Q0 1 0 0
1 Q=Q’ NAND Latch وقتی ورودی فعالساز دارد میتوان فقط با گیت NAND ساخت. کلا این نوع SR-Latch به خاطر حالت غیر قابل قبول موجود، به سختی مدیریت میشود و کمتر ساخته میشود ولی مدار پایه برای سایر Latch ها است. No change Reset Set Invalid

16 Controlled Latches D Latch (D = Data)(Transparent Latch)
Timing Diagram C D Q t اطمینان از اینکه هیچ وقت حالت غیر قابل قبول به وجود نمیآید. Dlatch C D Q 0 x Q0 1 0 1 1 1 Output may change No change Reset Set

17 Controlled Latches D Latch (D = Data) Timing Diagram C D Q C D Q 0 x
1 0 1 1 1 Output may change No change Reset Set

18 Graphical Symbols

19 Flip-Flops Controlled latches are level-triggered
Flip-Flops are edge-triggered C CLK Positive Edge Latchها در مدارات مشکل ساز هستند. همانطور که در تعریف مدارات ترتیبی دیدیم از خروجی مدارات حافظه به عنوان فیدبکی به ورودی مدارات ترکیبی استفاده میشود و خروجی همین مدار ترکیبی به عنوان ورودی حافظه است. اگر از Latch استفاده شود تا زمانی که ورودی کنترل یک باشد ورودی Latch منجر به تغییر خروجی آن خواهد شد. حال این خروجی فیدبک مدار را میبندد و ممکن است دوبار ورودی Latch را عوض کند و دوباره خروجی عوض شود. بنابراین اعمال پالس کنترل باید خیلی حساب شده باشد و وابسته به Delay مدار است. بنابراین FF ها به وجود آمدند تا به سطح حساس نباشند و فقط در یک لبه کار کنند. مثال از خروجی Q’ یک D-FF به ورودی D وصل کن برای تقسیم فرکانسی با هر بار آمدن کنترل میخواهیم یک بار NOT شود ولی امکان ندارد مثال یک عدد شیفت رجیستر 8 بیتی کنترلی روی تغداد شیفت نداریم و با توجه به Delay تعیین میشود. CLK Negative Edge

20 Looks like it is negative edge-triggered
Flip-Flops Master-Slave D Flip-Flop D Latch (Master) D C Q (Slave) CLK Master Slave CLK مقدار خروجی برابر با مقدار ورودی بلافاصله قبل از لبة پایین روندة پالس ساعت است. D Looks like it is negative edge-triggered QMaster QSlave

21 Flip-Flops Edge-Triggered D Flip-Flop D Q S′ Positive Edge D Q R′
تعریف SETUP Time و HOLD Time. زمان حداقلی که باید ورودی D قبل از لبة بالاروندة کلاک پایدار باشد Set up حداکثر فرکانس Clock? The propagation delay time of the flip-flop is defined as the interval between the trigger edge and the stabilization of the output to a new state. ترکیبی از 3 Latch است. Latch بیرونی که یک RS است. ترسیم شکل موج برروی تخته اگر CLK = 0 باشد، هر دو ورودی RS برابر با یک و مدار حالت فبلی خود را نگه میدارد(Lock). حال در لحظة تغییر CLK از صفر به یک(Rising Edge) اگر ورودی D= 0 باشد. باعث میشود ورودی R صفر شود و مدار Reset شود. حال اگر هر تغییری بروی D اتفاق بیفتد چون R صفر شده است مدار Lock است و تغییرات D به داخل منتقل نمیشوند. حال اگر فرض کنیم در لبة Rising Edge مقدار D = 1 باشد آنگاه این ورودی یک با توجه به اینکه مقدار قبلی R , S یک بوده منجر به صفر شدن ورودی S خواهد شد و مدار SET میشود. حال اگر در این حالت ورودی D دوبار صفر شود با توجه به صفر بودن S مدار LOCK شده است و تاثیری ندارد. کلا ورودی S و R طبقة دوم اگر هر دو یک باشند مدار unlock میشود که در این حالت چون Clock صفر است مدار از طرف Clock قفل شده و تغییرات D وارد نمیشوند. در لبة بالا روندة Clock با توجه به حالت D یکی از این دو ورودی صفر شده و مدار نیز Lock میشود و دیگر به تغییرات جواب نمیدهد. Negative Edge

22 Flip-Flops JK Flip-Flop D = JQ’ + K’Q J K Q(t+1) Q(t) 1 Q’(t) J Q K
Q(t) 1 Q’(t) Flip-Flops JK Flip-Flop ساختن شیفت رجیستر، تقسیم کننده فرکانس و کانتر با D-FF و همچنبن جمع کنندة سریال یک بیتی روی تخته ساده ترین FF در مدارات مجتمع FF نوع D است و کمترین Gate را دارد و سایر FF از روی آن ساخته میشوند. برای یک FF چهار عمل متصور است 1- Set 2- RESET 3- Toggle 4- مقدار قبلی با یک ورودی D فقط میتوان FF را SET و یا REST کرد و حالت سوم و چهارم ندارد. جدول صحت را بذار و طراحی کن J Q K D = JQ’ + K’Q

23 Flip-Flops T Flip-Flop D = JQ’ + K’Q D = TQ’ + T’Q = T  Q D Q T J Q K

24 Flip-Flop Characteristic Tables
D Q D Q(t+1) 1 Reset Set J K Q(t+1) Q(t) 1 Q’(t) J Q K No change Reset Set Toggle جدول مشحصات توصیف ویژگیهای منطقی یک FF به فرم جدولی است. در این جدول حالت بعدی(حالتی که با آمدن لبة کلاک به وجود می آید.) به عنوان تابعی از ورودی ها و حالت فعلی بیان شده است. در این جدول لبة کلاک به طور ضمنی در نظر گرفته شده است. T Q T Q(t+1) Q(t) 1 Q’(t) No change Toggle

25 Flip-Flop Characteristic Equations
D Q D Q(t+1) 1 Q(t+1) = D J K Q(t+1) Q(t) 1 Q’(t) J Q K Q(t+1) = JQ’ + K’Q معادله مشخصه T Q T Q(t+1) Q(t) 1 Q’(t) Q(t+1) = T  Q

26 Flip-Flop Characteristic Equations
Analysis / Derivation J K Q(t) Q(t+1) 1 No change Reset Set Toggle J Q K

27 Flip-Flop Characteristic Equations
Analysis / Derivation J K Q(t) Q(t+1) 1 No change Reset Set Toggle J Q K

28 Flip-Flop Characteristic Equations
Analysis / Derivation J K Q(t) Q(t+1) 1 No change Reset Set Toggle J Q K

29 Flip-Flop Characteristic Equations
Analysis / Derivation J K Q(t) Q(t+1) 1 No change Reset Set Toggle J Q K جدول تحریک علاوه بر ورودیها دارای ستون حالت فعلی نیز است. با تشکیل جدول تحریک میتوان معادلة ورودی را بدست آورد که این معادله تابعی از ورودیها و حالتهای فعلی است.

30 Flip-Flop Characteristic Equations
Analysis / Derivation J K Q(t) Q(t+1) 1 J Q K K 1 J Q Q(t+1) = JQ’ + K’Q

31 Flip-Flops with Direct Inputs
Asynchronous Reset D Q R Reset R’ D CLK Q(t+1) x این ورودیها معمولا برای مشخص کردن حالت اولیه مدار بعد از روشن شدن استفاده میشود. معمولا در لحظة اول بعد از روشن شدن به کل مدار اعمال شده و حالت مدار را به یک حالت پیش فرض میبرند.

32 Flip-Flops with Direct Inputs
Asynchronous Reset D Q R Reset R’ D CLK Q(t+1) x 1

33 Flip-Flops with Direct Inputs
همانطور که مشاهده میشود این مدار شبیه مدار D-FF معمولی است با این تفاوت که سیگنال RESET به سه گیت NAND مربوط به ورودی D ورودی Clock و ورودی R مربوط به FF سوم اعمال شده است. هنگامی که Reset صفر باشد در واقع ورودیهای D و Clock به مدار بی تاثیر هستند و با صفر شدن R خروجی Q’ یک شده و سپس خروجی Q صفر میشود و مدار Reset خواهد شد. برای Set مدار را طراحی کنید.

34 Flip-Flops with Direct Inputs
Asynchronous Preset and Clear D Q CLR Reset PR Preset PR’ CLR’ D CLK Q(t+1) 1 x وقتی سیستم روشن میشود حالت FF مشخص نیست و ورودیهای مستقیم برای مشخص کردن حالت اولیه قبل از اعمال Clock استفاده میشوند.

35 Flip-Flops with Direct Inputs
Asynchronous Preset and Clear D Q CLR Reset PR Preset PR’ CLR’ D CLK Q(t+1) 1 x

36 Flip-Flops with Direct Inputs
Asynchronous Preset and Clear D Q CLR Reset PR Preset PR’ CLR’ D CLK Q(t+1) 1 x

37 Analysis of Clocked Sequential Circuits
The State State = Values of all Flip-Flops Example A B = 0 0 در مدارات ترکیبی خروجی ها و حالت های بعدی تابعی از ورودیها و حالتهای فعلی هستند. جدول حالت جدولی است که دارای ستون ورودیها و حالت فعلی و ستون خروجی ها و حالت بعدی است.

38 Analysis of Clocked Sequential Circuits
State(Transition) Equations A(t+1) = DA = A(t) x(t)+B(t) x(t) = A x + B x B(t+1) = DB = A’(t) x(t) = A’ x y(t) = [A(t)+ B(t)] x’(t) = (A + B) x’ معادلات حالت حالت بعدی را به عنوان تابعی از ورودیها و حالت فعلی مدار بیان میکنند(Transition Equations) دقت کنید که خروجی ترکیبی برای زمان t است.

39 Analysis of Clocked Sequential Circuits
State Table (Transition Table) Present State Input Next State Output A B x y 1 اگر سیستم دارای m عدد FF و n ورودی باشد آنگاه جدول حالت دارای 2^(n+m) سطر است. A(t+1) = A x + B x B(t+1) = A’ x y(t) = (A + B) x’ t t+1 t

40 Analysis of Clocked Sequential Circuits
State Table (Transition Table) Present State Next State Output x = 0 x = 1 A B y 1 t t+1 t A(t+1) = A x + B x B(t+1) = A’ x y(t) = (A + B) x’

41 Analysis of Clocked Sequential Circuits
State Diagram Present State Next State Output x = 0 x = 1 A B y 1 AB input/output 0/0 1/0 0/1 0 0 1 0 فرم گرافیکی جدول حالت را دیاگرام حالت می نامند. در کنار خط ها ورودی و خروجی فعلی را میگذارند.(از نوع ترکیبی) این خروجی ها هیچ ربطی به حالت بعدی ندارد. مثلا وقتی در حالت 00 هستیم اگر ورودی 0 باشد خروجی هم 0 است و با آمدن کلاک در همین حالت میمانیم. ولی اگر در این حالت ورودی یک باشد باز هم خروجی صفر است ولی با آمدن کلاک به حالت 01 میرویم. کلا ورودی و خروجی های ترکیبی مربوط به حالت فعلی هستند. مراحل آنالیز به این صورت خلاصه میشود: 1- Circuit 2- معادلات حالت 3- جدول حالت 4- دیاگرام حالت مدار بالا یک مدار تشخیص صفر در تعدادی از یک است. روش تحلیل از روی دیاگرام حالت: اگر در حالت 00 باشیم هر چه صفر بیاید در این حالت میمانیم. با آمدن یک به حالت 01 رفته و خروجی همچنان صفر میماند. در این حالت اگر یک صفر بیاید به حالت 00 برگشته و خروجی یک میشود یعنی بعد از یک صفر آمده است و الی آخر بنابراین تحلیل با استفاده از ورودی پشت سرهم و تغییر حالت و خروجی ها امکان پذیر است. مداری طراحی کنید که اگر 3 عدد یک پشت سرهم وارد شد خروجی یک شود. 0/1 1/0 0/1 1/0 0 1 1 1 1/0

42 Analysis of Clocked Sequential Circuits
D Flip-Flops Example: D Q x CLK y A Present State Input Next State A x y 1 1 A(t+1) = DA = A  x  y 1- مدار 2- معادله 3- جدول 4- دیاگرام حالت. درک دیاگرام حالت برای انسان راحت تر است. در این مدار چون خروجی ترکیبی نداریم بنابراین در کنار خطوط Slash مربوط به خروجی نداریم و در وافع حالت مدار که در داخل دایره است همان خروجی است. اگر چند ورودی با هم منجر به یک تغییر حالت شوند همة آنها با هم کنار خط مربوطه نوشته میشوند و با کاما جدا میشوند. Output equation: معادلة خروجی مدار ترکیبی Input Equation(Excitation Equation): معادلة ورودی فلیپ فلاپ های موجود در مدار. از روی جدول حالت مشخص است که مدار یک مدار تشخیص فرد است. وقتی تعدا یک ها فرد باشد خروجی یک است. از روی دیاگرام حالت واضح است که اگر در حالت 0 باشیم با آمدن 00 و یا 11 در این حالت میمانیم چون تعداد یک زوج است و خروجی صفر. با آمدن 01 و یا 10 تعداد یک ورودی فرد شده و به جالت 1 و خروجی یک میرویم. در این حالت با آمدن 00 و یا 11 چون قبلا تعداد فردی یک وارد شده بازهم تعداد یکها فرد بوده و در همین حالت خواهیم ماند. با آمدن 01 و یا 10 با توجه به فرد بودن تعداد یک های قبلی ، تعداد یک ها زوج شده و به حالت 0 و خروجی 0 بر میگردیم. 01,10 1 00,11 00,11 01,10

43 Analysis of Clocked Sequential Circuits
JK Flip-Flops Example: Present State I/P Next State Flip-Flop Inputs A B x JA KA JB KB 1 JA = B KA = B x’ JB = x’ KB = A  x در مثالهای قبلی چون D-FF بود، معادلات راحت بود. برای FF های دیگر نیز مسیر دقیقا مشابه است. ابتدا معادلات ورودی را برای FF ها مینویسیم و سپس از روی جدول مشخصة آن FF حالت بعدی را مشخص میکنیم. معادلات ورودی تابعی از ورودیها و حالت فعلی مدار هستند. همانطور که میبینیم ستون ورودی FF ها جزئی از جدول حالت متداول نیست ولی در اینجا آمده است تا بتوان از روی آن حالت بعدی را مشخص کرد. ورودی FFها از روی معادلة ورودیهای به دست میآید. البته اگر معادلة ورودیها را مستقیما در معادله مشخصة FF جاگذاری کنیم به معادلة خروجی مدار میرسیم و میتوان این ستون را حذف کرد. A(t+1) = JA Q’A + K’A QA = A’B + AB’ + Ax B(t+1) = JB Q’B + K’B QB = B’x’ + ABx + A’Bx’

44 Analysis of Clocked Sequential Circuits
JK Flip-Flops Example: Present State I/P Next State Flip-Flop Inputs A B x JA KA JB KB 1 1 1 0 0 1 1 0 1 1 0 1 1

45 Analysis of Clocked Sequential Circuits
T Flip-Flops Example: Present State I/P Next State F.F Inputs O/P A B x TA TB y 1 1 TA = B x TB = x y = A B A(t+1) = TA Q’A + T’A QA = AB’ + Ax’ + A’Bx B(t+1) = TB Q’B + T’B QB = x  B

46 Analysis of Clocked Sequential Circuits
T Flip-Flops Example: Present State I/P Next State F.F Inputs O/P A B x TA TB y 1 1 مدار یک شمارندة دو بیتی که دارای Enable است. تا زمانی که ورودی x یک باشد مدار میشمارد و هنگامی که ورودی x صفر باشد متوقق میشود. چون خروجی y فقط به حالت فعلی مدار وابسته است و به ورودیها وابسته نیست میتوان آنرا در داخل دایرة حالت نشان داد. مدار MOORE همیشه همینطور است. 00/0 1 01/0 1 1 11/1 10/0 1

47 Mealy and Moore Models The Mealy model: the outputs are functions of both the present state and inputs. The outputs may change if the inputs change during the clock pulse period. The outputs may have momentary false values unless the inputs are synchronized with the clocks. The Moore model: the outputs are functions of the present state only. The outputs are synchronous with the clocks.

48 Mealy and Moore Models

49 Mealy and Moore Models با توجه به Set Up time ورودیها باید مدت زمانی قبل از Clk معتبر باشند. در این صورت خروجی از روی ورودیهای جدید و حالت فبلی مدار به وجود می آید که درست نیست. تا لبة Clk بیاید و حالت سیستم عوض شود در واقع خروجی معتبر نیست.

50 Mealy and Moore Models Mealy Moore Present State I/P Next State O/P A
B x y 1 Present State I/P Next State O/P A B x y 1 در مدل میلی چون خروجی مستقیما با مدارات ترکیبی هم تابعی از ورودی و هم تابعی از حالت مدار است. بنابراین ممکن است برای یک حالت به ازای ورودیهای مختلف خروجی عوض شود. ولی در مدل مور خروجی فقط تابعی از حالت فعلی مدار است و بنابراین برای یک حالت خروجی عوض نمیشود. در واقع خروجی به صورت غیر مستقیم به ورودی وابسته است. For the same state, the output changes with the input For the same state, the output does not change with the input

51 Moore State Diagram State / Output 1 0 0 / 0 0 1 / 0 1 1 1 1 / 1
1 0 0 / 0 0 1 / 0 1 1 حالت های مدار در واقع همان خروجی ها هستند. همان مثال شمارنده که حل شد. به طور کلی مدار میلی دارای پاسخ دهی سریعتری است و تعداد حالتهای کمتری نیز خواهد داشت. ولی پهنای پالس خروچی بسته به زمان اعمال ورودی متفاوت است. اگر مداری که قرار است از این خروجی استفاده کند سنکرون با کلاک باشد مشکلی ندارد ولی برای مدار آسنکرون این پهنای پالس متغییر خطر ساز است. مدار مور به طور کلی دارای حالتهای داخلی بیشتری است و از طرفی پاسخ دهی آن نیز کند است ولی همیشه خروجی آن حداقل یک کلاک خواهد بود. مثال طراحی مدار تشخیص لبه با استفاده از مدار میلی و مور؟ 1 1 / 1 1 0 / 0 1

52 Design(Synthesis) Analysis Synthesis
1- Circuit 2- Equations 3- State table 4- State Diagram Synthesis Description State Diagram Choosing FF. Excitation Table Circuit Two sequential circuits may exhibit the same input–output behavior, but have a different number of internal states. Reducing the number of flip-flops reduces the cost of a circuit. The part of the design that follows a well-defined procedure is referred to as synthesis . برای کاربر ورودیها و خروجی های سیستم مهم است و دو سیستم که دارای ترتیب ورودیها و خروجی های یکسانی باشند، با هم برابر هستند. هرچند که از نظر طراحی داخلی ممکن است متفاوت باشند. بنابراین ساده سازی مدار مطرح میشود.

53 State Reduction and Assignment
State Reduction Reductions on the number of flip-flops and the number of gates. A reduction in the number of states may result in a reduction in the number of flip- flops. از انجا که تعداد FF ها با تعداد State های مدار رابطه دارد، به فرایند کاهش تعداد FF ها به گونه ای که خروجی های مدار(رفتار مدار) عوض نشود، مسئلة State Reduction میگویند. با توجه به اینکه مدارای که دارای m فلیپ فلاپ است دارای 2^m حالت است بنابراین کاهش حالتها ممکن است به کاهش FF ها منجر شود و یا نشود. در واقع باید تعداد حالت ها را نصف کرد تا یک FF کم شود(در حالت Binary Coding به این صورت است در حالت One hot Coding در واقع هر State یک FF است.) از طرفی ممکن است مدارای که دارای حالتهای کمتر باشد نیاز به مدار ترکیبی بیشتری داشته باشد که به صرفه نباشد. بنابراین این مسئاله باید با دقت بررسی شود.

54 State Reduction Exampleinput = 01010110100
Only the input-output sequences are important. Two circuits are equivalent Have identical outputs for all input sequences; The number of states is not important. State: a b c d e f g Input: 1 Output: مسئالة اصلی کاهش تغداد حالتهای مدار بدون تغییر رابطة ورودی و خروجی است. البته در بعضی از مدارات از خود حالت مدار به عنوان خروجی استفاده میشود مثل شمارنده که در این حالت State Reduction معنی ندارد چون حالت مدار خود خروجی است.

55 Equivalent states Two states are said to be equivalent
For each member of the set of inputs, they give exactly the same output and send the circuit to the same state or to an equivalent state. One of them can be removed. شرط خروجی خیلی مهم است و حتما برای برابری باید دارای خروجی یکسانی باشند. برای حالت بعدی باید یا حالت های برابر و یا معادل باشند.

56 Reducing the state table
e = g (remove g and replace it with e in next state);

57 Reducing the state table
d = f (remove f and replace it with d in next state);

58 The reduced finite state machine
اگر همان ترکیب ورودی را به این مدار نیز بدهیم تولید همان ترکیب خروجی مثل قبل میکند با وجود اینکه حالتهای مدار متفاوت است. State: a b c d e Input: 1 Output:

59 The checking of each pair of states for possible equivalence can be done systematically using Implication Table. The unused states are treated as don't-care condition Þ fewer combinational gates. در اینجا نیز میبینیم که 5 حالت وجود دارد که منجر به استفاده از 3 FF خواهد شد یعنی از تعداد FF کم نشده است. ولی تعدادی از State ها استفاده نشده است که به صورت Don’t care در نظر گرفته خواهند شد و ممکن است مدار ترکیبی مورد نیاز ساده تر شود. Reduced State diagram

60 State Reduction Example 2: B=D Example 1: B=D Example 3: B=D
در مثال دوم نیز B=D با وجود اینکه در نگاه اول این قضیه واضح نیست. رسم State Diagram و منطبق کردن این دو Example 2: B=D Example 1: B=D Example 3: B=D

61 Partitioning Step 1. The first partition P1 is formed by placing two or more states in the same block of P1 if and only if their output is identical for each input. Step 2. Successive partitions PK, K = 2, 3, 4, ... , l, are derived by placing two or more states in the same block of PK if and only if for each input value their next states all lie in a single block of PK-1· Step 3. When PK+1 = PK, these states are equivalent

62 Example1 A′ B′ C′ D′ E′ در این روش همانند روش جدول استلزام(Implication table) باید فرایند را انقدر ادامه دهیم تا Pk+1=Pk شود.

63 Example2

64 Implication table در مرحلة اول حالت هایی که مطمئنا با هم برابر نیستند را مشخص میکنیم(حالت هایی که به ازای ورودی یکسان خروجی یکسان ندارند مطمئنا معادل نیستند) برای تشخیص حالت های معادل باید تمام حالت ها را با هم مقایسه کنیم. برای این کار به صورت ماتریسی عمل میکنیم که قطر ماتریس که خذف میشود چون دو حالت یکسان هست و نیمه بالا و پایین نیز یکسانند. جدول استلزام در واقع همین یک نیمة ماتریس است.

65 Implication table در مرحلة بعد استلزام معادل بودن حالت های باقیمانده را در داخل خانه های خالی مینویسیم. (استلزام  به ازای ورودیهای یکسان علاوه بر خروجی یکسان که شرط اساسی است به حالت های معادل نبز بروند) اگر استلزام معادل بودن با خانه های خط خورده قبلی تناقض داشت در نتیجه این معادل بودن نیز از بین رفته و خط میخورد. مرور بر جدول را تا جایی ادامه میدهیم که هیچ خانة جدیدی خط نخورد.

66 Implication table مطمئنا B و C معادل هستند چون استلزام معادل بودنشان خودشان هستند. یعنی برای معادل بودن B و C باید خود B و C معادل باشند(پس معادل هستند)

67 Implication table اگر A با D معادل باشد و D با B معادل باشد آنگاه A با B نیز معادل است و در واقع ABD هر سه معادلند.

68 Implication table procedure
Step1. Form a table which is derived by listing vertically all states in the table except the first and horizontally all states except the last. The resulting table displays all possible combinations of two states. Step2. Since only states with identical outputs can possibly be equivalent (condition 1 for equivalent states), a cross is placed in the cells corresponding to those pairs of states whose outputs are not equal for every input. Step3. The vacant cells must now be completed. Into these blocks are placed the pairs of next states whose equivalence is "implied" by the two states whose intersection defines the cell.

69 Implication table procedure
If the implied pairs for any cell contain only the states that define the cell or if the next states of the two states defining the cell are the same state for a given input, then a check mark (√) is placed in the cell indicating that the two states defining the cell are equivalent by inspection and independent of any implied pairs. Step4. Once the table has been completely filled, successive passes are made through the entire table to determine if any cells should be crossed off other than those crossed out in step2. A cell in the table is crossed out if it contains at least one implied pair that defines a cell in the table that has previously been crossed out.

70 Implication table procedure
Step5. Finally, a table is obtained by listing as a column the states that define the horizontal row of the implication table. Then the implication table is examined column by column from left to right to see if any cells are not crossed out. The states that define any cell that has not been crossed out are equivalent and are listed as an equivalent pair in the table

71 Example BE AD, CF AD CH, BG

72 Example

73 State Assignment State Assignment
To minimize the cost of the combinational circuits. Three possible binary state assignments. (m states at least need n-bits, where 2n > m) In Gray Code, only one bit in the code group changes when going from one number to the next. This code makes it easier for the Boolean functions to be placed in the map for simplification. One-hot encoding usually leads to simpler decoding logic for the next state and output. One-hot machines can be faster than machines with sequential binary encoding, and the silicon area required by the extra flip-flops can be offset by the area saved by using simpler decoding logic. This trade-off is not guaranteed, so it must be evaluated for a given design.

74 Any binary number assignment is satisfactory as long as each state is assigned a unique number.
Use binary assignment .

75 Design Procedure Design Procedure for sequential circuit
The word description of the circuit behavior to get a state diagram; State reduction if necessary; Assign binary values to the states; Obtain the binary-coded state table; Choose the type of flip-flops; Derive the simplified flip-flop input equations and output equations; Draw the logic diagram;

76 Design of Clocked Sequential Circuits
Example: Detect 3 or more consecutive 1’s 1 S0 / 0 S1 / 0 State A B S0 0 0 S1 0 1 S2 1 0 S3 1 1 1 S3 / 1 S2 / 0 1 1

77 Design of Clocked Sequential Circuits
Example: Detect 3 or more consecutive 1’s Present State Input Next State Output A B x y 1 S0 / 0 S1 / 0 S3 / 1 S2 / 0 1

78 Design of Clocked Sequential Circuits
Example: Detect 3 or more consecutive 1’s Present State Input Next State Output A B x y 1 Synthesis using D Flip-Flops A(t+1) = DA (A, B, x) = ∑ (3, 5, 7) B(t+1) = DB (A, B, x) = ∑ (1, 5, 7) y (A, B, x) = ∑ (6, 7)

79 Design of Clocked Sequential Circuits with D F.F.
Example: Detect 3 or more consecutive 1’s Synthesis using D Flip-Flops B 1 A x DA (A, B, x) = ∑ (3, 5, 7) = A x + B x DB (A, B, x) = ∑ (1, 5, 7) = A x + B’ x y (A, B, x) = ∑ (6, 7) = A B B 1 A x B A 1 x

80 Design of Clocked Sequential Circuits with D F.F.
Example: Detect 3 or more consecutive 1’s Synthesis using D Flip-Flops DA = A x + B x DB = A x + B’ x y = A B

81 Flip-Flop Excitation Tables
Present State Next State F.F. Input Q(t) Q(t+1) D 1 Present State Next State F.F. Input Q(t) Q(t+1) J K 1 0 0 (No change) 0 1 (Reset) 1 0 x 1 x x 1 x 0 1 0 (Set) 1 1 (Toggle) 0 1 (Reset) 1 1 (Toggle) 0 0 (No change) 1 0 (Set) برای مداراتی به غیر از D-FF روند طراحی کمی پیچیده تر است و نیاز به جدول تحریک داریم. جدول تحریک در طراحی مفید است و جدول مشخصات در تحلیل. در جدول تحریک حالت فعلی و حالت بعدی مشخص است و باید ورودیها مشخص شوند. Q(t) Q(t+1) T 1 1

82 Design of Clocked Sequential Circuits with JK F.F.
Example: Detect 3 or more consecutive 1’s Present State Input Next State Flip-Flop Inputs A B x JA KA JB KB 1 Synthesis using JK F.F. JA (A, B, x) = ∑ (3) dJA (A, B, x) = ∑ (4,5,6,7) KA (A, B, x) = ∑ (4, 6) dKA (A, B, x) = ∑ (0,1,2,3) JB (A, B, x) = ∑ (1, 5) dJB (A, B, x) = ∑ (2,3,6,7) KB (A, B, x) = ∑ (2, 3, 6) dKB (A, B, x) = ∑ (0,1,4,5) 0 x 1 x x 1 x 0 0 x 1 x x 1 x 0

83 Design of Clocked Sequential Circuits with JK F.F.
Example: Detect 3 or more consecutive 1’s Synthesis using JK Flip-Flops JA = B x KA = x’ JB = x KB = A’ + x’ B 1 A x B x A 1 B 1 x A B x 1 A

84 Design of Clocked Sequential Circuits with T F.F.
Example: Detect 3 or more consecutive 1’s Present State Input Next State F.F. A B x TA TB 1 Synthesis using T Flip-Flops 1 1 TA (A, B, x) = ∑ (3, 4, 6) TB (A, B, x) = ∑ (1, 2, 3, 5, 6)

85 Design of Clocked Sequential Circuits with T F.F.
Example: Detect 3 or more consecutive 1’s Synthesis using T Flip-Flops TA = A x’ + A’ B x TB = A’ B + B  x B 1 A x B 1 A x

86 3 Bit Binary Counter using T-FF

87 3 Bit Binary Counter using T-FF

88 3 Bit Binary Counter using T-FF

89 3 Bit Binary Counter using T-FF

90 3 Bit Binary Counter using T-FF

91 3 Bit Binary Counter using T-FF
طراحی با JK-FF : ورودی JK را به هم وصل میکنیم تا تبدیل به T شود.

92 Synthesizable H D L models of sequential circuits
Initial  Single-pass behavior Only in simulation never to model the behavior of a circuit always  Cyclic behavior Both types of behaviors begin executing when the simulator launches at time t = 0. The initial behavior expires after its statement executes; the always behavior executes and reexecutes indefinitely. Behavioral models are abstract representations of the functionality of digital hardware. That is, they describe how a circuit behaves, but don’t specify the internal details of the circuit.

93 Some use of initial keyboard
An initial behavioral statement executes only once. The initial statement is useful for generating input signals to simulate a design.

94 Event control statement
The event control expression specifies the condition that must occur to launch execution of the procedural assignment statements. @ is called the event control operator. @A, @(posedge clk) The event control expression (also called the sensitivity list) specifies the events that must occur to initiate execution of the procedural statements associated with the always block.

95 always @(Sensitivity list)
It is important to remember that a variable having type reg remains unchanged until a procedural assignment is made to give it a new value.

96 Blocking vs. Non-blocking
They are used only in a procedural assignment. Blocking assignment uses symbol (=) Non blocking assignment uses symbol (<=) Blocking assignment statements are executed sequentially in the order they are listed in a block of statements. Non-blocking assignments are executed concurrently. Non-Blocking When the statements are executed, the expressions on the right-hand side are evaluated and stored in a temporary location. The value of A is kept in one storage location and the value of B + 1 in another. After all the expressions in the block are evaluated and stored, the assignment to the targets on the left-hand side is made.

97 General rule Use blocking assignments when sequential ordering is imperative and in cyclic behavior that is level sensitive (i.e., in combinational logic). Use non-blocking assignments when modeling concurrent execution (e.g., edge-sensitive behavior such as synchronous, concurrent register transfers) and when modeling latched behavior .

98 HDL model of Flip-Flops and Latches
D-Latch(Verilog 1995)

99 HDL model of Flip-Flops and Latches
D-Latch(Verilog 2001, 2005)

100 HDL model of Flip-Flops and Latches
D-FF without reset

101 HDL model of Flip-Flops and Latches
D-FF with asynchronous reset

102 HDL model of Flip-Flops and Latches
D-FF with synchronous reset The event expression after symbol in the always statement may have any number of edge events, either posedge or negedge. For modeling hardware, one of the events must be a clock event. The remaining events specify conditions under which asynchronous logic is to be executed. The designer knows which signal is the clock, but clock is not an identifier that software tools automatically recognize as the synchronizing signal of a circuit.

103 Some tips you need to write the description in a way that enables the tool to infer the clock correctly. follow the rules below: (1) Each if or else if statement in the procedural assignment statements is to correspond to an asynchronous event. (2) the last else statement corresponds to the clock event. (3) the asynchronous events are tested first. It is strongly recommended that all models of edge-sensitive behavior include a reset (or preset) input signal.

104 T-FF using D-FF

105 T-FF without using D-FF

106 JK-FF with D-FF

107 JK-FF without using D-FF

108 State diagram-Based HDL Models
Mealy model Using localparam to define states S0 S2 S1 S3 0/0 0/1 1/0

109 Mealy State machine 0/0 0/1 1/0 S0 S2 S1 S3
Its Verilog model uses three always blocks that execute concurrently and interact through common variables

110 Mealy State machine 0/0 0/1 1/0 S0 S2 S1 S3
این قسمت باید ترکیبی باشد. نکات نوشتن مدار ترکیبی با always چون مدار ترکیبی است از blocking استفاده شده است.

111 Mealy State machine S0 S2 S1 S3 0/0 0/1 1/0

112 Mealy state machine S0 S2 S1 S3 0/0 0/1 1/0

113 Moore State machine

114 Moore State machine

115 Moore State machine

116 Home works 5.4, 5.9, 5.10, 5.12, 5.17, 5.19, 5.20,


Download ppt "مدار منطقی Logic Circuits"

Similar presentations


Ads by Google