TwitterRssFacebook Youtube


We thought it would be a good idea to create a page that contains all of our recommended tools and texts that help make us better engineers.  This page will be constantly growing as we cover more topics and reference different software tools, techniques, instruments, textbooks, etc.  We hope you find it helpful!

Disclosure:  Please note that some of the links below are affiliate links, and at no additional cost to you, we will earn a commission if you decide to make a purchase.  Please understand that we have experience with all of these companies and products, and we recommend them because they are helpful and useful, not because of the small commissions we make if you decide to buy something.  If you find helpful, consider purchasing our recommendations through these links.



  • The Designer’s Guide to VHDL (Ashenden, Peter):  The go-to book for learning VHDL.  I still keep this book a step away from my desk for quick reference.  This book does a great job covering syntax following by complete examples.
  • Verilog HDL by (Palnitkar, Samir): My favorite book for learning Verilog.  Great exposition on Verilog syntax, as well as good explanations of HDL how constructs relate to hardware.  There’s also a section devoted to synthesis, which is a unique feature in HDL books.   The book also contains many clear examples of Verilog code.
  • Understanding Digital Signal Processing (Lyons, Richard): This is one of the best books for quickly understanding practical DSP concepts that you can implement using MATLAB in short time.  There’s plenty of theory covered in this book, including a great presentation of complex (I/Q) signals, but also much practical equations that translate directly to MATLAB implementations.
  • Discrete-Time Signal Processing (Oppenheim, Alan):  This is the Gold Standard in learning DSP.  The book is pretty dense, but the foundations developed in this book nearly timless, and they are extendable to infinite applications.



  • Altium Designer:  Full-featured schematic capture, simulator, and PCB layout software.
  • Xilinx ISE: Low-cost multi-language software for developing Xilinx FPGA solutions in Verilog and VHDL.  The design suite includes an HDL compiler, synthesizer, place and route tool, timing analysis tool, and many more features.  ISE includes iSim for simulating HDL designs.  A nice feature of ISE is that includes a large library of GUI customizable hardware implementations for common functions (i.e. multipliers, dividers, adders, forward error correction, fft, etc.).  The full software is quite affordable, but is also available in a free, feature-limited version.
  • Xilinx System Generator:  This tool is an add-on for Xilinx ISE that allows you to create, simulate, and implement FPGA designs using MATLAB Simulink block diagrams.
  • MATLAB and Simulink:  Outstanding mathematical analysis software.  From simple calculations, to full phenomenology modeling, to visual analysis, this mathematical software is a must for serious designers.
  • Ultraedit: This may be the only text editor you ever need.  Mentioning a few features is like scooping a bucket of water out of the ocean.  I use this editor for all my code development, from C, VHDL, and MATLAB, to simple text documents.  Beyond customizable.  It’s nice to have a single common editor for all my languages–only need to learn one set of shortcuts!