Penn ESE535 Spring2015 -- DeHon 1 ESE535: Electronic Design Automation Day 1: January 14, 2015 Introduction Complete questionnaire.

Slides:



Advertisements
Similar presentations
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 14: March 19, 2014 Compute 2: Cascades, ALUs, PLAs.
Advertisements

Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 10, 2013 Statistical Static Timing Analysis.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 21: Where do you go from here? Spring 2009.
The Design Process Outline Goal Reading Design Domain Design Flow
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 21: April 2, 2007 Time Multiplexing.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 1: January 14, 2009 Introduction.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 15: March 12, 2007 Interconnect 3: Richness.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 2: January 23, 2008 Covering.
EDA (CS286.5b) Day 1 Introduction. Apple Pie Intro (1) How do we design modern computational systems? –Millions->billions of devices –used in everything.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 15, 2009 Routing 1.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 11: February 14, 2007 Compute 1: LUTs.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 19: April 9, 2008 Routing 1.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 16: March 23, 2009 Covering.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 12: March 2, 2009 Sequential Optimization (FSM Encoding)
EDA (CS286.5b) Day 19 Covering and Retiming. “Final” Like Assignment #1 –longer –more breadth –focus since assignment #2 –…but ideas are cummulative –open.
Penn ESE Spring DeHon 1 FUTURE Timing seemed good However, only student to give feedback marked confusing (2 of 5 on clarity) and too fast.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 5: January 24, 2007 ALUs, Virtualization…
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Design methodology.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 4: January 28, 2015 Partitioning (Intro, KLFM)
ENG3050 Embedded Reconfigurable Computing Systems General Information Handout Winter 2015, January 5 th.
CAD for Physical Design of VLSI Circuits
Chapter 1 An Introduction to Processor Design 부산대학교 컴퓨터공학과.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 2: January 26, 2015 Covering Work preclass exercise.
CALTECH CS137 Fall DeHon CS137: Electronic Design Automation Day 1: September 26, 2005 Introduction.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 2: January 21, 2015 Heterogeneous Multicontext Computing Array Work Preclass.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 16, 2015 Scheduling Variants and Approaches.
COE 405 Design and Modeling of Digital Systems
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 1: September 8, 2010 Introduction and.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 24: April 18, 2011 Covering and Retiming.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2015 Architecture Synthesis (Provisioning, Allocation)
Penn ESE525 Spring DeHon 1 ESE535: Electronic Design Automation Day 6: February 4, 2014 Partitioning 2 (spectral, network flow)
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 1: September 7, 2011 Introduction and.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 24: April 22, 2015 Statistical Static Timing Analysis.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 8, 2015 Sequential Optimization (FSM Encoding)
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 1: January 7, 2002 Introduction.
1 - CPRE 583 (Reconfigurable Computing): VHDL to FPGA: A Tool Flow Overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 5: 9/7/2011.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 1: January 12, 2011 Introduction Complete questionnaire.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: February 20, 2002 Routing 1.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 13: March 3, 2015 Routing 1.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 2: January 20, 2010 Universality, Gates, Logic Work Preclass Exercise.
ECE 551: Digital System Design & Synthesis Motivation and Introduction Lectures Set 1 (3 Lectures)
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 2: January 18, 2012 Universality, Gates, Logic Work Preclass Exercise.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 6: January 30, 2013 Partitioning (Intro, KLFM)
Penn ESE534 Spring DeHon 1 ESE534 Computer Organization Day 9: February 13, 2012 Interconnect Introduction.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 4, 2011 Static Timing Analysis and Multi-Level Speedup.
CBSSS 2002: DeHon Universal Programming Organization André DeHon Tuesday, June 18, 2002.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 13, 2013 High Level Synthesis II Dataflow Graph Sharing.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2015 Clustering (LUT Mapping, Delay)
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 2: September 28, 2005 Covering.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 1: January 16, 2008 Introduction.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 21: November 28, 2005 Routing 1.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 10: January 28, 2005 Empirical Comparisons.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 25: April 17, 2013 Covering and Retiming.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: January 31, 2011 Scheduling Variants and Approaches.
System-on-Chip Design
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
Objective of This Course
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
HIGH LEVEL SYNTHESIS.
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
Presentation transcript:

Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 1: January 14, 2015 Introduction Complete questionnaire

