ECE 491 Senior Design I Lecture 14 System

  • Slides: 38
Download presentation
ECE 491 - Senior Design I Lecture 14 - System Design & Project Mgt.

ECE 491 - Senior Design I Lecture 14 - System Design & Project Mgt. Fall 2008 Reading: S&R Ch. 4 - System Design, S&R Ch. 5 - Project Management Colwell Ch. 2 - The Concept Phase, Colwell Ch. 3 - The Refinement Phase Quiz Friday 10/5: Sequential Verilog, ASM Diagrams, Design Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania 18042 nestorj@lafayette. edu ECE 491 Fall 2007 Lecture 10 - System Design 1

Where we are } Last Time: } Data Communications } Asynchronous Serial Transmission }

Where we are } Last Time: } Data Communications } Asynchronous Serial Transmission } ASM Diagrams } Today: } System Design } Project Management } P 6 System Design / Project Management ECE 491 Fall 2007 Lecture 10 - System Design 2

Review: S&R Design Methodology } Requirements analysis } Creating a detailed problem specification }

Review: S&R Design Methodology } Requirements analysis } Creating a detailed problem specification } Defining what is needed for completion } System Design } Determine “how problem will be solved” } Create a system specification that describes design at a functional level } Result: System specification } Detailed Design } Create designs for blocks in system design } Debug and verify individual blocks } System Integration and Test } Combine design blocks } Test complete system ECE 491 Fall 2007 Lecture 10 - System Design Customer needing solution to a problem Requirements analysis System design Detailed design System Integration And Test Properly functioning system S&R Figure 2. 4 3

The System Design Process Requirements Specification Development of Concepts Reject Unworkable Concepts Analysis Synthesis

The System Design Process Requirements Specification Development of Concepts Reject Unworkable Concepts Analysis Synthesis System Specification ECE 491 Fall 2007 Lecture 10 - System Design S&R Figure 4. 4 4

Key Steps - Conceptualization } Goal - develop “hazy perception of a solution” }

Key Steps - Conceptualization } Goal - develop “hazy perception of a solution” } Sources of concepts } Draw from solutions to similar problems } Come up with original solution based on prior experience } Brainstorming sessions - see Colwell Ch. 2 ECE 491 Fall 2007 Lecture 10 - System Design 5

Key Steps - Synthesis } Goal - “bring structure to the initial concept”; provide

Key Steps - Synthesis } Goal - “bring structure to the initial concept”; provide detail needed for analysis & implementation } Block diagram as the key } Start out with a “rough sketch” } Add detail as design proceeds } Refine as design proceeds ECE 491 Fall 2007 Lecture 10 - System Design 6

Block Diagram Guidelines } Each block should be implementable with a single technology }

Block Diagram Guidelines } Each block should be implementable with a single technology } Common functions should be grouped into one block } Blocks should be defined to simplify interfaces } Avoid feedback loops if possible } Specify assertion levels in digital interfaces } Specify characteristics (e. g. , impedance, frequency) of analog & RF interfaces } Anticipate difficulty in timing and sequencing of interface signals ECE 491 Fall 2007 Lecture 10 - System Design 7

Example - Flicker Analyzer } Initial Block Diagram Between +/- 2. 5 Voltage divider

Example - Flicker Analyzer } Initial Block Diagram Between +/- 2. 5 Voltage divider by 75 Antialiasing filter S A/D input range Is 0 to 5 volts 8 -bit A/D converter v(t) Neutral Common Ground 200 Hz square clock for sampling RS 232 19. 2 kbps no parity To the serial port of the PC Oscillator Chassis S&R Figure 4. 8 ECE 491 Fall 2007 Lecture 10 - System Design 8

Example - Flicker Analyzer } Refined Block Diagram 2. 5 +/- 0. 18 Voltage

Example - Flicker Analyzer } Refined Block Diagram 2. 5 +/- 0. 18 Voltage divider 75 +/-. 5% Antialiasing filter 1 +/-. 5% S 16 -bit bus 16 -bit A/D converter v(t) Neutral Common 200 Hz square clock for sampling Oscillator RS 232 3 bytes per sample Ground Chassis S&R Figure 4. 9 ECE 491 Fall 2007 Lecture 10 - System Design 9

Key Steps - Analysis } Goal - determine if synthesized system will meet performance

Key Steps - Analysis } Goal - determine if synthesized system will meet performance and cost objectives } Secondary goal - determine risk of completing design } Tools for analysis } Mathematical models } Simulations - Verilog, Matlab, Simulink, etc. } Lab-based prototype ECE 491 Fall 2007 Lecture 10 - System Design 10

End Product - The System Specification } } } Summary of the Concept Annotated

End Product - The System Specification } } } Summary of the Concept Annotated Block Diagram, I/O specification Functional descriptions of blocks System description System analysis - results of analysis, simulation, measurements ECE 491 Fall 2007 Lecture 10 - System Design 11

System Design on the P 6 } A Data-Driven Culture } The problem: intuition

