D U I S B U R G E S S E N

Size: px
Start display at page:

Download "D U I S B U R G E S S E N"

Transcription

1 . INTRODUCTION... 4 Notes on the lecture Logical Design of Digital Systems UNIVERSITÄT Prof. Dr.-Ing. Axel Hunger Dr.-Ing. Stefan Werner D U I S B U R G E S S E N Institute of Computer Engineering, Dr.-Ing. Stefan Werner, June 9. ELEMENTARY COMBINATORIAL CIRCUITS FOR DATA TRANSMISSION Buses Multiplexer Demultiplexer....4 Decoders....5 Bidirectional Signal Traffic Wired Or Tri-State Technology Bus Signals Bidirectional bus drivers MEMORY UNITS Memory addressing..... Word-based addressing..... Bit-wise addressing.... RAMs and ROMs..... Random Access Memories (RAMs) Static RAMs (SRAM) Dynamic RAMs (DRAM) Read Only Memory (ROM) The Mask ROM PROGRAMMABLE LOGIC DEVICES General structure Construction of the AND/OR-Matrix Types of Illustrations Programming Points PLD Structures Combinatorial PLD Logic Diagram Functional Block Diagram Logic-Circuit Symbols The Programming of the PLD Combinatorial PLD with Feedback Special Features of Feedback Functional Block Diagram ALGORITHMIC MINIMIZATION APPROACHES Minimiation of combinational Functions... 56

2 5.. The Quine / McCluskey algorithm Cost functions Petrick s method Proceeding in combinational circuit synthesis State machine minimiation Repetition: State Machines Forms of Describing State Machines State machine tables State-Transition Diagram Timing Diagram Trivial state machine minimiation Minimiation according to Huffmann and Mealy The Moore Algorithm Algorithmic Formulation of the Minimiation by Moore: Conversion of State Machines ELEMENTARY SEQUENTIAL CIRCUITS AND SEQUENTIAL CIRCUIT DESIGN AND ANALYSIS Design of synchronous counters Design of asynchronous counters Shift registers.... Introduction This course covers a subtopic of the development process of digital systems, which is the logical design. Physical or electrical design e.g. deals with dimensioning of transistors or layouts for printed circuit boards, whereas logical design focuses more on functional aspects of digital systems. The lectures in Logical Design of Digital Systems can be seen as an extension of the topics discussed in the st semester in the lectures Fundamentals of Computer Engineering, which can be seen as a requirement to follow the Logical Design of Digital Systems lecture. The lecture notes of logical Design in Digital System give an overview of the topics presented in the lectures since summer semester 9. Even if the text is carefully edited and reviewed students shall use it carefully and critically. Students are asked to use it in parallel to the lectures, it can not be seen as a substitute to attend the lectures or the usage of other books and sources 7. TESTING DIGITAL CIRCUITS Introduction Principles of testing Overview on test mechanisms Important CAD-tools for test generation Application of test-tools in integrated systems Faults and fault-models The Stuck-at fault-model Test generation Boolean Difference Path-sensitiation... 4

3 . Elementary combinatorial circuits for data transmission The SSystem on a Chip teechnology implemen nts a comp plex, hierarrchical bus system and combines fasst system bus b and a (slower) Peripherieb P bus, registeer and conttrol bus. Inside a computer system, the data transfer plays a significant role especially in the operational part. So called transmission networks connect the single units in a computer and switch the necessary information to them without manipulation. According to this, data transmission is an operation that is not dependent on datatypes. Multiplexers and demultiplexers are used for selection of paths, functions or devices. The actual transmission occurs on bus-lines. Figurre.: Systtem on a chip c architeecture i ted as ASICs and/orr Specifications off these buses are phyysically all implement FPGAs t circuitt board have h to fin nd a comp promise between b Internaal bus systems on the wiring and velociity(speed). Figure.: General Bus Structure A bus can be thought of as a highway for digital signals. It consists of a set of physical connections (printed circuit traces or wires), standard set of specifications that designate the characteristics and types of signals that can travel along the pathway. Buses are found on all levels of a computer system. They fulfill different tasks in the process, from which different properties and construction characteristics result. In the following some examples are given. a.) Internal buses Internal buses interconnect the various components within a computer system, processor, memory, interface cards, etc 5 Figure. Circuiit board 6

4 b.) External or I/O buses External buses transfer digital signals between a computer and the outside word and/or interface the computer with peripheral equipment. They also support standardiation and exchangeability of components in a system.. Buses Buses connect spatially distributed information sources (Sender) and sinks (Receiver) via decentralied multiplexers and demultiplexers, often combined with decentralied coding and decoding. A bus is therefore a component for the transportation of information. In computers the microprocessor controls and communicates with the memories and the I/O devices via the internal bus structure. The bus is multiplexed so that any of the devices connected to it can either send or receive data to or from the other devices. At any given time, there is only one source active and sending data to one of the components. The selection is under control of the microprocessor. Figure.4: External bus systems c) Computer network Bus systems in a computer network aim at little wiring and use special protocols for securing data traffic. All systems are connected to the bus If groups of machines communicate at the same time; collisions occur. Special arbitration approaches like CSMA/CD help to solve these problems. Figure.6 Basic multiplexed bus From a functional point of view a bus is a node with switches arranged in a star topology. From the technical point of view it is a line with switches for the connection (of pairs) of Senders and Receivers. Figure.5: Bus system in a computer network left: technical Structure (due to wired logic bidirectional information flow right: logic equivalent (without wired logic, mono-directional information flow) Figure.7: Principle Circuit and Functionality of Bus Systems Figure 7 shows on the left side a Bus, which connects the Sender (Index S) and the Receiver (Index E) from six system components (A to F) with each other. Due to 7 8

5 the multiplexer function of this Bus, only one source is allowed to send, i.e. all of them switch its information on the Bus. The sinks are each according to their function not equipped with gates, i.e. always receive the information. Or they are equipped with gates and only receive the information when they are chosen. Buses are categoried in unidirectional and bidirectional buses. Unidirectional buses only have one source or one sink, i.e. information is forwarded only in one direction along the transmission line. In case of a bidirectional bus, information can be forwarded in both directions.. Multiplexer Multiplexers consist of n data-inputs, n control-inputs and one output. They are used e.g. to transmit parallel data serially over a single bus-line. Which mux input line is connected to the bus-line, depends on the active control input. In the following the block diagram and the switch diagram of a multiplexer (MUX) are shown. C C... Cn Controls I I I I C C O X X X X X X X X X X X X X X X X X X X X X X X X Table.: Truth table of a 4- multiplexer. Demultiplexer The counterpart of the MUX is the demultiplexer. The DeMUX e.g. distributes serial input-data to one of several parallel outputs. does a -out-of-n selection Therefore it has one data-input, n control-inputs and n data-outputs. I I I... MUX O I... O Controls O Im Im Figure.8: Multiplexer The technical realiation of a multiplexer will be explained in the following by an example of a 4: multiplexer. The multiplexer consists of 4 inputs (I, I, I, I ) in total. To be able to choose one of those 4 input signals, control inputs (C, C ) are necessary. When an input is chosen, the output O takes its logic value. So it holds: O = I C C + I C C + I C C + I C C In the following the truth table of the MUX is shown. Figure.9: Demultiplexer a) schematic and b) functionality I... Om O 9

6 C C I O O O O Table.: Truth table for a -4 Demultiplexer.5 Bidirectional Signal Traffic Buses allow bidirectional data traffic between several participants via a shared bunched circuit. Serial Buses are solely special cases, in which the bit parallel transmission is carried out serially. For any arbitrary point in time only one Sender is allowed to be active, but arbitrarily many of the connected receivers may receive this message. If we consider the outputs as gates we have the problem that many parallel outputs are connected to the same line. O O = C CI = CCI O = CCI O = CCI.4 Decoders If the DeMUX has no data input it is called decoder and can be used to select one out of n components, e.g. for sending or receiving from a bus. Figure.: Illustration of the problem in bus circuits Gates considered by now in are TTL Gates with totem-pole output, see figure.. Figure.: Bus system with decoders Figure. TTL- Inverter with totem-pole output Output in the circuit of figure. is set either to GND or Vcc as only one of the two transistors Q4 and Q is allowed to be closed (on) at any point in time. If two of such gates with totem-pole outputs are connected (see figure.) and e.g. the left gate A outputs HIGH and the right gate B outputs low, that might cause a excessive high current The output of A is effectively shorted to ground. Therefore the outputs of TTL gates with totem-pole should never be directly connected!!

7 Figure.: Connection of two totem-pole outputs In other words, to connect the outputs of several gates to the same line, special switching techniques are necessary, which will be described in the following..5. Wired Or Another type of output available in TTL is the open-collector output. In this type the output is the transistors collector with nothing connected to it, hence the name open collector. In order to get the proper HIGH, LOW logic levels out of the circuit, an external pull-up resistor must be connected to Vcc from the collector of Q Figure.4 Open collector output In figure.4 b the output is pulled up to Vcc through the external resistor when Q is off. If Q is on, the output is connected to near-ground through the saturated transistor. Outputs of gates with open-collector-output can directly be connected to the same line. Figure.5 gives an example of an open-collector wired negative AND operation with Inverters Figure.5 Open collector circuits Figure.6: wired NAND The open collector technique can also be used to connect several devices to a bus line. The initial problem can be solved in a way, that for all outputs the output resistor against the operating voltage is cancelled, and instead of this externally is connected to the line. Then each switching level can switch the voltage on the bus line to ground potential. The connection of several drivers on the Bus occurs as an exception via the direct connection of the Gate outputs and connection with an external Pull-up-resistor. T T T R V CC A Fig..4: Wired-Or - As soon as at least one Transistor is active, A = (UA,V) - When all transistors block, A = I (UA VCC) - A transistor is active when UBE >,7 V - A transistor is blocked, when UBE,7 V - UBE is a result of the logic connection of the inputs of the individual gates As a further agreement, it must be fixed for the definition of the bus circuit that, for non active senders the output transistors are blocked (i.e. switching on, a logic I on the bus) so that the active driver alone takes a decision on the state of the bus line. 4

8 Advantage: - simple switching techniques Disadvantage: - The driver capacity for logic I is low (solely over R). - Small values of R or a big number of inputs switched on later, lead to slow signal flanks and therefore delays..5. Tri-State Technology Another option to ensure that only one component is controlling the voltage of the bus line is, to modify the output lines of all components in a way that all of them are disconnected from the bus line, except the one that is controlling the bus line. In that case all output components have to be modified in such a way that an additional signal OE (Output Enable) separates the output component from the bus line when the unit is not selected. The output line shows in this case non of the defined voltages to assign a logical or I to the logical output. In doing so, a third state is defined; the high impedance. Should exactly this component be selected, then short cuts in the circuit will certainly be avoided. Since every output line can now be in exactly one of three possible states ( writing a on the bus, writing a I on the bus; cut off from bus), we now also speak about tri-state outputs, i.e. tri-state drivers respectively. The choice of components on the bus, which can write on the bus, can for example occur via a decoder component, since it has been determined that for this component, a I always only lies on one of its outputs. The respective signals must be made readily available by the bus management. Buses with tri-state drivers have three states: (Low), I (High), Z (Z=high impendent). In contrast to open-collector buses, the states L and H will be handled symmetrically. The tri-state bus is faster than the open collector bus, it requires however a higher implementation complexity. OE D O Z OE = disconnects the output line by O=Z I Z I I OE = I enables the output line. Gate operates in inverse mode I I O = D. In a tri-state bus it is never allowed to have two participants simultaneously active. Otherwise, this can lead to damaging of the bus, when a participant wants to drive a bus line on H (laying on the operating voltage), and others want to drive it on L (laying it on mass). Therefore tri-state drivers are used for bus lines which only become active after the arbitration e.g. address-and data lines. Advantages : - simple switching technology for the user - Actively operated - and I-states (high fan out). - Also for numerous drivers per line, no disadvantages in the time behaviour. Disadvantages: In case mistakenly two drivers are activated simultaneously - an undefined voltage level can appear on the bus line, - there exists a danger of destruction due to disallowed high transverse currents. The tri-state technology has established itself in computer manufacturing in comparison to the Open-Collector-Technology..5. Bus Signals Now we want to focus on the control part of a bus circuit. Assuming the usage of a tristate register, a special input (signal) OE is needed that controls the output lines and allows the register to send data to the data bus. Further more a special input (signal) IE selects the register and allows to read data from the data bus. These signals are to be generated by a special control unit, e.g. microprocessor, decoder, etc. Fig..5: Tri-State Gate as Circuit diagram 5 6

9 Example: Reading data from the bus To read data from the data bus, the output of all components, except for the sender, have to be set to high impedance, therefore for all of these components a signal OE has to be generated. To allow components to read, the inputs of the respective components have to be enabled with IE. In the diagram in figure.6 this happens at t.then, the reading starts with the next clockpulse at t. The condition t > t has to be fulfilled to ensure that all effects like delay, rising, falling are done, and the signals on the bus lines are stable..5.4 Bidirectional bus drivers In most systems bidirectional signal traffic is allowed and therefore bidirectional bus drivers are needed that ensure that a component at any point in time is allowed either to send or receive data. Such a system configuration is shown in figure.8. System System System Figure.6: Reading data from a bus line A simplified way to show the same signal activity on the bus line combines the single bus lines to a bundle, see figure.7. E E E E i : centrally controlled by the main system Figure.8: Bidirectional signal traffic The Enable-Signals Ei are in most cases under central control of a central system. A combination of tri-state-technology and direction switching results in the frequently used bidirectional bus drivers: D D E R & & & & A E R path function A -> D receive I D -> A send I A = Z passive D = Z I I A = Z active D = Z Table.4 E : shared Enable; R: definition of direction Figure.9: Bidirectional bus drivers Figure.7: simplification in bus timing diagramms 7 8

10 . Memory Units Semiconductor memory makes up a significant segment in the spectrum of microelectronics. They can be subdivided in memory blocks that are embedded in the logic of a circuit (e.g. microprocessor) and microchips, which are only used as storage devices. The latter are not subject to this lecture. An overview on semiconductor memory devices follows in Figure.. Usually memories store data in units from one to eight bit (one byte). Figure.: 8-bit memory unit Nowadays, information units consist of more than one byte. These complete information units are called a word, e.g. a word consisting of two byte. Each storage element in a memory unit is called a cell. A cell can store the value or. Memories are made up of arrays of cells, or rows of memory units Figure.: 8x8 bit array Figure.: Overview Semiconductor memory devices [Keil 87] Semiconductor memory can be subdivided into three groups by their access modes: Random access Random access means that the access time is independent of the physical position of data inside the memory. All memory positions are addressed and written and respectively read in the same time. Random access has an outstanding importance compared to the two following categories. serial access If accessing single memory positions is only possible serially, it is e.g. a FIFO-memory (first in first out). Such devices are normally needed only for very specific tasks. Associative access In case of associative memory, the stored data itself plays a major role at the assignment of addresses. This is normally rather used for exotic applications. A certain memory unit can be identified by specifying the corresponding row. A certain cell can be identified by specifying the corresponding row and column. The location of a memory unit in a memory is called its address. Example: the address of the blue memory unit in the figure above is 7. The address of a certain bit in such a -dimensional array is given by the address of the row and the column. The capacity of a memory is given by the total number of bit than can be stored, or the total number of cells. Example, the capacity of the memory in the figure above is 8 bit x b bit = 64 bit or 8 byte.. Memory addressing In order to read or write to a specific memory location, a binary code is placed on the address bus. Internal decoders decode the address to determine the specific location. Data is then moved to or from the data bus. 9

