Additional Slides to De Micheli Book

Similar documents
Introduction. Sungho Kang. Yonsei University

LOGIC SYNTHESIS AND VERIFICATION ALGORITHMS. Gary D. Hachtel University of Colorado. Fabio Somenzi University of Colorado.

CS/EE 5740/6740: Computer Aided Design of Digital Circuits

Retiming. Adapted from: Synthesis and Optimization of Digital Circuits, G. De Micheli Stanford. Outline. Structural optimization methods. Retiming.

COE 561 Digital System Design & Synthesis Introduction

VHDL for Synthesis. Course Description. Course Duration. Goals

Unit 2: High-Level Synthesis

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

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.

CSE241 VLSI Digital Circuits UC San Diego

Introduction to Data Structure

Chapter 6: Multilevel Combinational Circuits. Name: Lương Văn Minh No. :

Lecture 20: High-level Synthesis (1)

Combinatorial Algorithms. Unate Covering Binate Covering Graph Coloring Maximum Clique

ECE260B CSE241A Winter Logic Synthesis

l Some materials from various sources! Soma 1! l Apply a signal, measure output, compare l 32-bit adder test example:!

ESE535: Electronic Design Automation. Today. Question. Question. Intuition. Gate Array Evaluation Model

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

VLSI System Testing. Fault Simulation

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

ESE535: Electronic Design Automation. Today. LUT Mapping. Simplifying Structure. Preclass: Cover in 4-LUT? Preclass: Cover in 4-LUT?

VLSI Test Technology and Reliability (ET4076)

Lecture 7 Fault Simulation

Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts)

Don't Cares in Multi-Level Network Optimization. Hamid Savoj. Abstract

Topics. Verilog. Verilog vs. VHDL (2) Verilog vs. VHDL (1)

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

HIGH-LEVEL SYNTHESIS

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

VLSI Testing. Fault Simulation. Virendra Singh. Indian Institute of Science Bangalore

Metodologie di progetto HW Il test di circuiti digitali

VLSI Physical Design: From Graph Partitioning to Timing Closure

Digital Design Methodology (Revisited) Design Methodology: Big Picture

Synthesis at different abstraction levels

Lecture 3 - Fault Simulation

Digital Design Methodology

Page 1. Outline. A Good Reference and a Caveat. Testing. ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems. Testing and Design for Test

VLSI Test Technology and Reliability (ET4076)

RUNNING TIME ANALYSIS. Problem Solving with Computers-II

Verilog for High Performance

ECE260B CSE241A Winter Logic Synthesis

Contents 1 Basic of Test and Role of HDLs 2 Verilog HDL for Design and Test

ECE 5775 (Fall 17) High-Level Digital Design Automation. Fixed-Point Types Analysis of Algorithms

TECHNOLOGY MAPPING FOR THE ATMEL FPGA CIRCUITS

PROGRAM EFFICIENCY & COMPLEXITY ANALYSIS

Design and Synthesis for Test

PINE TRAINING ACADEMY

FPGAs: Instant Access

Lecture #1: Introduction

Implementing Tile-based Chip Multiprocessors with GALS Clocking Styles

Metodologie di progetto HW Il test di circuiti digitali

ECE 3060 VLSI and Advanced Digital Design

ECE 595Z Digital Systems Design Automation

A Path Based Algorithm for Timing Driven. Logic Replication in FPGA

Algorithm. Algorithm Analysis. Algorithm. Algorithm. Analyzing Sorting Algorithms (Insertion Sort) Analyzing Algorithms 8/31/2017

CS 250 VLSI Design Lecture 11 Design Verification

CS 6402 DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

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

High-Level Synthesis (HLS)

Chapter 9. Design for Testability

Selection, Bubble, Insertion, Merge, Heap, Quick Bucket, Radix

Ceng 111 Fall 2015 Week 12b

More Course Information

Based on slides/material by. Topic Design Methodologies and Tools. Outline. Digital IC Implementation Approaches

Algorithm Analysis. Applied Algorithmics COMP526. Algorithm Analysis. Algorithm Analysis via experiments

Delay Estimation for Technology Independent Synthesis

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation

Computer Science 210 Data Structures Siena College Fall Topic Notes: Complexity and Asymptotic Analysis

EE 4755 Digital Design Using Hardware Description Languages

Preizkušanje elektronskih vezij

CS8803: Advanced Digital Design for Embedded Hardware

Advanced Synthesis Techniques

Lecture 2: Algorithms, Complexity and Data Structures. (Reading: AM&O Chapter 3)

DATA STRUCTURES AND ALGORITHMS

L2: Design Representations

How do we compare algorithms meaningfully? (i.e.) the same algorithm will 1) run at different speeds 2) require different amounts of space

Fast Minimum-Register Retiming via Binary Maximum-Flow

Introduction to Real-Time Systems ECE 397-1

L6,7: Time & Space Complexity

ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms

0.1 Welcome. 0.2 Insertion sort. Jessica Su (some portions copied from CLRS)

Regular Fabrics for Retiming & Pipelining over Global Interconnects

SIS: A System for Sequential Circuit Synthesis

CSE 373 APRIL 3 RD ALGORITHM ANALYSIS

An Interconnect-Centric Design Flow for Nanometer Technologies

Chapter 5 Global Routing

Evolution of CAD Tools & Verilog HDL Definition

ECE 565: VLSI CAD Flow + Brief Intro to HLS, Logic Optimization & Technology Mapping. Shantanu Dutt ECE Dept., UIC

Data Structures Lecture 8

Choice of C++ as Language

Remember, to manage anything, we need to measure it. So, how do we compare two implementations? ArrayBag vs. LinkedBag Which is more efficient?