System Design on the P 6 } A Data-Driven Culture } The problem: intuition is often wrong and differs widely between engineers } The solution: design and conduct small experiments and collect data about issue in question } A tradeoff } Too much analysis will impede progress } Too little will result in a poor design ECE 491 Fall 2007 Lecture 10 - System Design 12

P 6 Analysis Tools } The Data Flow Analyzer (DFA) - a tool to

P 6 Analysis Tools } The Data Flow Analyzer (DFA) - a tool to evaulate parallelism } Input: execution traces, constraints } Output: expected speedup } RTL Simulator ECE 491 Fall 2007 Lecture 10 - System Design 13

Project Management - What is a Project? } } } Quantifiable piece of work

Project Management - What is a Project? } } } Quantifiable piece of work Defined start and end Expectation of specific outputs and deliverables Measurable objectives Limited Resources (people, materials, equipment) Often complex, uncertain, and/or urgent ECE 491 Fall 2007 Lecture 10 - System Design 14

Elements of Project Management } Planning } } Define work to be done Develop

Elements of Project Management } Planning } } Define work to be done Develop schedule to complete work Develop budget Specify needed resources (materials, people, equipment) } Monitoring } Keep track of project } Determine whether deadlines will be met } Control } Shift resources between tasks } Modify plan to optimize progress ECE 491 Fall 2007 Lecture 10 - System Design 15

The Project Plan } } Definition of Work Schedule Resource requirements Cost estimate ECE

The Project Plan } } Definition of Work Schedule Resource requirements Cost estimate ECE 491 Fall 2007 Lecture 10 - System Design 16

The Planning Process Design Process Planning Process System design Preliminary plan Define work Develop

The Planning Process Design Process Planning Process System design Preliminary plan Define work Develop schedule Project plan Estimate resources Detailed design Design Mgt. Estimate costs S&R Fig. 5. 2 ECE 491 Fall 2007 Lecture 10 - System Design 17

Definition of Work } Use system design, block diagram as info source } Develop

Definition of Work } Use system design, block diagram as info source } Develop a list of tasks to be completed } } } Describe the deliverables of each task Document any needed inputs Specify completion date needed (“milestone”) Estimate duration Estimate resources needed Determine precedence w. r. t. other tasks } Example: See S&R Tables 5. 1 - 5. 3 ECE 491 Fall 2007 Lecture 10 - System Design 18

Scheduling } Goal: determine order in which tasks are performed } Scheduling diagrams }

Scheduling } Goal: determine order in which tasks are performed } Scheduling diagrams } Network diagrams } Bar Charts (Gantt Charts) ECE 491 Fall 2007 Lecture 10 - System Design 19

Network Diagram } Activity on Arrow (AOA) Start System Design (3) 0 End Main

Network Diagram } Activity on Arrow (AOA) Start System Design (3) 0 End Main board (4) Integrate and test(1) Power supply (1) 3 7 Finalize (1. 5) 8 Prototype (1. 5) 9. 5 1 Packaging (3) S&R Fig. 5. 4 ECE 491 Fall 2007 Lecture 10 - System Design 20

Network Diagrams } Activity on Node (AON) 2. 0 4. 0 Main board 3

Network Diagrams } Activity on Node (AON) 2. 0 4. 0 Main board 3 0 7 1. 0 3. 0 System Design 0 0 3 3. 0 2. 5 Pwr supply 3 3. 0 4 5. 0 1. 0 Integrate & Test 7 0 8 6. 0 1. 5 Finalize 8 0 9. 5 7. 0 1. 5 Prototype 9. 5 0 11 4. 0 3. 0 Packaging 3 1. 0 6 Task no. Start Week Elapsed Time. 8. 0 11. 0 Packaging 0 0 11 End Week Slack Time ECE 491 Fall 2007 Lecture 10 - System Design S&R Fig. 5. 5 21

Bar Charts (Gantt Charts) 01 01 08 15 22 29 06 13 20 27

Bar Charts (Gantt Charts) 01 01 08 15 22 29 06 13 20 27 03 10 17 1. 0 System design 2. 0 Main board design 3. 0 Power supply design 4. 0 Packaging design 5. 0 Integrate & test 6. 0 Finalize design 7. 0 Construct prototypes 8. 0 Project management Start Finalize System Design Complete Design End Acceptance Signoff Test S&R Fig. 5. 7 ECE 491 Fall 2007 Lecture 10 - System Design 22

Scheduling Tools } Microsoft Project } Primavera } Gantt. Project – Open Source Java

Scheduling Tools } Microsoft Project } Primavera } Gantt. Project – Open Source Java program (available at ganttproject. sourceforge. net) ECE 491 Fall 2007 Lecture 10 - System Design 23

Gantt. Project - Gantt Chart View ECE 491 Fall 2007 Lecture 10 - System

Gantt. Project - Gantt Chart View ECE 491 Fall 2007 Lecture 10 - System Design 24

Gantt. Project - Network Diagram View ECE 491 Fall 2007 Lecture 10 - System

