Verilog: Blocks
|
|
|
- Lilian Dickerson
- 10 years ago
- Views:
Transcription
1 Verilog: Blocks hris Fletcher U Berkeley Version September 5, 2008 Introduction Sections. to.6 discuss always@ blocks in Verilog, and when to use the two major flavors of always@ block, namely the always@( * ) and always@(posedge lock) block.. always@ Blocks always@ blocks are used to describe events that should happen under certain conditions. always@ blocks are always followed by a set of parentheses, a begin, some code, and an end. Program shows a skeleton always@ block. Program The skeleton of an always@ block sensitivity list... ) begin 2... elements... In Program, the sensitivity list is discussed in greater detail in Section.5. The contents of the always@ block, namely elements describe elements that should be set when the sensitivity list is satisfied. For now, just know that when the sensitivity list is satisfied, the elements inside the always@ block are set/updated. They are not otherwise. Elements in an always@ block are set/updated in sequentially and in parallel, depending on the type of assignment used. There are two types of assignments: <= (non-blocking) and = (blocking)..2 <= (non-blocking) ssignments Non-blocking assignments happen in parallel. In other words, if an always@ block contains multiple <= assignments, which are literally written in Verilog sequentially, you should think of all of the assignments being set at exactly the same time. For example, consider Program 2. Program 2 <= assignments inside of an always@ block 4 sensitivity list... ) begin 5 B <= ; 6 <= B; 7 D <= ; 8 end Program 2 specifies a circuit that reads when the sensitivity list is satisfied, B gets s value, gets B s old value, and D gets s old value. The key here is that gets B s old value, etc (read: think OLD
2 value!. This ensures that is not set to, as is B s new value, as of the always@ block s execution. Non-blocking assignments are used when specifying sequential logic (see Section.4)..3 = (blocking) ssignments Blocking assignments happen sequentially. In other words, if an always@ block contains multiple = assignments, you should think of the assignments being set one after another. For example, consider Program 3. Program 3 = assignments inside of an always@ block sensitivity list... ) begin 2 B = ; 3 = B; 4 D = ; Program 3 specifies a circuit that reads when the sensitivity list is satisfied, B gets, gets B, and D gets. But, by the time gets B, B has been set to. Likewise, by the time D gets, has been set to B, which, as we stated above, has been set to. This always@ block turns B,, and D into. Blocking assignments are used when specifying combinational logic (see Section.5)..4 always@(posedge lock) Blocks always@(posedge lock) ( always at the positive edge of the clock ) or always@(negedge lock) ( always at the negative edge of the clock ) blocks are used to describe Sequential Logic, or Registers. Only <= (non-blocking) assignments should be used in an always@(posedge lock) block. Never use = (blocking) assignments in always@(posedge lock) blocks. Only use always@(posedge lock) blocks when you want to infer an element(s) that changes its value at the positive or negative edge of the clock. For example, consider Figure, a recreation of Program 2 that uses posedge lock as its sensitivity list. Figure is also known as a shift register. The completed always@ block is shown in Program 4. Figure shift register B D lock.5 always@( * ) Blocks always@( * ) blocks are used to describe ombinational Logic, or Logic Gates. Only = (blocking) assignments should be used in an always@( * ) block. Never use <= (non-blocking) assignments in always@( * ) blocks. Only use always@( * ) block when you want to infer an element(s) that changes its value as soon as one or more of its inputs change. This point might be confusing. We said that non-blocking statements happen in parallel. Yet, they are useful for specifying sequential logic? In digital design, sequential logic doesn t refer to things happening in parallel or a sequence, as we have been discussing, but rather to logic that has state. 2
3 Program 4 shift register, using <= assignments inside of an always@(posedge lock) block posedge lock ) begin 2 B <= ; 3 <= B; 4 D <= ; lways use * (star) for your sensitivity list in always@( * ) blocks. The sensitivity list specifies which signals should trigger the elements inside the always@ block to be updated. For example, given 3 wires, B and, we can create an and gate through Program 5, and shown graphically in Figure 2. Program 5 n and gate inside of an always@( * ) block or B) begin 2 = & B; Figure 2 The and gate produced by Program 5 (this is a normal and gate!) B Program 5 specifies that when or B change values, update the value of every element inside the always@( * ) block. In this case, the only element inside the always@( * ) block is, which in this case is assigned the and of and B. very common bug is to introduce an incomplete sensitivity list. See Program 6 for two examples of incomplete sensitivity lists. Program 6 n and gate with an incomplete sensitivity list (this is incorrect!) ) begin 2 = & B; B) begin 2 = & B; In Program 6, the first example produces an and gate that only updates its output when changes. If B changes, but does not change, does not change because the always@() block isn t executed. Likewise, the second example produces an and gate that doesn t react to a change in. Incomplete sensitivity lists are almost NEVER what you want! They introduce very hard-to-find bugs. s such, we use always@( * ). The * is shorthand for always@( or B) in our examples. In other words, * sets the sensitivity list to any values that can have an impact on a value(s) determined by the always@( * ) block. * provides a bug-free shorthand for creating complete sensitivity lists. 3
4 .6 Pitfalls You might be wondering what happens if you don t follow the conventions set forth in Sections.4 and.5. The following are some easy-to-make mistakes in Verilog that can have a dramatic [and undesired] effect on a circuit.. onsider the shift register from Figure. If you place = assignments inside of an always@(posedge lock) block to produce the shift register, you instead get the parallel registers shown in Figure 3 and Program 7. You might also get one register, whose output is tied to B, and D. Both possible outcomes are equivelent. These circuit make sense, but don t create shift registers! (s shift registers are common construct, we assume that you wanted to create a shift register) Figure 3 Parallel registers lock B D Program 7 Parallel registers, using = assignments inside of an always@(posedge lock) block posedge lock ) begin 2 B = ; 3 = B; 4 D = ; 2. The opposite example (shown in Program 8), where we place <= assignments inside of always@( * ) is less pronounced. In this case, just consider what type of circuit you want to create: do you want all statements to be executed in parallel or in sequence (see Section.2 and.3)? In the always@( * ), the distinction between <= and = is sometimes very subtle, as the point of always@ ( * ) is to trigger at indefinite times (unlike the very definite posedge lock). We recommend = in conjunction with always@( * ) to establish good convention (as = was originally meant to be associated with combinational logic). Program 8 <= assignments inside of always@( * ) blocks * ) begin 2 B <= ; 3 <= B; 4 D <= ; 3. onsider the case of incompletely specified sensitivity lists. n incompletely specified sensitivity list, as discussed in Section.5, will create an always@ block that doesn t always set/update its elements when it should. In truth, synthesis tools will often know what you mean if you provide an incomplete sensitivity list, and pretend that your sensitivity list was complete. This is not the 4
5 case with simulation tools (like ModelSim), however. ModelSim will not correct your sensitivity list bugs, and your simulations will be plagued with odd errors. Furthermore, the synthesis tools catching your errors is not guarenteed. n easy way to avoid these potential problems is to use always@( * ) as opposed to always@(input or Input 2 or...). 4. Lastly, a very subtle point which perhaps has the potential to cause the most frustration is latch generation. If you don t assign every element that can be assigned inside an always@( * ) block every time that always@( * ) block is executed, a latch (similar to a register but much harder to work with in FPGs) will be inferred for that element. This is never what you want and is a terrible place for bugs. s this is subtle, it is somewhat hard to visualize. onsider Program 9. Program 9 n always@( * ) block that will generate a latch for wire Trigger, Pass ; 2 reg, ; 3 4 * ) begin 5 = b0; 6 if ( Trigger ) begin 7 = Pass ; 8 = Pass ; 9 end 0 end In Program 9, and are both assigned in at least one place inside the always@ block. is always assigned at least once. This is because the first line of the always@ block specifies a default value for. This is a perfectly valid assignment. It ensures that is always assigned with each execution of the always@ block. on the other hand is not always assigned. When Trigger = b, the if statement executes and both and get set. If Trigger = b0, however, the if is skipped. is safe, as it was given a default value on the first line of the always@ block. on the other hand, doesn t get assigned at all when this happens. s such, a latch is inferred for. The erroneous circuit depicted in Program 9 is shown in Figure 4. Figure 4 The circuit generated by Program 9 (this is an erroneous circuit!) Pass Trigger Latch 'b0 0 To fix this problem, we must make sure that gets set every time the always@ block is executed. simple way to force this is to add another default value, depicted in Program 0 and shown in Figure 5. 5
6 Program 0 n always@( * ) block that will not generate latches wire Trigger, Pass ; 2 reg, ; 3 4 * ) begin 5 = b0; 6 = b; 7 if ( Trigger ) begin 8 = Pass ; 9 = Pass ; 0 end end Figure 5 The circuit generated by Program 0 (this is correct!) Pass Trigger 'b 0 'b0 0 Default values are an easy way to avoid latch generation, however, will sometimes break the logic in a design. s such, other ways of ensuring that each value always gets set are going to be worth looking into. Typically, they involve proper use of the Verilog else statement, and other flow constructs. Know that setting a reg to itself is not an acceptable way to ensure that the reg always gets set. For example, = ; enjected into the top of the always@( * ) block in Program 9 will not supress latch generation. In every execution of an always@( * ) block, each value that is assigned in at least one place must be assigned to a non-trivial value during every execution of the always@( * ) block. 6
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
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
CHAPTER 11 LATCHES AND FLIP-FLOPS
CHAPTER 11 LATCHES AND FLIP-FLOPS This chapter in the book includes: Objectives Study Guide 11.1 Introduction 11.2 Set-Reset Latch 11.3 Gated D Latch 11.4 Edge-Triggered D Flip-Flop 11.5 S-R Flip-Flop
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
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
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
Design Example: Counters. Design Example: Counters. 3-Bit Binary Counter. 3-Bit Binary Counter. Other useful counters:
Design Eample: ers er: a sequential circuit that repeats a specified sequence of output upon clock pulses. A,B,C,, Z. G, O, T, E, R, P, S,!.,,,,,,,7. 7,,,,,,,.,,,,,,,,,,,. Binary counter: follows the binary
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
Engr354: Digital Logic Circuits
Engr354: igital Circuits Chapter 7 Sequential Elements r. Curtis Nelson Sequential Elements In this chapter you will learn about: circuits that can store information; Basic cells, latches, and flip-flops;
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
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
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
CDA 3200 Digital Systems. Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012
CDA 3200 Digital Systems Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012 Outline SR Latch D Latch Edge-Triggered D Flip-Flop (FF) S-R Flip-Flop (FF) J-K Flip-Flop (FF) T Flip-Flop
Gates, Circuits, and Boolean Algebra
Gates, Circuits, and Boolean Algebra Computers and Electricity A gate is a device that performs a basic operation on electrical signals Gates are combined into circuits to perform more complicated tasks
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
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
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 ();
Introduction to Functional Verification. Niels Burkhardt
Introduction to Functional Verification Overview Verification issues Verification technologies Verification approaches Universal Verification Methodology Conclusion Functional Verification issues Hardware
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,
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
SEQUENTIAL CIRCUITS. Block diagram. Flip Flop. S-R Flip Flop. Block Diagram. Circuit Diagram
SEQUENTIAL CIRCUITS http://www.tutorialspoint.com/computer_logical_organization/sequential_circuits.htm Copyright tutorialspoint.com The combinational circuit does not use any memory. Hence the previous
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
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
Ladder and Functional Block Programming
CHPTER 11 Ladder and Functional lock Programming W. olton This (and the following) chapter comes from the book Programmable Logic Controllers by W. olton, ISN: 9780750681124. The first edition of the book
Multiplexers Two Types + Verilog
Multiplexers Two Types + Verilog ENEE 245: Digital Circuits and ystems Laboratory Lab 7 Objectives The objectives of this laboratory are the following: To become familiar with continuous ments and procedural
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
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
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
AC 2007-2485: PRACTICAL DESIGN PROJECTS UTILIZING COMPLEX PROGRAMMABLE LOGIC DEVICES (CPLD)
AC 2007-2485: PRACTICAL DESIGN PROJECTS UTILIZING COMPLEX PROGRAMMABLE LOGIC DEVICES (CPLD) Samuel Lakeou, University of the District of Columbia Samuel Lakeou received a BSEE (1974) and a MSEE (1976)
Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation
Testing & Verification of Digital Circuits ECE/CS 5745/6745 Hardware Verification using Symbolic Computation Instructor: Priyank Kalla ([email protected]) 3 Credits Mon, Wed, 1:25-2:45pm, WEB L105 Office
So far we have investigated combinational logic for which the output of the logic devices/circuits depends only on the present state of the inputs.
equential Logic o far we have investigated combinational logic for which the output of the logic devices/circuits depends only on the present state of the inputs. In sequential logic the output of the
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
2 : BISTABLES. In this Chapter, you will find out about bistables which are the fundamental building blocks of electronic counting circuits.
2 : BITABLE In this Chapter, you will find out about bistables which are the fundamental building blos of electronic counting circuits. et-reset bistable A bistable circuit, also called a latch, or flip-flop,
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
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
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
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
University of Toronto Faculty of Applied Science and Engineering
Print : First Name :............................. Last Name :............................. Student Number:............................................... University of Toronto Faculty of Applied Science
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
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
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
After opening the Programs> Xilinx ISE 8.1i > Project Navigator, you will come to this screen as start-up.
After opening the Programs> Xilinx ISE 8.1i > Project Navigator, you will come to this screen as start-up. Start with a new project. Enter a project name and be sure to select Schematic as the Top-Level
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.
CNC FOR EDM MACHINE TOOL HARDWARE STRUCTURE. Ioan Lemeni
CNC FOR EDM MACHINE TOOL HARDWARE STRUCTURE Ioan Lemeni Computer and Communication Engineering Department Faculty of Automation, Computers and Electronics University of Craiova 13, A.I. Cuza, Craiova,
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
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:
Understanding Verilog Blocking and Non-blocking Assignments
Understanding Verilog Blocking and Non-blocking Assignments International Cadence User Group Conference September 11, 1996 presented by Stuart HDL Consulting About the Presenter Stuart has over 8 years
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
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
Finite State Machine Design A Vending Machine
LAB 6 Finite State Machine Design A Vending Machine You will learn how turn an informal sequential circuit description into a formal finite-state machine model, how to express it using ABEL, how to simulate
Testing Low Power Designs with Power-Aware Test Manage Manufacturing Test Power Issues with DFTMAX and TetraMAX
White Paper Testing Low Power Designs with Power-Aware Test Manage Manufacturing Test Power Issues with DFTMAX and TetraMAX April 2010 Cy Hay Product Manager, Synopsys Introduction The most important trend
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,
Understanding the IEC61131-3 Programming Languages
profile Drive & Control Technical Article Understanding the IEC61131-3 Programming Languages It was about 120 years ago when Mark Twain used the phrase more than one way to skin a cat. In the world of
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
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
EE552. Advanced Logic Design and Switching Theory. Metastability. Ashirwad Bahukhandi. (Ashirwad Bahukhandi) [email protected]
EE552 Advanced Logic Design and Switching Theory Metastability by Ashirwad Bahukhandi (Ashirwad Bahukhandi) [email protected] This is an overview of what metastability is, ways of interpreting it, the issues
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
Linear Motion and Assembly Technologies Pneumatics Service. Understanding the IEC61131-3 Programming Languages
Electric Drives and Controls Hydraulics Linear Motion and Assembly Technologies Pneumatics Service profile Drive & Control Understanding the IEC61131-3 Programming Languages It was about 120 years ago
ECE380 Digital Logic
ECE38 igital Logic Flip-Flops, Registers and Counters: Flip-Flops r.. J. Jackson Lecture 25- Flip-flops The gated latch circuits presented are level sensitive and can change states more than once during
Digital Systems. Role of the Digital Engineer
Digital Systems Role of the Digital Engineer Digital Design Engineers attempt to clearly define the problem(s) Possibly, break the problem into many smaller problems Engineers then develop a strategy for
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
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
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,
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
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,
Active Learning in the Introduction to Digital Logic Design Laboratory Course
Active Learning in the Introduction to Digital Logic Design Laboratory Course Jing Pang Department of Electrical and Electronic Engineering, Computer Engineering Program, California State University, Sacramento,
An Innocent Investigation
An Innocent Investigation D. Joyce, Clark University January 2006 The beginning. Have you ever wondered why every number is either even or odd? I don t mean to ask if you ever wondered whether every number
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
Computer Science 217
Computer Science 217 Midterm Exam Fall 2009 October 29, 2009 Name: ID: Instructions: Neatly print your name and ID number in the spaces provided above. Pick the best answer for each multiple choice question.
ESP-CV Custom Design Formal Equivalence Checking Based on Symbolic Simulation
Datasheet -CV Custom Design Formal Equivalence Checking Based on Symbolic Simulation Overview -CV is an equivalence checker for full custom designs. It enables efficient comparison of a reference design
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
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
CSE140: Midterm 1 Solution and Rubric
CSE140: Midterm 1 Solution and Rubric April 23, 2014 1 Short Answers 1.1 True or (6pts) 1. A maxterm must include all input variables (1pt) True 2. A canonical product of sums is a product of minterms
Arbs2U Is it right for me? 17 October 2014
17 October 2014 Contents Section 1 Preface... 3 Document Feedback... 3 Section 2 Introducing Arbitrage... 4 A brief discussion on Betting... 4 What is Arbitrage?... 5 What are the risks involved?... 7
A Digital Timer Implementation using 7 Segment Displays
A Digital Timer Implementation using 7 Segment Displays Group Members: Tiffany Sham u2548168 Michael Couchman u4111670 Simon Oseineks u2566139 Caitlyn Young u4233209 Subject: ENGN3227 - Analogue Electronics
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
ModelSim-Altera Software Simulation User Guide
ModelSim-Altera Software Simulation User Guide ModelSim-Altera Software Simulation User Guide 101 Innovation Drive San Jose, CA 95134 www.altera.com UG-01102-2.0 Document last updated for Altera Complete
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
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
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
Class Assignment. College Bus Graphics Design VCP 118-2 DIGITAL IMAGING III ASSIGNMENT DUE OCTOBER 25 TH FALL 2010
FALL 2010 Class Assignment CECIL COLLEGE College Bus Graphics Design Choosing the right graphics for a job can be an overwhelming task. To begin the selection process, it is critical to ask two important
Assertion Synthesis Enabling Assertion-Based Verification For Simulation, Formal and Emulation Flows
Assertion Synthesis Enabling Assertion-Based Verification For Simulation, Formal and Emulation Flows Manual Assertion Creation is ABV Bottleneck Assertion-Based Verification adopted by leading design companies
Master/Slave Flip Flops
Master/Slave Flip Flops Page 1 A Master/Slave Flip Flop ( Type) Gated latch(master) Gated latch (slave) 1 Gate Gate GATE Either: The master is loading (the master in on) or The slave is loading (the slave
Theory of Logic Circuits. Laboratory manual. Exercise 3
Zakład Mikroinformatyki i Teorii Automatów yfrowych Theory of Logic ircuits Laboratory manual Exercise 3 Bistable devices 2008 Krzysztof yran, Piotr zekalski (edt.) 1. lassification of bistable devices
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
16-bit ALU, Register File and Memory Write Interface
CS M152B Fall 2002 Project 2 16-bit ALU, Register File and Memory Write Interface Suggested Due Date: Monday, October 21, 2002 Actual Due Date determined by your Lab TA This project will take much longer
Adder.PPT(10/1/2009) 5.1. Lecture 13. Adder Circuits
Adder.T(//29) 5. Lecture 3 Adder ircuits Objectives Understand how to add both signed and unsigned numbers Appreciate how the delay of an adder circuit depends on the data values that are being added together
6. BOOLEAN LOGIC DESIGN
6. OOLEN LOGI DESIGN 89 Topics: oolean algebra onverting between oolean algebra and logic gates and ladder logic Logic examples Objectives: e able to simplify designs with oolean algebra 6. INTRODUTION
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
E158 Intro to CMOS VLSI Design. Alarm Clock
E158 Intro to CMOS VLSI Design Alarm Clock Sarah Yi & Samuel (Tae) Lee 4/19/2010 Introduction The Alarm Clock chip includes the basic functions of an alarm clock such as a running clock time and alarm
Grading Benchmarks FIRST GRADE. Trimester 4 3 2 1 1 st Student has achieved reading success at. Trimester 4 3 2 1 1st In above grade-level books, the
READING 1.) Reads at grade level. 1 st Student has achieved reading success at Level 14-H or above. Student has achieved reading success at Level 10-F or 12-G. Student has achieved reading success at Level
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],
Systems I: Computer Organization and Architecture
Systems I: Computer Organization and Architecture Lecture 9 - Register Transfer and Microoperations Microoperations Digital systems are modular in nature, with modules containing registers, decoders, arithmetic
Mentor Tools tutorial Bold Browser Design Manager Design Architect Library Components Quicksim Creating and Compiling the VHDL Model.
Mentor Tools tutorial Bold Browser Design Manager Design Architect Library Components Quicksim Creating and Compiling the VHDL Model. Introduction To Mentor Graphics Mentor Graphics BOLD browser allows
STRING TELEPHONES. Education Development Center, Inc. DESIGN IT! ENGINEERING IN AFTER SCHOOL PROGRAMS. KELVIN Stock #651817
STRING TELEPHONES KELVIN Stock #6587 DESIGN IT! ENGINEERING IN AFTER SCHOOL PROGRAMS Education Development Center, Inc. DESIGN IT! Engineering in After School Programs Table of Contents Overview...3...
The Association of System Performance Professionals
The Association of System Performance Professionals The Computer Measurement Group, commonly called CMG, is a not for profit, worldwide organization of data processing professionals committed to the measurement
3. VERILOG HARDWARE DESCRIPTION LANGUAGE
3. VERILOG HARDWARE DESCRIPTION LANGUAGE The previous chapter describes how a designer may manually use ASM charts (to describe behavior) and block diagrams (to describe structure) in top-down hardware
