#181 – An Interview with Dave Vandenbout – Xceptional XESS Xenagogue


Welcome Dave Vandenbout of XESS!


  • Though XESS is prounounced “Ex-Ess”, the XuLA board is pronounced “zoo-la”.
  • Chris confused INXS and Styx. Sorry, classic rock fans.
  • Dave worked at Bell Labs for 6 years in the late 70s and then went back to school at NC State to get his PhD.
  • XESS started as a company writing spreadsheet software for the MicroVAX.
  • This later turned into a one-man enterprise after Dave got sick of doing grant proposals and no hands-on research
  • His first book (self published ) was The FPGA Workout. It detailed using the Intel FX780. The internal SRAM made it possible to embed a micro.
  • This trend continued as Dave made hardware to go along with books. The Student EPX31 had an 8051 on board.
  • Dave thinks tinkering with the Commodore 64 allows for comprehension of the system, but that’s not as possible anymore.
  • Xilinx vs Altera isn’t really a big battle at XESS. Pick one, use it.
  • The XESS boards help abstract out some of the hardware confusion by including the mapping file.
  • The new(er) Stick It family allows easy expansion of peripherals.
  • One good way to ensure you can build a system is to preserve the tools. Virtual machines are the best way these days.
  • Dave (Jones) laments FPGAs having too many IO when sometimes you want a powerful part without the IO overhead (and cost).
  • Rent’s Rule – more gates, more IO
  • These days, FPGAs are basically software companies.
  • Another book that Dave has written is, “FPGAs?! Now What?” It’s a great primer into getting started.
  • More recently, Dave has been playing around with MyHDL, which uses Python to abstract out more of the design. This is in place of VHDL or Verilog. Dave wants to build a training course with Python Notebooks.
  • To be a good designer, you really still need to know the hardware and how your code will generate. This also helps portability because you aren’t using vendor specific macros.
  • A small processor can be defined in a couple hundred lines of code.
  • XESS code and projects are now kept on GitHub. The designs, including the hardware, are open source.
  • Dave is in the middle of a transition from EAGLE to KiCad. Welcome to the fold.

Thanks again to Dave for stopping by and talking FPGAs with us. He has tons of great experience and makes a great product. You can find him on Twitter @devbisme, where he has been a member since the 555 contest! Or check out the XESS website for more info about tutorials and hardware.


  1. ImPerson says

    Sorry Chris, Dave is right about the Arduino thing, it is C++ with a bunch of liberiers. Wiring is just the IDE but its also used for things like Processing.

  2. says

    I have an Xess’ xsa-100 board from way back in the day, including an add on daughter board if I recall correctly..

    I’d be nice to get that a run again… I could use an sdram controller reference right about now! Anyone know if there’s any licensing restrictions, or if it’s even open source?

    • says

      You can use my XESS SDRAM controller. It’s open source. There are probably others on opencores.org.

      The problem with the XSA-100 is it’s using the Spartan-2 FPGA. The newer versions of the free Xilinx WebPACK tools stopped supporting that device, so you’d have to install an earlier version. In addition, you’re using an older FPGA with no built-in multipliers, smaller block RAMs, fewer gates. It gets to the point (IMO) where it’s not worth your time to reclaim older electronics versus just moving to the newer stuff. Although, like many, I don’t like throwing stuff away.

  3. Matt Heilman says

    Arduino may be C, but it is still a development board…
    I prefer buying $3 Atmel µC and programming them, with the AVR Dragon.

  4. Herb Case says

    Are these microprocessors making up for a lack of electronics knowledge? Should EVERYTHING we do in electronics be based on processors and its associated code?

  5. says

    for some reason, the podcast gets broken and I have to refresh the browser and forward to where it stopped. I am using Google chrome. do you recommend a different browser?