But as the outputs are fed back, the outputs will change state continuously after being complemented once, causing the output at Q to oscillate between set and reset. The problem here is that if both the J and K data inputs are at logic “1”, HIGH at the same time (J = K = 1), when the clock (CLK) input goes HIGH, its outputs switch and change state complementing each other. Where: Q represents the present steady state of the flip-flop and Q+1 is the next switching state. Then we can define this switching action in Boolean form as being: Where: X means “don’t care”, a “0” or a “1”, and _↑¯ is the positive rising-edge of the clock pulse.
Basic JK Flip-flop Circuit using NAND Gates But before we look at T-type flip-flops in more detail, let’s first remind ourselves of the basic JK flip-flop circuit and switching action. The JK Flip-flop can be classed as a “universal” flip-flop because it can be configured and used to replicate the switching action of other types of flip-flops depending on the logical states applied to its J and K inputs. We remember from our previous tutorial that the JK flip-flop is an asynchronous flip-flop where its input condition (HIGH or LOW), and its present steady state, both determine its next switching state. Toggle flip-flops, TFF’s or simply “T-type flip-flops” are not available commercially as a dedicated TTL or CMOS logic chip, they can be easily constructed by connecting together the J and K inputs of a basic JK flip-flop where the J input behaves like a Set (S) command, and the K input behaves like a Reset (R) command. Toggle flip-flops have a single input and one or two complementary outputs of Q and Q which change state on the positive edge (rising edge) or negative edge (falling edge) of an input clock signal or pulse. The toggle flip-flop can be used as a basic digital element for storing one bit of information, as a divide-by-two divider or as a counter. The Toggle Flip-flop is another type of bistable sequential logic circuit based around the previous clocked JK flip-flop circuit.