10

This seems to be a silly question, but the fact is that when I tried to search for related information, none of the search results gave me satisfactory answer.

Logic Gates with 1-bit Input and 1-bit Output

Since the input has \$B=1\$ bit, the truth table has \$C=2^B=2^1=2\$ rows. Since for every row in the truth table, there are \$2\$ choices (\$0\$ or \$1\$) for the output, there are \$2^C=2^{2^B}=2^{2^1}=4\$ different truth tables in total.

Here is a table of truth tables (each truth table is written as a row):

$$ \begin{array}{|c|c|c|c|} \hline (0) & (1) & \text{Name} & \text{Formula} \\ \hline 0 & 0 & \text{Constant Zero} & 0 \\ \hline 0 & 1 & \text{Identity} & X \\ \hline 1 & 0 & \text{NOT Gate / Negate / Invertor} & \overline{X} \\ \hline 1 & 1 & \text{Constant One} & 1 \\ \hline \end{array} $$

Logic Gates with 2-bit Input and 1-bit Output

Since the input has \$B=2\$ bits, the truth table has \$C=2^B=2^2=4\$ rows. Since for every row in the truth table, there are \$2\$ choices (\$0\$ or \$1\$) for the output, there are \$2^C=2^{2^B}=2^{2^2}=16\$ different truth tables in total.

Here is a table of truth tables (each truth table is written as a row):

$$ \begin{array}{|c|c|c|c|c|c|} \hline (0,0) & (0,1) & (1,0) & (1,1) & \text{Name} & \text{Formula} \\ \hline 0 & 0 & 0 & 0 & \text{Constant Zero} & 0 \\ \hline 0 & 0 & 0 & 1 & \text{AND Gate} & XY \\ \hline 0 & 0 & 1 & 0 & \color{red}{\text{Gate-0010}} & X\overline{Y} \\ \hline 0 & 0 & 1 & 1 & \text{Identity on X} & X \\ \hline 0 & 1 & 0 & 0 & \color{red}{\text{Gate-0100}} & \overline{X}Y \\ \hline 0 & 1 & 0 & 1 & \text{Identity on Y} & Y \\ \hline 0 & 1 & 1 & 0 & \text{XOR Gate} & X \oplus Y \\ \hline 0 & 1 & 1 & 1 & \text{OR Gate} & X + Y \\ \hline 1 & 0 & 0 & 0 & \text{NOR Gate} & \overline{X + Y} \\ \hline 1 & 0 & 0 & 1 & \text{XNOR Gate} & \overline{X \oplus Y} \\ \hline 1 & 0 & 1 & 0 & \text{NOT Gate on Y} & \overline{Y} \\ \hline 1 & 0 & 1 & 1 & \color{red}{\text{Gate-1011}} & X + \overline{Y} \\ \hline 1 & 1 & 0 & 0 & \text{NOT Gate on X} & \overline{X} \\ \hline 1 & 1 & 0 & 1 & \color{red}{\text{Gate-1101}} & \overline{X} + Y \\ \hline 1 & 1 & 1 & 0 & \text{NAND Gate} & \overline{XY} \\ \hline 1 & 1 & 1 & 1 & \text{Constant One} & 1 \\ \hline \end{array} $$

Questions

  • What are other names for these gates? As shown above, the NOT Gate is also called the Negate function, or the Inverter.
  • From my research, I know that the name XNOR Gate is more popular than NXOR Gate. However, the gate is equivalent to a NOT XOR Gate . Why does the X come before the N then (unlike other "NOT something" gates)?
  • Are there widely used names for the gates marked \$\color{red}{\text{red}}\$ above?
    • In this question, \$\color{red}{\text{Gate-0100}}\$ is also called SAND Gate, which stands for "Single-inversion AND Gate". However, I am not sure if this is widely used in the field.
    • In this answer, \$\color{red}{\text{Gate-1011}}\$ (in fact, it is a "NOT SAND" Gate) is called Inclusion Gate or IF-THEN Gate. Again, is there a proper name for this gate? How do IC user manuals refer to a gate with the same truth table?
    • In this reference, \$\color{red}{\text{Gate-1011}}\$ is called Logical Implication.

== Edited: 2019-04-10 ==