11 Read Write Example: WRITE Operation Row address decoder Address bus Memory array Data bus 4 Column address decoder 5 6 Figure.4: Basic Principle of Memory with Random Access 7.. Word-based addressing For all memories with random access, the problem to be dealt with, is how to address one from n Memory positions with one address of n Bit. The basis for this composes the decoding of the address. In this process not a single memory (bit) positions will be considered, but vectors of 8, 6, or 64 Bit will be considered, a word. Such memories work word oriented and the addressing results word-wise. For the write or respectively the read process, exactly one word is selected via its address. This results in the following scheme of a word-wise addressed memory with random access.. The address is placed on the address bus.. Data is placed on the data bus.. A write command is issued. Figure.6: (Floyd) Example: READ Operation Figure.5: Word-wise addressed memory with random access scheme [Pel] The horiontal lines, which addresses a word, are also called word lines. The vertical lines carry the read-or-write data and are called Bit lines.. The address is placed on the address bus.. A read command is issued.. A copy of the data is placed in the data bus and shifted into the data register. Figure.7: (Floyd)

12 .. Bit-wise addressing There exists also the possibility to store more than one data word in single a memory word. When writing or reading, a complete memory word will however be selected first. In a further selection process the chosen data word is then identified. The memory possesses a second decoder for this; the column decoder; see Figure.8. Read only means the data can be read only from a ROM, there is no write operation. In contrast to RAM the memory is stored permanently (or semi permanently). Like the RAM the ROM is a random access memory... Random Access Memories (RAMs) When a new data unit is written into a given address in the RAM, the new data unit replaces the old data unit. When a data unit is read from a given address the RAM, this data unit remains stored in the RAM and is not erased. The two main categories of RAM are the static RAM (SRAM) and the dynamicram (DRAM) Random- Access Memory (RAM) Figure.8: Bit-wise addressed memory with random access scheme [Pel] Should the memory possess m rows each consisting of n cells (columns), then a number of R data words of length N can be stored per row, whereby: R=(n/N) The number of required address bits r for the column decoder can be determined from: r = ld R The address for the row decoder can be reduced by r positions in this way. Asynchronous SRAM (ASRAM) Static RAM (SRAM) Synchronous SRAM with burst feature (SB SRAM) Fast Page Mode DRAM (FPM DRAM) Extended Data Out DRAM (EDO DRAM) Dynamic RAM (DRAM) Burst EDO DRAM (BEDO DRAM) Synchronous DRAM (SDRAM). RAMs and ROMs Random access memory (RAM) and Read only memory (ROM) are the two major categories of semiconductor memories. Random access means that the access time is independent of the physical position of data inside the memory, an arbitrary data word can be read or stored at any point in time. All memory positions are addressed and written and respectively read in the same time. RAM is for temporary data storage that loses the stored data when the power is turned off. RAMs are volatile memories. SRAM: uses latches as storage elements. DRAM: uses capacitors as storage elements. Figure.9: Categories of RAM Data can be read much faster from SRAMs than from DRAMs. But DRAMs can store much more data than SRAMs for a given physical sie and cost because the DRAM cell is much simpler, and more cells can be crammed into a given chip area than in the SRAM. 4

13 ... Static RAMs (SRAM) The basic idea of a SRAM cell is given by a D-latch. In case the cell is selected by a select signal = high, a data bit ( or ) can be written via the data in line. A data bit can be read by taking it off the data out line. Basic static memory cell array A SRAM cell array now uses the for every cell the above described latch memory cell. In the following an example for a n x 4 array is given Row Select Row Select Memory cell Row Select Row Select n Figure.: typical SRAM latch memory cell (SR latch with negative input) Remember the SR latch: Data t+ out Data out t Turning the SR latch into a D-latch Data t+ out forbidden = If also consider the clock is considered, the functional model of an SRAM cell can be described as follows: Figure.: functional model of an SRAM Data I/O Bit Data Input/Output Buffers and Control Data I/O Bit Data I/O Bit Figure.: Floyd Data I/O Bit The cells in a row all share the same Row Select Line. Each set of Data In and Data Out lines is connected to each cell in a given column. To write a data unit into a given row of cells in the memory array, the ROW Select Line is taken to its active state and four data bit are placed on the Data I/O lines. Finally an additional write line in the control unit has to be set to its active state, which causes the data bit to be stored in the selected cells. To read a data unit, the Read Line has to be set to its active state, which causes that the stored data bit appear on the Data I/O lines. An easier representation of the above shown structure is given by a so-called logic diagram of an SRAM Tristate buffers allow the data lines to act as either input lines or output lines. Therefore an additional output enable signal is needed. The signal for chip select, output enable and write enable are to be generated by a control unit, e.g. in a computer by the CPU. 5 6

14 WRITE Cycle Figure.4: RAM s Read Cycle Figure.: 56 x 4 RAM READ Cycle To read data from the memory, a valid address code has to be applied to the address lines for a specified time interval called the read cycle time t RC., beginning at t. After allowing some time for the address signal to stabilie, the Chip Select and Output Enable signals go low. The RAM responds by placing the data onto the data output line at t.the time t t is the time between the application of a new address and the appearance of valid output data and is called the RAMs access time t AQ. The random access time t AQ. The timing parameters t EQ (chip enable access time) and t GQ (output enable access time) indicate the time it takes for the RAM output to go from Hi-Z (high impedance state) to a valid data level once the chip is selected and the output is enabled. At time t the chip select signal and the output enable signal returned HIGH, and the RAMs output returns to its Hi-Z state after a time interval t OD. Thus, the RAM data will be available between t and t, and it can be taken at any point in time during this interval. The complete read cycle extends from t to t. To write data to the memory, a valid address code has to be applied to the address lines for a specified time interval called the write cycle time t WC., beginning at t. After allowing some time for the address signal to stabilie, the Chip Select and Write Enable signals go low. This time is called the address setup time t S(A). The time that the Write Enable signal must be low is the write pulse width and is called the write time interval t W. During the write time interval, at time t valid data applies on the input lines to be written to the memory. The data must be held at the RAMs input for at least a time interval twd prior to, and for at least a time interval t h(d) after, the deactivation of the write enable and chip select at t. If any of these time requirements are not met, the write operation will not take place reliably. During each write cycle, one unit of data is written to the RAM. 7 8

15 Figure.5: RAM s Write Cycle... Dynamic RAMs (DRAM) Dynamic memory cells store a data bit in a small capacitor rather than a latch. The advantage of this type of memory cell is its simple structure. It allows very large memory arrays to be constructed on a chip at a lower cost per bit. The disadvantage is that the storage capacitor need periodically refreshment to hold its charge over an extended period of time, otherwise it will lose the stored data bit. Dynamic RAMS will not further be considered in this lecture. In this chapter the Mask PROM will be introduced. The PROM will be discussed in detail in the next chapter... The Mask ROM Speaking of a ROM, implicitly refers to a MASK ROM. Most IC ROMs utilie the presence or absence of a transistor connection at a row/column junction to represent a or... Read Only Memory (ROM) In principle a ROM is a device that can permanently hold stored data. The stored data can be read from the ROM but it cannot be changed at all; except for the usage of special equipment. Therefore, a ROM is usually used to store repeatedly used data, such as tables or programmed instructions. The ROM-family consists of several types which are shown in the figure below. Mask ROM Programmable ROM (PROM) Read-Only Memory (ROM) Erasable PROM (EPROM) Ultraviolet EPROM (UV EPROM) Figure.6: The ROM Family (Floyd) Electrically Erasable PROM (EEPROM) Left: storing a Right: storing a Figure.7: Memory Cell of a mask ROM. The presence of a connection from the row line to the gate of a transistor represents a at that location because when the row line is taken HIGH, all transistors with a gate connection to that row line turn on and connect the HIGH () to the associated column lines. At row/column junctions where there are no gate connections, the column lines remain LOW () when the row is addressed. Mask ROM: PROM: data are permanently stored during the manufacturing process Programmable ROMs. Data are electrically stored by the user with the aid of specialied equipment Both, the mask ROM and the PROM can be of either MOS or bipolar technology. UV/EPROM: Erasable PROM is strictly a MOS device. The UV EPROM is electrically programmable by the user. The stored data can be erased by exposure to ultraviolet light over a period of several minutes. EEPROM: Electrically erasable PROM can be erased in a few milliseconds. The figure below shows a simplified ROM array with 6 lines and 4 columns, thus a (6 x 4) ROM with a total capacity of 64 bit. Cells with a stored are colored blue, cells with a stored are colored grey. The shown ROM is used as a Binary Code to Grey Code Converter. 9

16 Figure.9: A (56 x 4) ROM Logic symbol When any one of 56 binary codes (8 bit) is applied to the address lines, four data bits appear on the outputs if the chip enable inputs are LOW. ROM Access Time ROM has an access time ta, whichh is the time from the application of a valid addresss code on the input lines until the appearance of valid outpu data. Figure.8: (6x4) ROM as Binary Code ->Gray Code Converter Most IC ROM s have a more complex internal organiation than the above described example. In the following the logic symbol of a ROM is given. Figure.: timing diagrammm

17 4. Programmable Logic Devices 4. General structure Programmable logic devices (PLD) are Semi-Custom-ICs of low complexity with an AND- and an OR- Matrix for programming by the user or the manufacturer. Components with higher complexity and a matrix architecture of simple function blocks are described as Field Programmable Gate Array (FPGA). Figure 4. illustrates the general structure of all PLD. In it the following elements are recognisable : a programmable AND/OR - Matrix, the programmable feedback, an Input block, an Output block. figure 4.: General PLD-Structure [Auer 994] The heart of all PLD s is their programmable AND/OR matrix. The remaining elements must not necessarily be realised by all PLD s. Within the programmable matrix, the outputs of logic AND-Gates lead to a matrix of logic OR-Gates as in figure 4. The differentiation of the PLD-types illustrated in fig. 4. is based on programming possibilities of the AND- and OR-matrices; the way of how the programming takes place, either by o the user (also called field programmable) or o the manufacturer (factory programmed). The following components belong, among others to the group of PLD-IC : PROM: Programmable Read Only Memory contains a fixed AND-matrix. In this fixed matrix, the addressing of the individual memory cells is realied. Only the OR-matrix is programmable by the customer. Data or logic functions, respectively will be stored in the OR-matrix. The well known EPROM-memory also belongs to this group which has the addressing of the memory cells in an AND-matrix as being fixed after being programmed by the manufacturer. FPLA: Field Programmable Logic Array components consists of a customer programmable AND- and OR-matrix. The component increases not only the flexibility during the design but also the level of exploitation of the structure. PAL: Programmable Array Logic components contain a fixed OR-matrix. Only the AND-matrix is electrically programmable by the customer. PAL is a registered trade mark of the company Monolithic Memories Inc. United States of America. HAL- Components (Hardware Array Logic) are the manufacturer programmed version of a PAL. The AND as well as the OR-matrix are to be seen by the user as being given and fixed. GAL- Components (Generic Array Logic ) structurally similar to the PAL-components. In this we are dealing with electrically erasable and electrically programmable logic-arrays. GAL is a trade mark of Lattice Semiconductors. EPLD Components (Erasable Programmable Logic Device) also structurally similar to the PAL-Components. Instead of "fuse programming" used for "Standard"-PAL, Floating-Gate-Technology is used for EPLD- Components: the component can be erased by UV-light and thereby be available for new programming. Possible programming errors can be overcome in this way without losing any of the components. figure: 4.: The structure of programmable AND/OR-matrices [Auer 994] 4

18 4. Construction of the AND/OR-Matrix Before showing the internal structure of the AND/OR arrays, let s look at their implementation one after another. figure 4.: Summary of the PLD-Variations In the summary of variations illustrated above FPLA are given as representatives of components built upon the basis of the Integrated Fuse Logic. In this case we are dealing with a notation of the Company Valvo. The programming takes place via the separation of the melting paths (Fuse Link) on the crossing lines of the AND/OR-matrices. Due to the complexity we will differentiate a total of four types: FPLA: freely programmable Logic Array; see above. FPGA: Field Programmable Gate Array (freely programmable Gate Array) with programmable AND-matrix; FPLS: Field Programmable Logic Sequencer (freely programmable logic sequencer) with register functions at the output of the programmable matrices; FPRP: freely programmable ROM-Patch with a fixed programmed AND-matrix as address decoder and programmable OR-matrix as data memory. Advantages of PLD s Reduced complexity of circuit boards o Lower power requirements o Less board space o Simpler testing procedures Reduced complexity of circuit boards Higher reliability Design flexibility AND MATRIX The following implementation of the AND Matrix uses bipolar diodes. figure 4.4 AND-combinations matrix with diodes The voltage U takes the peak U = Vcc only when voltages Vcc are also connected to all inputs I to I n. In that case all diodes are closed. If at least one input is connected to ground, the respective diode conducts a current from the Vcc potential to ground. Therefore, in that case the volage U =. The connections in figure 4.4 represented by waves are the programming points of the component. These connections can be cut off electrically. In doing so, there is no influence of an input signal on the logic combination. OR Matrix In the circuit parts in which the OR-combinations are realied, bipolar transistors which work upon a shared resistance of R will be controlled by the voltages of the AND-combined inputs as in figure

19 Figure4.5: Circuit part for the realiation of the OR-combinations [Auer 994] The voltage on the R resistor will have the peak U R = V cc when at least one transistor is active. There also exist circuit variations with multi-emitter-transistors with an active L- peak. Combination of AND/OR Matrix The structure of the AND/OR-matrices of the PLD-components can be illustrated in such a way that the principal construction is immediately recognisable. Three AND/OR-matrices each of them realied in bipolar technology- are combined to each other. The general structure is illustrated once again in figure 4.6 Figure 4.6: general construction of the AND/ OR- Matrices [Auer 994] Figure 4.7 shows an example of a programmed device. Here exactly one of the three (green) word lines is addressed via a from m decoder and the stored data are delivered through the (red) bit-lines. 7 8

