Cambridge, United Kingdom; Bristol, United Kingdom
CPU Validation Software Engineer
Apply now-
Category
Verification -
Job ID
2023-8217 -
Date posted
05/25/2023
Test Our Limits. Your Limits.
Every day the world invents something new to put our chips to the test. You can do the same. Because verification at Arm goes way, way beyond debugging – it’s solving the novel problems behind tech that barely exists yet. It’s working at the bleeding edge of machine learning, simulation software, model checking and hardware prototyping systems. It’s thinking the unthinkable and being sure we’re ready for it.
Work At The Very Edge
At Arm, you’re in a position to influence 95% of the world’s connected devices and all of their applications. Healthcare, infrastructure, virtual reality… you’ll affect hundreds, if not thousands of industries worldwide, racing towards new milestones in human endeavour.
Ground-Breaking Benefits
-
Learning And Development
Whether you want to learn a new programming language, explore your management potential or witness the latest innovations at industry conferences, we promise you both the freedom and the support to develop when you want it.
-
Sabbatical
We'll always encourage you to take plenty of annual leave, so you stay fresh and inspired. But you know what really does it? When we encourage you to take an extended, paid four-week sabbatical after 4 years of service.
-
Progressive Leave
You're a human being, not a resource. So it's important to us that we're there for you at significant points in your life. Whether you're having kids, acting as a primary care giver or have lost a loved one, our flexible progressive leave allows you to put your family first without worrying about your career.
-
Wellbeing
We create a safe space for you to look after your mental and physical health, with support ranging from medical insurance to the workplace mental health platform, Unmind. Alongside a growing number of onsite gyms, yoga, cycling and running clubs. All of which comes with a flexible working policy, so you can live life and be your brilliant self.
The Role
Job overview:
Are you passionate about the interaction between software and hardware? Are you interested in applying your academic knowledge in a world-beating commercial processor group? Then this role may be just what you are looking for!
The verification software team in is responsible for developing a Random Instruction Stream generator which we use to stress Arm CPUs under development.
This enables us to search for hardware bugs, which we can then investigate and share with hardware engineers to ensure their resolution.
If you are an inquisitive engineer with an interest in low-level software development and the internal functioning of CPUs, we would like to hear from you. You will need an understanding of CPU architecture as well as an ability to design and implement in ‘C’. In this role, you will analyse complex CPU specifications, design new generator features to exercise them, and help triage and debug the issues found by the tool, running on FPGA.
Working in an exceptionally accomplished and diverse team, you will collaborate with engineers in a wide range of roles from CPU design and verification to processor architecture. Whether you prefer to focus on bare metal 'C' development, or on FPGA execution and bug hunting, this is a phenomenal opportunity to help verify the cutting edge CPUs of tomorrow!
Essential Skills & Experience
- You have software development experience with ‘C’ and some knowledge of low level assembler programming languages
- You understand CPU architecture and micro-architecture features (such as caches, MMU, SMP, coherency, CPU pipelines)
'Nice to Have' Skills & Experience
- You understand and can use the Arm instruction set architecture
- Exposure to a CPU verification environment at top level or system level
- Experience working in bare metal systems or low level operating systems for the purposes of functional verification
- Development experience or exposure to random instruction generators
- Experience with programming or using FPGAs
- Good university degree (or equivalent) in Computer Science, Electronic Engineering, or another appropriate field.
#LI-JC1
Equal Opportunities at Arm
Arm is an equal opportunity employer, committed to providing an environment of mutual respect where equal opportunities are available to all applicants and colleagues. We are a diverse organization of dedicated and innovative individuals, and don’t discriminate on the basis of any characteristic.
Hybrid Working at Arm
Arm’s hybrid approach to working is centred around flexibility, where we split our time between the office and other locations to get our work done. We empower groups/teams to determine their hybrid working pattern, with an expected minimum attendance in the office of 20% per month, depending on the work, level of experience and team’s needs. In some cases, the flexibility we can offer is limited by local legal, regulatory, tax, or other considerations, and where this is the case, we will collaborate with you to find the best solution.
Where you'll
be working
View Location
Life At Arm
Life in the office doesn't get any better. Especially when those offices are as sleek as ours. And the people are as creative and intuitive. Combine that with our popular ‘we, not I' mindset and you enjoy the kind of teamwork and togetherness rarely found elsewhere. We share so much in common, not least the same passion for progress, but we also welcome each other's diversity. Because, ultimately, we love to inspire and be inspired every day.