
- •1 Combination Circuits
- •1.1 Circuitry ttl-elements with Shottky diodes
- •Levels of Integration
- •Typical Set of ttl iCs
- •Transistor-transistor logic (ttl)
- •1.2 Element with the open collector Open-collector outputs
- •Tristate outputs
- •1.3 Emitter-coupled logic (ecl)
- •Emitter-coupled Schmitt trigger
- •Emitter-coupled multivibrator
- •1.4 Decoder
- •Priority decoder
- •Binary Decoders
- •Decoder Networks
- •1.5 Coder units Encoder Networks
- •Binary Encoders
- •Priority Encoders
- •1.6 Multiplexers (Selectors)
- •1.7 Multiplexer Trees
- •Demultiplexer Networks
- •Encoder Networks
- •1.8 Demultiplexers (Distributors)
- •1.9 Applicanion of multiplexer
- •1.10 Code converters
- •1.11 Shifters
- •Shifter Networks
- •Barrel Shifter
- •1.12 Comparators
- •Window comparator
- •Digital comparators
- •2 Sequentional Circuits
- •2.1 Circuritry of flips
- •Sequential logic systems
- •Integrated flip-flops
- •Transparent flip-flops
- •Clocked rs flip-flop
- •Clocked d flip-flop
- •Flip-flops with intermediate storage
- •2.2 Flips types Single-edge-triggered flip-flops
- •2.3 Statik registers
- •2.4 Shift register Combinatorial shift register (barrel shifter)
- •Shift Registers
- •2.5 Counters
- •Asynchronous straight binary counter
- •Counters
- •Ripple Counters
- •Asynchronous bcd counter
- •2.6 Synchronous reversal counters
- •Synchronous straight binary counters
- •Synchronous bcd counter
- •Synchronous one-shot
- •Synchronous edge detector
- •Synchronous clock switch
- •2.7 Schmitt flip-flops Schmitt trigger
- •Inverting Schmitt trigger
- •Precision Schmitt trigger
- •3 Memory Devices
- •3.1 Circuitri of memori element Semiconductor memories
- •3.2 Mask-type lic of the rom
- •RaMs as shift registers
- •First-In-First-Out Memories (fifOs)
- •Fifo implementation using standard raMs
- •Error detection and correction
- •Parity bit
- •Hamming code
- •3.3 Rom with singl programming Read-only memories (roMs)
- •Mask-programmed roMs (mroMs)
- •Programmable roMs (proMs)
- •3.4 Memori element with electrical erase Electrically erasable proMs (eeproMs)
- •3.5 Static ram
- •Timing considerations
- •3.6 Dynamic raMs
- •Dynamic ram controllers
- •3.7 Devices programmed
- •Programmable logic array (pal)
Programmable logic array (pal)
PALs are the principal representatives of programmable logic devices (PLDs). They are available in a wide range of variants, all of which are based on the principle shown in Fig. 3.39b. The differences are in the implementation of the OR operations at the output. The most commonly used variants are listed in Fig. 3.42. Each different type is designated by the relevant letter shown.
The high (H) output represents the basic type shown in Fig. 3.39. In the case of the low (L) type, the output is negated. The C output is complementary. In the programmable (P) type, the user can define whether the output function or its inversion is true. For this purpose the exclusive-OR output gate is used, whose second input can be made 0 or 1 by the programming. The user has then the freedom to form the negated function and thereby utilize the PAL more efficiently if necessary. In the case of the EXOR (X) output, there is likewise an exclusive-OR gate at the output; however, it is controlled by two OR operations. This variant is used for simple implementation of adders.
The sharing (S) output has features in common with the PLAs. Here the OR matrix is also partly programmable: two adjacent OR gates can share the AND operations available to them. This makes it possible to form functions for which the number of OR gates would otherwise be insufficient.
With many PALs, an output can also be used as an input or programmed as a bidirectional port (I/O). This is the purpose of the tristate gate at the output, whose ENABLE is itself a logic function.
An important application of PALs is in sequential logic systems. In order to obviate the need for additional chips, the required registers (R) are incorporated in the PALs. They have a common clock terminal to enable construction of synchronous systems. In addition, the output signals are generally fed back internally to the AND matrix, thereby eliminating external feedback circuitry and saving on pins.
Fig. 3.41 - Implementation of the functions of Fig. 3.40 using a PLA, PAL and PROM.
Fig.3.42 - Output circuit of PAL.
PALs are also available which are designed for implementing asynchronous sequential logic systems. They allow the clock for each register to be defined by an additional logic function (AR in Fig. 3.42). In addition, these PALs usually have a freely definable set and reset function. Similar to the synchronous type, they may have internal feedback features.
Using the optimum PAL for each application would require a large number of different types - as Fig. 3.42 shows. In order to reduce the variety of types, PALs with a programmable output structure are becoming increasingly common. One such variable "macrocell" (V) is also shown in Fig. 3.42. It is built around a multiplexer which can be used to select any of four different operating modes. These are defined by programming the function bits f0 and f1. The different operating modes are listed in Fig. 3.43. Bit f0 determines whether or not the output is negated. Bit f1 switches between combinatorial and registered mode. It also determines, via a second multiplexer, whether feedback is taken from the output or from the register. We can see that most PALs can be implemented in this way using a single type.
f1
|
f0
|
Type
|
Output
|
Feedback
|
0
|
0
|
H
|
Function
|
Output
|
0
|
1
|
L
|
Function, negated
|
Output
|
1
|
0
|
R
|
Register
|
Register
|
1
|
1
|
R
|
Register, negated
|
Register
|
Fig. 3.43 - Operating modes of the variable macrocell.