User Tools

Site Tools


sidebar:embedded

Embedded

If you're interested in the low-level devices that power our everyday lives, from microcontrollers to the AI accelerators inside self-driving cars, you may consider specializing in embedded systems. Careers in embedded systems may involve developing firmware for devices, designing PCBs/consulting with PCB designers, programming and deploying microcontroller-based systems, developing designs for FPGAs, designing ASICs, and more.

Embedded circuits classes to take:

ECE 385 is most students' first exposure to FPGA development inside the Quartus development environment. ECE 411 expands on this introduction, using more advanced SystemVerilog concepts to teach RISC-V processor design.

Other valuable areas of embedded systems to explore involve industrial control systems and realtime operating systems. Many skills in embedded systems are useful in the aerospace industry, as computer systems onboard spacecraft must be extremely fault-tolerant, reliable, responsive, and hardened.

As FPGAs become cheaper, many consumer products have begun to feature FGPAs for time-critical signal processing tasks. Therefore, intimate knowledge of FPGA development is a useful asset even in today's world of powerful microprocessors.

ECE 391 is also a useful class, if not specifically tailored to embedded systems. One of the tasks in 391 is to develop device drivers for the Tux controller, which follows a relatively realistic/real-world serial protocol. Interfacing with such hardware devices is a useful skill. 391 will also give useful assembly/C programming skills, which can apply in some ways to microcontroller development (albeit microcontrollers come with a unique set of limitations and restrictions).

Useful links:

  • Intel Quartus download: Link
  • Terasic development kit web shop: Link
  • RISC-V Developer Handbook: Link
  • SystemVerilog Cheat Sheet: Link
sidebar/embedded.txt · Last modified: 2019/04/25 00:35 by fns2