Gantt. Project - Network Diagram View ECE 491 Fall 2007 Lecture 10 - System Design 25

Perspective on Project Planning Tools } Advantages } Useful for project planning • Establishing

Perspective on Project Planning Tools } Advantages } Useful for project planning • Establishing a sequence of events • Planning resource needs • Estimating schedule time } Useful for project tracking • Identifying who’s on the critical path • Identifying slack } Useful for communication • Between members of project team • Between project and upper management } Pitfalls } Dealing with uncertainty (especially in development) } Dealing with overly optimistic (or pessimistic) estimates } Overhead of keeping chart up to date ECE 491 Fall 2007 Lecture 10 - System Design 26

Cost Estimation } Personnel } Direct costs - Wages } Indirect costs (Overhead) –

Cost Estimation } Personnel } Direct costs - Wages } Indirect costs (Overhead) – Benefits, facilities costs, supporting departments, etc. } } Lab, shop, and other internal facilities Outside services and facilities Supplies and materials More details in S&R Section 5. 5 ECE 491 Fall 2007 Lecture 10 - System Design 27

Managing a Project } } } Performance Monitoring Task Progress Schedule Status Budget Status

Managing a Project } } } Performance Monitoring Task Progress Schedule Status Budget Status Reporting ECE 491 Fall 2007 Lecture 10 - System Design 28

P 6 System Design } Concept } } Identify a number of possible solutions

P 6 System Design } Concept } } Identify a number of possible solutions Use analysis to evaluate proposed solutions Establish a team Set performance targets } Refinement } Choose a specific solution as Plan of Record (POR) } Establish methods for managing change (ECOs) } Establish methods for assuring product quality (verification) ECE 491 Fall 2007 Lecture 10 - System Design 29

Concept Phase: Success Factors } Clear Goals } P 6 primary goal: performance }

Concept Phase: Success Factors } Clear Goals } P 6 primary goal: performance } Challenge: communicating goals to all team members } The Right People } Senior leadership; new hires } Making assignments to match abilities } Providing leadership to new hires } Creating an environment for brainstorming } Establishing a “data-driven culture” ECE 491 Fall 2007 Lecture 10 - System Design 30

P 6 Design Team - Organization Colwell Fig. 2. 3, p. 36 ECE 491

P 6 Design Team - Organization Colwell Fig. 2. 3, p. 36 ECE 491 Fall 2007 Lecture 10 - System Design 31

P 6 Organization - Additional Notes } The importance of physical proximity } Place

P 6 Organization - Additional Notes } The importance of physical proximity } Place designers working on same unit in adjacent cubicles } Place design groups on adjacent units nearby - cubicle floorplan mimics chip floorplan! } Place architects in center to avoid “us vs. them” } Bad idea: separating architects into a long-range R&D group ECE 491 Fall 2007 Lecture 10 - System Design 32

Refinement Phase: Success Factors } Handling the Nonquantifiable } Not all design decisions can

Refinement Phase: Success Factors } Handling the Nonquantifiable } Not all design decisions can be quantified } Example: adding multiprocessor support to P 6 } Careful consultation with management, marketing needed } Managing New Perspectives } Validation team } Product engineering } Planning for Complexity } Recruit expertise you don’t have (e. g. , multiprocessing) } Anticipate time (and resources) needed for unresolved conceptual issues ECE 491 Fall 2007 Lecture 10 - System Design 33

Change Management in the POR } P 6 POR: a “red binder” } Key

Change Management in the POR } P 6 POR: a “red binder” } Key challenges: } Updating the POR } Disseminating change to team } Avoiding political strife over control of POR ECE 491 Fall 2007 Lecture 10 - System Design 34

Engineering Change Orders } An approval process for design changes } Sources of change:

Engineering Change Orders } An approval process for design changes } Sources of change: } Management and marketing } Performance analysis } Validation } Managing ECOs } } Establish central tracking of proposed, approved ECOs Communication e. g. via email system Importance of timely decisions Idea: place Plan of Record under ECO control ECE 491 Fall 2007 Lecture 10 - System Design 35

ECO Questions } } } When does project go under “ECO control”? What parts

ECO Questions } } } When does project go under “ECO control”? What parts of design effort require ECOs? Whose signatories are on the ECO sign-off list? How can process be kept timely? How do resolved ECOs become visible to project? Who decides on the “need to know” for outside (but related) projects and what process ensures inclusion and notification? ECE 491 Fall 2007 Lecture 10 - System Design 36

Communicating Design Ideas } Initial approach: presentations from architects } Followup: collection of videotaped

Communicating Design Ideas } Initial approach: presentations from architects } Followup: collection of videotaped presentations } Focus groups of design team members ECE 491 Fall 2007 Lecture 10 - System Design 37

Coming Up } Data Communications (cont’d) } RS-232 Receiver Design } Manchester Code }

Coming Up } Data Communications (cont’d) } RS-232 Receiver Design } Manchester Code } Ethernet } Detailed Design ECE 491 Fall 2007 Lecture 10 - System Design 38