How an S-R latch can destroy the universe

created by Cid Highwind
(idea) by Cid Highwind (3.4 y) (print)   (I like it!) 3 C!s Thu May 04 2000 at 18:13:42
An S-R latch (or S-R flip-flop) is a bistable multivibrator circuit made by cross-connecting two NAND gates.


     ______
S ---|     |
     |     |O-+------>Q
   +-|_____|  |
   |          |
   +------------+
              | |
   +----------+ |
   | ______     |
   +-|     |    |
     |     |O---+----Q'
R ---|_____|



If S=0 and R=1, the latch resets, and Q=0. If S=1 and R=0, the latch sets, and Q=1. If S=0 and R=0, the latch holds the present value of Q. In there cases Q' (Qnot) is the opposite of Q. However, if S and R are both 1, Q and Q' output the same value, meaning that Q = Q'. This is called the forbidden case.

If some poor EE student puts an S-R latch into the forbidden state, then Q=Q', and all the basic assumptions of logic fail. All the laws of mathematics and physics break down, 0 equals Infinity, atomic nucleii repel their electrons, matter ceases to exist, and the universe disappears in a puff of logic.
(idea) by Xoder (1.9 y) (print)   (I like it!) Mon Apr 08 2002 at 4:14:53
As much as every "poor EE student" wishes we could destroy the universe with S-R Latches (especialy at 4 in the morning with Circuits homework), simple reality kicks in here. The heart of your S-R latch is made out of two MOSFET's (or other transistors, like BJTs or JFETs). That's EE geek speak for "really tiny transistor". Now, the circuit operates by sending one of the two outputs HIGH, and when one of the outputs is HIGH, it sends the other to LOW. In reality, one of these MOSFET's is "slower" than the other. It will be slower at reaching HIGH, and when the other one beats it to HIGH, it will be the one set low.

This I learned after trying to set both inputs to HIGH to try to generate a simple random bit generator. It failed, because the "faster" transistor will *always* be faster.
Y'know, if you log in, you can write something here, or contact authors directly on the site. Create a New User if you don't already have an account.