ECE 551: Digital System Design & Synthesis

Size: px
Start display at page:

Download "ECE 551: Digital System Design & Synthesis"

Transcription

1 ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing (In separate file) 9.2: Optimization - Part 1 (In separate file) 9.3: Optimization - Part 2 04/14/03 1 ECE Digital System Design & Synthesis Lecture Optimization and Timing Analysis - Part 2 Overview Controlling Hierarchical Boundaries Controlling Logic-Level and Gate-Level Optimization 04/14/03 2

2 References Design Compiler User Guide Design Compiler Reference Manual: Optimization and Timing Analysis 04/14/03 3 Controlling Hierarchical Boundaries Removing Levels of Hierarchy Merging Cells from Different Subdesigns Optimizing Across Hierarchical Boundaries 04/14/03 4

3 Removing Levels of Hierarchy Optimization does not cross hierarchical boundaries Potential for preventing effective optimization Particularly problematic for combinational circuits Techniques Ungroup before optimization Explicit Ungrouping during optimization Automatic Ungrouping of Small Hierarchies 04/14/03 5 Ungroup Before Optimization Ungroup merges subdesigns into parent cell or design Some subdesigns may lose constraints The default ungroup affects only the top level of the hierarchy within the parent cell or subdesign To recursively ungroup downward add option - Command: ungroup -all - Can have list of arguments 04/14/03 6

4 Explicit Ungroup During Optimization Command: set_ungroup or ungroup _all Applies to specified cells or referenced designs Cancelled by set_ungroup (object) 04/14/03 7 Automatic Ungrouping of Small Hierarchies Set compile_auto _ungroup_num_cells # where # is limit on number of cells to be ungroup. Enter command compile -auto_ungroup Command begins execution at the bottom of the current hierarchy so is in effect recurs. So ungrouping is recursive Will not apply ungrouping in cases where: Wire-load models in hierarchy different than parent Certain constraints are on hierarchical pins 04/14/03 8

5 Merging Cells from Different Subdesigns Groups cells into new design group {cell_1, cell2} -design cell_pair current_design = cell_pair ungroup -all current design = top design 04/14/03 9 Optimizing Across Hierarchical Boundaries - 1 Boundary Optimization Crosses subdesign boundary through ports looking for: constants unconnected pins complementing Commands (in dc_shell) compile -boundary_optimization //on current design set boundary_optimization subdesign_name 04/14/03 10

6 Optimizing Across Hierarchical Boundaries - 2 For constants: Propagate from input ports to contract logic For unconnected pins: Propagate x from output ports to contract logic For complements: If signal that is complement of one specified on port is available, it will be used if cost reduced 04/14/03 11 Controlling Logic-Level and Gate-Level Optimization Concepts Goal to first order is reduction of product terms Relates to be delay and area Designs typically hierarchical and consist of d and random logic Datapaths are often d logic Control functions such as instruction decoding are structurally random 04/14/03 12

7 Concepts (continued) For effective optimization, may require application of different optimization techniques Structured - Preserve and build on existing Random - Remove redundancy and improve the 04/14/03 13 How Design is Optimized - 1 Two Levels Logic level - Boolean equations Gate level - Interconnection of target library cells Logic level optimization Flattening - reducing the equation to two levels Structuring - Finds shared terms to reduce area - typically increases delay if not constrained 04/14/03 14

8 How a Design is Optimized - 2 Gate-Level Optimization Performs mapping of equation representation to available cells in the technology library Selects cells based on delay constraints or area constraints Overall Optimization See Fig. 4-3 DCRMO (next slide) Flattening Structuring Mapping 04/14/03 15 Overall Optimization 04/14/03 16

9 set_ & set_ Default settings _boolean _timing - map_effort medium Default settings for attribute set to _effort low _minimize single _phase _boolean _timing 04/14/03 17 About Flattening Flattening removes all intermediate variables and uses distributive laws to eliminate all parentheses. Result is a two-level sum-of-products form Can be faster due to reduced number of levels Good way to eliminate bad logic ; but also way to eliminate good logic Flatten random control logic, not highlyd designs. 04/14/03 18

10 About Flattening (continued) Not all designs can be ed Flatten designs which do not result in a huge number of product terms < 1000 Do not designs with 1,000,000 or more product terms Designs in between are unknown Guidelines If outputs consistently or for most input patterns - If contains many XORs and muxes - don t 04/14/03 19 Effect of Flattening on Speed Example: Mapped ed Design without Structuring - Fig. 4-5 DCRMO (see next slide) - three levels + inverters can be fast Flattening may place large loads on inputs resulting in speed reduction. Flattening without and with structuring - Fig. 4-6 DCUG (see slide after next) - one level vs. 5 levels 04/14/03 20

11 Mapped, Flattened Design without Structuring 04/14/03 21 Flattening With and Without Structuring 04/14/03 22

12 Enabling & Controlling Flattening - 1 Default - does not In hierarchical design, by default on the current design only - Exception - use design option with list of designs Removing: set_ -design TEST Reporting Flatten Attributes - report_compile_options 04/14/03 23 Enabling & Controlling Flattening - 2 Setting Flatten Effort -effort option where option is: low - default - appropriate for ing most designs medium - s a design beyond where DC can re it effectively high - causes the ing process to proceed until the design is completely ed or until workstation runs out of memory. Might never terminate! 04/14/03 24

