# Excitation Tables for D and T Flip Flops

### Introduction

Characteristics tables define the behavior of the truth table. Here's the characteristic table for a D flip flop.

 D Q Q+ Operation 0 0 0 Reset 0 1 0 Reset 1 0 1 Set 1 1 1 Set

Here's the characteristic table for a T flip flop.

 T Q Q+ Operation 0 0 0 Hold 0 1 1 Hold 1 0 1 Toggle 1 1 0 Toggle

These tables are mostly here as a reminder on how D and T flip flops work, so that you don't have to flip to an older set of notes to understand the excitation tables.

### What's an Excitation Table?

The excitation table rearranges the order of characteristic table. Instead of the truth table inputs being the control bit(s) of the flip flop and Q, and the output being Q+, the truth table inputs are now Q and Q+, and the "outputs" is the control bit(s) of the flip flop.

 Q Q+ D 0 0 0 1 1 0 1 1

I like to call the columns by the following names:

• Q The state I have now

• Q+ The state I want to have at the next positive edge.

• D How we're going to get to that state (what value must I set the control bit, D, at the next positive edge, to go from current value of Q to the desired value Q+?).
For a D flip flop, it's easy to fill out the excitation table. If you want a 0 for the next state, then D must be 0. If you want a 1 for the next state, then D must be 1. In other words, D = Q+.

 Q Q+ D 0 0 0 0 1 1 1 0 0 1 1 1

Since D = Q+, this means that we look at the column containing Q+ and copy it to the correspoding column containing D. Copying the column makes sense once you see it in the next set of notes on implementing Mealy and Moore machines.

### T flip flop excitation table

In the T flip flop excitation table, it's a little trickier.

 Row Q Q+ T 0 0 0 1 0 1 2 1 0 3 1 1

Let's look at row 0. We have Q = 0. We want Q+ = 0. What must T be? T has two operations: when T = 0, we hold. That means Q+ = Q, i.e., the next state has the same value as the current state.

When T = 1, the T flip flop toggles the state. That means Q+ = \Q, i.e., the next state has the opposite value as the current state.

So in row 0, we want Q+ to be 0, and Q = 0, so that means we need to hold, i.e., set T = 0.

In row 1, we have Q = 0, and we want Q+ = 1. So, we need to toggle.

 Row Q Q+ T 0 0 0 0 1 0 1 1 2 1 0 3 1 1

In row 2, we need to toggle, and row 3, we hold.

 Row Q Q+ T 0 0 0 0 1 0 1 1 2 1 0 1 3 1 1 0

### Summary

Excitation tables can be created for flip flops using the technique shown above. Excitation tables are essentially rewriting the characteristic table of a flip flop so that Q and Q+ are "inputs" to the truth table.

Basically, Q refers to the current state value, Q+ to the desired state value at the next positive clock edge, and the table tells us how to set D or T so that when the next positive edge occurs, Q becomes the desired Q+.

The purpose of an excitation table will be seen in the next set of notes on implementing Moore and Mealy machines.