A High-Level Model For Reducing Frustration

Solving unpredictability may be the single worst issue at airports—and in system-level design.

popularity


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.