Flip-flops are synchronous, edge-triggered storage elements. They have two stable states and store one state indefinitely until triggered by a clock signal to change.
They are the fundamental building blocks of sequential circuits due to their ability to store information. One flip-flop can store one binary bit of data.
Most flip-flops have asynchronous input lines to set their initial state.
Types of Flip-Flops
D Flip-Flop
A data or delay flip-flop is the most basic form of a flip-flop. It can be used to help construct other, more complex flip-flops.
D Flip-Flop Implementation
This implementation is known as a Master-Slave D Flip-Flop.
It is constructed from two D-latches connected in series with one latch receiving an inverted clock signal compared to the other.
- The master latch is connected to the input D
- The slave latch is connected to output Q
- Controlled by inverted signal controlling master latch
Only one latch is enabled at any given time. The final output changes during one transition of clock.
A positive-edge triggered D flip-flop uses two inverters, whereas a negative-edge triggered D flip-flop uses only one, as seen above.
The characteristic equation of a D flip-flop is .
The excitation table of a D flip-flop is:
JK Flip-Flop
T Flip-Flop
const current = dv.current();
if (current && current.file.tags.some(t => t.toLowerCase() === "#topic")) {
const inlinks = current.file.inlinks;
// Split backlinks: general notes vs. lecture notes
const lectureLinks = inlinks.where(l => l.path.includes("/Lecture Notes/"));
const otherLinks = inlinks.where(l => !l.path.includes("/Lecture Notes/"));
if (otherLinks.length > 0) {
dv.header(4, "Links To This Page");
dv.list(otherLinks);
}
if (lectureLinks.length > 0) {
dv.header(4, "Referenced In Lecture Notes");
dv.list(lectureLinks);
}
}