Penn ESE535 Spring DeHon 2 Warmup Poll How many of you have: –Drawn geometry for transistors and wires –Sized transistors –Placed logic and/or memory cells –Selected the individual gates –Specified the bit encoding for an FSM –Designed a bit-slice for an Adder or ALU –Written RTL Verilog or VHDL –Written Behavioral Verilog, VHDL, etc. and compiled to hardware? –Written SystemC or Bluespec System Verilog? –Compiled C to gates?

Penn ESE535 Spring DeHon 3 Modern Design Challenge How do we design modern computational systems? –billions of devices –used in everything –billion dollar businesses –rapidly advancing technology –more “effects” to address –rapidly developing applications and uses –short product cycles –extreme time-to-market pressures

Productivity Gap Penn ESE535 Spring DeHon 4 Source: ITRS2009, 2011 Design Chapter

Penn ESE535 Spring DeHon 5 The Productivity Gap Source: Newton (UCB/GSRC)

Penn ESE535 Spring DeHon 6 Bottleneck Human brain power is the bottleneck –to producing new designs –to creating new things (applications of technology) –to making money

Penn ESE535 Spring DeHon 7 Avoiding the Bottleneck How do we unburden the human? –Take details away from him/her raise the level of abstraction at which human specifies computation –Pick up the slack machine take over the details

Penn ESE535 Spring DeHon 8 DOMAIN SPECIFIC RTL GATE TRANSISTOR BEHAVIORAL Design Productivity by Approach a b s q 0 1 d clk GATES/WEEK (Dataquest) K - 2K 2K - 10K 8K - 12K Source: Keutzer (UCB EE 244)

Penn ESE535 Spring DeHon 9 To Design, Implement, Verify 10M transistors a b s q 0 1 d clk ,500 Power Delay Area Beh RTL Staff Months Source: Keutzer (UCB EE 244)

Penn ESE535 Spring DeHon 10 Central Questions How do we make the machine fill in the details (elaborate the design)? How well can it solve this problem? How fast can it solve this problem?

Penn ESE535 Spring DeHon 11 Outline Intro/Setup Instructor The Problem Decomposition Costs Not Solved This Class

Penn ESE535 Spring DeHon 12 Instructor VLSI/CAD user + Novel Tech. consumer –Architect, Computer Designer –Spatial designs: FPGAs, Reconfigurable –Hybrid: Multicontext FPGAs, P+FPGA –Nanoscale: CNT, NW-based, NEMS –Avoid tedium (impatient) Analyze Architectures –necessary to explore –costs different (esp. in new technologies) Mapping as part of runtime? –Variation, wear, reliability, changing dataset?? Requirements of Computation

Penn ESE535 Spring DeHon 13 Problem Map from a problem specification down to an efficient implementation on a particular computational substrate. What is –a specification –a substrate –have to do during mapping

Penn ESE535 Spring DeHon 14 Problem: Specification Recall: basic tenant of CS theory –we can specify computations precisely –Universal languages/building blocks exist Turing machines nand gates EEs: –Can build any function out of nand gates –Any FSM out of gates + registers FSM = Finite State Machine

Penn ESE535 Spring DeHon 15 Specifications netlist logic gates Finite-State Machine (FSM) programming language –C, C++, Lisp, Java, block diagram DSL (domain specific) –MATLAB, Snort RTL –Register Transfer Level –(e.g. subsets of Verilog, VHDL) behavioral dataflow graph layout SPICE netlist

