Staff Embedded Software Firmware Engineer Bringup
Develop C and C++ code to bring up and validate new AI chips and platforms. Configure and exercise systems on FPGA, emulators, and first silicon; develop Python test automation; analyze failures; collaborate across engineering disciplines; improve validation infrastructure; and provide technical guidance to other engineers.
Responsibilities
- Plan, design, develop, and debug silicon bringup sequences and tests in bare-metal C/C++ on FPGA and emulators.
- Deploy configuration sequences and validation tests on first silicon.
- Develop automated test frameworks and Python regression suites.
- Collaborate with engineers from multiple disciplines.
- Implement best practices and continuous improvements to test methodologies.
- Analyze test results and identify and debug failures and defects.
- Contribute to shared test and validation infrastructure.
- Provide feedback to architects.
- Lead, mentor, and provide technical guidance to engineering team members.
Requirements
- Strong experience in bare-metal or embedded C/C++.
- Good knowledge of digital ASICs.
- Experience with post-silicon validation in digital ASIC environments.
- Python and Linux experience.
- Ability to work across teams and programming languages to find root causes of complex issues.
- Experience with PCIe, Ethernet, memory technologies, or peripherals such as I2C, I3C, and SPI is desirable.
- Knowledge of mixed-signal building blocks such as PLLs and high-speed PHYs is desirable.
- Experience with Arm CPUs, System IP, and debug tools is desirable.
- Experience with AMBA protocols is desirable.
- Understanding of machine learning applications and workloads is desirable.
- Experience in characterization, failure analysis, test development, statistical analysis, or customer support is desirable.
Benefits
- Competitive benefits package