20 An initial agreement for the simplification is concerned with the illustration of the programming points, which can be destroyed whilst programming. These connections are denoted by waves in complete circuits; see figure 4.8a. Alternative illustrations or simplifications respectively, illustrate this connection as a point, figure 4.8b or as a star, figure 4.8c. Two lines crossing each other without a point or star respectively represent not connected. 4.8a 4.8b 4.8c Figure 4.8: Types of illustrations of the Programming Points The detailed electrical connection in the crossing points of the matrices is graphically illustrated once again in figure 4.9 here the symbolical illustration is contrasted to the technical realiation. Figure 4.7: Example of a programmed device In the circuit illustrated above, the following values will be delivered upon choosing one of the rows. x y I I I I I I I Table Types of Illustrations It is hardly possible to illustrate the full electronic circuit of the matrix. For the multiple AND-and OR-combinations built in within the matrix, simplified illustrations, are brought in. left: connected right: not connected figure 4.9: Technical Realiation of the Connections A second agreement concerned with the multiple combinations of the n-inputs to the AND or OR-Gates respectively. Figure 4.a shows for this the electronic illustration and figure 4.b a simplified illustration whereby the logic function with the multiple inputs and the separable connections is highlighted. In figure 4.c the illustration is further simplified, whereby only a horiontal line to the Gate is illustrated and the input signals cross this horiontal line as vertical lines. A point on which the lines cross each other implies that there exists an electrical connection 9 4

21 of an input signal to the gate inputs. These crossings points also symbolie the programmable connections denoted by waves in the complete circuit (figure 4.a). 4.b 4.c 4.a 4.: Illustration of the multiple combinations 4.4 Programming Points The technical realiation of the programming points is depending on the chosen technology. In bipolar technology diodes or transistors inserted onto the crossing points. Whilst programming poly-silicon bridges are physically destroyed ("burned"). These separation bridges are also known by the term "Fuse Link". Instead of fuse programming, in EPLD-memory transistors with floating gate are used. In the non-programmed state there is no charge on the (electrically isolated) floating gate, through which an intact connection of the matrix nodes can be generated. A programmed cell marks, in the process, an "open" node in the programmable matrix. The charge stored on the floating gate can be removed by radiating with UV-light of particular wavelength (EPROM-Erasure device) and the component thereby be erased. In all known PLD-components, the input signals are handed over directly and inverted into the AND-matrix. This results in exactly four connection possibilities for each input to the individual AND-gates, see figure 4. figure 4.: possible connections of the inputs to the AND-Gates [Auer 994] An AND-Gate is constantly set to -Peak, when the connections shown in fig. 4.a remain non-programmed (intact). The influence of a corresponding input on the AND-Gates is ruled out by the separation of both connections. Should one of the two connections remain available as in fig. 4.c or fig. 4.d respectively, then the input is effectively direct i.e. negated at the AND-Gate. Finally, figure 4. shows some examples a.) programmed AND-matrix with O= I I I O= I I b.) PLD 4 4

22 O= I I Figure. 4.: Example of a PLDs 4.5 PLD Structures In correspondence to the demands of circuit development the following PLDstructures are offered : Combinational PLD-structure, Combinational PLID-structure with feedback, PLD with registered outputs and feedback, PLD with programmable output polarity, Exclusive-OR-Function combined with registered outputs, Programmable registered inputs, PLD with product-term-shading, PLD with asynchronous registered outputs, GAL with programmable macro cells for signal outputs. From the multitude of structure a few interesting architectures will be closely illustrated in the following Combinatorial PLD Characteristic of the combinational PLD is the AND/OR-matrix-structure where the feedback branch and the storage possibilities on the in- and outputs are missing. In this version programmable AND-matrix is available. This structure is illustrated in figure 4.. figure 4.: Example of a PLD with combinational logic In the non-programmed state all inputs as well as their negated lines are connected with all eight AND-gates. Always two outputs of the eight AND-Gates are connected to an OR-Gate. In contrast to the structure illustrated in figure 4.4,in the memory components (EPROM, EEPROM or PROM respectively) the AND-matrix for decoding the addresses is programmed and fixed and the OR-matrix is initially un-programmed, figure

23 figure 4.4: Exemplary Structure of a PROM- or EPROM memory respectively In the PROM-memory connections in the OR-matrix will be burned out whilst the programming takes place, and so the component is not reprogrammable. In case of EPROM, all connections in the OR-matrix are reactivated with UV-Light or electrically in the EEPROM respectively and these connections will be rescinded when programming. An example of a combinational PAL-Structure is shown in figure 4.5. figure 4.5: Example of a combinational PAL-structure In case of PAL-components, only the AND-matrix is programmable. The AND- Gates are in contrast fixed and in groups on OR-combined. In the OR-matrix is therefore no programming possible. For illustration of the complexity of the PLD in the data sheets Logic Diagram, Functional Block Diagram or respectively Logic Symbols are used. 4.6 Logic Diagram In figure 4.6 a section from a logic diagram is illustrated as an example. The illustrated section distinguishes itself by the following characteristics: The input signal goes directly and inverted into the AND-matrix. Four AND-Gates are connected to the output via fixed wired NOR-Gates. The programmable AND-matrix is illustrated by horiontal and vertical lines. The matrix section illustrates the non-programmed state. After programming the crossing in the AND-matrix which have not been separated will be denoted by dots (points)

24 The input signals are connected to the AND-Matrix via the so called INPUTor OUTPUT-Lines respectively. All INPUT- and OUTPUT lines cross each other on the horiontal lines connected to AND-Gates. By programming these crossing points, the product terms will be built. For this reason, these lines are named PRODUCT-Lines in the AND-matrix. figure 4.6: a section from a logic diagram The fig. 4.7 shows the logic diagram of a H8-component from Monolithic Memories. A substantial disadvantage of the illustration with a logic diagram lies in the sie of the surface area occupied by the diagram and the bulky nature of the graphics. Figure 4.7: Logic diagram of the PAL H8 4.7 Functional Block Diagram Functional block diagrams illustrate a graphical simplification of the logic diagram, which occurs without any loss of information. The functional block diagram for the section illustrated in figure 4.6 is given in figure 4.8. Figure 4.8: Functional block diagram for the logic diagram in fig

25 Functional block diagrams uses the graphical symbols we know from digital technology. One line is drawn for the transmission of signals between the blocks even for cases with several lines in which the number of lines is then given. The number of the input lines times the number of AND-Gates. furthermore, marked in the left field of the block is a half wave showing that the combinations in the AND-matrix are programmable. Based on this scheme the functional block diagram of the PAL H8 is illustrated in figure 4.9 figure 4.: Logic circuit symbol of the combinational PAL H8 4.9 The Programming of the PLD For Circuit development with PLD-components it is important when accommodating the logic function in the IC to know which functions are realisable at all. Here principally four elementary programmable signal paths in the ANDmatrix of PLD-components, illustrated in figure 4., are with combinational logic possible. figure 4.9: Functional block diagram of the PAL H8 4.8 Logic-Circuit Symbols A further possible illustration method is the logic circuit symbol, which illustrates the functional plan in conjunction with the connection points of the device s housing. For the PAL H8 in a DIL-Housing, the logic-circuit symbol in figure 4. is returned, with the following proving to be important: The number and assignment of the input pins; The number and assignment of the output pins; The form of the OR-combinations between the AND-matrix and the outputs; It is implied, that both the input signals as well as their inverted states go into the AND-matrix. figure 4.: Programmable elements of the AND matrix and their logic-functions The connections that have not been cut off will be denoted by a dot on the lines of the matrix crossing. Should both connections from the input lines to the product lines of an AND-Gate remain intact (figure 4.a), the output of the AND-Gate is constantly programmed to L. Should only one of the two connections remain, as in 49 5

26 figure 4.b or 4.c respectively, then the input signal goes directly or respectively complemented into the AND-Gate. The influence of the input signal on the ANDmatrix is ruled out by the cutting of both connections (diagram 4.d) Combinatorial PLD with Feedback Combinatorial PLD with feedback offer, in comparison to the basic PLD s mentioned in the sections above, the possibility to programme the signal output, see figure 4.. Tri-state-driver is continuously active: the pin connection points work exclusively as outputs with a feedback of the signal in the AND-Matrix (internal feedback); Should all the fuses in the product term AOE be cut off, then the associated AND- Gate will always lie on the H-level (compare also figure 5.), and it s output therefore frees the output driver. The connection point A will accordingly be continuously operated as an output. The signal that appears at the output via the internal feedback, inverted or not, again fed back into the AND-matrix. Tri-state-driver is continuously in a highly impedance state: the pins work exclusively as an input; Should all programmable fuses on the PRODUCT-Line AOE remain unchanged, or both fuses remain intact for any input on this line respectively, then the respective AND-Gate will always be inactive. The output driver is switched to a high impedance state and interrupts the ANDmatrix connection to the output pin. This way pin A can only be operated as an input. Tri-state driver changes it s function: the pin output will alternatively be operated as an input or output respectively. fig. 4.: sector of a logic diagram of a PAL with feedback [Auer 994] The essential differences with the combinational structure without feedback are: the controllable Tri-state-Inverter at the output; the connection from the output to the AND-matrix. The outputs A and B are routed through an tri-state Inverter with Enable-inputs (active High). The tri-state-function is programmed via the appropriate PRODUCT-Lines AOE (A Output Enable), BOE. The output A will be additionally fed back into the AND- Matrix. Should all the fuses of the product terms AOE be destroyed whilst programming, then A works as an output; should one leave all fuses intact, the output driver becomes highly resistive and A is programmed to an input. This way the output A can be used, depending on the programming of the product terms AOE as both an output or as an input or furthermore as a programmable I/-Port for bidirectional data traffic. From the output pins point of view, three signal paths dependent on the circuit of the tri-state drivers are possible because of this: The output driver is controllable as an in-/output via a programmable logic combination on the PRODUCT-Line AOE. This mode of operation of a pin is suitable for bidirectional data traffic Special Features of Feedback Feedback on the same Product Line A feedback from the output onto the same product line can be found in figure 4.a and b. In figure 4.a a feedback to the same product line is programmed. When all further programmed connections on the observed product line are H- level, then the output will oscillate between H and L via the feedback taking into consideration the signal propagation time. The frequency of the oscillations is dependent on the propagation time of the participating gates and cannot be influenced outside the IC. Flow diagram 4.a: The value C lies at the output of the AND-Gate. This appears inverted according to the propagation time of the inverter at the output A and will be with the propagation time of the inverter in the feedback path fed back into the AND-matrix. The logic value L (respectively C ) then lies at the intact crossing 5 5

27 point or at the input of the AND-Gate respectively), while the value C still lies at the output. The output of the gate also changes it s value in accordance with the propagation time of the gate. figure 4.: Feedback paths Feedback onto another Product Line The signal feedback from the output to another product line in the AND-matrix is denoted in figure 4.c. In both cases the output A generates a signal back into the AND-matrix and is forwarded via the product line to the output A. Should a product line not transmit a signal which has been fed back (figure 4.d) then the transition path for the feedback becomes transparent. Example Data should be transmitted bidirectional via pin 4 of the PAL 6L8, and when E=H (Pin6) and E=L (Pin7) and E=H (Pin8), pin 4 should work as an output. Otherwise P4 works as an input. The signal paths programmed for this are denoted in bold in the logic diagram of the PAL 6L8 (figure 4.4). figure 4.4: Logic diagram of the PAL 6L8 5 54

28 4.9. Functional Block Diagram Figure 4.5 shows the functional block diagram of a combinational PLD with a feedback based on the example of the PAL 6L8. 5. Algorithmic Minimiation Approaches The task of logic design is the conversion of the behavior of combinatorial and sequential circuits to structural descriptions, e.g. on the gate-layer. Often, the starting point is a description by means of truth-tables, Boolean equations or state transition tables, as used in the lectures of Fundamentals of Computer Engineering. This chapter gives in an intensively compact form, an overview of the prerequisite basic principles. The axioms, examples and procedures introduced in the following subchapters are without demanding completeness and should be accompanied by additional literature or by going through the content of the lecture Fundamentals of Computer Engineering if necessary. Mainly this chapter aims at an extension of the spectrum of already known principles for minimiation. Therefore the Quine/Mc Cluskey algorithm for minimiation of complex combinatorial functions as well as the Moore Algorithm for state machine minimiation will be introduced. 5. Minimiation of combinational Functions fig. 4.5: Functional block diagram of the PAL 6L8 Complex logic expressions and therefore also technical realiation via logic gates require often a minimiation. For this, three procedures can be of usage:. Algebraic (mathematical) minimiation by application of Boolean Algebra. Graphical minimiation (Karnaugh-Veitch-(KV-)Map). Algorithmic minimiation (e.g. Quine-McCluskey algorithm) for : Basic terms for algebraic minimiation Canonical forms Every switching expression can be written down in a canonical form. This is often useful during development. There are the two canonical forms: the disjunctive normal form (DNF) and conjunctive normal form (CNF). To understand these forms, we have to explain literals, minterms and maxterms first. Literals: A literal is either a variable or the complement of a variable. Minterm: A minterm is a logical sum (disjunction) of exactly n literals with no repeated variables. With n variables we thus have n possible Minterms. Example (n=): 55 56

29 A B C A B C A B C A B C A B C A B C A B C A B C Maxterm: A Maxterm is a logical product (conjunction) of exactly n literals with no repeated variables. With n variables we thus have n possible Maxterms. Example (n=): variables n fields result in this way. The indexing must be in such a way that every field differs in only one variable with the one lying next to it. In the following some examples are given. A + B A + B A + B A + B Sum-of-products (SOP) The sum-of-products is a regular form consisting of a sum of m terms, where every term is a product: f SOP = A B + A B C + B C Product-of-sums (POS) The product-of-sums is a regular form consisting of a product of m terms, where every term is a sum: ( A + C ) ( A + B + C) ( B C ) f POS = + Disjunctive Normal Form (DNF) The DNF is a sum of products (SOP) consisting only of Minterms. Therefore every variable must appear exactly once in each product. f DNF = A B C + A B C + A B C + A B C + A B C Conjunctive Normal Form (CNF) The CNF is the product of sums (POS) only containing Maxterms. Therefore every variable must appear exactly once in each sum. CNF ( ) ( ) ( ) f = A+ B+ C A+ B+ C A+ B+ C De Morgan: It is true that: a + b = a * b i.e. a * b = a + b Shannon extended this rule to n variables. KV-Map with -Variables KV-Map with 4 Variables KV-Map with 5 Variables Figure 5.: Kv-Maps In a KV-Map: field represents minterm (n Variables) fields lying next to each other represent n- variables fields lying next to each other represent n- variables M n fields represent the -Function (e.g. f ( A, B, C) = ) Minimiation Procedure: All fields, which represents a -minterm of the function (VDNF), will be marked. In this way as many as possible marked fields lying next to each other will be summaried in a way that they can be described by a minimum number of input variables (,,4,8...fields). Several such resulting products will be OR-combined. Should a task allow for a minterm to be or ( don t care), a field marked in this way can be used, as if it were. for : Graphical Minimiation A KV-Map is an assignment of fields. Every field is assigned exactly one minterm via the given index (input variables!) on the edge of the diagram. For n input 57 58

