<< Chapter < Page | Chapter >> Page > |
Digital System Design_Chapter 2_Basic Philosophy of Simple Programmable Logic Devices(SPLD).
In Chapter 1_ Part 2 we saw that PLAs, PALs, GALs, PLDs and PROM are collectively called Simple Programmable Logic Devices. Here we will examine PLA, PAL and PROM closely to understand how exactly Sum of Products Boolean Function is achieved.
CODE CONVERTERS- DECODER&ENCODER.
All these programmable devices are based on the philosophy of M-bit Code Input being converted to N-bit Code output.
2 ^{M} = µ and 2 ^{N} = α.
Here α may be less than µ. In that case each of the M-bit code does not have a corresponding unique N-bit code. Many of the M-bit codes may have the same N-bit code.
How does the code converter work:
The figure 1 gives the code converter working.
Figure 1. Code-converter System.
ROM is typical Code Converter system.
Here M-bit decoder is AND system and N-bit encoder is OR system.
Therefore:
Each bit-line Yi = SUM of PRODUCT of X0,X1,X2…..X(m-1).
Decoder Word Line generates PRODUCT terms.
A DECODER is realized by Multiplexer also known as MUX. MUX is nothing but a combination of AND gates. In Figure 2 we show a 4-bit binary to decimal decoder:
Figure 2. 4-bit binary to decimal decoder.
Figure 3. Block Model of 4-bit binary to decimal decoder.
Table 1. Truth Table of the decoder
D | C | B | A | Word Line | Decoded Decimal Value |
0 | 0 | 0 | 0 | W0 | 0 |
0 | 0 | 0 | 1 | W1 | 1 |
0 | 0 | 1 | 0 | W2 | 2 |
0 | 0 | 1 | 1 | W3 | 3 |
0 | 1 | 0 | 0 | W4 | 4 |
0 | 1 | 0 | 1 | W5 | 5 |
0 | 1 | 1 | 0 | W6 | 6 |
0 | 1 | 1 | 1 | W7 | 7 |
1 | 0 | 0 | 0 | W8 | 8 |
1 | 0 | 0 | 1 | W9 | 9 |
In Figure 3, for every BCD code one of the 10 Word lines will go HIGH and the remaining lines will be LOW. Figure 2 tells us that every Word Line is a PRODUCT of 4 Variables A,B,C,D and their complements A′ , B′,C′,D′ .
Encoder Bit Line is SUM of Words.
Keyboard of a Computer generates 8-bit ASCII Code on pressing one of the keys. Hence Keyboard is ENCODER ARRAY. For simplicity of presentation we present 10Key - 4bit Encoder. The customer will have to decide and specify the 4-bit codes corresponding to 10 keys. That is the Customer will provide the Truth Table.
Suppose the customer provides the following Truth Table 2:
Table 2. The Truth Table of the Encoder.
W9 | W8 | W7 | W6 | W5 | W4 | W3 | W2 | W1 | W0 | Y3 | Y2 | Y1 | Y0 | |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
Figure 4. 10 Key to 4-bit Encoder Array.
Here the Word line (rows) is crossing the bit-line.
If W1 is pressed, 5V is applied to the corresponding Word line or to the corresponding ROW. The Row crosses the four bit-lines at the four intersections. Which ever intersection is shorted on that bit line ‘1’ is generated as seen in Figure 4. Where intersections are not shorted there we get ‘0’ on the bit line. For W1, Y3=0,Y2=0,Y1=1, Y0 = 0 binary code is generated as desired by the customer.
For W6, 0-1-1-0 is generated. Now let us examine the bit lines:
Y0 is HIGH if W1 is pressed or W1 is HIGH or W3 is HIGH or W5 is HIGH or W7 is HIGH or W9 is HIGH.
Therefore Y0 = W1 + W3 + W5 + W7 + W9;
Similarly Y1 = W2 + W3 + W6 + W7;
Notification Switch
Would you like to follow the 'Digital system design using vhdl' conversation and receive update notifications?