Job Overview:
Arm’s verification engineers continuously push the boundaries of what is possible with simulation, formal, and emulation tools to produce industry-leading CPU IP. If working on innovative technology in a world-class team sounds like an exciting challenge then a role as an Arm Verification Engineer is for you!
Responsibilities:
For this role, we are looking for experienced Verification Engineers who can contribute to all phases of the verification flow. This includes:
* Development/ownership of varied aspects of unit verification environments including testbench components, tests/stimulus, checkers and functional coverage. Involvement in end-to-end verification processes, from test plan creation through to verification closure.
* Investigation of test failures and debug of sometimes complex technical issues that can cross team boundaries.
* Work with project leads and team members to plan, prioritize, track, and coordinate tasks to meet quality goals at the planned time.
* Contribute to verification improvement activities across the CPU group and the wider Arm verification community.
Required Skills and Experience:
* Experience of simulation based verification of RTL designs. Familiarity with constrained random verification, coverage metrics, checking methodologies.
* Software development skills to write flexible, maintainable code in an object oriented language. Familiarity with version control, preferably using git in conjunction with a change based code review flow.
* Ability to apply complex specification detail. Curiosity to resolve ambiguities.
* Proficiency in problem solving and debugging.
* The interpersonal and communication skills, to work well in a team and a practical, result-focused approach.
'Nice to have' Skills and Experience:
* Familiarity with assembly language (preferably Arm).
* Understanding of computer architecture fundamentals, such as pipelining, exception handling, memory systems. Perhaps some practical experience of working on microprocessor designs.
* Familiarity with SystemVerilog, maybe using a methodology such as UVM.
* Python programming experience, for example to automate verification flows.
* C++ programming experience, maybe in the context of a mixed-language testbench.
* Experience with Continuous Integration flows using tools such as Jenkins.
* Experience with formal verification.
* Experience leading/coordinating/mentoring small teams.
In return:
You will get to utilise your engineering skills to build support for technologies and influence millions of devices for years to come. You’ll share ideas with and learn new skills from some of the best engineers in the world!
#J-18808-Ljbffr