Page 117 - The Art of Designing Embedded Systems
P. 117

104  THE  ART OF  DESIGNING EMBEDDED SYSTEMS

                       more address lines will toggle), and only then do the read test. Reads will
                       fail if the refresh logic isn’t doing its thing.
                            Though DRAMS are typically specified at a 2- to 4-msec maximum
                       refresh interval, some hold their data for surprisingly long times. When
                       memories were smaller and cells larger, each had so much capacitance that
                       you  could  sometimes  go  for  dozens  of  seconds  without  losing  a  bit.
                       Today’s smaller cells are less tolerant of refresh problems, so a 1- to 2-sec-
                       ond delay is probably adequate.


                            A Few Notes on Sohare Prototyping
                            As a teenaged electronics technician I worked for a terribly under-
                       capitalized  small  company  that  always  spent  tomorrow’s  money  on
                       today’s problems. There was no spare cash to cover risks. As is so often the
                       case, business issues overrode common sense and the laws of physics: all
                       prototypes simply had to work, and were in fact shipped to customers.
                            Years ago I carried  this  same dysfunctional  approach  to my  own
                       business. We prototyped products, of course, but did so leaving no room
                       for failure. Schedules had no slack; spare parts were scarce, and people
                       heroically  overcame  resource  problems.  In  retrospect  this  seems  silly,
                       since by definition we create prototypes simply because we expect mis-
                       takes, problems, and, well. . . failure.
                            Can you imagine being a civil engineer? Their creations-a  bridge, a
                       building, a major interchange-are  all one-off designs that simply must
                       work correctly the first time. We digital folks have the wonderful luxury of
                       building and discarding trial systems.
                            Software, though, looks a lot like the civil engineer’s bridge. Costs
                       and time pressures mean that code prototypes are all too rare. We write the
                       code and knock out most of the bugs. Version  1.0 is no more than a first
                       draft, minus most of the problems.
                            Though  many  authors  suggest developing  version  1.0 of  the  soft-
                       ware, then chucking it and doing it again, now correctly, based on what
                       was learned from the first go-around, I doubt that many of us will often
                       have that opportunity. The 1990s are just too frantic, workforces too thin,
                       and time-to-market pressures too intense. The old engineering adage “If
                       the damn thing works at all, ship it,” once only a joke, now seems to be the
                       industry’s mantra.
                            Besides-who  wants to redo a project? Most of us love the challenge
                       of  making  something  work, but want  to  move on to bigger and better
                       things, not repeat our earlier efforts.
   112   113   114   115   116   117   118   119   120   121   122