Senior Software Engineer — RISC-V Instruction Set Simulator (Simulator Engineer)
About the role
The role involves developing a high-performance RISC-V Instruction Set Simulator (ISS) that serves as a reference model for next-generation 64-bit RISC-V processors. The position requires expertise in C++ and a solid understanding of computer architecture, systems software, and verification engineering. The team focuses on ensuring the simulator's correctness and performance while supporting software development and debugging. This work is critical for maintaining the integrity of the verification flow and enhancing developer productivity.
Requirements
- Solid C++ skills and comfort reading unfamiliar codebases.
- Basic understanding of processor architecture, including pipelines, memory, privilege levels, and interrupts.
- Strong attention to detail and a commitment to correctness.
- Willingness to read specification documents and translate them into tested code.
- Some exposure to low-level or systems programming, such as embedded systems, operating systems, compilers, or hardware description.
Responsibilities
- Translate RISC-V specification chapters into working C++ code.
- Maintain the fetch/decode/execute engine, memory protection, virtual memory, and privilege-level logic of the simulator.
- Work on the harness that runs the ISS alongside RTL and flags any differences.
- Write targeted unit tests that exercise individual features and compare against expected results.
- Contribute to and maintain a collection of simulator extensions and utilities for user productivity.
Benefits
Qualcomm offers competitive compensation, annual bonuses, stock programs, comprehensive healthcare coverage, retirement plans, wellness programs, parental leave, flexible work options, and professional development opportunities.
Pay
$167,100 - $250,700 per year