Arm

(Senior / Staff ) Embedded Engineer for STL

Summary

Would you like to help us continue deploying billions of successful devices around the world, many of them enabling safety critical environments such as automotive or robotics?

We are looking for outstanding engineers with different experience levels to be part of our STL (Software Test Library) development team within our CPU group in Cambridge, UK. As part of your responsibilities, you will develop safety-critical software (often written in assembly and C) tightly couple with the internals of CPU design. You will also identify and build creative hardware features inside the CPU that improve the effectiveness of our solutions for segments where safety is of paramount importance without negatively affecting the power, performance and/or area of the core.

This software executes opportunistically when the hardware is not fully utilized and performs continuous in-depth hardware diagnostics while the system is in operation. It identifies and notifies about functional misbehaviors derived from permanent faults triggered by natural hardware wear-out, or other uncontrollable factors before they may translate into catastrophic system failures with undesirable and even dangerous consequences.

If you are passionate about understanding the interaction between hardware and software, can program on assembly and/or C and have a genuine interest in developing experience of HDL language (Verilog or VHDL) then this could be an excellent opportunity for you. We work on a multi-cultural and multi-disciplinary environment that will motivate you to further improve your skills and also contribute and develop deep knowledge on Arm CPU designs and development processes. Would you accept the challenge?

STL is a fundamental piece of the development strategy for sectors with strong safety requirements like automotive, health or robotics. Working with us, you are going to deeply influence and interact on the development of successful solutions for this sectors in conjunction with our multidisciplinary team.

We are an equal opportunity employer with an open culture and value diversity. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.

JOB REQUIREMENTS:

Role Responsibilities

As design engineer on STLs you will join our team and share the following responsibilities:

- With your help, we will build diagnostic software to target CPU sub-units like ALU, pre-fetchers, branch predictors, cache controllers, memory systems, etc.

- The effectiveness of the Diagnostic software be validated using fault simulation to measure fault coverage.

- You will envision hardware design features that will improve STL effectiveness on ongoing and future CPU developments. You will also interact with the rest of the designers to implement them with minimum impact on area, performance and power.

- We will confirm with your support that the software as well as the STL-specific hardware features meet the specifications and work properly on different CPU configurations.

- You will take part of the responsibility of generating the safety analysis of the STLs.

- You will work on the STL design specifications, verification plan and the safety documents as per ISO26262 and IEC61508.


EDUCATION & QUALIFICATIONS

You should ideally have a good university degree (or equivalent) in Computer Science or Electronic Engineering. Other science degrees would be considered with relevant working experience.


ESSENTIAL SKILLS & EXPERIENCE
- Creative open-minded attitude with strong motivation to resolve challenging technical problems.

- Excellent team working skills and ability to understand and communicate technical concepts.

- Willingness to explore, learn, improve and to go above and beyond.

- Understanding of the fundamentals of computer architecture and micro-architecture.

- Familiar with C language and assembly language preferably Arm ISA.


DESIRABLE SKILLS & EXPERIENCE
- Experience with HDL languages like Verilog, SystemVerilog or VHDL.

- General understanding of operating systems and scripting languages like python is useful.

- Previous experience developing STL/SBIST code ideally for FuSa (Functional Safety) is valued.


WE NOT I
- Take daily responsibility to make the Global ARM community thrive

- No individual has right answer. Brilliance is collective

- Information is essential, share it

- Realise that we win when we collaborate — and that everyone misses out when we don’t (what does collaborate)


REAL PASSION FOR PROGRESS 
- Our differences are our strength. Widen and mix up the pool of people you connect with

- Difficult things can take unexpected directions. Stick with it

- Make feedback positive and expansive, not negative and narrow

- The essence of progress is that it can’t stop. Grow with it and lead your own progress


BE YOUR BRILLIANT SELF 
- Be quirky not egocentric

- Recognise the power in saying ‘I don’t know’

- Make trust our default position

- Hold strong opinions lightly

ARM is committed to global talent acquisition, offering an attractive relocation package.

With offices around the world, ARM is a diverse organisation of dedicated, creative and highly talented engineers. By enabling a dynamic, inclusive, meritocratic, and open workplace, where all our people can grow and succeed, we encourage our people to share their unrivaled contributions to ARM's success in the global marketplace.

Join the CW jobs mailing list

This site uses cookies.

We use cookies to help us to improve our site and they enable us to deliver the best possible service and customer experience. By clicking accept or continuing to use this site you are agreeing to our cookies policy. Learn more

Start typing and press enter or the magnifying glass to search

Sign up to our newsletter
Stay in touch with CW

Choosing to join an existing organisation means that you'll need to be approved before your registration is complete. You'll be notified by email when your request has been accepted.

i
Your password must be at least 8 characters long and contain at least 1 uppercase character, 1 lowercase character and at least 1 number.

I would like to subscribe to

Select at least one option*