Solving unpredictability may be the single worst issue at airports—and in system-level design.
By Jon McDonald
Earlier this week I was sitting in the airport waiting for my flight
to depart. I was connecting through Atlanta. This happened to be one of the days that Atlanta was receiving heavy rains causing flooding
and occasionally closing the airport.
First the flight to Atlanta was delayed an hour, then two, then three. Meanwhile my connecting flight had been cancelled and I’d been rebooked on a flight the next morning. Finally this connecting flight the next morning was canceled and at this point the airline, which will remain nameless although it should be obvious to anyone who has ever connected through Atlanta, could not get me to my destination in time to make my meeting. Needless to say this was a very frustrating experience that stretched over a number of hours with many changes in the information being communicated and very little confidence in the reliability of the information that was delivered.
Once I calmed down and started thinking about what was really going on, I realized that the largest factor in my “FRUSTRATION” level was the lack of predictability. If I had known earlier in the process what the issues were, I could have explored other options. I could have tried other airlines, or at the very least I could have canceled the trip earlier, gone home and had a relaxing enjoyable evening with my family.
This lack of predictability is a fundamental problem in designing any complex electronic system. Traditional RTL processes do not provide visibility into all of the choices that are being made in the design architecture early enough in the process to allow viable options to be explored. Not that I would ask anyone to admit to this experience, but imagine senior management’s frustration with this lack of predictability in a design project, continually shifting schedules and performance capabilities.
The system we expect to implement, the performance, power consumption and time it will take to develop are largely guesses during the specification phase. Intelligent guesses, informed by experience and history, but guesses nonetheless. By the time we get enough information from the RTL implementation to validate our assumptions it is often too late to make the changes needed to address the issues related to our earlier guesses.
This predictability is exactly the kind of issue that can be addressed with a well-formed system-level design methodology. Start with an abstract model of what you know and what you assume, validate and explore the model and the assumptions, explore the sensitivity of the design to the assumptions, then refine the model through the process, bringing back more detailed information as it becomes available. With this approach we have a better basis for making our design choices and identifying the impact of our choices and assumptions early enough in the process to make the information useful.
Shocking as this may seem, even a frustrating delay at the airport can be viewed as a morality tale for yet another reason to move to high-level design. What’s your opinion?
–Jon McDonald is the technical marketing engineer in Mentor Graphics’ design creation business unit.
Leave a Reply