Senior Software Engineer (C++)
Job Overview Are you creative, innovative and passionate about new technologies? Would you like to work in a multi-site and multi-cultural environment? We want to grow our cross-site Verification team, especially in Cambridge. For this purpose, we are hiring a highly skilled and motivated software engineer to join our team, and contribute to the delivery of future groundbreaking processors. Interested in this challenge? Apply now and join! Responsibilities Participate in the development of a complex and sophisticated verification environment. Using a combination of techniques, the environment is used to verify the functionality of CPU IP products developed in our design centers worldwide, with a particular focus on the execution pipeline and the exception model. The role will cover the whole lifecycle of the environment, from development to support, and you will be accountable for:
- Gathering requirements from the CPU Design and Verification teams
- Understanding the new architectural features, which are regularly added to the Arm Architecture Reference Manual
- Architecting and developing solutions to support those features so that they can be stressed when verifying their implementation within the next generation CPU products
- Implementing, maintaining and supporting the environment
- Proven experience in object-oriented software programming (C++ and Python)
- Understanding of assembly language (ASM)
- Strong interpersonal skills, with an ability to work well as part of a team and a willingness to address varied technical challenges
- Knowledge of CPU architecture and micro-architecture concepts
- Experience in RTL Verification & Design techniques (SystemVerilog or VHDL)
- Experience in software testing and library API design
- Exposure to dependency management tools, performance profiling techniques