13 Enabling & Controlling Flattening -3 Minimization Reduces the number and size of product and sum terms Resembles Karnaugh map reduction Types: single output -default - minimize equations for individual outputs - no product term sharing multiple output - minimize with maximum and shared product terms between outputs - see Fig. 4-7 DCRMO (See next slide). none - does not perform minimization 04/14/03 25 Single & Multiple Output Minimization 04/14/03 26

14 Enabling & Controlling Flattening - 4 Phase assignment Fig. 4-8 DCRMO (See next page) Compares and select implementations for both original circuit and its complement Complement handled and the fed into inverter. Well known that less costly version among the two 04/14/03 27 Phase Assignment 04/14/03 28

15 About Structuring Adds intermediate values and logic to design - sub-function factor evaluated and selected Results in shared terms Default - timing driven Area efficient, but may be slower if no delay constraints or if set_ -timing. Example - Fig DCRMO (See next slide) - Unconstrained structuring - more area efficient, but has eight levels of logic Example - Fig DCRMO (See slide after next) - Timing Driven Structuring (Default) 04/14/03 29 Unconstrained Structuring Example 04/14/03 30

16 Timing-Driven Structuring Example 04/14/03 31 Controlling Structuring - 1 set_ - applies only to current design unless -design option where option is list of subcircuits boolean - optimization uses Boolean relationships that are not typically in our usual algebra & don t care information and reduces circuit area. Examples: a + a = a, a + a = 1. Two algorithms selected by compile_new_boolean_ 04/14/03 32

17 Controlling Structuring - 2 Before v Introduced in v Uses ATPG (Automatic Test Pattern Generation) to manipulate logic networks! Optimizes circuit identifying high fanout nodes and attempting removal. Adds connections that make original nodes redundant Fig DCRMO (See next slide) - Boolean Optimization Example 04/14/03 33 Boolean Optimization Example 04/14/03 34

18 Improving Random Logic Designs -boolean effort option for compile_new_boolean_ set_ - boolean -boolean_effort Used to specify effort for CPU time use for structuring the designs: low -default -appropriate for most medium - More than one pass - recommended - sufficient for optimal results for most design high - All CPU-intensive strategies, multiple passes 04/14/03 35 Controlling Specific Optimization Steps Global logic restructuring Constant propagation - propagates logic constants to produce simpler logic Deleting unconnected gates Local optimizations Critical path resynthesis (enabled in higheffort compiles only) Gate sizing - upsizes critical path gates and downsizes non-critical path gates 04/14/03 36

19 Optimization Control Strategies for Structured Designs Structured Designs Datapath components Arithmetic circuits Parity circuits Selection circuits Goals Area Speed 04/14/03 37 Structured Designs: Area Optimization - 1 Choice 1: compile Is: _boolean _timing -map_effort medium Generally favors multilevel design but can handle timing constraints 04/14/03 38

20 Structured Designs: Area Optimization - 2 Choice 2: set_ compile Is: Does mapping only Assumes logic-level optimization including (and _timing) not needed 04/14/03 39 Structured Designs: Area Optimization - 3 Choice 3: set_ -boolean - boolean_effort medium compile Is: _boolean _timing - boolean_effort medium - map_effort medium 04/14/03 40

21 Structured Designs: Area Optimization - 4 Choice 3: (continued) Does some re-structuring Takes advantage of don t cares Gets rid of some redundancy 04/14/03 41 Structured Designs: Area Optimization - 5 Table 4-3 DCRMO: Comparative Analysis for 32-bit CLA (See next slide) Default reasonable Boolean optimization better Flattening tends to destroy original, so not as good In this case, phasing of only marginal value 04/14/03 42

22 Comparative Analysis for 32-bit CLA - Area 04/14/03 43 Structured Designs: Speed Optimization - 1 Choice 1: compile Is: _boolean _timing -map_effort medium Timing-driven structuring optimizes critical paths which using structuring to reduce area 04/14/03 44

23 Structured Designs: Speed Optimization - 2 Choice 2: set_ compile Is: Does mapping only Assumes logic-level optimization including (and _timing) not needed Same as Choice 2 for area! 04/14/03 45 Structured Designs: Speed Optimization - 3 Choice 3: Is: set_ set_ -boolean - boolean_effort medium compile _boolean _timing -map_effort medium 04/14/03 46

24 Structured Designs: Speed Optimization - 4 Choice 3: (continued) Removes existing Reduces number of levels to improve timing Uses timing-driven structuring to further deal with critical delay paths while optimizing area for non-critical paths 04/14/03 47 Structured Designs: Speed Optimization - 5 Table 4-4 DCRMO: Comparative Analysis for 32-bit CLA (See Next Slide) Default reasonable Flattening plus structuring reduces delay a bit Phasing reduces delay more Flattening only is counter-productive Increases critical path delay and area Removes and does not rebuild 04/14/03 48

25 Comparative Analysis for 32-bit CLA - Speed 04/14/03 49 Optimization Control Strategies for Und Designs Und Designs No datapath components No arithmetic circuits No large parity circuits Few selection circuits Random control logic Goals Area Speed 04/14/03 50

26 Und Designs: Area Optimization - 1 Choice 1: compile Is: _boolean _timing -map_effort medium Timing-driven structuring optimizes critical paths while using structuring to reduce area 04/14/03 51 Und Designs: Area Optimization - 2 Choice 2: set compile Is: _boolean _timing - map_effort medium 04/14/03 52

