The Architecture and Technology Group (ATG) at ARM develops technologies and products for ARMs future architecture roadmap. As part of the evolution of new architecture specifications, modeling is an integral and essential element that enables evaluation of the key architecture features in terms of performance and functionality. The modelling team works alongside the leading architects in their field to develop new models and design performance studies to evaluate and craft new architecture features.
The role also contributes to architecture compliance verification using embedded software-style test development, where CPU architecture knowledge, strong C programming, assembly programming, automation, and low-level debug are used to validate architecture behavior across implementations.
Job Description
Understand architecture definitions, carry out investigations and feasibility studies, develop verification strategy and contribute to development of compliance product.
Design verification testcases/scenarios in assembly/C/HVL and higher abstraction languages using automation techniques as needed.
Develop architecture compliance tests using C and assembly to validate CPU behavior, architecture features, low-level execution flows, and system-level compliance scenarios.
Contribute to automation, debug flows, and reusable compliance test infrastructure for validating architecture specifications across different implementations.
Excellent verbal and written communication skills.
Self-motivated and willing to take up additional responsibilities to contribute to the team’s success.
Required Skills and Experience
Btech/B.S. or MTech/M.S./PhD in Computer Engineering/Computer Science or Electronics Engineering.
3-6 Years of engineering experience (CPU/sophisticated IP verification is a plus).
Experience in writing tests for systems and low-level software using C.
Solid analytical and debugging skills for architecture compliance, CPU behavior, and low-level software execution issues.
Experience in automation using scripting for test generation, execution, and result analysis.
Good software development skills for firmware-like, bare-metal, or low-level system software environments.
“Nice To Have” Skills and Experience
Strong understanding of basic computer architecture.
Good in logical programming using C/C++/ Assembly with experience in embracing software engineering standard methodologies.
Familiar with verification process such as Test Plan development, Testcase development.
Familiarity of Unix / Linux working environment.
Experience in CPU verification would be a plus.
Experience developing test harnesses for bare-metal validation or architecture compliance testing.
Experience with enterprise or mobile platforms would be useful for understanding real-world architecture compliance expectations.