Title: You Mean We
1You Mean Were Still Working On It?
2Agenda 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
3Why 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
4Why 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
5Why 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
- IT team
- Self-interest and common courtesy
- You dont want 18 questions per day
- Ethics Do unto others
- Example (ICB)
6Suggestions for Sustainability
- Remember the dual nature of design input
- The CAD perspective
- Schematic gt PCB layout package gt circuit board
- HDL gt Synthesizer gt Fuse file gt Programmed
FPGA - The human perspective
- Schematic
- Interrelationships (time, space, connection)
- Debugging tool
- Functionality description
- HDL
- Describes functions and interaction
- Renders constraints understandable
- Ensure Readability!
7Suggestions 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.
8Suggestions 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
9Suggestions 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)
10Suggestions for Sustainability (cont.)
11Suggestions for Sustainability (cont.)
12Suggestions for Sustainability (cont.)
13Suggestions 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 (dont 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.
14Suggestions for Sustainability (cont.)
Comments?
15Suggestions for Sustainability (cont.)
Header from same design! (After the fact
documentation)
16Suggestions 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
17Summary
- 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