On the Page Number of Upward Planar Directed Acyclic Graphs

Algorithm Analysis. Gunnar Gotshalks. AlgAnalysis 1

Wireless Network Capacity. Nitin Vaidya

asymptotic growth rate or order compare two functions, but ignore constant factors, small inputs

Test 1 SOLUTIONS. June 10, Answer each question in the space provided or on the back of a page with an indication of where to find the answer.

Review for Midterm Exam

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

High-Level Synthesis

Transcription:

Additional Slides to De Micheli Book Sungho Kang Yonsei University

Design Style - Decomposition 08 3$9 0 Behavioral Synthesis Resource allocation; Pipelining; Control flow parallelization; Communicating Sequential Processes; Partitioning Sequential Synthesis Register Movement and Retiming; State Minimization; State Assignment; Synthesis for Testable FSM s; State Machine Verification Logic Synthesis Extraction of combinational logic to HDL; Two-level minimization; Algebraic Decomposition; Multilevel Logic Minimization; Synthesis for Multifault Testability; Test Generation via Minimization; Technology mapping; Timing optimization Technology Mapping Mapping to Library of Logic Gates; Timing Optimization Physical Design Synthesis Cell Placement; Routing; Fabrication; Engineering Changes 2

Area vs Delay:The Bit-Serial Adder A typical tradeoff is area versus delay With just one full adder, this circuit can do 32-bit addition But, it is 32x slower than a parallel adder (32 full adders, 1 bit output per clock cycle) 3

Design Tradeoff Curve Holding other factors constant, the Area vs Delay tradeoff curve is typically parabolic The first design requirement is meet Constraints on Chip Area and Critical Path Delay (0 to 1) 4

Design Tradeoffs The next priority is to optimize a feasible design Design 2 is optimal, in the sense that area and delay cannot both be decreased from this point Tradeoff is now necessary, according to Policy 5

Design Tradeoffs 4 A typical design Policy is to optimize area subject to a delay constraint (2 to 3) Often a preferred policy is to optimize delay subject to an area constraint (2 to 4) 6

Prioritizing Testability Sometimes other factors, such as testability or power, take priority Typically this moves the area-delay tradeoff curve up and to the right Thus designs 1 and 2 are optimal 7

Area Optimization Typically performed in a technology independent view of the circuit In this view gates are regarded as logic functions These functions are converted to physical gates by Technology Mapping 8

Technology Independent View a = xi yi b = xi yi e = a b zi = ec i-1 +e c i-1 c = xi yi d = xi + y + i f = dc i-1 ci = c + f In this view the gates of the full adder circuit are just logic equations 9

Optimization and Technology Mapping Common subfunctions shared Computer Functions Systems Technology Lab. Mapped to negative gates 10

Testing Faults Models Stuck-at faults Delay faults Test vectors Fault simulation Automatic test pattern generation Diagnosis Testable Design 11

Delay Optimization First step is to identify the Critical Path Simplest delay model: number of logic levels 12

Critical Path Analyzers Static Delay Models: Levels of Logic Delay function of size, load Worst, best case models Dynamic Delay Models Simplified device models Full Spice analysis 13

VLSI : Scalable Algorithms In the 70s IBM found that 75% of all its cpu cycles went to critical path algorithms Now the bottleneck is Formal Verification Scalable algorithms required, for which cpu time and space increase: linearly in problem size n (O(n)) log-linearly (O(nlog(n))) even quadratic (O(n 2 )) too expensive 14

Graph Models and FSM Graph Edge Vertex Undirected graph Digraph All edges are directed Mixed graph DAG (directed acyclic graph) 15

Graph Terminology Graph: ordered set of two sets 4 4 G = ( V, E) : a set of vertices or nodes : a set of edges or arcs : the successors (fanouts) of node 4 4 = {,} 13 : the predecessors (fanins) of node 4 4 12 = {, } 16

Graph Models Transitive closure fanout fanin Source v has no predecessors Sink v has no successors 17

Products of Sets of Sets 7,5 47 9 28 Intersecting 2 sets of sets Procedure SET_CARTESIAN_PRODUCT(G,H) { Ops Times/call Best Worst m = G ; n= H ; c1 1 1 P = NULL c2 1 1 for (i = 1, 2,, m) { c3m 1 1 for (j = 1, 2,, n) { c4n m m P = P (Gi Hj) c5 mn mnq } } return(p) c6 1 1 } 18

Computing Critical Path Length 7,5 47 9 28 This problem is modeled as that of finding the longest path in a DAG (Directed Acyclic Graph) Thus we digress for a while, and introduce the notions of sets and graphs Then we discuss a scalable (linear) complexity algorithm for finding the longest path in a DAG 19

Longest Paths 7,5 47 9 28 20

Backtracking 7,5 47 9 28 The slack of an edge(a,v) is the slack of v plus the difference between the length of the longest path to v and the longest path to v through (a,v) In formula, slack a,v = slack v + (λv - (λ a + L a,v )) Here λv is the length of the longest path to v, and (λ a + L a,v ) is the length of the longest path to v that passes through the edge (a,v) The slack of a node u is defined as the minimum of its fanout edge slacks, so slack a = min slack v 21

Asymptotic Complexity 8 25949.425 0 9 A function F(n) is in the set O(g(n)) if and only if there exist positive constants c o and n o such that F(n) c o g(n) for all n n o This means that F(n) is asymptotically bounded from above by a linear function of g(n) A function F(n) is in the set Ω(g(n)) if and only if there exist positive constants c Ω and n Ω such that F(n) c Ω g(n) for all n n Ω This means that F(n) is asymptotically bounded from below by a linear function of g(n) 22