CPU - Formal Verification Engineer
In the fast-moving world of CPU Verification, Formal Methods are becoming crucial to the success of today's ever-accelerating development cycle. Arm’s CPU Group is looking for engineers with experience in Formal Verification who desire to be at the cutting edge of applied formal methods. We are offering the chance to become part of a dedicated team that will deploy Formal on the next generation of CPU designs. This is an opportunity to influence design & verification decisions and shape the future of technology that will fuel billions of devices world-wide!
Job Overview:
You will apply Formal Methods to CPUs developed in the Cambridge design centre, with the opportunity to collaborate with our global Formal Teams across Arm.
Responsibilities:
The role entails investigating, creating, developing and deploying new Formal Verification techniques on live projects. You will use the industry’s best available tools and be in close contact with EDA tool vendors. You will work alongside Arm’s brightest formal experts to plan and implement Formal Verification to exceptional quality.
Required skills and experience:
- Experience in functional verification or digital hardware design
- Familiarity with formal methods (e.g. SVA, PSL, model checking, theorem proving)
- An engineering mentality and passion for digital design
- Understanding of fundamental verification concepts
- A keen interest in processors and digital systems
- Understanding of computer architecture & micro-architectural concepts
- Knowledge of hardware description and verification languages, such as VHDL, Verilog/SystemVerilog, PSL
- Strong reasoning skills
- Excellent attention to detail
- Ability to understand and map abstract formal concepts into designs
- Creativity and ability to communicate ideas effectively
- Good inter-personal and teamwork skills
In order to be considered, you will need at least a Bachelor’s degree in Electronic Engineering, Computer Engineering, Computer Science or another relevant subject. Other STEM degree types may also be considered.
'Nice to have' skills and experience:
- Familiarity with industry-standard formal verification tools
- Understanding of the end-to-end verification processes, from test plan creation through to verification closure
- Proficiency in scripting languages, e.g. Python/Perl/TCL
- Proficiency in shell programming/scripting
- Familiarity with Arm architecture and instruction set
- Familiarity with model-checking techniques
- Exposure to invariants and abstractions
- Understanding of assume-guarantee reasoning
In return:
You will get to utilise your engineering skills to build support for the technologies and influence millions of devices for years to come.
#LI-JC1