VHDL Synthesis for High

Download Report

Transcript VHDL Synthesis for High

You Mean We’re Still Working
On It?
Sustaining a Design
2005 MAPLD
85
Design Integrity Concepts
Agenda – Design Sustainability
• Definitions
– Sustainable – Capable of being supported (AH)
– Sustainability – The characteristic of an item
that allows it to be supported
• Why is this important?
• Suggestions for sustainability
• Summary
2005 MAPLD
86
Design Integrity Concepts
Why Sustainability?
• Missions may be multiple decades long
– Flight systems may develop anomalous behavior
– Ground equivalents may need repair
– An understanding of the design is necessary to ensure
mission success
– Original designers will not be available for debugging
• Other critical assignments
• Working in telecon
• Cruising the Pacific
– Sustainable designs allow analysis and correction
without the access to the original designers
2005 MAPLD
87
Design Integrity Concepts
Why Sustainability? (cont.)
• Many designs are derivative
– Reuse of unmodified circuits essential for similar performance in
modified designs
– Acceptable modification depends on creative incorporation of what IS
• Derivation may take many years
– Example – Alice UVS
•
•
•
•
Design 1 – Rosetta (1997-2001)
Design 2 – New Horizons (2002-2005)
Design 3 – LRO (2005-2008)
Design 4 – Juno (2006 - ???)
– Staffing will not be constant
– Human memory will not be precise
• Sustainability ensures an ability to efficiently build on past
successes
2005 MAPLD
88
Design Integrity Concepts
Why Sustainability (cont.)
• You may not be the person who has to make it work
– Staffing is dynamic
• You may quit
• You may get re-assigned
• Somebody with more clout may be needed to satisfy the customer
– Teams produce a product and share debugging
• Test technician
• S/W designer
• I&T team
– Self-interest and common courtesy
• You don’t want 18 questions per day
• Ethics – Do unto others
– Example (ICB)*
2005 MAPLD
89
Design Integrity Concepts
Suggestions for Sustainability
• Remember the dual nature of design input
– The CAD perspective
• Schematic => PCB layout package => circuit board
• HDL => Synthesizer => Fuse file => Programmed FPGA
– The human perspective
• Schematic
– Interrelationships (time, space, connection)
– Debugging tool
– Functionality description
• HDL
– Describes functions and interaction
– Renders constraints understandable
– Ensure Readability!
2005 MAPLD
90
Design Integrity Concepts
Suggestions for Sustainability (cont.)
• Record the design process
– Keep a notebook (type not vital)
– Describe everything of importance
• Why?
– Is this bus used for this function?
– Is this function implemented like this?
– Etc.
• How?
–
–
–
–
–
Do these things talk to one another?
Does this sequential logic work (state diagrams)?
Is the address map decoded?
Are errors handled?
Etc.
2005 MAPLD
91
Design Integrity Concepts
Suggestions for Sustainability (cont.)
• Record the Design Process (cont.)
– Describe (cont.)
• What?
–
–
–
–
–
Signals are needed to perform this function?
Do the waveforms look like?
Timing do I expect to observe?
Changes have I made?
Etc.
• When? – Record chronology
– Provide a way to reproduce what was done
– Make part of permanent project record
– Example – Radarsat 1 Notebook
2005 MAPLD
92
Design Integrity Concepts
Suggestions for Sustainability (cont.)
• Schematics
– Provide an overview of the design
• Schematic table of contents
• Block diagram (hierarchical design if available)
– Provide consistent naming scheme
• Descriptive of signal direction / function / polarity
• Consistent across logic gates and within various blocks
–
–
–
–
Cluster sub-circuits on contiguous pages
Make connections between components explicit
Add comments where necessary for clarification
Remove unused circuitry (for FPGA schematics)
2005 MAPLD
93
Design Integrity Concepts
Suggestions for Sustainability (cont.)
• Don’t:
2005 MAPLD
94
Design Integrity Concepts
Suggestions for Sustainability (cont.)
• Do:
2005 MAPLD
95
Design Integrity Concepts
Suggestions for Sustainability (cont.)
• Help!
2005 MAPLD
96
Design Integrity Concepts
Suggestions for Sustainability (cont.)
• HDL (Must be done from beginning!)
– Provide overall orientation to design
– Provide top-level comments on
• Level of use (top, intermediate, etc.)
• Overall purpose of function / block / module
• Signal function and origination (external and internal)
– Provide operational comments on
•
•
•
•
State machine purpose and configuration (how? why?)
Transition logic (theory and reasoning)
Function of particular sequences
State to control signal translation
– Clarify obscure references
• Remove superseded code (don’t comment out) and explain uncommon
structures
– Improve readability
• Create logical file names
• Minimize file, logic block, function sizes
• Include related functions together (error generation, data interface, basic
function, etc.
2005 MAPLD
97
Design Integrity Concepts
Suggestions for Sustainability (cont.)
Comments?
2005 MAPLD
98
Design Integrity Concepts
Suggestions for Sustainability (cont.)
Header from same design!
(After the fact documentation)
2005 MAPLD
99
Design Integrity Concepts
Suggestions for Sustainability (cont.)
• Post process documentation
– Theory of Operation / Users Manual
• Generate One
• Include
–
–
–
–
Design concept / features
Operational Constraints
Appropriate Uses
Complete Engineering Documentation
• Update, release and correct as necessary
– Create design archive
• Self-consistent and complete
• Place under revision control
• Control changes
2005 MAPLD
100
Design Integrity Concepts
Summary
• Useful designs will be corrected, modified and
evaluated
– FOR A LONG TIME!
– By people besides you
• Sustainability measure must be implemented to
make this happen efficiently
• Sustainability requires
– Adequate conceptual documentation and records
– Clear and readable implementation records
– Finalized and controlled configuration records
• Ensuring sustainability will preserve your legacy
2005 MAPLD
101
Design Integrity Concepts