CALTECH CS137 Winter2006 -- DeHon CS137: Electronic Design Automation Day 4: Jan 18, 2006 Concept Generation.

Slides:



Advertisements
Similar presentations
What is Engineering?.
Advertisements

Teaching materials to accompany:
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
TIE Extensions for Cryptographic Acceleration Charles-Henri Gros Alan Keefer Ankur Singla.
Starting Parallel Algorithm Design David Monismith Based on notes from Introduction to Parallel Programming 2 nd Edition by Grama, Gupta, Karypis, and.
CISC 879 : Software Support for Multicore Architectures John Cavazos Dept of Computer & Information Sciences University of Delaware
System Development. Numerical Techniques for Matrix Inversion.
Caltech CS184a Fall DeHon1 CS184a: Computer Architecture (Structures and Organization) Day17: November 20, 2000 Time Multiplexing.
Computes the partial dot products for only the diagonal and upper triangle of the input matrix. The vector computed by this architecture is added to the.
The FSD should have the following information:
Caltech CS184a Fall DeHon1 CS184a: Computer Architecture (Structures and Organization) Day8: October 18, 2000 Computing Elements 1: LUTs.
Outline for Today More math… Finish linear algebra: Matrix composition
CISC 879 : Software Support for Multicore Architectures John Cavazos Dept of Computer & Information Sciences University of Delaware
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 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
Automatic Generation of Customized Discrete Fourier Transform IPs Grace Nordin, Peter A. Milder, James C. Hoe, Markus Püschel Carnegie Mellon University.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 5: January 24, 2007 ALUs, Virtualization…
Establishing corrective norms Session III TEAM WORKSHOP team3.ppt - 1 Team Workshop - Session III  Summary of Brainstorming/Affinity grouping exercise.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Course Instructor: Aisha Azeem
Concept Generation Integrated Product and Process Design ME 475.
Unit 2: Engineering Design Process
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Carolyn Seaman University of Maryland, Baltimore County.
Ergonomics Is the study of how the human form moves at work and at play. Ergonomics must be taken into account when products are being designed, because.
Shad Valley MUN Introduction to Product Design and Development
Teaching materials to accompany:
Process Flowsheet Generation & Design Through a Group Contribution Approach Lo ï c d ’ Anterroches CAPEC Friday Morning Seminar, Spring 2005.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
ATM SWITCHING. SWITCHING A Switch is a network element that transfer packet from Input port to output port. A Switch is a network element that transfer.
CALTECH CS137 Winter DeHon 1 CS137: Electronic Design Automation Day 12: February 6, 2006 Sorting.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Concept Generation Chapter 6 EIN 6392, Summer 2012 Product Design for Manufacturability and Automation.
Agenda Introduction Overview of White-box testing Basis path testing
CALTECH CS137 Spring DeHon CS137: Electronic Design Automation Day 3: April 5, 2004 Concept Generation.
MapReduce Kristof Bamps Wouter Deroey. Outline Problem overview MapReduce o overview o implementation o refinements o conclusion.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)
The E ngineering Design Process Foundations of Technology The E ngineering Design Process © 2013 International Technology and Engineering Educators Association,
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: February 20, 2002 Routing 1.
A Hybrid Design Space Exploration Approach for a Coarse-Grained Reconfigurable Accelerator Farhad Mehdipour, Hamid Noori, Hiroaki Honda, Koji Inoue, Kazuaki.
Fall 2015 ECEn 490 Lecture #8 1 Effective Presentations How to communicate effectively with your audience.
The E ngineering Design Process Advanced Design Applications The E ngineering Design Process Teacher Resource – The First Five Days: Day 2 © 2014 International.
CS425: Algorithms for Web Scale Data Most of the slides are from the Mining of Massive Datasets book. These slides have been modified for CS425. The original.
Software Engineering for Capstone Courses Richard Anderson CSE 481b Winter 2007.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 13: February 6, 2003 Interconnect 3: Richness.
Research Word has a broad spectrum of meanings –“Research this topic on ….” –“Years of research has produced a new ….”
Penn Fall DeHon Senior Design Skills and Advice September 27, 2013 Specification and Concept Generation.
 Creativity is part of being an engineer.  We often start with a single solution to a problem and then pursue it as the only possibility.  Need to.
