تمثيل التوابع المنطقية باستخدام التابع NAND
-------------------------------------------

### اكتفاء التابع NAND

لدينا A. A=A حسب نظرية بول
إذا تممنا العلاقة السابقة مرتين وحسب نظرية دي مورغان فإن:

```
           (A ↑ A)=(A.A)=(A )'     (1)
```

وبالتالي فإن

```
         (2)      A ↑ A )↑  (B ↑ B)=[(A.A)´.(B.B)´]´ = A+B )
```

( حسب نظرية دي مورغان)

إن تطبيق المتحول A على مدخلي بوابة NAND ثنائية المداخل يعطي على مخرج البوابة المتحول'(A) 
أي أنه يمكن استخدام العملية NAND لتنفيذ عملية النفي NOT لمتحول واحد A كما نلاحظ من العلاقة
(2) أن تطبيق عميلة NAND عدة مرات يسمح بالحصول على التابع. OR=A+B. إذًا يمكن استبدال عميليتي ORو NOTبالعميلة NAND. وبما أن هاتين العميليتين كافيتين يمكن الاستنتاج أن عملية NAND كافية أيضًا.

1-التابع NOT
------------

ليكن لدينا

```
                f = a  →   f = ā    KI
```

```
                 f  = a. a   → 
    
             (f ') = (a. a)´ =( ā)
```

2-التابع AND
------------

يعطى التابع بالشكل:

```
                ; f = a .b
```

ياهلال
نتمم مرتين ← 

```
                ´´(f  = ( f ´)´  =  ( a .b
```

ياهلال

3-التابعOR
----------

  

يعطى التابع OR بالشكل:

```
              f = a+ b 
  نتمم مرتين: ←
```

```
           [('f = ( f ´)´  = (a+ b)´´  = [ ( ā). (b
```

بالإضافة إلى إمكانية تمثيل البوابات المنطقية الأساسية باستخدام بوابات NAND يمكننا أيضًا تمثيل جميع

التوابع المنطقية الأخرى سواء أكانت بسيطة أم معقدة ، معروفة أم غير معروفة كالتابعان لبسيطان NOR,XOR

4-التابع XOR
------------

يعطى التابع XOR بالشكل

```
             (f = (ā).b+a('b
```

```
نتمم التابع مرتين  ← 
  
             "(f = ( f ´)´   = ( a. b' + ā. b
```

فتكون قيمة التابع مساوية إلى:

```
               '['('ā. b)´]´.  [(a .b )] =
```

5-التابع NOR
------------

يعطى التابع NOR بالشكل

```
              '(f =  ( a +b)´  =( ā) .(b
```

```
           ( حسب نظرية دي مورغان)
```

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

عملية التصميم نتيجة لكون العملية NAND غير قابلة للتجميع. لذلك يلجأ عملياً على تصميم الدارات

باستخدام العمليات ANDو OR أولاً ثم يتم تحويل البنية البوابية الناتجة إلى بنية مكافئة محتوية على

بوابات NAND فقط.

•نستنتج مما سبق أنه يمكننا بطريقة بسيطة تحويل أي من البنيات البوابية (التوابع) باستخدام بوابة NAND فقط.

•لنأخذ مثلاً التابع:

```
            f( A,B ،C )=A .( B´).C + (Ā .C´) + Ā.B
```

سنتمم هذا التابع مرتين حسب نظرية بول لأن ذلك لا يؤثر على بنيته المنطقية :

```
         [(f(A ، B ، C) ‗ [A .( B´). C + Ā .(C´) + Ā. B
```

باستخدام نظرية دي مورغان يصبح التابع

  

```
      "[(f(A ، B ، C) = [ ( A. (B´) .C ) . ( Ā. ( C´)). (Ā. B
```

لتوليد الحد(A.(B').C)نطبق المتحولات A,(B´),Cعلى مداخل بوابة NAND وكذلك الأمر بالنسبة

```
للحدود  [(A´).B]´ ، [(A´).(C´)]´   .
```

والآن لتوليد التابع (f(A,B,C السابق باستخدام البوابات NAND يكفي تطبيق مخارج البوابات في

الدارة السابقة على مدخل بوابة NAND أيضًا .

* من الملاحظ أنه لإعادة بناء دارة التابع f السابق باستخدام بوابات من نوع NAND فإننا لا نحتاج

سوى أن نستبدل كل بوابة من البوابات المنطقية الأساسية المشكلة لدارة هذا التابع بما يكافئها من بوابات NAND.

المراجع:
النظم المنطقية والدارات الرقمية د-فادي فوز

* أيقونة بوابةبوابة علم الحاسوب