482005 MAPLDDesign Integrity Concepts Letting Constraints Work For You Proportional Design.

Slides:



Advertisements
Similar presentations
Building Bug-Free O-O Software: An Introduction to Design By Contract A presentation about Design By Contract and the Eiffel software development tool.
Advertisements

FPGA (Field Programmable Gate Array)
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Standard Interfaces for FPGA Components Joshua Noseworthy Mercury Computer Systems Inc.
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Interaksi Manusia Komputer – Marcello Singadji. design rules Designing for maximum usability – the goal of interaction design Principles of usability.
System Integration Verification and Validation
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
Object-Oriented Software Development CS 3331 Fall 2009.
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
Alternate Software Development Methodologies
Lecture 12 Page 1 CS 111 Online Devices and Device Drivers CS 111 On-Line MS Program Operating Systems Peter Reiher.
CS540 Software Design Lecture 1 1 Lecture 1: Introduction to Software Design Anita S. Malik Adapted from Budgen (2003) Chapters 1.
Unit 251 Implementation and Integration Implementation Unit Testing Integration Integration Approaches.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Chapter 13 Embedded Systems
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
SE 555 – Software Requirements & Specifications Introduction
Chapter 7 design rules.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Introduction to Systems Analysis and Design
Essence and Accident in Software Engineering By: Mike Hastings.
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
Managing Software Quality
Nature of Software Design
Software System Engineering: A tutorial
9/14/2012ISC329 Isabelle Bichindaritz1 Database System Life Cycle.
MAPLDDesign Integrity Concepts You Mean We’re Still Working On It? Sustaining a Design.
Foundation Express The HDL Value Leader. Xilinx Foundation Express The HDL Value Leader  Complete HDL Development Environment Best in Class EDA Tools.
52005 MAPLDDesign Integrity Concepts Consistent Terminology, Consistent Results Introduction and Definitions.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
1/26/2004TCSS545A Isabelle Bichindaritz1 Database Management Systems Design Methodology.
MAPLDDesign Integrity Concepts What Do You Mean It Doesn’t Do What We Thought? Validating a Design.
Jan. 29, 2002Grand Challenges in Simulation Issues in Enhancing Model Reuse C. Michael Overstreet Richard E. Nance Osman Balci.
Methodology - Conceptual Database Design
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Design.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
AMB HW LOW LEVEL SIMULATION VS HW OUTPUT G. Volpi, INFN Pisa.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CSE 303 – Software Design and Architecture
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
Chapter 7 What Can Computers Do For Me?. How important is the material in this chapter to understanding how a computer works? 4.
Winter 2007SEG2101 Chapter 31 Chapter 3 Requirements Specifications.
Software Engineering Principles Practical Advice and Steps for Managing Your Project.
Software Requirements Specification Document (SRS)
12005 MAPLDDesign Integrity Concepts MAPLDDesign Integrity Concepts Unit Agenda Consistent terminology, consistent results – Introduction and definitions.
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Systems Analyst (Module V) Ashima Wadhwa. The Systems Analyst - A Key Resource Many organizations consider information systems and computer applications.
03/30/031 ECE Digital System Design & Synthesis Lecture Design Partitioning for Synthesis Strategies  Partition for design reuse  Keep related.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
System on a Programmable Chip (System on a Reprogrammable Chip)
 System Requirement Specification and System Planning.
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Design rules.
Software Testing.
SYSTEM ANALYSIS AND DESIGN
Chapter 1: Introduction
Xilinx CPLD Fitter Advanced Optimization
Issues in Enhancing Model Reuse
332:437 Lecture 3 Hardware Design Methodology and Advanced Logic Design Hardware design.
Software Requirements Specification (SRS) Template.
Chapter 7 design rules.
Chapter 7 design rules.
Chapter 7 design rules.
Digital Designs – What does it take
Chapter 7 design rules.
Presentation transcript:

MAPLDDesign Integrity Concepts Letting Constraints Work For You Proportional Design

MAPLDDesign Integrity Concepts Agenda – Proportional Design Conceptual background Types of constraints Examples The proportional design mindset Summary

MAPLDDesign Integrity Concepts Conceptual Background Three parts to solving a problem: –Need, solution set, constraints All parts have a role to play in the solution Ignoring any of them will lead to problems

