RTL Power Estimation and Optimization

Size: px
Start display at page:

Download "RTL Power Estimation and Optimization"

Transcription

1 Power Modeling Issues RTL Power Estimation and Optimization Model granularity Model parameters Model semantics Model storage Model construction Politecnico di Torino Dip. di Automatica e Informatica RTL Power Estimation Early evaluation of power consumption is essential to assess the quality of high-level optimizations MUST avoid full synthesis At the RTL, however, structural and technological properties of the design are unknown Solution: Build a power model which relates (actual) power to RTL quantities Model Granularity Power model for entire RTL design not reasonable Must build power models for blocks of smaller granularity Assume a typical architectural template (structural RTL) and refer to the corresponding blocks Datapath modules (+, *, -, ) Registers Controller Different models for different blocks! RTL Power Estimation: Basics Useful for: Design exploration. Design validation/signoff. Cycle-accurate RTL description: Statements of the HDL synthesizable subset. Limited accuracy: Resources are not instantiated. Structural RTL description: Interconnection of data-path blocks (adders, multipliers), registers, memories and controller. Higher accuracy: Resources are explicitly instantiated. Sources of estimation inaccuracy: Poor knowledge of design structure (gate or transistor). Poor modeling of dynamic effects (glitching). Poor modeling of clock and interconnect. Model Parameters Must be parameters observable at the RTL Complexity parameters Related to the relation between capacitance and complexity Size of datapath modules (# of bits) # of states of controller Activity parameters Related to the input-depend nature of power Static/transition probabilities Temporal/spatial correlation Typically, use a mix of both types

2 Model Semantics Models may have different semantics depending on how power is related to parameters Cumulative model: Models average power One power value per each parameter assignment Cycle-accurate model: Models instantaneous (i.e., cycle-by-cycle) power A series of power values per each parameter assignment Need suitable parameters! More accurate Higher analytical power (e.g., IR drop and reliability analysis) Analytical vs. Empirical Models Analytical models relate power dissipation to parameters to express activity and capacitance: Dependency based on a physical relation Best suited for: Black-box estimates (no data available for individual blocks). Fixed structure components, e.g., memories. Empirical models are based on a measure of power, from which a model is built: Best suited for library-based approaches. Can be used for custom functional blocks, as long as some real power figures are available. State-of-the-art Model Storage Models, as representations of a function, can be stored in two ways: As an equation (Equation-based models) Smaller storage size A lookup-table: (Table-based models) Larger storage size Macromodeling: Basics Macromodeling consists of generating power models for some given input data statistics. Input statistics are obtained by RTL simulation. Problem definition: Given a sequence of N vectos, derive a (simple) function whose value, for the N vectors, is as close as possible to the actual power dissipation of the N-vector sequence: P = F (Parameters, Coefficients) Model Construction Most important modeling issue Determines a broad classification of power models: Analytical (top-down) models Empirical (bottom-up) models: Macromodeling. Macromodeling: Flow Model design: Parameter selection (e.g., activities, correlation). Model template definition (e.g., additive vs. multiplicative, linear vs. non-linear). Design of the training set: Number and distribution of the input patterns Characterization: Determine power for different assignments of the parameters on an implementation of the block(s). Model extraction: Build the model by interpolation of the individual power samples (e.g., by LMS regression). Model evaluation: Use the model as a power estimator. 2

3 Macromodeling: Example RTL Integration Issues - Non-idealities Model for 4x4 array multiplier. Single parameter: Number of input transitions, NI. P = f(ni) Points: Power by simulation of patterns. Typical RTL structures: Basic modeling entities: + > - * Macro Wire Logic Need models for all objects! Macromodeling: Issues Model robustness: Sensitivity to the training set. Out-of-sample error: Error is small for input conditions close to those of the training set; it may be very large for other input statistics. Model complexity: Characterization cost (CPU time). Storage requirements. Model storage (revisited): Equation-based macromodels: Limited robustness, shorter characterization times. Table-based macromodels: Higher robustness, longer characterization times. RTL Power Optimization RTL Integration Issues Use of macromodeling-based power estimation in realistic design flow requires: Tight integration to synthesis and simulation flow Characterization requires both Possibility of using pre-characterized power models Library of power models (dynamically updated) Non-idealities: Description is in some HDL No structure Limited structure is inferred by HDL compiler May need RTL models of blocks of smaller granularities ( virtual gates, virtual MUXes, virtual registers) Models for IP blocks Memories, pre-designed components, Model integration issues Summary RTL power optimizations: RTL power management Clock gating. Operand isolation. Common-case optimizations Pre-computation. Extraction of computational kernels. Reduced-strength operators. Bus encoding. 3

4 Clock Gating: Basics Idea: Stop the clock to registers which are not in use during some particular clock cycles. Traditional implementation of load-enable registers. D_in EN CLK Reg Bank D_out Activity-Driven Clock Gating: Flow Basic procedure: A collection of flip-flops is generated, sorted according to increasing switching activity. Clock gating is applied only to those flip-flops whose switching activity is lower than a predefined threshold. Threshold is determined automatically. According to this threshold, the initial list is reduced and clock gating is applied to the newly obtained (short) list. Gated clock implementation. D_in EN Latch GCLK Reg Bank D_out CLK Clock Gating: State-of-the-Art Clock gating is the most effective power optimization feature provided by state-of-the-art EDA tools. A significant amount of power can be saved by reducing: Switching activity on the clock inputs to synchronous load-enable registers. Capacitive load on the clock tree. Current limitations: Clock gating does not take into account the switching activity of the registers it involves. Clock gating does not take advantage of situations where one part of a functional unit is in use while other parts are unused. ODC-Driven Clock Gating: Principle Clock gating turns off the clock signal when none of the primary outputs are used. However, REG and REG2 are not observable when sum_en is not active, even if other regions of the datapath are processing useful data. The rationale of ODC-driven clock gating is that registers that are not observable, during a given clock cycle, should be turned off. In_I_bus In_T_bus ireg_en REG REG2 treg_en I_bus T_bus mux_sel MUX S_bus R_bus + sum_en Outbus Clock Gating: Enhancements Activity-driven clock gating: Clock-gating should not be applied to high switching activity registers. Choice of registers to be clock-gated based on threshold. Operand Isolation: Basics Idea: Identify redundant computations of datapath components. Isolate such components using specific circuitry. ODC-driven clock gating: Registers that are not observable, during a given clock cycle, should be turned off. Conditional activation of registers based on ODC (Observability Don t-cares) conditions. Redundant computation = conditionally evaluated and/or propagated. Common situation in control-intensive designs. 4

5 Operand Isolation: Example Common-case Optimizations Example: Isolation logic AND gates OR gates LATCH d d2 Activation signal AS SEL_ SEL_ + D clk Basic principle: Optimization of the common case (i.e., the typical behavior) Implement the common case with a simpler (i.e., less power-hungry) block of logic Use the base implementation for the non-common case Conceptual scheme: A = original B = common case implementation I n I a R I b R2 m Sel A B O b O a O Operand Isolation: Issues Identification of the redundant computations. Selection of the most effective computations. Implementation of the isolation conditions. Implementation of the isolation scheme: Latches (more effective but expensive). Logic gates (cheaper but less effective). Common-case Optimizations (Cont.) Various implementations differ by: How the common case is determined How the common and non-common case are combined together Implementation of selection function How the area-power tradeoff is managed Can be directly implemented on the HDL code. RTL Power Management: RTL Integration Issues Clock gating: Naturally supported at the RTL Clock explicitly exposed at the RTL (even in source code) Latches are synthesis invariant ODC computation requires availability of RTL structure Possible on elaborated database (after HDL compilation) Issues: Determine gating conditions Instantiation of gating logic Operand isolation: Requires availability of RTL structure Possible on elaborated database (after HDL compilation) Issues: Determine redundant computations Determine isolation conditions Instantiation of isolating logic Pre-Computation: Basics Idea: Selectively pre-compute the circuit output values one clock cycle before they are required. Use pre-computed values to reduce the amount of switching in the combinational logic in the next cycle. Need to determine and synthesize small, yet efficient predictor functions. 5

6 Pre-Computation: Architecture Pre-Computation: Example g = => f = g 2 = => f = For equiprobable inputs, p(xnor) =.5 Approximately 5% power reduction. Pre-Computation: Predictor Functions (I) If either g or g2 evaluate to : Set the load enable LE to. Inputs to A in the next clock cycle do not change. If g = : The input to R2 is. f = in the next clock cycle. If g2 = : The input to R2 is. f = in the next clock cycle. Computational Kernels: Basics Idea: The typical behavior of a sequential circuit can be implemented by a block of logic that is usually: Small. Fast. Low power consuming. Rationale: When in its steady-state, a sequential circuit tends to run through a limited set of states. Computational kernel of a circuit: The logic block that implements its steady-state behavior. Pre-Computation: Predictor Functions (II) Choice of g and g 2 is critical. Target: Maximize the probability of g + g 2 being. Ideally, g f and g 2 f. This implies triplicating the circuit. In practice, g and g 2 can be computed by: Heuristically selecting a subset of inputs X = (x,...,x p ). Finding the largest function contained in f independent of X. Computational Kernels: Extraction At the state machine level: p-order computational kernel: Keep the states with steady-state probability p. Collapse the other states into a single state (idle). Synthesize the modified state machine. Example: S p=.29 S5 p=.2 S7 p=. S p=.25 S3 p=. S6 p=.2 S2 p=.8 S4 p=.32 S idle S S4.25-order computational kernel 6

7 Computational Kernels: Optimization Paradigm Use a parallel implementation that exploits the computational kernel K: Use K when possible. Otherwise, use the original circuit. Useful if Prob (K) is large. Trade-off between small vs. highly-probable kernel. Common-case optimizations: RTL integration issues Target: modules with a well-defined functionality. Not applicable to generic portions of a design Suitable for developing custom power-managed RTL blocks: Used by the synthesis tool when mapping RTL operators to RTL blocks Adders, comparators, multipliers e.g., an extension to an RTL module library (such as Synopsys DesignWare) Computational Kernels: Basic Architecture SEL = when the next state will be in the kernel. SEL = when the next state will be outside. Prob(K) = Prob (SEL = ). PI C K M U X PO NS K and C are MUTUALLY EXCLUSIVE Bus Encoding: Basics Global interconnect capacitance dominates over gate capacitance. Reducing switching activity on global buses produces significant power savings. Promising approach: Bus encoding. Processor-to-memory communication. Overhead of encoder-decoder may be significant: Latency/delay, area, power. Several encoding schemes proposed in literature: Hard to say which one is best. FF SEL Computational Kernels: Detailed Architecture Bus Encoding: Example x DSFF C p MUX o Core Processor Memory K DSFF t r u FF s MUX s S s Original stream: 3 Transitions Encoded stream: 9 Transitions Overhead of codec must be taken into account when doing the power balance. 7

8 Bus Encoding: Taxonomy Bus encoding techniques can be categorized according to three parameters: Redundancy. Knowledge of statistics. Type of activity. Parameter Redundancy Knowledge of Statistics Type of Activity Values {YES, NO} {None, Partial, Full} {Switching, Coupling} T Code: Principle Parameters: Redundancy = YES. Knowledge of statistics = Partial. Type of activity = Switching. Approach: Do not transmit a pattern if it is in-sequence. Receiver computes the new address Bus-Invert Code: Principle Parameters: Redundancy = YES. Knowledge of statistics = None. Type of activity = Switching. Approach: Look at two consecutive patterns, A and B. If H(A,B) <= N/2, then transmit B. If H(A,B) > N/2, then transmit B. N = Bus width. H(A,B) = Hamming distance between A and B. Bus Encoding: CrossTalk Power Minimization Existing encoding schemes target the minimization of the number of transistions on the bus lines: Minimization of the capacitance switched during communication. Adopted bus power model considers single-wire transitions: Inter-wire, or cross-talk capacitance switched during information transfer is neglected. Cross-talk capacitance can no longer be ignored in deep-submicron buses. Need of encoding schemes that take into account cross-talk capacitance Gray Code: Principle Parameters: Redundancy = NO. Knowledge of statistics = Partial. Type of activity = Switching. Approach: Two consecutive code-words have unit Hamming distance. Due to instruction/data locality, most memory accesses are sequential. Reduce bus switching by using Gray addressing. CrossTalk Power Minimization: Basic Concepts Cross-talk power consumption of two adjacent lines is maximal when the two lines make simultaneous opposite transitions. Cross-talk power consumption of two adjacent lines decreases as the spacing between the two lines increases. Existing solutions are based on the two concepts above. 8

9 CrossTalk Power Minimization: Solutions Wire permutation: Low cost of codec. Non-uniform wire spacing: Better Better Needs area slack in bus channel (at floor-planning time). Bus Encoding: RTL integration issues Buses in RTL: Between datapath modules (e.g., ALU to registers) Short, a true bunch of (local) wires To/from memories Longer, treated as global wires RTL bus encoding more suitable for memory buses Higher capacitance more potential savings Issues: Limited budget for codec Must privilege simple encoding schemes Strict interaction with memory library Must match encoding scheme to memory interface e.g., redundant buses 9

OUTLINE Introduction Power Components Dynamic Power Optimization Conclusions

OUTLINE Introduction Power Components Dynamic Power Optimization Conclusions OUTLINE Introduction Power Components Dynamic Power Optimization Conclusions 04/15/14 1 Introduction: Low Power Technology Process Hardware Architecture Software Multi VTH Low-power circuits Parallelism

More information

VHDL for Synthesis. Course Description. Course Duration. Goals

VHDL for Synthesis. Course Description. Course Duration. Goals VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes

More information

VHDL: RTL Synthesis Basics. 1 of 59

VHDL: RTL Synthesis Basics. 1 of 59 VHDL: RTL Synthesis Basics 1 of 59 Goals To learn the basics of RTL synthesis. To be able to synthesize a digital system, given its VHDL model. To be able to relate VHDL code to its synthesized output.

More information

Verilog for High Performance

Verilog for High Performance Verilog for High Performance Course Description This course provides all necessary theoretical and practical know-how to write synthesizable HDL code through Verilog standard language. The course goes

More information

Verilog for Synthesis Ing. Pullini Antonio

Verilog for Synthesis Ing. Pullini Antonio Verilog for Synthesis Ing. Pullini Antonio antonio.pullini@epfl.ch Outline Introduction to Verilog HDL Describing combinational logic Inference of basic combinational blocks Describing sequential circuits

More information

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis Jan 31, 2012 John Wawrzynek Spring 2012 EECS150 - Lec05-verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State

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

VLSI Test Technology and Reliability (ET4076)

VLSI Test Technology and Reliability (ET4076) VLSI Test Technology and Reliability (ET4076) Lecture 4(part 2) Testability Measurements (Chapter 6) Said Hamdioui Computer Engineering Lab Delft University of Technology 2009-2010 1 Previous lecture What

More information

ECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control

ECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control ECE 4514 Digital Design II Lecture 15: FSM-based Control A Design Lecture Overview Finite State Machines Verilog Mapping: one, two, three always blocks State Encoding User-defined or tool-defined State

More information

Control and Datapath 8

Control and Datapath 8 Control and Datapath 8 Engineering attempts to develop design methods that break a problem up into separate steps to simplify the design and increase the likelihood of a correct solution. Digital system

More information

Unit 2: High-Level Synthesis

Unit 2: High-Level Synthesis Course contents Unit 2: High-Level Synthesis Hardware modeling Data flow Scheduling/allocation/assignment Reading Chapter 11 Unit 2 1 High-Level Synthesis (HLS) Hardware-description language (HDL) synthesis

More information

Lecture 12 VHDL Synthesis

Lecture 12 VHDL Synthesis CPE 487: Digital System Design Spring 2018 Lecture 12 VHDL Synthesis Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 What is Synthesis?

More information

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language VHDL Introduction to Structured VLSI Design VHDL I Very High Speed Integrated Circuit (VHSIC) Hardware Description Language Joachim Rodrigues A Technology Independent, Standard Hardware description Language

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

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial

More information

Synthesis of Combinational and Sequential Circuits with Verilog

Synthesis of Combinational and Sequential Circuits with Verilog Synthesis of Combinational and Sequential Circuits with Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two

More information

EEL 4783: HDL in Digital System Design

EEL 4783: HDL in Digital System Design EEL 4783: HDL in Digital System Design Lecture 10: Synthesis Optimization Prof. Mingjie Lin 1 What Can We Do? Trade-offs with speed versus area. Resource sharing for area optimization. Pipelining, retiming,

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

VHDL simulation and synthesis

VHDL simulation and synthesis VHDL simulation and synthesis How we treat VHDL in this course You will not become an expert in VHDL after taking this course The goal is that you should learn how VHDL can be used for simulation and synthesis

More information

Lecture 11 Logic Synthesis, Part 2

Lecture 11 Logic Synthesis, Part 2 Lecture 11 Logic Synthesis, Part 2 Xuan Silvia Zhang Washington University in St. Louis http://classes.engineering.wustl.edu/ese461/ Write Synthesizable Code Use meaningful names for signals and variables

More information

Verilog Module 1 Introduction and Combinational Logic

Verilog Module 1 Introduction and Combinational Logic Verilog Module 1 Introduction and Combinational Logic Jim Duckworth ECE Department, WPI 1 Module 1 Verilog background 1983: Gateway Design Automation released Verilog HDL Verilog and simulator 1985: Verilog

More information

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks.

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks. Outline CPE/EE 422/522 Advanced Logic Design L05 Electrical and Computer Engineering University of Alabama in Huntsville What we know Combinational Networks Sequential Networks: Basic Building Blocks,

More information

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

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog ECE 2300 Digital Logic & Computer Organization Spring 2018 More Sequential Logic Verilog Lecture 7: 1 Announcements HW3 will be posted tonight Prelim 1 Thursday March 1, in class Coverage: Lectures 1~7

More information

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements. Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful

More information

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4)

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4) Verilog Sequential Logic Verilog for Synthesis Rev C (module 3 and 4) Jim Duckworth, WPI 1 Sequential Logic Module 3 Latches and Flip-Flops Implemented by using signals in always statements with edge-triggered