27 Und Designs: Area Optimization - 3 Choice 3: set_ set_ -boolean - boolean_effort medium compile Is: _boolean _timing -boolean_effort -map_effort medium medium 04/14/03 53 Und Designs: Area Optimization - 4 Choice 4: set_ -minimize multiple_output -phase set_ -boolean -boolean_effort medium compile Is: -minimize -phase _boolean _timing -boolean_effort -map_effort multiple_output medium medium 04/14/03 54

28 Und Designs: Area Optimization - 5 Table 4-5 DCRMO: Comparative Analysis for PLA Design (See next slide) Default reasonable Flattening with minimizing and structuring reduces area Boolean optimization and phasing gives further area improvement at the expense of delay Not phasing gives delay and slight area improvement! Not structuring is horrible! 04/14/03 55 Comparative Analysis for PLA Design 04/14/03 56

29 Und Designs: Speed Optimization - 1 Choice 1: compile Is: _boolean _timing -map_effort medium Timing-driven structuring optimizes critical paths which using structuring to reduce area 04/14/03 57 Und Designs: Speed Optimization - 2 Choice 2: set compile Is: _boolean _timing - map_effort medium Flattening provides a new start for structuring which may achieve improved area 04/14/03 58

30 Und Designs: Speed Optimization - 3 Choice 2 (continued): Removes existing Reduces number of levels to improve timing Uses timing-driven structuring to further deal with critical delay paths while optimizing area for noncritical paths 04/14/03 59 Und Designs: Speed Optimization - 4 Choice 3: set_ set_ compile Is: Flattening without structuring reduces path length; area intensive 04/14/03 60

31 Und Designs: Speed Optimization - 5 Choice 4: set_ set_ - effort medium compile Is: -effort medium More aggressive ing without structuring reduces path length; area intensive 04/14/03 61 Und Designs: Speed Optimization - 6 Table 4-6 DCRMO: Comparative Analysis for PLA Design (See next slide) Default reasonable With Structuring Flattening increases delay Flattening with phasing gives slight delay improvement Without Structuring Flattening reduces delay Flattening with phasing increases delay! 04/14/03 62

32 Comparative Analysis for PLA Design 04/14/03 63 Summary Many possible routes to chose from in synthesis procedures Design needs to be prepared for synthesis (uniquify, don t touch, ungroup) Separation in synthesis for d and random logic Specific choices of optimization setting better for each 04/14/03 64

Partitioning for Better Synthesis Results

Partitioning for Better Synthesis Results 3 Partitioning for Better Synthesis Results Learning Objectives After completing this lab, you should be able to: Use the group and ungroup commands to repartition a design within Design Analyzer Analyze

More information

Setup file.synopsys_dc.setup

Setup file.synopsys_dc.setup Setup file.synopsys_dc.setup The.synopsys_dc.setup file is the setup file for Synopsys' Design Compiler. Setup file is used for initializing design parameters and variables, declare design libraries, and

More information

CS8803: Advanced Digital Design for Embedded Hardware

CS8803: Advanced Digital Design for Embedded Hardware CS883: Advanced Digital Design for Embedded Hardware Lecture 2: Boolean Algebra, Gate Network, and Combinational Blocks Instructor: Sung Kyu Lim (limsk@ece.gatech.edu) Website: http://users.ece.gatech.edu/limsk/course/cs883

More information

Writing Circuit Descriptions 8

Writing Circuit Descriptions 8 8 Writing Circuit Descriptions 8 You can write many logically equivalent descriptions in Verilog to describe a circuit design. However, some descriptions are more efficient than others in terms of the

More information

DIGITAL CIRCUIT LOGIC UNIT 7: MULTI-LEVEL GATE CIRCUITS NAND AND NOR GATES

DIGITAL CIRCUIT LOGIC UNIT 7: MULTI-LEVEL GATE CIRCUITS NAND AND NOR GATES DIGITAL CIRCUIT LOGIC UNIT 7: MULTI-LEVEL GATE CIRCUITS NAND AND NOR GATES 1 iclicker Question 13 Considering the K-Map, f can be simplified as (2 minutes): A) f = b c + a b c B) f = ab d + a b d AB CD

More information

Combinational Devices and Boolean Algebra

Combinational Devices and Boolean Algebra Combinational Devices and Boolean Algebra Silvina Hanono Wachman M.I.T. L02-1 6004.mit.edu Home: Announcements, course staff Course information: Lecture and recitation times and locations Course materials

More information

Arithmetic-logic units

Arithmetic-logic units Arithmetic-logic units An arithmetic-logic unit, or ALU, performs many different arithmetic and logic operations. The ALU is the heart of a processor you could say that everything else in the CPU is there

More information

LECTURE 4. Logic Design

LECTURE 4. Logic Design LECTURE 4 Logic Design LOGIC DESIGN The language of the machine is binary that is, sequences of 1 s and 0 s. But why? At the hardware level, computers are streams of signals. These signals only have two

More information

Generating the Control Unit

Generating the Control Unit CPU design: Lecture 3 The control unit This sequences and controls all the data movement and manipulation that implements the instruction set. Slide 25 Generating the Control Unit We could use random logic

More information

Combinational Logic Circuits

Combinational Logic Circuits Chapter 2 Combinational Logic Circuits J.J. Shann (Slightly trimmed by C.P. Chung) Chapter Overview 2-1 Binary Logic and Gates 2-2 Boolean Algebra 2-3 Standard Forms 2-4 Two-Level Circuit Optimization

