Logic Circuitry Part 2 (PIC Microcontroller)

As we shall see, the ALU is the heart of the computer and microprocessor architectures. By feeding the Select inputs with a series of mode words, a program of operations can be performed by the ALU. Such operation codes are stored in an external memory, and are accessed sequentially by the computer’s control circuits.

Sequences of program operation codes are normally stored in an LSI Read-Only Memory (ROM). Consider the architecture illustrated in Fig. 2.10. This is essentially a 3 to 8-line decoder driving an 8 x 2 array of diodes. The 3-bit address selects only row n for each input combination n. If a diode is connected to this row, then it conducts and brings the appropriate column Low. The inverting 3-state output buffer consequently gives a High for each connected diode and Low where the link is broken. The pattern of diode links then defines the output code for each input. For illustrative purposes, the structure has been programmed to implement the 1-bit full adder of Fig. 2.7(a), but any two functions of three variables can be generated.

Implementing a programmable adder/subtractor.

Fig. 2.8 Implementing a programmable adder/subtractor.

The 74LS382 ALU.

Fig. 2.9 The 74LS382 ALU.

The diode matrix look-up table shown here is known as a Read-Only Memory (ROM), as its ‘memory’ is in the diode pattern, which is programmed in when the device is manufactured. Early devices, which were typically decoder/32 x 8 matrices, usually came in user-programmable versions in which the links were implemented with fusible links. By using a high voltage, a selection of diodes could be taken out of contact. Such devices are called Programmable ROMs (PROMs).

A ROM-implemented 1-bit adder

Fig. 2.10 A ROM-implemented 1-bit adder.

Fuses are messy when implementing the larger sizes of VLSI PROM necessary to store computer programs. For example, the 27C64 PROM shown in Fig. 2.11 has the equivalent of 65,536 fuse/diode pairs, and this is a relatively small device capable of storing 8192 bytes of memory. The 27C64 uses electrical charge on the floating gate of a metal-oxide field-effect transistor (MOSFET) as the programmable link, with another MOSFET to replace the diode. Charge can be tunnelled onto this isolated gate by, again, using a high voltage. Once on the gate, the electric field keeps the link MOSFET conducting. This charge takes many decades to leak away, but this can be dramatically reduced to about 30 minutes by exposure to intensive ultra-violet radiation. For this reason the 27C64 is known as an Erasable PROM (EPROM). When an EPROM is designed for reusability, a quartz window is integrated into the package, as shown in Fig. 2.11. Programming is normally done externally with special equipment, known as PROM programmers, or colloquially as PROM blasters. Versions without windows are referred to as One-Time Programmable (OTP) ROMs, as they cannot easily be erased once programmed. They are however, much cheaper to produce and are thus suitable for small to medium-scale production runs.

The 2764 Erasable PROM.

Fig. 2.11 The 2764 Erasable PROM.

Floating-gate MOSFET link

Fig. 2.12 Floating-gate MOSFET link

Figure 2.12 shows a simplified representation of such a floating-gate MOSFET link. The cross-point device is a metal-oxide enhancement n-channel field-effect transistor TR1, rather than a diode. This MOSFET has its gate G1 connected to the X line and its source S1 to the Y line. If its drain D1 were connected to the positive supply and the X line is selected (positive), then the Y line too becomes positive (positive-logic 1) as TR1 is conducting (switch is on). However, if TR1 is disconnected from VDD then it does not conduct and the output on the Y line is logic 0. Transistor TR2 is in series with VDD and thus acts as the programmable element. Transistor TR2 has an extra unconnected gate buried in the silicon dioxide insulation layer. Normally there is no charge on this gate and TR2 is off. If the programming voltage VPP is pulsed high to typically 20- 25 V, negative charges tunnel across the extemely thin insulation surrounding the buried gate. This permanently turns TR2 on and thus connects TR1 to its supply. This shows up as a logic 1 on the Y line when selected by the internal memory decoder.

This charge remains more or less permanently on the buried gate until it is exposed to ultra-violet light. The high-energy light photons knock electrons (negative charges) out of the buried (floating) gate6 effectively discharging in around 20 minutes and wiping out all stored information. There are PROM structures which can be erased electrically, often in situe in the circuit. These are known variously as Electrically-Erasable PROMs (EEPROMs) or flash memories. In the former case a large negative pulse at VPP causes the captured electrons on the buried gate to tunnel back out. Generally the negative voltage is generated on the chip, which saves having to provide an additional external supply. The flash variant of EEPROM relies on hot electron injection rather than tunneling to charge the floating gate. The geometry of the cell is approximately half the size of a conventional EEPROM cell which increases the memory density. Programming voltages are also somewhat lower.

Most modern EPROM/EEPROMs are fairly fast, taking around 150 ns to access and read. Programming is slow, at perhaps 10 ms per word, but this is an infrequent activity. Flash EEPROM programs around 1000 times faster, in around 10 ^s per cell.

All the circuits shown thus far are categorised as combinational logic. They have no memory in the sense that the output simply depends only on the present input, and not the sequence of events leading up to that input. Logic circuits, such as latches, counters, registers and read/write memories are described as sequential logic. Their output not only depends on the current input, but the sequence of prior inputs.

The RS latch.

Fig. 2.13 The RS latch.

Consider a typical door bell push-switch. When you press such a switch the bell rings, and it stops as soon as you release it. This switch has no memory.

Compare this with a standard light switch. Set the switch and the light comes on. Moreover it remains on when you remove the stimulus (usually your finger!). To turn the light off you must reset the switch. Again it remains off when the input is taken away. This type of switch is known as a bistable, as it has two stable states. Effectively it is a 1-bit memory cell, that can store either an on or off state indefinitely.

A read-write memory, such as the 6264 device of Fig. 2.24, implements each bistable cell using two cross-coupled transistors. Here we are not concerned with this microscopic view. Instead, consider the two cross-coupled NOR gates of Fig. 2.13. Remembering from Fig. 1.3(c) that any logic 1 into a NOR gate will always give a logic 0 output irrespective of the state of the other inputs, allows us to analyse the circuit:

• If the S input goes to 1, then output Q goes to 0. Both inputs to the top gate are now 0 and thus output Q goes to 1. If the S input now goes back to 0, then the lower gate remains 0 (as the Q feedback is 1 ) and the top gate output also remains unaltered. Thus the latch is set by pulsing the S input.

• If the R input goes to 1, then output Q goes to 0. Both inputs to the bottom gate are now 0 and thus output Q goes to 1. If the R input now goes back to 0, then the upper gate remains 0 (as the Q feedback is 1) and the bottom gate output also remains unaltered. Thus the latch is reset by pulsing the R input.

In the normal course of events – that is assuming that the R and S inputs are not both active at the same time7 then the two outputs are always complements of each other, as indicated by the logic symbol of Fig. 2.13(b).

Using a RS latch to debounce a switch.

Fig. 2.14 Using a RS latch to debounce a switch.

Next post:

Previous post: