Friday, December 01, 2006

EDA is Child's Play

One of the more common parts of my job is to figure out why something stopped working, or why it is suddenly producing different (namely worse) results than before, when "nothing's changed". Things like

  • Why is the synthesis tool crashing now when it ran fine before?
  • What changed so that I'm not making area/timing any more?
  • Why is equivalence checking failing now?

For all of these sorts of things, I end up comparing logs, netlists, scripts, etc. I am the tkdiff master! With my eagle eye and understanding of the personalities of EDA tools and companies, it's a sleuthing challenge to find the culprit.

If I tried to explain this to a layman, I'd have to say that part of my job is playing the grown-up version of one of my daughter's favorite games, Spot the Difference. Yes, that's what I went to all those years of college for. :-)


John said...

I've been saying for years that "Perl is the glue in the IC design flow", refering to the fact that for every task not covered by an EDA tool, there is Perl. But I think if I had to pick a second utility, it'd be a tie between tkdiff or my beloved vim (apologies if you're an emacs devotee, I don't want to start a religious war).

philewar said...

Yes, exactly.
Always something has changed otherwise it should not be different. This kind of debugging is really really a head-ache.
My weapon is vimdiff, :)

Sandeep said...

ROFL.... now u know the hidden secret, handed down from one generation of EDA engineers to the next.

All EDA is tkdiff!!