Staff Engineer II – Software
![Alphawave Semi](https://semiwiki.com/wp-content/uploads/job-manager-uploads/company_logo/2023/02/alphawave-semi-logo-150x22.png)
Website Alphawave Semi
Job Description
We’re building the world’s most advanced die-to-die (D2D) semiconductor IP and chiplet solutions for the chiplet ecosystem. With the recent advance guided by the UCIe consortium, Alphawave is looking to push forward Moore’s law by taking advantage of chiplet standardization and interconnect technology.
We are looking for a Principal Firmware Engineer to join our dynamic Central R&D Software team and lead the firmware development of our UCIe chiplets portfolio. This critical role includes everything from pre-silicon to post-silicon stages and entails implementing and utilizing software/firmware/embedded industry best practices. You have experience driving firmware definition, architecture, and development starting from the RTL/Digital design phase with EDA tool/simulator integration all the way to the post silicon phase with board level bring up and debug. It is a collaborative role where you will need to work with Hardware/Systems/Software teams to lead requirements and successful chip bring up. You will also work with firmware and embedded software engineers to lead code re-use throughout the organization, program managers to identify and work toward deadlines, and other teams. You will build next generation chiplet IP and semiconductors that meet our organization’s and quality standards.
What you’ll do:
- Will be reporting to Senior Manager – Software Engineering.
- Gather requirements, study designs, develop device interface functions and turn small building blocks into higher level firmware system design.
- Work with different teams to come up with the detailed bring up and validation requirements, collaborating with Analog Design, ASIC / Digital Design, Digital Verification and software engineers to meet performance goals.
- Participate in design reviews.
- Develop architecture documents and design specifications.
- Translate bring up and validation requirements into efficient C/C++ firmware code
- Oversee the entire firmware lifecycle for UCIe chiplets, from pre-silicon design to post-silicon validation and optimization.
- Develop for test and debug to help guide hardware design decisions for future product iterations.
- Develop test cases that can be run in an automated regression.
- Stay up-to-date with the latest trends and advancements in the UCIe standard, semiconductor industry, and incorporate relevant innovations into our processes.
- Mentor junior engineers, promote team building, and strive for continuous improvement in processes and techniques.
- Debug and cause, document and lead issues (i.e. low level SW, silicon, HW, etc.) to closure, review waveforms and RTL to fix sequencing issues.
- Guide diverse teams and partners to address challenges seen during integration and bring-up, ensure chips are brought up, validated, tested, and meets product and requirements.
- Demonstrate full ownership of assigned systems/components. Handle timelines and resolve project challenges to meet program timing.
- Work with external vendors or customers to ensure requirements are met and releases are of high quality.
What You’ll Need
- BSc or MSc in Computer Science/Electrical/Computer engineering or a related field
- Proficient in C/C++ and Python.
- 6+ years of experience with embedded systems like ARM, RISCV, MIPS and strong programming skills. Working experience with low-level programming on bare metal, BIOS/UEFI firmware, linux kernel, RTOS, device driver, etc.
- Familiarity with industry-standard EDA tools and methodologies used for digital verification
- Familiarity with hardware description languages (HDLs) such as Verilog and SystemVerilog
- Experience with SerDes, Ethernet and PCIe products and communication systems
- Hands-on experience in the lab with CPU, SoC, FPGA, MCU, and DSP component validation and developing tests and debug tools.
- Knowledge of peripherals/protocols such as 1G/10G Ethernet, DDR, I2C, SPI/QSPI, PCIe, USB, NVME, etc.
- Bring up and diagnostics experience with high speed signals
- Experience creating error monitoring and Board/Interface configuration APIs
- Experience writing clean, organized code, Willingness to participate in professional development activities to stay current on industry knowledge and confront technical challenges.
Intel’s Death Spiral Took Another Turn