# Why is there such a strong preference for using D flip flops?

In Digital Electronics we use two important logic blocks.

1. Combinational logic block
2. Sequential logic block

Combinational Logic Block
Our names are made up of combination of alphabets like Balajee, Thomas, Abdul like that.  If someone calls me "balajee I say Yes. For all the other names I keep quite (No)."

Assume a world, where alphabets are not there and only numbers (0 – 9) are there. Then our names will be 12348, 754, 8764345. The number names can be called combination of numbers. If there are different types of numbers systems like decimal, binary exists then we call this Combination of Decimal numbers. If some one calls me 8764345, I say yes (1), for all the other numbers I say 0.

If the number system we use is binary then the names will be 1001, 1110011, 10101001, …. This names are called Combination of binary numbers. Since binary numbers have number system has only two states, we also call this as True or False.  This is also called Logic. So combination of binary numbers is called as combination of logic which in turn called as combinational logic for easy use. There is not word call combinational in English Dictionary.

Even though I confused a lot, here is conclusion about Combinational Logic. Combinational  Logic is nothing but a name of a block in binary system. If you call call the block with 1001001 then the block will output 1. For all the other combinations the block will output 0.

Combinational Logic block does not remember the previous values. It gives output only for the current input.

In Embedded Systems this combinational logic plays a vital role in interfacing the Software and Hardware.

Sequential Logic Block
Sequential logic is just opposite to the Combinational logic. It does not have any name. But it can remember the previous state.

In the above diagram the the input has 4 combinations

1.    C = 1 , D  =0    , the output q = 0
2.    C = 1 , D  = 1    , the output q = 1
3.    C = 0,  D = 0
4.    C = 0,  D  = 1

For the combination 3 & 4 we can not say the output. When c = 0 the output q remembers the previous state

1.    C = 1 , D  =0    , the output q = 0
2.    C = 0 , D  = x    , the output q = 0   – x means 0 or 1 (don't care)
3.    C = 1,  D = 1     , the output q = 1
4.    C = 0,  D  = x   , the output q = 1   – x means 0 or 1 (don't care)

In the above steps combination 2 and combination 4 are same. But the output are different. But the output depends on the previous state. That is the reason we call this block as Sequential Logic.

What is inside combinational logic block and sequential logic block will  answered  in detail when a corresponding questions are raised.

Now let us see a small use of D Flip Flop (Sequential Logic).

The circuit is called 8 bit D Flip Flop are 8 bit latch or 8 bit registers. Since 8 bit is a standard used by the industry. So for all the bigger circuits this 8 bit latch is used a Building block which is nothing but a 8 D F/Fs

The above circuit can be represented in a simpler way as shown below.

The above 8 bit latch can store 1 byte. If we want to store 4 bytes, we can use the below circuit.

The above circuit is a write portion of a 4 byte RAM.  The D Flip flop is the building block of Memory (SRAM). Also D Flip Flops are used in FPGAs, Microprocessors, Controllers and Memories.

If an Electronics engineering student understand the above two building blocks (Combinational Logic and Sequential Logic), then learning the Digital Electronics becomes very easy.
Written May 7, 2015 • View Upvotes

Why is there such a strong preference for using D flip flops?