Administrivia. CSE 370 Spring 2006 Introduction to Digital Design Lecture 9: Multilevel Logic

Similar documents
! Replace maxterm OR gates with NOR gates! Place compensating inversion at inputs of AND gate

Chapter 3 working with combinational logic

Review. EECS Components and Design Techniques for Digital Systems. Lec 05 Boolean Logic 9/4-04. Seq. Circuit Behavior. Outline.

Lecture 7. Summary of two-level combinational-logic. Ways of specifying circuits. Solving combinational design problems. Verilog versus VHDL

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

Chapter 2. Boolean Expressions:

CS8803: Advanced Digital Design for Embedded Hardware

Chap-2 Boolean Algebra

There are only 16 possible 2-input gates Let s examine all of them. Some we already know, others are just silly.

Mealy and Moore examples

Bawar Abid Abdalla. Assistant Lecturer Software Engineering Department Koya University

Announcements. Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project

Department of Electrical Engineering McGill University ECSE 221 Introduction to Computer Engineering Assignment 2 Combinational Logic

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines

Midterm Exam Review. CS 2420 :: Fall 2016 Molly O'Neil

2/8/2017. SOP Form Gives Good Performance. ECE 120: Introduction to Computing. K-Maps Can Identify Single-Gate Functions

Boolean Algebra and Logic Gates

Gate-Level Minimization. BME208 Logic Circuits Yalçın İŞLER

In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design

In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design

Code No: R Set No. 1

Memory, Latches, & Registers

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited

Asynchronous Circuits Races, Cycles and Effect of Hazards

Lecture (05) Boolean Algebra and Logic Gates

Topics. Midterm Finish Chapter 7

Memory, Latches, & Registers

Lecture 7 Logic Simplification

Lecture 5. Chapter 2: Sections 4-7

Chapter 2 Part 4 Combinational Logic Circuits

Chapter 2. Boolean Algebra and Logic Gates

Software Engineering 2DA4. Slides 2: Introduction to Logic Circuits

Homework deadline extended to next friday

Code No: R Set No. 1

Announcements. Chapter 2 - Part 1 1

ELCT201: DIGITAL LOGIC DESIGN

Chapter 3. Gate-Level Minimization. Outlines

EECS 270 Midterm Exam

ELCT201: DIGITAL LOGIC DESIGN

Chapter 6. Logic Design Optimization Chapter 6

Lecture Summary Module 2 Combinational Logic Circuits

Boolean Analysis of Logic Circuits

CENG 241 Digital Design 1

KING FAHD UNIVERSITY OF PETROLEUM & MINERALS COMPUTER ENGINEERING DEPARTMENT

ECE 331: N0. Professor Andrew Mason Michigan State University. Opening Remarks

Review. EECS Components and Design Techniques for Digital Systems. Lec 03 Field Programmable Gate Arrays

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

Writing Circuit Descriptions 8

Optimized Implementation of Logic Functions

Experiment 3: Logic Simplification

Abstraction of State Elements. Sequential Logic Implementation. Forms of Sequential Logic. Finite State Machine Representations

In this lecture, we will focus on two very important digital building blocks: counters which can either count events or keep time information, and

Purdue IMPACT 2015 Edition by D. G. Meyer. Introduction to Digital System Design. Module 2 Combinational Logic Circuits

Logic Circuits II ECE 2411 Thursday 4:45pm-7:20pm. Lecture 3

Contents. Chapter 3 Combinational Circuits Page 1 of 34

ENGIN 112. Intro to Electrical and Computer Engineering

EECS150 Homework 2 Solutions Fall ) CLD2 problem 2.2. Page 1 of 15

ECE 551: Digital System *

L5: Simple Sequential Circuits and Verilog

Review: Chip Design Styles

Objectives: 1. Design procedure. 2. Fundamental circuits. 1. Design procedure

Synthesizable Verilog

Debouncing a Switch. A Design Example. Page 1

EECS 312 Digital Integrated Circuits. Instructor s Name: Prof. Pinaki Mazumder. T,Th 3:00 4:30 pm. Overview

