Introduction. Sungho Kang. Yonsei University

Similar documents
Additional Slides to De Micheli Book

COE 561 Digital System Design & Synthesis Introduction

Testable SOC Design. Sungho Kang

Design Methodologies

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

More Course Information

Design Methodologies. Full-Custom Design

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

Evolution of CAD Tools & Verilog HDL Definition

ECE260B CSE241A Winter Logic Synthesis

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

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

Design Methodologies and Tools. Full-Custom Design

Graphics: Alexandra Nolte, Gesine Marwedel, Universität Dortmund. RTL Synthesis

CSE241 VLSI Digital Circuits UC San Diego

EE 466/586 VLSI Design. Partha Pande School of EECS Washington State University

Chapter 5: ASICs Vs. PLDs

Embedded Controller Design. CompE 270 Digital Systems - 5. Objective. Application Specific Chips. User Programmable Logic. Copyright 1998 Ken Arnold 1

UNIT 4 INTEGRATED CIRCUIT DESIGN METHODOLOGY E5163

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

FPGAs: Instant Access

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

ECE260B CSE241A Winter Logic Synthesis

CS8803: Advanced Digital Design for Embedded Hardware

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

Memory and Programmable Logic

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

Spiral 2-8. Cell Layout

Digital Design Methodology (Revisited) Design Methodology: Big Picture

Combinatorial Algorithms. Unate Covering Binate Covering Graph Coloring Maximum Clique

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Digital Design Methodology

UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT

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

CHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS

101-1 Under-Graduate Project Digital IC Design Flow

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

Lecture #1: Introduction

IMPLEMENTATION DESIGN FLOW

! Design Methodologies. " Hierarchy, Modularity, Regularity, Locality. ! Implementation Methodologies. " Custom, Semi-Custom (cell-based, array-based)

VLSI Test Technology and Reliability (ET4076)

Synthesis at different abstraction levels

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

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

PROGRAMMABLE LOGIC DEVICES

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

COPYRIGHTED MATERIAL INDEX

VLSI Design Automation

HIGH-LEVEL SYNTHESIS

Digital System Design with SystemVerilog

EITF35: Introduction to Structured VLSI Design

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

VLSI Design Automation. Calcolatori Elettronici Ing. Informatica

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

VHDL for Synthesis. Course Description. Course Duration. Goals

ECE 636. Reconfigurable Computing. Lecture 2. Field Programmable Gate Arrays I

VLSI System Testing. Fault Simulation

Synthesis and Optimization of Digital Circuits

Design Methodologies. Digital Integrated Circuits A Design Perspective. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.

PINE TRAINING ACADEMY

A VARIETY OF ICS ARE POSSIBLE DESIGNING FPGAS & ASICS. APPLICATIONS MAY USE STANDARD ICs or FPGAs/ASICs FAB FOUNDRIES COST BILLIONS

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

EECS Components and Design Techniques for Digital Systems. Lec 07 PLAs and FSMs 9/ Big Idea: boolean functions <> gates.

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

Overview of Digital Design with Verilog HDL 1

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS

ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms

Advanced Synthesis Techniques

Section 6. Memory Components Chapter 5.7, 5.8 Physical Implementations Chapter 7 Programmable Processors Chapter 8

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

Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN

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

Chapter 9. Design for Testability

Recitation Session 6

outline Reliable State Machines MER Mission example

Design Verification Lecture 01

EEM870 Embedded System and Experiment Lecture 2: Introduction to SoC Design

VLSI Design Automation

FPGA architecture and design technology

Hardware Modelling. Design Flow Overview. ECS Group, TU Wien

CMPE 415 Programmable Logic Devices Introduction

E 4.20 Introduction to Digital Integrated Circuit Design

Very Large Scale Integration (VLSI)

Unit 6 1.Random Access Memory (RAM) Chapter 3 Combinational Logic Design 2.Programmable Logic

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

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

High-Level Synthesis

V1 - VHDL Language. FPGA Programming with VHDL and Simulation (through the training Xilinx, Lattice or Actel FPGA are targeted) Objectives

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

