Software Programmer Discovers the Power of Hardware at UCSC Extension


- John Hubbard

Term : February, 2016
Department : Engineering
Program : VLSI Engineering

When John Hubbard completed his electrical engineering degree in 1987, the Silicon Valley tech explosion was just beginning. After graduating from college, he became an unrestricted line officer in the U.S. Navy, serving on submarines for eight years before transitioning into a career in system software, and then, Linux kernel software. After working in several startups, he eventually landed at NVIDIA, a company that specializes in both software and hardware to design and build chips. He realized that after working for several years in software, he wanted to develop a better understanding of how NVIDIA’s 8+ billion transistor chip works. He decided it was time to update his studies by enrolling in UCSC Extension’s VLSI Engineering program. He completed the certificate in fall 2015.

What inspired you to study hardware?

I decided it was time to refresh my EE degree. I was lucky because I achieved two things at once: I got a way to understand the NVIDIA chip on a much broader and deeper level—specifically how they manufacture it and how the whole flow works—and I got to see all the changes in hardware that had happened since I completed my degree. It was hugely inspiring.

It’s hard to find an electrical engineering refresher course without getting involved in a lot of red tape; I wanted an efficient program. I went looking for knowledge, which is why I came looking for a program like yours. There aren’t too many like it. It only took me 16 credits to get a good snapshot of VLSI and manufacturing. Now I know if I want to go deeper into the field, I know where to look.

Which courses stood out to you?

One of my favorites was “Digital Logic Design Using Verilog.” I appreciated how the instructor focused on the “design” aspects of the course, using the Verilog language almost as an afterthought. The course provides insight into how chip designers think about logic design. The language all by itself is not especially interesting; the instructor showed us the math, the unsolved problems, and gave us a much deeper look. I also enjoyed the follow-up course, “Digital Design with FPGA,” because the instructor went to the trouble to update the course with the latest Xilinx tools. I really appreciated getting to use them. At big companies like mine, we often have a complicated mix of old and new tools, and we like to keep an eye on the latest tool developments. Usually companies will teach you how their own tools work, but they might not always have the time or resources to teach you how the latest ones work, and if they’re worth using. One of the big advantages of UCSC Extension’s offerings is that you’re continually making an effort to stay current, which is a big deal.

How were you able to apply what you were learning?

The “System Verilog Essentials: Functional Verification and Simulation” and “Advanced Verification with System Verilog OOP Testbench” courses were a lot of work, but really worth the trouble, because the classes provided a surprisingly thorough tour of the world of hardware simulation. This knowledge now helps me communicate more accurately with our hardware engineers who simulate the chip. An unexpected benefit was being able to use NVIDIA tools to do the course homework, because UCSC Extension happens to use the same Synopsys tool chain that we have here. Being able to bring up “waves” (a simulation view of digital signals) on screen, and discuss them with NVIDIA hardware engineers, was an incredibly exciting milestone for me.

At my work, we do a lot of hardware and software co-design, which means that we change both hardware and software at the same time. The more people we have that cross over that gray area and understand both fields, the better off we are. There are not enough people that have the time and energy to do that; both software and hardware are full-time careers.

At work, my problems are about how to construct things in software; and at UCSC Extension they teach us to design hardware. The program added the depth that I needed.

Visit our VLSI Engineering program page to learn more about UCSC Extension’s unique offerings. Browse upcoming VLSI courses. 
Return to UCSC Extension Student Stories.
Share your Extension story.