More information

קורס VHDL for High Performance. VHDL

קורס VHDL for High Performance. VHDL קורס VHDL for High Performance תיאור הקורס קורסזהמספקאתכלהידע התיאורטיוהמעשילכתיבתקודHDL. VHDL לסינתזה בעזרת שפת הסטנדרט הקורסמעמיקמאודומלמדאת הדרךהיעילהלכתיבתקודVHDL בכדילקבלאתמימושתכןהלוגי המדויק. הקורסמשלב

More information

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two major languages Verilog (IEEE 1364), latest version is

More information

ENGG3380: Computer Organization and Design Lab4: Buses and Peripheral Devices

ENGG3380: Computer Organization and Design Lab4: Buses and Peripheral Devices ENGG3380: Computer Organization and Design Lab4: Buses and Peripheral Devices School of Engineering, University of Guelph Winter 2017 1 Objectives: The purpose of this lab is : Learn basic bus design techniques.

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

Synthesizable Verilog

Synthesizable Verilog Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL

More information

Hardware Description Languages: Verilog. Quick History of HDLs. Verilog/VHDL. Design Methodology. Verilog Introduction. Verilog.

Hardware Description Languages: Verilog. Quick History of HDLs. Verilog/VHDL. Design Methodology. Verilog Introduction. Verilog. Hardware Description Languages: Verilog Quick History of HDLs Verilog Structural Models (Combinational) Behavioral Models Syntax Examples CS 150 - Fall 2005 - Lecture #4: Verilog - 1 ISP (circa 1977) -

