# Digital Logic

#### Direct links to other logic pages:

Combinational Logic: [Basic Gates] [Derived Gates] [The XOR Function] [Binary Addition] [Multiplexer] [Decoder/Demultiplexer]
Sequential Logic: [RS NAND Latch] [Clocked RS Latch] [RS Flip-Flop] [JK Flip-Flop] [D Latch] [Flip-Flop Symbols]
Counters: [Basic 4-Bit Counter]
Registers: (Coming Soon)

New, due to popular request! I have received a number of questions regarding the internal structure and operation of logic gates. This is not as simple as it may seem, because there are many different ways to implement logical functions electronically. Therefore, I am now adding some new pages on the major logic families and their internal operation.

Digital or binary logic has fascinated many people over the years. The very idea that a two-valued number system can possibly be the basis for the most powerful and sophisticated computers seems astounding, to say the least. Nevertheless, it is so, and the how and the why of this requires some explanation.

Everything in the digital world is based on the binary number system. Numerically, this involves only two symbols: 0 and 1. Logically, we can use these symbols or we can equate them with others according to the needs of the moment. Thus, when dealing with digital logic, we can specify that:

0 = false = no
1 = true  = yes

Using this two-valued logic system, every statement or condition must be either "true" or "false;" it cannot be partly true and partly false. While this approach may seem limited, it actually works quite nicely, and can be expanded to express very complex relationships and interactions among any number of individual conditions.

One essential reason for basing logical operations on the binary number system is that it is easy to design simple, stable electronic circuits that can switch back and forth between two clearly-defined states, with no ambiguity attached. It is also readily possible to design and build circuits that will remain indefinitely in one state unless and until they are deliberately switched to the other state. This makes it possible to construct a machine (the computer) which can remember sequences of events and adjust its behavior accordingly.

Digital logic may be divided into two classes: combinational logic, in which the logical outputs are determined by the logical function being performed and the logical input states at that particular moment; and sequential logic, in which the outputs also depend on the prior states of those outputs. Both classes of logic are used extensively in all digital computers.

Since both types of logic circuits begin with logic gates to combine logical input signals in various ways to produce the desired outputs, we will begin on the next page by seeing how the basic logic gates work.

Note: the demonstrations on these pages are made interactive with Javascript 1.1, as implemented in Netscape 3.0. Netscape 4 and higher, and IE4 and higher, remain compatible. If you are using a browser without Javascript, or if you have Javascript disabled for any reason, you will be able to see static images, but you will not be able to interact with them. If your browser recognizes some Javascript functions but not the ones used here, you may get an error message. If so, simply click the "OK" button and continue; you will also be limited to the static display, but you will still be able to view the page.