VHDL Synthesis for High

Download Report

Transcript VHDL Synthesis for High

Consistent Terminology,
Consistent Results
Introduction and Definitions
2005 MAPLD
5
Design Integrity Concepts
Agenda –
Introductions and Definitions
• Design integrity – A working definition
• Why is this important?
– A tale of two designs
– Has anything changed?
– Why should I care?
• The miracle cloud
• The alternative
– Overview
– Implications
– Additional Definitions
• Summary
2005 MAPLD
6
Design Integrity Concepts
Definition and Goal
• Design – The invention and disposition of the
forms, parts, or details of something according to a
plan. (AH dictionary online)
• Integrity – The state of being unimpaired;
Soundness; The quality or condition of being
whole or undivided; completeness (AH)
• This seminar is intended to talk about techniques
and issues that ensure the soundness and
completeness of both the end product and the
means used to produce it.
2005 MAPLD
7
Design Integrity Concepts
Design 1 – Radarsat 1 ACP
2005 MAPLD
8
Design Integrity Concepts
Radarsat 1 ACP Overview
• Program dates: late 1990 – late 1992
• Specifications
– Processor: 8 MHz 80386/80387
– Memory:128 k x 8 SRAM, 128kx8 EEPROM, 16k x 8
PROM
– Interfaces: A/D (16), D/A (4-12), Synchronous serial (3
input, 3 output), RS-232 GSE
– Function: Attitude control processor for the RADARSAT1
satellite
– Logic Implementation MSI logic + PALs (16L8, 16R6,
16R8)
• Additional functions (cross-strap, control) external
2005 MAPLD
9
Design Integrity Concepts
PAL Reminder
2005 MAPLD
10
Design Integrity Concepts
Design 2 - Command Telemetry
Board (CTB)
2005 MAPLD
11
Design Integrity Concepts
CTB Overview
• Program Dates: early 2001 – late 2003
• Specifications:
– Processor: RTX2010 (16 MHz)
– Memory: 4M x 8 (random), various FIFOs (16k x8) as necessary
– Interfaces
•
•
•
•
•
MIL-STD-1553B
Synchronous Serial (command / telemetry)
Analog input
High-level discrete (output)
Low-level discrete (input / output)
– Functionality: S/C command/telemetry (level 0 and active)
– Logic Implementation: 4 54SX32S FPGAs
• Additional resources (in same box): RAD 750, Mass
Memory, Instrument Interface Card
2005 MAPLD
12
Design Integrity Concepts
What’s Changed?
• Capability / Complexity
• Logic Density
• Specificity
– RADARSAT (1 small specification with interface focus)
– CTB (1 large specification with interface, s/w, operations focus)
• Software Centricity
• Initial Errors
– RADARSAT: 3 jumpers; 1 PAL design change
– CTB: 14 FPGA revisions
• 2 spec change
• 5-6 mistakes
• 6-7 data dependency
2005 MAPLD
13
Design Integrity Concepts
What’s Not Changed?
•
•
•
•
Overall program schedules
Proportional budget
Expectation of correctness
Pain from mistakes
2005 MAPLD
14
Design Integrity Concepts
What Explains the Difference?
• Engineers aren’t as capable? – Insulting!
• Everything is just more complex? – Copout!
• Methodology?
– Methodology hasn’t changed
• Always inadequate, we just got lucky
• Adequate for old designs, no longer adequate
– Methodology has changed
• Used to be adequate, but we lost the recipe
• Design philosophy of systems has changed?
– Predicated on maximum flexibility
– Expectation of extreme complexity
– Over-specification – almost impossible to meet
2005 MAPLD
15
Design Integrity Concepts
What Do These Examples Illustrate?
• The incidence of initial correctness for designs seems to be
decreasing
– Design changes seem to be more common
– Problems late in the verification/validation cycle seem to be more
frequent
• Perhaps a combination of the factors presented explains
this, but …
– Desired complexity is not going to decrease
– Budgets are not going to get bigger
– The expectation of excellence isn’t going to go away
• The only solution is to develop and improve a consistent
methodology for implementing robustly designed products
– Based on basic principles
– Applicable to a variety of conditions
2005 MAPLD
16
Design Integrity Concepts
Why Should I Care?
• Why do I work?
– Self-actualization (fun, monetary reward, interest)
• Why do people want us to work for them?
– They need what we produce
• What do people want engineers (especially in
Aerospace) to produce?
– A quality product that satisfies the customer’s needs
• How do they want us to produce such a product?
– Consistently and efficiently
2005 MAPLD
17
Design Integrity Concepts
The Layman’s View –
The Miracle Cloud
2005 MAPLD
18
Design Integrity Concepts
The Miracle Cloud Method
• Note that too many engineering schools teach this
approach without meaning to
• Advantages to the miracle cloud method
– Total creative freedom
• Disadvantages to the miracle cloud method
– Product quality is variable
• Team makeup dependent
• Team mood/morale dependent (Monday morning car)
• Luck dependent
– Product is not produced in a repeatable manner
– Product is not produced in an efficient manner
• Result
– Quality low
– Customer Satisfaction Low
2005 MAPLD
19
Design Integrity Concepts
How Do We Replace the
Miracle Cloud?
• Provide structure to the development effort
• Evaluate the effort and the product
produced
• Improve the effort and the product
• Repeat
2005 MAPLD
20
Design Integrity Concepts
Definitions of Importance
• From Q9000-2000
• Process – A set of interrelated and
interacting activities which transforms
inputs to outputs [in our case ideas to
devices]
• Product – The result of a process
2005 MAPLD
21
Design Integrity Concepts
Implications From These Definitions
• If we want a consistent product, we must have a
consistent process
• If we want to improve a product, we must improve
the process
• If our company has no (or inadequate) process and
we must produce a quality product, then we must
establish a process [personal responsibility]
• Developing, imposing, and improving a process is
not an end (in and of itself) it is only a means to
an end
2005 MAPLD
22
Design Integrity Concepts
A Model for Discussing
the Design Process
2005 MAPLD
23
Design Integrity Concepts
Notes on the Model
• Feedback / iteration are not shown for clarity
• Model may be recursive
– Board development process includes FPGA requirement definition,
FPGA development, instantiation, etc.
– Board development process includes the FPGA validation product
• Successes and failures are cumulative
– Good requirements + successful development => successful
instantiation
– Bad requirements + failed development => failed instantiation
• Complexity multiplies
– Complex requirements increase design complexity which, in turn,
increases verification complexity
• Processes are absolute gates to the next stage of development
2005 MAPLD
24
Design Integrity Concepts
Implications From the Model
• All processes must be addressed at all levels of design
[there are no shortcuts!]
– Does not imply same formality at all levels
– Does imply same rigor at all levels
• Up front work on requirements is essential!
– Must provide adequate time and money
– Must gain team buy-in to the process*
– Benefits compound throughout the rest of the activities
• Simplicity is an essential virtue
– Complexity inevitably multiplies
• A product is not qualified until both verification and
validation are complete
2005 MAPLD
25
Design Integrity Concepts
Additional Useful Definitions
(courtesy of Q9000-2000)
• Specification – A document* stating requirements, needs, or
expectations that are obligatory
• Quality – The degree to which a set of inherent characteristics fulfill
requirements
• Customer satisfaction – Customer’s perception of the degree to which the
customer’s requirements have been fulfilled
• Verification – Confirmation, through the provision of objective evidence,
that specified requirements have been fulfilled
• Validation – Confirmation, through the provision of objective evidence,
that the requirements for a specific intended use or application have been
fulfilled
• Objective evidence – Data supporting the existence or verity of something
• Continual Improvement – recurring activity to increase the ability to
fulfill requirements
• Note the importance of Requirements
2005 MAPLD
26
Design Integrity Concepts
Summary
• I have no assurance that my product will have consistent
quality without:
– Well-defined requirements
– A well planned approach to implementing the requirements
– A clearly defined plan for verification and validation of the
requirements
– The ability to improve the process that produces the product
• Without quality product, customer satisfaction is
impossible
• Without customer satisfaction, I won’t work!
• Therefore, I must care about ensuring design integrity
2005 MAPLD
27
Design Integrity Concepts