30 Example: f = bcd + bcd + abc + acd + acd + bcd + abd + acd + ab The function f from the above given example can be directly entered into the KV-Diagram, even if it is not in CDF. In doing so, one has to take into consideration that, the term a * b represents 4 fields (intersection of all a - and b - fields) and the other terms represent fields each: ab Figure 5.: Application of KV-Maps f =ab + bc + ad + cd = a(b+d) + c(b+d) = (a+c) (b+d).and so on for : Algorithmic simplification according to Quine/McCluskey The suitability of the above presented minimiation methods, decreases with an increasing complexity of the circuit under consideration. The usage of the KV diagram for example gets complex for a number of variables of n > 4 and for a number of n > 6 the geometric construction gets too complicated. Suitable minimiation methods for functions with a number of variables of n > 6 are algorithmic approaches that are suitable for computer-based execution and therefore have no limitation for the number of variables. One of these methods was first introduced by W.Quine in 95 and enhanced later by E.Mc Cluskey (956). The so called Quine/McCluskey Algorithm is performed in two steps and will be described in detail in the next section. 5.. The Quine / McCluskey algorithm The Quine / McCluskey algorithm is split-up into two major parts:. determination of the prime implicants of the given function. selection of a minimum set (number) of prime implicants that cover the given function (and has the minimum cost). Given is a function f with a number of n variables and consisting of a number of i minterms m i and j don t care terms d j.,,. n i j Without loss of generaliation we will in the following consider only functions consisting of minterms only, like,,. n i st Step: Determination of prime implicants Definition: A term p of a logic function f is called prime term if it cannot be combined with another term of f that differs from p. or: Prime term p of f is a subdomain of f and all variables are needed. The first task thus is to find pairs of terms that differ in only one variable, starting from the DNF. For that purpose the following scheme will be used consecutively. Successive procedure: (algorithmic description). Determination of the DNF and a list of minterms. As far as possible: pairwise combination of (min)terms and set up of a list of products. Repetition of. with an updated list after every repetition until:.4 no further minimiation is possible any more. Result on termination: Note all combined terms and all unused minterms. Together, these are the prime implicants of the function f, which now can be written as,,. n k with pk = prime implicants and k= number of prime implicants 59 6

31 nd Step: Determine the minimum number of prime implicants (minimum cover) Successive procedure: (algorithmic description). Construction of a prime-implicant chart The prime implicant chart is a table in which the rows correspond to the prime implicants and the columns to the minterms. Each row (prime implicant) is marked with a x, if the minterm corresponding to that column is covered by the prime implicant.. Determination of essential prime implicants Search for all columns with only one x (origin cross). In such cases the minterm m i is associated to exactly one prime implicant p j. Prime implicants fulfilling this condition are called essential prime implicants. All rows containing a prime implicant are called essential rows. All essential prime implicants have to be part of the solution..) Reduction of prime implicant chart a.) Cancellation of all columns with x in essential row. b) Cancellation of arisen empty rows Result so far: Explicit minimiation (no options and choices) Determination of the essential prime implicants Determination of a reduced matrix (by means of canceling columns and rows). Algorithm can terminate here! In general: not all minterms are covered by now. Therefore, selection of prime implicants which cover the remaining minterms is needed..4) Search for identical rows In case of identical rows: Choice of one row and cancelation of the remaining identical row(s)..5) Search for dominant rows A row r x is covered by a row r y if the set of minterms covered by rx is a subset of the minterms covered by ry. Dominated rows can be cancelled out..6) Search for dominant columns Example The Quine/Mc Cluskey algorithm will now be presented on the following example. Origin is the equation f in its DNF. f( A, B, C, D) = ABCD+ ABCD+ ABCD+ ABCD+ ABCD+ ABCD. Determination of the DNF and a list of minterms Every term in f represents a minterm of the function f. To every single of these minterms a weight can be assigned now, which gives the number of non-negated variables. m = ABCD m = ABCD m = ABCD m = ABCD 4 m = ABCD 5 m = ABCD 6 Weight = Weight = Weight = Weight = Weight = Weight = Now the following (minterm) table can be constructed, in which the minterms are organied in ascending weight. In doing so, all minterms are grouped in classes of weights. Weight Nr A B C D Minterm I m I m I I m4 4 I I I m 5 I I I m5 6 I I I m6 Table 5.: minterm table. As far as possible: pairwise combination of (min)terms and set up of a list of products The task of pairwise combination of minterms starts with combining minterms which differ in only one variable. This step is comparable to the combination of two neighboring fields in a KV-Map. In the Quine/McCluskey algorithm the search for these terms occurs by comparison of every minterm of weight g with all minterms in neighboring classes with weights g+ and g-. Differences in only one variable occur in such a way, 6

32 that in the minterm of weight g a certain variable is given in negated form and in the minterm of weight g+ (or g-) the same variable is given in non-negated form. Looking at table 5. we start with m and compare this with m4. It can be seen that these two minterms differ in more than one variable and therefore cannot be combined. In the next table m has to included in its original form; see first line in table 5.. Compare m and m4: these two minterms differ only in the variable B. Therefore they can be combined. The result is given as the second row in table 5.. Notice that the origin is marked in the left colums. In the same manner the following comparisons have to be conducted: m4 and m m4 and m5 m4 and m6 Finally, the resulting table can be given. origin A B C D m I m,m4 - I m,m4 I I - m5 I I I m4,m6 - I I Table 5.. Repetition of. with an updated list after every repetition until: The first step has to be repeated until no more combining is possible any more. At first the algorithm searches for terms marked with a - at the same position and that differ in only one more variable. Such terms can be further combined and have to be marked in the resulting table with an additional -. At this stage, identical terms are possible. In this case one of them can be deleted. In comparison to the KV-map, here all neighboring 4-fields are combined. All rows that can be further combined have to be marked and can be left out from the production of the next table, but must be considered at the final step.4. In the next repetition all neighboring n fields are combined. If no more combining is possible, all non-marked, non-deleted rows give the prime terms of the function. In this example, the first minterm table is not combinable any further and thus directly gives the prime implicants of the function f..4 no further minimiation is possible any more. In case no further combinations are possible, every row of the resulting table gives a prime implicant origin A B C D Prime implicants m I p m,m4 - I p m,m4 I I - p m5 I I I p4 m4,m6 - I I p5 Table 5. The function f therefore can now be written as f = p + p + p + p4 + p5 = ABCD + ACD + ABC + ABCD + BCD With it, step of the Quine/Mc Cluskey algorithm is finished. nd Step: Determine the minimum number of prime implicants (minimum cover). Construction of a prime-implicant chart The nd step starts with the construction of the prime-implicant chart. Table 5.4 gives the prime implicant chart of the function f. Minterm m m m m 4 m 5 m 6 p x Prime- p x x implicants p x x p4 x p5 x x Table 5.4 : prime-implicant chart of the function f It can be seen from table 5. that the columns of m, m, m, m5 and m6 are all marked only with one x. Therefore, the corresponding prime implicants p, p, p, p4 and p5 all are essential prime implicants and the function f can be written as f = p+p+p+p4+p5 6 64

33 In that case, the algorithm terminates here and we describe the next steps by the example of a function f.. Determination of essential prime implicants Given is now a function f and its prime implicant chart in table 5.5. m m m m4 m5 m6 p x x p x x p x x p4 x x p5 x x x x p6 x Table 5.5 : prime-implicant chart of the function f To find the prime implicants we have to find columns with only one x and mark the corresponding row with a *. These are the so called essential prime implicants of the function. Essential prime implicants are an essential part of the solution, as the covered minterms are not covered by any of the other prime implicants. m m m m4 m5 m6 p X x p* x x p x x p4 X x p5 X x X x p6 x Table 5.6 m is only covered by p => essential primeterm. Equally m4 is covered only by p. Thus p is an essential primeterm, too. m m M m4 m5 m6 p x x p x x p* x x p4 x X p5 x x x x p6 X Table 5.7 p and p are the essential prime implicants of the function f.) Reduction of prime implicant chart The prime implicants and the minterms covered by that prime implicants can now be removed from the prime-implicants chart. Notice that looking from the prime implicants (rows) at the chart, more than only one minterm might be covered by a prime implicant. In our case, the prime implicant p covers not only m but also m. Same is for p, which not only covers m4, but also m. m m m m4 m5 m6 p x x p * x x p * x x p4 x x p5 x x x x p6 x Table 5.8 The reduction of the prime implicant chart starts with marking the rows of the essential primeterms. Further more all columns of the marked rows that are marked with an x have to be marked and can be cancelled. m m m m4 m5 m6 p X x p * x x p * x x p4 x x p5 x x x x p6 x Canceling columns Table

34 As a result the following prime implicant chart is produced. m m5 m6 p x p4 x x p5 x x x p6 x Table 5. Up to now, the algorithm issued as clear part solutions the essential prime implicants and the remainder prime implicant chart without any choice. The Algorithm ca terminate here. In general however this is not the case, and a choice must be made from the remaining prime implicants, which cover the remaining minterm as well..4) Search for identical rows In the given example, there are no identical rows.5) Search for dominant rows m m5 m6 p x p4 x x p5 x x x p6 x Table 5. A look at the reduced prime implicant chart shows p4 dominates p6; p5 dominates p and p4 (row dominance) => dominant primeterms: p5 So the minimied function is: f( p, p, p, p4, p5)= f = p + p + p5.6) Search for dominant columns As an example for column dominance, we look at the following reduced prime implicant chart: p i m i m m p x x p x Table 5. Column m dominates column m : m m, i.e. p is omitted and p remains In general it holds for the solution: Solution: Σmin pi: Disjunction of all essential primeterms (from. -.) and one choice (from.4 -.6) The obtained DF is an expression of minimum length. The minimiation offers choices in the steps These choices can be supported via cost function by means of: Minimiation of the terms => Minimiation of gates Minimiation of literals (Variables) => Minimiation of transmission lines 5.. Cost functions Circuits are normally subject to specific objectives, which are written down in a specification. According to these objectives, designs can be optimied and choices can be controlled. Objectives for optimiation could be e.g.: minimum effort for realiation, maximum speed, minimum power-consumption, or easy testability. The formulation of a cost function is therefore often unavoidable. There exist however multiple cost functions, where it depends on the targeting technology, which is the best to choose. For the realiation of multi layered functions there are different possibilities, e.g

35 Figure 5. Cost function of the lines (K L ) is to be minimied K L! = min.) Cost function (K G ) of the gates is to be minimied K G! = min It holds G:= Number of gates in the circuit L:= Number of transmission lines in the circuit e.g. KL = L, KG = G! KGL, = KG + KL = min Due to the matter of fact, that gates are normally a lot more expensive than transmission lines, a common result is: KGL, = G+ L The task thus is primarily, to obtain K G and K L. In advance however, the totality of valuable solutions has to be found. This totality of all solutions and a weight for the cost function can be found by the help of Petrick s method. 5.. Petrick s method The Quine/McCluskey algorithm offers choices for the selection of primeterms in steps Petrick developed an algebraic method for this purpose in 956. The petrick expression used for that is a propositional logic formulation that leads to the terms that have to be chosen or might be chosen for a solution. This method uses a matrix based description, as done with the Quine/McCluskey algorithm. Origin is the prime implicant chart of a function f. Assume all essential primeterms are already found. f m m m p X X p X X p X X Table 5. For every primeterm p i Petrick defines a Boolean variable e i, for which holds: e i := I if p i covers a minterm m j if p i doesn t cover a minterm m j Petrick s method now indicates the alternative choices of covering primeterms p i for every minterm m j. For the example it thus holds PA m = e + e PA m = e + e PA m = e + e As every minterm has to be covered in the petrick expression, a conjunction of the petrick expressions of the minterms has to follow. For the example it holds PA = (e + e ) (e + e ) (e + e ) = (e e + e e + e e + e e ) (e + e ) = e e e + e e e + e e e + e e e + e e e + e e e + e e e + e e e = e e + e e + e e + e e e + e e e + e e e + e e + e e = e e + e e + e e + e e e + e e e + e e + e e + e e () () () () () () (4) (4) = e e + e e + + e e e e e With it, there exist 4 solutions in total. (This number was unknown, jet): PA = p p + p p + p p + p p p These solutions have to be weighted now for the cost function. Therefore the following example has to be considered: Example: Given the function f with 4 variables and the following prime implicant chart Objective of minimiation: Minimum length: L(f) Literale pi + i Whereas i is considered the outputs of p i (Only one output is considered here) = i 69 7

36 Reference number of m i equals its binary value: = ; = I etc m i Cost function p k c k p x 4x x x p x x x x p x 4xx x x p 4 x 4xx x p 5 x 4xx x x p 6 x 4xx x x p 7 x xx x x c k : Number of (input)variables in p i Table 5.4 The petrick expression can be computed to (practice at home) PA = (p5 + p 6) (p + p 6) (p5 + p 7) p4 (p + p ) (p + p 7) (p + p ) = I PA = pp4p6p7 + ppp4p5 + ppp4p5p6 + ppp4p5p7 + ppp4p5p7 = I There exist 5 solutions, namely Interpretation: Number of Primeterms L : p + p4 + p6 + p7 K L =Σc k = K G =4 L : p + p + p4 + p5 K L = K G =4 L : p + p + p4 + p5 + p6 K L =4 K G =5 L 4 : p + p + p4 + p5 + p7 K L4 =4 K G4 =5 L 5 : p + p + p4 + p5 + p7 K L5 = K G5 =5 The solutions L and L are therefore the best to choose and they are equally well suitable.!! 5..4 Proceeding in combinational circuit synthesis In circuit synthesis (combinatorial circuit) the following scheme can be used:. Evaluate the number of input- & output-variables from the specification of the problem.. Describe the relations between the inputs & outputs of the circuitry. => Set up the truth table.. From the truth table, derive the CNF or DNF and simplify. => Set up a function, a KV map; Quine/McCluskey Algorithm => Evaluate the minimiation result (Optimiation), e.g. Cost function 4. If necessary transform the circuit to NAND/NAND and respectively NOR/NOR structure. 5. Draw the circuit. 5. State machine minimiation Most of the circuits, discussed up to now were combinatorial circuits. In these circuits, the outputs at a certain time (apart from propagation delay times) are only depending on the inputs at the same time. Sequential circuits outputs however are also depending on former inputs. In addition to combinational devices, sequential circuits also consist of memory elements like flip-flops. The stored information is characteristic for the state of the sequential circuit. A circuit with n binary storage elements can be in one of n possible states. Sequential circuits can be constructed synchronously or asynchronously. The state of synchronous sequential circuits only changes at well defined points in time, controlled by one clock-signal. Asynchronous sequential circuits don t behave like that. There the function of the circuit depends on certain additional boundaryconditions which can vary by construction or operation. These circuits are a lot more complex and difficult to design therefore bigger sequential circuits are normally designed as synchronous circuits. In the following we will only deal with synchronous circuits. For the treatment of asynchronous ones, referred literature may be used. 7 7