More information

Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23

Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23 98-1 Under-Graduate Project Synthesis of Combinational Logic Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23 What is synthesis? Outline Behavior Description for Synthesis Write Efficient HDL

More information

Hardware Description Languages: Verilog

Hardware Description Languages: Verilog Hardware Description Languages: Verilog Verilog Structural Models (Combinational) Behavioral Models Syntax Examples CS 150 - Fall 2005 - Lecture #4: Verilog - 1 Quick History of HDLs ISP (circa 1977) -

More information

Programmable Logic Devices Verilog VII CMPE 415

Programmable Logic Devices Verilog VII CMPE 415 Synthesis of Combinational Logic In theory, synthesis tools automatically create an optimal gate-level realization of a design from a high level HDL description. In reality, the results depend on the skill

More information

ECE 587 Hardware/Software Co-Design Lecture 23 Hardware Synthesis III

ECE 587 Hardware/Software Co-Design Lecture 23 Hardware Synthesis III ECE 587 Hardware/Software Co-Design Spring 2018 1/28 ECE 587 Hardware/Software Co-Design Lecture 23 Hardware Synthesis III Professor Jia Wang Department of Electrical and Computer Engineering Illinois

More information

Linking Layout to Logic Synthesis: A Unification-Based Approach

Linking Layout to Logic Synthesis: A Unification-Based Approach Linking Layout to Logic Synthesis: A Unification-Based Approach Massoud Pedram Department of EE-Systems University of Southern California Los Angeles, CA February 1998 Outline Introduction Technology and

