Lead the development of firmware that brings the high-speed peripherals of our custom AI accelerator to life.
Responsibilities
Lead a team developing low-level firmware to control, configure, and monitor PCIe, HBM, Ethernet, and other high-speed peripherals on our custom ASIC.
Own the firmware architecture and implementation for these hardware blocks, from early design through silicon bring-up and production.
Develop and validate firmware in simulation and emulation environments before silicon is available.
Work directly with ASIC architects and RTL engineers to define hardware/software interfaces, influence design decisions, and debug complex integration issues.
Bring up new peripheral blocks on first silicon, diagnose hardware and firmware issues, and drive them to resolution.
Requirements
Bachelor's degree or equivalent practical experience
Nice to have: Pre-silicon firmware development using simulation, emulation, or FPGA platforms
Nice to have: first-silicon bring-up of custom ASICs, SoCs, GPUs, or other complex chips
Nice to have: firmware development for PCIe, HBM, Ethernet, memory controllers, or high-speed interconnects
Nice to have: hardware/software co-design, including defining register interfaces and firmware requirements alongside RTL teams
Hands-on Staff Firmware Engineer to design, develop, integrate, and debug low-level firmware for ARM-based CPU subsystems in advanced System-on-Chip products.
Compensation
$155,400.00 - $233,200.00
Responsibilities
Design, implement, integrate, and maintain low-level CPUSS firmware using embedded C
Develop firmware for CPU subsystem functions such as CPU, core, and cluster boot and initialization, Low-power management, DVFS and voltage/frequency control, Limits and thermal-management support, Fault handling, recovery, crash reset, and diagnostic flows
Translate hardware architecture and programming specifications into reliable firmware sequences, register definitions, interfaces, state handling, timeout behavior, diagnostics, and error-recovery mechanisms
Perform register-level programming of CPU subsystem and SoC hardware
Contribute to firmware architecture and detailed design decisions
Requirements
Bachelor’s degree in Electrical Engineering, Computer Engineering, Computer Science, or a related technical discipline
Master’s degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field
PhD in Electrical Engineering, Computer Engineering, Computer Science, or related field