37 5.. Repetition: State Machines State machine theory is suitable for the synthesis of synchronous circuits. The general state machine model will be determined by the following parameters: X: Input set/vector Y: Output set/vector Z: State set/vector or as an illustration of components : figure 5.5: Mealy-State Machine Model Moore-State Machine A Moore-State Machine is defined through its Output function h: Y n = h(z n ) State transition function g: Z n+ = g(x n,z n ) figure 5.4: General State Machine Model The changes in states will be described by a transition function (e.g. g). The output vector Y is derived from the output function (e.g. f). For clarification of the time sequences highly set indices will be used. With this follows, for the description of a state machine in vector form: Input vector: X n State vector: Z n State transition function: g(x n,z n ) Next state vector: Z n+ = g(x n,z n ) Output function: f(x n,z n ) Output vector: Y n = f(x n,z n ) Mealy-State Machine A Mealy-State Machine is defined through its Output function f: Y n = f(x n,z n ) as well as State transition function g: Z n+ = g(x n,z n ) figure 5.6: Moore-State Machine Model another notation: Y n = f(z n+ ) results from replacing Z n+ => Y n = f(g(x n,z n )) Comparison of the Mealy- and Moore-State Machines. In a stable state can appear in a Mealy-State Machine different output vectors in a Moore-State Machine only one output vector.. Mealy- and Moore-State Machines can be transformed into each other.. Y n = Z n : No output functions available => Medwedjew-State Machine 5.. Forms of Describing State Machines 5... State machine tables The state table (also State Machine Table) is a common form of illustrating state machines. It defines all details of the behavior of a state of a state machine. It 7 74

38 consists of three clumn areas. The first column contains a list of all possible states. The second column area contains a list of all possible input combinations in its first row. All other elements inside this matrix give the next states depending on the combination of actual states and possible inputs. Therefore it is a representation of the state transition function, see Table 5.5. The same table can be used to assign the output values to the next states resulting from the output function. The combination of both tables leads to the full state machine table as given in Table 5.7. (uncoded illustration): Transition Table Output table x x... x i... x k x X... x i... x k.. ij =g(x i, j ) j.. l Table 5.5 Transition table x x... x i... x k.. y ij =f(x i, j ) j.. l Table 5.6: Output tablestate table.. ij /y ij j.. l Table 5.7 state table The state table illustrated above is equivalent to a Mealy-State Machine. In the state table of a Moore-State Machine, only the next state will be entered in the Transition table. As the output function is only a function of the actual state and is independent of the input values xi, the output will be noted in a further column (the third column area): State table of a Moore State Machine x x... x i... x k ij y y.... j y u.... l y v Table 5.8: State table of a Moore Machine If certain elements ij and/or y ij, are missing one speaks of an incompletely determined state machine, otherwise the machine in completely determined. Application of the State Table for the a) Analysis of circuits b) Synthesis of circuits Revision Fundamentals of Computer Engineering. Definition of an In- and Output variable. Choice of type of state machine (Moore, Mealy, ). State coding 4. Choice of type of flip flop and calculation of the flip-flops input functions 5. Design of the circuit for the state transition function 6. Design the circuit for the output function 7. Eventual transformation of the logical expressions into suitable structured expressions 8. Application in the circuit diagram 5... State-Transition Diagram A state transition diagram is used to for graphical representation of a state machine. A graph is composed of nodes and edges. The nodes are assigned the states of the state machine. This follows that a state machine is composed of A finite number of nodes (circle) The connecting lines between the nodes; the edges. Each edge is a transition between two states. Arrows on the edges show the direction of the transistion (directed graph). A sequence (chain) of edges is called a path. In a connected graph, every node is reachable by every other node by at least one path

39 Looking at a single node, the number of edges leading from that nodes to other nodes is limited by the number of maximum input combinations. The edges are labeled with input/output Rule.: With three state variables, a maximum of eight states can be coded and can therefore use a maximum of eight nodes. k state variables => k nodes Rule.: With three input variables, eight input combinations can be coded and can therefore use a maximum of eight edges per node. m input variables => m edges per node 5... Timing Diagram For the description of the state machine behavior, one can use the impulse diagrams. They offer a clear illustration, where the variable is directly applied. Example 5.: Design of a State Machine for the control of a processing circuit. The designing of a processing circuit resulted in the following impulse diagram for the control of the processing part of the synchronous circuit to be designed. In the diagram LR is a LOAD signal, which with LR= I works towards the parallel loading of the Operand registers with valid data. CL is the CLEAR Signal (active low) for the register holding the result Example 5.: RS-Flip flop S R n+ Q Function n Q Save Reset Set X Not allowed Table 5.9: Truth table of the RS-flip flop resulting state table: Inputs I I / / /I Z /I / /I Table 5.: state table of RS Flip Flop figure 5.: Impulse diagram Now, it remains to develop the synchronous circuit, which is started via the input STRT and produces the signal sequences for LR and CL shown in the Impulse diagram above. The memory elements of the circuit are to be synchronised with the positive flanks of the clock. Where for the moment, only the crossing from STRT= to STRT=I is decisive. The state with STRT= will be defined in this way as Z. Once STRT is set to I, it s value negligible for further course. In this way, the individual clock pulses for STRT=I can be assigned the states Z to Z 4, see figure 5.. figure 5.7 state transition diagram of a RS Flip Flop 77 78

40 The number of lines X n and Y n are in most cases defined by the application and it is very difficult to influence them. Due to costs, the number Z n of the states is decisive. Therefore the aim of state machine minimiation is the minimiation of the states Z n. Example 5.: Trivial Simplification figure 5.: Impulse diagram and corresponding states With Z 4 the state machine reaches it s final state and LR=CL=. Before running a new sequence of states STRT must be set to = for at least one clock pulse, i.e. change the state machine once into the state Z. The state Z will be described in the illustrated relation as sharper state. The state Z 4 leads the circuit into independency from STRT in the sharp state or remains in Z 4. Due to this, the state table can now be positioned. Z STRT= STRT=I LR CL Z Z Z Z Z Z I Z Z Z I Z Z4 Z4 I Z4 Z Z4 Table 5.: state transition table for impulse diagram in figure 5. figure 5.: state transition diagram for Example 5. (Entire frame contains the state machines discussed above.) R: Reset or Starting Point In the first step eliminate: Non-reachable States isolated States isolated sub-graphs Remark: R: A/W-Reset in State Table 5.. Trivial state machine minimiation The aims of state machine minimiation will be discussed based on the Mealy State Machine example illustrated in figure 5.. In the example K and K show the combinatorial circuit parts of the state machine. The states are realied in Block Z. figure 5.: minimied state transition diagram of machine in figure 5. figure 5.: Mealy-State Machine 79 8

41 5..4 Minimiation according to Huffmann and Mealy The minimiation of a state machine means to reduce the number of states (if possible). The number of states can be reduced either when states can be eliminated or when they can be summaried with other states. According to Huffmann and Mealy two states can be summaried to one state, if they are equivalent. The principle requirement for equivalency is that they have - for identical input values - the same next state with - identical output vectors. Example 5.: figure 5.4: simplified state diagram for machine in figure 5. Minimiation is likewise (and more systematic in the process) possible in the state table. figure 5.: State transition diagram for Example 5. Here the following are equivalent: State 5: X = -> Z n+ =, with Y n+ = I X = I -> Z n+ =, with Y n+ = State 6: as in State 5 That means the state transition diagram can be simplified to: Z n Z n+ Y n Y n+ X= X=I X= X=I 7 V I 6 I I 4 I I 4 5 I 5 I I 6 I I 7 5 I Table 5.4: state transition table for machine in figure 5. V: dependent on previous state From the table it follows immediately that: State 6 is identical to State 5 State 7 is identical to State 4 In this way the states 6 and 7 can be eliminated and the state table can be updated respectively: 8 8

42 Z n Z n+ Y n Y n+ X= X=I X= X=I 4 V I 5 I I 4 I I 4 5 I 5 I I Table 5.5: simplified state transition table of machine in Table 5.8 Due to the update, it is now recognisable that also the states and 4 are equivalent. It follows that after striking off the state 4. Z n Z n+ Y n Y n+ X= X=I X= X=I V I 5 I I I I 5 I I Table 5.6: further simplified state transition table of machine in Table 5.5 Minimied State Transition Diagram: figure 5.5: minimied state transition diagramm 5..5 The Moore Algorithm In addition to the above mentioned equivalence, there exists a further form of equivalence. Assuming that, in the next state rows of two states there are states Z k Z l k Z l again row similarities. Example 5.: The following state table is given. Z a b c Y Table 5.7: state transition table for Example 5. The principle requirement for each summary is as before, that the associated output of the states are equal. We will initially consider the states and for which this condition is fulfilled. - Input b : equal next state : 4 - Inbut b : when, can be summarised (hypothesis), the equal next state (remains in it s state) - Input a: only equal next state when, / can be summarised. => This is the case under the same conditions The equivalence identified in this way, will be described as -equivalence and is eventually also be determined via the method of closely(sharply) looking. It is however better to aim for a procedure, which possesses general validity. The MOORE-Algorithm exists hereby for searching for the k-equivalent states. This procedure works iteratively and finds the minimal partition (End class), where the blocks of this partition illustrate the minimum state set.. Step: Set -equivalence to -equivalent are in the example, all states with the same output. hier : B P = = (,) { B, B } B Die Zustände und = (,,4) sowie, und 4 sind jeweils äquivalent 8 84

43 .Step: Iteration - To find the k-equivalents: search blocks of the (k-)-equivalents for next states upon entering the same input. k k k - The block B i disintegrates into B x and B y, when the next states of the k block B i fall into different blocks of (k-)-equivalents; otherwise the states are k--equivalent. - Aborting the iteration: when no more further fragmentation is possible. Re-tranformation Table: 5.: resulting Moore-table Coding, and so on. Rotation of the Moore-Table Table 5.: Resulting state transition table Example. (Continuation) Table 5.8: Investigating on -equivalence Iteration: Investigating on -equivalence Table 5.9: -equivalent state transition table States (, ) and (,) and (4) are equivalent The minimied state machine consists of three states 5..6 Algorithmic Formulation of the Minimiation by Moore: Definition: Two states Z m and Z n of a Moore State Machine are k-equivalent, when for every subsequence α of the possible sequences of inputs with α k vectors it is valid that: g(z m, α) = g(z n, α) Considerable is a systematic comparison of all sub sequences with the variable k. However, a systematic search of the k-equivalence classes beginning with the - equivalence can be constructed. All states with identical exits illustrate -equivalence classes. Should states be k-equivalent, this way they are also (k-)-equivalent. For (M k M k- )- a (k-)-equivalence is proven, in this way k-equivalent states illustrate exactly the subset of the (k-)-equivalent states, which via an arbitrary input vector are once again passed into (k-)-equivalence classes The search for highly valued k-equivalences must be continued, until it is proven that A state set is k-equivalent and (k+)-equivalent (and therefore k+, k+...); These states are equivalent w.r.t. arbitrary input sequence or/and State sets now only contain a single element; this state is therefore equivalent to no other

44 5. Conversion of State Machines In some tasks, a conversion into one of the two types of state machines, Moore or Mealy, offers further advantages: Examples.4: figure 5.7: Moore-State Machine with states Upon the conversion into a Mealy-State Machine the state machine in diagram.8 behaves in the same way but consists only of one state. figure 5.8: Equivalent Mealy-State Machine figure 5.6: Moore-algorithm For the transformation of both state machine types into each other, it is valid that:. Every Moore-State Machine is at the same time a Mealy-Machine.. For every Mealy-State Machine there exists an equivalent Moore-State Machine. (Formal proof via the introduction of the Markings function (Markierungsfunktion), see [Stür/Cimander]) for.: A comparison of the tables. and.4 shows that, the state sets Z and the input set X of both types of state machines are in principle identical. In both cases, the next state can be calculated from the transition function: Z n+ = g(x n,z n ). The outputs of the Moore-State Machine are in contras to the Mealy-State Machine however not assigned to the state transitions from one state to the next, instead they are assigned to the states themselves and therefore independent from the inputs x i. For the transformation of a Moore- State Machine into a Mealy-State Machine the outputs Y must directly be assigned the states Z

45 Example 5.5: Given is the Moore State Machine according to Table 5.. Z x x x Y y y y Output function: Y n = h(z n ) State Transition function: Z n+ = g(x n,z n ) Table 5.: State transition table of a Moore Machine The individual next state elements of the equivalent Mealy-State Machine do now derive, when the output function of the Moore State Machine is considered in the state transition table. For the Moore State Machine according to Table 5.6 it is valid that Y n = h(z n ), i.e. in component notation y = h( ), y =h( ), y =h( ). Herewith,the equivalent Mealy-State Machine results according to Table 5.7. Z Y x y y y x y y y x y y y Table 5.: State transition of a Mealy Machine which is equivalent to Table 5. for.: Not every Mealy-State Machine is at the same time a Moore-State Machine: should for example in a state transition diagram of a mealy machine the outputs on the edges which end on the same nodes not match, then this state machine is not a Moore-State Machine (since the respective nodes must be assigned several outputs). In order to obtain an equivalent Moore-State Machine, as many new nodes as the number of different outputs on the edges of original nodes must be directed from the nodes of the Mealy-State Machine. In general, a Moore-State Machine equivalent to a Mealy-State Machine has therefore more states as the original Mealy-State Machine. Example.6: The Mealy-State Machine according to Table 5.8 should be transformed into an equivalent Moore-State Machine. x y x y y y4 Table 5.4: State transition table of a Mealy Machine n+ The next states k of the Mealy-State Machine are included in the matrix elements [x i, j ] and can be calculated from the transfer function of the Mealy- State Machine: n+ k = g(x i, j ) [x i, j ] Thereby in the Mealy-State Machine appear the following next states each with different outputs and therefore they have to be decomposed in new states * with according outputs, in order to transform into a Moore-State Machine. For the assignment of the new states of the Moore-State Machine to the original states of the Mealy-State Machine the following correlation holds: * * * * {,,, } [ X, Z ][, X, Z ][, X, Z ][, X, Z ] * Z = 4 = { } Or by components: * = [x, ] = /y with assigned output y * = [x, ] = /y with assigned output y * = [x, ] = /y with assigned output y 4 * = [x, ] = /y 4 with assigned output y 4 This results in the following first structure of an equivalent Moore-State Machine. x x * = [ x, ] y * = [ x, ] y * = [ x, ] y * 4 = [ x, ] y4 Table 5.5: First structure of a Moore Machines state transition table which is equivalent to Table

