# Introduction to Logic Design with VHDL

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 EECE 379 : DESIGN OF DIGITAL AND MICROCOMPUTER SYSTEMS 2000/2001 WINTER SESSION, TERM 1 Introduction to Logic Design with VHDL This chapter reviews the design of combinational and sequential logic and introduces the use of VHDL to design combinational logic and state machines. After this chapter you should be able to: convert an informal description of the behaviour of a combinational logic circuit into a truth table, a sum of products boolean equation and a schematic, convert an informal description of a combinational logic circuit into a VHDL entity and architecture, design a state machine from an informal description of its operation, and write a VHDL description of a state machine. Logic Variables and Signals A logic variable can take on one of two values, typically called true and false (T and F). With activehigh logic true values are represented by a high (H) voltage. With active-low logic true values are represented by a low (L) voltage. Variables using negative logic are usually denoted by placing a bar over the name (B), or an asterisk after the variable name (B ). Warning: We will use or 1 and 0 to represent truth values rather than voltage levels. However, some people use 1 and 0 to represent voltage levels instead. This can be very confusing. Exercise 1: A chip has an labelled OE that is used to turn on ( enable ) its. Is this an active-high or active-low signal? Will the be enabled if the is high? Will the be enabled if the is 1? To add to potential sources of confusion, an overbar is sometimes used to indicate a logical complement operation rather than a negative-true signal. The only way to tell the difference is from the context. Combinational Logic A combinational logic circuit is one where the is a function only of the current not of any past s. A combinational logic circuit can be represented as: a truth table that shows the values for each possible combination of values, a boolean equation that defines the value of each variable as a function of the variables, or a schematic that shows a connection of hardware logic gates (and possibly other devices) that implement the circuit. Truth Tables For example, the truth table for a circuit with an that shows if its three s have an even number of 1 s (even parity) would be: a b c p Exercise 2: Fill in the last two rows. Sum of Products Form From the truth table we can obtain an expression for each as a function of the variables. The simplest method is to write a sum of products expression. Each term in the sum corresponds to one line of the truth table for which the desired variable is true (1). The term is the product of each lec1.tex 1

2 variable (if that variable is 1) or its complement (if that variable is 0). Each such term is called a minterm and such an equation is said to be in canonical form. For example, the variable p above takes on a value of 1 in four lines (the first, fourth, sixth and seventh lines) so there would be four terms. The first term corresponds to the case where the variables are a 0, b 0 and c 0. So the term is a b c. Note that this product will only be true when a, b and c have the desired values, that is, only for the specific combination of s on the first line. If we form similar terms for the other lines where the desired variable takes on the value one and then sum all these terms we will have an expression that will evaluate to one only when required and will evaluate to zero in all other cases. adders and comparators, perform arithmetic operations on s interpreted as binary numbers n n s n n+1 + n > a memory can implement an arbitrary combinational logic function the is the address and the stored data is the. address ROM data Exercise 3: Write out the sum-of-products equation for p. Evaluate the expression for the first two lines in the table. Common Combinational Logic Functions In addition to the standard logic functions (AND, OR, NOT, XOR, NAND, etc) some combinational logic functions that are widely used include: drivers and buffers do not alter the logical value but provide higher drive current, tri-state or open drain or open collector (OC) s o.c. a multiplexer is probably the most useful combinational logic circuit. It copies the value of one of 2 N s to a single. The is selected by an N-bit. enable Exercise 4: Write out the truth table and the canonical (unsimplified) sum-of-products expression for a 2-to-1 multiplexer. s select 2 a decoder is a circuit with N s and 2 N s. The is treated as a binary number and the selected by the value of the is set true. The other s are false. This circuit is often used for address decoding. Example: 7-segment display driver LED numeric displays typically use seven segments labeled a through g to display a digit between 0 to 9: f e a g d b c select N 2 N s a priority encoder does the inverse operation. The N bits represent the number of the (highest-numbered) line. This example shows the design of a circuit that converts a 2-bit number into seven s that turn the segments on and off to show numbers between 0 and 3. We use the variables A and B for the two bits and a to g for the seven s. We can build up a truth table for this function as follows: 2

3 B A a b c d e f g From the truth table we can then write out the sum of products expressions for each of the s: a = A B + AB + AB b = 1 c = A B + AB + AB d = A B + AB + AB e = A B + AB f = A B g = Exercise 5: Fill in the last line of the table. Draw the schematic of a circuit that implements the logic function for the g segment. VHDL VHDL is a Very-complex 1 Hardware Description Language that we will use to design logic circuits. Example 1 - Signal Assignment Let s start with a simple example a type of circuit called a both that has one signal (c) that is the AND of two signals (a and b). The file example1.vhd contains the following VHDL description: -- both : An AND gate entity both is port ( a, b: in bit ; c: out bit ) ; end both ; architecture rtl of both is c <= a and b ; Everything following two dashes -- on a line is a comment and is ignored. Statements can be split across any number of lines. A semicolon ends each statement. Indentation styles vary but an end should be indented the same as its corresponding Entity and signal names with a letter followed by letters, digits or underscore ( ) characters. A VHDL description has two parts: an entity part and an architecture part. The entity part defines the and signals for the device or entity being designed while the architecture part describes the behaviour of the entity. Each architecture is made up of one or more statements, all of which execute 2 at the same time (concurrently). This is the critical difference between VHDL and conventional programming languages VHDL allows us to specify concurrent behaviour. The single statement in this example is a concurrent signal assignment that assigns the value of an expression to the signal c. You can interpret a concurent signal assignment as a physical connection. Expressions involving signals of type bit can use the logical operators and, nand, or, nor, xor, xnor, and not. not has higher precedence than the other logical operators, all of which have equal precedence. Parentheses can be used to force evaluation in a certain order. From this VHDL description a program called a logic synthesizer can generate a circuit that has the required functionality. In this case it s not too surprising that the result is the following circuit: First some observations on VHDL syntax: VHDL is case-insensitive. There are many capitalization styles. I prefer all lower-case. You may use whichever style you wish as long as you are consistent. Exercise 6: Write a VHDL description for the circuit that would generate the a and b s for the 7-segment LED driver shown previously. 1 Actually, the V stands for VHSIC. VHSIC stands for Very High Speed IC. 2 The resulting hardware doesn t actually execute but this point of view is useful when using VHDL for simulation. 3