Caltech CS184 Winter DeHon CS184a: Computer Architecture (Structure and Organization) Day 4: January 15, 2003 Memories, ALUs, Virtualization.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 24: November 5, 2012 Synchronous Circuits.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 11: January 31, 2005 Compute 1: LUTs.
CSE 481b Winter Today  Writing Assignment Update  Final Reflective Statement  Due March 14  750 words  Final Project Presentations  Delivering.
Concept Generation Teaching materials to accompany: Product Design and Development Chapter 6 Karl T. Ulrich and Steven D. Eppinger 2nd Edition, Irwin McGraw-Hill,
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 13, 2013 High Level Synthesis II Dataflow Graph Sharing.
Intro to design1 Intro To Design Systematic Design Process.
CALTECH CS137 Winter DeHon 1 CS137: Electronic Design Automation Day 8: January 27, 2006 Cellular Placement.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 21: November 28, 2005 Routing 1.
Senior DesignSeattle Pacific UniversitySenior Design Design-1 Seattle Pacific University Stages of Engineering Design 1. Identify project and goals 2.
Foundations of Technology The Engineering Design Process
CS137: Electronic Design Automation
Chapter 2 The Process of Design.
Dynamic Programming.
Dynamic Programming.
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
MINGGU KE 9: PROSES DESAIN PRODUK BARU
Foundations of Technology The Engineering Design Process
Foundations of Technology The Engineering Design Process
Advanced Design Applications The Engineering Design Process
Chapter 5 Architectural Design.
Product Design for Manufacturability and Automation
Presentation transcript:

CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 4: Jan 18, 2006 Concept Generation

CALTECH CS137 Winter DeHon Today Specifications/requirements/goals Concept Generation

CALTECH CS137 Winter DeHon Specification Before can start solving –Need to know what your solving Before can evaluate “goodness” –Need to know what trying to accomplish –Priorities

CALTECH CS137 Winter DeHon Quantitative Specification Typically need to –turn vague specification –into something quantifiable/measurable Something concrete

CALTECH CS137 Winter DeHon Specifications More of a trick/challenge for things that don’t have natural metrics –From: Door closes easily –To: Door latches with <5 lbs. of force… –From: reliable –To: 1 failure in 10 9 hours of operation 1 undetected failure …

CALTECH CS137 Winter DeHon Our Specifications [talk about]

CALTECH CS137 Winter DeHon Establish Priorities Which requirement is king? Which have flexibility? –Can tradeoff?

CALTECH CS137 Winter DeHon Establish Targets Acceptable Ranges Ideal Usually Relative to alternatives/competitors

CALTECH CS137 Winter DeHon Our Targets and Priorities [sketch] –Delay in Solution –Area of logic in Solution –Energy of Solution –Reliability of Solution –Runtime of algorithm –Area for hardware engine to solve problem Your problem formulation should capture priorities

CALTECH CS137 Winter DeHon Concept Generation

CALTECH CS137 Winter DeHon Goal of Concept Generation Fully explore design space –Not miss options –Open minds to possibilities –Know what can do Competitors can do

CALTECH CS137 Winter DeHon Components (Outline) Structured/Systematic Approach Partial Solutions Uncertainty/Unknown Documentation

CALTECH CS137 Winter DeHon Non-Atomic Insight Nothing will ever be attempted, if all possible objections must be first overcome. --- Samuel Johnson, 1759.