Penn ESE535 Spring DeHon 16 Substrate “full” custom VLSI Standard cell metal-only gate-array FPGA Processor (scalar, VLIW, Vector) Array of Processors (SoC, {multi,many}core) billiard balls Nanowire PLA molecules DNA

Penn ESE535 Spring DeHon 17 Full Custom Get to define all layers Use any geometry you like Only rules are process design rules ESE570

Penn ESE535 Spring DeHon 18 FPGA K-LUT (typical k=4) Compute block w/ optional output Flip-Flop ESE171, CIS371

Penn ESE535 Spring DeHon 19 Standard Cell

Penn ESE535 Spring DeHon 20 Standard Cell Area invnand3AOI4invnor3Inv All cells uniform height Width of channel determined by routing Cell area

Penn ESE535 Spring DeHon 21 Nanowire PLA

Penn ESE535 Spring DeHon 22 What are we throwing away? (what does mapping have to recover?) layout TR level circuits logic gates / netlist FSM Allocation of functional units and assignment Cycle-by-cycle timing Operation sequencing How task implemented DSL: MATLAB

Penn ESE535 Spring DeHon 23 Specification not Optimal Y = a*b*c + a*b*/c + /a*b*c Multiple representations with the same semantics (computational meaning) Only have to implement the semantics, not the “unimportant” detail Exploit freedom to make – smaller /faster/cooler

Penn ESE535 Spring DeHon 24 Noel Menesez, Intel Director of Strategic CAD (2014)

Penn ESE535 Spring DeHon 25 Noel Menesez, Intel Director of Strategic CAD (2014)

Penn ESE535 Spring DeHon 26 Problem Revisited Map from some “higher” level down to substrate Fill in details: –device sizing, placement, wiring, circuits, gate or functional-unit mapping, timing, encoding, data movement, scheduling, resource sharing

Penn ESE535 Spring DeHon 27 Decomposition Conventionally, decompose into phases: –Arch. select, scheduling, assignment -> RTL –sequential opt. -> logic equations –logic opt., covering -> gates –retiming -> gates and registers –placement-> placed gates –routing->mapped design Good abstraction, manage complexity Behavioral (C, MATLAB, …) RTL Gate Netlist Layout Masks Arch. Select Schedule FSM assign Two-level, Multilevel opt. Covering Retiming Placement Routing

Penn ESE535 Spring DeHon 28 Easy once decomposed? All steps are (in general) NP-hard. –routing –placement –partitioning –covering –logic optimization –scheduling What do we do about NP-hard problems? –Return to this problem in a few slides… NP-hard: Can verify solution in polytime N, N 2, N 100 Do not know how to find in polytime only known e N if there were a polytime solution then P=NP

Penn ESE535 Spring DeHon 29 Decomposition + Easier to solve –only worry about one problem at a time + Less computational work –smaller problem size - Abstraction hides important objectives –solving 2 problems optimally in sequence often not give optimal result of simultaneous solution

Penn ESE535 Spring DeHon 30 Mapping and Decomposition Two important things to get back to –disentangling problems –coping with NP-hardness

Penn ESE535 Spring DeHon 31 Costs Once get (preserve) semantics, trying to minimize the cost of the implementation. –Otherwise this would be trivial –(none of the problems would be NP-hard) What costs? Typically: EDA [:-)] –Energy –Delay (worst-case, expected….) –Area Future –Yield –Reliability –Operational Lifetime

Penn ESE535 Spring DeHon 32 Costs Different cost critera (e.g. E,D,A) –behave differently under transformations –lead to tradeoffs among them [LUT cover example next slide] –even have different optimality/hardness e.g. optimally solve delay covering in poly time, but not area mapping –E.g. covering

Penn ESE535 Spring DeHon 33 Costs: Area vs. Delay Example of exploiting freedom of mapping choice.