4 Example 2 - Selected Assignment The selected assignment statement mimics the operation of a multiplexer the value assigned is selected from several other expressions according to a controlling expression. The following example describes a two- multiplexer: entity mux2 is port ( a, b : in bit ; sel : in bit ; y : out bit ) ; end mux2 ; seg: out bit_vector (6 downto 0) ) ; end led7 ; architecture rtl of led7 is with n select seg <= " " when "00", " " when "01", " " when "10", " " when others ; which synthesizes to: architecture rtl of mux2 is with sel select y <= a when 0, b when others ; which synthesizes to: Note the following: the keyword others indicates the default value to assign when none of the other values matches the selection expression. Always include an others clause. commas separate the clauses the synthesizer assumes active-high logic ( 1 H) Example 3 - Bit Vectors VHDL also allows signals of type bit_vector which are one-dimensional arrays of bits that model buses. Using bit vectors and selected signal assignments we can easily convert a truth table into a VHDL description. The next example is a VHDL description of the 7-segment LED driver: -- example 3: 7-segment LED driver for -- 2-bit values entity led7 is port ( n: in bit_vector (1 downto 0) ; The indices of bit vectors can be declared to have increasing (to) or decreasing (downto) values. downto is preferred so that constants read left-toright in the conventional order. bit_vector constants are formed by enclosing an ordered sequence of binary or hexadecimal values in double quotes after a leading B (optional) or X respectively. For example, B"1010_0101" and X"A5" are equivalent. Exercise 7: If x is declared as bit vector (0 to 3) and in an architecture the assignment x<="0011" is made, what is the value of x(3)? What if x had been declared as bit vector (3 downto 0)? Substrings ( slices ) of vectors can be extracted by specifying a range in the index expression. The range must use the same order ( to or downto ) as in the declaration. Vectors can be concatenated using the & operator. For example y <= x(6 downto 0) & 0 would set y to the 8-bit value of x shifted left by 1 bit. Exercise 8: Write a VHDL description that uses & to assign y a bit-reversed version of a 4-bit vector x. The logical operators (e.g. and) can be applied to bit_vectors and operate on a bit-by-bit basis. 4

5 combinational logic combinational logic combinational logic combinational logic Exercise 9: Write a VHDL description for a 2-to-4 decoder using a 2-bit and a 4-bit. Sequential Logic and State Machines Sequential logic circuits are circuits whose s are a function of their state as well as their current s. The state of a sequential circuit is the contents of the memory devices in the circuit. All sequential logic circuits have memory. In theory, any sequential logic circuit, even the most complex CPU, can be described as a single state machine (also called a finite state machine or FSM). There are two basic types of state machines. In the Moore state machine the is a function only of the current state: then control transfers of data between the registers. This type of design is called as Register Transfer Level (RTL 3 ) design. In this chapter we will study the design of simple FSMs. Later, we will combine these simple state machines with registers to build complex devices. Common Sequential Logic Circuits the flip-flop is the basic building block for designing sequential logic circuits. It s purpose is to store one bit of state. There are many types of flip-flops but the only one we will use is the D (delay) flip-flop. D Q memory whereas in the Mealy state machine the is a function of the current state and the current s: memory Moore state machines are simpler and are usually preferred because it s easier to ensure that they will behave correctly for all s. However, since their s only change on the edge they cannot respond as quickly to changes in the. Exercise 10: Which signal in the above diagrams indicates the current state? Large sequential circuits such as microprocessors have too much state to be described as a single state machine. Exercise 11: How may possible states are there for a CPU containing 10,000 flip-flops? A common approach is to split up the design of complex logic circuits into storage registers and relatively simple state machines. These state machines The rising edge of a causes the flipflop to store the value of the (typically called D and makes it available on the (typically Q ). Thus the D flip-flop has a nextstate (D), a state (Q) and a. The D flip-flop state changes only on the rising edge. Exercise 12: diagram above. D Q Fill in the waveform for the Q signal in the Usually all of the flip-flops in a circuit will have the same signal applied to their s. This synchronous operation guarantees that all flip-flops will change their states at the same time and makes it easy to estimate how fast a we can use and still have the circuit will operate properly. Avoid using different signals whenever possible! 3 RTL can also mean Register Transfer Language and Register Transfer Logic t 5

6 A register is several D flip-flops with their s tied together so that all the flip-flops are loaded simultaneously. A latch is a register that whose follows the (is transparent) when the is low. n n Design of State Machines Step 1 - Inputs and Outputs The first step in the design of a state machine is to specify the the s, the states, and the s. It s important to ensure these items are identified correctly. If not, the remainder of the design effort will be wasted. Exercise 13: register? What would be another name for a 1-bit A shift register is a circuit of several flip-flops where the of each flip-flop is connected to the of the adjacent flip-flop: serial D Q D Q D Q serial On each pulse the state of each flip-flop is transfered to the next flip-flop. This allows the data shifted in at one end of the register to appear at the other end after a delay equal to the number of stages in the shift register. The flipflops of a shift registers can often be accessed directly and this type of shift register can be used for converting between serial and parallel bit streams. Exercise 14: Add the parallel s on the above diagram. A counter is a circuit with an N-bit whose value increases by 1 with each. A synchronous counter is a conventional state machine and uses a combinational circuit (an adder) to select the next count based on the current count value. A ripple counter is a simpler circuit in which the the Q of one flip-flop drives the of the next counter stage and the flip-flop is its inverted. Exercise 15: Draw block diagrams of two-bit synchronous and ripple counters showing the s to each flipflop. Is a ripple counter a synchronous logic circuit? Step 2 - States and Encodings We then choose enough memory elements (typically flip-flops) to represent all the possible states. n flipflops can be used to represent up to 2 n states (e.g. 3 flip-flops can encode up to 8 states). In some cases we can simplify the design of the state machine by using more than the minimum number of flip-flops. Exercise 16: If we used 8-bits of state information, how many states could be represented? What if we used 8 bits of state but added the condition that exactly one bit had to be set at any given time (a so-called one-hot encoding )? Although it s possible to arbitrarily encode states into combinations of flip-flop values, sometimes a particular encoding of states can simplify the design. For example, we can often simplify the combinational circuit that generates the by using the s as the state variables plus, if necessary, additional flip-flops. Step 3 - State Transitions After the s, s and the state encodings have been determined, the next step is to exhaustively enumerate all the possible combinations of state and. This is the simplest description of a sequential circuit a state transition table with one line for each possible combination of state and s. Then, based on the design s requirements, we determine the required and next state for each line. In the case of a Moore state machine there will be only one possible for each state. Step 4 - Logic Design Then we design the two blocks of combinational logic that determine the next state and the. The design of these combinational circuits proceeds as described previously. 6

7 Step 5 - Clock and Reset We also need to apply a signal to the s of the flip-flops. The sequential circuit will change state on every rising edge of this signal. Practical circuits will also require some means to initialize (reset) the circuit after power is first applied. Example: Resetable 2-bit Counter A resetable 2-bit counter has one (the reset signal) and two one-bit s. A two-bit counter needs four states. Two flip-flops are sufficient to implement four states. The transition conditions are to go from one state (count) to the next state (next higher count) if the reset is not active, otherwise to the zero state. In this case we can simplify (eliminate) the design of the combinational logic by choosing the state variables to be the s and the state encodings to be the binary representation of the count. If we use the variables R as the reset, Q0 and Q1 to represent the state of the system, and Q0 and Q1 as the subsequent state, the tabular representation would be as follows: Current State Input Next State Q1 Q0 R Q1 Q X X where X is used to represent all possible values (often called a don t care ). We can obtain the following sum-of-products expressions for these equations: Q1 = Q1Q0R + Q1Q0 R Q0 = Q1 Q0 R + Q1Q0 R Exercise 17: Write the tabular description and draw the schematic of a resetable 2-bit counter with decoded s (only one of the four s is true at any time). You can assume the counter will always be reset before being used. How does this counter compare to the previous one? Sequential Circuits in VHDL The design of sequential circuits in VHDL requires the use of the process statement. Process statements can include sequential statements that execute one after another as in conventional programming languages. However, for the logic synthesizer to be able to convert a process to a logic circuit, the process must have a very specific structure. You should use only the simple three-line type of process shown below. This is because signal assignments within a process do not happen as you might expect and may lead to strange results. In this course you may only use processes to generate registers and may only use the single-if structure shown below. As an example, we can describe a D flip-flop in VHDL as follows: entity d_ff is port ( clk, d : in bit ; q : out bit ) ; end d_ff ; architecture rtl of d_ff is process(clk) if clk event and clk = 1 then q <= d ; end if ; end process ; The expression clk event (pronounced tick event ) is true when the value of clk has changed since the last time the process was executed. This is how we model memory in VHDL. In the process the q is only assigned a value if clk changes and the new value is 1. When clk = 0 the retains its previous value. It s necessary to check for clk=1 to distinguish between rising and falling edges of the. FSMs in VHDL are implemented by using concurrent assignment statements (e.g. selected assignments) to generate (1) the and (2) the next state from (a) the current state and (b) the s. The process shown above is used to generate the flip-flops that define the current state. 7

8 This corresponds to the following block diagram: concurrent assignments current state register (process) next state A VHDL description for a 2-bit counter could be written as follows: Exercise 19: Identify the components in the schematic that were entity count2 is port ( clk : in bit ; count_out : out bit_vector (1 downto 0) ) ; end count2 ; architecture rtl of count2 is signal count, next_count : bit_vector (1 downto 0) ; -- combinational logic for next state with count select next_count <= "01" when "00", "10" when "01", "11" when "10", "00" when others ; created ( instantiated ) the different parts of the VHDL code. Exercise 20: Modify the diagram of the 2-bit counter by adding a (synchronous) reset and a 2-, 2-bit multiplexer. Draw a block diagram showing the modified circuit. Label the connections and i/o with appropriate signal names. Write the corresponding VHDL description. -- combinational logic for count_out <= count ; -- sequential logic process(clk) if clk event and clk = 1 then count <= next_count ; end if ; end process ; Exercise 18: Draw the block diagram corresponding to this VHDL description. Use a multiplexer for the selected assignment and and a register for the state variables. Label the connections, s and s with the corresponding VHDL signal names. Note that two signals need to be defined for each flip-flop or register in a design: one signal for the (next_count in this case) and one signal for the (count). Also note that we must define a new signal for an if its value is to be used within the architecture. This is simply a quirk of VHDL. The synthesized circuit is: 8

### Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng

Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals of Computer Organization and Design. Introduction

### Counters and Decoders

Physics 3330 Experiment #10 Fall 1999 Purpose Counters and Decoders In this experiment, you will design and construct a 4-bit ripple-through decade counter with a decimal read-out display. Such a counter

### Digital Electronics Detailed Outline

Digital Electronics Detailed Outline Unit 1: Fundamentals of Analog and Digital Electronics (32 Total Days) Lesson 1.1: Foundations and the Board Game Counter (9 days) 1. Safety is an important concept

### The equation for the 3-input XOR gate is derived as follows

The equation for the 3-input XOR gate is derived as follows The last four product terms in the above derivation are the four 1-minterms in the 3-input XOR truth table. For 3 or more inputs, the XOR gate

### Lecture 8: Synchronous Digital Systems

Lecture 8: Synchronous Digital Systems The distinguishing feature of a synchronous digital system is that the circuit only changes in response to a system clock. For example, consider the edge triggered

### 6. SEQUENTIAL AND CONCURRENT STATEMENTS IN THE VHDL LANGUAGE

Structure of Computer Systems Laboratory No. 6 1 6. SEQUENTIAL AND CONCURRENT STATEMENTS IN THE VHDL LANGUAGE A VHDL description has two domains: a sequential domain and a concurrent domain. The sequential

### Module 3: Floyd, Digital Fundamental

Module 3: Lecturer : Yongsheng Gao Room : Tech - 3.25 Email : yongsheng.gao@griffith.edu.au Structure : 6 lectures 1 Tutorial Assessment: 1 Laboratory (5%) 1 Test (20%) Textbook : Floyd, Digital Fundamental

### 1. Realization of gates using Universal gates

1. Realization of gates using Universal gates Aim: To realize all logic gates using NAND and NOR gates. Apparatus: S. No Description of Item Quantity 1. IC 7400 01 2. IC 7402 01 3. Digital Trainer Kit

### Digital Logic: Boolean Algebra and Gates

Digital Logic: Boolean Algebra and Gates Textbook Chapter 3 CMPE2 Summer 28 Basic Logic Gates CMPE2 Summer 28 Slides by ADB 2 Truth Table The most basic representation of a logic function Lists the output

### l What have discussed up until now & why: l C Programming language l More low-level then Java. l Better idea about what s really going on.

CS211 Computer Architecture l Topics Digital Logic l Transistors (Design & Types) l Logic Gates l Combinational Circuits l K-Maps Class Checkpoint l What have discussed up until now & why: l C Programming

### Module-3 SEQUENTIAL LOGIC CIRCUITS

Module-3 SEQUENTIAL LOGIC CIRCUITS Till now we studied the logic circuits whose outputs at any instant of time depend only on the input signals present at that time are known as combinational circuits.

### CHAPTER 3 Boolean Algebra and Digital Logic

CHAPTER 3 Boolean Algebra and Digital Logic 3.1 Introduction 121 3.2 Boolean Algebra 122 3.2.1 Boolean Expressions 123 3.2.2 Boolean Identities 124 3.2.3 Simplification of Boolean Expressions 126 3.2.4

### ECE 3401 Lecture 7. Concurrent Statements & Sequential Statements (Process)

ECE 3401 Lecture 7 Concurrent Statements & Sequential Statements (Process) Concurrent Statements VHDL provides four different types of concurrent statements namely: Signal Assignment Statement Simple Assignment

### 4 Combinational Components

Chapter 4 Combinational Components Page of 8 4 Combinational Components In constructing large digital circuits, instead of starting with the basic gates as building blocks, we often start with larger building

### EECS 270 Verilog Reference: Combinational Logic

EECS 270 Verilog Reference: Combinational Logic 1 Introduction The goal of this document is to teach you about Verilog and show you the aspects of this language you will need in the 270 lab. Verilog is

### Chapter 2 Digital Components. Section 2.1 Integrated Circuits

Chapter 2 Digital Components Section 2.1 Integrated Circuits An integrated circuit (IC) is a small silicon semiconductor crystal, called a chip, containing the electronic components for the digital gates

### Chapter 2 Logic Gates and Introduction to Computer Architecture

Chapter 2 Logic Gates and Introduction to Computer Architecture 2.1 Introduction The basic components of an Integrated Circuit (IC) is logic gates which made of transistors, in digital system there are

### Chapter 5: Sequential Circuits (LATCHES)

Chapter 5: Sequential Circuits (LATCHES) Latches We focuses on sequential circuits, where we add memory to the hardware that we ve already seen Our schedule will be very similar to before: We first show

### ET398 LAB 6. Flip-Flops in VHDL

ET398 LAB 6 Flip-Flops in VHDL Flip-Flops March 3, 2013 Tiffany Turner OBJECTIVE The objectives of this lab are for you to begin the sequential and memory programming using flip flops in VHDL program.

### ECE232: Hardware Organization and Design. Part 3: Verilog Tutorial. http://www.ecs.umass.edu/ece/ece232/ Basic Verilog

ECE232: Hardware Organization and Design Part 3: Verilog Tutorial http://www.ecs.umass.edu/ece/ece232/ Basic Verilog module ();

### 7. Sequential Circuits - Combinational vs. Sequential Circuits - 7. Sequential Circuits - State (2) - 7. Sequential Circuits - State (1) -

Sistemas Digitais I LESI - 2º ano Lesson 7 - Sequential Systems Principles Prof. João Miguel Fernandes (miguel@di.uminho.pt) Dept. Informática - Combinational vs. Sequential Circuits - Logic circuits are

### 3.Basic Gate Combinations

3.Basic Gate Combinations 3.1 TTL NAND Gate In logic circuits transistors play the role of switches. For those in the TTL gate the conducting state (on) occurs when the baseemmiter signal is high, and

### Digital Systems Design

Digital Systems Design Review of VHDL for Sequential Circuits Dr. D. J. Jackson Lecture 4-1 Using a D flip-flop package LIBRARY altera ; USE altera.maxplus2.all ; The dff component is only one of several

### DIGITAL COUNTERS. Q B Q A = 00 initially. Q B Q A = 01 after the first clock pulse.

DIGITAL COUNTERS http://www.tutorialspoint.com/computer_logical_organization/digital_counters.htm Copyright tutorialspoint.com Counter is a sequential circuit. A digital circuit which is used for a counting

### Upon completion of unit 1.1, students will be able to

Upon completion of unit 1.1, students will be able to 1. Demonstrate safety of the individual, class, and overall environment of the classroom/laboratory, and understand that electricity, even at the nominal

### Digital Electronics Part I Combinational and Sequential Logic. Dr. I. J. Wassell

Digital Electronics Part I Combinational and Sequential Logic Dr. I. J. Wassell Introduction Aims To familiarise students with Combinational logic circuits Sequential logic circuits How digital logic gates

### Verilog Combinational Logic. Verilog for Synthesis

Verilog Combinational Logic Verilog for Synthesis 1 Verilog logic and numbers Four-value logic system 0 logic zero, or false condition 1 logic 1, or true condition x, X unknown logic value z, Z - high-impedance

### Take-Home Exercise. z y x. Erik Jonsson School of Engineering and Computer Science. The University of Texas at Dallas

Take-Home Exercise Assume you want the counter below to count mod-6 backward. That is, it would count 0-5-4-3-2-1-0, etc. Assume it is reset on startup, and design the wiring to make the counter count

### Lecture 8: Flip-flops

Points Addressed in this Lecture Properties of synchronous and asynchronous sequential circuits Overview of flip-flops and latches Lecture 8: Flip-flops Professor Peter Cheung Department of EEE, Imperial

### ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

ETEC 2301 Programmable Logic Devices Chapter 10 Counters Shawnee State University Department of Industrial and Engineering Technologies Copyright 2007 by Janna B. Gallaher Asynchronous Counter Operation

### Figure 2.1(a) Bistable element circuit.

3.1 Bistable Element Let us look at the inverter. If you provide the inverter input with a 1, the inverter will output a 0. If you do not provide the inverter with an input (that is neither a 0 nor a 1),

### Outline. Lecture 8. VHDL, Part III 28.10.2010. Sequential logic and FSMs. Sequential circuits: principles. Finite state machines.

Lecture 8 VHDL, Part III Sequential logic and FSMs Outline Sequential circuits: principles System reset Finite state machines Output buffering 2 1 Section 1 SEQUENTIAL CIRCUITS: PRINCIPLES 3 Overview on

### if-then else : 2-1 mux mux: process (A, B, Select) begin if (select= 1 ) then Z <= A; else Z <= B; end if; end process;

if-then else : 2-1 mux mux: process (A, B, Select) begin if (select= 1 ) then Z

### WEEK 8.1 Registers and Counters. ECE124 Digital Circuits and Systems Page 1

WEEK 8.1 egisters and Counters ECE124 igital Circuits and Systems Page 1 Additional schematic FF symbols Active low set and reset signals. S Active high set and reset signals. S ECE124 igital Circuits

### Experiment 5. Arithmetic Logic Unit (ALU)

Experiment 5 Arithmetic Logic Unit (ALU) Objectives: To implement and test the circuits which constitute the arithmetic logic circuit (ALU). Background Information: The basic blocks of a computer are central

### CHAPTER TEN. 10.1 New Truth Table Symbols. 10.1.1 Edges/Transitions. Memory Cells

CHAPTER TEN Memory Cells The previous chapters presented the concepts and tools behind processing binary data. This is only half of the battle though. For example, a logic circuit uses inputs to calculate

Chapter 3 Sequential Logic Design 1 Figure 3.1 Cross-coupled inverter pair 2 Figure 3.2 Bistable operation of cross-coupled inverters 3 Figure 3.3 SR latch schematic 4 Figure 3.4 Bistable states of SR

### Decimal Number (base 10) Binary Number (base 2)

LECTURE 5. BINARY COUNTER Before starting with counters there is some vital information that needs to be understood. The most important is the fact that since the outputs of a digital chip can only be

### 1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

File: chap04, Chapter 04 1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1. 2. True or False? A gate is a device that accepts a single input signal and produces one

### Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: jimmy@ee.ncu.edu.tw. Sequential Circuit

Modeling Sequential Elements with Verilog Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: jimmy@ee.ncu.edu.tw 4-1 Sequential Circuit Outputs are functions of inputs and present states of storage elements

### Modeling Latches and Flip-flops

Lab Workbook Introduction Sequential circuits are digital circuits in which the output depends not only on the present input (like combinatorial circuits), but also on the past sequence of inputs. In effect,

### Karnaugh Maps. Example A B C X 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1. each 1 here gives a minterm e.g.

Karnaugh Maps Yet another way of deriving the simplest Boolean expressions from behaviour. Easier than using algebra (which can be hard if you don't know where you're going). Example A B C X 0 0 0 0 0

### Lecture 12: More on Registers, Multiplexers, Decoders, Comparators and Wot- Nots

Lecture 12: More on Registers, Multiplexers, Decoders, Comparators and Wot- Nots Registers As you probably know (if you don t then you should consider changing your course), data processing is usually

### Memory Elements. Combinational logic cannot remember

Memory Elements Combinational logic cannot remember Output logic values are function of inputs only Feedback is needed to be able to remember a logic value Memory elements are needed in most digital logic

### State Machines in VHDL

State Machines in VHDL Implementing state machines in VHDL is fun and easy provided you stick to some fairly well established forms. These styles for state machine coding given here is not intended to

### Sequential Logic. (Materials taken from: Principles of Computer Hardware by Alan Clements )

Sequential Logic (Materials taken from: Principles of Computer Hardware by Alan Clements ) Sequential vs. Combinational Circuits Combinatorial circuits: their outputs are computed entirely from their present

### Finite State Machine Design and VHDL Coding Techniques

Finite State Machine Design and VHDL Coding Techniques Iuliana CHIUCHISAN, Alin Dan POTORAC, Adrian GRAUR "Stefan cel Mare" University of Suceava str.universitatii nr.13, RO-720229 Suceava iulia@eed.usv.ro,

### Chapter 4. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 4 <1>

Chapter 4 Digital Design and Computer Architecture, 2 nd Edition David Money Harris and Sarah L. Harris Chapter 4 Chapter 4 :: Topics Introduction Combinational Logic Structural Modeling Sequential

### ELET 3132L - Experiment #5 Bistable Latches and Flip-Flops Revised: October 2011

ELET 3132L - Experiment #5 Bistable Latches and Flip-Flops Revised: October 2011 This exercise has two parts. The first part will be done in the MOSAIC computer lab. Students will perform simulations using

### BINARY CODED DECIMAL: B.C.D.

BINARY CODED DECIMAL: B.C.D. ANOTHER METHOD TO REPRESENT DECIMAL NUMBERS USEFUL BECAUSE MANY DIGITAL DEVICES PROCESS + DISPLAY NUMBERS IN TENS IN BCD EACH NUMBER IS DEFINED BY A BINARY CODE OF 4 BITS.

### CS311 Lecture: Sequential Circuits

CS311 Lecture: Sequential Circuits Last revised 8/15/2007 Objectives: 1. To introduce asynchronous and synchronous flip-flops (latches and pulsetriggered, plus asynchronous preset/clear) 2. To introduce

### Sequential Logic Design

Lab #4 Sequential Logic Design Objective: To study the behavior and applications of flip flops and basic sequential circuits including shift registers and counters. Preparation: Read the following experiment.

### Chapter 5 Latch and flip-flop

257 Chapter 5 Latch and flip-flop «from the ground up I-2013b --- Copyright Daniele Giacomini -- appunti2@gmail.com http://a3.informaticalibera.net 5.1 Propagation delay..................................

### DESCRIPTIONS OF IC S USED IN DIGITAL LABS (ic_specs.doc jgl 11/25/12)

DESCRIPTIONS OF IC S USED IN DIGITAL LABS (ic_specs.doc jgl 11/25/12) (These do not include gate chips: 7400, 02, 04, 08, 10, 32, and 86. Notational note: on the Standard IC Symbol sheet, a bubbled pin

### 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

### Sistemas Digitais I LESI - 2º ano

Sistemas Digitais I LESI - 2º ano Lesson 6 - Combinational Design Practices Prof. João Miguel Fernandes (miguel@di.uminho.pt) Dept. Informática UNIVERSIDADE DO MINHO ESCOLA DE ENGENHARIA - PLDs (1) - The

### Flip-Flops, Registers, Counters, and a Simple Processor

June 8, 22 5:56 vra235_ch7 Sheet number Page number 349 black chapter 7 Flip-Flops, Registers, Counters, and a Simple Processor 7. Ng f3, h7 h6 349 June 8, 22 5:56 vra235_ch7 Sheet number 2 Page number

### Counter/shift-register model. State machine model (cont d) General state machine model

CSE 37 Spring 26 Introduction to igital esign Lecture 8: Moore and Mealy Machines Last Lecture Finite State Machines Today Moore and Mealy Machines Counter/shift-register model Values stored in registers

### (Refer Slide Time: 00:01:16 min)

Digital Computer Organization Prof. P. K. Biswas Department of Electronic & Electrical Communication Engineering Indian Institute of Technology, Kharagpur Lecture No. # 04 CPU Design: Tirning & Control

### Digital Logic Design

Digital Logic Design: An Embedded Systems Approach Using VHDL Chapter 1 Introduction and Methodology Portions of this work are from the book, Digital Logic Design: An Embedded Systems Approach Using VHDL,

### Programmable Logic Devices (PLDs)

Programmable Logic Devices (PLDs) Lesson Objectives: In this lesson you will be introduced to some types of Programmable Logic Devices (PLDs): PROM, PAL, PLA, CPLDs, FPGAs, etc. How to implement digital

### Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop.

Objectives Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop. describe how such a flip-flop can be SET and RESET. describe the disadvantage

### Digital Fundamentals

Digital Fundamentals Tenth Edition Floyd hapter 8 2009 Pearson Education, Upper 2008 Pearson Saddle River, Education NJ 07458. All Rights Reserved ounting in Binary As you know, the binary count sequence

### DIGITAL SYSTEM DESIGN LAB

EXPERIMENT NO: 7 STUDY OF FLIP FLOPS USING GATES AND IC S AIM: To verify various flip-flops like D, T, and JK. APPARATUS REQUIRED: Power supply, Digital Trainer kit, Connecting wires, Patch Chords, IC

### Experiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa

Experiment # 9 Clock generator circuits & Counters Eng. Waleed Y. Mousa 1. Objectives: 1. Understanding the principles and construction of Clock generator. 2. To be familiar with clock pulse generation

### Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill Objectives: Analyze the operation of sequential logic circuits. Understand the operation of digital counters.

### The components. E3: Digital electronics. Goals:

E3: Digital electronics Goals: Basic understanding of logic circuits. Become familiar with the most common digital components and their use. Equipment: 1 st. LED bridge 1 st. 7-segment display. 2 st. IC

### Chapter 4. Gates and Circuits. Chapter Goals. Chapter Goals. Computers and Electricity. Computers and Electricity. Gates

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

### 3.3.1 Basic Memory Elements at the Gate Level

79 and then generalizes coding styles used for representing these structures to more complex sequential circuits including counters and state machines. 3.3.1 Basic Memory Elements at the Gate Level A clocked

### DEPARTMENT OF INFORMATION TECHNLOGY

DRONACHARYA GROUP OF INSTITUTIONS, GREATER NOIDA Affiliated to Mahamaya Technical University, Noida Approved by AICTE DEPARTMENT OF INFORMATION TECHNLOGY Lab Manual for Computer Organization Lab ECS-453

### Digital Design with VHDL

Digital Design with VHDL CSE 560M Lecture 5 Shakir James Shakir James 1 Plan for Today Announcement Commentary due Wednesday HW1 assigned today. Begin immediately! Questions VHDL help session Assignment

### Lecture 9: Flip-flops

Points Addressed in this Lecture Properties of synchronous and asynchronous sequential circuits Overview of flip-flops and latches Lecture 9: Flip-flops Professor Peter Cheung Department of EEE, Imperial

### Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

Chapter 4 Register Transfer and Microoperations Section 4.1 Register Transfer Language Digital systems are composed of modules that are constructed from digital components, such as registers, decoders,

### Shift registers. 1.0 Introduction

Shift registers 1.0 Introduction Shift registers are a type of sequential logic circuit, mainly for storage of digital data. They are a group of flip-flops connected in a chain so that the output from

### 2.0 Chapter Overview. 2.1 Boolean Algebra

Thi d t t d ith F M k 4 0 2 Boolean Algebra Chapter Two Logic circuits are the basis for modern digital computer systems. To appreciate how computer systems operate you will need to understand digital

### Chapter - 5 FLIP-FLOPS AND SIMPLE FLIP-FLOP APPLICATIONS

Chapter - 5 FLIP-FLOPS AND SIMPLE FLIP-FLOP APPLICATIONS Introduction : Logic circuit is divided into two types. 1. Combinational Logic Circuit 2. Sequential Logic Circuit Definition : 1. Combinational

### Digital Logic Design Sequential circuits

Digital Logic Design Sequential circuits Dr. Eng. Ahmed H. Madian E-mail: ahmed.madian@guc.edu.eg Dr. Eng. Rania.Swief E-mail: rania.swief@guc.edu.eg Dr. Eng. Ahmed H. Madian Registers An n-bit register

### Designing Digital Circuits a modern approach. Jonathan Turner

Designing Digital Circuits a modern approach Jonathan Turner 2 Contents I First Half 5 1 Introduction to Designing Digital Circuits 7 1.1 Getting Started.......................... 7 1.2 Gates and Flip

### #5. Show and the AND function can be constructed from two NAND gates.

Study Questions for Digital Logic, Processors and Caches G22.0201 Fall 2009 ANSWERS Digital Logic Read: Sections 3.1 3.3 in the textbook. Handwritten digital lecture notes on the course web page. Study

### 5. Sequential CMOS Logic Circuits

5. Sequential CMOS Logic Circuits In sequential logic circuits the output signals is determined by the current inputs as well as the previously applied input variables. Fig. 5.1a shows a sequential circuit

### LAB MANUAL SUBJECT: DIGITAL LOGIC DESIGN AND APPLICATIONS SE (COMPUTERS) SEM III

LAB MANUAL SUBJECT: DIGITAL LOGIC DESIGN AND APPLICATIONS SE (COMPUTERS) SEM III 1 INDEX Sr. No Title of the Experiment 1 Study of BASIC Gates 3 2 Universal Gates 6 3 Study of Full & Half Adder & Subtractor

### Tutorial 1: Chapter 1

Tutorial 1: hapter 1 1. Figure 1.1 shows the positive edge triggered D flip flop, determine the output of Q 0, assume output is initially LOW. Figure 1.1 2. For the positive edge-triggered J-K flip-flop

### Simulation & Synthesis Using VHDL

Floating Point Multipliers: Simulation & Synthesis Using VHDL By: Raj Kumar Singh - B.E. (Hons.) Electrical & Electronics Shivananda Reddy - B.E. (Hons.) Electrical & Electronics BITS, PILANI Outline Introduction

### Design of Digital Systems II Sequential Logic Design Principles (1)

Design of Digital Systems II Sequential Logic Design Principles (1) Moslem Amiri, Václav Přenosil Masaryk University Resource: Digital Design: Principles & Practices by John F. Wakerly Introduction Logic

### Let s put together a Manual Processor

Lecture 14 Let s put together a Manual Processor Hardware Lecture 14 Slide 1 The processor Inside every computer there is at least one processor which can take an instruction, some operands and produce

### Edge-Triggered D-type Flip-flop

Edge-Triggered D-type Flip-flop The transparent D-type flip-flop is written during the period of time that the write control is active. However there is a demand in many circuits for a storage device (flip-flop

### Practical Workbook Digital Logic Design / Logic Design & Switching Theory

Practical Workbook Digital Logic Design / Logic Design & Switching Theory Name : Year : Batch : Roll No : Department: Second edition - 2015 Dept. of Computer & Information Systems Engineering NED University

### FINITE STATE MACHINE: PRINCIPLE AND PRACTICE

CHAPTER 10 FINITE STATE MACHINE: PRINCIPLE AND PRACTICE A finite state machine (FSM) is a sequential circuit with random next-state logic. Unlike the regular sequential circuit discussed in Chapters 8

### Asynchronous counters, except for the first block, work independently from a system clock.

Counters Some digital circuits are designed for the purpose of counting and this is when counters become useful. Counters are made with flip-flops, they can be asynchronous or synchronous and they can

### ASYNCHRONOUS COUNTERS

LB no.. SYNCHONOUS COUNTES. Introduction Counters are sequential logic circuits that counts the pulses applied at their clock input. They usually have 4 bits, delivering at the outputs the corresponding

### ECE 223 Digital Circuits and Systems. Synchronous Logic. M. Sachdev. Dept. of Electrical & Computer Engineering University of Waterloo

ECE 223 Digital Circuits and Systems Synchronous Logic M. Sachdev Dept. of Electrical & Computer Engineering University of Waterloo Sequential Circuits Combinational circuits Output = f (present inputs)

### Sequential Circuits. Prof. MacDonald

Sequential Circuits Prof. MacDonald Sequential Element Review l Sequential elements provide memory for circuits heart of a state machine saving current state used to hold or pipe data data registers, shift

### Combinational Logic Design Process

Combinational Logic Design Process Create truth table from specification Generate K-maps & obtain logic equations Draw logic diagram (sharing common gates) Simulate circuit for design verification Debug

A New Paradigm for Synchronous State Machine Design in Verilog Randy Nuss Copyright 1999 Idea Consulting Introduction Synchronous State Machines are one of the most common building blocks in modern digital

### RAM & ROM Based Digital Design. ECE 152A Winter 2012

RAM & ROM Based Digital Design ECE 152A Winter 212 Reading Assignment Brown and Vranesic 1 Digital System Design 1.1 Building Block Circuits 1.1.3 Static Random Access Memory (SRAM) 1.1.4 SRAM Blocks in

### CHAPTER IX REGISTER BLOCKS COUNTERS, SHIFT, AND ROTATE REGISTERS

CHAPTER IX-1 CHAPTER IX CHAPTER IX COUNTERS, SHIFT, AN ROTATE REGISTERS REA PAGES 249-275 FROM MANO AN KIME CHAPTER IX-2 INTROUCTION -INTROUCTION Like combinational building blocks, we can also develop

### Sequential Logic Design Principles.Latches and Flip-Flops

Sequential Logic Design Principles.Latches and Flip-Flops Doru Todinca Department of Computers Politehnica University of Timisoara Outline Introduction Bistable Elements Latches and Flip-Flops S-R Latch