More information

Digital Design with FPGAs. By Neeraj Kulkarni

Digital Design with FPGAs. By Neeraj Kulkarni Digital Design with FPGAs By Neeraj Kulkarni Some Basic Electronics Basic Elements: Gates: And, Or, Nor, Nand, Xor.. Memory elements: Flip Flops, Registers.. Techniques to design a circuit using basic

More information

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1 Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis Spring 2007 Lec #8 -- HW Synthesis 1 Logic Synthesis Verilog and VHDL started out

More information

EE-382M VLSI II. Early Design Planning: Front End

EE-382M VLSI II. Early Design Planning: Front End EE-382M VLSI II Early Design Planning: Front End Mark McDermott EE 382M-8 VLSI-2 Page Foil # 1 1 EDP Objectives Get designers thinking about physical implementation while doing the architecture design.

More information

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences. Spring 2010 May 10, 2010

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences. Spring 2010 May 10, 2010 University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EECS150 J. Wawrzynek Spring 2010 May 10, 2010 Final Exam Name: ID number: This is

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

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis Logic Synthesis Verilog and VHDL started out as simulation languages, but quickly people wrote programs to automatically convert Verilog code into low-level circuit descriptions (netlists). EECS150 - Digital

More information

EECS150 - Digital Design Lecture 10 Logic Synthesis

