Featured Engineer

Interview with Dave Vandenbout

Dave Vandenbout

Dave Vandenbout - President at XESS Corp.

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

I remember drawing a radio-controlled robot in kindergarten and all the teachers thought I would be an engineer.

Much later, I took an electronics class in high school which was really a shop class for all the kids too dumb to get into auto mechanics. One of my friends actually had his hair set on fire in class. But we learned about basic circuits and actually built FM radio transmitters. I learned some transistor circuits from Radio Shack books and I built some light-activated burglar alarms and such.

Most of my university coursework was theoretical. I actually learned more about practical electronics from the technicians I worked with at Bell Labs in the early ’80s. That where I learned to wire ICs together to make Z80 and MC6801 microcomputer systems.

What are your favorite hardware tools that you use?

Probably my most-used tool is a Tektronix 475 oscilloscope that I bought used back in 1994. It’s good for getting a quick look at a signal and making sure everything is reasonable.

On the digital side, having a wide variety of simple, low-cost development boards with PC interfaces is great. My favorite is the XuLA FPGA board I designed. I can drop an FPGA and large memory into a 2 in^2 area of a breadboard along with a bunch of other stuff and then query it through a USB cable from a PC. That’s the kind of thing I used to pay thousands for and now it’s available for less than $50.

What are your favorite software tools that you use?

Certainly the free FPGA development tools are one. Now anyone can get the tools to do sophisticated digital design.

I also like the Eagle schematic/PCB tool because it lets me design pretty sophisticated boards for a relatively low cost. And I can extend it by writing user-language programs to do stuff like BGA fanout.

On the open source side, Octave is great because it gives me something like Matlab without the Matlab price. The same goes for things like LibreOffice and Inkscape. And I’m really getting to like Python as a general-purpose programming language that’s easy to code, runs pretty fast, and has great libraries like SciPy.

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

Back in 1984, I was in a group of four grad students who designed and built the HECTOR 16-bit microprocessor chip. The chip design tools were pretty primitive (we were laying out most of the actual transistors by hand – all 20,000 of them) so we settled on a microcode-based CPU because it’s functions could be changed just by altering the ROM (there was an automated tool for building that part). But the ALU and register file were always changing and that prevented the microcode guy from writing his code. So I designed a microcode compiler that took high-level versions of the microcode and CPU architecture and used a recursive expression re-writer to search for a set of low-level register transfer operations that would implement each high level microcode statement. Then we could just update the high-level CPU model as the design changed and recompile the microcode. That was one of the things that let us accomplish the design within a single semester.

What is on your bookshelf?

A lot of my books are free PDF files I’ve gotten off the web, like “Global Optimization Algorithms” by Thomas Weise and “Information Theory, Inference, and Learning Algorithms” by David MacKay. But if you’re talking about physical books, then I have “The VNR Concise Encyclopedia of Mathematics” and a 1927 edition of “Peppi the Duck”.

Do you have any tricks up your sleeve?

Many of my designs have an FPGA, so I like to use that to test portions of the design as they become available. I use a library of VHDL modules to upload and download data through the FPGA’s JTAG port as it’s running and talking to other parts of the system. It’s sort of the hardware equivalent of using “printf” statements in code debugging. It doesn’t have the capabilities of using a logic analyzer, but it’s easier to setup and format the resulting data so you can understand what’s going on.

For design in general, I always like to draw a picture of my system to show what’s interacting with what. I try to use simple models of components so I can mentally simulate how I think the total system should respond. Then if the system isn’t even doing that correctly, I know I have a large error in my understanding or my construction that should be easy to find. Once the major functions are working, then I’ll use more precise instruments and simulators to see if the details are correct.

What has been your favorite project?

I was involved in the second (or third?) neural net revolution back in the late ’80s through the early ’90s. I designed and built three neural network chips and did a bunch of theoretical work on statistical mechanics and solving optimization problems. It was a pretty hot topic at the time and everyone was competing to be the one who was going to change the world. It was fun but, like the first few neural net revolutions, it collapsed when it couldn’t live up to its own hype. That was a valuable lesson to learn as well.

Do you have any note-worthy engineering experiences?

When I was young, I once stuck the wires of a small neon bulb into a wall socket. I believe that may have been the first example of caseless, electrically-fired ammunition, because that bulb shot out and buried itself in the opposite wall. It also blackened the socket so, to keep my mother from finding out, I replaced it while the power was still on because there was no way I was going into the far corner of that dark basement to remove the fuse.

What are you currently working on?

I’m currently writing a book to teach FPGA design to beginners using the XuLA board as a training device. It’s called “FPGAs!? Now What?” and I’m releasing each chapter as it’s written. It’s under a Creative Commons Attribution-ShareAlike license so anyone can download it, modify it, sell it, whatever, as long as they don’t remove my name. If anyone makes any money from it, let me know. That would be a first.

What direction do you see your business heading in the next few years?

When I started XESS, all my board schematics and software utilities were open source, but the actual PCB design files were closed. Now, beginning with the XuLA board, I’m open-sourcing everything. One of my friends asked me what recourse I had if my stuff was just copied and sold by others without any payment to me. I repeated to him what a university colleague told me once: “Don’t worry about other people stealing your ideas. You’re going to have to work like hell just to get other people to notice them!”

What challenges do you foresee in our industry?

There are all the normal, physical challenges like reducing semiconductor gate widths and lowering power requirements, but these are manageable. We’ve been doubling computer power every year or two since Charles Babbage, and there’s no reason to expect that to stop. We may be on the upper, flatter portion of the silicon S-curve, but we’ll eventually jump to another technology when that one plays out. After all, the universe is supposedly made up of 96% dark energy + dark matter, neither of which has ever actually been detected, so there must be a lot more tricks in the goody bag the universe has given us.

Then there are challenges created by our success with semiconductors, such as making effective use of parallel computing and managing code complexity. But the semiconductor S-curve has made computing so much cheaper and more accessible that we have many more people who can tinker with it and come up with new languages and abstractions that help hide the underlying complexity and let us work at a higher level. That’s one of the great benefits of open technologies: you get so many more pairs of eyes looking at this stuff and working on the problems.

But while the challenges our industry faces are manageable, I think we’re actually creating a serious challenge for the rest of society: with advances in communications, AI and robotics, we are rapidly reducing the number of workers necessary to provide everyone with goods and services. It seems we can either increase the demand for stuff that people want and put a lot of strain on our planetary resources, or else condemn a large part of our population to a life where they can’t participate in the global economy. We’re already seeing the instability that results from the second option and it’s going to be this century’s primary problem, much more so than other supposed crises that get so much attention. I’m no sociologist so I have no idea how to address this issue, but I hope somebody’s thinking about it.

What are your favorite websites?

Besides EEWeb…

I’ve like listening to some electronics/tech-related podcasts that have started in the past year like “The Amp Hour” and “ZombieTech”. They delve a lot more into the actual workings of technology than the usual consumer gadget shows, and they’ve got a much fresher tone than the more commercial stuff being put out by the established trade press.

Outside technology, I like noagendashow.com because it picks up a lot of news items that don’t enter the mainstream consciousness for months.

When I need a mental challenge, I like to go to projecteuler.com and try to solve one of their puzzles. Even when I can’t find a solution, it still makes me think in a different way than my normal work does.

What advice would you give to others?

All our good habits form before age 15 so anyone reading this is probably beyond help, but here goes: Exercise regularly, take care of your teeth, and learn a lot about math.

Any final words?

Don’t mistake being humorless for being serious.

Previous Spotlights

Click Here