Penn ESE535 Spring DeHon 34 Costs Cannot, generally, solve a problem independent of costs –costs define what is “optimal” –e.g. (A+B)+C vs. A+(B+C) [cost=pob. Gate output is high] A,B,C independent P(A)=P(B)=0.5, P(C)=0.01 P(A)=0.1, P(B)=P(C)=0.5

Penn ESE535 Spring DeHon 35 Costs may also simplify problem Often one cost dominates –Allow/supports decomposition –Solve dominant problem/effect first (optimally) –Cost of other affects negligible total solution can’t be far from optimal –e.g. Delay in gates, Delay in wires –Require: formulate problem around relative costs Simplify problem at cost of generality

Penn ESE535 Spring DeHon 36 Coping with NP-hard Problems How do we cope with? simpler sub-problem based on dominant cost or special problem structure problems exhibit structure –optimal solutions found in reasonable time in practice approximation algorithms –Can get within some bound of optimum heuristic solutions high density of good/reasonable solutions? –Try many … filter for good ones …makes it a highly experimental discipline

Penn ESE535 Spring DeHon 37 Not a solved problem Why need to study – not just buy tool from C, M, or S? NP-hard problems –almost always solved in suboptimal manner –or for particular special cases decomposed in suboptimal ways quality of solution changes as dominant costs change –…and relative costs are changing! new effects and mapping problems crop up with new architectures, substrates

Penn ESE535 Spring DeHon 38 Big Challenge Rich, challenging, exciting space Great value –practical –theoretical Worth vigorous study –fundamental/academic –pragmatic/commercial

This Class: Student Outcomes You will learn: –Freedom exists in design mappings and how to exploit –Formulate & abstract optimization problems –How to decompose large problems –Techniques for attacking these problems –Traditional design objectives (e.g. E,D,A, map time.) –Canonical representations for problems –Evaluate the quality of a design mapping –Implement design automation algorithms Penn ESE535 Spring DeHon 39

Penn ESE535 Spring DeHon 40 This Class: Technique Toolkit Dynamic Programming Linear Programming (LP, ILP) Graph Algorithms Greedy Algorithms Randomization Search Heuristics Approximation Algorithms SAT

Penn ESE535 Spring DeHon 41 This Class: Decomposition Provisioning Scheduling Logic Optimization Covering/gate-mapping Partitioning Placement Routing Behavioral (C, MATLAB, …) RTL Gate Netlist Layout Masks Arch. Select Schedule FSM assign Two-level, Multilevel opt. Covering Retiming Placement Routing

Penn ESE535 Spring DeHon 42 Student Requirements Reading Class Projects –Will involve programming algorithms –Roughly weekly –Cumulative build toward an overall mapping goal –Choose what you do for final piece Last month –Must do assign/project to pass course Final Exam

Penn ESE535 Spring DeHon 43 Graduate Class Assume you are here to learn –Motivated –Mature –Not just doing minimal to get by and get a grade Not plug-in-numbers and get solution Things may be underspecified –Reason –Ask questions –State assumptions

Penn ESE535 Spring DeHon 44 Materials Reading –Online several on canvas Rest on Xplore, ACM DL, web –Linked from syllabus page –If online, linked to reading page on web; I assume you will download/print/read. –Possible reference texts (on web) Lecture slides –I’ll try to link to web page by 10am you can print

Penn ESE535 Spring DeHon 45 Today’s Big Ideas Human time limiter Leverage: raise abstraction+fill in details Problems complex (human, machine) Decomposition necessary evil (?) Implement semantics –Exploit freedom to xform to reduce costs Dominating effects Problem structure Optimal solution depend on cost (objective)

Penn ESE535 Spring DeHon 46 Questions?

Penn ESE535 Spring DeHon 47 Administrivia Next Lecture W 1/21 (Monday MLK) –Reading on canvas Return Info sheets Feedback – every lecture – Web page – –Policies on web page READ THIS (you are responsible for knowing) –Syllabus linked off page (reading, assign) –Note Piazza group