EECS150 - Digital Design Lecture 10 Logic Synthesis EECS150 - Digital Design Lecture 10 Logic Synthesis September 26, 2002 John Wawrzynek Fall 2002 EECS150 Lec10-synthesis Page 1 Logic Synthesis Verilog and VHDL stated out as simulation languages, but quickly

More information

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

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital

More information

Accelerating DSP Applications in Embedded Systems with a Coprocessor Data-Path

Accelerating DSP Applications in Embedded Systems with a Coprocessor Data-Path Accelerating DSP Applications in Embedded Systems with a Coprocessor Data-Path Michalis D. Galanis, Gregory Dimitroulakos, and Costas E. Goutis VLSI Design Laboratory, Electrical and Computer Engineering

More information

EEL 4783: HDL in Digital System Design

EEL 4783: HDL in Digital System Design EEL 4783: HDL in Digital System Design Lecture 15: Logic Synthesis with Verilog Prof. Mingjie Lin 1 Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for

More information

Synthesis of Language Constructs. 5/10/04 & 5/13/04 Hardware Description Languages and Synthesis

Synthesis of Language Constructs. 5/10/04 & 5/13/04 Hardware Description Languages and Synthesis Synthesis of Language Constructs 1 Nets Nets declared to be input or output ports are retained Internal nets may be eliminated due to logic optimization User may force a net to exist trireg, tri0, tri1

More information

Lecture 15: System Modeling and Verilog

Lecture 15: System Modeling and Verilog Lecture 15: System Modeling and Verilog Slides courtesy of Deming Chen Intro. VLSI System Design Outline Outline Modeling Digital Systems Introduction to Verilog HDL Use of Verilog HDL in Synthesis Reading

More information

CSE140L: Components and Design Techniques for Digital Systems Lab

CSE140L: Components and Design Techniques for Digital Systems Lab CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Announcements & Outline Lab 4 due; demo signup times listed on the cse140l site Check