More information

Chapter 3. Gate-Level Minimization. Outlines

Chapter 3. Gate-Level Minimization. Outlines Chapter 3 Gate-Level Minimization Introduction The Map Method Four-Variable Map Five-Variable Map Outlines Product of Sums Simplification Don t-care Conditions NAND and NOR Implementation Other Two-Level

More information

Synthesis of combinational logic

Synthesis of combinational logic Page 1 of 14 Synthesis of combinational logic indicates problems that have been selected for discussion in section, time permitting. Problem 1. A certain function F has the following truth table: A B C

More information

Chapter 2. Boolean Expressions:

Chapter 2. Boolean Expressions: Chapter 2 Boolean Expressions: A Boolean expression or a function is an expression which consists of binary variables joined by the Boolean connectives AND and OR along with NOT operation. Any Boolean

More information

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

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now? Outline EECS 5 - Components and Design Techniques for Digital Systems Lec Putting it all together -5-4 David Culler Electrical Engineering and Computer Sciences University of California Berkeley Top-to-bottom

More information

CS 24: INTRODUCTION TO. Spring 2015 Lecture 2 COMPUTING SYSTEMS

CS 24: INTRODUCTION TO. Spring 2015 Lecture 2 COMPUTING SYSTEMS CS 24: INTRODUCTION TO Spring 2015 Lecture 2 COMPUTING SYSTEMS LAST TIME! Began exploring the concepts behind a simple programmable computer! Construct the computer using Boolean values (a.k.a. bits )

More information

Building hierarchical designs in Verilog

Building hierarchical designs in Verilog Building hierarchical designs in Verilog Arhitectura Calculatoarelor/Computer Architecture October 15, 2017 Verilog hierarchies Objectives: Learn how to instantiate a module Construct a design hierarchy

More information

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

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

10 Writing Circuit Descriptions

10 Writing Circuit Descriptions 10 Writing Circuit Descriptions You can generally use several different, but logically equivalent, VHDL descriptions to describe a circuit. To understand the interaction between VHDL Compiler and Design

More information

UC Berkeley College of Engineering, EECS Department CS61C: Combinational Logic Blocks

UC Berkeley College of Engineering, EECS Department CS61C: Combinational Logic Blocks 2 Wawrzynek, Garcia 2004 c UCB UC Berkeley College of Engineering, EECS Department CS61C: Combinational Logic Blocks 1 Introduction Original document by J. Wawrzynek (2003-11-15) Revised by Chris Sears

More information

UC Berkeley College of Engineering, EECS Department CS61C: Combinational Logic Blocks

UC Berkeley College of Engineering, EECS Department CS61C: Combinational Logic Blocks UC Berkeley College of Engineering, EECS Department CS61C: Combinational Logic Blocks Original document by J. Wawrzynek (2003-11-15) Revised by Chris Sears and Dan Garcia (2004-04-26) 1 Introduction Last

More information

ABC basics (compilation from different articles)

ABC basics (compilation from different articles) 1. AIG construction 2. AIG optimization 3. Technology mapping ABC basics (compilation from different articles) 1. BACKGROUND An And-Inverter Graph (AIG) is a directed acyclic graph (DAG), in which a node

More information

COE 561 Digital System Design & Synthesis Introduction

COE 561 Digital System Design & Synthesis Introduction 1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design

More information

A. Setting Up the Environment a. ~/ece394 % mkdir synopsys b.

A. Setting Up the Environment a. ~/ece394 % mkdir synopsys b. ECE 394 ASIC & FPGA Design Synopsys Design Compiler and Design Analyzer Tutorial A. Setting Up the Environment a. Create a new folder (i.e. synopsys) under your ece394 directory ~/ece394 % mkdir synopsys

More information

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

Software Engineering 2DA4. Slides 2: Introduction to Logic Circuits Software Engineering 2DA4 Slides 2: Introduction to Logic Circuits Dr. Ryan Leduc Department of Computing and Software McMaster University Material based on S. Brown and Z. Vranesic, Fundamentals of Digital

More information

Model EXAM Question Bank

Model EXAM Question Bank VELAMMAL COLLEGE OF ENGINEERING AND TECHNOLOGY, MADURAI Department of Information Technology Model Exam -1 1. List the main difference between PLA and PAL. PLA: Both AND and OR arrays are programmable

More information

Techniques for Achieving Higher Completion in Formality

Techniques for Achieving Higher Completion in Formality White Paper Techniques for Achieving Higher Completion in Formality July 2009 Erin Hatch Formality CAE, Synopsys Formality is an equivalence checking solution that uses formal, static techniques to determine

More information

Experiment 4 Boolean Functions Implementation

Experiment 4 Boolean Functions Implementation Experiment 4 Boolean Functions Implementation Introduction: Generally you will find that the basic logic functions AND, OR, NAND, NOR, and NOT are not sufficient to implement complex digital logic functions.

More information

Chapter 4. Combinational Logic

Chapter 4. Combinational Logic Chapter 4. Combinational Logic Tong In Oh 1 4.1 Introduction Combinational logic: Logic gates Output determined from only the present combination of inputs Specified by a set of Boolean functions Sequential

More information

CSE 141L Computer Architecture Lab Fall Lecture 3

