VHDL Synthesis for High-Reliability Systems

Download Report

Transcript VHDL Synthesis for High-Reliability Systems

Letting Constraints Work For You
Proportional Design
2005 MAPLD
48
Design Integrity Concepts
Agenda – Proportional Design
•
•
•
•
•
Conceptual background
Types of constraints
Examples
The proportional design mindset
Summary
2005 MAPLD
49
Design 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
2005 MAPLD
50
Design Integrity Concepts
Conceptual Background (cont.)
• Example
– Need:
– Solution set:
means of conveyance to work
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
2005 MAPLD
51
Design 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
2005 MAPLD
52
Design 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
2005 MAPLD
53
Design Integrity Concepts
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
2005 MAPLD
54
Design 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
2005 MAPLD
55
Design 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
2005 MAPLD
56
Design 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
2005 MAPLD
57
Design 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
2005 MAPLD
58
Design 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
2005 MAPLD
59
Design 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]
2005 MAPLD
60
Design Integrity Concepts