Файл: Digital design with CPLD applications and VHDL (R. Dueck, 2000).pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 13.06.2025
Просмотров: 8133
Скачиваний: 6
8.4 • PAL Devices With Registered Outputs |
343 |
FIGURE 8.13
Example 8.2
Rotation by Parallel Transfer (Barrel Shifter)
Similarly, if S1 S0 10, we select a rotation of 2. The third AND gate from the left is selected in each group of four. This makes the data DA C, DB D, DC A, and DD B appear at the flip-flop inputs. After one clock pulse, QA QB QC QD CDAB.
The same principle governs the circuit operation for the other two select codes. The Boolean equations for the circuit are:
QA S1 S0 A S1 S0 D S1 S0 C S1 S0 B
QB S1 S0 B S1 S0 A S1 S0 D S1 S0 C
QC S1 S0 C S1 S0 B S1 S0 A S1 S0 D
QD S1 S0 D S1 S0 C S1 S0 B S1 S0 A
8.5 • Universal PAL and Generic Array Logic (GAL) |
345 |
8.5 Universal PAL and Generic Array Logic (GAL)
K E Y T E R M S
One-time programmable (OTP) A property of some PLDs that allows them to be programmed, but not erased.
Generic array logic (GAL) A type of programmable logic device whose outputs can be configured as combinational or registered and whose programming matrix is based on electrically erasable logic cells.
Universal PAL A PLD based on erasable cells and configurable outputs, much like GAL, but primarily designed to emulate PAL devices, such as PAL16L8.
Output logic macrocell (OLMC) An input/output circuit that can be programmed for a variety of input or output configurations, such as active HIGH or active LOW, combinational or registered. Often just called a macrocell.
In-system programmability (ISP) The ability of a PLD to be programmed through a standard four-wire interface while installed in a circuit.
JTAG port A four-wire interface specified by the Joint Test Action Group (JTAG) used for loading test data or programming data into a PLD installed in a circuit.
Architecture cell A programmable cell that, in combination with other architecture cells, sets the configuration of a macrocell.
Global architecture cell An architecture cell that affects the configuration of all macrocells in a device.
Local architecture cell An architecture cell that affects the configuration of one macrocell only.
Global clock A clock signal in a PLD that clocks all registered outputs in the device.
There are several limitations of standard low-density PALs. First, these devices are one-time programmable (OTP). Since the AND matrix of a PAL is programmable by blowing metal fuse links, programming is permanent; there is no opportunity to correct or update a design. In development of a new design, where many modifications must be made to the original design, this can be particularly wasteful. Second, standard PAL outputs are permanently configured either as combinational or registered. A given PAL has a certain number of each type of output, which may not be optimum for the design. Third, a standard PAL cannot be programmed while it is installed in a circuit.
A number of low-density PLDs have been developed to address these concerns. Devices such as the PALCE16V8 Universal PAL (Vantis Corporation), and the GAL16V8 and GAL22V10 Generic Array Logic (Lattice Semiconductor)* are based on sum-of-products fuse matrices, just as the earlier-version PALs. However, these devices are based on electrically erasable read only memory (EEPROM or E2PROM) cells, rather than fuses, which allow them to be erased and reprogrammed about 10,000 times. A programmed device will hold its data for about 20 years.
Universal PALs and GALs also have programmable input/output configurations. An I/O pin can be configured as a registered output, a combinational output, or a dedicated input, as required. Additionally, an output can be specified as active-HIGH or active-LOW.
*Vantis has recently been acquired by Lattice, so these devices are really produced by the same company
348 |
C H A P T E R |
8 |
• Introduction to Programmable Logic Architectures |
||||||||||||||||
0 |
3 |
4 |
7 |
8 |
11 12 |
15 16 |
19 20 |
23 24 |
27 28 |
31 |
|||||||||
CLK/I0 |
1 |
||||||||||||||||||
1 1 |
20 |
VCC |
|||||||||||||||||
1 1 |
VCC |
1 0 |
|||||||||||||||||
0 0 |
|||||||||||||||||||
0 X |
0 1 |
||||||||||||||||||
1 0 |
|||||||||||||||||||
0 |
SL07 |
1 0 |
|||||||||||||||||
SG1 |
0 X |
19 |
I/O7 |
||||||||||||||||
D |
Q |
1 0 |
|||||||||||||||||
7 |
SL17 |
Q |
|||||||||||||||||
I1 |
1 0 |
||||||||||||||||||
2 |
1 |
1 |
|||||||||||||||||
0 X |
|||||||||||||||||||
SG0 |
SL07 |
||||||||||||||||||
1 |
1 |
||||||||||||||||||
1 |
1 |
VCC |
1 |
0 |
|||||||||||||||
0 0 |
|||||||||||||||||||
0 X |
0 1 |
||||||||||||||||||
1 |
0 |
||||||||||||||||||
8 |
SL06 |
1 0 |
|||||||||||||||||
SG1 |
0 X |
18 |
I/O6 |
||||||||||||||||
D |
Q |
1 |
0 |
||||||||||||||||
15 |
SL16 |
Q |
|||||||||||||||||
1 0 |
|||||||||||||||||||
I2 |
|||||||||||||||||||
3 |
1 |
1 |
|||||||||||||||||
0 X |
|||||||||||||||||||
SG1 |
SL06 |
||||||||||||||||||
1 1 |
|||||||||||||||||||
1 1 |
VCC |
1 0 |
|||||||||||||||||
0 0 |
|||||||||||||||||||
0 X |
0 1 |
||||||||||||||||||
1 0 |
|||||||||||||||||||
16 |
SL05 |
1 0 |
|||||||||||||||||
SG1 |
0 X |
17 |
I/O5 |
||||||||||||||||
Q |
|||||||||||||||||||
D |
1 0 |
||||||||||||||||||
23 |
SL15 |
Q |
|||||||||||||||||
1 0 |
|||||||||||||||||||
I3 |
|||||||||||||||||||
4 |
1 |
1 |
|||||||||||||||||
0 X |
|||||||||||||||||||
SG1 |
SL05 |
||||||||||||||||||
1 1 |
|||||||||||||||||||
1 1 |
VCC |
1 0 |
|||||||||||||||||
0 0 |
|||||||||||||||||||
0 X |
0 1 |
||||||||||||||||||
1 0 |
|||||||||||||||||||
24 |
SL04 |
1 0 |
|||||||||||||||||
SG1 |
0 X |
16 |
I/O4 |
||||||||||||||||
D |
Q |
1 0 |
|||||||||||||||||
31 |
SL14 |
Q |
|||||||||||||||||
1 0 |
|||||||||||||||||||
I4 |
|||||||||||||||||||
5 |
1 |
1 |
|||||||||||||||||
0 X |
SL04 |
||||||||||||||||||
0 |
3 |
4 |
7 |
8 |
11 12 |
15 16 |
19 20 |
23 24 |
27 28 |
31 |
CLK OE |
SG1 |
|||||||
FIGURE 8.17 (a)
PALCE16V8 Logic Diagram (Courtesy of Lattice Semiconductor Corporation)