Combinational hazards

Similar documents
VHDL Introduction and Overview

Simplification of Boolean Functions

A B AB CD Objectives:

Chapter 3. Gate-Level Minimization. Outlines

User s Manual. Ronwaldo A. Collado Diosdado Y. Tejoso Jr. CMSC 130 Logistic Design and Digital Computer Circuits Second Semester, A. Y.

Chapter 2 Combinational Logic Circuits

Chapter 6. Logic Design Optimization Chapter 6

EECS 140/141 Introduction to Digital Logic Design Fall Semester 2016 Exam #1 Date: 3 October 2016

Contents. Chapter 3 Combinational Circuits Page 1 of 34

Boolean Logic CS.352.F12

Synthesis 1. 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, Typeset by FoilTEX 1

Chapter 2 Combinational

CSCI 220: Computer Architecture I Instructor: Pranava K. Jha. Simplification of Boolean Functions using a Karnaugh Map

ADAPTIVE MAP FOR SIMPLIFYING BOOLEAN EXPRESSIONS

Austin Herring Recitation 002 ECE 200 Project December 4, 2013

01 1 Electronic Design Automation (EDA) the correctness, testability, and compliance of a design is checked by software

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

CS8803: Advanced Digital Design for Embedded Hardware

CprE 281: Digital Logic

Chap.3 3. Chap reduces the complexity required to represent the schematic diagram of a circuit Library

Gate Level Minimization Map Method

Boolean Algebra and Logic Gates

Digital Logic Design. Outline

Gate-Level Minimization

ELCT 501: Digital System Design

Optimized Implementation of Logic Functions

DKT 122/3 DIGITAL SYSTEM 1

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Combinational Logic Circuits Part III -Theoretical Foundations

Karnaugh Map (K-Map) Karnaugh Map. Karnaugh Map Examples. Ch. 2.4 Ch. 2.5 Simplification using K-map

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

ELCT201: DIGITAL LOGIC DESIGN

Electronic Design Automation Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

3.4 QUINE MCCLUSKEY METHOD 73. f(a, B, C, D, E)¼AC ĒþB CD þ BCDþĀBD.

Combinational Logic Circuits

ELCT201: DIGITAL LOGIC DESIGN

Synthesis of combinational logic

DIGITAL CIRCUIT LOGIC UNIT 5: KARNAUGH MAPS (K-MAPS)

ECOM 4311 Digital Systems Design

Redundant States in Sequential Circuits

Chapter 3. Boolean Algebra and Digital Logic

Combinational Logic Circuits

Slides for Lecture 15

CMPE223/CMSE222 Digital Logic

Fundamental Design Concepts. Fundamental Concepts. Modeling Domains. Basic Definitions. New terminology and overloaded use of common words

Design Progression With VHDL Helps Accelerate The Digital System Designs

In this chapter we present basic definitions that relate to

Outcomes. Unit 9. Logic Function Synthesis KARNAUGH MAPS. Implementing Combinational Functions with Karnaugh Maps

Digital System Design Lecture 2: Design. Amir Masoud Gharehbaghi

Lecture 3 Introduction to VHDL

Code No: R Set No. 1

1. Mark the correct statement(s)

Prog. Logic Devices Schematic-Based Design Flows CMPE 415. Designer could access symbols for logic gates and functions from a library.

Gate-Level Minimization

Introduction to VHDL. Module #5 Digilent Inc. Course

Lecture (05) Boolean Algebra and Logic Gates

ECE380 Digital Logic

University of Technology

Introduction to Verilog. Mitch Trope EECS 240 Spring 2004

CHAPTER-2 STRUCTURE OF BOOLEAN FUNCTION USING GATES, K-Map and Quine-McCluskey

01-1 Electronic Design Automation (EDA) The use of software to automate electronic (digital and analog) design.

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

Quine-McCluskey Algorithm

Chapter 2. Boolean Algebra and Logic Gates

EECS 140/141 Introduction to Digital Logic Design Spring Semester 2017 Exam #1 Date: 27 February 2017

Introduction. The Quine-McCluskey Method Handout 5 January 24, CSEE E6861y Prof. Steven Nowick

UNIT II. Circuit minimization

Chapter 2. Boolean Expressions:

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2

Slide Set 5. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary

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

