السلام عليكم نبدأ ان شاء الله نكمل الجزء التاني من
اللي هو ال counter شوفنا المرة اللي فاتت ال
asynchronous counter وقولنا الفكرة في ال
asynchronous counter إيش؟ال clock اللى بتدخل على
الأولى غير ال clock اللى بتدخل على التانى غير
التالتة غير الرابعة طبعا أول واحدة بس بيدخل عليها
ال clock الفعلي و التانية بيدخل عليها ال q أو ال q
naught حسب إن إذا كانت هي أصلا negative تدخل من ال
q إذا كانت positive ناخد إياش من ال q naught ماشي؟
طيب اليوم بدنا نشوف كيف نعمل counter بس
synchronous ديكون أشمالهSynchronous كلمة هنا
synchronous معناها يعني باختصار أنه ال clock اللي
داخل على الدائرة الأولى أو الدائرة الأولى هو نفسه
اللي داخل على التانية و التارتة و الرابعة هو نفسه
يعني، ماشي؟فهنجي نشوف هنقش يعنى synchronous
counter وكيف هنعمل شكل ال counter باستخدام هذا
النوع فأول حاجة بقولي ال synchronous counter عبارة
ان كل flip بflop are clocked together بدخل عليها
نفس ال clock with a common clock pulseماشي ال
synchronous counter overcome the disadvantage of
accumulated propagation delay طبعا هان إجت أشمالها
حلت مشكلة ال propagation delay اللي ظهرت في ال
asynchronous احنا في ال asynchronous قلنا إذا ال
clock الأولىكانت فيها نسبة propagation تمام؟ طبعا
هذا ال propagation بيتاخد لمين ده ال queue أو ال
queue not اللي هتاخديها و هيروح تماما إيش يعمل؟
هيأثر على ال clock اللي وراها أو يعني على الدائرة
اللي وراها و هكذا فصار عندييعني loop من ال
propagation delay بيستمر معانا ال propagation
delay حتى في الدوائر التالية ماشي و بتزيد نسبة ال
propagation delay لكن هم لإن نفس نسبة ال
propagation delay أو نفس عفوا ال clock اللي أنا
دخلتها على كل الدوائر فلو فيها نسبة propagation
delay هتكون هي نفسهافمش هتزيد فهنا إيش صار عندي
حلت مشكلة ال propagation delay اللي صار ال dual
هذي أو مش عارفة ال dual اللي كانت ماشية معانا بشكل
sequence يعني في كل الدواير فإجتها ال synchronous
counter overcome the disadvantage of accumulated
propagation delay but generally لكن بالأعم they
require more circuitry to control stated changeلكن
محتاجين شوية طبعا تحكمات أو قيود صعبة يعني شوية مش
زي ال asynchronous يعني في ال asynchronous يمكن
هتلاحظوا بعد ما نخلص الدرس انه هناك كان سهل جدا لو
قعدنا نعمل ال counter بس هالأ لأ في شوية trickات
في شوية قيود لازم يعني نعملها عشان ال counter
طبعنا يطلع بالشكل الصحيحع سبيل المثال لو انا شوفوا
هنا في اختلاف كبير لو انا بدي two bit synchronous
two bit synchronous يعني المفروض قدش يطللي اربع
يعني dual اربع او module اربع بيسموه بيسموه ايش
module اربع ماشي؟ طيب لاحظوش الفكرة انا هاي ال
clockداخلة ع ال clock الأولى و نفسها داخلة وين ع
ال clock التانى طبعا و الجي .. نفس الحاجة flip
flop جي كي فليب فلوب طيب و الجي كي فليب فلوب
بتدخلين high لكن هين وين حسب ال q not او حسب ال q
not يعنى ماشي q zero ايش بيطلع من ال q zeroبيده
يأثر على قيمة الـ J و الـ K فهنا بالأول الـ I
هيصير فيانة تجل صح؟ فالـ Q not ممكن تكون high صارت
low او ممكن تكون low صارت high فإذا كانت low صارت
high فهذا هيصير تجل لكن لو كانت high و صارت low
هنا no change يبقى هذه هتقوم بتتأثر او تستنى مع ان
ال clock parallel للكللكن هاي مش هتقنع output إن
لما تستنى القيمة اللي تطلع من الـq note وصلت
الفكرة يعني كإنها sequence بس الفكرة فيها إن ال
clock بس liberal واضح؟ طيب و طبعا اللي وراها هذي
ال two ال two بت خدوا بالكم طيب تعالوا نشوف كم
بتطلع شكلها طيب
عشان نفهم الرسومات اللي هابت نشوف هايإن هى ال
clock الأولى أو هدى ال clock اللى دخلت مين على ال
circuit الأولى و ال circuit التانى صح؟ طيب ال
circuit الأولى كانت الجيوب و الكيش معنهم high صح؟
نفترض هى q note كانت zero جايةهنستخدم طبعا على ال
rising edge تمام؟ هيصير فيه Indic Ash تغيير طول
الفترة هاي طبعا خليني أمسككم بس Q0 و بعدين نروح
على Q1 واحدة واحدة هتصير Indic Ash تغيير بين كل
pulse والتانية هذا بالنسبة لمين؟ لـ Q0 هلاقى Q1
كيف بدو يصير لنا التغيير؟ بناء على قيمة مين؟EQ
Note طيب EQ Note طيب أو Q Zero هلأ إيش بصير
المفروض طلعوا Q واحد ما إلها هنا على أفرض إنه هي
أصلا low طيب أفرض إنها إيش low فإحنا ما أثر إلها
أي تأثير لإنه لسه ما أقدرتش ناتج مش عارفة إيش قيمة
Q أصلا يعني طلعوا هنا عند ال H كانت إيش قيمة Qzero
فيعني not change على حالتها not change على حالتها
الأولانية فحضرها zero لحد لما تخلص ال pulse الأولى
طبعا هلقيتها عند هذه اللحظة هذه هتتغير لكن هي
أشمالها هتاخد قيمة من مين من ال QO Note صح طب إيش
قلتها كانت واحد high فهتأسلر و هيدخل high و high
فالمفروض مش أنه يعملQ1 فصارت عندك high واضحة هذه
طيب يبقى انا Q1 قيمتها تعتمد على Q0
طبعا هذه المقامة على حسب الـ rising اللي فوق صار
فينا change بس هذه ماعناها دخل يعني طول الفترة لسه
بتستنى ماصارش فيها إشي يعني Q1 عاملة تستنى أيش
القيمة اللي بتطلع من Q0 ماشي فلحد لما تخلص شايفين
هنا؟ هنا إيش فعل دي؟ هنا فيه تغييق فيه قيمة صارت ل
Q0 صح؟طيب إيش قيمتها؟ صفر على القيمة اللي قبلها
انت مالك تطلعيش لإنه في علم ال propagation دي ليه
مش على الحصة بالظبط في سترة قبل ما تاخدوا القيمة
صح؟ طيب فهي هتاخدوا القيمة اللي تحت لأ طيب يعني
الحكي هان بما إنه q not zero يبقى no change على
قيمة q واحد فهضلها ه I معاه؟ طيب هلما نيجي نصل إيش
قيمتها؟ واحد فإيش هتأثر على اللي تحت؟0 هتعمل ايش؟
او يعني بيبقى ان انا هتعمل تجل هتعمل ايش؟ تجل و هي
كده واضحة الفكرة؟ ايش؟ شو ده اول اشي؟ طيب مرة
تانية احنا الرسم اللي قبل واضحة انه انا Q1 مش
هيصير فيها تأثيق او مش هتتأثر بأي قيمة الا بعد ما
Q0 تاخد قيمة صح ولا لأ؟ معاه؟ طيب هلاقيتنا افترض
انه انا ال clockمش مشبوكة فقط على Q0 اللي هي على
ال flip flip الاولى اللى هو flip flip 0 ماعشى طيب
ايش مفهوم ال JK flip flip ده ما تكون high حسب اذا
كانت Q0 او اذا كانت اعرف ان يعني Q قيمتها low
بتصير toggle عند ال rising او fung edge اللى
موجودة عندى فى ال clock صح هذه خلصنا منهاطيب هلقيت
انا لو جيت اطلعت على الدائرة اللي انا مرسومة هنا
ايش معناها؟ انه انا الـ Q1 مش هيكون لها قيمة الا
بعد ما Q0 يطلع لها قيمة يعني نفترض انه انا في
المرحلة هذه كانت صفر Q0
طيب في مرحلة مؤيّرة كانت صفر و Q1 لسه مش عارفين
إيش هي ممكن تكون صفر ممكن تكون واحد حسب إيش كانت
بفضل لو كانت صفر افترضوا إنها كانت إيش هي Q0 و هي
Q1 نفترض بفضل إنها كانت صفر Q1 public lock أثرتها
في أول pulse هل هذه لها قيمة؟ لأ مش هتقدر تاخد
قيمة في أول pulse إلا بقى إن هذه تطلع
تخيلوا بقى كيف؟ يعني ها أي مرة تانية هم
بتهيألك إنهم بيشتغلوا مع بعض بس بناء على ال clock
لكن قيمة Q1 ما راح تتغير إلا لما تطلع قيمة Q0
أيوة .. أيوة .. هي الفكرة .. تمام؟ يعني إيش اللي
بيصير؟ لحظوا .. هاي .. تخيلوا هي بس bolts واحدة
فال bolts الأولى دخلة على Q0 مباشرة فهتعملت change
طب لكن هال Q1 صار في إلها تغيير في هالفترة؟ مع أنه
نفس ال clock .. نفس ال clock داخل بس هي ما بتاخد
قيمتها ملاقا على ال clockتاخد قيمتها بناءً على Q
Note فهمتوا عليها؟ طيب، يبقى أنا هيستنى هذا ..
هيستنى قيمته .. لو أنا فرضًا على القيمة السابقة
إنها كانت Zero القيمة السابقة كانت أشملها Zero
هان، هيتخيقها دي؟ شايفين كيف هي المنطقة؟ هان الـ
Zero طب لما يكون Zero، إيش بيعمل في الـ J كيف اللي
بفلوب؟ Not Change فحضره على نفس الحالةطيب غيرنا
هان او هان صار عندي rising جديد طيب بالنسبالي مين
لكيو؟ note هان ايش صارت عندي؟ high صح؟ طيب هذه
high هلقيت هان قبل في قيمة قداش قيمتها؟ واحد راح
تنبعط للدائرة التانية ماشي راح تنبعط للدائرة
التانية، تبقى إيش هبعط للدائرة التانية؟ واحدمحل ج
و ك صح معايا هبعطلها واحد يبقى قداش هدره ايش راح
نعمل فيها هي بتستمي في قيمتها اصلا يبقى عند ما
قلقت اللي هو ال clock لإن ال clock هو نفسه ياخد
معانا يبقى عند حفة ال clock هاي ايش هتاخد قيمتها
من ال q note اللي هي واحد وهد الواحد ايش بتعمل في
ال q واحد هتعمل فيها toggleواضح؟ هتعمل ايش؟ toggle
طيب لما تعمل ال toggle تتغيرت من صفر لواحد طيب عند
المنطقة هاي ماشي فيه قيمة ل q note صح؟ إيش هي
قيمتها؟ صفر قيمتها صفر، تبقى هذه هتاخد الصفر الصفر
إيش بتقولنا؟ no change فحضرها على حالتها واضح؟ طيب
هي عن ..وصلنا عند المنطقة هذه هذي ايش معناها؟ صارت
واحد طيب الواحد ايش بتقول لكيو نوت ام او لكيو
واحد؟ سيرى تجل فهمتوا إيش الفكرة؟ فهتصير تجل بناء
على الحر السابق لإلها وصلت الصورة فهي بتهيأ لإنهم
Synchronous لإنه بيمشوا على نفس ال edge تبعت ال
clock لكن كيو واحد بتستنى القيمة منين؟ من كيو نوت
او بتهت قيمتها من كيو نوتفما بحاسب على أساس اللي
هي الـ clock و خلاص لأ بنحاسب كمان على أساس قيمة Q
naught طب تعالى نشوف ال propagation delay احنا
قولنا انها حلت مشكلة ال propagation delay معايا
حلت ايش مشكلة ال propagation delay فلو اجينها
الأول مرة شوفوا الحالة الأولى ان Q naught كانت
Zero و Q1 كانت Zeroلحظة احنا في الرسم بتلاقينا
عاملينها على ال edge بالظبط يعني بس هذا مش ال
issue الفعلي فهي فعليا في عندنا فترة مش في عندنا
فترة بتبقى ان القيمة فيها جاهزة اصلا قبل ال edge
وفترة قدش بتبقى محتفظة في القيمة و الحكيها بمعنى
ان انا هذه الفترات بتصير عندى propagation delay
طيب هلاقيتها انا عند ال edge هاي كان في عندنا قيمة
Q naught صفروهذه الفترة من هان لهان هي propagation
delay هذه ايش propagation delay طبعا ال
propagation delay هان تسبب في هذا المنطقة لو انا
اجيت ماشيت هيبقى له نفسه في اول واحدةصح ولا لأ؟ في
أول واحدة تعالوا لو إجينا في المرحلة نقول طبعا
ماأثر إشي عندي هنا لإن أنا ماصارش عندي تغيير أساسا
تعالوا نشوف هنا في الحالة هاي okay هايها الفترة ال
clock التانية ال bounce التانية طبعا هنا بما إن
هذا صفر فهذه زيهاأو يعني بمعنى أخر إذا كان هنا
نوتش إذا هنا تجل هنا هيبقى هنا نوتش هبقى نفس ال
propagation delay لأنه نفس ال clock بتخيلين كيف
نفس ال clock داخل على هذه وعلى هذه فنفس فترة ال
propagation delay هنا نفسها مافي يعني أنه تراكمي
مافيش عملية تراكم ده propagation delay فنفس الفترة
اللي تبعت من ال Q noteطبعا نفسها هي ال propagation
delay تبقى اش اكيو واحد فثابتة القيمة اش مالها
ثابتة مابتزيدش هي هي بتضلها لكل الفترات قبعا هنا
اللي هي ال clock التالتة لاحظوا نفس المسافة ما
زادت هذه الفكرة وهذه الفترة الأخيرة اللي هان صارت
فيها اللي هي low low او هنا high و high على سبيل
المثال ال clock الرابع هنا .. اللي هي .. وين؟
Okay عند ال clock الرابع هلاحظوا هاي الفترة هادي
هي نفسها الفترة هانا مافي إزاحة، هناك كنا قاشر
نلاقي هذه الفترة في عندنا إزاحة تانية للفترة، ليش؟
لإن هذه كانت تعتمد على ال clock تبعتها على هاي،
لكن احنا ال clock تبعت هذه هي نفسها ال clock اللي
فوقلكن القيمة ثقب عشان تعمل change او لا ماخدها من
الـ Q note وصلت الفكرة فعشان هي كانت بيحكي انها
انتبعت في نسبة ال propagation delay بدل ما تبقى
تراكميا طبعا
لو اطلعته بس على قيمة القيم اللي طلعينياها ايش
طلعليها فا أول pulse ايش طلعت؟ طلعت واحد صح واحد
وهذه ايش هتطلع؟إتنين مش بدأوا يبقوا على ال counter
مش احنا counter بنعمل طب احنا هناك في ال sequence
كنا نبدأ من zero واحد صح ولا لأ؟ بس هانا نابلي بدأ
من zero حسب .. حسب القيمة اللي كانت تانية يعني ف
ال zero بتلاقيها في الآخر بيانت معانافانتوا كيف؟
فهنا إيش طلعلي؟ واحد وهد هطلق هيها صفر واحد ليها
اتنين وهد بتطلع هي واحد واحد تلاتة واخر واحدة
الرابع اللي بتطلع زيرو زيرو فانا بدكم تنتبهوا بس
انه انا في يعني هاي فرق بس بين ال synchronous و ال
asynchronous انه هناك في ال asynchronous أول ما
بنبدأ على طول بنقدر نبدأ بزيرو واحد اتنين تلاتة
لكن هنا زيرو بتلاقيها ورا في الآخر أحسب طبعا
البداية لو أنا هد كانت high أصلا كمانلو كانت هذه
high و صار في انها تقول هذي ايش راح تكون لو كانت
high اصلا تمام فبتصير عندك واحد و واحد او واحد و
صفر يعني هنبدأ برضه من واحد فهمتوا كيف؟ واحد اتنين
تلاتة لو كانت هذه واحد و هذي كانت واحد هتبدأ من
تلاتة فهمتوا عليا؟ فيعني البداية تاعتها بناء على
قيمة ash ل q note او q واحد في الاصل يعنيطيب هذا
بالنسبة لاصلة 2 bit بسيطة الفكرة يعني بتاخدي ال
clock ال key و ال note بتاخد على ال J و ال key
بتاعة ال flip ب flip التانية لو أنا بدأ أعمل تلاتة
bit إيش بسوي؟هنروح نفس الفكرة هاي تلاتة flip ب
flop بس ايش بيحكيلي؟ بقول و هاي ال bit الأولى
دخلها على طول high J و K هاد flip ب flip zero و Q
note دخلناها على J و K واحد تمام؟ لكن القدر J و K
اتنين بناء على قيمة Q note و Q واحديعني إذا كانت
واحدة فيهم صفر أو واحدة فيهم واحد فهذا يدخل عليها
zero ماشي لازم يكون التنتين true عشان يصير في
toggle هاد شوفتوا ايه ال condition احنا محتاجين
شوية condition صح عشان نقدر او control عشان نقدر
نطلع ال counter بالشكل الصحيح وهذا احد ال control
اللي احنا عملناهم ماشي هذا ايش بيسويطيب هال إيه
تتطلع عندي؟ اللي هو أنا بده أعمل أربعة .. اللي هو
بده أعمل أربعة .. مفروض إنك تعتمد على قيمة Q note
و Q1 و Q2 صح ولا لأ؟ و غيره .. و طب يعني بس في
عندنا standard أو يعني شغل نقدر نتفق عليها ممكن
تتغير القيم و ممكن يعني ..كل ما تاخدى Q note لازم
يكونوا التلاتة تروح عشان يصير في عنا تجن في ال bit
الرابع او ال bit الخامس لازم يكونوا كلهم تروح عشان
يصير فيه تجن يبقى انا في عندي فترة تقريبا خمسة او
ستة او سبعة حسب او اربع بالف عبارة من change في ال
bit الأخير اللى احنا بدنا نشتغل عليه حسب انا قداش
بدى اوقف طيب
لنشوف هنا كيف
بيانت هذا النقل او ليش عملوها احنا اتفقنا في لما
كانت 2 bit انه على حسب قيمة q1 تتغير بناء على قيمة
q0 يبقى q0 اصلا تقل مباشرة حسب القيمة الأولى q1
حصين اتطلع بناء على ال rising اللي هنا تبع الكلوك
مش تاعتهاي على هذه .. ايش قيمة q0؟فبتصير ال true
ها دي اش بس فيها toggle صح؟ طيب هان false هتبقى
لها not changed هان toggle هتصير false طب هانا
false هتصير not changed و هكذا وصلت الفكرة؟ طب
تعالوا ناخد هال ات ها دي بدها تدخل على التالتة اه
بس انا ماباعتمد على كي واحد لحالها هان بدك تعملي
add مابقايم القيم اللي هان و القيم اللي هان عشان
تشوفوا هيصير في change او لأماشي؟ طيب فهنا ايجي
نطلعنا هي على حسب ال rising تمام؟ نيجي نشوف هذه
ايش قُمتها اصلا كانت صفر وهذه صفر فصفر not change
فحضرها على الحالة اللي احنا بدأنا فيها طيب نيجي هن
نطلع على هذه المنطقة هذه ايش واحد وهنا صفر ف not
change كمان طيب هن صفر واحد فكمان not changeطيب
هان واحد و واحد صارت true يعني هالقت أنا بقدر أعمل
تجول فلحظي أكم بت أنا استنيت تلاتة كأنه يعني ال بت
الرابع صار فيه تجول وصلت الفكرة؟ فأنا لو عندي أربع
معناه هستنى أربع بت و الخامس بيصير فيه تجولعشان
نتحكم وقت اش يصير ال toggle فانتوا كيف؟ طيب فهنا
وانتوا على الطلاب هتبقى لها نفس الشيء يعني طول ما
انا هادي لو وجدته يعني بشكل سريع طول ما هاد الصفر
واحدة فيهم صفر no change فهنا هادي صفر وهنا صفر
وهنا صفر فلحد اللي هان هياش no change هادي وهنا
هيكا no change هان اش صار عندك واحد واحد هتصير
toggleماشي فبصير .. مش انا بس باكتفي بقيمة Q1 لأ
فبصير أطلع قيمة Q1 and قيمة 2 Q0 فمش زي ال
Asynchronous في ال Asynchronous ماني مش عادي زي ال
2 زي ال 3 زي ال 4 كله زي بعضه صح ولا لأ؟ لكن هنا
ال two بتماشي حالهم زي .. بتشبكيهم عادي بس 3 أو 4
أو 5 هتصير تعتمد على قيمة اللي هي Q0 و Q1 و Q2
اللي هم قبلها
طيب هاي لو انا بده اعمل اربع bit شايفين؟ لو بنعمل
اربع bit طلعوا هاي F اللي flip فلوك Zero و واحد و
اتنين و تلاتة هاي اربع bit تاعت صح؟ طيب الأربع bit
تاعت ال clock كلهم هانا بس خدوا بالكمهذه على اللون
active active low فهذه ايش هتعمل هناخد هي الفكرة
بسوين ان انا بدى اخد مش من ال q naught بدها تبقى
بس عند ال falling edge بدنا نشوف العملية عند ايش
ال falling edge طيب هنا هذا ال clock داخل على كله
نفس الاشي و بعدين عندك اول واحدة داخل عليها high و
بعدين اللي وراها داخل عليها q naught بعدين اللي
وراهاداخل عليها Q note and Q واحد و اللي وراها
داخل عليها اللي هو ال Q اللي بيطلع منها صح اللي هي
Q اتنين و اللي بيطلع من جي واحد اللي هي مين يعني
كأنك بتقولي Q note and Q واحد and Q اتنينوصلت
الفكرة؟ فهتتخيل لو بدك خمسة هيبقى نفس ال pass
answer باضح؟ فهيبقى نوركيها هنا طبعا هنعملها على
ال rising edge يعني عفوا على ال falling edge
هتلاحظ أنه لما نزلت ال clock إيش كانت القيمة هنا؟
هنا عادي أول واحدة بتمشيها عادي بس التانية هتشوف
إيش القيمة كانت صفر فهيبقها no change صح؟ طيب و
هنا هتطلعي صارت true هيصير فيه change و هنا صارت
صفرهتصير ايش؟ no change و هنا صارت واحد نعمل
toggle و هنا صارت صفر no change و هكذا و بعدين هنا
لو اجيت اطلعت على Q2 نفس الاشي هنا صفر و صفر no
change هان ايش هنصير نطلع؟ ال Q3 صفر و صفر و صفر
بطلع no change و هنا طبعا لازم التلاتة يكونوا true
وقت إيش هيصيروا true هذي إيش هتعطيكي هذي هنا في
تلتان zero هذي zero و هنا zero و هذي zero و هذي ..
هذي هنا كمان zero و هنا zero و هذي كمان zero هنا
.. لحد انها .. شايفين لحد انها وصلنا no change
واضح؟ no change هنا هيصير عندك واحد و واحد و واحد
سيبنا تجل فهالكتب نبدأ نغيّر، شوفوا أكتر بت إحنا
سيبنا، هذي للأربعة بت، هاي واحد، اتنين، تلاتة،
أربعة، خمسة، ستة، سبعة، و هذا التامن طبعا، الأول
واحد فكأنك سيبتي تمانية بت و بعدين روحت عملتي نو،
it changed، بس إيش روحنا طلعنا؟الاربع بنت المفروض
قدش بيطلقولي ان هم الخمستاش يعني من صفر لخمستاش
هاي طلعوا اش سونا طبعا انا هاي اول واحدة لو انا
بداتهم zero هم هم zero هاي zero و هاي واحد و هاي
عندك اتنين و هادي التلاتة هاي الأربع الخمسة الستة
هاي السبعة صح سبعة و هاي عندك تمانية هانا التسعة
وها دي عشرة، هاي ال 11، 12، 13، ال 14، هاي ال 15 و
بعدين بترجع صفر مابتاني واضحة الفكرة؟ ما هو على
حسب إذا أنا كان .. أنا ليش بحكيلك، حسب البداية إذا
أنت بديتهم zero هذه أنا بقدر أعتبرها .. يعني لإنه
بدأ من ال .. ال right .. من ال fallingبس انا لو
بتدبّعها من ال rising هادى ما باعتبرها شىء انا
اعتبر هيكها هادى pulse فمتى كيف؟ لكن انا مانأجى
قدام ال edge المرتفعة لسه انا مش pulse كاملة عرفتى
كيف؟ بس انا لما اجيت انزلت يعني لقبل هادى pulse
فمتى كيف؟ طيب فهنا هى بوريكى بس بحطولك إشارة وين
هم تروح عشان يصير فيه toggleفانت على طول هتصير
الدوري و اين بيصير في عندك true عشان تعمل ال
toggle في اللي وراها و اين بتصير ال true عشان تعمل
ash toggle في ال queue اللي بتطلع في المرحلة اللي
وراها طيب في عندناخلصنا من الـ Asynchronous واضحط
الفكرة تبع الـ Asynchronous يبقى أنا بس مجرد لازم
ننتبه لشغله أنه باخد نفس ال clock لكن ال Q اللي
بتطلع بتعتمد على ال Q اللي قبل أو ال J و ال K عفوا
اللي بتطلع الدائرة التانية بتعتمد على ال Q اللي
قبلها و لو أنا بدي أكتر من 2 bit لازم يكون عندي ال
bit التالت أو الرابع بيعتمد على ال and ما بين ال Q
اللي موجودة في المراحل السابقة واضح؟ هذه كل الفكرة
تبع ال Asynchronousفي إعلان أخر من ال counter
بيسموه ال up-down ال up-down counter إيش فكرة ال
up-down؟ يعني مايغرثيش شكل الدائرة إنه complicated
يعني أو معقدة هيك شوية بس إنت لو طلعت فيها هي نفس
المفهوم الأساسي هاي ال flip flip الأولى والتانية
والتالتةيعني ده خانونة بس واحدة واحدة هنفكفكهم
واحدة واحدة ماشي هاي ال flip ي flip الأولى و
التانية و التالتة و بعدين هاي ال J و ال K داخل
عليهم هاي بس ال J و ال K التاني إيش داخل عليهم
لحظة يعني في شوية condition او يعني control أخر
مختلف بيتحكم في هاي الدائرة اللي هم إيش بنسميهم ال
up و ال down ال up و ال down قيمة ال up و ال down
طيب يا هتكون طبعا يا true يا false يعني إذا كانت
ال up true طبعا فال down هي في حالة ash الفals
فهتلاقي أنا هاي في ال up إذا أنا دخلت واحد فمعناته
وإذا أنا بدي ال down فهي أشمالي فمن فيا يعني واضح؟
طيب و ال clock طبعا دخله عليه و كله ياته بنفس
الفكرة بس إيش بيصير عندك؟ هناخد اللي ال output
اللي هو ال Q0 هنعمل نقر مع ال upأو هناخد الـ Q not
نعملها add مع القيمة المنفية من نفس المدخل كأنه
يعني ما عدّاه ماشي و بعدين هناخد القيمتين هدور
نعملهم R و ندخلهم على الدائرة اللي وراها لجهه ال K
طيب، ملخص الحديث يعني أنا كويس المكتر في شكل
الدائرة بس إيش بتعمل دائرة ال down ال up و ال
down؟ بقولني لو أنا قاللي استعملي up أو down بصير
ال counter عندك لو شوفت up معناه هصير عدد صفر،
واحد، اتنين، تلاتة، بعدد تساعدي ماشي؟ لكن لو شوفت
down، بيصير عدد تنازلييعني انا هان صرت اتحكم في ال
counter تبعي وقت ما هشوف up بصير بده ازود القيمة
ووقت ما بده اشوف down بصير اياش انزل القيمة وهنا
قلنا أسمة صغيرة هذه عشان نعرف بس إيش بتعمل أنه لو
أنا في حالة ال up وكان الرقم اللي عنده صفر معناه
اللي وراه لازم يكون أشماله اللي هو واحدو بعدين
اتنين تلاتة و هكذا ماشي؟ طب لو انا كنت اخر اشي
هدرا كانت بالتلاتة but اخر اشي سبعة طب اشي نقبل
السبعة؟ مش هنجي تمانية اشي نقبل السبعة؟ اللي هو
الصفر باجي على الصفر مرة تانية واضح؟ و لو كنت انا
مثلا وقفة in هذا الرقم اللي هي الخمسة و اجيت قلتله
downفدعو مش بده يرجع يطلع فوق بتعدى penasole وديجى
يجيبلك أربعة تلاتة اتنين ولو كنت لأفاقك بالصفر و
قلتله down بيجي على السبعة هاي كون الفكرة تماما
بما انا عارفها صح كويس انا اعرف شكل الدائرة لو
يعني شوفناها كيف لكن انا ممكن يجينى كمخطط ويقولني
والله اعمل up او down ايش الفكرة بكل بساطة هيجيكى
كأنه clock جديدأو مش clock أنا هاي ال clock الأصلي
بس أنا condition جديد طيب زي حكاية ال enable و ال
enable واضح؟ إيش ال .. ال .. ال wave form الجديدة؟
اللي هي بنسميها up or down not هيعطيكيمرة up و مرة
down لما أتي أشوف الفترة مثلا down بده يصير أنقص
لو شوفت الفترة صارت up بده يصير ash أزود بقى هم
نشوف كيف أول حاجة انا مثلا عندي أكم واحدة zero
واحد و اتنين و تلاتة يعني المفروض عندي أربعة بيت
يعني بقدر أوصل من الخمستاشمن صفر لخمستاش تمام؟ هذه
شغلة شغلة تانية لما أجي مثلا أمسك ال clock نفترض
اللي عند اللي هي ال rising edge هروح أمسك ال
rising edge هيك همسك ال q note من أول طيب برسم ال
wave form عادي مش هاندي مشاكل لإنه أنا هان في هذه
الحالةطيب مافيش عندى يا صفر يا واحد يعني الاب يا
صفر يا الواحد فهمتوا كده؟ اه كلهم على اهاديس ال
synchronous هي اصلا ال synchronous ال اب و الده
ماشي؟ بس ليش انا مثلا ماتأثرتش بالاب و الده؟ لأنه
انا الاب لصفر هو واحد و الدولة واحد او الدولة لصفر
هو واحد يعني نفس الاشييعني مافيش غيرهم بيلفوا ورا
بعض واضح فضلت ال q note مثل ما هي ماشي طيب ال q
واحد لو قشته طلعت عليها لقيت انا ماشي بمشي على ال
rising هنا عندنا zero بضلها zero تمام هي ضلتاش
zero هنا طب إجينا هنا لسه أنا في حالة ال upفي حالة
ال up فح؟ يعني انا المفروض هانا اشياطينى هى عندك
هذا صفر هذا واحد لو انا طلعت هيك اه هذه الصفر هي
هيك up انا كل واحد و هاي اتنين لسه هيني في مرحلة
ال up لحد ال hand okay اتنين هاي تلاتة طيب و ال up
لسه up بعد التلاتة اشفي عندي؟ صفر فبتيجي صفر ماشي
طب هلقيت الصفر؟إيش صار عندك هان؟ صرنا في حالتك هاي
في ال rising هادى هان إيش صار عندى؟ down طب لو أنا
.. أنا أسيبك .. يعني أنا .. أنا أشتغلك أتوبت عشان
.. و بعدين كده بنكمل على نفس المنطقة، ماشي؟ فلقيت
هنا صفر صفر، ماشي؟ طب إيش ال down للصفر صفر؟ اللي
هي واحد واحد، اللي هي بتلاتة يعني، فهي صارت واحد
واحدفأيوة كأنك نقصتي رجعت يد العكس طيب هاي صارت
تلاتة و انا لسه down هان لا حد عرف هاي ايش صارت
تلاتة بعدين اتنين بعدين واحد طيب لسه خلصنا لسه ما
خلصنا ع الصفر بعد الصفر لسه ما خلصنا ال down بعد
الصفر في واحد .. في تلاتة أفضل صح؟ طيب هاي التلاتة
تعالي هان صار فينا upهنا بعد الوقت تلاتة ايش
بيصير؟ يرجع واحد، طب لسه up هي .. ايه عفوا اللي هي
صفر عفوا، صفر، بعدين واحد، بعدين انا لسه احنا في
ال up، هي اتنين، وصلت هنا صار عندي down، بعد
الاتنين ايش برجع؟ واحد، وبعدين عندي down برجع صفر،
فهمتوا إيش الفكرة فيها؟ يعني فقط بتتحقق .. زي
control آخر، بدل ما تطلع ماشية sequenceصفر واحد
اتنين اربع اتنين اربع اربع اربع اربع اربع اربع
اربع اربع اربع اربع اربع اربع اربع اربع اربع اربع
اربع اربع اربع ا
فاهمتوا عليا؟ فيعني أكتر حاجة بدك تدقق فيها على
قيمة ال up و ال downو تشوفي انت ال rising .. برضه
ال rising edge تبعتك أو ال falling edge بالإضافة
للقيم اللي انت بتشتغلها يعني أهم حاجة تطلع على
قيمة ال .. ال .. ال .. يعني أسهلك أسهل حاجة لو
طلعتي على قيم ال .. الرقم اللي طلع تقدر يتحدد أيش
القيمة اللي وراها من غير ما انت ترسمي يعني تشوفي
قداش قيمتها صفر ولا لو لأ داخل عليها واحد ولا داخل
عليها زيرو بيصير متحكم عنا أيش ال up أو ال downانا
انا اني بس اشتغلت على two bit اشتغلت بس على two
bit طبعا نفس القصة لو انا بدى اشتغل على الرقم كله
فهذه مثلة هانقش الرقم هذا طوله اللى بالاول هاي صفر
وانا بمشي up يبقى up اندي لاربعة bit المفروض بمشي
لحد الخمستاش يعني لو هذا كله ياتوا up بكمل لخمستاش
فاهمتوا كيف؟ لكن انا في فترات اب و في فترات down
فهذه ايه اللي اعطاني؟ هذه صفر، هذه واحد، هذه
اتنين، معايا؟ طيب و هذه ايه اعطاني؟ هذه تلاتة، انا
one up، هيها، هذه بقى، هذه لسه، هذه اربعة، بعد
هيكة، بعد ال edge اللي هنا صار في عندي down، ايش
بعد الأربعة بيجي؟ او قبل الأربعة؟ اما لتنازلي،
فهيها صارت تلاتة، واحد، واحد، صفر، صفرتلاتة، بعدين
بصير ان احنا لسه down اتنين، واحد، صفر و لسه احنا
في ال down برجعت وين؟ على الخمستاش، معاك؟ راحت على
قداش، بعد الصفر صفر صفره اللي هو الخمستاش، كتنازل
يعني طب أنا خمستاش و وصلت الخمستاش و صار عندي up
يعني لما ارجع فوق بنرجع الصفر هيها بنرجع بعد
الخمساشة هي zero واحد وانا لحد هنا هي هنا في عندي
اتنين بعدين بنرجع down طيب ايش ال down اللي عندي
هي واحد و بعدين بنرجع صفر و هكذا هو لما نصل ل
تلاتة الحين ال Q flat لما بتعملها بتطلع ال Q zero
و ال Q واحد انا المفروض انه اعمل هيك بس انا لإنه
عندي ال control تبع ال up و ال downعشان ما تتغلبيش
وقتاش .. ال .. ال up و ال down هي غالب راح تتحكم
مش بس ال clock طب كيف هيعمل Q2؟ كيف هيطلع النتيجة
بقى؟ هيها كيف هيستهدفش يعني؟ okay انا لأ .. انا
يعني قداتك طريقة سهلة ماشي بس Q2 لو بدرجة بدرجة
على نفس الدائرة هاي بدك تدخلي هان شوف إيش داخل على
Q2IQ0 و Q1 و IQ2 شوفوا Q2 إيش رح يطلع منها لازم
أعمل .. يعني شغلانة بدك تعملي AND لقيمة ال up مع
القيمة اللي طالعة من ال Q اللي هي Q note .. Q1
أعملي AND ما بين Q1 و ال up ماشي؟ و بعدين أعملي or
و AND كمان ما بين ال Q not وينها راحت؟مابين الدم و
مابين مين ال Q واحد نت هتعمل H and بينهم و التنتين
هدول بالنتش اللي بطلع من ال and و ال and بدك
تعمليله or و القمة اللي بتطلعيا واحد يا صفر بدك
تدخليها على مين؟ على الدقلة اللي ورا فشغلانة يعني
تقعد تحسب فيهم فانا بدل ما نقعد نحسب فيهم بس اطلع
على ال up و ال down و بالمفهوم هذا بصير لحالك انت
تشوفي اذا اللي طالع الله تلاتة و انا لسه up بيطلع
وراها اربع اذا انا ده بتصير اتنين و خلاصنابعد ما
تقعد تضيع وقت يعني انت هيك بدك تقعد تحسي بيه قيمة
q note او شوف ايش بطلع من ال q واحد و تعمليله and
مع قيمة ال up و بعدين تاخد ال down ايش connectها و
تعمليله and مع قيمة ال q not و بعدين تعمليلهم or
هذه بس الرسمة هذه هي سابت الرسمة مافيش يعني فيها
change كتير مابدك تحفظيها احفظيها مش قصة كتير يعني
بس انا المفهوم تبع ال up و ال down يعني انا مش
هجيبك ترسميلي هك غالبا بجيكي word form و بقولك في
up و down بدك تكون فاهماش يعني up و down ماشي فقط
لما يكون يطلع ال .. لو كان الرقم ال counter تلاتة
إذا كانت أربعة بطلع أربعة إذا كانت down بنزل اتنين
بتغيرى ال clock تبعتك بناء على نتيجة انا اسهلك
بكتير ما تقعدى كيف هتطلع في ال way forward بدون
هذا الرسم يعنى كيف هيها Q2 انا .. لأ انا اللى
برسمهم انا برسمهم اه كيف بقى انا بحكيلك كيف هه
نرجع تانى نفترض هي عندنا down up هي down هي upوها
دي down و هاي ال clock تبعتك نفترض بهذا الشكل طيب
هلاقيت لو أنا فرضا اي Q note افترض اندي تلاتة bit
بدي تلاتة bit هاي Q note و Q واحد و Q اتنين ماشي
هاتا Q note نفترض بدت ب Zero و هاي كلهم بدوا Zero
خلاص طيب هاي Zero Zero Zeroأنا قبل ما أقسم ال
waveform بدي أكتب الأعداد بدون أقسم ال waveform
يعني عندي أكتر من طريقة أشتغل عليها بدي أشتغل على
ال rising هاي ال rising طيب
تعالي هنا أنا عندي down صح؟و هذه rising edge فى
الـ Q note إيش بعد الصفر؟ لو أنا بداش طلع له هذه
إيش بعد الصفر؟ واحد طيب
فى الفترة هاي طب أنا لسه down هاه طلع لسه هذه ده
ودخلين عليها طب بعد الواحد أو بلاش بديش أرسم أنا
بدي أكتب كتابة هى واحدOkay طيب هان بعد الواحد هذه
لسه down إيش ال down للواحد؟ صفر طيب و هنا عندي up
هلاقيت أنا هان؟ بدي up لمين لهاي؟ إيش ال up لإلها؟
واحد طيب هاي أنا لسه .. أو وصلت هنا صار في إنا
down إيش ال down للواحد؟ صفر و هان في عند لسه أنا
down إيش ال down لإلها؟ واحد فش غيرهم، مظبوط؟ طيب
تعالي نمسك هذهلو بد اعملها من طوبة، طوبة هلاقيت
هذه صفر، إيش الدعو للصفر؟ كإيه، هذه صفر و صفر
صارت، معايا صفر و صفر، إيش الدعو للصفر و الصفر؟
واحد و واحد، فهذه واحد وهذه واحد
خلاص؟ طيب الواحد أنا إيش فيه إيديها؟ لسه down إيش
الواحد و الواحد إيه ال down؟ اللي هو صفر .. اللي
هي عفرة التلاتة إيش ال down تبعها؟ اللي هي الأتنين
صح؟ اللي هي صفر واحد هاي اتنين طيب هلقيت أنا وين؟
up طيب ال up لاتنين، تلاتةهي تلاتة صح؟ طيب ال ..
ايه تفيه عندي down الدولة التلاتة الدولة التلاتة
صفر و صفر الدولة التلاتة اتنين اتنين الدولة
التلاتة اللي بقى ايه ادم التلاتة الاتنين هي صفر
واحد اتنين ماشي؟ طيب و هان برضه down انا لسه down
واحد بعد الاتنين واحد اه بالاتنين واحد طب لو بدى
اشتغل على تلاتة بت تعالى نشوف ال بت التالت صفر صفر
صفر ايش بشتغل انا هان؟ down طيب ايش ال down لل
صفر؟ السبعة صح هايم تلاتة تلقاه هو تلقاه تلات
واحداتطيب هلقيت ايه التلات وحدات؟ هنفي إنا down
لسه طيب إيش ال down لل سبعة؟ التمانية .. الستة
أفضل اللي هي صفر واحد واحد صح؟ طيب هلقيت أبي؟ إيش
ال up للستة؟ اللي هي سبعة ماشي؟
طيب و إني هن إيش؟ down هلقيت إيش ال down للسبعة؟
ستةمظبوط؟ طيب لسه في عندي داعو ماقشت داعو من
الستة؟ خمسة ورسم خلصت هاي ارسم هلقيت ال wave form
تبعتك خلاص؟
بدل ما قبل اطلع or و and و q قدش قمتها و a و up
ولا down و نفي و aماشي؟ ماعرف أنا هذا الطريق يعني
أسهل طريقة في أنك تشتغل على ال up و ال down في
أي سؤال؟
طيب هذا بس مثال يعني عامل simulation طيب نيجي
لموضوع مهم بدنا نعمل Synchronous Counter Designمش
sequence counter design بدنا احنا نقعد نصمم دالة
counter بس ممكن يكون ال counter اللي انا بدي اجي
اشتغل عليه نعم مش ضروري sequence يعني مش ضروري
يكون واحد اتنين تلاتة اربعة ممكن يكون بدي أعداد
فرديةأعداد زوجية كل اتنين يعني كل رقم سيبين خنتين
ولا مش عارفة يعني أعداد بشكل محدود يعني في
customization و أنا بعمل في ال counter واضح؟ طيب
فكيف نصمم دائرة ال counter بالشكل اللي احنا بدناه؟
فقول عشان نجي نصمم و فيها انا تقريبا خمس او ست
خطوات لازم نعملهم عشان تعملي دائرة ال counter اللي
انت بدكيها و خدوا بالكوا هذا ال .. هذا ال .. او
هذه الخطوات اللي راح نعملها فقط لمين؟ لل
synchronous فقط لإيش؟ لل synchronous مش
asynchronous لازم يكون ال clock داخل على كل
الدوائر ماشي؟طيب most requirement for asynchronous
counter can be met with available integrated
circuit in case where specialها بدنا special
sequence is needed بدنا يعني تتابع معين احنا بدناه
يعني مايمشي serial بالوضع الطبيعي you can apply
step by step design process بدنا نطبق الخطوات
التالية اول خطوة اش بيحكيليها
بدنا نعمل حاجة اسمها state diagram ايش ال state
diagram؟ فاكرين ال gray code؟ طيب بقولك انا والله
بستعمل two bit او تلاتة bit اربع bit و يعني قد ما
انت حسب ايش الرقم اللي هو بدهيا بمثله بال binary و
بعدين بحاوله من binary ل ash ل gray
يعني نفترض هذا الدقي أشمالها تلت خنات أو البيانة
اللي عندنا من تلت خنات يعني هي رقم من قداش؟ من
صفر؟لأ اللي هي لسبعة صح من صفر لسبعة فلو انا اجت
كتبت هيك Zero, one, two, three, four, five, six,
seven و بالاثناء تلت خانات صفر صفر صفر و هذه ايهاش
واحد صفر صفر صفر واحد صفر واحد واحد صفر هذا binary
طيب
و هذه ايهاش صفر صفر واحد واحد صفر واحد واحد صفر
واحد واحد طبعاهل قيت بال grey؟ إيش بعمل؟ بنزل أول
بيت، صح؟ و بعدين بجمع حد للوراء، صح؟ فصفر و صفر،
صفر و صفر و صفر، بطلع صفر هال بنزل أول بيت، بطلع
صفر، و هال برضه إيش؟ واحد، مظبوط؟ طيب، هال بنزل
الصفر، بطلع هنا واحد، واحدو هنا بنزل الصفر وهذه
واحد و واحد و واحد بطلع لنا صفر بنزل الواحد و واحد
و صفر واحد و صفر و صفر صفر و هنا عندنا واحد و واحد
و صفر واحد و صفر و واحد بطلع لنا واحد و بعدين عندك
واحد و واحد بنزل عفوا الواحد وهذه صفر واحد و هذه
اش بنزل الواحد صفر صفرو برسلوه مع شكل دائر اتطلعوا
كيف هيبدأ من zero طبعا انا هاي عندي هذه صفر صفر
صفر بعدين اللي وراها HPJ100 و اللي وراها هي 110
بنزل عندنا 010 و
انا وصلنا اللي هي 0111111
عنا الواحد صفر واحد لسه فيه كمان واحدة
اللي
هي امين صفر صفر واحدطبعا؟ طيب ليش بعمل هيك؟ عشان
نوريكي مين الرقم اللي بتيجي ورا التاني زي circle
يعني لإن احنا كمان شوية هنجي نطلع نشوف ال bit هذا
إيش جاي ورا؟ واحد، هذا مثلا إيش جاي ورا؟ واحد، و
هكذا و بعدين هنجي نمسك ال bit التاني، هذا إيش جاي
ورا؟ و هذا بعدين فيذك، و هذا التالت و كذا فعمليهم
هقاش ع شكل circle هذه أول خطوة، يبقى أول خطوة إيش
بنعمل؟بنمسك الرقم اللي هو متينية او ال counter
اللي بدي اعمله بكتبه binary بعدين بحاوله agree
طبعا هنا العملين اللي عملوا اصلا serial اصلا ايش؟
serial طيب الخطوة التانية بدأ من table
يعني لو عملتيها او ما عملتيها يعني بكون واضح بس
يعني لو كتبتيها بديكي تقولي ايش ال next state
table ايش هال next state table هاللي انا بحط
الأرقام كلها من صفر حسب الترتيب اللي انا بتبعه ل
grey حسب الترتيب ل grey يعني انا هذا اللي طلع
معايا صح؟ هذا اللي بشتغل عليه بروح أعمل حاجة اسمها
next state
ماشي ال mixed state؟ يعني هذا إيش بده يصير؟ فاقلنا
للحالة الصفر صورة إيش بده ييجي وراها؟ اللي هي 1000
اللي هو الرقم اللي وراها يعني طيب، هذا إيش بده
ييجي وراها؟ 1100 و هاد اللي هو 0100 و هادي بعد
الواحد، إيش بده ييجي؟ اللي هو 0110 ثاني، ثاني،
إيش؟ لحظة، لحظة، في واحدة، آه، راحتمرة تانية ان
شاء
الله لا اخبط هذه ايش اتيه وراها؟ هي 1 0 0 وهذه 1 1
0 وهنا 0 1 0 وهذه 0 1 1 1 1 1 وهذه 1 0 1و هذا 001
و هذا ايش وراها اللي هذا هي 00 واضحة ايش ال next
state؟ طيب الخطوة التالتة بيقولني بدك تعملي في
يعني هذا standard هذه يعني تقدر تقول حفظ مش انت
راح تعمليه ايش بيحكيلي؟ بقوللي اذا كانت ال qn
وراها ال qn زائد واحد ايش يعني؟يعني بدك تصير تتطلع
على هاي هذي بيسموها الـ QN القيمة اللي هان بنسميها
QN و هذي اللي هي ال next state اللي بيسموها ال Q N
زائد واحد خلاص باجي بنسك هذا ال bit
من Q0 ما احنا هي كام رقمين هذه Q0 و هذه Q1 و هذه
Q2 ماشي و هذه ال next تبعت Q0 و هذه ال next تبعت
Q1 و هذه ال next تبعت Q2 كل واحد بنقدرس منها حالة
لحال طيب فانا عندي جدول ثابت بقول لو كان ال QN صفر
و اللي وراه واحد في ال next stateفي ال next state
صارت واحد ايش بيعمل؟ صفر وهيها واحد يعني كانت صفر
وصارت ايش؟ واحد بدنا نحط لحق محل ال J واحد ومحل ال
K اكس هدون كيف نعملهم؟ فاكرين زمان ال carniv map؟
كي ماب؟ هنعمل كي ماب خلاص هنعمل كي ماب كيف بنعمل
كي ماب؟
طبعا خدوا باركوا من شغل انا اكم بيت عندى ثلاثة كل
بيت انها J و K map يعني اكم J و K map رح يطلع عندى
هان لأ يا ورد قلبي خلصش ستةكل بت إلو two carniv
map واحدة لل جي و واحدة لل كي تمام؟ فهذه هيكون
إلها جي و كي و هذه هيكون إلها جي و كي و هذه هيكون
إلها جي و كي يعني هيطلع عندك ستة carniv map لكل بت
لكل بت خلاص ستة carniv map لكل بت يعني لو two بت
بطلع عندك أربع carniv map لو أربع بت بطلع عندك
قداش تمانية carniv map و هكذا ماشي؟ طيبشو اللي
تسا؟ اه طيب وضحكت الفكرة؟ طيب ايش بدنا نسوي؟ خلينا
نجي نمسك هاي هروح نعمل لواحدة لمن
هأعمل؟ ل ال Q Note طيب ل ال Q Note و هنعمل لها J
هذه ل ال J Note و هنعمل ايش؟للكيو نوت طبعا انا اكم
متغير في عندي تلاتة اكم متغير اه صح متغير لهم
التلات متغيرات okay كيف بنكتبهم دايما هيك بتحط كيو
نوت هان بالترتيب و هنا mean كيو واحد و كيو اتنين
وزي ما كنا نعمل يا إما هذه صفر يا واحد صح؟ وهنا
طبعا بال grey هي هذه صفر و صفر واحد و صفر واحد و
واحد صفر و واحد بال grey صح؟ و هنا نفس الاشي هنحط
هنا لقمة q note هي يا إما صفرو واحد وهنا هنحط قيمة
اتنين Q واحد و Q اتنين اللي هي صفر و صفر واحد
و صفر و واحد و واحد و صفر و واحد ماشي الحين طيب
هلقيت بجي بشتغل بشوف هنا Q note انا حصلت بصعر Q
note هنا كانت صفر و صارت واحد ايش قيمة ال J؟ صفر و
واحد قيمة ال J واحد عن مين؟إيش كان الرقم؟ Zero،
Zero، Zero فحروحيها Zero، Zero، Zero عند Zero،
Zero، Zero ال J واحد طيب و عند Zero، Zero، Zero ال
K إيش قيمتها؟ X هذا حفظ الجدور يعني مش أنتي راح
تخترعيهطبعا طيب نيجي نشوف ال bit التاني هان واحد
صار واحد طيب من واحد ل واحد ايه صار واحد ايه صارت
جي إكس جيبنا نحطها إكس و كيبنا نحطها زيرو بس عند
أي قيمة صفر صفر واحد طبعا وان صفر صفر واحد هاي صفر
صفر واحد هان الجي قال إكسوالـ K Zero معاه؟ طيب
اللي وراه واحد وصار صفر هاي واحد وصرت صفر J X و K
بواحد طيب عند أي قيمة؟ Zero واحد واحد طيب وين؟ هاي
Zero واحد وهاي واحد قداش قلنا من واحد لصفر؟ اه من
واحد لصفر هذه X وهنا
واحد طيب صفر لصفر احنا وصلنا هنا صفر و صفر طيب هي
من صفر لصفر J0 و KX معاه؟ طيب عند أي قيمة؟ صفر و
واحد صفر هي صفر و واحد صفر هنا عن J0 قلنا و عند KX
طيب
من صفر ل واحد تصير
واحد و X بدنا طيب عند أي قيمة؟ واحد واحد صفر هي
واحد واحد زيرو هان طيب ايش قلنا؟ من زيرو ل واحد
واحد نحط و هان نحط Xطيب هلاقيت واحد واحد واحد عشان
ما ننسى ايه واحد واحد واحد عند هذا المكان من واحد
لواحد من واحد لواحد هانا عندنا X و هانا عندنا Zero
طيب واحد صفر واحد واحد صفر واحد عند هذا المكان
okay هيصير عندك من واحد لصفر هي من واحد لصفر بصير
Xو1 واخر واحدة هي 1 0 0 هي 1 0 0 هنا من 0 ل 0 0 و
X هذه
ال bus لمين ل Q note هنعمل نفس الشغلة لمين ل Q 1
هتعملينهم هيك على جنب J 1 و K 1 لإن كل واحدة بتطلع
flip flipماشي؟ نفترض إحنا خلّفناه J1 و K1 و J2 و
K2 بقى ما تخلصيهم إيش بدك تسوي؟ بدنا نختصر، نعمل
simplification زي الكلمة قبل، بالظبط هذه كلمة
بتختصر تشتغلها صوب؟ أه صوب، تشتغلها صوب، عادي
إذا فاكرين لما كانت ليه don't care نفس الفكرة بس
أنا .. أنا عند الصفر بقدرش أخدهم كلهم فبتاخدي هدول
مع بعض و هي هدول صح؟ لو كلهم كان مثلا واحد بواحد و
الباقى كله تاخديه كله على بعضه فهمتوا كيف؟ بس لإنه
في صفار مابنفعش ناخد هدول خلاص هدول ما .. ناخدهم
مش مع بعض أنا بس وان في واحد باخد
الشمّة ما احنا .. وقتاش بجمّع ال group لما يكون في
عندي واحدات صح؟ طيب يعني انا مابنفعش اخده كله يعني
لو بدي اخد هذا هيك و اخد هذا هيك مابنفعش عشان فيه
صفر هذا ماهو لإنها أمنا في ال X باعتبرها كأم واحد
في ال .. لما زمان انا اشتغلنا don't care باعتبره
منه أم أهمية يعني بأثره على القيمةهيشتغلوا معاك
كإنهم موجودين كإنهم واحد خلاص فعشان ايك انا بقولك
لو فرضا حيطلع معاك وحنشوحل كمان سؤال ممكن يطلع
معاك كلياته بواحدة و الباقي كله X أحسب الحالة
فبتاخدين كلياته فبصير كلها بتطلع واحد يعني في
الآخر ماشي أحسب الحالة اللي موجودة طب هان هناخد
طبعا هاي و هاي طب إيش اللي اختصرها لقت إيش بطلعلي
من هنا
ها دي هتروح ال Q نوت بظل Q واحد نوت و Q اتنين نوت
صح؟ هي Q واحد نوت و Q اتنين نوت زائد .. زائد ايش؟
هانا راح ترضه Q نوت بظل عندك Q واحد زائد Q اتنين
صح؟ زائد Q واحد و Q اتنين ها دي أول معادلة معادلة
مين هاي؟G0 إيش اللي بده يدخل على G0؟ شفتوا الدائرة
.. شفتوا الدائرة تاعة الأب قدام وين أخدنا و أدانا؟
أطلع .. لفوا دورة كيف راحة ان عملت؟ عملوا حاجات زي
هذه طيب .. بس طبعا هان عشان أعرف أرسم دائرة ال
counter يعني مش دائما هيكون and مع اللي وراها و
أخد Q0 و Q1 و Q2 و نعملهم and مع البت الرابع و
الكلام هان فأنا فلأ في .. حسب الحالةبدو يصير فهطلق
كيف راح أوصل J note و J واحد و Q note و Q واحد و
مش عارفة مين في الدار تبعتي بمعنى ان انا ماتأجر
طلعتها خلاص طيب هذه لمين يا بنات هذه اللي داخل على
J zero طيب J zero ايش هيكن تدخل عليها ايش هنا في
عنا راحت برضه Q note بقى اللي عندى Qاتنين نط كيو
واحد زائد راحت برضه كيو نط بل عند كيو اتنين كيو
واحد نط طب هذا بيذكرناش بإيش؟ هذه مين؟ هذه معادلة
ايوة
هذه Knot يعني ممكن اختصر قد ما بقدر يعني إذا في
حاجة شبه إشي تاني بدل ما أقعد أجيب و أودّي و أقعد
أشير دائرة ممكن أختصرهم في دائرة واحدة هذه إيش
طلعت ليه؟ XOR يعني هنقول اللي هي .. اللي هتطلع في
الآخر X أقفل Q2
XOR Q1
صح؟ طيب و هاي النفس تبعها اللي هي هي رح تطلع عندك
Q2 X or Q1 منفية خلاص؟
طبعا حال ده ما نشتغل في نفس الطريقة يعني احنا لما
نقول اي خطوة وصلنا هي الخطوة الأولىهذه هي الأولى
صح؟ وبعدين هي التانية جيبنا ال next وهذه التالتة
الرابعة هي ال simplification طيب الخطوة الرابعة
عملنا ال simplification هذه الخامسة لينطلع ال
equation السادسة أني أرسمها للدائرة حسب المعادلات
اللي طلعت
مش اكتر منكش اه مهالي مثلا حسب البتات ازاي يعني
اعمل كده سبب لك كده كده Q0, Q1, Q2 اه لازم انا بس
أخدت واحدة يعني ازاى بالامتحان هيك اه اه انا لازم
مش بقى اما الاول اللي بدأت اش حكيت لازم تعملي J و
K لمين ل Q0 و J و K ل Q1 و J و K ل Q2 كتير
بالامتحان ماشيأدمع عليه طيب بس
خليكم معاه شوية هتشوف ولا أسئلة سهلة يعني مش إشي
صعب أنا بدي نقلكوا يعني بإيشي سهل ايوة ايوة سهل
طيب نيشي نشوف الخطوة اللي ورا هي بس هاي شايفين كيف
احنا بس عملنا one cue note راحتهذه جي نوت ماب هذي
كلمة ماب تبقى جي نوت و هذي تبقى كمين كي نوت و
هنعمل جي واحد و كي واحد و جي اتنين و كي اتنين طيب
طيب بعد ما نخلص هنعمل ال logical expression لل
flip flop هتحطيهم المعادلات تبعتك أمسح بس اللي
علاه عشان نشوف
بتروح تصفط المعادلات اللي طلعت معاكي من ال
simplification بتقولي J note إيش بتساوي و هايها
إذا قدرنا نختصرها بشكل .. إذا قدرتي تختصر يعني
بقول دالك بصورة أبسط تقدر تعمليها و هاي K note و J
واحد و K واحد و J اتنين و K اتنين طب إيش نعمل
الخطوة الأخيرة نرسم بدنا نرسم تعالوا نرسم
أيوة بدنا نرسم الاربع .. الخمس .. الست معادلات
هدول موجودين عندنا بس أنا إيش بدرسم Asynchronous
خد بالك برسم Asynchronous counter يعني أه كم flip
ب flip عندي؟ تلاتة فهي ال flip ب flip بالأولى وهي
J Noteوهي كي نوت وهي طالع عندى كيو نوت وها طالع
عندنا كيو نوت مات صح؟ وهنا ال clock داخل هنا هاي
ال clock داخل نفسها على مين؟ على كل الاش ال
clockات اللي موجودة
طيب، هي أول شغلة طيب بعد هيك إيش اللي دخل على J
نوت و K نوت؟ بدي أخد Q2 و Q1 و أعمل بينهم X أو R
فيها طيب وين Q2؟ بقى إيش قلنا Q2 و Q1؟ هاي Q2 وهي
Q1
ماشاء الله ما هي
.. لأ ما هي بدأت تبقى counter عشان يرجع فاكرين لما
نعملنا clutter تبقى clearلكليه عشان نوقف مانضماش
يعني ناخد اعداد و اعداد لأ فهذا اكيد راح تكون loop
يعني لازم تكون مسكرة خلاص طيب K0 ايش داخل عليها Q1
و Q2 XR هناخد هي Q1 نفسهم Q1 و Q2 و
نعمل XR
وداخلها مش مشكلة بتطلع شربكة بس لازم تطبق
المعادلات صح طيب J1 داخل عليها Q2 من فيها و Q0 صح
فى بينهم and طيب هى Q0 هدفن ندخل عليها هى احنا صح
ناخد من فار ناخد من تحت Q2 من فيها شوية اش بدى انا
Q2 من فيهاهي Q2 من هنا من هنا من هنا
من هنا من هنا من هنا من هنا من هنا من هنا من هنا
من هنا من هنا
و Q2 هذي اللي هي جاية منها هذي
Q2 و هذي Q0 ماشي؟ طيب بعدين جيه 2 ننقصها هذين
دولتين تاني طبعا في أحيان مش ضروري يرتبط يعني ممكن
تدخليها ساكت مش ضروري ناخد Q2 ممكن تظلوا فالتين
ممكن يعني نشتركوا مع صفر أو مع واحد حسب إيش بتطلع
يعني، خلاص؟ طيب، Q واحد و Q not منفية، Q واحد هيها
هي
Q واحد و Q not هي Q not منفية
بالشكل ها و بعدين عندنا ال K2 ايش بيدخل عليها Q1
منفية و Q0 منفية هاي Q1 نفي هاي اللي هيدخل ها نفي
و هاي Q0 منفية هاي ها تقدر تاخد من هذه فاضح؟
هو يجيك السؤال اعملي counter design اعملي counter
design إذا سمعتي كلمة counter design معندك تمشي كل
6 خطواتبديك تعملي الـ gray code تبعك و ال next
state و بعدين تروح تجيب ال .. ال K و ال J carnival
map و تجيب ال .. ال equation و ترسم ال circuit طيب
طيب
خلصنا احنا بس هي .. هنا في عندنا مثالعشان يعني ما
ندخلش عليها مرة تانية بس نشوف المثال ع السريع
شوفوا أنا سهل هذا المثال مش ضروري يعني يجيبلي كل
سؤال دي عشان سبعة أرقام يعني أو تمان أرقام ممكن
يعد بطريقة مختلفة عشان هيك أنا بقولك هذه ل counter
special counter تمام فانا بقول design a counter
with a with a irregular binarycount sequence shown
in the step diagram of the figure use jk flip flip
احيانا ممكن يجيبلي انا اول واحدة ممكن يطيليها ممكن
يطيلي الأرقام ويقولك زوجي فرد وانت تقعد تشتغلي هذي
بايراني لسه هذي إيش لأ هذي gray هذي جاهزة count
sequence لأ هذي جاهزةخلاص
10000010100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100
Okay هم اعطينا يامهم هيك جاهز هشتغل عليهم هنعمل
اللي هو ال next state table و بعدين طبعا هذه لازم
هذه قدامك تحفظوها صحي اذا غير خطأ بطي فيها بطلع
اطول يجاوب معاكي في خطأ بما ان انا على الجدول اللي
موجود عندك من صفر لصفر اش بيصير في ال J و اش بيصير
في ال K بنعمل ال JK carniv map لكلbit لـ Q0 لـ Q1
و لـ Q2 و بعدين هتطلع هان هذه كلها X واحدة فبتطلع
واحد و هنا عندك هدول و هدول مقدش ناخدهم فهي القيمة
اللي راح تطلع بس Q2 not هنا مثلا هذه برضه طلعت
واحد هذه برضه طلعت واحد هنا مثلا طلعت Q1 و هذه
طلعت كمان Q1 اه اهبس مايكونش فيه Zero بينهم زي
شروط الـSimple Fiction اللي كنا نشتغلها طيب بتطلع
ال equation هي equation صغيرة يعني مش كبيرة زيها
ديك شايفين J note عادي high مش بيكيها ع ال high
عادي طيب J note و K note إيش بيطلعوا و J واحد و K
واحد إيش بيطلعوا و J اتنين و K اتنين إيش بيطلعوا
يساووا و بترسمي ال circuit بناء على المعادلاتوهيهم
ترسمي تلاتة bit وطبعا ال clock داخل عليهم نفسهم
وهي جي نوت okay جي نوت لحظة أشوف اه جي نوت high
صح؟ و عندك جي واحد و كي واحد كلام راحوا على ال
high بدك تشبكيهم على ال high بدك تاخديهم على نفس
ال high تقريبا مش أصلا المهم تشبكيهم على ال high و
ال Q ماتيها لحظة مش مشبوكة مع إشيلأ لأ مش مشبوكة
مع حاجة ما رابطنهاش مع إشي تاني طلع ال bit وجرق
صار جاهز و في عندك هنا Q1 أخدناها و رابطناها عشان
تدخل على G2 بدون ل and ولا or يعني مباشرة ال
connection صار وهي Q2 not وراحت شبكناها على K0 وهي
ال bit تات طلع لي هي Q not و Q1 و Q2طبعا انا هيك
اشرح ياطينيهعطيهم لقم اللي هو اما 101 او 111 اللي
هم موجودين عندنا في الايما اللي رسمناهم في أول
دائرة فكإن ايش بطلع؟ binary مش احنا قولنا هذه
ذاكرة بتطلع بيتات سواء كأنا باخد هدون البيتات و
ممكن انا اعمللهم decoder صح؟ او اعمللهم شابه هذا
اللي راح نشوف ان شاء الله المحاضرة اللي جاية واضحة
الفكرة؟ بتحسوها صعبة بس يعني سهل الموضوع خلاص؟
يعطيكوا العافية