46 The next states of the Moore-State Machine can now be determined by the transfer function g*(x i, j *) of the Moore-State Machine. Thereby it holds for the state-variables j * the correlation indicated above to the original Mealy- State Machine. Therefore the next states of the Moore-State Machine are determined as: * n + k = g*(x i, j *) with j * = [x i, j ] = g (x i, j ) k Determination of the next states Next state [x, *]: * n + k [x, *] = g*(x, *) with * [x, ] = g (x, ) = [x, ] = with * * n + k Next state [x, *]: 6. Elementary Sequential Circuits and Sequential Circuit Design and Analysis Sequential circuits are mostly used for storage and timing purposes. Therefore the most popular standard applications are counters and registers that perform various counting, shifting, timing, sequencing or delay operations. Most digital systems basically consist of two sequential circuit units, the control unit and the arithmetic logic unit. The control unit passes information about operators and operands to the ALU, whereas the ALU processes this data. In this context the control unit is a processor that controls a process and the ALU is a processor that executes this process. This definition however seems a bit blurred, which may result from the fact that the tasks of the control unit and the ALU cannot be separated from each other that precise. * n + k [x, *] = g*(x, *) with * [x, ] = g (x, ) = [x, ] = with * * n + k Next state [x, *]: * n + k [x, *] = g*(x, *) with * [x, ] = g (x, ) = [x, ] = with * * n + k In adequate manner, the remaining states of the Moore-State Machine can be determined. It follows the equivalent Moore-State Machine depicted in Table 5.6. figure 6. * * * * 4 x * * * * x * 4 * * * 4 y y y y 4 Table 5.6: equivalent state transition table of a Moore Machine Control units in general can be designed as finite state-machines by help of the Mealy-model. One major task is the design of micro program control units for instruction control in modern microprocessors. A given microprocessor instruction is in that case decomposed to a sequence of so called micro instructions. The according sequence is stored in a micro program store. 9 9

47 6. Design of synchronous counters Synchronous counters are sequential circuits that consist of a sequential part (flipflops) and a combinational part. In case of a synchronous counter, all flip-flops are clocked by same time by a clock signal. The combinational part generates the input functions for the flip-flops. For clarification the following figure illustrates the block-diagram of a 4-bit upwards-counter. figure 6. The control unit given in the above figure essentially consists of a register and a combinational circuit. The register contains the state of the control unit, the combinational circuit stores the program. The combinational circuit can be constructed by discrete logic, or by integrated technology, e.g. by the use of ROMs or PLAs. k: length of data (Z n+ + Y n ) ROM: no. of bit; always m k PLA: no. of conjunctions and disjunction in equations: m L: where often L << k, especially for great numbers of m and k Furthermore, in both types of processors counters and registers can be found. Counters are also used in many applications in data processing. Every time a large amount of events in a large period of time, or a fast sequence of events has to be measured, electronic counters are very suitable. Electronic counters are capable of counting a sequence of pulses on their input, where the counter doesn t care about the type of pulse generator. Counters are circuits that contain a well defined allocation between the number of pulses at their inputs and the states of their outputs. With a number of n outputs, n combinations are possible, which represent a specific state. These outputs can be used to display or continue working with the information. A counter that adds incoming pulses, counts upwards. Correspondingly a counter counts downwards if it subtracts incoming pulses. Counters are subdivided into synchronous and asynchronous counters. In case of synchronous counters, all elements are controlled by a parallel clock line. Asynchronous counters pass the clock signal from the outputs of one component to the inputs of the next one. The used code distinguishes binary counters from BCD-counters. BCD-counters can be used to count in aiken-code or excess--code. 9 figure 6.: 4-bit upwards-dual-counter Therefore, the process of designing a synchronous counter can be divided in two parts. Within the first part we design the combinational logic that decodes the various states of the counter to supply the logic levels to the flip-flops input. The input of these decoder circuits will come from the outputs of one or more flip flops. Counters can be designed using the Moore- or the Mealy-Model. Starting point for all counter designs is a truth-table with the counting sequence. In total, the design of a synchronous counter can be described in six steps: Step : Step : Step : Step 4: Step 5: Step 6: In the first step, the desired counting sequence and the desired number of bits (flip flops) is determined. Draw the state transition diagram that shows all possible states. Don t forget to include those that are not part of the desired counting sequence Set up the state transition table that corresponds to the state transition diagram. Code the table and read the flip flop equations from the table. Choose a flip flop type and design the logic circuit to generate the levels required at each flip flop input Implement the final expressions 94

48 Example 6.: Design of a synchronous 4-bit upwards-counter. Step Step A 4-bit upwards-dual-counter passes through the following 6 states: The truth-table for the according count sequence is given in the following. D C B A Z Z Z Z Z4 Z5 Z6 Z7 Z8 Z9 Z Z Z Z Z4 Z5 Table 6. There are 6 different outputs, where every output is assigned to a state. Therefore, the number of flip flops needed is calculated as ld(6)=4 => 4 flip flops are needed Figure 6.4: counting sequence for example 6.. (uncoded states) Step : With the state transition diagram in figure 6. the uncoded state transition table for the counter can be specified. Current state Next state Z Z Z Z Z Z Z Z4 Z4 Z5 Z5 Z6 Z6 Z7 Z7 Z8 Z8 Z9 Z9 Z Z Z Z Z Z Z Z Z4 Z4 Z5 Z5 Z Table

49 Step 4: Next a code needs to be chose, here the dual code Z=; Z=, Z=. and so on The coded state transition diagram is given in figure 6.5, the corresponding coded state transition table is shown in table 6. Q + Q Q I I I I Q I I I I Q Figure 6.6: KV-Map for Q + From the KV-map it can be read + Q = Q figure 6.5: counting sequence for example 6.. (coded states) Current state Next state Q Q Q Q + Q + Q + Q + Q Table 6.: coded state transition table for example 6. From the coded state transition table the equations for the next state can be read and copied to a KV-Map, like shown in figure 6.6. Step 5 For the realiation by means of JK flip-flops the coefficients of the function have to be compared with the characteristic equation of the flip-flop. + Q = JQ + kq From this it follows that: J = and k = and respectively k = = J Accordingly for the remaining next states it holds: Q + Q Q I I I I Q I I Q Figure 6.7: KV-Map for Q + + = QQ QQ Q + Anew coefficient comparison gives: J =Q and K = Q and respectively K = Q = J Q + Q 97 98

50 Q I I I I Q I I I I Q Figure 6.8: KV-Map for Q + K = Q + Q + Q = J = Q Q Q = Q Q Q Step 6: Q + = Q Q + Q Q + Q Q Q = ( Q + Q ) Q + Q Q Q Comparison of coefficients: J = Q Q K = Q + Q DeMorgan: K = Q + Q Q + = J = Q Q = Q Q Q Q I I I I I I I Q I Q Figure 6.9: KV-Map for Q + With it the circuit of the synchronous 4-bit upwards-counter can be shown. figure 6.: implementation of the counter in examplee Design of asynchronous counters Asynchronous counters distinguish themselves from synchronous counters by not using the same clock signal for all flip-flops. The first flip-flop however is always controlled by the master clock signal. The clocking of the remaining flip-flops occurs by the outputs of the primary flip-flops. By that: not all flip-flops have to be designed for the maximum clock-input frequency C as not all flip-flops are switched by the master clock, the control functions for those flip-flops simplify. In total this leads to less complex combinational circuits for controlling the flip-flops, as can be seen in the following example of a 4-bit asynchronous counter when being compared to the synchronous counter. Q + = Q Q + Q Q + Q Q + Q Q Q Q = Q ( Q + Q + Q ) + Q Q Q Q Comparison of coefficients: J = Q Q Q K = Q + Q + Q DeMorgan figure 6. If a clock-line is connected to the input T of the first flip-flop, the following pulse- diagram can be found. 99

51 figure 6. This function can also be exhibited in a truth-table. If a value is assigned to every output (e.g. E=, E=, E=4, E=8), the dual-code is found and it can be proven that the counter runs through all numbers from to. clock E E E E number Table Shift registers In digital data-processing it is often reasonable to shift a piece of information stepwise, e.g. inside a memory chain. Such a memory chain is called shift register. Data are shifted by clock pulses about one or multiple positions, but only one position at one pulse. Shift registers are needed e.g. for basic arithmetic operations like multiplication and division. Both can be realied by an addition or respectively subtraction and a shift operation. Even only a shift operation represents a mathematical operation. If position-values are assigned to the outputs of a shift register then a shift of a dual number to the right corresponds to a division by and respectively a shift to the left corresponds to multiplication with. From a circuit-based view the shift register as well as the counter consists of a pure sequential part and a pure combinational part. The data in the register are shifted by the clock pulses from one memory-cell to the next. Mostly a conversion of the data format is possible, such that serial inputs/outputs can be converted into parallel inputs/outputs.

Combinational Circuits: Multiplexers, Decoders, Programmable Logic Devices

Combinational Circuits: Multiplexers, Decoders, Programmable Logic Devices Combinational Circuits: Multiplexers, Decoders, Programmable Logic Devices Lecture 5 Doru Todinca Textbook This chapter is based on the book [RothKinney]: Charles H. Roth, Larry L. Kinney, Fundamentals

More information

In this lecture: Lecture 8: ROM & Programmable Logic Devices

In this lecture: Lecture 8: ROM & Programmable Logic Devices In this lecture: Lecture 8: ROM Programmable Logic Devices Dr Pete Sedcole Department of EE Engineering Imperial College London http://caseeicacuk/~nps/ (Floyd, 3 5, 3) (Tocci 2, 24, 25, 27, 28, 3 34)

More information

Electronic Circuits EE359A

Electronic Circuits EE359A Electronic Circuits EE359A Bruce McNair B206 bmcnair@stevens.edu 201-216-5549 1 Memory and Advanced Digital Circuits - 2 Chapter 11 2 Figure 11.1 (a) Basic latch. (b) The latch with the feedback loop opened.

More information

Objective Questions. (a) Light (b) Temperature (c) Sound (d) all of these

Objective Questions. (a) Light (b) Temperature (c) Sound (d) all of these Objective Questions Module 1: Introduction 1. Which of the following is an analog quantity? (a) Light (b) Temperature (c) Sound (d) all of these 2. Which of the following is a digital quantity? (a) Electrical

More information

Logic Families. Describes Process used to implement devices Input and output structure of the device. Four general categories.

Logic Families. Describes Process used to implement devices Input and output structure of the device. Four general categories. Logic Families Characterizing Digital ICs Digital ICs characterized several ways Circuit Complexity Gives measure of number of transistors or gates Within single package Four general categories SSI - Small

More information

UNIT IV. Logic families can be classified broadly according to the technologies they are built with. The various technologies are listed below.

UNIT IV. Logic families can be classified broadly according to the technologies they are built with. The various technologies are listed below. UNIT IV Digital Logic Families Logic families can be classified broadly according to the technologies they are built with. The various technologies are listed below. DL : Diode Logic. RTL : Resistor Transistor

More information

Transistors, Gates and Busses 3/21/01 Lecture #

Transistors, Gates and Busses 3/21/01 Lecture # Transistors, Gates and Busses 3/2/ Lecture #8 6.7 The goal for today is to understand a bit about how a computer actually works: how it stores, adds, and communicates internally! How transistors make gates!

More information

Fan in: The number of inputs of a logic gate can handle.

Fan in: The number of inputs of a logic gate can handle. Subject Code: 17333 Model Answer Page 1/ 29 Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model

More information

Lecture 12 Memory Circuits. Memory Architecture: Decoders. Semiconductor Memory Classification. Array-Structured Memory Architecture RWM NVRWM ROM

Lecture 12 Memory Circuits. Memory Architecture: Decoders. Semiconductor Memory Classification. Array-Structured Memory Architecture RWM NVRWM ROM Semiconductor Memory Classification Lecture 12 Memory Circuits RWM NVRWM ROM Peter Cheung Department of Electrical & Electronic Engineering Imperial College London Reading: Weste Ch 8.3.1-8.3.2, Rabaey

More information

COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design

COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design PH-315 COMINATIONAL and SEUENTIAL LOGIC CIRCUITS Hardware implementation and software design A La Rosa I PURPOSE: To familiarize with combinational and sequential logic circuits Combinational circuits

More information

Memory, Latches, & Registers

Memory, Latches, & Registers Memory, Latches, & Registers 1) Structured Logic Arrays 2) Memory Arrays 3) Transparent Latches 4) Saving a few bucks at toll booths 5) Edge-triggered Registers Friday s class will be a lecture rather

More information

CS302 - Digital Logic Design Glossary By

CS302 - Digital Logic Design Glossary By CS302 - Digital Logic Design Glossary By ABEL : Advanced Boolean Expression Language; a software compiler language for SPLD programming; a type of hardware description language (HDL) Adder : A digital

More information

CS302 Digital Logic Design Solved Objective Midterm Papers For Preparation of Midterm Exam

CS302 Digital Logic Design Solved Objective Midterm Papers For Preparation of Midterm Exam CS302 Digital Logic Design Solved Objective Midterm Papers For Preparation of Midterm Exam MIDTERM EXAMINATION 2011 (October-November) Q-21 Draw function table of a half adder circuit? (2) Answer: - Page

More information

Code No: R Set No. 1

Code No: R Set No. 1 Code No: R05310402 Set No. 1 1. (a) What are the parameters that are necessary to define the electrical characteristics of CMOS circuits? Mention the typical values of a CMOS NAND gate. (b) Design a CMOS

More information

Chapter 3 Digital Logic Structures

Chapter 3 Digital Logic Structures Chapter 3 Digital Logic Structures Transistor: Building Block of Computers Microprocessors contain millions of transistors Intel Pentium 4 (2): 48 million IBM PowerPC 75FX (22): 38 million IBM/Apple PowerPC

More information

Memory Basics. historically defined as memory array with individual bit access refers to memory with both Read and Write capabilities

Memory Basics. historically defined as memory array with individual bit access refers to memory with both Read and Write capabilities Memory Basics RAM: Random Access Memory historically defined as memory array with individual bit access refers to memory with both Read and Write capabilities ROM: Read Only Memory no capabilities for

More information

Philips Semiconductors Programmable Logic Devices

Philips Semiconductors Programmable Logic Devices DESCRIPTION The PLD is a high speed, combinatorial Programmable Logic Array. The Philips Semiconductors state-of-the-art Oxide Isolated Bipolar fabrication process is employed to produce maximum propagation

More information

APPLICATION OF PROGRAMMABLE LOGIC DEVICES FOR ACQUISITION OF ECG SIGNAL WITH PACEMAKER PULSES 1. HISTORY OF PROGRAMMABLE CIRCUITS