CALTECH CS137 Winter DeHon Uncertainty “Do you remember what I have taught you? Most intelligent beings prefer to live in certainty than uncertainty. Rather than accept uncertainty, they will discount the input of their own senses. It is through this mechanism that mages manipulate the perception of others.” --- Elric to Galen upon his [Elric's] death Invoking the Darkness, Jeanne Cavelos

CALTECH CS137 Winter DeHon (This slide intentionally left [almost] blank in this copy)

CALTECH CS137 Winter DeHon Concept Generation: Steps Start refined problem specification 1.Clarify/decompose 2.Search –Externally –Internally / brainstorm 3.Explore Systematically 4.Reflect

CALTECH CS137 Winter DeHon Decompose Separate components must solve –Divide and conquer Maybe attack w/ separate passes through process Focus on bottleneck –Critical path/subproblem –Where most risk is Most innovation needed

CALTECH CS137 Winter DeHon Search Externally Literature (standing on the shoulders of giants) –Published / library / IBID –Web –Patents –Pattern Catalog Customers Experts Benchmark related / competitive  Understand state-of-art

CALTECH CS137 Winter DeHon Search Internally/Brainstorm Common bugs: –Reject things too early “Nothing…” quote –Latch onto few ideas Get stuck in own local minima

CALTECH CS137 Winter DeHon Search Internally/Brainstorm Different mode of thinking –“Pattern” of thinking Generate lots of ideas Suspend judgment / no squashing Barr: grow mode / acid mode Find good pieces, incomplete ideas Wishful thinking Comfortable with uncertainty

CALTECH CS137 Winter DeHon Brainstorm Throw out ideas Write them down … draw pictures De-personalize –Name by characteristics not person –Not attacking person/idea –Group ownership –Everyone contribute to debugging Mix-and-match Good science –Find best ideas, avoid NIH

CALTECH CS137 Winter DeHon People and Brainstorming More brains generally good –Maybe limit size of group at a time –Different perspectives good Group ownership of final product –Involve stake holders –Build confidence in conclusion –Get buy in

CALTECH CS137 Winter DeHon Systematic Exploration Parameterized Design Space Concept combination matrix Classification tree Architecture/Pattern Tree Goals: –Find holes –Over-emphasis –Make sure think about all cross products..

CALTECH CS137 Winter DeHon Design Explore for SMVM Transactional SDF GraphStep Organize parallelism? Too big?/Scale? Operator Sharing Communication?Store Data? Complex Op? Topology?Style? Ring Time Mux Local Mem VLIW Compute Managed? C-Slow Cycles? Pipeline

CALTECH CS137 Winter DeHon Reflect …really throughout Comfortable solving problem? –Specification adequate? Process

CALTECH CS137 Winter DeHon Time Permitting

CALTECH CS137 Winter DeHon Design Examples SMVM

CALTECH CS137 Winter DeHon Problem Compute: x=Ab Iterative: b i =x i-1

CALTECH CS137 Winter DeHon Parallelism? Compute: x=Ab 1.Dot products independent 2.Multiplies within dot product independent 3.Sum of dot products associative? Maybe not for floating point

CALTECH CS137 Winter DeHon (Special) Problem Characteristics Matricies can be large –N×N with N in thousands Matrix A is sparse –E.g. < 100 non-zero entries in a row

CALTECH CS137 Winter DeHon Compressed Sparse Row (CSR) matrix representation 1.Remove zeros 2.Concatenate rows 3.Store column indices 4.Store row starting positions Sequential algorithm: Compute dot products top to bottom Iterate over matrix_value, column_index

CALTECH CS137 Winter DeHon What Architecture is Appropriate? Accept DP FP not assoc. –Serialize dot products –  BSP>Data Parallel>GraphStep (SDF)

CALTECH CS137 Winter DeHon Design Explore Transactional SDF GraphStep Organize parallelism? Too big?/Scale? Coarse-Grained Time Multiplexing Fine-Grained Time Multiplexing Common Element Sharing for Regular Graphs Common Operator Sharing for General Graphs Scheduled Operator Sharing Modulo Scheduling Multicontext (physical) Datapath Sizing and Serialization Synthesis Objective Function Tradeoffs Function Unit Binding Sequential vs. Parallel Implementation

CALTECH CS137 Winter DeHon Design Explore Transactional SDF GraphStep Organize parallelism? Too big?/Scale? Coarse-Grained Time Multiplexing Fine-Grained Time Multiplexing Common Element Sharing for Regular Graphs Common Operator Sharing for General Graphs –Homogeneous FP MPY/ADD Scheduled Operator Sharing Modulo Scheduling Multicontext (physical) Datapath Sizing and Serialization Synthesis Objective Function Tradeoffs Function Unit Binding Sequential vs. Parallel Implementation

CALTECH CS137 Winter DeHon Scaling? Accept DP FP not assoc. –Serialize dot products –Share operator for multiple dot products –Scaling: number of dot products/PE

CALTECH CS137 Winter DeHon Design Explore Transactional SDF GraphStep Organize parallelism? Too big?/Scale? Operator Sharing Communication?Store Data?Compute Managed?

CALTECH CS137 Winter DeHon Design Explore Transactional SDF GraphStep Organize parallelism? Too big?/Scale? Operator Sharing Communication?Store Data?Compute Managed? Shared vs. Distributed Memory On-Chip vs. Off-chip? …  on chip block rams

CALTECH CS137 Winter DeHon Design Explore Transactional SDF GraphStep Organize parallelism? Too big?/Scale? Operator Sharing Communication?Store Data?Compute Managed? Topology?Style? Mesh Tree Ring/Bus Configured Packet Switch Time Mux

CALTECH CS137 Winter DeHon Design Explore Transactional SDF GraphStep Organize parallelism? Too big?/Scale? Operator Sharing Communication?Store Data?Compute Managed? Revisit Arch. Decisions Dataflow Sequenced VLIW

CALTECH CS137 Winter DeHon Design Explore Transactional SDF GraphStep Organize parallelism? Too big?/Scale? Operator Sharing Communication?Store Data? Complex Op? Topology?Style? Ring Time Mux Local Mem VLIW Compute Managed? C-Slow Cycles? Pipeline

CALTECH CS137 Winter DeHon Discuss Assumptions Refine/elaborate specification Decompose problem

CALTECH CS137 Winter DeHon Admin Friday –No class –Problem Formulation Due Monday: brainstorming session Wednesday: Nachiket on GraphStep programming