CSE 141L Computer Architecture Lab Fall Lecture 3 CSE 141L Computer Architecture Lab Fall 2005 Lecture 3 Pramod V. Argade November 1, 2005 Fall 2005 CSE 141L Course Schedule Lecture # Date Day Lecture Topic Lab Due 1 9/27 Tuesday No Class 2 10/4 Tuesday

More information

8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments

8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments 8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments QII51017-9.0.0 Introduction The Quartus II incremental compilation feature allows you to partition a design, compile partitions

More information

Tutorial for Verilog Synthesis Lab (Part 2)

Tutorial for Verilog Synthesis Lab (Part 2) Tutorial for Verilog Synthesis Lab (Part 2) Before you synthesize your code, you must absolutely make sure that your verilog code is working properly. You will waste your time if you synthesize a wrong

More information

Transistor: Digital Building Blocks

Transistor: Digital Building Blocks Final Exam Review Transistor: Digital Building Blocks Logically, each transistor acts as a switch Combined to implement logic functions (gates) AND, OR, NOT Combined to build higher-level structures Multiplexer,

More information

ECE468 Computer Organization & Architecture. The Design Process & ALU Design

ECE468 Computer Organization & Architecture. The Design Process & ALU Design ECE6 Computer Organization & Architecture The Design Process & Design The Design Process "To Design Is To Represent" Design activity yields description/representation of an object -- Traditional craftsman

More information

Computer Organization and Levels of Abstraction

Computer Organization and Levels of Abstraction Computer Organization and Levels of Abstraction Announcements PS8 Due today PS9 Due July 22 Sound Lab tonight bring machines and headphones! Binary Search Today Review of binary floating point notation

More information

Computer Organization and Levels of Abstraction

Computer Organization and Levels of Abstraction Computer Organization and Levels of Abstraction Announcements Today: PS 7 Lab 8: Sound Lab tonight bring machines and headphones! PA 7 Tomorrow: Lab 9 Friday: PS8 Today (Short) Floating point review Boolean

More information

ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms

ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms Christopher Batten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece5745 RTL to

More information

Lecture 21: Combinational Circuits. Integrated Circuits. Integrated Circuits, cont. Integrated Circuits Combinational Circuits

Lecture 21: Combinational Circuits. Integrated Circuits. Integrated Circuits, cont. Integrated Circuits Combinational Circuits Lecture 21: Combinational Circuits Integrated Circuits Combinational Circuits Multiplexer Demultiplexer Decoder Adders ALU Integrated Circuits Circuits use modules that contain multiple gates packaged

More information

Henry Lin, Department of Electrical and Computer Engineering, California State University, Bakersfield Lecture 7 (Digital Logic) July 24 th, 2012

Henry Lin, Department of Electrical and Computer Engineering, California State University, Bakersfield Lecture 7 (Digital Logic) July 24 th, 2012 Henry Lin, Department of Electrical and Computer Engineering, California State University, Bakersfield Lecture 7 (Digital Logic) July 24 th, 2012 1 Digital vs Analog Digital signals are binary; analog

More information

ECE260B CSE241A Winter Logic Synthesis

ECE260B CSE241A Winter Logic Synthesis ECE260B CSE241A Winter 2007 Logic Synthesis Website: /courses/ece260b-w07 ECE 260B CSE 241A Static Timing Analysis 1 Slides courtesy of Dr. Cho Moon Introduction Why logic synthesis? Ubiquitous used almost

More information

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

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

More information

register:a group of binary cells suitable for holding binary information flip-flops + gates

register:a group of binary cells suitable for holding binary information flip-flops + gates 9 차시 1 Ch. 6 Registers and Counters 6.1 Registers register:a group of binary cells suitable for holding binary information flip-flops + gates control when and how new information is transferred into the

More information

Modeling Combinational Logic 3

Modeling Combinational Logic 3 3 Modeling Combinational Logic 3 There are two general classes of logic circuits: Combinational The value of the output deps only on the values of the input signals. Sequential The value of the output

More information

Simplification of Boolean Functions

Simplification of Boolean Functions COM111 Introduction to Computer Engineering (Fall 2006-2007) NOTES 5 -- page 1 of 5 Introduction Simplification of Boolean Functions You already know one method for simplifying Boolean expressions: Boolean

More information

1 Design Process HOME CONTENTS INDEX. For further assistance, or call your local support center

1 Design Process HOME CONTENTS INDEX. For further assistance,  or call your local support center 1 Design Process VHDL Compiler, a member of the Synopsys HDL Compiler family, translates and optimizes a VHDL description to an internal gate-level equivalent. This representation is then compiled with

More information

Topics. Midterm Finish Chapter 7

Topics. Midterm Finish Chapter 7 Lecture 9 Topics Midterm Finish Chapter 7 ROM (review) Memory device in which permanent binary information is stored. Example: 32 x 8 ROM Five input lines (2 5 = 32) 32 outputs, each representing a memory

More information

Two-Level CLA for 4-bit Adder. Two-Level CLA for 4-bit Adder. Two-Level CLA for 16-bit Adder. A Closer Look at CLA Delay

Two-Level CLA for 4-bit Adder. Two-Level CLA for 4-bit Adder. Two-Level CLA for 16-bit Adder. A Closer Look at CLA Delay Two-Level CLA for 4-bit Adder Individual carry equations C 1 = g 0 +p 0, C 2 = g 1 +p 1 C 1,C 3 = g 2 +p 2 C 2, = g 3 +p 3 C 3 Fully expanded (infinite hardware) CLA equations C 1 = g 0 +p 0 C 2 = g 1

