دوائر الطرح المنطقية

طرح عددين ثنائيين يمكن بأن يكون حاصل جمع المطروح منه ومتمم المطروح، وبالتالي يمكننا عمل دائرة طرح منقطية بنفس طريقة دائرة الجمع، (وأيضاً يمكننا تصميم دائرة واحدة تقوم بالعمليتين كما سنرى لاحقا)، وكما كان لدينا دائرة نصف الجمع ودائرة الجمع الكامل، فلدينا دائرة نصف الطرح ودائرة الطرح الكامل.

دائرة نصف الطرح
ويتم من خلالها طرح عددين مكونين من بت لكل منهما بدون إمكانية أخذ استلاف منهما لأجل عملية سابقة، وتتم فيها عملية الطرح كما في الجدول التالي حيث يمثل B0 حالة الحاجة للاستلاف من الخانة التالية:
A B D B0
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0


من الجدول نجد أن علاقة الطرح تكون:

لاحظ أن ناتج الطرح D يشبه تماماً حاصل الجمع والاختلاف هنا في عملية الاستلاف حيث أن الدخل A للبوابة وَ يتم قلبه ببوابة النفي.
Half Subtractor                                Half Subtractor - Block Diagram

دائرة الطرح الكامل
في هذه الدائرة سنأخذ في الاعتبار إمكانية الاستلاف لأجل الخانة السابقة (في حالة بناء 4bit Full Subtractor أو أكثر) لهذه الدائرة ثلاث مدخلات هي المطروح منه والمطروح والاستلاف كما في الجدول التالي:
A B Bin D B0
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

من الجدول نستطيع الحصول على العلاقة:

وفيما يلي الدائرة المنطقية للطرح الكامل:
Full Subtractor

تعديلات طفيفة

السلام عليكم
لقد أجريت تعديلات طفيفة على الموقع، أعد كتابة البرنامج بشكل أكثر تنظيماً، الواجهة لم تتغير كثيراً، بعض الروابط تغيرت ولم أكن أود ذلك، وأخيراً قمت بحذف المكتبة ومعرض الصور من الموقع، برنامج معرض قد أرجعه بعد التعديل بمحتويات جديدة ومتجددة بعد فترة، وحتى ذلك لكم مني أجمل تحية، قد غبت طويلاً وسأعود لغيبتي التي أرجو أن لا تطول ثم سيكون لي عودة معكم بإذن الله.

دوائر الجمع المنطقية

 السهل تصميم دائرة الجمع المنطقية، بالرجوع إلى موضوع جمع الأعداد الثنائية نجد أن حاصل جمع بتين لا يخلو من الحالات الآتية في الجدول
ABSC
0000
0110
1010
1101

حيث S هو حاصل الجمع و C هو فائض عملية الجمع Carry، السؤال الآن ما علاقة الخرج S بالدخل A, B؟ نلاحظ أن الخرج S يكون صفراً في حالة كون الدخل A, B غير متشابهين، أي أن العلاقة XOR (أحدهما وليس كليهما)، أما علاقة C بالمدخلات فمن الواضح أنها علاقة وَ AND. حيث يصبح واحداً إذا كان الدخلان مساويين للواحد، وبناء على ذلك يمكن بناء الدائرة باستخدام بوابة XOR وبوابة AND كما في الشكل التالي:

دائرة نصف الجمع

وهذه الدائرة تسمي دائرة نصف الجمع (Half Adder) ويرمز لها أحيانا بالرمز التالي:
رمز دائرة نصف الجمع
لجمع عددين مكونين من 4 بتات (أو من أي عدد من البتات، 4 هنا مجرد مثال) فإننا نحتاج إلى 4 دوائر جمع على التوازي، كما يجب إضافة الفائض من ناتج جمع أول خانة إلى الخانة  التالية، أي عمليتي جمع، لذلك يمكننا تصميم دائرة أخرى تقوم بجمع بتين مع فائض العملية السابقة إن وجد، هذه الدائرة تسمى دائرة الجمع الكامل (Full Adder). سنعتمد على الجدول التالي، حيث Cin هو فائض الجمع السابق الداخل للدائرة و Cout هو فائض عملية الجمع الحالية.
ABCinSCout
00000
00110
01010
01101
10000
10111
11011
11101

والآن نحسب الدالة S من الجدول:

أما قيمة الدالة Cout

وفيما يلي الدائرة المنطقية للجمع الكامل (Full Adder):

دائرة الجمع الكامل

ويمكن بناء دائرة الجمع الكامل باستخدام دائرتي نصف الجمع مع بوابة OR كما يلي:
دائرة الجمع الكامل باستخدام دائرتي نصف الجمع وبوابة أو
كما يمكن بناء دائرة لجمع عددين من 4 بتات (4bit Adder)، بإدخال فائض كل خانة إلى التي تليها وأما فائض الخانة الأخيرة فتعتبر فائض عملية الجمع كاملا، كما يمكن بنفس الطريقة بناء 32bit Adder وهو الموجود في معالجات حواسيب 32bit.
دائرة الجمع لـ 4bit