APPLICATION OF PROGRAMMABLE LOGIC DEVICES FOR ACQUISITION OF ECG SIGNAL WITH PACEMAKER PULSES 1. HISTORY OF PROGRAMMABLE CIRCUITS JOURNAL OF MEDICAL INFORMATICS & TECHNOLOGIES Vol.4/2002, ISSN 1642-6037 Leszek DREWNIOK *, Janusz ZMUDZINSKI *, Jerzy GALECKA *, Adam GACEK * programmable circuits ECG acquisition with cardiostimulator

More information

FPGA Based System Design

FPGA Based System Design FPGA Based System Design Reference Wayne Wolf, FPGA-Based System Design Pearson Education, 2004 Why VLSI? Integration improves the design: higher speed; lower power; physically smaller. Integration reduces

More information

ECE 172 Digital Systems. Chapter 2 Digital Hardware. Herbert G. Mayer, PSU Status 6/30/2018

ECE 172 Digital Systems. Chapter 2 Digital Hardware. Herbert G. Mayer, PSU Status 6/30/2018 ECE 172 Digital Systems Chapter 2 Digital Hardware Herbert G. Mayer, PSU Status 6/30/2018 1 Syllabus l Term Sharing l Standard Forms l Hazards l Decoders l PLA vs. PAL l PROM l Bibliography 2 Product Term

More information

Lecture 18. BUS and MEMORY

Lecture 18. BUS and MEMORY Lecture 18 BUS and MEMORY Slides of Adam Postula used 12/8/2002 1 SIGNAL PROPAGATION FROM ONE SOURCE TO MANY SINKS A AND XOR Signal le - FANOUT = 3 AND AND B BUS LINE Signal Driver - Sgle Source Many Sks

More information

EE 330 Lecture 44. Digital Circuits. Dynamic Logic Circuits. Course Evaluation Reminder - All Electronic

EE 330 Lecture 44. Digital Circuits. Dynamic Logic Circuits. Course Evaluation Reminder - All Electronic EE 330 Lecture 44 Digital Circuits Dynamic Logic Circuits Course Evaluation Reminder - All Electronic Digital Building Blocks Shift Registers Sequential Logic Shift Registers (stack) Array Logic Memory

More information

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering FPGA Fabrics Reference Wayne Wolf, FPGA-Based System Design Pearson Education, 2004 CPLD / FPGA CPLD Interconnection of several PLD blocks with Programmable interconnect on a single chip Logic blocks executes

More information

Gates and Circuits 1

Gates and Circuits 1 1 Gates and Circuits Chapter Goals Identify the basic gates and describe the behavior of each Describe how gates are implemented using transistors Combine basic gates into circuits Describe the behavior

More information

Memory, Latches, & Registers

Memory, Latches, & Registers Memory, Latches, & Registers 1) Structured Logic Arrays 2) Memory Arrays 3) Transparent Latches 4) Saving a few bucks at toll booths 5) Edge-triggered Registers 1 General Table Lookup Synthesis A B 00

More information

Module -18 Flip flops

Module -18 Flip flops 1 Module -18 Flip flops 1. Introduction 2. Comparison of latches and flip flops. 3. Clock the trigger signal 4. Flip flops 4.1. Level triggered flip flops SR, D and JK flip flops 4.2. Edge triggered flip

More information

DIGITAL ELECTRONICS QUESTION BANK

DIGITAL ELECTRONICS QUESTION BANK DIGITAL ELECTRONICS QUESTION BANK Section A: 1. Which of the following are analog quantities, and which are digital? (a) Number of atoms in a simple of material (b) Altitude of an aircraft (c) Pressure

More information

CHAPTER 6 DIGITAL CIRCUIT DESIGN USING SINGLE ELECTRON TRANSISTOR LOGIC

CHAPTER 6 DIGITAL CIRCUIT DESIGN USING SINGLE ELECTRON TRANSISTOR LOGIC 94 CHAPTER 6 DIGITAL CIRCUIT DESIGN USING SINGLE ELECTRON TRANSISTOR LOGIC 6.1 INTRODUCTION The semiconductor digital circuits began with the Resistor Diode Logic (RDL) which was smaller in size, faster

More information

TECHNO INDIA BATANAGAR (DEPARTMENT OF ELECTRONICS & COMMUNICATION ENGINEERING) QUESTION BANK- 2018

TECHNO INDIA BATANAGAR (DEPARTMENT OF ELECTRONICS & COMMUNICATION ENGINEERING) QUESTION BANK- 2018 TECHNO INDIA BATANAGAR (DEPARTMENT OF ELECTRONICS & COMMUNICATION ENGINEERING) QUESTION BANK- 2018 Paper Setter Detail Name Designation Mobile No. E-mail ID Raina Modak Assistant Professor 6290025725 raina.modak@tib.edu.in

More information

PE713 FPGA Based System Design

PE713 FPGA Based System Design PE713 FPGA Based System Design Why VLSI? Dept. of EEE, Amrita School of Engineering Why ICs? Dept. of EEE, Amrita School of Engineering IC Classification ANALOG (OR LINEAR) ICs produce, amplify, or respond

More information

Memory (Part 1) RAM memory

Memory (Part 1) RAM memory Budapest University of Technology and Economics Department of Electron Devices Technology of IT Devices Lecture 7 Memory (Part 1) RAM memory Semiconductor memory Memory Overview MOS transistor recap and

More information

Implementing Logic with the Embedded Array

Implementing Logic with the Embedded Array Implementing Logic with the Embedded Array in FLEX 10K Devices May 2001, ver. 2.1 Product Information Bulletin 21 Introduction Altera s FLEX 10K devices are the first programmable logic devices (PLDs)

More information

電子電路. Memory and Advanced Digital Circuits

電子電路. Memory and Advanced Digital Circuits 電子電路 Memory and Advanced Digital Circuits Hsun-Hsiang Chen ( 陳勛祥 ) Department of Electronic Engineering National Changhua University of Education Email: chenhh@cc.ncue.edu.tw Spring 2010 2 Reference Microelectronic

More information

Preface to Third Edition Deep Submicron Digital IC Design p. 1 Introduction p. 1 Brief History of IC Industry p. 3 Review of Digital Logic Gate

Preface to Third Edition Deep Submicron Digital IC Design p. 1 Introduction p. 1 Brief History of IC Industry p. 3 Review of Digital Logic Gate Preface to Third Edition p. xiii Deep Submicron Digital IC Design p. 1 Introduction p. 1 Brief History of IC Industry p. 3 Review of Digital Logic Gate Design p. 6 Basic Logic Functions p. 6 Implementation

More information

Chapter 3. H/w s/w interface. hardware software Vijaykumar ECE495K Lecture Notes: Chapter 3 1

Chapter 3. H/w s/w interface. hardware software Vijaykumar ECE495K Lecture Notes: Chapter 3 1 Chapter 3 hardware software H/w s/w interface Problems Algorithms Prog. Lang & Interfaces Instruction Set Architecture Microarchitecture (Organization) Circuits Devices (Transistors) Bits 29 Vijaykumar

More information

Digital Electronics 8. Multiplexer & Demultiplexer

Digital Electronics 8. Multiplexer & Demultiplexer 1 Module -8 Multiplexers and Demultiplexers 1 Introduction 2 Principles of Multiplexing and Demultiplexing 3 Multiplexer 3.1 Types of multiplexer 3.2 A 2 to 1 multiplexer 3.3 A 4 to 1 multiplexer 3.4 Multiplex

More information

Digital Logic Circuits

Digital Logic Circuits Digital Logic Circuits Let s look at the essential features of digital logic circuits, which are at the heart of digital computers. Learning Objectives Understand the concepts of analog and digital signals

More information

Digital Design and System Implementation. Overview of Physical Implementations

Digital Design and System Implementation. Overview of Physical Implementations Digital Design and System Implementation Overview of Physical Implementations CMOS devices CMOS transistor circuit functional behavior Basic logic gates Transmission gates Tri-state buffers Flip-flops

More information

DS1075 EconOscillator/Divider

DS1075 EconOscillator/Divider EconOscillator/Divider www.dalsemi.com FEATURES Dual Fixed frequency outputs (30 KHz - 100 MHz) User-programmable on-chip dividers (from 1-513) User-programmable on-chip prescaler (1, 2, 4) No external

More information

Homework 10 posted just for practice. Office hours next week, schedule TBD. HKN review today. Your feedback is important!

Homework 10 posted just for practice. Office hours next week, schedule TBD. HKN review today. Your feedback is important! EE141 Fall 2005 Lecture 26 Memory (Cont.) Perspectives Administrative Stuff Homework 10 posted just for practice No need to turn in Office hours next week, schedule TBD. HKN review today. Your feedback

More information

Field Programmable Gate Array

Field Programmable Gate Array 9 Field Programmable Gate Array This chapter introduces the principles, implementation and programming of configurable logic circuits, from the point of view of cell design and interconnection strategy.

More information

PROGRAMMABLE ASICs. Antifuse SRAM EPROM

PROGRAMMABLE ASICs. Antifuse SRAM EPROM PROGRAMMABLE ASICs FPGAs hold array of basic logic cells Basic cells configured using Programming Technologies Programming Technology determines basic cell and interconnect scheme Programming Technologies

More information

DS1075. EconOscillator/Divider PRELIMINARY FEATURES PIN ASSIGNMENT FREQUENCY OPTIONS

DS1075. EconOscillator/Divider PRELIMINARY FEATURES PIN ASSIGNMENT FREQUENCY OPTIONS PRELIMINARY EconOscillator/Divider FEATURES Dual Fixed frequency outputs (200 KHz 100 MHz) User programmable on chip dividers (from 1 513) User programmable on chip prescaler (1, 2, 4) No external components

More information

Propagation Delay, Circuit Timing & Adder Design. ECE 152A Winter 2012

Propagation Delay, Circuit Timing & Adder Design. ECE 152A Winter 2012 Propagation Delay, Circuit Timing & Adder Design ECE 152A Winter 2012 Reading Assignment Brown and Vranesic 2 Introduction to Logic Circuits 2.9 Introduction to CAD Tools 2.9.1 Design Entry 2.9.2 Synthesis

More information

Winter 14 EXAMINATION Subject Code: Model Answer P a g e 1/28

Winter 14 EXAMINATION Subject Code: Model Answer P a g e 1/28 Subject Code: 17333 Model Answer P a g e 1/28 Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model

More information

Propagation Delay, Circuit Timing & Adder Design

Propagation Delay, Circuit Timing & Adder Design Propagation Delay, Circuit Timing & Adder Design ECE 152A Winter 2012 Reading Assignment Brown and Vranesic 2 Introduction to Logic Circuits 2.9 Introduction to CAD Tools 2.9.1 Design Entry 2.9.2 Synthesis

More information

Gates and and Circuits

Gates and and Circuits Chapter 4 Gates and Circuits Chapter Goals Identify the basic gates and describe the behavior of each Describe how gates are implemented using transistors Combine basic gates into circuits Describe the

More information

B.E. SEMESTER III (ELECTRICAL) SUBJECT CODE: X30902 Subject Name: Analog & Digital Electronics

B.E. SEMESTER III (ELECTRICAL) SUBJECT CODE: X30902 Subject Name: Analog & Digital Electronics B.E. SEMESTER III (ELECTRICAL) SUBJECT CODE: X30902 Subject Name: Analog & Digital Electronics Sr. No. Date TITLE To From Marks Sign 1 To verify the application of op-amp as an Inverting Amplifier 2 To

More information

Architecture of Computers and Parallel Systems Part 9: Digital Circuits

Architecture of Computers and Parallel Systems Part 9: Digital Circuits Architecture of Computers and Parallel Systems Part 9: Digital Circuits Ing. Petr Olivka petr.olivka@vsb.cz Department of Computer Science FEI VSB-TUO Architecture of Computers and Parallel Systems Part

More information

16 Multiplexers and De-multiplexers using gates and ICs. (74150, 74154)

16 Multiplexers and De-multiplexers using gates and ICs. (74150, 74154) 16 Multiplexers and De-multiplexers using gates and ICs. (74150, 74154) Aim: To design multiplexers and De-multiplexers using gates and ICs. (74150, 74154) Components required: Digital IC Trainer kit,

More information

Chapter 9. sequential logic technologies

Chapter 9. sequential logic technologies Chapter 9. sequential logic technologies In chapter 4, we looked at diverse implementation technologies for combinational logic circuits: random logic, regular logic, programmable logic. Similarly, variations

More information

Unit level 4 Credit value 15. Introduction. Learning Outcomes

Unit level 4 Credit value 15. Introduction. Learning Outcomes Unit 20: Unit code Digital Principles T/615/1494 Unit level 4 Credit value 15 Introduction While the broad field of electronics covers many aspects, it is digital electronics which now has the greatest

More information

IES Digital Mock Test

IES Digital Mock Test . The circuit given below work as IES Digital Mock Test - 4 Logic A B C x y z (a) Binary to Gray code converter (c) Binary to ECESS- converter (b) Gray code to Binary converter (d) ECESS- To Gray code

More information

Chapter 1: Digital logic

Chapter 1: Digital logic Chapter 1: Digital logic I. Overview In PHYS 252, you learned the essentials of circuit analysis, including the concepts of impedance, amplification, feedback and frequency analysis. Most of the circuits

More information

EECS150 - Digital Design Lecture 15 - CMOS Implementation Technologies. Overview of Physical Implementations

EECS150 - Digital Design Lecture 15 - CMOS Implementation Technologies. Overview of Physical Implementations EECS150 - Digital Design Lecture 15 - CMOS Implementation Technologies Mar 12, 2013 John Wawrzynek Spring 2013 EECS150 - Lec15-CMOS Page 1 Overview of Physical Implementations Integrated Circuits (ICs)

More information

EECS150 - Digital Design Lecture 9 - CMOS Implementation Technologies

EECS150 - Digital Design Lecture 9 - CMOS Implementation Technologies EECS150 - Digital Design Lecture 9 - CMOS Implementation Technologies Feb 14, 2012 John Wawrzynek Spring 2012 EECS150 - Lec09-CMOS Page 1 Overview of Physical Implementations Integrated Circuits (ICs)

More information

1. The decimal number 62 is represented in hexadecimal (base 16) and binary (base 2) respectively as

1. The decimal number 62 is represented in hexadecimal (base 16) and binary (base 2) respectively as BioE 1310 - Review 5 - Digital 1/16/2017 Instructions: On the Answer Sheet, enter your 2-digit ID number (with a leading 0 if needed) in the boxes of the ID section. Fill in the corresponding numbered

More information

INTEGRATED CIRCUITS. AN109 Microprocessor-compatible DACs Dec

INTEGRATED CIRCUITS. AN109 Microprocessor-compatible DACs Dec INTEGRATED CIRCUITS 1988 Dec DAC products are designed to convert a digital code to an analog signal. Since a common source of digital signals is the data bus of a microprocessor, DAC circuits that are

