Featured Engineer

Interview with Tim Weaver

Tim Weaver

Tim Weaver - Sr. IC Design Engineer at RTLCores

How did you get into electronics/ engineering and when did you start?

I’m afraid my story is as cliche’ as most other EEs. From the Radio Shack experimenters kits to taking everything in sight apart to see how it worked, I fit the mold of a future engineer from as early as I can remember. A pivotal moment that helped push me into becoming a professional nerd was getting my first TI-81 calculator in high school for math class. I spent way too much time learning to program it and make interesting animations. When I hit college I jumped to the next level and got an HP-48GX to which I gave even more of my attention. I wrote utilities for electronics, games and even a few viruses which I unleashed on my friends.

One thing that really motivates me is someone telling me I CAN’T do something. My first college calculus professor once suggested that maybe I should think about a different field since I wasn’t doing so hot in his horrible class. A few years later I was an official BSEE with a job lined up designing motherboards for an ASIC group inside a larger company. After a couple years of that I realized that I just didn’t like designing PCBs. Having to find the perfect components from a thousand variations of components was driving me crazy and just wasn’t fun. I started learning Verilog from the ASIC team and was hooked designing digital logic for both FPGAs and ICs.

What are your favorite hardware tools that you use?

My favorite tool is without a doubt my MacBook Pro. It is hands down the best Unix workstation I’ve ever had the pleasure of using. In a “startup” of 80 engineers I was the only one who asked for a Mac when I was hired on, and I got one. In one staff meeting when people were quizzing me about my Mac one of my colleagues, whom I worked with previously, yelled “Why do you always have to be different than everyone else?”.

My second favorite hardware tool is the logic analyzer. My mantra is “Stop guessing at what the problem might be and go look!”.

My next favorite tool is, of course, the oscilloscope. It’s almost impossible to really do this job without a good scope close at hand. I’ve had many occasions where I will cross-trigger cascaded oscilloscopes and logic analyzers to find the extremely nefarious bugs.

What are your favorite software tools that you use?

The two most valuable software tools that I use are MacVIM, and the Terminal. Old school Unix methods are still the most productive means to get things done.

OmniGraffle also tops the list of my favorite software tools because it makes it so easy to create beautiful diagrams.

What is the hardest/trickiest bug you have ever fixed?

Digital logic design is almost always just one part of a much larger system which usually includes new PCBs, new processors, new firmware, new software and lots of other people who were in a hurry to get things done. The most complicated bug I remember was occurring on a Pentium III motherboard I designed that had (at the time) a giant Virtex FPGA which was loaded with a custom chipset my group was working on. The thing would boot Windows NT all the way and then lock up hard. Was it the custom BIOS, the PCB or the logic? Using two 64-bit wide logic analyzers configured as one device and several oscilloscopes connected to various sections of the board, we could trigger on the lack of activity that happened sometime after the actual error occurred. It required the deepest memory logic analyzer we could get to capture the actual event that caused the failure way down the line. We wrote post-processing scripts in PERL to decode the various buses that we were monitoring looking for abnormalities in the protocol and/or memory accesses. The setup was much more interesting than the bug which turned out to be a PCI protocol error in our chipset design that took about 3 seconds to fix once we knew what was going on.

What is on your bookshelf?

The last couple of years I have been writing logic for audio DSP, so my book collection reflects that. I’ve got three books on the subject:

  • Digital Filter Design – T.W. Parks and C.S. Burrus
  • Introduction to Digital Filters with Audio Applications – Julius O. Smith III
  • Theory and Application of Digital Signal Processing – Lawrence R. Rabiner – Bernard Gold

Two books that I love and are always close by:
High-Speed Digital Design A Handbook of Black Magic – Howard Johnson and Martin Graham and Reinforcement Learning – Richard S. Sutton and Andrew G. Barto

For fun recreational reading I am on my second time through the Peter F. Hamilton Commonwealth Saga series Pandora’s Star and Judas Unchained.

Do you have any tricks up your sleeve?

Don’t guess at what the problem might be. Go look! It seems that many would rather ponder all the possible reasons for a problem instead of just taking the time to instrument the system and see what’s going on.

What has been your favorite project?

A little startup called AudioMojo where I was one of the first two ASIC guys hired. We went from an idea about how to do very high quality wireless audio to a working prototype system in less than 8 months. We had a small team and were very focused on what needed to be done and we did it.

Do you have any note-worthy engineering experiences?

The most interesting experience was the time when I was testing out some new hardware that I had just connected to a compact PCI backplane. I hit the power switch and swiveled my chair around to watch the monitor as the system came up. A few seconds later I noticed some dark black clouds of smoke enter my peripheral vision. I quickly looked over and saw that the top corner of the board was pouring out smoke like a tire fire. There was a bright red glow just below where the smoke was coming from which was obviously a very fat PCB trace that was drawing a lot of current. I shut the board down and noticed that someone had connected a high-power resistor between two pins on the backplane which was shorting the power supply through the fat trace on the board. Within 30 seconds the room started filling with panicked engineers drawn in by the awful smell of burning fiberglass wondering if their projects were on fire.

What are you currently working on?

At the day job I’m consumed with a couple of projects. I’m reconfiguring the audio filter section for our next IC. The current design takes nearly 50% of the die, but with a bit of re-architecting it looks like I can drop that number to around 2% with no loss in quality and no additional latency. Super win!

I’m also responsible for designing and coding the cross-platform GUI used to tune speakers that contain our audio filters. It’s an extremely interesting distraction from making hardware to design a user interface. It’s been a great challenge and I have gained a wonderful variety of new skills because of it.

After hours I have lots of projects. The most lofty project is a company called RTLCores whose goal is to deliver digital logic cores without all of the normal hassle involved in purchasing IP. No talking to sales people if you don’t want to, prices that are clearly visible, full datasheets that can be downloaded before ever purchasing the core and all available via the web. The process of launching a new company from the ground up has been a great learning experience and will hopefully pay off once we launch.

What’s unique about you?

I want to do everything, which is why I love working for small startups where there are few people to handle a large variety of tasks. I’ve done everything including RTL, testbenches, automated synthesis build environments, PCB design, microcontroller firmware, application software, scripting, metal work and taking out the garbage. I have a tiny machine shop in my garage where I’ve made many one-off fixtures used at work which help make someone else’s job easier.

I’m the only engineer I know who can’t do math in his head. I just can’t.

Previous Spotlights

Click Here