Beruflich Dokumente
Kultur Dokumente
SLIDES FOR
CHAPTER 16
SEQUENTIAL CIRCUIT DESIGN
This chapter in the book includes: Objectives Study Guide 16.1 Summary of Design Procedure for Sequential Circuits 16.2 Design Example--Code Converter 16.3 Design of Iterative Circuits 16.4 Design of Sequential Circuits Using ROMs and PLAs 16.5 Sequential Circuit Design Using CPLDs 16.6 Sequential Circuit Design Using FPGAs 16.7 Simulation and Testing of Sequential Circuits 16.8 Overview of Computer-Aided Design Design Problems Additional Problems
Click the mouse to move to the next page. Use the ESC key to exit this chapter.
1/22/2013
Table 16-1.
1/22/2013
1/22/2013
Figure 16-1:
1/22/2013
Figure 16-4:
1/22/2013
Some operations, such as binary addition, naturally lend themselves to realization with an iterative circuit because the same operation is performed on each pair of input bits.
Comparator Example
Design a circuit which compares two n-bit binary numbers and determines if they are equal or which one is larger if they are not equal. X = x1x2 xn and Y = y1y2 yn
2010 Cengage Learning
1/22/2013
Comparison proceeds from left to right. The first cell compares x1 and y1 and passes on the result of the comparison to the next cell, the second cell compares x2 and y2, etc. Finally xn and yn are compared by the last cell and the output circuit produces signals to indicate if X = Y, X > Y, or X < Y.
Figure 16-6:
We will now design a typical cell for the comparator. To the left of cell i, three conditions are possible: 1. X = Y so far 2. X > Y so far 3. X < Y so far Table 16-4 State Table for Comparator
1/22/2013
Using the guidelines from Section 15.8 leads to the state assignment aibi = 00 for S0, 01 for S1, and 10 for S2. Table 16-5 Transition Table for Comparator
Figure 16-7:
1/22/2013
Figure 16-8:
In a unilateral iterative circuit, the inputs are received in parallel as a sequence in space, while for the sequential circuit, the inputs are received serially as a sequence in time.
Figure 16-9:
1/22/2013
Table 16-6a
Table 16-6b
10
1/22/2013
Table 16-6
Figure 16-10:
11
1/22/2013
As an example, we will consider realizing the state table using a PLA and three D flip-flops. The circuit configuration is the same as Figure 16-10, except that the ROM is replaced with a PLA of appropriate size. If the state assignment of Figure 16-2 is used, the resulting output equation and D flip-flop input equations, derived from the maps in Figure 16-3, are D1 = Q1+ = Q2 D2 = Q2+ = Q1 D3 = Q3+ = Q1Q2Q3 + X Q1Q3 + XQ1Q2 Z = X Q3 + XQ3
2010 Cengage Learning
(16-1)
Here is the corresponding PLA Table: Table 16-7: PLA Table for Code Converter
X 0 1 0 1
Q1 1 1 1 0
Q2 0 1 0
Q3 1 0 0 1
Z 0 0 0 0 0 1 1
D1 1 0 0 0 0 0 0
D2 0 1 0 0 0 0 0
D3 0 0 1 1 1 0 0
2010 Cengage Learning
12
1/22/2013
Q+ = D = ABQ + ABQ
Figure 16-11:
13
1/22/2013
Figure 16-12:
(Figure based on figures and text owned by Xilinx, Inc., Courtesy of Xilinx, Inc. Xilinx, Inc. 1999-2003. All rights reserved.)
CoolRunner-II Architecture
Figure 16-13:
(Figure based on figures and text owned by Xilinx, Inc., Courtesy of Xilinx, Inc. Xilinx, 2010 Cengage Learning Inc. 1999-2003. All rights reserved.)
CoolRunner-II Macrocell
14
1/22/2013
Figure 16-14:
Figure 16-15:
15
1/22/2013
Figure 16-16:
16
1/22/2013
Figure 16-17:
(Figure based on figures and text owned by Xilinx, Inc., Courtesy of Xilinx, Inc. Xilinx, Inc. 1999-2003. All rights reserved.)
2010 Cengage Learning
Figure 16-18:
17
1/22/2013
Figure 16-19:
Figure 16-20:
18
1/22/2013
Inverter with nominal delay of 10 ns, minimum delay of 5 ns, and maximum delay of 15 ns.
Figure 16-21:
19
1/22/2013
Figure 16-22:
Figure 16-23
20
1/22/2013
Figure 16-24:
If the input changes are not synchronized with the clock, edge-triggered D flip-flops can be used to synchronize them.
Figure 16-25
2010 Cengage Learning
21
1/22/2013
Figure 16-26:
22
1/22/2013
5. Run an implementation program that fits the design into the target FPGA. This program carries out the following steps: (a) Partition the logic diagram into pieces that will fit into CLBs of the target FPGA. (b) Place the CLBs within the logic cell array of the FPGA and route the connections between logic cells. (c) Generate the bit pattern necessary to program the FPGA. 6. Run a timing simulation of the completed design to verify that it meets specifications. Make any necessary corrections and repeat the process as necessary. 7. Download the bit pattern into the internal configuration memory cells in the FPGA and test the operation of the FPGA.
2010 Cengage Learning
Circuit
23