More information

Associate In Applied Science In Electronics Engineering Technology Expiration Date:

Associate In Applied Science In Electronics Engineering Technology Expiration Date: PROGRESS RECORD Study your lessons in the order listed below. Associate In Applied Science In Electronics Engineering Technology Expiration Date: 1 2330A Current and Voltage 2 2330B Controlling Current

More information

Chapter 9. sequential logic technologies

Chapter 9. sequential logic technologies Chapter 9. sequential logic technologies In chapter 4, we looked at diverse implementation technologies for combinational logic circuits: random logic, regular logic, programmable logic. The similar variants

More information

Imaging serial interface ROM

Imaging serial interface ROM Page 1 of 6 ( 3 of 32 ) United States Patent Application 20070024904 Kind Code A1 Baer; Richard L. ; et al. February 1, 2007 Imaging serial interface ROM Abstract Imaging serial interface ROM (ISIROM).

More information

Engr354: Digital Logic Circuits

Engr354: Digital Logic Circuits Engr354: Digital Logic Circuits Chapter 3: Implementation Technology Curtis Nelson Chapter 3 Overview In this chapter you will learn about: How transistors are used as switches; Integrated circuit technology;

More information

Lecture 02: Logic Families. R.J. Harris & D.G. Bailey

Lecture 02: Logic Families. R.J. Harris & D.G. Bailey Lecture 02: Logic Families R.J. Harris & D.G. Bailey Objectives Show how diodes can be used to form logic gates (Diode logic). Explain the need for introducing transistors in the output (DTL and TTL).

More information

JEFFERSON COLLEGE COURSE SYLLABUS ETC255 INTRODUCTION TO DIGITAL CIRCUITS. 6 Credit Hours. Prepared by: Dennis Eimer

JEFFERSON COLLEGE COURSE SYLLABUS ETC255 INTRODUCTION TO DIGITAL CIRCUITS. 6 Credit Hours. Prepared by: Dennis Eimer JEFFERSON COLLEGE COURSE SYLLABUS ETC255 INTRODUCTION TO DIGITAL CIRCUITS 6 Credit Hours Prepared by: Dennis Eimer Revised Date: August, 2007 By Dennis Eimer Division of Technology Dr. John Keck, Dean

More information

Process Components. Process component

Process Components. Process component What are PROCESS COMPONENTS? Input Transducer Process component Output Transducer The input transducer circuits are connected to PROCESS COMPONENTS. These components control the action of the OUTPUT components

More information

Chapter 4 Combinational Logic Circuits

Chapter 4 Combinational Logic Circuits Chapter 4 Combinational Logic Circuits Chapter 4 Objectives Selected areas covered in this chapter: Converting logic expressions to sum-of-products expressions. Boolean algebra and the Karnaugh map as

More information

HIGH LOW Astable multivibrators HIGH LOW 1:1

HIGH LOW Astable multivibrators HIGH LOW 1:1 1. Multivibrators A multivibrator circuit oscillates between a HIGH state and a LOW state producing a continuous output. Astable multivibrators generally have an even 50% duty cycle, that is that 50% of

More information

Combinational Logic Circuits. Combinational Logic

Combinational Logic Circuits. Combinational Logic Combinational Logic Circuits The outputs of Combinational Logic Circuits are only determined by the logical function of their current input state, logic 0 or logic 1, at any given instant in time. The

More information

EE 330 Lecture 44. Digital Circuits. Ring Oscillators Sequential Logic Array Logic Memory Arrays. Final: Tuesday May 2 7:30-9:30

EE 330 Lecture 44. Digital Circuits. Ring Oscillators Sequential Logic Array Logic Memory Arrays. Final: Tuesday May 2 7:30-9:30 EE 330 Lecture 44 igital Circuits Ring Oscillators Sequential Logic Array Logic Memory Arrays Final: Tuesday May 2 7:30-9:30 Review from Last Time ynamic Logic Basic ynamic Logic Gate V F A n PN Any of

More information

Driving LEDs with a PIC Microcontroller Application Note

Driving LEDs with a PIC Microcontroller Application Note Driving LEDs with a PIC Microcontroller Application Note Introduction Nowadays, applications increasingly make use of LEDs as a replacement for traditional light bulbs. For example, LEDs are frequently

More information

32K x 8 Reprogrammable Registered PROM

32K x 8 Reprogrammable Registered PROM 1CY7C277 CY7C277 32K x 8 Reprogrammable Registered PROM Features Windowed for reprogrammability CMOS for optimum speed/power High speed 30-ns address set-up 15-ns clock to output Low power 60 mw (commercial)

More information

Analog I/O. ECE 153B Sensor & Peripheral Interface Design Winter 2016

Analog I/O. ECE 153B Sensor & Peripheral Interface Design Winter 2016 Analog I/O ECE 153B Sensor & Peripheral Interface Design Introduction Anytime we need to monitor or control analog signals with a digital system, we require analogto-digital (ADC) and digital-to-analog

More information

Module-3: Metal Oxide Semiconductor (MOS) & Emitter coupled logic (ECL) families

Module-3: Metal Oxide Semiconductor (MOS) & Emitter coupled logic (ECL) families 1 Module-3: Metal Oxide Semiconductor (MOS) & Emitter coupled logic (ECL) families 1. Introduction 2. Metal Oxide Semiconductor (MOS) logic 2.1. Enhancement and depletion mode 2.2. NMOS and PMOS inverter

More information

Introduction to CMOS VLSI Design (E158) Lecture 5: Logic

Introduction to CMOS VLSI Design (E158) Lecture 5: Logic Harris Introduction to CMOS VLSI Design (E158) Lecture 5: Logic David Harris Harvey Mudd College David_Harris@hmc.edu Based on EE271 developed by Mark Horowitz, Stanford University MAH E158 Lecture 5 1

More information

BEE 2233 Digital Electronics. Chapter 1: Introduction

BEE 2233 Digital Electronics. Chapter 1: Introduction BEE 2233 Digital Electronics Chapter 1: Introduction Learning Outcomes Understand the basic concept of digital and analog quantities. Differentiate the digital and analog systems. Compare the advantages

More information

S-[F] NPW-02 June All Syllabus B.Sc. [Electronics] Ist Year Semester-I & II.doc - 1 -

S-[F] NPW-02 June All Syllabus B.Sc. [Electronics] Ist Year Semester-I & II.doc - 1 - - 1 - - 2 - - 3 - DR. BABASAHEB AMBEDKAR MARATHWADA UNIVERSITY, AURANGABAD SYLLABUS of B.Sc. FIRST & SECOND SEMESTER [ELECTRONICS (OPTIONAL)] {Effective from June- 2013 onwards} - 4 - B.Sc. Electronics

More information

COMPUTER ORGANIZATION & ARCHITECTURE DIGITAL LOGIC CSCD211- DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF GHANA

COMPUTER ORGANIZATION & ARCHITECTURE DIGITAL LOGIC CSCD211- DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF GHANA COMPUTER ORGANIZATION & ARCHITECTURE DIGITAL LOGIC LOGIC Logic is a branch of math that tries to look at problems in terms of being either true or false. It will use a set of statements to derive new true

More information

DS1073 3V EconOscillator/Divider

DS1073 3V EconOscillator/Divider 3V EconOscillator/Divider wwwmaxim-iccom FEATURES Dual fixed-frequency outputs (30kHz to 100MHz) User-programmable on-chip dividers (from 1 to 513) User-programmable on-chip prescaler (1, 2, 4) No external

More information

Name: Class: Date: 1. As more electronic systems have been designed using digital technology, devices have become smaller and less powerful.

Name: Class: Date: 1. As more electronic systems have been designed using digital technology, devices have become smaller and less powerful. Name: Class: Date: DE Midterm Review 2 True/False Indicate whether the statement is true or false. 1. As more electronic systems have been designed using digital technology, devices have become smaller

More information

Programmable Interconnect. CPE/EE 428, CPE 528: Session #13. Actel Programmable Interconnect. Actel Programmable Interconnect

Programmable Interconnect. CPE/EE 428, CPE 528: Session #13. Actel Programmable Interconnect. Actel Programmable Interconnect Programmable Interconnect CPE/EE 428, CPE 528: Session #13 Department of Electrical and Computer Engineering University of Alabama in Huntsville In addition to programmable cells, programmable ASICs must

More information

QUIZ. What do these bits represent?

QUIZ. What do these bits represent? QUIZ What do these bits represent? 1001 0110 1 QUIZ What do these bits represent? Unsigned integer: 1101 1110 Signed integer (2 s complement): Fraction: IBM 437 character: Latin-1 character: Huffman-compressed

More information

CMOS Digital Logic Design with Verilog. Chapter1 Digital IC Design &Technology

CMOS Digital Logic Design with Verilog. Chapter1 Digital IC Design &Technology CMOS Digital Logic Design with Verilog Chapter1 Digital IC Design &Technology Chapter Overview: In this chapter we study the concept of digital hardware design & technology. This chapter deals the standard

More information

DS1307ZN. 64 X 8 Serial Real Time Clock PIN ASSIGNMENT FEATURES

DS1307ZN. 64 X 8 Serial Real Time Clock PIN ASSIGNMENT FEATURES DS1307 64 8 Serial Real Time Clock FEATURES Real time clock counts seconds, minutes, hours, date of the month, month, day of the week, and year with leap year compensation valid up to 2100 56 byte nonvolatile

More information

Lecture 6: Electronics Beyond the Logic Switches Xufeng Kou School of Information Science and Technology ShanghaiTech University

Lecture 6: Electronics Beyond the Logic Switches Xufeng Kou School of Information Science and Technology ShanghaiTech University Lecture 6: Electronics Beyond the Logic Switches Xufeng Kou School of Information Science and Technology ShanghaiTech University EE 224 Solid State Electronics II Lecture 3: Lattice and symmetry 1 Outline

More information

Chapter 3 Describing Logic Circuits Dr. Xu

Chapter 3 Describing Logic Circuits Dr. Xu Chapter 3 Describing Logic Circuits Dr. Xu Chapter 3 Objectives Selected areas covered in this chapter: Operation of truth tables for AND, NAND, OR, and NOR gates, and the NOT (INVERTER) circuit. Boolean

More information

UNIT-IV Combinational Logic

UNIT-IV Combinational Logic UNIT-IV Combinational Logic Introduction: The signals are usually represented by discrete bands of analog levels in digital electronic circuits or digital electronics instead of continuous ranges represented

More information

Chapter 4 Combinational Logic Circuits

Chapter 4 Combinational Logic Circuits Chapter 4 Combinational Logic Circuits Chapter 4 Objectives Selected areas covered in this chapter: Converting logic expressions to sum-of-products expressions. Boolean algebra and the Karnaugh map as

More information

(

( AN INTRODUCTION TO CAMAC (http://www-esd.fnal.gov/esd/catalog/intro/introcam.htm) Computer Automated Measurement And Control, (CAMAC), is a modular data handling system used at almost every nuclear physics

More information

EECS150 - Digital Design Lecture 19 CMOS Implementation Technologies. Recap and Outline

EECS150 - Digital Design Lecture 19 CMOS Implementation Technologies. Recap and Outline EECS150 - Digital Design Lecture 19 CMOS Implementation Technologies Oct. 31, 2013 Prof. Ronald Fearing Electrical Engineering and Computer Sciences University of California, Berkeley (slides courtesy

More information

Digital Design: An Embedded Systems Approach Using VHDL

Digital Design: An Embedded Systems Approach Using VHDL Digital Design: An Embedded Systems Approach Using Chapter 6 Implementation Fabrics Portions of this work are from the book, Digital Design: An Embedded Systems Approach Using, by Peter J. Ashenden, published

More information

EE19D Digital Electronics. Lecture 1: General Introduction

EE19D Digital Electronics. Lecture 1: General Introduction EE19D Digital Electronics Lecture 1: General Introduction 1 What are we going to discuss? Some Definitions Digital and Analog Quantities Binary Digits, Logic Levels and Digital Waveforms Introduction to

More information

ECE/CoE 0132: FETs and Gates

ECE/CoE 0132: FETs and Gates ECE/CoE 0132: FETs and Gates Kartik Mohanram September 6, 2017 1 Physical properties of gates Over the next 2 lectures, we will discuss some of the physical characteristics of integrated circuits. We will

More information

DS1642 Nonvolatile Timekeeping RAM

DS1642 Nonvolatile Timekeeping RAM www.dalsemi.com Nonvolatile Timekeeping RAM FEATURES Integrated NV SRAM, real time clock, crystal, power fail control circuit and lithium energy source Standard JEDEC bytewide 2K x 8 static RAM pinout

More information

Logic diagram: a graphical representation of a circuit

Logic diagram: a graphical representation of a circuit LOGIC AND GATES Introduction to Logic (1) Logic diagram: a graphical representation of a circuit Each type of gate is represented by a specific graphical symbol Truth table: defines the function of a gate

More information

EXPERIMENT #5 COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design

EXPERIMENT #5 COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design PH-315 La Rosa EXPERIMENT #5 COMINTIONL and SEUENTIL LOGIC CIRCUITS Hardware implementation and software design I PURPOSE: To familiarize with combinational and sequential logic circuits Combinational

More information

EC 1354-Principles of VLSI Design

EC 1354-Principles of VLSI Design EC 1354-Principles of VLSI Design UNIT I MOS TRANSISTOR THEORY AND PROCESS TECHNOLOGY PART-A 1. What are the four generations of integrated circuits? 2. Give the advantages of IC. 3. Give the variety of

More information

DeviceNet Physical Layer Design and Conformance Testing

DeviceNet Physical Layer Design and Conformance Testing DeviceNet Physical Layer Design and Conformance Testing Kiah Hion Tang, Richard T. McLaughlin DeviceNet Europe Technical Support Centre, University of Warwick, U.K. Abstract DeviceNet defines a more tightened

More information

Signal Technologies 1

Signal Technologies 1 Signal Technologies 1 Gunning Transceiver Logic (GTL) - evolution Evolved from BTL, the backplane transceiver logic, which in turn evolved from ECL (emitter-coupled logic) Setup of an open collector bus

More information

Chapter 1 Introduction

Chapter 1 Introduction Chapter 1 Introduction 1.1 Introduction There are many possible facts because of which the power efficiency is becoming important consideration. The most portable systems used in recent era, which are

More information

The entire range of digital ICs is fabricated using either bipolar devices or MOS devices or a combination of the two. Bipolar Family DIODE LOGIC

The entire range of digital ICs is fabricated using either bipolar devices or MOS devices or a combination of the two. Bipolar Family DIODE LOGIC Course: B.Sc. Applied Physical Science (Computer Science) Year & Sem.: IInd Year, Sem - IIIrd Subject: Computer Science Paper No.: IX Paper Title: Computer System Architecture Lecture No.: 10 Lecture Title:

More information