More information

Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering

Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering VERILOG FUNDAMENTALS HDLs HISTORY HOW FPGA & VERILOG ARE RELATED CODING IN VERILOG HDLs HISTORY HDL HARDWARE DESCRIPTION LANGUAGE

More information

State Machine Descriptions

State Machine Descriptions State Machine Descriptions Can be modelled using many different coding styles Style guidelines available for Moore or Mealy type machines Several encoding schemes for state variables used in FSM descriptions

More information

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences Introductory Digital Systems Lab (6.111) uiz - Spring 2004 Prof. Anantha Chandrakasan Student Name: Problem

More information

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran CAD for VLSI Design - I Lecture 21 V. Kamakoti and Shankar Balachandran Overview of this Lecture Understanding the process of Logic synthesis Logic Synthesis of HDL constructs Logic Synthesis What is this?

More information

VERILOG HDL. 1 ENGN3213: Digital Systems and Microprocessors L#5-6

VERILOG HDL. 1 ENGN3213: Digital Systems and Microprocessors L#5-6 VERILOG HDL 1 ENGN3213: Digital Systems and Microprocessors L#5-6 Some Reference Material (mostly advanced) \vspace{10mm} http://engnet.anu.edu.au/decourses/engn3213/documents/verilog/ VerilogIntro SASAKI.pdf

More information

CSE140L: Components and Design

CSE140L: Components and Design CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Grade distribution: 70% Labs 35% Lab 4 30% Lab 3 20% Lab 2 15% Lab 1 30% Final exam

More information

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis TOPIC : Verilog Synthesis examples Module 4.3 : Verilog synthesis Example : 4-bit magnitude comptarator Discuss synthesis of a 4-bit magnitude comparator to understand each step in the synthesis flow.

More information

CS429: Computer Organization and Architecture

CS429: Computer Organization and Architecture CS429: Computer Organization and Architecture Dr. Bill Young Department of Computer Sciences University of Texas at Austin Last updated: January 2, 2018 at 11:23 CS429 Slideset 5: 1 Topics of this Slideset

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

ENGR 3410: Lab #1 MIPS 32-bit Register File

ENGR 3410: Lab #1 MIPS 32-bit Register File ENGR 3410: Lab #1 MIPS 32-bit Register File Due: October 12, 2005, beginning of class 1 Introduction The purpose of this lab is to create the first large component of our MIPS-style microprocessor the

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

problem maximum score 1 8pts 2 6pts 3 10pts 4 15pts 5 12pts 6 10pts 7 24pts 8 16pts 9 19pts Total 120pts

problem maximum score 1 8pts 2 6pts 3 10pts 4 15pts 5 12pts 6 10pts 7 24pts 8 16pts 9 19pts Total 120pts University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EECS150 J. Wawrzynek Spring 2010 3/31/09 Name: ID number: Midterm Exam This is a closed-book,

More information

EECS150 - Digital Design Lecture 10 Logic Synthesis

EECS150 - Digital Design Lecture 10 Logic Synthesis EECS150 - Digital Design Lecture 10 Logic Synthesis February 13, 2003 John Wawrzynek Spring 2003 EECS150 Lec8-synthesis Page 1 Logic Synthesis Verilog and VHDL started out as simulation languages, but

More information

Assignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture

Assignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture Assignment Last time Project 4: Using synthesis tools Synplify Pro and Webpack Due 11/11 ning of class Generics Used to parameterize models E.g., Delay, bit width Configurations Configuration specification

More information

Hardware Design with VHDL PLDs IV ECE 443

Hardware Design with VHDL PLDs IV ECE 443 Embedded Processor Cores (Hard and Soft) Electronic design can be realized in hardware (logic gates/registers) or software (instructions executed on a microprocessor). The trade-off is determined by how

More information

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS YEAR / SEM: II / IV UNIT I BOOLEAN ALGEBRA AND COMBINATIONAL

More information

Lecture 8: Synthesis, Implementation Constraints and High-Level Planning

Lecture 8: Synthesis, Implementation Constraints and High-Level Planning Lecture 8: Synthesis, Implementation Constraints and High-Level Planning MAH, AEN EE271 Lecture 8 1 Overview Reading Synopsys Verilog Guide WE 6.3.5-6.3.6 (gate array, standard cells) Introduction We have

More information

Topic #6. Processor Design

Topic #6. Processor Design Topic #6 Processor Design Major Goals! To present the single-cycle implementation and to develop the student's understanding of combinational and clocked sequential circuits and the relationship between

More information

Digital Integrated Circuits

Digital Integrated Circuits Digital Integrated Circuits Lecture 4 Jaeyong Chung System-on-Chips (SoC) Laboratory Incheon National University BCD TO EXCESS-3 CODE CONVERTER 0100 0101 +0011 +0011 0111 1000 LSB received first Chung

More information

Verilog Tutorial. Verilog Fundamentals. Originally designers used manual translation + bread boards for verification

Verilog Tutorial. Verilog Fundamentals. Originally designers used manual translation + bread boards for verification Verilog Fundamentals Verilog Tutorial History Data types Structural Verilog Functional Verilog Adapted from Krste Asanovic Originally designers used manual translation + bread boards for verification Hardware