VLSI Design Automation. Maurizio Palesi

Metodologie di progetto HW Il test di circuiti digitali

Lecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design

Chapter 6. CMOS Functional Cells

Boolean Algebra and Logic Gates

ECE 111 ECE 111. Advanced Digital Design. Advanced Digital Design Winter, Sujit Dey. Sujit Dey. ECE Department UC San Diego

Unit 2: High-Level Synthesis

EEL 4783: HDL in Digital System Design

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING

Transcription:

Introduction Sungho Kang Yonsei University

Outline VLSI Design Styles Overview of Optimal Logic Synthesis Model Graph Algorithm and Complexity Asymptotic Complexity Brief Summary of MOS Device Behavior 2

VLSI Manufacturing Technology Minimum length of MOS channels The number of interconnection layers Design Technology CAD tools Why VLSI New markets Operation speed Protection investments in design 3

Design Style - Decomposition 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 Multi-fault 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 4

Logic Design Styles Full custom design Every circuit part is especially optimized for the purpose it must serve in the design Semi-custom design The circuit is designed by assembling pre-designed and precharacterized sub-circuits Manufacturing may use a pre-diffused substrate Programmed design The design is obtained by programming a standard part Some circuits may be programmed only once while others may be programmed an unlimited number of times 5

Design Methodology SEMICUSTOM CELL-BASED ARRAY-BASED STANDARD CELLS Hierarchical cells MACRO CELLS Generatiors: Memory PLA Sparse logic Gate matrix PREDIFFUSED Gate arrays Sea of gates Compacted arrays PREWIRED Anti-fuse based Memory-based 6

SOC Design Paradigm Emergence of Very large transistor counts on a single chip Mixed technologies on the same chip Logic, Analog, Memory, Processor Creation of Intellectual Property (IP) Reusable core-based design Cores replacing standard parts, such as DSP, DRAM, MCU, Flash, and FPGA 7

SOC Evolution Original Design Block ASIC User Defined Logic (UDL) Original Design Block SRAM ROM Block-Based SOC up (IP Core) User Defined Logic (UDL) Original Design Block DRAM Analog ROM ATM (IP Core) MPEG (IP Core) Core-Based SOC 8

IP Core types Hard Core(Technology dependent layout) Predictable area and performance Lack flexibility Soft Core(RTL) leave much of the implementation to the designer Flexible and process-independent Firm Core(Netlist) Each type of core has different modeling and test requirements 9

Design Tradeoffs Factors to be optimized in chip design: Area Delay Power Testability These competing objectives require Tradeoffs Synthesis tools automate tradeoff According to the commands used by the designer, area or delay (or power, or testability) is reduced 10

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) 11

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) 12

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 13

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) 14

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 15

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 16

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 17

Optimization and Technology Mapping Common subfunctions shared Functions Technology Mapped to negative gates 18

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

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

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 21

Model Behavioral Represents the behavior of the system Behavior can be specified as a mapping of logic values or of data words, etc. Functional model is a representation of its logic function Behavioral model consists of a function model with a representation associated with timing relations Advantages from the separation between function and timing Circuits with the same function but different timing Function and timing can be dealt in design verification Structural Collection of interconnected elements Primitive elements Block diagram : CPU, RAM, etc Schematic diagram : AND, OR etc 22

Model External Model viewed by the user Graphic or text-based HDL (Hardware Description Language) RTL (Register Transfer Level) Internal Data structures and programs inside 23

Truth Tables Simplest way n variables requires 2 n entry X1 X2 Y 0 0 0 0 1 0 1 0 0 1 1 1 24

Cube A cube of Z(x1,x2,x3) has the form (v1,v2,v3 v z ) where v z =(v1,v2,v3) An implicant of g of Z can be represented by a cube constructed Set vi=1(0) if xi(xi ) appears in g Set vi=x if neither xi nor xi appears in g Set v z =1 If the cube q can be obtained from the cube p by replacing one or more x values in p by 0 or 1 then p covers q Primitive cube Cube representing a prime implicant Primitive cubes provide a compact representation of a function 25

