WEEK 12 : RAM,ROMS, PLA’s Page 1 The Johnson Counter Johnson Counter The complement of the output of the last F/F is connected back to the D input of the first F/F It produces a modulus of 2n, where n is the number of stages in the counter Example: Truth Table of 4-bit Johnson Sequence The Johnson Counter Block Diagram of 4-bit Johnson Counter Johnson Counters We can add additional detection circuitry in order to generate the disjoint timing signals like a ring counter. This results in a Johnson Counter. With a Johnson Counter, we can get 2n non-overlapping timing signals using n flipflops and some extra 2-input AND gates. E&CE 223 Digital Circuits and Systems (Fall 2004 - A. Kennings) Page 4 Textbook Unused states are covered in Chapter 6, Section 6.5. IMPORTANT: This section also describes some other types of counters (SwitchTail and Johnson Counters). These are interesting examples… They have unused states and are not self-correcting. E&CE 223 Digital Circuits and Systems (Fall 2004 - A. Kennings) Page 5 Read Only Memory (ROM) Device that allows permanent storage of information. Device has k input (address) lines and n output (data) lines. We can store 2k £ n bits of information inside the device. The address lines specify a memory location; The data outputs at any time represents the value stored at the memory location specified on the address lines. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 6 ROM Block Diagram High level block diagram for a ROM: k inputs 2^k x n ROM E&CE 223 Digital Circuits and Systems (A. Kennings) n outputs Page 7 ROM Block Diagram Uses an address decoder such that the k address lines selects one word of the 2k words of data stored in the ROM. 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 D(n-1) D(2) D(1) D(0) A(0) A(1) A(2) A(k-1) address decoder read Each of the 2k £ n bits inside of the ROM are programmable via opening and/or closing switches. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 8 Implementing Functions With ROM Can implement multi-input/multi-output logic functions inside of ROM. Data outputs are the logic functions and the address lines are the logic function inputs. We create a ROM Table to store the logic functions. When an input (or address) is presented, the value stored in the specified memory location appears at the data outputs. Each data output represents the correct value for its logic function. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 9 Implementing Functions With ROM E.g., Implement the 3-input logics f0 = (0,1,5,7), f1 = (0,1,2,6) and f2 = (2,3,4) using a ROM. c b a 1 A(0) A(1) A(2) 3-to-8 decoder 0 011 (3) 1 011 (3) 2 110 (6) 3 100(4) 4 100(4) 5 001 (1) 6 010 (2) 7 001 (1) READ EN 8 x 3 ROM D(2) f2 E&CE 223 Digital Circuits and Systems (A. Kennings) D(1) f1 D(0) f0 Page 10 Types of ROM Several technologies for implementing ROM: PROM (Programmable Read-Only Memory): PROM contains fuses giving logic value of 1 to all bits in device. Programming means “blowing” fuses to give some bits a logic value of 0. Once programmed, that’s it – programming cannot be changed. EPROM (Electrically Programmable Read-Only Memory): Can be “erased” by exposure to UV light. Otherwise, same as PROM. EEPROM (Electrically Erasable Programmable Read-Only Memory): Can be “erased electrically”. Otherwise, same as a PROM. In programming, these devices all have an extra pin (or extra pins) where the programming information (bit stream) is applied to do the programming. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 11 Textbook ROM are described in Chapter 7, Section 7.5 of the textbook. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 12 Random Access Memory (RAM) Storage device to which we can both read and write information. data inputs n k address read 2^k x n RAM write n data outputs E&CE 223 Digital Circuits and Systems (A. Kennings) Page 13 Random Access Memory (RAM) Internally, we need to be able to both read and write to bits of memory. Consider the following circuit that can function as a bit of memory: select select input S Q output input 1 bit memory output R read/write read/write Note: circuit is not really made like this, but this will function correctly to explain the concept… E&CE 223 Digital Circuits and Systems (A. Kennings) Page 14 Random Access Memory (RAM) Take 1-bit memory and connect them into an array: data inputs D(n-1) D(2) 1 bit memory D(1) 1 bit memory D(0) 1 bit memory 1 bit memory A(0) select A(1) 1 bit memory A(2) 1 bit memory 1 bit memory 1 bit memory input 1 bit memory output read/write A(k-1) address decoder 1 bit memory 1 bit memory 1 bit memory 1 bit memory read/write D(n-1) D(2) D(1) D(0) data outputs E&CE 223 Digital Circuits and Systems (A. Kennings) Page 15 Random Access Memory (RAM) data input data input data input data ouput data ouput data ouput data ouput data input Can also share data lines with both input and output data using tri-state buffers (enabled by the read/write signal): select input read/write D(n-1) D(2) E&CE 223 Digital Circuits and Systems (A. Kennings) D(1) D(0) 1 bit memory output read/write Page 16 Textbook RAM is described in Chapter 7, Sections 7.2 and 7.3 of the course textbook. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 17 Programmable Logic Array (PLA) Programmable device capable of implementing functions expressed in SOP. Consists of input buffers and inverters followed by: Programmable AND plane, followed by Programmable OR plane. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 18 Programmable Logic Array (PLA) Can implement m logic functions of n variables. Limit is the number of product terms that can be generated inside of the device. input buffers and inverters AND plane E&CE 223 Digital Circuits and Systems (A. Kennings) OR plane Page 19 Programmable Logic Array (PLA) Example implementing 2 logic functions of 3 inputs using a 3-5-2 PLA. x1 x2 x3 f1 f2 E&CE 223 Digital Circuits and Systems (A. Kennings) Page 20 Programmable Array Logic (PAL) Similar to a PLA, but only has a programmable AND plane. The OR plane is fixed. Not as flexible as a PLA since only certain AND gates feed each OR gate, but has fewer things that need programming. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 21 Programmable Array Logic (PAL) Example of a PAL: x1 x2 x3 f1 f2 E&CE 223 Digital Circuits and Systems (A. Kennings) Page 22 Programmable Array Logic (PAL) Sometimes the outputs are fed back internally and can be used to create product terms. x1 x2 x3 f1 f2 E&CE 223 Digital Circuits and Systems (A. Kennings) Page 23 Programmable Logic Array (PLA) PLA and PAL are described in Chapter 7, Sections 7.6 and 7.7 of the course textbook. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 24 Simple Programmable Logic Device (SPLD) To implement sequential circuits, take a PAL and add some flip-flops at the output of the OR plane. For example… from OR plane D S Q R to AND plane Above circuit (plus SOP from the AND plane and OR gate) form a MacroCell. Several MacroCells together in the same IC is called an SPLD. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 25
© Copyright 2026 Paperzz