Combinational Circuits Digital Logic (Materials taken primarily from:

Programmable Logic Devices HDL-Based Design Flows CMPE 415

Tutorial on VHDL and Verilog Applications

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

Gate-Level Minimization. section instructor: Ufuk Çelikcan

VHDL-MODELING OF A GAS LASER S GAS DISCHARGE CIRCUIT Nataliya Golian, Vera Golian, Olga Kalynychenko

For a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were

Revision: August 30, Overview

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are:

Chapter 2 Combinational Logic Circuits

Programmable Logic Design Techniques I

Model EXAM Question Bank

MUX using Tri-State Buffers. Chapter 2 - Part 2 1

Hardware Description Languages. Introduction to VHDL

Simplification of Boolean Functions

Specifying logic functions

2.1 Binary Logic and Gates

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District DEPARTMENT OF INFORMATION TECHNOLOGY CS 2202 DIGITAL PRINCIPLES AND SYSTEM DESIGN

Design of Digital Circuits Lecture 6: Combinational Logic, Hardware Description Lang. & Verilog. Prof. Onur Mutlu ETH Zurich Spring March 2018

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Digital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification

ENGINEERS ACADEMY. 7. Given Boolean theorem. (a) A B A C B C A B A C. (b) AB AC BC AB BC. (c) AB AC BC A B A C B C.

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

Programmable Logic Devices. Programmable Read Only Memory (PROM) Example

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

Gate-Level Minimization

Boolean Algebra. BME208 Logic Circuits Yalçın İŞLER

Chapter 3 working with combinational logic

ece5745-pla-notes.txt

Transcription:

Combinational hazards We break down combinational hazards into two major categories, logic hazards and function hazards. A logic hazard is characterized by the fact that it can be eliminated by proper combinational logic design methods. Function hazards come with the function being implemented and cannot be dealt with by basic combinational design techniques.

Logic hazards Suppose that input variable changes are spaced such that the effects of a change in one variable is permitted to propagate throughout the circuit before another variable is allowed to change. This is the single-input change case, since input signal patterns can change in only one variable at a time. For example, 00 can be followed by 0 or 0, but not. A single-input change static hazard (SICS hazard) is a momentary change in an output that occurs as the result of the change of a single input variable when the value of the output variable is to remain fixed.

Single-input change static hazard (SICS hazard)

Example of a Static Hazard in a Multiplexer

Karnaugh Map of Multiplexer D 0 = D = the hazard is in the third column of the map and actually occurs when S goes from to 0 The hazard occurs as the circuit goes from minterm D 0 D S to minterm D 0 D S Combining these two minterms: S D 0 D D 0 0 3 2 4 5 7 6 D D 0 D S + D 0 D S = D 0 D The addition of this new term prevents the hazard All of the prime implicants have been used

Sum-of-products and static -hazards In general, for a sum-of-products implementation, the potential for a SICS hazard exists wherever there are two adjacent s in the Karnaugh map that are not included within a product term of the implementation. To remove all potential for static -hazards from a sum-of-products implementation of F, all prime implicants of F must be included in the circuit implementation. A sum-of-products implementation is automatically free of static 0-hazards.

Products-of-sum and static 0-hazards For a product-of-sums implementation of function F, all of the prime implicates of F must be included to remove all potential for static 0-hazards. A product-of-sums implementation is automatically free of static -hazards. Finally, any sum-of-products or product-of-sums implementation free of static -hazards and static 0-hazards is free of dynamic hazards.

Sum-of-products and static -hazards AB CD C A B BC AD BD D The normal minimum solution for F is represented by the prime implicants in green. There are three other prime implicants available. The two A D and B C, are present to deal with single-input change static hazards. The dashes, B D, is present to deal with a multiple input- change static hazard (MICS hazard)

Function hazard If multiple variable values can change before that the effect of the first change has not propagated throughout the circuit the elimination of static hazards is not sufficient to guarantee correct operation. For example, consider the change from 00 to 0000 if C changes before D, the combination 000 will momentarily appear generating a 0-hazard. This is not a logic hazard, since there is no way avoid it by changing the implementation logic! Since this hazard is built into the function F regardless of implementation, it is called a function hazard. The only way to control it is changing relative path delays in the circuit.

Finding Function Hazards -function hazards occur between (0,,) and (,,0) and between (,,) and (,0,0). 0-function hazards occur between (0,0,) and (0,,0) and between (,0,) and (0,0,0). Suppose that D0, D and S can change one, two or three at a time, it is tedious, if not impossible, to manipulate the circuit delays in the multiplexer to avoid all of these function hazards including those involving three variable changes. S D 0 D D 0 0 3 2 4 5 7 6 D

Modern chip design aspects Modern chips became too complex The number of transistors in a modern chip is over a 00 M Transistor count per chip and chip speed rise up to 50% per year Estimated time needed for manual implementation (00 M transistor, 0 sec/transistor) 35.5 years!!! /29

VHDL VHDL - VHSIC Hardware Description Language VHSIC - Very High Speed Integrated Circuit Development of VHDL began in 983, sponsored by Department of defense, further developed by the IEEE and released as IEEE Standard 076 in 987 Today it is De facto industry standard for hardware description languages 2/29

The abstraction hierarchy The abstraction hierarchy can be expressed in two domains: structural domain, behavioral domain Structural domain component model is described in terms of an interconnection of more primitive components Behavioral domain component model is described by defining its input/output response VHDL is used for both structural and behavioral description Six abstraction hierarchy levels of detail commonly used in design: silicon, circuit, gate, register, chip and system

Design process The design cycle consists of a series of transformations, synthesis steps: Transformation from English to an algorithmic representation, natural language synthesis Translation from an algorithmic representation to a data flow representation, algorithmic synthesis Translation from data flow representation to a structural logic gate representation, logic synthesis Translation from logic gate to layout and circuit representation, layout synthesis 4/29

Design tools Editors textual (circuit level SPICE gate, register, chip VHDL) or graphic (used at all levels) Simulators stochastic (system level) or deterministic (all levels above the silicon level) Checkers and Analyzers employed at all levels, used for example to insure that the circuit layout can be fabricated reliably (rule checkers), to check for the longest path through a logic circuit or system (timing analyzers) Synthesizers and Optimizers improving a form of the design representation 5/29