Understanding Verilog Blocking and Non-blocking Assignments
|
|
|
- Camron Pitts
- 9 years ago
- Views:
Transcription
1 Understanding Verilog Blocking and Non-blocking Assignments International Cadence User Group Conference September 11, 1996 presented by Stuart HDL Consulting
2 About the Presenter Stuart has over 8 years of experience using Verilog with w a variety of software tools. He holds a BS degree in Computer Science, with an emphasis on Electronic Engineering, and has worked as a design engineer in the defense industry, and as an Applications A Engineer for Gateway Design Automation (the originator of Verilog) and Cadence Design Systems. Mr. has been providing Verilog HDL consulting services since As a consultant, he has been actively involved in using the Verilog langiage with a many different of software tools for the design of ASICs and systems. He is a member of the IEEE 1364 standards committee and has been involved in the specification and testing of Verilog simulation products from several EDA vendors, including the Intergraph-VeriBest VeriBest simulator, the Mentor QuickHDL simulator, and the Frontline CycleDrive cycle based simulator. In addition to Verilog design consutlting,, Mr. provides expert on-site Verilog training on the Verilog HDL language and Programing Language Interface. Mr. is the author and publisher of the popular pular Verilog IEEE 1364 Quick Reference Guide and the Verilog IEEE 1364 PLI Quick Reference Guide. Please conact Mr. with any questions about this material! HDL Consulting Verilog Consulting and Training Services SW 92 nd Place Tualatin, OR USA phone: (503) fax: (503) stuart@sutherland sutherland.com
3 copyright notice 1996 The material in this presentation is copyrighted by HDL H Consulting, Tualatin, Oregon. The presentation is printed with permission as part of the proceedings of the 1996 International Cadence User Group Conference. nce. All rights are reserved. No material from this presentation may be duplicated or transmitted by any means or in any form without the express written permission of HDL Consulting. HDL Consulting SW 92 nd Place Tualatin, OR USA phone: (503) fax: (503) info@sutherland sutherland.com
4 Objectives 4 The primary objective is to understand: What type of hardware is represented by blocking and non-blocking assignments? The material presented is a subset of an advanced Verilog HDL training course
5 5 Procedural assignment evaluation can be modeled as: Blocking Non-blocking Procedural assignment execution can be modeled as: Sequential Concurrent Procedural assignment timing controls can be modeled as: Delayed evaluations Delayed assignments
6 Blocking 6 The = token represents a blocking procedural assignment Evaluated and assigned in a single step Execution flow within the procedure is blocked until the assignment is completed Evaluations of concurrent statements in the same time step are blocked until the assignment is completed These examples will not work Why not? //swap //swap bytes bytes in in word word always clk) begin begin word[15:8] = word[ word[ 7:0]; 7:0]; word[ word[ 7:0] 7:0] = word[15:8]; end end //swap //swap bytes bytes in in word word always clk) fork fork word[15:8] = word[ word[ 7:0]; 7:0]; word[ word[ 7:0] 7:0] = word[15:8]; join join
7 Non-Blocking 7 The <= token represents a non-blocking assignment Evaluated and assigned in two steps: 1 The right-hand hand side is evaluated immediately 2 The assignment to the left-hand side is postponed until other evaluations in the current time step are completed Execution flow within the procedure continues until a timing control is encountered (flow is not blocked) These examples will work Why? //swap //swap bytes bytes in in word word always clk) begin begin word[15:8] <= <= word[ word[ 7:0]; 7:0]; word[ word[ 7:0] 7:0] <= <= word[15:8]; end end //swap //swap bytes bytes in in word word always clk) fork fork word[15:8] <= <= word[ word[ 7:0]; 7:0]; word[ word[ 7:0] 7:0] <= <= word[15:8]; join join
8 Representing Simulation Time as Queues 8 Each Verilog simulation time step is divided into 4 queues Time Time 0: 0: Q1 Q1 (in (in any any order) order) :: Evaluate RHS RHS of of all all non-blocking assignments Evaluate RHS RHS and and change change LHS LHS of of all all blocking assignments Evaluate RHS RHS and and change change LHS LHS of of all all continuous assignments Evaluate inputs inputs and and change change outputs outputs of of all all primitives Evaluate and and print print output output from from $display and and $write $write Q2 Q2 (in (in any any order) order) :: Change LHS LHS of of all all non-blocking assignments Q3 Q3 (in (in any any order) order) :: Evaluate and and print print output output from from $monitor and and $strobe $strobe Call Call PLI PLI with with reason_synchronize Q4 Q4 :: Call Call PLI PLI with with reason_rosynchronize Time Time 1: 1: Note: this is an abstract view, not how simulation algorithms are e implemented
9 Sequential 9 The order of evaluation is determinate A sequential blocking assignment evaluates and assigns before continuing on in the procedure begin A = 1; evaluate and assign A immediately #5 B = A + 1; delay 5 time units, then evaluate and assign end A sequential non-blocking assignment evaluates, then continues on to the next timing control before assigning begin A <= 1; evaluate A immediately; assign at end of time step #5 B <= A + 1; delay 5 time units, then evaluate; then assign at end end of time step (clock + 5)
10 Concurrent 10 The order of concurrent evaluation is indeterminate Concurrent blocking assignments have unpredictable results #5 A = A + 1; #5 B = A + 1; Unpredictable Result: (new value of B could be evaluated before or after A changes) Concurrent non-blocking assignments have predictable results #5 A <= A + 1; #5 B <= A + 1; Predictable Result: (new value of B will always be evaluated before A changes)
11 Delayed Evaluation 11 A timing control before an assignment statement will postpone when the next assignment is evaluated Evaluation is delayed for the amount of time specified begin #5 A = 1; #5 A = A + 1; B = A + 1; end delay for 5, then evaluate and assign delay 5 more, then evaluate and assign no delay; evaluate and assign What values do A and B contain after 10 time units?
12 Delayed Assignment 12 An intra-assignment assignment delay places the timing control after the assignment token The right-hand hand side is evaluated before the delay The left-hand side is assigned after the delay A is evaluated at the time it changes, but B = #5 A; is not assigned to B until after 5 time units clk) Q clk) D; D is evaluated at the negative edge of CLK, Q is changed on the positive edge of CLK always if if (morning) understand = instructor_input; else else if if (afternoon) understand = #5 #5 instructor_input; else else if if (lunch_time) understand = wait wait (!lunch_time) instructor_input;
13 Intra-Assignment Delays With Repeat Loops 13 An edge-sensitive intra-assignment assignment timing control permits a special use of the repeat loop The edge sensitive time control may be repeated several times before the delay is completed Either the blocking or the non-blocking assignment may be used OUT OUT <= <= repeat (8) (8)@(posedge clk) clk) IN; IN; The value of IN is evaluated when it changes, but is not assigned to OUT until after 8 clock cycles
14 Choosing the Correct Procedural Assignment 14 Which procedural assignment should be used to model a combinatorial logic buffer? #5 out = in; #5 out <= in; Which procedural assignment should be used to model a sequential logic flip-flop? flop? #5 q = d; #5 q <= d; out = #5 in; out <= #5 in; q = #5 d; q <= #5 d; The following pages will answer these questions
15 Transition Propagation Methods 15 Hardware has two primary propagation delay methods: Inertial delay models devices with finite switching speeds; input glitches do not propagate to the output Buffer with a 10 nanosecond propagation delay Transport delay models devices with near infinite switching speeds; input glitches propagate to the output Buffer with a 10 nanosecond propagation delay
16 Combinational Logic 16 How will these procedural assignments behave? in Blocking, No delay o1 = in; o1 zero delay Non-blocking, No delay o2 <= in; o2 Blocking, Delayed evaluation #5 o3 = in; o3 inertial Non-blocking, Delayed evaluation #5 o4 <= in; o4 Blocking, Delayed assignment o5 = #5 in; o5 Non-blocking, Delayed assignment o6 <= #5 in; o6 transport
17 Sequential Logic 17 How will these procedural assignments behave? Sequential assignments No delays clk in begin = in; = ; end begin <= in; <= ; end parallel flip-flops flops shift-register with zero delays
18 Sequential Logic 18 How will these procedural assignments behave? Sequential assignments Delayed evaluation clk in begin #5 = in; #5 = ; end begin #5 <= in; #5 <= ; end #5 #5 #5 #5 shift register with delayed clocks shift register with delayed clocks????????????
19 Sequential Logic 19 How will these procedural assignments behave? Sequential assignments Delayed assignment clk in begin = #5 in; = #5 ; end begin <= #5 in; <= #5 ; end #5 #5 #5 #5 #5 shift register delayed clock on second stage shift register with delays
20 Sequential Logic 20 How will these procedural assignments behave? Concurrent assignments No delays clk in = in; = ;????????? shift register with race condition <= in; <= ; shift-register with zero delays
21 Sequential Logic 21 How will these procedural assignments behave? Concurrent assignments Delayed evaluation clk in #5 = in; #5 = ; #5 #5???? shift register with race condition??????? #5 <= in;??? #5 <= ; #5 shift register with race condition?
22 Sequential Logic 22 How will these procedural assignments behave? Concurrent assignments Delayed assignment clk in = #5 in; = #5 ; <= #5 in; <= #5 ; #5 #5 #5 #5 shift register, delay must be < clock period shift register with delays
23 Rules of Thumb for 23 Combinational Logic: No delays: Use blocking assignments ( a = b; ) Inertial delays: Use delayed evaluation blocking assignments ( #5 a = b; ) Transport delays: Use delayed assignment non-blocking assignments ( a <= #5 b; ) Sequential Logic: No delays: Use non-blocking assignments ( q <= d; ) With delays: Use delayed assignment non-blocking assignments ( q <= #5 d; )
24 An Exception to Non-blocking Assignments in Sequential Logic 24 Do not use a non-blocking assignment if another statement in the procedure requires the new value in the same time step begin #5 A <= 1; #5 A <= A + 1; B <= A + 1; end What values do do A and B contain after time units? A is 2 A is 2 B is 2 begin case (state) `STOP: next_state <= `GO; `GO: next_state <= `STOP; endcase state <= next_state; end Assume state and next_state are are `STOP at at the the first clock, what is is state: --At At the the 2nd clock? `STOP --At At the the 3rd 3rd clock? `GO --At At the the 4th 4th clock? `GO --At At the the 5th 5th clock? `STOP
25 Exercise 3: 25 Write a procedure for an adder (combinational logic) that assigns C the sum of A plus B with a 7ns propagation or or B) B) #7 #7 C = A + B; B; Write the procedure(s) for a 4-bit 4 wide shift register (positive edge triggered) of clock and has a 4ns propagation delay. clk) clk) begin <= <= #4 #4 in; in; <= <= #4 #4 in; in; clk) <= <= #4 #4 ; ; <= <= #4 #4 ; ; y3 y3 <= <= #4 #4 ; ; clk) out out <= <= #4 #4 y3; y3; y3 y3 <= <= #4 #4 ; ; end end clk) out out <= <= #4 #4 y3; y3;
26 Exercise 3 (continued): 26 Write a Verilog procedure for a black box ALU pipeline that takes 8 clock cycles to execute an instruction. The pipeline triggers on the positive edge of clock. The black box is represented as call to a function named ALU with inputs A, B and OPCODE. How many Verilog statements does it take to model an eight stage pipeline? clk) alu_out <= <= clk) clk) ALU(A,B,OPCODE);
More Verilog. 8-bit Register with Synchronous Reset. Shift Register Example. N-bit Register with Asynchronous Reset.
More Verilog 8-bit Register with Synchronous Reset module reg8 (reset, CLK, D, Q); input reset; input [7:0] D; output [7:0] Q; reg [7:0] Q; if (reset) Q = 0; else Q = D; module // reg8 Verilog - 1 Verilog
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 ();
A New Paradigm for Synchronous State Machine Design in Verilog
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
Chapter 7: Advanced Modeling Techniques
Chapter 7: Advanced Modeling Techniques Prof. Ming-Bo Lin Department of Electronic Engineering National Taiwan University of Science and Technology Digital System Designs and Practices Using Verilog HDL
Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: [email protected]. Sequential Circuit
Modeling Sequential Elements with Verilog Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: [email protected] 4-1 Sequential Circuit Outputs are functions of inputs and present states of storage elements
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 [email protected],
ECE 451 Verilog Exercises. Sept 14, 2007. James Barnes ([email protected])
ECE 451 Verilog Exercises Sept 14, 2007 James Barnes ([email protected]) Organization These slides give a series of self-paced exercises. Read the specification of each exercise and write your
Registers & Counters
Objectives This section deals with some simple and useful sequential circuits. Its objectives are to: Introduce registers as multi-bit storage devices. Introduce counters by adding logic to registers implementing
LAB #4 Sequential Logic, Latches, Flip-Flops, Shift Registers, and Counters
LAB #4 Sequential Logic, Latches, Flip-Flops, Shift Registers, and Counters LAB OBJECTIVES 1. Introduction to latches and the D type flip-flop 2. Use of actual flip-flops to help you understand sequential
A Verilog HDL Test Bench Primer Application Note
A Verilog HDL Test Bench Primer Application Note Table of Contents Introduction...1 Overview...1 The Device Under Test (D.U.T.)...1 The Test Bench...1 Instantiations...2 Figure 1- DUT Instantiation...2
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
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,
Asynchronous & Synchronous Reset Design Techniques - Part Deux
Clifford E. Cummings Don Mills Steve Golson Sunburst Design, Inc. LCDM Engineering Trilobyte Systems [email protected] [email protected] [email protected] ABSTRACT This paper will investigate
Chapter 13: Verification
Chapter 13: Verification Prof. Ming-Bo Lin Department of Electronic Engineering National Taiwan University of Science and Technology Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008-2010,
Modeling Registers and Counters
Lab Workbook Introduction When several flip-flops are grouped together, with a common clock, to hold related information the resulting circuit is called a register. Just like flip-flops, registers may
VHDL GUIDELINES FOR SYNTHESIS
VHDL GUIDELINES FOR SYNTHESIS Claudio Talarico For internal use only 1/19 BASICS VHDL VHDL (Very high speed integrated circuit Hardware Description Language) is a hardware description language that allows
Chapter 2 Ensuring RTL Intent
Chapter 2 Ensuring RTL Intent A user starts the design of his block, by describing the functionality of the block in the form of RTL. The RTL code is then synthesized to realize the gate level connectivity
Lesson 12 Sequential Circuits: Flip-Flops
Lesson 12 Sequential Circuits: Flip-Flops 1. Overview of a Synchronous Sequential Circuit We saw from last lesson that the level sensitive latches could cause instability in a sequential system. This instability
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
An Integer Square Root Algorithm
An Integer Square Root Algorithm 71 Example 24 An Integer Square Root Algorithm The C algorithm shown in Fig. 2.8 performs an integer square root of the input a as shown in Table 2.1. Note from Table 2.1
EXPERIMENT 8. Flip-Flops and Sequential Circuits
EXPERIMENT 8. Flip-Flops and Sequential Circuits I. Introduction I.a. Objectives The objective of this experiment is to become familiar with the basic operational principles of flip-flops and counters.
Module 3: Floyd, Digital Fundamental
Module 3: Lecturer : Yongsheng Gao Room : Tech - 3.25 Email : [email protected] Structure : 6 lectures 1 Tutorial Assessment: 1 Laboratory (5%) 1 Test (20%) Textbook : Floyd, Digital Fundamental
CS 61C: Great Ideas in Computer Architecture Finite State Machines. Machine Interpreta4on
CS 61C: Great Ideas in Computer Architecture Finite State Machines Instructors: Krste Asanovic & Vladimir Stojanovic hbp://inst.eecs.berkeley.edu/~cs61c/sp15 1 Levels of RepresentaKon/ InterpretaKon High
Design of Digital Circuits (SS16)
Design of Digital Circuits (SS16) 252-0014-00L (6 ECTS), BSc in CS, ETH Zurich Lecturers: Srdjan Capkun, D-INFK, ETH Zurich Frank K. Gürkaynak, D-ITET, ETH Zurich Labs: Der-Yeuan Yu [email protected] Website:
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
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: Clocks, Registers, etc.
ENEE 245: igital Circuits & Systems Lab Lab 2 : Clocks, Registers, etc. ENEE 245: igital Circuits and Systems Laboratory Lab 2 Objectives The objectives of this laboratory are the following: To design
SystemVerilog Is Getting Even Better!
by, SystemVerilog Is Getting Even Better! An Update on the Proposed 2009 SystemVerilog Standard Part 2 presented by Clifford E. Cummings Sunburst Design, Inc. [email protected] www.sunburst-design.com
Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems
Harris Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems David Harris Harvey Mudd College [email protected] Based on EE271 developed by Mark Horowitz, Stanford University MAH
Set-Reset (SR) Latch
et-eset () Latch Asynchronous Level sensitive cross-coupled Nor gates active high inputs (only one can be active) + + Function 0 0 0 1 0 1 eset 1 0 1 0 et 1 1 0-? 0-? Indeterminate cross-coupled Nand gates
Lecture 10 Sequential Circuit Design Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010
EE4800 CMOS igital IC esign & Analysis Lecture 10 Sequential Circuit esign Zhuo Feng 10.1 Z. Feng MTU EE4800 CMOS igital IC esign & Analysis 2010 Sequencing Outline Sequencing Element esign Max and Min-elay
INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE
INTRODUCTION TO DIGITAL SYSTEMS 1 DESCRIPTION AND DESIGN OF DIGITAL SYSTEMS FORMAL BASIS: SWITCHING ALGEBRA IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE COURSE EMPHASIS:
To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC.
8.1 Objectives To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC. 8.2 Introduction Circuits for counting events are frequently used in computers and other digital
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
Wiki Lab Book. This week is practice for wiki usage during the project.
Wiki Lab Book Use a wiki as a lab book. Wikis are excellent tools for collaborative work (i.e. where you need to efficiently share lots of information and files with multiple people). This week is practice
Latches, the D Flip-Flop & Counter Design. ECE 152A Winter 2012
Latches, the D Flip-Flop & Counter Design ECE 52A Winter 22 Reading Assignment Brown and Vranesic 7 Flip-Flops, Registers, Counters and a Simple Processor 7. Basic Latch 7.2 Gated SR Latch 7.2. Gated SR
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
Lecture-3 MEMORY: Development of Memory:
Lecture-3 MEMORY: It is a storage device. It stores program data and the results. There are two kind of memories; semiconductor memories & magnetic memories. Semiconductor memories are faster, smaller,
Traffic Light Controller. Digital Systems Design. Dr. Ted Shaneyfelt
Traffic Light Controller Digital Systems Design Dr. Ted Shaneyfelt December 3, 2008 Table of Contents I. Introduction 3 A. Problem Statement 3 B. Illustration 3 C. State Machine 3 II. Procedure 4 A. State
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
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
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
Using reverse circuit execution for efficient parallel simulation of logic circuits
Using reverse circuit execution for efficient parallel simulation of logic circuits Kalyan Perumalla *, Richard Fujimoto College of Computing, Georgia Tech, Atlanta, Georgia, USA ABSTRACT A novel technique
Manchester Encoder-Decoder for Xilinx CPLDs
Application Note: CoolRunner CPLDs R XAPP339 (v.3) October, 22 Manchester Encoder-Decoder for Xilinx CPLDs Summary This application note provides a functional description of VHDL and Verilog source code
NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter
NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter Description: The NTE2053 is a CMOS 8 bit successive approximation Analog to Digital converter in a 20 Lead DIP type package which uses a differential
Chapter 2 Verilog HDL for Design and Test
Chapter 2 Verilog HDL for Design and Test In Chapter 1, we discussed the basics of test and presented ways in which hardware description languages (HDLs) could be used to improve various aspects of digital
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
Topics. Flip-flop-based sequential machines. Signals in flip-flop system. Flip-flop rules. Latch-based machines. Two-sided latch constraint
Topics Flip-flop-based sequential machines! Clocking disciplines. Flip-flop rules! Primary inputs change after clock (φ) edge.! Primary inputs must stabilize before next clock edge.! Rules allow changes
Lecture 7: Clocking of VLSI Systems
Lecture 7: Clocking of VLSI Systems MAH, AEN EE271 Lecture 7 1 Overview Reading Wolf 5.3 Two-Phase Clocking (good description) W&E 5.5.1, 5.5.2, 5.5.3, 5.5.4, 5.5.9, 5.5.10 - Clocking Note: The analysis
L4: Sequential Building Blocks (Flip-flops, Latches and Registers)
L4: Sequential Building Blocks (Flip-flops, Latches and Registers) Acknowledgements: Materials in this lecture are courtesy of the following sources and are used with permission. Prof. Randy Katz (Unified
Digital Controller for Pedestrian Crossing and Traffic Lights
Project Objective: - To design and simulate, a digital controller for traffic and pedestrian lights at a pedestrian crossing using Microsim Pspice The controller must be based on next-state techniques
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
CSE140: Components and Design Techniques for Digital Systems
CE4: Components and esign Techniques for igital ystems Tajana imunic osing ources: Where we are now What we ve covered so far (Chap -5, App. A& B) Number representations Boolean algebra OP and PO Logic
PROGETTO DI SISTEMI ELETTRONICI DIGITALI. Digital Systems Design. Digital Circuits Advanced Topics
PROGETTO DI SISTEMI ELETTRONICI DIGITALI Digital Systems Design Digital Circuits Advanced Topics 1 Sequential circuit and metastability 2 Sequential circuit A Sequential circuit contains: Storage elements:
CS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions
CS101 Lecture 26: Low Level Programming John Magee 30 July 2013 Some material copyright Jones and Bartlett 1 Overview/Questions What did we do last time? How can we control the computer s circuits? How
Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)
Dr. Greg Tumbush, [email protected] Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts) Objective The objective of lab assignments 5 through 9 are to systematically design and implement
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
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
EE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad
A. M. Niknejad University of California, Berkeley EE 100 / 42 Lecture 24 p. 1/20 EE 42/100 Lecture 24: Latches and Flip Flops ELECTRONICS Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad University of California,
Topics of Chapter 5 Sequential Machines. Memory elements. Memory element terminology. Clock terminology
Topics of Chapter 5 Sequential Machines Memory elements Memory elements. Basics of sequential machines. Clocking issues. Two-phase clocking. Testing of combinational (Chapter 4) and sequential (Chapter
CHAPTER 11: Flip Flops
CHAPTER 11: Flip Flops In this chapter, you will be building the part of the circuit that controls the command sequencing. The required circuit must operate the counter and the memory chip. When the teach
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
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
Getting the Most Out of Synthesis
Outline Getting the Most Out of Synthesis Dr. Paul D. Franzon 1. Timing Optimization Approaches 2. Area Optimization Approaches 3. Design Partitioning References 1. Smith and Franzon, Chapter 11 2. D.Smith,
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
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
Verilog for Behavioral Modeling
Verilog for Behavioral Modeling E-mail: [email protected] Dept. of Electrical Engineering-Systems University of Southern California 1 Objective of the Lecture To address those features of Verilog that are
Sequential Circuit Design
Sequential Circuit Design Lan-Da Van ( 倫 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, 2009 [email protected] http://www.cs.nctu.edu.tw/~ldvan/ Outlines
Digital Logic Design Sequential circuits
Digital Logic Design Sequential circuits Dr. Eng. Ahmed H. Madian E-mail: [email protected] Dr. Eng. Rania.Swief E-mail: [email protected] Dr. Eng. Ahmed H. Madian Registers An n-bit register
Flip-Flops and Sequential Circuit Design. ECE 152A Winter 2012
Flip-Flops and Sequential Circuit Design ECE 52 Winter 22 Reading ssignment Brown and Vranesic 7 Flip-Flops, Registers, Counters and a Simple Processor 7.5 T Flip-Flop 7.5. Configurable Flip-Flops 7.6
Flip-Flops and Sequential Circuit Design
Flip-Flops and Sequential Circuit Design ECE 52 Winter 22 Reading ssignment Brown and Vranesic 7 Flip-Flops, Registers, Counters and a Simple Processor 7.5 T Flip-Flop 7.5. Configurable Flip-Flops 7.6
Computer organization
Computer organization Computer design an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + datapath Control = finite state machine inputs
Review: MIPS Addressing Modes/Instruction Formats
Review: Addressing Modes Addressing mode Example Meaning Register Add R4,R3 R4 R4+R3 Immediate Add R4,#3 R4 R4+3 Displacement Add R4,1(R1) R4 R4+Mem[1+R1] Register indirect Add R4,(R1) R4 R4+Mem[R1] Indexed
Chapter 8. Sequential Circuits for Registers and Counters
Chapter 8 Sequential Circuits for Registers and Counters Lesson 3 COUNTERS Ch16L3- "Digital Principles and Design", Raj Kamal, Pearson Education, 2006 2 Outline Counters T-FF Basic Counting element State
Life Cycle of a Memory Request. Ring Example: 2 requests for lock 17
Life Cycle of a Memory Request (1) Use AQR or AQW to place address in AQ (2) If A[31]==0, check for hit in DCache Ring (3) Read Hit: place cache word in RQ; Write Hit: replace cache word with WQ RDDest/RDreturn
8254 PROGRAMMABLE INTERVAL TIMER
PROGRAMMABLE INTERVAL TIMER Y Y Y Compatible with All Intel and Most Other Microprocessors Handles Inputs from DC to 10 MHz 8 MHz 8254 10 MHz 8254-2 Status Read-Back Command Y Y Y Y Y Six Programmable
VHDL Test Bench Tutorial
University of Pennsylvania Department of Electrical and Systems Engineering ESE171 - Digital Design Laboratory VHDL Test Bench Tutorial Purpose The goal of this tutorial is to demonstrate how to automate
ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path
ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path Project Summary This project involves the schematic and layout design of an 8-bit microprocessor data
9/14/2011 14.9.2011 8:38
Algorithms and Implementation Platforms for Wireless Communications TLT-9706/ TKT-9636 (Seminar Course) BASICS OF FIELD PROGRAMMABLE GATE ARRAYS Waqar Hussain [email protected] Department of Computer
Design and Verification of Nine port Network Router
Design and Verification of Nine port Network Router G. Sri Lakshmi 1, A Ganga Mani 2 1 Assistant Professor, Department of Electronics and Communication Engineering, Pragathi Engineering College, Andhra
150127-Microprocessor & Assembly Language
Chapter 3 Z80 Microprocessor Architecture The Z 80 is one of the most talented 8 bit microprocessors, and many microprocessor-based systems are designed around the Z80. The Z80 microprocessor needs an
Digital Circuit Design Using Xilinx ISE Tools
Digital Circuit Design Using Xilinx ISE Tools Contents 1. Introduction... 1 2. Programmable Logic Device: FPGA... 2 3. Creating a New Project... 2 4. Synthesis and Implementation of the Design... 11 5.
Lecture 11: Sequential Circuit Design
Lecture 11: Sequential Circuit esign Outline Sequencing Sequencing Element esign Max and Min-elay Clock Skew Time Borrowing Two-Phase Clocking 2 Sequencing Combinational logic output depends on current
Synthesizable Finite State Machine Design Techniques Using the New SystemVerilog 3.0 Enhancements
Clifford E. Cummings SNUG-2003 San Jose, CA Voted Best Paper 2 nd Place Sunburst Design, Inc. ABSTRACT This paper details RTL coding and synthesis techniques of Finite State Machine (FSM) design using
Lecture 10: Sequential Circuits
Introduction to CMOS VLSI esign Lecture 10: Sequential Circuits avid Harris Harvey Mudd College Spring 2004 Outline q Sequencing q Sequencing Element esign q Max and Min-elay q Clock Skew q Time Borrowing
Chapter 5 :: Memory and Logic Arrays
Chapter 5 :: Memory and Logic Arrays Digital Design and Computer Architecture David Money Harris and Sarah L. Harris Copyright 2007 Elsevier 5- ROM Storage Copyright 2007 Elsevier 5- ROM Logic Data
Digital Design Verification
Digital Design Verification Course Instructor: Debdeep Mukhopadhyay Dept of Computer Sc. and Engg. Indian Institute of Technology Madras, Even Semester Course No: CS 676 1 Verification??? What is meant
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
Sequential Circuits. Combinational Circuits Outputs depend on the current inputs
Principles of VLSI esign Sequential Circuits Sequential Circuits Combinational Circuits Outputs depend on the current inputs Sequential Circuits Outputs depend on current and previous inputs Requires separating
Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow
Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow Bradley R. Quinton Dept. of Electrical and Computer Engineering University of British Columbia [email protected]
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
Two-Phase Clocking Scheme for Low-Power and High- Speed VLSI
International Journal of Advances in Engineering Science and Technology 225 www.sestindia.org/volume-ijaest/ and www.ijaestonline.com ISSN: 2319-1120 Two-Phase Clocking Scheme for Low-Power and High- Speed
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.
Verilog: always @ Blocks
Verilog: always @ Blocks hris Fletcher U Berkeley Version 0.2008.9.4 September 5, 2008 Introduction Sections. to.6 discuss always@ blocks in Verilog, and when to use the two major flavors of always@ block,
7. Latches and Flip-Flops
Chapter 7 Latches and Flip-Flops Page 1 of 18 7. Latches and Flip-Flops Latches and flip-flops are the basic elements for storing information. One latch or flip-flop can store one bit of information. The
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
Addressing The problem. When & Where do we encounter Data? The concept of addressing data' in computations. The implications for our machine design(s)
Addressing The problem Objectives:- When & Where do we encounter Data? The concept of addressing data' in computations The implications for our machine design(s) Introducing the stack-machine concept Slide