Intersection Operator Inconsistency : Consistency : Except 0 1 X 0 0 0 1 1 1 X 0 1 X Compatible Values whose intersection is consistent Intersection of 2 cubes is compatible iff all corresponding values are compatible To determine Z Form the cube (v1,v2, vn x) Intersect this cube with the primitive cube of Z until a consistent intersection is obtained The value of z is obtained in the rightmost position 26

State Tables Represents synchronous sequential circuits Row corresponding to every internal state Column corresponding to every possible input N(qi,Im), Z(qi, Im) Entry in row qi and column Im represents the next state and the output produced if Im is applied when the machine is in state qi N : next state Z : output function x 0 1 1 2,1 3,0 q 2 2,1 4,0 3 1.0 4,0 4 3,1 3,0 27

State Tables Canonical Structure x combinational circuit C z y Y F/F F/F CLOCK 28

Flow Tables Represents a behavior of asynchronous State transition may involve a sequence of state changes caused by a single input change to I j until a stable configuration is reached, denoted by N(q i, I j )=q i x 1 x 2 00 01 11 10 1 1,0 5,1 2,0 1,0 2 1,0 2,0 2,0 5,1 3 3,1 2,0 4,0 3,0 4 3,1 5,1 4,0 4,0 5 3,1 5,1 4,0 5,1 x y combinational circuit C z 29

Iterative Array C(0) pseudo pseudo pseudo C(0) C( i ) F/F F/F F/F 30

Programs as Functional Models Assembly LDA A /* load accumulator with value of A*/ AND B /* compute A.B */ AND C /* compute A.B.C */ STA E /* store partial result */ LDA D /* load accumulator with value of D */ INV /* compute D OR E /* compute A.B.C + D */ STA Z /* store result */ C E = A & B & C F = ~D Z = E \ F 31

RTL Constructs 8-bit register IR register IR[0 7] 256-word memory ABC with 16-bit/word memory ABC[0 255; 0 15] When control is 1, C=A+B if X then C=A+B Decoder test (IR[0 3]) case 0 : operation0 case 1 : operation1 case 15 : operation15 testend 32

Timing Models in RTL Procedural Languages Similar to conventional programming language where statements are sequentially executed such that the result of a statement is immediately available C = B A = B C = A Describes a system at the instruction set level of abstraction Nonprocedural Languages Statements are conceptually executed in parallel Exchange A and B A = B B = A Examples C=A+B, delay = 100 delay C 100 33

Structural Models Fanout Fanout-free Reconvergent fanput Inversion Parity 34

Graph Models and FSM Graph Edge Vertex Undirected graph Digraph (directed graph) All edges are directed Mixed graph Directed and undirected DAG (directed acyclic graph) If digraph has no cycles 35

Graph Terminology Graph: ordered set of two sets G= (V,E) V : a set of vertices or nodes E : a set of edges or arcs ->4 : the successors (fanouts) of node 4 4->={1,3} ->4 : the predecessors (fanins) of node 4 ->4={1,2} 36

Graph Models Transitive closure The extended edge relation E*(u,v) derived from a given edge relation E(u,v) is called transitive closure of E fanout fanin Source v has no predecessors Sink v has no successors 37

Products of Sets of Sets Intersecting 2 sets of sets Takes as inputs the sets G and H and computes the product P=GXH of sets G and H 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 } 38

Computing Critical Path Length This problem is modeled as that of finding the longest path in a DAG (Directed Acyclic Graph) The Key point is that every edge is traversed exactly once T(m,n,q) = O(m) 39

Longest Paths 40

Backtracing 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 An edge (a,v) is critical if it connects two nodes a and v with slack value 0 41

Asymptotic Complexity 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) 42

Conclusion Design time spent in each design phase Verification : 39% RTL design and synthesis : 17% IC layout : 13% System design and integration : 11% Test vector creation : 11% Evaluation and Procurement : 6% Other : 3% 43