I just found this Wikipedia article by chance, which names all 16 gates (operations).

  • I imagine they get called whatever the person writing the paper wants to call them. I don't think these are common enough to have widely accepted names. Your gate-1011 does reproduce the logical implication relation though, so calling it that would make sense to me--but you'd still have to explain what you meant before writing it, as the name is not standard enough to be self-evident. Note that gate-0010 and gate-0100 are the same gate, just with inputs swapped; the same is true of gate-1011 and gate-1101. – Hearth Apr 02 '19 at 20:08
  • The "logical implication" is quite common in formal logic (and denoted A => B), but not the others. – Eugene Sh. Apr 02 '19 at 20:14
  • @Hearth Thanks! Yeah, I notice those gates are the same, since in normal cases, \$G(X, Y) = G(Y, X)\$ for a gate \$G\$, but I am not sure if it is always true. I am wondering, for example, for a gate with 3-bit input, whether \$G(X, Y, Z)=G(X, Z, Y)=G(Y, X, Z)=G(Y, Z, X)=G(Z, X, Y)=G(Z, Y, X)\$ always holds. If not, why should it be the case for a 2-bit gate? – Siu Ching Pong -Asuka Kenji- Apr 02 '19 at 20:15
  • Doubtful there are formal names since they do not correlate to boolean algebra or XOR/XNOR logic. A name would mean a common application of some kind. – StainlessSteelRat Apr 02 '19 at 20:32
  • @SiuChingPong-AsukaKenji- It is not always true in either the 2-input or 3-input case; G(X,Y) doesn't have to be the same as G(Y,X)--look at gate-1011 and gate-1101. The reason I would call those the same gate is down to the fact that you can just rename the inputs of one to get the other; the same underlying circuitry would be used for either in a physical implementation. – Hearth Apr 02 '19 at 21:03
  • @Hearth Thanks! I understand that. Despite I noticed the swapping you mentioned when I asked the question, I did not mention that in my question because electronic engineers (I am not one) may choose to give different names for, for instance, **Gate-1011** and **Gate-1101** for some reason (I'm not sure if this is the case, and therefore I asked the question above). After reading the comments above, I think there seems to be no standard names for the gates marked red. – Siu Ching Pong -Asuka Kenji- Apr 02 '19 at 21:12
  • 1
    As an electronics engineer, I can't think of any reason to give those different names. – Hearth Apr 02 '19 at 21:56
  • `GATE0010` is two gates ..... it is an inverter feeding into an AND gate ..... similarly with the other oddball gates that you mentioned – jsotola Apr 03 '19 at 00:59

2 Answers2

3

Most of the two-input gates have a single name (AND, OR, etc.), but single-input gates are named not only after the logical function (NOT), but also after the effect they have on the signal or the function they have in the circuit ("inverter", "((non-)inverting) buffer/driver").

"XNOR" is just easier to pronounce that "NXOR".

The gates marked in red are not widely used, so there are no common names for them. Implementations actually exist in configurable multi-function gates (74xxx1G57/58/97/98/99), but only as a side effect of the configurability. The SN74LVC1G97 datasheet describes them as "(N)OR/(N)AND gate with one inverted input", and that is probably the easiest way to understand them:

SN74LVC1G97 funny gates

CL.
  • 18,161
  • 5
  • 40
  • 67
2

What you label as Gate-1011 in your table is known as an "IMPLY Gate" in this source. Another name for your "Identity gate" is called a "Buffer gate"

However, there is no official source for what you're looking for that contains information on name convention for complex logic other than just slapping other logic gate names together. You are looking for names of potential logic that contain conditional and/or combinational logic that depends on the state of particular input variables where they are time-independent, meaning that you will get result instantly as if it was a mathematical function.

Examples of these include:

  • Adders/Subtractors
  • (De)Multiplexers
  • De/Encoders
  • All of the gates listed above in your question
  • Tristate devices

There is also sequential logic which create various states that are time-dependent. There are two types of sequential logic: Asynchronous and synchronous... Name convention is pretty straight forward.

Examples of these include:

  • Clocks/Oscillators
  • Flip-Flops
  • Counters

But if you're asking for an official name to spots in red above, there is none (yet). I believe that the example you provided above, NXOR is probably as close as you're going to get. Why there's an "N" before the "X" is probably an that all inputs are getting negated before entering the block diagram itself. This wouldn't be true for NOR and NAND, however, as it would be NOT-NOR and NOT-NAND, as you have pointed out.

Perhaps you can make something up, i.e. ONOR gate with one of the inputs negated and NNOR where all the inputs are negated.

The three main logic gates include: NOT, OR, and AND. Everything else may contain one of these three. For instance, a NOR gate could simply be a OR gate with a NOT gate at the output of the OR gate. (With transistor logic, this is a different story.)

Wrap up: There is no official source that would give names to every single possibility. This is probably because we simply don't care to name it. Unsatisfying, yes, but whether or not we're simply that dedicated to give it a name is entirely subjective. Who really cares? If the excuse to give them names is to have completeness, then how often would we even use these names if we gave them names?