More information

structure syntax different levels of abstraction

structure syntax different levels of abstraction This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital

More information

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital

More information

SUBJECT CODE: IT T35 DIGITAL SYSTEM DESIGN YEAR / SEM : 2 / 3

SUBJECT CODE: IT T35 DIGITAL SYSTEM DESIGN YEAR / SEM : 2 / 3 UNIT - I PART A (2 Marks) 1. Using Demorgan s theorem convert the following Boolean expression to an equivalent expression that has only OR and complement operations. Show the function can be implemented

More information

Last Name Student Number. Last Name Student Number

Last Name Student Number. Last Name Student Number University of Toronto Faculty of Applied Science and Engineering Department of Electrical and Computer Engineering Midterm Examination ECE 241F - Digital Systems Wednesday October 13, 2004, 6:00pm [5]

More information

Experiment 3: Logic Simplification

Experiment 3: Logic Simplification Module: Logic Design Name:... University no:.. Group no:. Lab Partner Name: Mr. Mohamed El-Saied Experiment : Logic Simplification Objective: How to implement and verify the operation of the logical functions

More information

1. Mark the correct statement(s)

1. Mark the correct statement(s) 1. Mark the correct statement(s) 1.1 A theorem in Boolean algebra: a) Can easily be proved by e.g. logic induction b) Is a logical statement that is assumed to be true, c) Can be contradicted by another

More information

ECE 551 Design Vision Tutorial

ECE 551 Design Vision Tutorial ECE 551 Design Vision Tutorial ECE 551 Staff Dept of Electrical & Computer Engineering, UW-Madison Lesson 0 Tutorial Setup... 2 Lesson 1 Code Input (Analyze and Elaborate)... 4 Lesson 2 - Simple Synthesis...

More information

(Refer Slide Time 6:48)

(Refer Slide Time 6:48) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 8 Karnaugh Map Minimization using Maxterms We have been taking about

More information

Very Large Scale Integration (VLSI)

Very Large Scale Integration (VLSI) Very Large Scale Integration (VLSI) Lecture 6 Dr. Ahmed H. Madian Ah_madian@hotmail.com Dr. Ahmed H. Madian-VLSI 1 Contents FPGA Technology Programmable logic Cell (PLC) Mux-based cells Look up table PLA

More information

Bawar Abid Abdalla. Assistant Lecturer Software Engineering Department Koya University

Bawar Abid Abdalla. Assistant Lecturer Software Engineering Department Koya University Logic Design First Stage Lecture No.5 Boolean Algebra Bawar Abid Abdalla Assistant Lecturer Software Engineering Department Koya University Boolean Operations Laws of Boolean Algebra Rules of Boolean Algebra

More information

CS140 Lecture 03: The Machinery of Computation: Combinational Logic

CS140 Lecture 03: The Machinery of Computation: Combinational Logic CS140 Lecture 03: The Machinery of Computation: Combinational Logic John Magee 25 January 2017 Some material copyright Jones and Bartlett Some slides credit Aaron Stevens 1 Overview/Questions What did

More information

Unit 4: Formal Verification

Unit 4: Formal Verification Course contents Unit 4: Formal Verification Logic synthesis basics Binary-decision diagram (BDD) Verification Logic optimization Technology mapping Readings Chapter 11 Unit 4 1 Logic Synthesis & Verification

More information

EE 3170 Microcontroller Applications

EE 3170 Microcontroller Applications EE 3170 Microcontroller Applications Lecture 4 : Processors, Computers, and Controllers - 1.2 (reading assignment), 1.3-1.5 Based on slides for ECE3170 by Profs. Kieckhafer, Davis, Tan, and Cischke Outline

More information

HIPEX Full-Chip Parasitic Extraction. Summer 2004 Status

HIPEX Full-Chip Parasitic Extraction. Summer 2004 Status HIPEX Full-Chip Parasitic Extraction Summer 2004 Status What is HIPEX? HIPEX Full-Chip Parasitic Extraction products perform 3D-accurate and 2D-fast extraction of parasitic capacitors and resistors from

More information

Hipex Full-Chip Parasitic Extraction

Hipex Full-Chip Parasitic Extraction What is Hipex? products perform 3D-accurate and 2D-fast extraction of parasitic capacitors and resistors from hierarchical layouts into hierarchical transistor-level netlists using nanometer process technology

More information

Boolean Logic CS.352.F12

Boolean Logic CS.352.F12 Boolean Logic CS.352.F12 Boolean Algebra Boolean Algebra Mathematical system used to manipulate logic equations. Boolean: deals with binary values (True/False, yes/no, on/off, 1/0) Algebra: set of operations

More information

Lecture (03) Binary Codes Registers and Logic Gates

Lecture (03) Binary Codes Registers and Logic Gates Lecture (03) Binary Codes Registers and Logic Gates By: Dr. Ahmed ElShafee Binary Codes Digital systems use signals that have two distinct values and circuit elements that have two stable states. binary

More information

Chapter 2 Combinational Logic Circuits

Chapter 2 Combinational Logic Circuits Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization Overview Part Gate Circuits and Boolean Equations Binary Logic and Gates Boolean Algebra Standard

More information

Digital Techniques. Lecture 1. 1 st Class

Digital Techniques. Lecture 1. 1 st Class Digital Techniques Lecture 1 1 st Class Digital Techniques Digital Computer and Digital System: Digital computer is a part of digital system, it based on binary system. A block diagram of digital computer