More information

ECE260: Fundamentals of Computer Engineering

ECE260: Fundamentals of Computer Engineering Datapath for a Simplified Processor James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy Introduction

More information

Verilog Tutorial 9/28/2015. Verilog Fundamentals. Originally designers used manual translation + bread boards for verification

Verilog Tutorial 9/28/2015. Verilog Fundamentals. Originally designers used manual translation + bread boards for verification Verilog Fundamentals Verilog Tutorial History Data types Structural Verilog Functional Verilog Adapted from Krste Asanovic Originally designers used manual translation + bread boards for verification Hardware

More information

Synthesis from VHDL. Krzysztof Kuchcinski Department of Computer Science Lund Institute of Technology Sweden

Synthesis from VHDL. Krzysztof Kuchcinski Department of Computer Science Lund Institute of Technology Sweden Synthesis from VHDL Krzysztof Kuchcinski Krzysztof.Kuchcinski@cs.lth.se Department of Computer Science Lund Institute of Technology Sweden March 23, 2006 Kris Kuchcinski (LTH) Synthesis from VHDL March

More information

CMPT 250 : Week 3 (Sept 19 to Sept 26)

CMPT 250 : Week 3 (Sept 19 to Sept 26) CMPT 250 : Week 3 (Sept 19 to Sept 26) 1. DESIGN FROM FINITE STATE MACHINES (Continued) 1.1. ONE FLIP-FLOP PER STATE METHOD From a state diagram specification, a sequencer can be constructed using the

More information

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation Introduction to Electronic Design Automation Model of Computation Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Spring 03 Model of Computation In system design,

More information

Digital Design with SystemVerilog

Digital Design with SystemVerilog Digital Design with SystemVerilog Prof. Stephen A. Edwards Columbia University Spring 25 Synchronous Digital Design Combinational Logic Sequential Logic Summary of Modeling Styles Testbenches Why HDLs?

More information

Chapter 2 Basic Logic Circuits and VHDL Description

Chapter 2 Basic Logic Circuits and VHDL Description Chapter 2 Basic Logic Circuits and VHDL Description We cannot solve our problems with the same thinking we used when we created them. ----- Albert Einstein Like a C or C++ programmer don t apply the logic.

More information

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011 FPGA for Complex System Implementation National Chiao Tung University Chun-Jen Tsai 04/14/2011 About FPGA FPGA was invented by Ross Freeman in 1989 SRAM-based FPGA properties Standard parts Allowing multi-level

More information

Lecture 7: Parallel Processing

Lecture 7: Parallel Processing Lecture 7: Parallel Processing Introduction and motivation Architecture classification Performance evaluation Interconnection network Zebo Peng, IDA, LiTH 1 Performance Improvement Reduction of instruction

More information

Trading-off incrementality and dynamic restart of multiple solvers in IC3

Trading-off incrementality and dynamic restart of multiple solvers in IC3 Trading-off incrementality and dynamic restart of multiple solvers in IC3 Paolo Enrico Camurati, Carmelo Loiacono, Paolo Pasini, Denis Patti, Stefano Quer Dip. di Automatica ed Informatica, Politecnico

More information

Introduction to synthesis. Logic Synthesis

Introduction to synthesis. Logic Synthesis Introduction to synthesis Lecture 5 Logic Synthesis Logic synthesis operates on boolean equations and produce optimized combinational logic Logic Minimization Two-level logic minimization Two-level logic

More information

Levels in Processor Design

Levels in Processor Design Levels in Processor Design Circuit design Keywords: transistors, wires etc.results in gates, flip-flops etc. Logical design Putting gates (AND, NAND, ) and flip-flops together to build basic blocks such

More information

Register Transfer Level in Verilog: Part I

Register Transfer Level in Verilog: Part I Source: M. Morris Mano and Michael D. Ciletti, Digital Design, 4rd Edition, 2007, Prentice Hall. Register Transfer Level in Verilog: Part I Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National

More information

Verilog For Synthesis

Verilog For Synthesis Coding with always @(...) Coding with always @(...) always This is separate from the @(...) command. In C procedures are executed when called. In Verilog procedures are executed continuously by default.

More information

Programming with HDLs

Programming with HDLs Programming with HDLs Paul Chow February 11, 2008 1 Introduction The purpose of this document is to encourage the proper approach or mindset for programming in a hardware description language (HDL), particularly

More information

Address Bus Encoding Techniques for System-Level Power Optimization. Dip. di Automatica e Informatica. Dip. di Elettronica per l'automazione

Address Bus Encoding Techniques for System-Level Power Optimization. Dip. di Automatica e Informatica. Dip. di Elettronica per l'automazione Address Bus Encoding Techniques for System-Level Power Optimization Luca Benini $ Giovanni De Micheli $ Enrico Macii Donatella Sciuto z Cristina Silvano # z Politecnico di Milano Dip. di Elettronica e

More information