Chapter 3 Part 1 Combinational Logic Design

Digital Circuits ECS 371

Philadelphia University Faculty of Information Technology Department of Computer Science. Computer Logic Design. By Dareen Hamoudeh.

Standard Forms of Expression. Minterms and Maxterms

LECTURE 4. Logic Design

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 11. Introduction to Verilog II Sequential Circuits

Sequential Logic. Use Explicit Port Declarations. Verilog Summary. Examples

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

Lecture 3. Behavioral Modeling Sequential Circuits. Registers Counters Finite State Machines

Lecture 4: Implementation AND, OR, NOT Gates and Complement

TWO-LEVEL COMBINATIONAL LOGIC

Student Name: University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science

Chapter 5 Registers & Counters

Unit-IV Boolean Algebra

Digital Integrated Circuits

2.6 BOOLEAN FUNCTIONS

VLSI Test Technology and Reliability (ET4076)

L5: Simple Sequential Circuits and Verilog

EECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Finite State Machine Review

EE178 Spring 2018 Lecture Module 1. Eric Crabill

Digital Design with FPGAs. By Neeraj Kulkarni

Menu. Algebraic Simplification - Boolean Algebra EEL3701 EEL3701. MSOP, MPOS, Simplification

To write Boolean functions in their standard Min and Max terms format. To simplify Boolean expressions using Karnaugh Map.

L5: Simple Sequential Circuits and Verilog

Final Examination (Open Katz, asynchronous & test notes only, Calculators OK, 3 hours)

Combinational Logic Circuits

EE 231 Fall EE 231 Homework 8 Due October 20, 2010

Finite-State Machine (FSM) Design

Lecture 22: Implementing Combinational Logic


R.M.D. ENGINEERING COLLEGE R.S.M. Nagar, Kavaraipettai

Austin Herring Recitation 002 ECE 200 Project December 4, 2013

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto

COPYRIGHTED MATERIAL INDEX

Quick Introduction to SystemVerilog: Sequental Logic

Transcription:

SE 370 Spring 2006 Introduction to igital esign Lecture 9: Multilevel Logic Last Lecture Introduction to Verilog Today Multilevel Logic Hazards dministrivia Hand in Homework #3 Homework #3 posted this afternoon Lab #4 posted. note from drienne: When it says write an expression in canonical minterm form or canonical maxterm form, unless it explicitly says to use the shorthand m and M notation, please write a oolean expression. (Not deducted for in HW#2-#3 or on the Quiz.) Sequential Verilog-- locking and non-blocking assignments locking assignments (Q = ) Variable is assigned immediately New value is used by subsequent statements Non-blocking assignments (Q <= ) Variable is assigned after all scheduled statements are executed Value to be assigned is computed but saved for later Usual use: Register assignment Registers simultaneously take new values after the clock edge Example: Swap always @(posedge LK) temp = ; = ; = temp; always @(posedge LK) <= ; <= ; Sequential Verilog-- ssignments- watch out! locking versus Non-blocking reg,, ; always @(posedge clk) = ; = ; = ; reg,, ; always @(posedge clk) <= ; <= ; <= ;

Timing diagrams Sideways truth tables Show time-response of circuits Real gates have real delays Example: ' = 0 elays cause transient =1 time Example: = in 2-level logic 1 2 canonical sum-of-products minimized sum-of-products Some texts call timing diagrams waveforms 3 4 canonical product-of-sums minimized product-of-sums Timing diagram for = Time waveforms for 1 4 are identical Except for timing hazards (glitches) More on this shortly... Multilevel logic asic idea: Simplify logic using >2 gate levels Time space (speed versus gate count) tradeoff Two-level logic usually Has smaller delays (faster circuits) ut more gates and more wires (more circuit area) Sometimes has large fan-ins (slow) Easier to eliminate hazards Multilevel logic usually Has less gates (smaller circuits) ut can be slower (more gate delays) Harder to eliminate hazards