More information

CSC 220: Computer Organization Unit 10 Arithmetic-logic units

CSC 220: Computer Organization Unit 10 Arithmetic-logic units College of Computer and Information Sciences Department of Computer Science CSC 220: Computer Organization Unit 10 Arithmetic-logic units 1 Remember: 2 Arithmetic-logic units An arithmetic-logic unit,

More information

Continuing with whatever we saw in the previous lectures, we are going to discuss or continue to discuss the hardwired logic design.

Continuing with whatever we saw in the previous lectures, we are going to discuss or continue to discuss the hardwired logic design. Computer Organization Part I Prof. S. Raman Department of Computer Science & Engineering Indian Institute of Technology Lecture 10 Controller Design: Micro programmed and hard wired (contd) Continuing

More information

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Subash Chandar G (g-chandar1@ti.com), Vaideeswaran S (vaidee@ti.com) DSP Design, Texas Instruments India

More information

1. Fill in the entries in the truth table below to specify the logic function described by the expression, AB AC A B C Z

1. Fill in the entries in the truth table below to specify the logic function described by the expression, AB AC A B C Z CS W3827 05S Solutions for Midterm Exam 3/3/05. Fill in the entries in the truth table below to specify the logic function described by the expression, AB AC A B C Z 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.

More information

Lecture 3 Introduction to VHDL

Lecture 3 Introduction to VHDL CPE 487: Digital System Design Spring 2018 Lecture 3 Introduction to VHDL Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 Managing Design

More information

DLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 3 DLD P VIDYA SAGAR

DLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 3 DLD P VIDYA SAGAR DLD UNIT III Combinational Circuits (CC), Analysis procedure, Design Procedure, Combinational circuit for different code converters and other problems, Binary Adder- Subtractor, Decimal Adder, Binary Multiplier,

More information

6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )

6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( ) 6. Combinational Circuits George Boole (85 864) Claude Shannon (96 2) Signals and Wires Digital signals Binary (or logical ) values: or, on or off, high or low voltage Wires. Propagate digital signals

More information

Chapter 2. Boolean Algebra and Logic Gates

Chapter 2. Boolean Algebra and Logic Gates Chapter 2. Boolean Algebra and Logic Gates Tong In Oh 1 Basic Definitions 2 3 2.3 Axiomatic Definition of Boolean Algebra Boolean algebra: Algebraic structure defined by a set of elements, B, together

More information

POWR IP PZ1/17

POWR IP PZ1/17 Silesian University of Technology as Centre of Modern Education Based on Research and Innovations POWR.03.05.00-IP.08-00-PZ1/17 Project co-financed by the European Union under the European Social Fund

More information

Optimized Implementation of Logic Functions

Optimized Implementation of Logic Functions June 25, 22 9:7 vra235_ch4 Sheet number Page number 49 black chapter 4 Optimized Implementation of Logic Functions 4. Nc3xe4, Nb8 d7 49 June 25, 22 9:7 vra235_ch4 Sheet number 2 Page number 5 black 5 CHAPTER

More information

Combinational Logic II

Combinational Logic II Combinational Logic II Ranga Rodrigo July 26, 2009 1 Binary Adder-Subtractor Digital computers perform variety of information processing tasks. Among the functions encountered are the various arithmetic

More information

BUILDING BLOCKS OF A BASIC MICROPROCESSOR. Part 1 PowerPoint Format of Lecture 3 of Book

BUILDING BLOCKS OF A BASIC MICROPROCESSOR. Part 1 PowerPoint Format of Lecture 3 of Book BUILDING BLOCKS OF A BASIC MICROPROCESSOR Part PowerPoint Format of Lecture 3 of Book Decoder Tri-state device Full adder, full subtractor Arithmetic Logic Unit (ALU) Memories Example showing how to write

More information

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips Overview CSE372 Digital Systems Organization and Design Lab Prof. Milo Martin Unit 5: Hardware Synthesis CAD (Computer Aided Design) Use computers to design computers Virtuous cycle Architectural-level,

More information

Digital Logic Design (3)

Digital Logic Design (3) Digital Logic Design (3) ENGG1015 1 st Semester, 2010 Dr. Kenneth Wong Dr. Hayden So Department of Electrical and Electronic Engineering Last lecture ll logic functions can be represented as (1) truth

More information

ECE260B CSE241A Winter Logic Synthesis

ECE260B CSE241A Winter Logic Synthesis ECE260B CSE241A Winter 2005 Logic Synthesis Website: / courses/ ece260bw05 ECE 260B CSE 241A Static Timing Analysis 1 Slides courtesy of Dr. Cho Moon Introduction Why logic synthesis? Ubiquitous used almost

More information

EECS 140 Laboratory Exercise 5 Prime Number Recognition

EECS 140 Laboratory Exercise 5 Prime Number Recognition 1. Objectives EECS 140 Laboratory Exercise 5 Prime Number Recognition A. Become familiar with a design process B. Practice designing, building, and testing a simple combinational circuit 2. Discussion

More information

Combinational Circuits

Combinational Circuits Combinational Circuits Q. What is a combinational circuit? A. Digital: signals are or. A. No feedback: no loops. analog circuits: signals vary continuously sequential circuits: loops allowed (stay tuned)

More information

Programmable Logic Devices II