VLSI Testing. Virendra Singh. Bangalore E0 286: Test & Verification of SoC Design Lecture - 7. Jan 27,

VLSI Testing. Virendra Singh. Bangalore E0 286: Test & Verification of SoC Design Lecture - 7. Jan 27, VLSI Testing Fault Simulation Virendra Singh Indian Institute t of Science Bangalore virendra@computer.org E 286: Test & Verification of SoC Design Lecture - 7 Jan 27, 2 E-286@SERC Fault Simulation Jan

More information

ECE 485/585 Microprocessor System Design

ECE 485/585 Microprocessor System Design Microprocessor System Design Lecture 4: Memory Hierarchy Memory Taxonomy SRAM Basics Memory Organization DRAM Basics Zeshan Chishti Electrical and Computer Engineering Dept Maseeh College of Engineering

More information

Best Practices for Incremental Compilation Partitions and Floorplan Assignments

Best Practices for Incremental Compilation Partitions and Floorplan Assignments Best Practices for Incremental Compilation Partitions and Floorplan Assignments December 2007, ver. 1.0 Application Note 470 Introduction The Quartus II incremental compilation feature allows you to partition

More information

A Brief Introduction to Verilog Hardware Definition Language (HDL)

A Brief Introduction to Verilog Hardware Definition Language (HDL) www.realdigital.org A Brief Introduction to Verilog Hardware Definition Language (HDL) Forward Verilog is a Hardware Description language (HDL) that is used to define the structure and/or behavior of digital

More information

HIGH-LEVEL SYNTHESIS

HIGH-LEVEL SYNTHESIS HIGH-LEVEL SYNTHESIS Page 1 HIGH-LEVEL SYNTHESIS High-level synthesis: the automatic addition of structural information to a design described by an algorithm. BEHAVIORAL D. STRUCTURAL D. Systems Algorithms

More information

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis ECE 4514 Digital Design II A Tools/Methods Lecture Second half of Digital Design II 9 10-Mar-08 L13 (T) Logic Synthesis PJ2 13-Mar-08 L14 (D) FPGA Technology 10 18-Mar-08 No Class (Instructor on Conference)

More information

Verilog introduction. Embedded and Ambient Systems Lab

Verilog introduction. Embedded and Ambient Systems Lab Verilog introduction Embedded and Ambient Systems Lab Purpose of HDL languages Modeling hardware behavior Large part of these languages can only be used for simulation, not for hardware generation (synthesis)

More information

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses Today Comments about assignment 3-43 Comments about assignment 3 ASICs and Programmable logic Others courses octor Per should show up in the end of the lecture Mealy machines can not be coded in a single

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

FPGA Power Management and Modeling Techniques

FPGA Power Management and Modeling Techniques FPGA Power Management and Modeling Techniques WP-01044-2.0 White Paper This white paper discusses the major challenges associated with accurately predicting power consumption in FPGAs, namely, obtaining

More information

Implementation of Crosstalk Elimination Using Digital Patterns Methodology

Implementation of Crosstalk Elimination Using Digital Patterns Methodology Implementation of Crosstalk Elimination Using Digital Patterns Methodology Kolli Kalpana M.Tech Student Department of ECE Nova College of Engineering and Technology, Ibrahimpatnam, Vijayawada, Krishna,

More information

HDL. Operations and dependencies. FSMs Logic functions HDL. Interconnected logic blocks HDL BEHAVIORAL VIEW LOGIC LEVEL ARCHITECTURAL LEVEL

HDL. Operations and dependencies. FSMs Logic functions HDL. Interconnected logic blocks HDL BEHAVIORAL VIEW LOGIC LEVEL ARCHITECTURAL LEVEL ARCHITECTURAL-LEVEL SYNTHESIS Motivation. Outline cgiovanni De Micheli Stanford University Compiling language models into abstract models. Behavioral-level optimization and program-level transformations.

More information

EE595. Part VII VHDL Synthesis Techniques and Recommendations. EE 595 EDA / ASIC Design Lab

EE595. Part VII VHDL Synthesis Techniques and Recommendations. EE 595 EDA / ASIC Design Lab EE595 Part VII VHDL Synthesis Techniques and Recommendations Introduction Synthesis is the translation process from an abstract description of a hardware device into an optimized technology specific gate

More information

EECS 151/251A: SRPING 2017 MIDTERM 1

EECS 151/251A: SRPING 2017 MIDTERM 1 University of California College of Engineering Department of Electrical Engineering and Computer Sciences E. Alon Thursday, Mar 2 nd, 2017 7:00-8:30pm EECS 151/251A: SRPING 2017 MIDTERM 1 NAME Last First

More information

Cluster-based approach eases clock tree synthesis

Cluster-based approach eases clock tree synthesis Page 1 of 5 EE Times: Design News Cluster-based approach eases clock tree synthesis Udhaya Kumar (11/14/2005 9:00 AM EST) URL: http://www.eetimes.com/showarticle.jhtml?articleid=173601961 Clock network

More information