Monday 21 October 2019

digital logic - Making 2-input AND gate, 2-input OR gate and NOT gate using only the "SAND" gate



Suppose there is a special gate called a SAND gate (Single-inversion AND) that looks like this:


enter image description here


How can I make 2-input AND gate, 2-input OR gate and NOT gate using only the SAND gate?


The truth table for this gate is:


$$\begin{array}{|c|c|c|} \hline A & B & \overline{A}\ {B} \\ \hline 0 & 0 & 0\\ \hline 0 & 1 & 1\\ \hline 1 & 0 & 0\\ \hline 1 & 1 & 0\\ \hline \end{array}$$


To make a 2-input AND gate using only SAND gates, I would have to put 2 SAND gates in a row. Is this correct?


I don't know how to make 2-input OR gate and NOT gate using SAND gates. Can you give me a hint please?


Edit: I am only allowed to use SAND gates.


enter image description here



Answer




Let \$\text{SAND}(A,B) = \overline{A}B\$


NOT gate
\$\overline{A} = \overline{A}.1 = \text{SAND}(A,1)\$
Connect B to '1' and feed input to A.


AND gate
\$AB = \overline{(\overline{A})}B= \overline{(\text{SAND}(A,1))}B = \text{SAND}(\text{SAND}(A,1),B)\$
Invert the 1st input (using NOT gate implemented above) before feeding to SAND.


OR gate
\$\begin{align}A+B & = \overline{(\overline{A}\ \overline{B})}\\ & = \text{SAND}(\overline{A}\ \overline{B},1)\\ & = \text{SAND}(\overline{A}. \text{SAND}(B,1),1)\\ & = \text{SAND}(\text{SAND}(A,\text{SAND}(B,1)),1)\end{align}\$
Invert the 2nd input before feeding to SAND and feed its output to another inverter.



No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...