Programmable Logic Devices II São José February 2015 Prof. Hoeller, Prof. Moecke (http://www.sj.ifsc.edu.br) 1 / 28 Lecture 01: Complexity Management and the Design of Complex Digital Systems Prof. Arliones Hoeller arliones.hoeller@ifsc.edu.br

More information

ELCT201: DIGITAL LOGIC DESIGN

ELCT201: DIGITAL LOGIC DESIGN ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 3 Following the slides of Dr. Ahmed H. Madian محرم 1439 ه Winter

More information

6. Combinational Circuits. Building Blocks. Digital Circuits. Wires. Q. What is a digital system? A. Digital: signals are 0 or 1.

6. Combinational Circuits. Building Blocks. Digital Circuits. Wires. Q. What is a digital system? A. Digital: signals are 0 or 1. Digital Circuits 6 Combinational Circuits Q What is a digital system? A Digital: signals are or analog: signals vary continuously Q Why digital systems? A Accurate, reliable, fast, cheap Basic abstractions

More information

ECEN 468 Advanced Logic Design

ECEN 468 Advanced Logic Design ECEN 468 Advanced Logic Design Lecture 26: Verilog Operators ECEN 468 Lecture 26 Operators Operator Number of Operands Result Arithmetic 2 Binary word Bitwise 2 Binary word Reduction 1 Bit Logical 2 Boolean

More information

Topics. Computer Organization CS Exam 2 Review. Infix Notation. Reverse Polish Notation (RPN)

Topics. Computer Organization CS Exam 2 Review. Infix Notation. Reverse Polish Notation (RPN) Computer Organization CS 231-01 Exam 2 Review Dr. William H. Robinson October 11, 2004 http://eecs.vanderbilt.edu/courses/cs231/ Topics Education is a progressive discovery of our own ignorance. Will Durant

More information

CSE241 VLSI Digital Circuits UC San Diego

CSE241 VLSI Digital Circuits UC San Diego CSE241 VLSI Digital Circuits UC San Diego Winter 2003 Lecture 05: Logic Synthesis Cho Moon Cadence Design Systems January 21, 2003 CSE241 L5 Synthesis.1 Kahng & Cichy, UCSD 2003 Outline Introduction Two-level

More information

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 09 MULTIPLEXERS

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 09 MULTIPLEXERS Name: Instructor: Engr. Date Performed: Marks Obtained: /10 Group Members (ID):. Checked By: Date: Experiment # 09 MULTIPLEXERS OBJECTIVES: To experimentally verify the proper operation of a multiplexer.

More information

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering FPGA Fabrics Reference Wayne Wolf, FPGA-Based System Design Pearson Education, 2004 Logic Design Process Combinational logic networks Functionality. Other requirements: Size. Power. Primary inputs Performance.

More information

ELCT201: DIGITAL LOGIC DESIGN

ELCT201: DIGITAL LOGIC DESIGN ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 3 Following the slides of Dr. Ahmed H. Madian ذو الحجة 1438 ه Winter

More information

ece5745-pla-notes.txt

ece5745-pla-notes.txt ece5745-pla-notes.txt ========================================================================== Follow up on PAL/PROM/PLA Activity ==========================================================================

More information

Module 5 - CPU Design

Module 5 - CPU Design Module 5 - CPU Design Lecture 1 - Introduction to CPU The operation or task that must perform by CPU is: Fetch Instruction: The CPU reads an instruction from memory. Interpret Instruction: The instruction

More information

EE292: Fundamentals of ECE

EE292: Fundamentals of ECE EE292: Fundamentals of ECE Fall 2012 TTh 10:00-11:15 SEB 1242 Lecture 22 121115 http://www.ee.unlv.edu/~b1morris/ee292/ 2 Outline Review Binary Number Representation Binary Arithmetic Combinatorial Logic

More information

Chapter 6 Combinational-Circuit Building Blocks

Chapter 6 Combinational-Circuit Building Blocks Chapter 6 Combinational-Circuit Building Blocks Commonly used combinational building blocks in design of large circuits: Multiplexers Decoders Encoders Comparators Arithmetic circuits Multiplexers A multiplexer

More information

Figure 1. An 8-bit Superset Adder.

Figure 1. An 8-bit Superset Adder. Improving the Adder: A Fault-tolerant, Reconfigurable Parallel Prefix Adder Kyle E. Powers Dar-Eaum A. Nam Eric A. Llana ECE 4332 Fall 2012 University of Virginia @virginia.edu ABSTRACT

More information

ECE 331 Digital System Design

ECE 331 Digital System Design ECE 331 Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #17) The slides included herein were taken from the materials accompanying Fundamentals of Logic

More information

EECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007

EECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007 EECS 5 - Components and Design Techniques for Digital Systems Lec 2 RTL Design Optimization /6/27 Shauki Elassaad Electrical Engineering and Computer Sciences University of California, Berkeley Slides

More information

PROGRAMMABLE LOGIC DEVICES

PROGRAMMABLE LOGIC DEVICES PROGRAMMABLE LOGIC DEVICES Programmable logic devices (PLDs) are used for designing logic circuits. PLDs can be configured by the user to perform specific functions. The different types of PLDs available

More information

Combinational Logic & Circuits

Combinational Logic & Circuits Week-I Combinational Logic & Circuits Spring' 232 - Logic Design Page Overview Binary logic operations and gates Switching algebra Algebraic Minimization Standard forms Karnaugh Map Minimization Other

More information