1 / 13

Letting Constraints Work For You

Letting Constraints Work For You. Proportional Design. Agenda – Proportional Design. Conceptual background Types of constraints Examples The proportional design mindset Summary. Conceptual Background. Three parts to solving a problem: Need, solution set, constraints

neilh
Télécharger la présentation

Letting Constraints Work For You

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Letting Constraints Work For You Proportional Design

  2. Agenda – Proportional Design • Conceptual background • Types of constraints • Examples • The proportional design mindset • Summary

  3. 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

  4. 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

  5. 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

  6. 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

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

  8. 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

  9. 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

  10. 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

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

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

  13. 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]

More Related