This document discusses the design procedure for finite state machines (FSMs). It describes how to start with a word problem description, create a state table to define the next states and outputs, minimize logic expressions using K-maps, and draw the resulting circuit diagram incorporating flip-flops and combinational logic. An example of detecting three consecutive 1 inputs is used to illustrate the full procedure. The document also distinguishes between Mealy and Moore machine implementations and provides additional examples of odd parity checking and a vending machine FSM.
Lec16 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Fi...Hsien-Hsin Sean Lee, Ph.D.
This document discusses finite state machines (FSMs) including Mealy and Moore machines. It provides examples of state diagrams for Mealy and Moore machines and describes how to design the logic circuits for an FSM from its state table. Key steps include generating Boolean functions for outputs and next states, simplifying the functions, and creating logic gates for the outputs, next state logic, and current state registers. An example of a vending machine FSM is also presented with its state diagram and logic circuit design.
Lec10 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Mu...Hsien-Hsin Sean Lee, Ph.D.
This document provides a summary of a lecture on building blocks for combinational logic, including timing diagrams, multiplexers, and demultiplexers. Timing diagrams are used to describe the functionality of logic circuits over time as a series of waveforms. Multiplexers are used to select one of several input signals to pass to the output based on selection bits. Demultiplexers are the inverse, distributing an input signal to one of several outputs based on the selection bits. Transmission gates can be used to implement multiplexers with enable inputs to disable the output.
Lec3 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- CMO...Hsien-Hsin Sean Lee, Ph.D.
1) The document discusses switches and CMOS transistors. It describes how a basic switch works and analogizes it to a transistor.
2) It then covers transistor characteristics like cut-off, linear, and saturation regions. Threshold voltage and factors affecting it are also discussed.
3) Switch logic is examined for switches in series (AND function) and parallel (OR function).
4) CMOS transistors are introduced, including nMOS and pMOS types. A transmission gate using both is described for transmitting signals without degradation.
This document discusses various types of flip-flops including RS, D, JK, T flip-flops. It describes their characteristic tables and excitation tables. It also covers sequential circuits, state tables, state diagrams, state equations, and the design of counters using flip-flops. Key topics include the use of flip-flops as memory elements, master-slave configurations to prevent race-around conditions, and how to analyze and design sequential circuits and counters.
This document discusses various combinational logic circuits including encoders, decoders, multiplexers, and parity generators. It provides details on 4-to-2 encoders and describes how they encode 4 input lines into 2 output lines. It also discusses priority encoders, octal-to-binary encoders, and multiplexers with examples of 4-to-1 and 8-to-1 multiplexer truth tables. The document concludes with explanations of exclusive OR gates, equivalence operations, and how to implement Boolean functions using multiplexers.
The document discusses combinational logic and summarizes the design procedure for combinational logic circuits. It then describes half adders, full adders, decoders, and other common combinational logic circuits such as magnitude comparators. Circuits are designed for half adders, full adders, decimal adders, decoders, and other logic functions using Boolean algebra and logic gates.
Lec13 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Sh...Hsien-Hsin Sean Lee, Ph.D.
This lecture discusses building blocks for combinational logic, specifically shifters and multipliers. It introduces basic shifting operations including left/right shifts and logical/arithmetic shifts. It then describes implementations of 4-bit logical and arithmetic shifters using multiplexers. Barrel shifters that can shift multiple bits simultaneously are also covered. For multiplication, it explains unsigned and signed binary multiplication through examples. Implementations of 2-bit, 4-bit and carry-save multipliers are shown using full adders as building blocks.
Lec12 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Ad...Hsien-Hsin Sean Lee, Ph.D.
This document summarizes key concepts in combinational logic building blocks including adders, subtractors, and parity checkers. It describes half adders, full adders, ripple carry adders, carry lookahead adders, subtraction using 2's complement, and even parity generation and detection. The document discusses issues like carry propagation delay in ripple carry adders and improved delay in carry lookahead adders. It also covers overflow/underflow detection in signed arithmetic and examples of parity error detection.
Lec16 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Fi...Hsien-Hsin Sean Lee, Ph.D.
This document discusses finite state machines (FSMs) including Mealy and Moore machines. It provides examples of state diagrams for Mealy and Moore machines and describes how to design the logic circuits for an FSM from its state table. Key steps include generating Boolean functions for outputs and next states, simplifying the functions, and creating logic gates for the outputs, next state logic, and current state registers. An example of a vending machine FSM is also presented with its state diagram and logic circuit design.
Lec10 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Mu...Hsien-Hsin Sean Lee, Ph.D.
This document provides a summary of a lecture on building blocks for combinational logic, including timing diagrams, multiplexers, and demultiplexers. Timing diagrams are used to describe the functionality of logic circuits over time as a series of waveforms. Multiplexers are used to select one of several input signals to pass to the output based on selection bits. Demultiplexers are the inverse, distributing an input signal to one of several outputs based on the selection bits. Transmission gates can be used to implement multiplexers with enable inputs to disable the output.
Lec3 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- CMO...Hsien-Hsin Sean Lee, Ph.D.
1) The document discusses switches and CMOS transistors. It describes how a basic switch works and analogizes it to a transistor.
2) It then covers transistor characteristics like cut-off, linear, and saturation regions. Threshold voltage and factors affecting it are also discussed.
3) Switch logic is examined for switches in series (AND function) and parallel (OR function).
4) CMOS transistors are introduced, including nMOS and pMOS types. A transmission gate using both is described for transmitting signals without degradation.
This document discusses various types of flip-flops including RS, D, JK, T flip-flops. It describes their characteristic tables and excitation tables. It also covers sequential circuits, state tables, state diagrams, state equations, and the design of counters using flip-flops. Key topics include the use of flip-flops as memory elements, master-slave configurations to prevent race-around conditions, and how to analyze and design sequential circuits and counters.
This document discusses various combinational logic circuits including encoders, decoders, multiplexers, and parity generators. It provides details on 4-to-2 encoders and describes how they encode 4 input lines into 2 output lines. It also discusses priority encoders, octal-to-binary encoders, and multiplexers with examples of 4-to-1 and 8-to-1 multiplexer truth tables. The document concludes with explanations of exclusive OR gates, equivalence operations, and how to implement Boolean functions using multiplexers.
The document discusses combinational logic and summarizes the design procedure for combinational logic circuits. It then describes half adders, full adders, decoders, and other common combinational logic circuits such as magnitude comparators. Circuits are designed for half adders, full adders, decimal adders, decoders, and other logic functions using Boolean algebra and logic gates.
Lec13 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Sh...Hsien-Hsin Sean Lee, Ph.D.
This lecture discusses building blocks for combinational logic, specifically shifters and multipliers. It introduces basic shifting operations including left/right shifts and logical/arithmetic shifts. It then describes implementations of 4-bit logical and arithmetic shifters using multiplexers. Barrel shifters that can shift multiple bits simultaneously are also covered. For multiplication, it explains unsigned and signed binary multiplication through examples. Implementations of 2-bit, 4-bit and carry-save multipliers are shown using full adders as building blocks.
Lec12 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Ad...Hsien-Hsin Sean Lee, Ph.D.
This document summarizes key concepts in combinational logic building blocks including adders, subtractors, and parity checkers. It describes half adders, full adders, ripple carry adders, carry lookahead adders, subtraction using 2's complement, and even parity generation and detection. The document discusses issues like carry propagation delay in ripple carry adders and improved delay in carry lookahead adders. It also covers overflow/underflow detection in signed arithmetic and examples of parity error detection.
1. The document discusses different types of registers, counters, and shift registers including their components, functions, and loading/shifting processes.
2. It also covers synchronous and asynchronous counters as well as ring and Johnson counters.
3. Finally, it discusses integrated circuits and different digital logic families including TTL, ECL, MOS, CMOS, and I2L.
This document provides an overview of integrated circuits and digital techniques including:
1) Half adders and full adders which are basic building blocks for addition. Parallel adders allow adding more bits. Subtraction is also discussed.
2) Flip-flops like R-S, D, and J-K which are used for temporary data storage, counting, and other operations. Their functions and truth tables are described.
3) Counters, registers, decoders, encoders and other integrated circuits which are constructed using flip-flops and perform operations like serial-parallel conversion.
1. Digital circuits can be designed using a multi-step process including system level design, register transfer level design, physical design, and layout synthesis to produce the final circuit.
2. Basic logic gates like AND, OR, NOT, NAND, NOR, EXOR can be combined to form more complex digital circuits.
3. Truth tables define the input and output relationships of digital circuits and can be used to analyze a circuit or derive a circuit from a boolean expression.
Lec11 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- De...Hsien-Hsin Sean Lee, Ph.D.
This document discusses different types of decoders and encoders used in digital logic circuits. It begins by explaining 1-to-2 line, N-to-M line, and 2-to-4 line decoders. It then describes decoders with enables and how to implement logic functions using decoders. The document also covers BCD-to-7 segment decoders and designing the outputs individually. Finally, it summarizes M-to-N line encoders and provides examples of 4-to-2 and 8-to-3 encoders as well as priority encoders.
These slides have full understanding about Equivalent Moore Mealy... Having Moore to Mealy conversion and Mealy to Moore conversion...
These slides also describing the concept of Transducers as models of sequential circuits (both w.r.t Moore and Mealy)...
All these concepts are explained with easy examples...
The document discusses sequential circuits and their components. It begins with an overview of sequential circuits and finite state machines. It then covers different types of flip-flops like D flip-flops and their usage. Counters and sequencers are presented as examples of sequential circuits. Details about designing a 3-bit up counter like its state table and logic equations are provided. Finally, registers are discussed including an example of a 4-bit register with parallel load.
This document contains Matlab code that analyzes the power of an RCL circuit. It defines the state space matrices A, B, C, D for the circuit and converts it to a transfer function G. It then uses this transfer function to simulate the step response, impulse response, and response to a sawtooth input signal of the circuit over time.
Transistors can be used as switches in logic circuits to perform operations like AND and OR. AND logic requires both switches to be closed for current to flow, while OR logic allows current if either switch is closed. Binary addition is equivalent to an XOR operation plus an AND. Different number systems like binary, decimal, and hexadecimal can represent the same values using different bases.
A combinational circuit is composed of basic logic gates like NOT, AND, and OR gates. Logic gates perform operations using combinations of input signals to produce output signals. An OR gate outputs a 1 if any or both of its inputs are 1. An AND gate outputs a 1 only if both inputs are 1. A NOT gate, or inverter, outputs the opposite of its single input. Combinational circuits use these logic gates together to perform more complex logical operations on multiple inputs and produce a single output.
Lab 9 D-Flip Flops: Shift Register and Sequence CounterKatrina Little
This document describes an experiment involving designing a 4-bit shift register and sequence counter using D-flip flops. It includes building the circuits in an FPGA tool, simulating their operation, and downloading them to a development board. A debouncing circuit is added to prevent erroneous output from noisy button inputs. The objectives of introducing sequential circuit design and implementing a shift register and sequence counter are met.
Lec15 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Re...Hsien-Hsin Sean Lee, Ph.D.
This document discusses different types of digital logic components including registers, toggle flip-flops, and counters. It describes how registers can be constructed from cascaded flip-flops and how they can be read from and written to. Toggle flip-flops are introduced which toggle their output each clock cycle depending on enable signals. Finally, several types of counters are overviewed such as ripple counters, synchronous counters, modulo-N counters, and BCD counters.
Transistors can be used as switches in logic circuits to perform operations like AND, OR, and XOR.
AND logic returns 1 only if both inputs are 1. OR logic returns 1 if either or both inputs are 1.
XOR (exclusive OR) returns 1 if only one input is 1, but not both.
Binary numbers use a base-2 system of 0 and 1 to represent values, with place values increasing in powers of two from right to left. Decimal numbers can be converted to binary by repeatedly dividing the number by two and noting the remainders.
Lec2 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Num...Hsien-Hsin Sean Lee, Ph.D.
This document discusses number systems and binary arithmetic. It begins by explaining decimal and binary number representation, including place value and how to derive numbers in different bases. It then covers counting in binary, octal, and base-22 systems. Next, it discusses representing negative numbers using sign-magnitude, one's complement, and two's complement methods. Finally, it demonstrates binary addition and computation for both unsigned and signed numbers using two's complement.
The document describes how to design a clock divider by 3 using digital logic elements like flip-flops and gates. A mod 3 counter using two flip-flops is used, with states 00, 01, 10. The output is not 50% duty cycle initially but can be made 50% by adding a third flip-flop. Diagrams show the logic implementation and timing diagrams for both with and without 50% duty cycle output.
This document provides an overview of arithmetic and multiplication algorithms. It discusses n-bit addition using a ripple carry adder and carry lookahead adder. It also covers unsigned and signed multiplication, including using a combinatorial array multiplier and sequential multiplier. The Booth algorithm for signed multiplication is also introduced.
This document describes an experiment to realize different logic gates using only NAND or NOR gates, which are considered universal gates. It shows how to construct AND, OR, NOT, X-OR, and X-NOR gates from NAND and NOR gates. Truth tables and circuit diagrams are provided to demonstrate each logic gate. The results verified that all logic gate truth tables can be implemented using only NAND or NOR gates.
This document provides an overview of register transfer and microoperations in computer architecture. It discusses register transfer language, register transfer, bus and memory transfers, and different types of microoperations including arithmetic, logic, and shift operations. Diagrams and examples are provided to illustrate concepts like register transfer, bus structure, arithmetic circuits, logic functions, and shift operations. The document is intended to teach fundamental concepts related to the low-level implementation of operations in a computer's central processing unit.
This document provides a SPICE model for the TC74LCX244F CMOS digital integrated circuit octal bus buffer manufactured by Toshiba. It includes the model parameters, subcircuit definitions for various components, and simulation results validating the timing characteristics against measurements.
This document provides an overview of VLSI technology and Verilog coding through a presentation on VLSI technology. It begins with an introduction to VLSI and describes the different components involved in chip design. It then discusses hardware description languages and focuses on Verilog, explaining features like modules, data types, operators, and different coding styles like gate-level, dataflow, behavioral, and structural modeling. Finally, it provides an example of modeling a vending machine in Verilog as a finite state machine and shows how it would be simulated.
Effective complaint letters should be concise, authoritative, and factual. They should include contact information, relevant facts and dates, what action is requested, and any supporting documents. The tone should be friendly and constructive, suggesting positive options to encourage quick resolution, rather than angry or threatening. Keeping a copy for records allows the complaint to be clearly made while stating the reason and desired resolution.
1. The document discusses different types of registers, counters, and shift registers including their components, functions, and loading/shifting processes.
2. It also covers synchronous and asynchronous counters as well as ring and Johnson counters.
3. Finally, it discusses integrated circuits and different digital logic families including TTL, ECL, MOS, CMOS, and I2L.
This document provides an overview of integrated circuits and digital techniques including:
1) Half adders and full adders which are basic building blocks for addition. Parallel adders allow adding more bits. Subtraction is also discussed.
2) Flip-flops like R-S, D, and J-K which are used for temporary data storage, counting, and other operations. Their functions and truth tables are described.
3) Counters, registers, decoders, encoders and other integrated circuits which are constructed using flip-flops and perform operations like serial-parallel conversion.
1. Digital circuits can be designed using a multi-step process including system level design, register transfer level design, physical design, and layout synthesis to produce the final circuit.
2. Basic logic gates like AND, OR, NOT, NAND, NOR, EXOR can be combined to form more complex digital circuits.
3. Truth tables define the input and output relationships of digital circuits and can be used to analyze a circuit or derive a circuit from a boolean expression.
Lec11 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- De...Hsien-Hsin Sean Lee, Ph.D.
This document discusses different types of decoders and encoders used in digital logic circuits. It begins by explaining 1-to-2 line, N-to-M line, and 2-to-4 line decoders. It then describes decoders with enables and how to implement logic functions using decoders. The document also covers BCD-to-7 segment decoders and designing the outputs individually. Finally, it summarizes M-to-N line encoders and provides examples of 4-to-2 and 8-to-3 encoders as well as priority encoders.
These slides have full understanding about Equivalent Moore Mealy... Having Moore to Mealy conversion and Mealy to Moore conversion...
These slides also describing the concept of Transducers as models of sequential circuits (both w.r.t Moore and Mealy)...
All these concepts are explained with easy examples...
The document discusses sequential circuits and their components. It begins with an overview of sequential circuits and finite state machines. It then covers different types of flip-flops like D flip-flops and their usage. Counters and sequencers are presented as examples of sequential circuits. Details about designing a 3-bit up counter like its state table and logic equations are provided. Finally, registers are discussed including an example of a 4-bit register with parallel load.
This document contains Matlab code that analyzes the power of an RCL circuit. It defines the state space matrices A, B, C, D for the circuit and converts it to a transfer function G. It then uses this transfer function to simulate the step response, impulse response, and response to a sawtooth input signal of the circuit over time.
Transistors can be used as switches in logic circuits to perform operations like AND and OR. AND logic requires both switches to be closed for current to flow, while OR logic allows current if either switch is closed. Binary addition is equivalent to an XOR operation plus an AND. Different number systems like binary, decimal, and hexadecimal can represent the same values using different bases.
A combinational circuit is composed of basic logic gates like NOT, AND, and OR gates. Logic gates perform operations using combinations of input signals to produce output signals. An OR gate outputs a 1 if any or both of its inputs are 1. An AND gate outputs a 1 only if both inputs are 1. A NOT gate, or inverter, outputs the opposite of its single input. Combinational circuits use these logic gates together to perform more complex logical operations on multiple inputs and produce a single output.
Lab 9 D-Flip Flops: Shift Register and Sequence CounterKatrina Little
This document describes an experiment involving designing a 4-bit shift register and sequence counter using D-flip flops. It includes building the circuits in an FPGA tool, simulating their operation, and downloading them to a development board. A debouncing circuit is added to prevent erroneous output from noisy button inputs. The objectives of introducing sequential circuit design and implementing a shift register and sequence counter are met.
Lec15 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Re...Hsien-Hsin Sean Lee, Ph.D.
This document discusses different types of digital logic components including registers, toggle flip-flops, and counters. It describes how registers can be constructed from cascaded flip-flops and how they can be read from and written to. Toggle flip-flops are introduced which toggle their output each clock cycle depending on enable signals. Finally, several types of counters are overviewed such as ripple counters, synchronous counters, modulo-N counters, and BCD counters.
Transistors can be used as switches in logic circuits to perform operations like AND, OR, and XOR.
AND logic returns 1 only if both inputs are 1. OR logic returns 1 if either or both inputs are 1.
XOR (exclusive OR) returns 1 if only one input is 1, but not both.
Binary numbers use a base-2 system of 0 and 1 to represent values, with place values increasing in powers of two from right to left. Decimal numbers can be converted to binary by repeatedly dividing the number by two and noting the remainders.
Lec2 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Num...Hsien-Hsin Sean Lee, Ph.D.
This document discusses number systems and binary arithmetic. It begins by explaining decimal and binary number representation, including place value and how to derive numbers in different bases. It then covers counting in binary, octal, and base-22 systems. Next, it discusses representing negative numbers using sign-magnitude, one's complement, and two's complement methods. Finally, it demonstrates binary addition and computation for both unsigned and signed numbers using two's complement.
The document describes how to design a clock divider by 3 using digital logic elements like flip-flops and gates. A mod 3 counter using two flip-flops is used, with states 00, 01, 10. The output is not 50% duty cycle initially but can be made 50% by adding a third flip-flop. Diagrams show the logic implementation and timing diagrams for both with and without 50% duty cycle output.
This document provides an overview of arithmetic and multiplication algorithms. It discusses n-bit addition using a ripple carry adder and carry lookahead adder. It also covers unsigned and signed multiplication, including using a combinatorial array multiplier and sequential multiplier. The Booth algorithm for signed multiplication is also introduced.
This document describes an experiment to realize different logic gates using only NAND or NOR gates, which are considered universal gates. It shows how to construct AND, OR, NOT, X-OR, and X-NOR gates from NAND and NOR gates. Truth tables and circuit diagrams are provided to demonstrate each logic gate. The results verified that all logic gate truth tables can be implemented using only NAND or NOR gates.
This document provides an overview of register transfer and microoperations in computer architecture. It discusses register transfer language, register transfer, bus and memory transfers, and different types of microoperations including arithmetic, logic, and shift operations. Diagrams and examples are provided to illustrate concepts like register transfer, bus structure, arithmetic circuits, logic functions, and shift operations. The document is intended to teach fundamental concepts related to the low-level implementation of operations in a computer's central processing unit.
This document provides a SPICE model for the TC74LCX244F CMOS digital integrated circuit octal bus buffer manufactured by Toshiba. It includes the model parameters, subcircuit definitions for various components, and simulation results validating the timing characteristics against measurements.
This document provides an overview of VLSI technology and Verilog coding through a presentation on VLSI technology. It begins with an introduction to VLSI and describes the different components involved in chip design. It then discusses hardware description languages and focuses on Verilog, explaining features like modules, data types, operators, and different coding styles like gate-level, dataflow, behavioral, and structural modeling. Finally, it provides an example of modeling a vending machine in Verilog as a finite state machine and shows how it would be simulated.
Effective complaint letters should be concise, authoritative, and factual. They should include contact information, relevant facts and dates, what action is requested, and any supporting documents. The tone should be friendly and constructive, suggesting positive options to encourage quick resolution, rather than angry or threatening. Keeping a copy for records allows the complaint to be clearly made while stating the reason and desired resolution.
The introduction to Arduino labs at Malmö University. These slides have been handed down since the beginning of Arduino. They have more authors then i can remember and should by no means be considered mine.
This document discusses adjustment and claim letters. It defines a letter and business letter, noting that business letters have a standardized format. It lists common types of business letters including adjustment and claim letters. Adjustment letters are written in response to customer complaints, while claim letters are used to request compensation for unsatisfactory work or products. The document provides guidelines and examples of the proper format and content for adjustment and claim letters.
String Matching with Finite Automata,Aho corasick,8neutron8
This document discusses string matching using finite automata, specifically the Aho-Corasick algorithm. It begins by introducing finite state machines and how they can be used for string matching. It then provides details on the Aho-Corasick algorithm, including how it constructs a pattern matching machine from keywords to search for and uses this machine to search text in one pass. It discusses the goto, failure, and output functions used and provides an example of running the algorithm on sample text and keywords.
This document provides guidance on writing an effective letter of complaint. It explains that a complaint letter is used to formally document a problem when other communication attempts have failed. The letter should be concise, factual, constructive, and polite. It typically includes sections on background, problem/cause, solution, optional warning, and closing. The letter should follow principles of being prompt, courteous, sincere, and polite while clearly explaining the issue and desired resolution.
This document provides guidance on writing effective complaint letters. It discusses common reasons for complaints in business including poor quality goods, late or damaged deliveries, incorrect orders, and poor service. When writing a complaint letter, it is important to remain courteous and factual while clearly explaining the problem and your requested resolution. The letter should include relevant details like order dates, quantities, and specifics of the issue. It should make a polite but firm request for prompt correction while avoiding accusations or rude language. An appropriately written complaint letter can help get the problem resolved to the satisfaction of both parties.
The document discusses the process of machine design, which involves recognizing needs, specifying product requirements, selecting mechanisms and materials, developing a general configuration layout, designing individual elements, testing and modifying prototypes, and creating detailed drawings for production. Some key steps include considering various design options, balancing costs and performance, and using flexible approaches to solve problems that arise during the design process.
This document provides guidance on writing an effective letter of complaint. It explains that a letter of complaint should state the reason for writing to complain, provide reasons for complaining supported by evidence, and request what should be done to resolve the issue. Persuasive language techniques are also recommended to use such as describing strong negative feelings, asking questions, using flattery, warnings, or promises of future business. The letter should follow an appropriate format with introduction, body, and conclusion to summarize the feelings and request a resolution.
Obstacle detection Robot using Ultrasonic Sensor and Arduino UNOSanjay Kumar
This document describes how to build an obstacle detection robot using an Arduino UNO, ultrasonic sensor, and motor driver module. It explains the components used, including the Arduino, ultrasonic sensor to detect obstacles from 2-400cm away, and an L298N motor driver module to control DC motors. It provides details on connecting the components, programming the ultrasonic sensor to trigger and receive echo signals to determine distances, and controlling the motor's direction depending on detected obstacles to help the robot navigate. Code and more details are available at the provided GitHub link.
This document provides guidance on writing a letter of complaint, including its structure, register, and appropriate language to use. A letter of complaint should include a salutation, introduction stating the reason for writing, explanation of the problem, expression of dissatisfaction, statement of what is wanted, and closing. Formal language should be used such as "I am highly displeased" rather than "I'm really annoyed." Linking words are also provided to connect ideas and express opposition, cause, purpose, and consequence.
The document discusses code generation in compilers. It describes the main tasks of the code generator as instruction selection, register allocation and assignment, and instruction ordering. It then discusses various issues in designing a code generator such as the input and output formats, memory management, different instruction selection and register allocation approaches, and choice of evaluation order. The target machine used is a hypothetical machine with general purpose registers, different addressing modes, and fixed instruction costs. Examples of instruction selection and utilization of addressing modes are provided.
The document contains a complaint letter from a customer staying at the Parangtritis Beach Hotel. In the letter, the customer explains that upon checking into their room, they discovered it did not have the ocean view advertised and instead overlooked the hotel dumping area, which smelled bad. They express disappointment with this condition and state they will seek accommodation elsewhere if the issue is not addressed. The hotel's response apologizes for the inconvenience and promises to fix the room situation by moving the customer to a new room. It thanks the customer for bringing the complaint to their attention and assures it will not happen again.
The customer is writing to complain about a puzzle purchased from the company's website that was delivered late, with broken packaging, and was not as ordered. The puzzle had only half the pieces ordered, was a generic map instead of a personalized photo as requested, and was delivered on a Saturday instead of weekday mornings as specified. The customer seeks compensation for breaking their son's dream on his gift due to the multiple failures and incorrect order fulfillment by the company.
Here is a 150-word complaint letter about a faulty product purchased online:
Dear Sir/Madam,
I am writing to complain about a smartphone I purchased from your online store last month. The phone was advertised as having a high-quality camera capable of recording videos in HD resolution. However, upon receiving the phone I discovered that the camera is very low quality and pixelated videos cannot be recorded in HD as claimed.
In addition, the phone has been overheating and shutting off randomly which makes it impossible to use for more than 10 minutes at a time. I have tried resetting the phone and contacting customer support for troubleshooting to no avail. The phone is clearly defective yet it was sold to me as a new
This document discusses finite state machine (FSM) design. It begins by motivating FSMs as a generalization of counters where outputs are a function of state rather than just the state itself. FSMs are used to implement circuits that control other circuits and make decisions based on their state and inputs. The chapter then provides an overview of the concepts to be covered, including defining the FSM, representing state transitions, Moore and Mealy machines, and using word problems and case studies. It describes the basic six-step design process and covers the concept of the state machine in more detail, including timing, state diagrams, and communicating between state machines.
This letter is a complaint about damaged goods received from a supplier. Specifically, eight ceiling fan blades and the paint on three pedestal fans were damaged upon opening the consignment. The letter requests that the supplier replace the damaged items as soon as possible and make up for losses suffered. A second example letter complains that two reams of paper were received in a damaged condition, likely damaged at the supplier's place rather than in transit. It requests confirmation of replacement of the damaged paper before a certain date to avoid suspending a printing job for a client.
This document provides information and examples about various types of letters, including acceptance, acknowledgment, complaint, inquiry, and proposal letters. It discusses the common formats and components of business letters, such as the sender and recipient addresses, date, salutation, body, complimentary close, and signature. Guidelines are given for writing different letter types, including establishing objectives, outlining the key points, using a professional tone, and including relevant details or examples. Sample letters are also included to demonstrate the proper format and content for acceptance, acknowledgment, complaint, inquiry, and proposal letters.
This document discusses state machine design using state diagrams and state tables. It provides examples of designing a state machine with inputs A and B and output Z. Key steps include:
1. Defining the machine's states and behaviors in a state table.
2. Assigning state codes to minimize the number of variables needed.
3. Deriving excitation and output equations from the state table.
4. Implementing the state machine design using flip-flops and combinational logic.
This document discusses convolutional codes. It begins by introducing convolutional codes and noting they are different from block codes in that they encode an entire data stream continuously rather than segmenting into blocks. It then provides details on convolutional code encoding including using a rate 1/2 encoder as an example and discussing encoder representations through state diagrams and trellis diagrams. Finally, it discusses maximum likelihood decoding and how the Viterbi algorithm can be used for convolutional code decoding in an efficient manner by finding the highest probability path through the trellis.
This document describes the process for designing sequential circuits. It involves specification, formulation, state assignment, determining flip-flop input and output equations, and verification. As an example, it walks through designing a circuit to recognize the input sequence 1101. It formulates a state diagram and state table, assigns binary codes to the states, derives the flip-flop input and output equations from the state table, and maps it to logic gates using available flip-flop technology.
This document summarizes sequential circuits and finite state machines. It discusses:
- Representing state using state equations, state tables, and state diagrams
- Analyzing sequential circuits using D, JK, and T flip-flops
- The difference between Mealy and Moore machines and examples of each
- Design procedures for state machines including state diagrams, next state tables, excitation tables, K-maps, and circuit implementation
This document discusses sequential circuits and finite state machines. It covers representing and analyzing state through equations, tables and diagrams. State can be stored in flip flops and circuits analyzed by deriving the state transition and output functions. There are two types of state machines - Mealy machines have outputs dependent on inputs and state, while Moore machines only depend on state.
The document discusses sequential logic implementation including finite state machines (FSMs). It covers FSM design procedures like deriving state diagrams and transition tables from specifications. It also compares Moore and Mealy machines, noting that Moore machines have outputs depend only on current state while Mealy machines have outputs depend on current state and inputs. Mealy machines tend to require fewer states but Moore machines are safer to use in designs where outputs change at clock edges. The document provides examples of specifying and implementing FSMs in Verilog including both Moore and Mealy machines. It also gives an example FSM design for a vending machine.
A sequential circuit is formed from a combinational circuit and storage elements. The circuit's state is defined by the information stored at any given time. The next state depends on the current inputs and state. A synchronous sequential circuit's behavior can be described at discrete time instances. It was designed as a Moore state machine to detect the "1101" sequence, with the output associated with the state. VHDL code implements it with a process changing the state variable based on the present state and input to determine the next state and output.
The document provides an overview of Moore and Mealy state machines. It discusses sequential design steps like drawing state diagrams and making next state truth tables. For Moore machines, outputs are determined solely by the current state. For Mealy machines, outputs are determined by both the current state and current inputs. The document gives examples to illustrate Moore and Mealy machines, comparing their timing and showing how Mealy machines can require fewer states.
This document discusses the process of sequential circuit design using a sequence recognizer as an example. It begins with an overview of sequential circuits and sequence recognizers. It then walks through the full design process: 1) creating a state table and diagram, 2) assigning binary codes to states, 3) determining flip-flop input values, 4) deriving simplified equations, and 5) building the circuit. The example uses JK flip-flops but notes how it could also be built with D flip-flops.
This document discusses different types of counters, including asynchronous and synchronous counters. Asynchronous counters use flip-flops that are not connected to a common clock, resulting in a "ripple" effect. Synchronous counters connect all flip-flops to the same clock and use combinational logic to generate the next state. Counters can be cascaded to achieve higher modulus by connecting the output of one counter to the input of the next. The document also provides an example of designing a synchronous BCD counter and cascading a mod-10 and mod-8 counter.
The document describes the analysis of clocked sequential circuits. It discusses:
- The behavior of clocked sequential circuits is determined by inputs, outputs, and flip-flop states.
- State equations specify the next state as a function of the present state and inputs.
- The analysis procedure involves obtaining input, output, and state equations and compiling a state table and state diagram.
- Clocked sequential circuits have memory elements like flip-flops, while their behavior over time is modeled through state equations and state diagrams.
This document summarizes a lecture on finite state machine (FSM) design. It discusses Moore and Mealy machines, FSM word problems, state minimization, state assignment, and implementation. It provides examples of an odd parity checker, vending machine, and traffic light controller FSM designs. It also compares alternative representations like Algorithmic State Machines and describes analyzing and reverse engineering Moore and Mealy machines.
This document discusses sequential circuits and their analysis and design. It begins by defining sequential circuits and their basic components like latches and flip-flops. It then covers analyzing synchronous sequential circuits using their output functions, state equations, and state tables. The document concludes by outlining the steps for designing a synchronous sequential circuit from its specification.
This document discusses asynchronous and synchronous counters. It provides examples of MOD-4, MOD-8, and MOD-6 asynchronous up counters using D flip-flops. It explains how synchronous counters use a common clock signal for all flip-flops. Examples are given for designing MOD-4 and MOD-4 synchronous up and down counters using JK flip-flops. The document also discusses asynchronous counter ICs and provides examples of MOD counters greater than a power of 2, such as MOD-9 and MOD-10, using T flip-flops.
1. The document discusses programming for programmable logic controllers (PLCs), including basic PLC operations using binary numbers, logic gates, ladder diagrams, and mnemonic codes.
2. It describes the basic logic functions of AND, OR, and NOT gates that digital devices use, and how ladder diagrams represent circuit diagrams using these logic symbols.
3. The steps for designing ladder diagrams from truth tables or state diagrams are outlined, including converting the diagrams to mnemonic codes that can be programmed into a PLC.
The following presentation is a part of the level 4 module -- Digital Logic and Signal Principles. This resources is a part of the 2009/2010 Engineering (foundation degree, BEng and HN) courses from University of Wales Newport (course codes H101, H691, H620, HH37 and 001H). This resource is a part of the core modules for the full time 1st year undergraduate programme.
The BEng & Foundation Degrees and HNC/D in Engineering are designed to meet the needs of employers by placing the emphasis on the theoretical, practical and vocational aspects of engineering within the workplace and beyond. Engineering is becoming more high profile, and therefore more in demand as a skill set, in today’s high-tech world. This course has been designed to provide you with knowledge, skills and practical experience encountered in everyday engineering environments.
This document discusses sequential logic circuits and their analysis. It defines combinational and sequential logic, and synchronous and asynchronous circuits. There are two main types of sequential logic models - Moore and Mealy machines. Analysis of sequential circuits involves deriving their state tables and state diagrams from the circuit description. Examples show how to analyze circuits using D flip-flops, JK flip-flops, and a serial adder circuit. Multiple input state machines have state tables where the next state depends on all present inputs.
A second important technique in error-control coding is that of convolutional coding . In this type of coding the encoder output is not in block form, but is in the form of an encoded
sequence generated from an input information sequence.
convolutional encoding is designed so that its decoding can be performed in some structured and simplified way. One of the design assumptions that simplifies decoding
is linearity of the code. For this reason, linear convolutional codes are preferred. The source alphabet is taken from a finite field or Galois field GF(q).
Convolution coding is a popular error-correcting coding method used in digital communications.
The convolution operation encodes some redundant information into the transmitted signal, thereby improving the data capacity of the channel.
Convolution Encoding with Viterbi decoding is a powerful FEC technique that is particularly suited to a channel in which the transmitted signal is corrupted mainly by AWGN.
It is simple and has good performance with low implementation cost.
This document discusses employee retention in organizations. It defines employee retention as measures taken to encourage employees to remain with an organization for as long as possible. Retaining key employees is important for long-term organizational success as it ensures customer satisfaction, productivity, and preservation of institutional knowledge. The document outlines some of the challenges of employee retention, such as the costs of replacing employees and the competitive job market. It stresses the importance of identifying employees' needs and developing tailored retention strategies to keep talented workers.
1. Moore's Law states that the number of transistors on integrated circuits doubles approximately every two years, leading to faster and cheaper computing capabilities. This phenomenon of faster and cheaper computing opens new markets and opportunities for firms.
2. Companies like Apple and Amazon have leveraged faster and cheaper technologies to their advantage - the iPod and iTunes store vaulted Apple to success, while Amazon's "Search Inside the Book" was enabled by declining storage costs.
3. Managers must anticipate how their industries may be disrupted by emerging technologies and plan strategies accordingly to take advantage of opportunities or respond to threats from competitors leveraging new capabilities.
Mobile cellular-telecommunication-system-revisedJohn Williams
Caller identification allows the called mobile station to display the phone number of the calling party.
2. Short Message Service (SMS) allows users to send and receive text messages to and from other mobile phones or fixed phones.
3. Facsimile (fax) services allow users to send and receive fax messages to and from other fax machines through their mobile phones.
This document discusses features of VLSI chips including compactness, speed, ease of maintenance, and cost effectiveness. It describes Moore's Law, which states that the number of transistors on chips doubles every two years, causing computer performance to double every 18 months. The digital design flow includes RTL coding, synthesis, floorplanning, placement, routing, and verification. Programming languages for digital design include VHDL and Verilog HDL. RAM is used as working memory and has faster access times than hard disks, measured in nanoseconds versus milliseconds. The document outlines program logic for reading from and writing to RAM and detecting when it is empty or full.
This document provides an overview of microwaves, including:
1) Microwaves are electromagnetic waves with wavelengths between 1 mm and 1 m, or frequencies between 300 MHz and 300 GHz. They require transmission line theory and distributed circuit elements rather than lumped elements.
2) Common applications of microwaves include radar, wireless communication technologies like WiFi, microwave ovens, and satellite navigation systems.
3) Key concepts in microwave engineering include transmission lines, scattering parameters for circuit analysis, and the different microwave frequency bands designated by letters.
The document provides an overview of the 8051 microcontroller, including its features, applications, evolution, architecture, registers, memory mapping, I/O ports, and timers. Specifically, it discusses that the 8051 has 4K bytes of ROM, 128 bytes of RAM, four 8-bit I/O ports, two 16-bit timers, a serial interface, and is used widely in devices like cell phones, laptops, home appliances, industrial equipment, and toys.
Lut optimization for memory based computationJohn Williams
This document describes a proposed LUT optimization technique for memory-based computation. The authors aim to design an APC-OMS combined LUT structure to efficiently perform the multiplication of a W-bit fixed coefficient A with a 5-bit input X. This would reduce the size of the LUT to one-fourth that of a conventional design by applying a modified form of the Address Pre-Computation (APC) and Orthogonal Matching Search (OMS) techniques. A block diagram and benefits are presented, showing the combined approach can cut the area-delay product over 30% for 16-bit widths and 50% for 32-bit widths compared to conventional signed-digit multipliers.
This document contains 36 questions and answers related to road signs and safe driving practices. The questions cover topics like proper use of indicators and signals, maintaining safe distances when following or overtaking other vehicles, driver fatigue, traffic light meanings, and meanings of various road signs including mandatory, cautionary, and informational signs. The answers provided explain the correct driving procedures and interpretations of road signs.
This document provides an introduction to an image processing course, including information about the instructors, course structure, and topics. It will cover image formation, sampling and quantization, image processing operations like negative and log transforms, and image enhancement techniques. The first programming assignment will involve basic MATLAB skills. Applications discussed include document handling, biometrics, object and face recognition, medical imaging, and more. Research areas at various companies and links for further self-study are also listed.
This document contains lecture notes on microwaves from Dr. Serkan Aksoy in 2009. The notes are based on the book "Microwave Engineering" by David M. Pozar and cover topics such as transmission line analysis, Smith charts, impedance matching, power dividers/couplers, noise and active components, and microwave amplifier design. Contact information is provided for Dr. Aksoy for future versions or proposals related to the lecture notes.
This document summarizes spatial filtering techniques for image enhancement, including smoothing and sharpening filters. It discusses neighbourhood operations and different types of spatial filters like averaging filters and median filters that can be used to smooth images. Techniques for sharpening images like the Laplacian filter and highboost filter are also covered. The document provides examples and equations to demonstrate how various spatial filters work to enhance images.
Image processing9 segmentation(pointslinesedges)John Williams
This document discusses image segmentation and edge detection techniques in digital image processing. It begins by defining image segmentation as partitioning image pixels into groups that correlate with objects. It then examines methods for detecting points, lines, and edges as discontinuities, including using masks and derivatives. Common edge detectors like Sobel, Prewitt, and Laplacian of Gaussian are presented. Edge detection is shown to be sensitive to noise, so smoothing images first can improve results. The document provides examples throughout to demonstrate segmentation and edge detection.
This document discusses frequency domain processing and various image transforms, with a focus on the discrete Fourier transform (DFT). It provides definitions and properties of the DFT, including its relationship to the Fourier transform and examples of applying the DFT to images. Other transforms discussed include the Walsh transform, with examples provided of computing and displaying the Walsh transform of an image. MATLAB code is presented for calculating the DFT and Walsh transform of grayscale images.
Image processing3 imageenhancement(histogramprocessing)John Williams
This document discusses image enhancement techniques in digital image processing. It introduces image enhancement and its goals of highlighting details, removing noise, and improving visual appeal. Histogram equalization is described as a method to improve dark or washed out images by spreading out the frequencies in an image histogram to increase contrast. Examples are provided to demonstrate histogram equalization transformations and their effects on images. The key steps of histogram equalization calculations are also outlined.
1) The first generation (1G) of cellular networks launched in 1979 in Japan and provided speeds between 28-56kbps. 2G networks launched in 1991 provided text messaging, pictures, and multimedia. 3G networks launched in 2000 provided faster data transfer for mobile internet, video calls, and mobile TV. 4) 4G networks provide ultra-broadband access at speeds up to 1Gbps to support applications like mobile web, IP telephony, HD video, and more. Major providers are working to launch 4G networks in India in the coming years to support these new applications across multiple devices and platforms.
This document discusses optimized implementations of FFT processors for OFDM systems. It describes how FFT and IFFT are important computations for OFDM modulation and demodulation. It proposes an 8-point FFT processor using the radix-2 algorithm and R2MDC architecture. The processor eliminates complex multiplications using shift-and-add operations. It also concludes that the proposed FFT processor designs are suitable for MIMO OFDM standards like IEEE 802.11n and IEEE 802.16 WiMAX.
Mathematical morphology is a framework for image analysis using set theory operations. It is used for tasks like noise filtering, shape analysis, and segmentation. Basic operations include erosion, dilation, opening, and closing using a structuring element. Erosion shrinks objects while dilation expands them. Opening eliminates small objects and closing fills small holes. Together these operations can filter images while preserving overall shapes. Morphological operations also enable extracting object boundaries, thinning images to skeletons, and finding connected components.
Here are the ARM instructions to translate the given C statement:
LDR r0, [r2, r1, LSL #2]
This loads the word from the address calculated by adding the value of register r1 left shifted by 2 (to scale the offset) to the base address in register r2. Since r1 contains the index y, this loads the word from the array at index y.
This document proposes an ATM system that uses facial recognition instead of cards and PINs for verification. It would work by having a camera installed on the ATM that takes a photo of the customer's face and compares it to an image stored in the bank's database associated with the account. This would provide increased security by matching a live photo to the stored image without needing a card or PIN. The document outlines the components, techniques, process and potential benefits of such a biometric-based ATM system for more reliable authentication.
This short message expresses appreciation and gratitude for the recipient. It tells them that they light up others' lives like stars and make people feel important and smile. While there are no proper words to thank them, someone thinks they are fine for the time they spend sharing things. It encourages passing the message on to at least four friends and hopes they have a great day.
1. ENGIN 112
Intro to Electrical and Computer
Engineering
Lecture 23
Finite State Machine Design Procedure
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003
2. Overvie
w
° Design of systems that input flip flops and
combinational logic
° Specifications start with a word description
° Create a state table to indicate next states
° Convert next states and outputs to output and flip flop
input equations
• Reduce logic expressions using truth tables
° Draw resulting circuits.
Lots of opportunities for interesting design
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003
3. Concept of the State
Machine
Computer Hardware = Datapath + Control
Qualifiers
Registers FSM generating sequences
Combinational Functional of control signals
Units (e.g., ALU) Instructs datapath what to
Busses do next
Control
Control
State
Qualifiers Control
and Signal
Inputs Outputs
Datapath
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003
4. Designing Finite State Machines
° Specify the problem with words
° (e.g. Design a circuit that detects three
consecutive 1 inputs)
° Assign binary values to states
° Develop a state table
° Use K-maps to simplify expressions
° Flip flop input equations and output equations
° Create appropriate logic diagram
° Should include combinational logic and flip
flops
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003
5. Example: Detect 3 Consecutive 1 inputs
0
° State S0 : zero 1s detected
° State S1 : one 1 detected
° State S2 : two 1s detected
° State S3 : three 1s detected
° Note that each state has 2 output arrows
° Two bits needed to encode state
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003
6. State Table for Sequence Detector
Present Next
° Sequence of outputs, inputs,
State Input State Output and flip flop states enumerated
A B x A B y in state table
0 0 0 0 0 0 ° Present state indicates current
value of flip flops
0 0 1 0 1 0
0 1 0 0 0 0 ° Next state indicates state after
0 1 1 1 0 0 next rising clock edge
1 0 0 0 0 0
° Output is output value on
1 0 1 1 1 0 current clock edge
1 1 0 0 0 1
1 1 1 1 1 1
° S0 = 00 ° S2 = 10
° S1 = 01 ° S3 = 11
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003
7. Finding Expressions for Next State and Output
Value
° Create K-map directly from state table (3 columns = 3 K-maps)
° Minimize K-maps to find SOP representations
° Separate circuit for each next state and output value
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003
8. Circuit for Consecutive 1s
Detector
° Note location of state
flip flops
° Output value (y) is
function of state
° This is a Moore
machine.
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003
9. Concept of the State
Machine
Example: Odd Parity Checker
Assert output whenever input bit stream has odd # of 1's
Reset Present State Input Next State Output
Even 0 Even 0
0 Even 1 Odd 0
Even
Odd 0 Odd 1
[0]
Odd 1 Even 1
1 1 Symbolic State Transition Table
Odd
[1] Present State Input Next State Output
0 0 0 0 0
0 1 1 0
1 0 1 1
State 1 1 0 1
Diagram
Encoded State Transition Table
° Note: Present state and output are the same value
° Moore machine
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003
10. Concept of the State
Machine
Example: Odd Parity Checker
Next State/Output Functions
NS = PS xor PI; OUT = PS
NS
Input
D Q
CLK PS/Output
Q
R
Reset
D FF Implementation
Input 1 0 0 1 1 0 1 0 1 1 1 0
Clk
Output 1 1 1 0 1 1 0 0 1 0 1 1
Timing Behavior: Input 1 0 0 1 1 0 1 0 1 1 1 0
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003
11. Mealy and Moore Machines
Solution 1: (Mealy) Solution 2: (Moore)
0/0 0
Reset Even
Even Input [0] Output
O/P is dependent
1/0 1/1
on current state and 1 1
Input
Output input in Mealy
Transition Odd Odd
[1]
Output is
Arc dependent only
0 on current state
0/1
Mealy Machine: Output is associated with
the state transition Moore Machine: Output is associated
- Appears before the state transition is with the state
completed (by the next clock pulse). -Appears after the state transition
takes place.
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003
12. Vending Machine FSM
Step 1. Specify the problem
Deliver package of gum after 15 cents deposited
Single coin slot for dimes, nickels
No change
Design the FSM using combinational logic and flip flops
N
Coin V e nding O pe n G um
S e nsor D
Ma chine Re le a se
Re se t FS M Me cha nism
Clk
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003
13. Vending Machine FSM
State Diagram
Rese t Present Inputs Next Output
0¢
State D N State Open
0¢ 0 0 0¢ 0
N
0 1 5¢ 0
5¢
D
1 0 10¢ 0
1 1 X X
N 5¢ 0 0 5¢ 0
10¢ 0 1 10¢ 0
D 1 0 15¢ 0
N, D
1 1 X X
10¢ 0 0 10¢ 0
15¢
0 1 15¢ 0
[o p e n ]
1 0 15¢ 0
1 1 X X
Reuse states 15¢ X X 15¢ 1
whenever possible
Symbolic State Table
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003
14. Vending Machine FSM
State Encoding How many flip-flops are needed?
Present State Inputs Next State Output
Q1 Q0 D N D1 D0 Open
0 0 0 0 0 0 0
0 1 0 1 0
1 0 1 0 0
1 1 X X X
0 1 0 0 0 1 0
0 1 1 0 0
1 0 1 1 0
1 1 X X X
1 0 0 0 1 0 0
0 1 1 1 0
1 0 1 1 0
1 1 X X X
1 1 0 0 1 1 1
0 1 1 1 1
1 0 1 1 1
1 1 X X X
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003
15. Vending Machine FSM
Determine F/F implementation
Q1 Q1 Q1
Q1 Q0 Q1 Q0 Q1 Q0
D N D N D N
N N N
D D D
Q0 Q0 Q0
K-map for D1 K-map for D0 K-map for Open
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003
16. Minimized Implementation
Q1
D D1 Q1
D Q
Q0 CLK Q1
R Q
N Reset OPEN
N
Q0
Q0
D0 Q0
N D Q
CLK
Q1 R Q Q0
N
Reset
Q1
D
Vending machine FSM implementation based on D flip-flops(Moore).
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003
17. Summary
° Finite state machines form the basis of many digital
systems
° Designs often start from clear specifications
° Develop state diagram and state table
° Optimize using combinational design techniques
° Mealy or Moore implementations possible
• Can model approach using HDL.
ENGIN112 L23: Finite State Machine Design Procedure October 27, 2003
Editor's Notes
Give qualifications of instructors: DAP teaching computer architecture at Berkeley since 1977 Co-athor of textbook used in class Best known for being one of pioneers of RISC currently author of article on future of microprocessors in SciAm Sept 1995 RY took 152 as student, TAed 152,instructor in 152 undergrad and grad work at Berkeley joined NextGen to design fact 80x86 microprocessors one of architects of UltraSPARC fastest SPARC mper shipping this Fall
credential: bring a computer die photo wafer : This can be an hidden slide. I just want to use this to do my own planning. I have rearranged Culler’s lecture slides slightly and add more slides. This covers everything he covers in his first lecture (and more) but may We will save the fun part, “ Levels of Organization,” at the end (so student can stay awake): I will show the internal stricture of the SS10/20. Notes to Patterson: You may want to edit the slides in your section or add extra slides to taylor your needs.
credential: bring a computer die photo wafer : This can be an hidden slide. I just want to use this to do my own planning. I have rearranged Culler’s lecture slides slightly and add more slides. This covers everything he covers in his first lecture (and more) but may We will save the fun part, “ Levels of Organization,” at the end (so student can stay awake): I will show the internal stricture of the SS10/20. Notes to Patterson: You may want to edit the slides in your section or add extra slides to taylor your needs.