Multilevel logic example unction SOP: = E E E G is minimized! Six 3-input Ns; one 7-input OR; 25 wires Multilevel: = ()(E) G actored form One 3-input OR, two 2-input OR's, one 3-input N; 10 wires E G 3-level circuit = ()(E) G Multilevel NN/NN conversion = () ' original N-OR network introduce bubbles (conserve inversions) ' ' Level 1 Level 2 Level 3 Level 4 Multilevel NOR/NOR conversion Generic multilevel conversion = () ' original N-OR network ' Level 1 Level 2 Level 3 Level 4 = = (a) (b) original circuit add double bubbles at inputs introduce bubbles (conserve inversions) ' (c) ' ' distribute bubbles some mismatches (d) ' ' insert inverters to fix mismatches

N-OR-Invert and OR-N- Invert blocks OI and OI are dense 3-level building blocks 2x2 OI uses only 8 transistors Minimal delay logical concept N OR Invert 2x2 OI symbol 3x2 OI symbol Using OI and OI blocks pproach Start by finding If using OI, find in minimized SOP form If using OI, find in minimized POS form orm OI as ( ) Example: = ' ' SOP form: ' = '' OI form: = ('' )' 0 1 1 0 ' ' Example: OI and OI OI form Use SOP ' = '' ' ' = ('' ' ')' ' ' ' ' 0 1 1 1 0 0 1 0 OI form Use POS ' = (')(')('') = [(')(')('')]' ' ' ' ' Issues with multilevel design No global definition of optimal multilevel circuit Optimality deps on user-defined goals Synthesize an implementation that meets design goals Synthesis requires -tool help No simple hand methods like K-maps tools manipulate oolean expressions actoring, decomposition, etc. overed in more detail in SE467

Multilevel logic summary dvantages over 2-level logic Smaller circuits Reduced fan-in Less wires isadvantages w.r.t 2-level logic More difficult design Less powerful optimizing tools ynamic hazards What you should know for SE370 The basic multilevel idea Multilevel NN/NN and NOR/NOR conversion OI gates Hazards/glitches Hazards/glitches: Undesired output switching Occurs when different pathways have different delays Wastes power; causes circuit noise angerous if logic makes a decision while output is unstable angerous if using asynchronous circuits Solutions esign hazard-free circuits ifficult when logic is multilevel Wait until signals are stable Use synchronous circuits Types of hazards Static 1-hazard Output should stay logic 1 Gate delays cause brief glitch to logic 0 Static 0-hazard Output should stay logic 0 Gate delays cause brief glitch to logic 1 ynamic hazards Output should toggle cleanly Gate delays cause multiple transitions 1 1 0 0 1 1 0 1 0 0 1 1 0 0 Static hazards Occur when a literal and its complement momentarily assume the same value Through different paths with different delays auses an (ideally) static output to glitch multiplexer S S' S S' static-0 hazard

ynamic hazards Occur when a literal assumes multiple values Through different paths with different delays auses an output to toggle multiple times 3 1 2 ynamic hazards 1 2 3 ynamic hazard Eliminating static hazards In 2-level logic circuits ssuming single-bit changes Key idea: Glitches happen when a changing input spans separate k-map encirclements Example: 1101 to 0101 change can cause a static-1 glitch = ' ' 00 01 11 10 ' ' 00 01 11 10 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 Eliminating static hazards (con t) Solution: dd redundant k-map encirclements Ensure that all single-bit changes are covered irst eliminate static-1 hazards: Use SOP form = ' ' ' ' ' ' 00 01 11 10 00 0 0 1 1 01 1 1 1 1 11 1 1 0 0 10 0 0 0 0 Summary of hazards We can eliminate static hazards in 2-level logic or single-bit changes Eliminating static hazards also eliminates dynamic hazards Hazards are a difficult problem Multiple-bit changes in 2-level logic are hard Static hazards in multilevel logic are harder ynamic hazards in multilevel logic are harder yet tools and simulation/testing are indispensable Test vectors probe a design for hazards