Performance, performance, performance…the word was dropped like a Molotov cocktail in the middle of an otherwise ordinary day. A year ago, my company won a large customer who we were excited to bring into our user base because of its complex circuit designs. We knew that the company would help us continue to push the envelope as far as our software was concerned, just as its end product would push the envelope in its industry. It was a win-win for us both and the beginning of a promising partnership.
Then, the bomb dropped. Our new customer reported that our software performance was not good enough to handle its mammoth-sized designs. Customer disillusionment normally occurs after the love affair with sales and marketing has ended and the commitment is sealed by money exchanging hands, but this was a requirement we thought we had already satisfied. Performance is one of the most difficult areas of software and an area where the job is never complete.
This description of a fairly normal tussle between customer and vendor actually has a much deeper set of issues, of which the software only presents one small part. While we work away at pushing the performance envelope, we know we’re always chasing a moving target. By the time we’ve made something sing at lightning speed, a new customer comes along with an even bigger and more complex design. We know it’s coming, so we accept that our efforts to improve software performance will be an eternal race with no finish.
Take a step back and consider the chain of events that leads to this bigger and more complex design that is the subject of the phone call to our headquarter. A company has an electronic product that is successful; a specialized testing machine for airplane communication systems, for example. The company decides that in order to remain competitive in a niche market, it must improve that particular testing machine to handle more tests than just communications systems.
Once the executive decision is made, the new design must be created and tested until it is deemed ready for market. Here lies the first challenge. The company has been turning small revisions of a static product for many years. When the new project begins, the company finds that its engineers don't know how to take the product to the next level.
This is where we find our industry shrinking to a mere handful of people in the population because this company must now hire people with the expertise to execute a sophisticated design revision. As those of us in the EDA industry know, this isn’t merely a process of placing an ad in the local newspaper.
Feelers go out with a few job postings on industry-specific sites, but more often than not, the person hired is found by a friend of a friend who happens to have a friend that is an old acquaintance of the CAD manager. This comfortable little friendship ring is the lifeblood of the entire EDA industry. All of us are connected somehow because we all have an acquaintance in common somewhere. But more and more, that friend of a friend with the right experience level has retired and declines the job offer. The search goes on and on, sometimes for six months or more.
So while my team members have a CAD manager breathing down our necks for better software, that very same manager is struggling with our response to the ever-growing complexity of his designs. We give him better performance in a new software release, and he subsequently has to find the right drivers for our applications. Once he finally finds and hires the engineer to execute the more sophisticated product revision, he must then find the board designer who can also execute a more sophisticated layout design. Not only do both engineer and designer have to have solid experience with a higher-level design, but they must also be adept at using sophisticated software programs. It’s no longer a push-button, connect-the-dots job. The level of knowledge required for laying out a board design is constantly on the rise, and with this higher standard, companies are finding that there are fewer people capable of filling the jobs.
While these two facets of the process – software and engineer/designer – are providing multiple headaches for many people, there is a third variable that creeps into the picture just when the CAD manager thinks he’s finally on his way: hardware. Software performance is improved to handle the complex design; higher-level engineers and designers are put on the project and told to move forward…and suddenly they find that their older computers no longer have the processing power to handle this new project. The engineer and designer first complain that the software is too slow, and we receive yet another phone call from an irate CAD manager telling us that our software is still not satisfactory. But after we have exhausted our efforts improving our software to pristine conditions, we are forced to take a deep breath and calmly ask the manager what kind of hardware he’s running. More often than not, we are in the position of recommending that he add some RAM, maybe consider dual or quad-core processors, and on and on. Once again, we are racing against the ever-expanding envelope and everyone is pointing fingers at each other to get on the ball.
The challenges we face in this industry are never simple enough to blame on one area (Figure 1). We are in a rat race against ourselves, where we are improving our products and supplying the demand at breakneck speed. Software, designer and hardware alike are racing against each other like electrons in a semiconductor. The limits of our capabilities have become our own slow fingers and our tools, not the actual concepts we devise. Just look at the cell phone industry, which builds upon what’s been done before at a pace so fast that the cell phones in our hands are obsolete models before the service contract even expires.
We have transcended the world of the physical and entered the world of the logical, or the intellectual, to the point where our industry is turning out products that are light years more sophisticated than the hand-held slide rule used to create them a mere twenty years ago. We are caught in the beautiful result of free trade and capitalism, and while our challenges cause us headaches and stress, we should proudly accept those headaches as the consequence of operating at such high levels of efficiency. Our industry is faced with so many problems that need solving. However, while we’re solving them, we should not overlook the fact that we are leading the world to new frontiers with each minute effort to improve a product -- to better the software used to design the product, or to hone our own ability to design and manufacture that product. While software vendors, managers and designers point fingers at one another for not keeping up with this exhausting sprint, the very act of singling out one area as a weak link raises expectations across the board. After all, once our software is performing at peak levels, isn’t it now the designer and the hardware that seems slow? PCD&F
Abby Monaco is product manager with Intercept Technology Inc. and can be reached at This email address is being protected from spambots. You need JavaScript enabled to view it.