- •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)
2.5 Counters
Counters are an important group of sequential logic systems. A counter may be any circuit, which, within certain limits, has a defined relationship between the number of input pulses and the state of the output variables. As each output variable can have only two values, for n outputs, there are 2" possible output combinations, although often only some of these are used. It is
Fig. 2.40 - State table of a Fig. 2.41 - Output states of a straight binary
straight binary counter. up-counter as a function of time.
unimportant which number is assigned to which combination, but it is useful to choose a representation which can subsequently be easily processed. The simplest circuits are obtained for the straight binary notation.
Figure 2.40 shows the relationship between the number, Z, of input pulses and the values of output variables z,-, for a 4-bit straight binary counter. If this table is read from top to bottom, two patterns emerge:
1) an output variable zt always changes state when the next lower value Zj -1 changes from 1 to 0.
2) an output variable z; always changes state when all lower variables z,-_!,..., z0 have the value 1 and a new pulse arrives.
These patterns can also be seen in the timing diagram in Fig. 2.41. Pattern (1) is the basis of an asynchronous counter (ripple gounter), whereas pattern (2) yields the synchronous counter.
Occasionally, counters are required, whose output state is reduced by 1 for each count pulse. The operational principle of such a down-counter can also be inferred from the table in Fig. 2.40 by reading it from the bottom up. It follows that
la) an output variable z; of a down-counter changes state whenever the next lower variable z,--! changes from 0 to 1.
2a) an output variable z, of a down-counter always changes state when all
lower variables zt _,,..., z0 have the value 0 and a new clock pulse
arrives.
Asynchronous straight binary counter
A straight binary asynchronous (ripple) counter can be implemented by arranging flip-flops in a chain, as in Fig. 2.42, and by connecting each clock input C to the output Q of the previous flip-flop. If the circuit is to be an up-counter, the flip-flops must change their output states when their clock inputs C change from 1 to 0. Edge-triggered flip-flops are therefore required, e.g. JK master-slave flip-flops where J = K = 1. The counter may be extended to any size. Using this principle, one can count up to 1023 with only 10 flip-flops.
Fig. 2.42 - Asynchronous straight binary counter CLK = Clock RCO = Ripple Carry Output
Flip-flops triggered by the positive-going edge of the clock pulse can also be employed, e.g. single-edge triggered D flip-flops. If they are connected in the same way as in Fig. 2.42, down-counter operation is obtained. For up-counter operation, their clock pulse must be inverted. This is achieved by connecting each clock input to the Q-output of the previous flip-flop.
Every counter is also a frequency divider. The frequency at the output of flip-flop F0 is half the counter frequency. A quarter of the input frequency appears at the output of Fj, an eighth at the output of F2, etc. This property of frequency division can be seen clearly in Fig. 2.41.
