Wednesday, February 4, 2009

Comfort Zone

I am convinced that one of the major impediments to improvement in the industry is inertia.

Engineers are like much of the rest of the population. The tend to want to stay where they are comfortable. A couple of examples:

I worked for a company in the early 90's that was a full custom house. It became obvious that the time to market requirements would not support that style of design, and so the organization transitioned to standard cell methodology. There was resistance from many in the organization that thought, "This will never work." The leaders who were pushing this new philosophy were demonized in the trenches. Many engineers were drug kicking and screaming into a new design paradigm. Ultimately, the result was a successful product line which could be modified and retargeted much faster than a full custom design.

More recently I was in an organization that built a DDR interface. The design team custom built a bit lane. I suggested that they could save a lot of time if they use an automatic place and route tool to connect the bit lanes. The response was that the would lay it out by hand. Why -- Because they knew how to do it that way. The result: The part taped out. But it took much longer on that interface than necessary. Additionally, the learning that could have taken place in that exercise has been postponed. So, the next time the team works on a similar interface, all the barriers to improved productivity will still be in place. The sort of thinking that took place on that device could ultimately drive that organization into oblivion. Oh, by the way, that part taped out in 2007.

So, in general, processes do not improve unless they have to. Some reasons why they might have to:
  1. It just doesn't work. People don't do the same things at 45 nm that they used to do at 0.5 micron, because the same things just don't work. An aspect of this is the existence of constantly changing requirements. One of the big drivers in the past has been time to market. Speed and power have also been big drivers. After all, necessity is the mother of invention.

  2. Obsolescence. Tools have morphed over the years. I cannot do the same things I did 15 years ago, because the tools have changed. For instance, Design Compiler does not support dc_shell scripts. They have moved to tcl. There was a cry that went out from the design community when this happened, because much of what they were doing became obsolete. But in one way, Synopsys did the industry a great favor, because it forced the industry to revisit how they did things.

  3. Visionary. There is a balance between getting products out the door and trying out new things -- between the grindstone and the ivory palace. An organization needs someone who sees the big picture and pushes the design teams out of their comfort zone. Since I have mostly been a grindstone kind of guy in my career, sometimes the visionary types really irritate me. But the truth is, we need them.

The real trick in all this is to find the balance between reuse and innovation.

No comments: