The term register refers to a group of N flip-flops operating as a single unit to store or shift data. A register is a set of flip-flops with a common clock to all the flip-flops. For example, a shift register is an N-bit register which shifts its stored data by one bit position (left or right) at each (rising or falling) edge of the clock. The flip-flops are connected in a chain so that the output of one flip-flop is the input of the next flip-flop. A common clock drives all the flip-flops, and all flip-flops are set or reset simultaneously. In the following sections, the basic types of shift registers are described.


Figure 8.28 VHDL Code Implementation of a T Flip-Flop Using Nested if-else-then Statements

8.5.1 Serial-In, Serial-Out Shift Registers

An N-bit shift register can be constructed using N D flip-flops connected in series. Each D flip-flop stores 1 bit of information. The serial input, Din, specifies a new bit to be shifted into one end at each clock cycle. This bit appears at the serial output, Dout, after N clock cycles and is lost one clock cycle later. Figure 8.29 shows the structure of a 4-bit serial-in, serial-out right-shift register.

The operation of the 4-bit right-shift register is illustrated in Figure 8.30 with a random input sequence. The register is first cleared. Each D flip-flop is equipped with a clear input, which forces the output of the ...

Get Introduction to Digital Systems: Modeling, Synthesis, and Simulation Using VHDL now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.