MAPLDDesign Integrity Concepts Conceptual Background (cont.) Example –Need:means of conveyance to work –Solution set: Skateboard, bicycle, bus, jogging shoes, mid-size sedan, luxury car, helicopter –Constraints: Distance (6 miles), $, not on bus route, $, not in very good shape, $ –Solution: 1992 Honda Accord (120 kmiles, 4 k$) –The constraints guide selection of the solution from the solution set The particular solution is not necessarily - –The cheapest (roller skates) –The most desired (Lexus LS400) –What is perceived as best for society (bus) But … the best overall fit to the needs

MAPLDDesign Integrity Concepts Conceptual Background (cont.) Definitions –Constraint: the state of being checked, restricted, or compelled to avoid or perform some action (AH) –Proportional: corresponding in some degree or intensity (AH) Proportional design is design that results in a product “sized” appropriately to the needs and restrictions of the specification The concept of proportional design: –Accepts the reality of constraints –Attempts to optimize the solution given the constraints –Accepts that the constraints provide benefits (more later) More efficient designs More thorough designs More correct designs Caveat – All other things being equal

MAPLDDesign Integrity Concepts Types of Constraints External (mass, power, cost, quality) Internal –Derived (packaging, architecture, component availability, maximum clock speed) –Self-imposed Design rules/guidelines (free space, clock use, logic structure, HDL language) Documentation style (pre-design, post design) Component acceptability (maturity of part, limited use of various features

MAPLDDesign Integrity Concepts Examples (1) Problem: provide decoding logic for memory map –0-3FFF = SRAM; FFF = Peripheral; E000-FFFF = PROM Constraint: use minimum amount of logic But what about … –Unused addresses, future expansion, etc. Doesn’t matter – given the constraints

MAPLDDesign Integrity Concepts Examples (2) Problem: provide all combinational / sequential logic for the RADARSAT ACP Constraint: Only low density high speed logic available (16X8 PALs, MSI/SSI logic) What was forced by the constraint? –Careful mapping of peripherals into available address space –Careful partitioning between: Programmable logic and MSI/SSI MSI/SSI functionality –Efficient data bus partitioning (tri-state enable issues) –Special attention to component delays at the gate level

MAPLDDesign Integrity Concepts The Proportional Design Mindset Constraints inevitably foster attention to detail (creativity “inside the box”) –With respect to methodology –With respect to level of planning –With respect to implementation Attention to detail is of inherent value because it produces carefully structured, well-thought out designs –Improved up-front correctness –Decreased design post-processing time (simulation, verification, validation, lab time) –Efficient designs that meet the stated requirements –Increased reliability Therefore, constraints are welcomed, whether externally imposed or self-imposed

MAPLDDesign Integrity Concepts The Proportional Design Mindset (cont.) Examples of self-imposed constraint –Ignoring achievable flexibility (when not necessary) –Removing non-specified capability –Avoiding gratuitous cleverness (especially with abstract design techniques) –Rejecting brute force solutions without analysis

MAPLDDesign Integrity Concepts The Proportional Design Mindset (cont.) Characteristics of the right mind set –Planning before starting –Reviewing before finalizing –Simplifying ruthlessly –Making the design do only what it must –Viewing resources as precious commodities to be used only to the extent needed –Understanding the implication of the design’s level of abstraction –Being satisfied with the result

MAPLDDesign Integrity Concepts The Proportional Design Mindset (cont.) Why aren’t self-imposed constraints more common? –They aren’t absolutely essential because we have: Lots of logic space [FPGAs, ASICs] Lots of memory space [DOS file systems, complicated operating systems] Lots of bandwidth [fast data busses, general purpose communications protocols] –They don’t match the current paradigm Flexibility is all-important [re-use, re-configure, adapt] Specifications are malleable late in the game Software changes, why can’t hardware? We can catch problems in simulation and reprogram the part –They aren’t fun –We don’t train people to value constraints and work within them This is unfortunate because constraints can make our job easier without degrading the end product

MAPLDDesign Integrity Concepts Summary The proportional design mindset is important because it: –Focuses on fulfilling needs, not wants [specification orientation] –Deepens understanding of the final design [ownership oriented] –Avoids unnecessary effort [efficiency oriented] –Fosters simplicity that aids verification and validation [quality oriented]