Sr. Principal Software Engineer, Debug Tools
Ampere · Santa Clara, CA · 4 days ago
HybridEngineering$226k–$339k/yrFull-time
About the role
Ampere is a semiconductor design company for a new era, leading the future of computing with an innovative approach to CPU design focused on high-performance, energy efficient AI compute. As a pioneer in the new frontier of energy efficient high-performance computing, Ampere is part of the Softbank Group of companies driving sustainable computing for AI, Cloud, and edge applications. Join us at Ampere and work alongside a passionate and growing team - we’d love to have you apply!
Responsibilities
- Architect, design, develop, and deploy software-based Debug Tools for custom 64-bit Armv9 SoC and other processors.
- Invent new debug tools and techniques for future products and technologies.
- Influence the architecture and design team decisions with knowledge of internal and external debug tools on Ampere SoCs.
- Contribute to software architecture and design documents, application notes, and other software product documentation.
- Develop tooling for advanced debugging techniques, such as instruction trace, bus trace, array dump, scan dump, and ATE bootstrapping.
- Develop open source JTAG and self-hosted trace and debugger software for internal and external use in debugging Ampere microprocessors.
- Develop Arm Development Studio, TRACE32, and OpenOCD utilities for internal and external use in debugging Ampere microprocessors.
- Perform pre-silicon bring-up of debug software on software simulators and hardware emulation platforms.
- Collaborate with hardware design, architecture, post-silicon validation, and platform AE teams, as necessary, to resolve critical customer issues.
Requirements
- Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or Software Engineering or related technical field & 12 years of related experience; or MS degree & 8 years; or PhD & 5 years
- Proficiency with Arm® architecture and ecosystem, including Armv8-a/v9-a and Armv7-m processor architectures, Arm Debug Interface Architecture, Arm CoreSight™ Architecture, Arm AMBA® APB, AXI, AHB, and CHI protocols
- Proficiency in C/C++, Python, and Bash programming
- Experience using Arm Development Studio, TRACE32 PowerView, OpenOCD, and GDB debuggers
- Experience with instruction trace, bus trace, scan dumps, array dumps, and crash capture
- Experience with version control tools such as git, and software best practices
- Strong analytical, debugging, and testing methodology skills
- Proven ability to own problems and drive them to a resolution
- Experience with system software debugging, tracing, and analysis tools, such as perf, ftrace, etc, is recommended
Qualifications
- Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or Software Engineering or related technical field & 12 years of related experience; or MS degree & 8 years; or PhD & 5 years
Skills
- Arm® architecture and ecosystem, including Armv8-a/v9-a and Armv7-m processor architectures, Arm Debug Interface Architecture, Arm CoreSight™ Architecture, Arm AMBA® APB, AXI, AHB, and CHI protocols
- C/C++, Python, and Bash programming
- Experience using Arm Development Studio, TRACE32 PowerView, OpenOCD, and GDB debuggers
- Instruction trace, bus trace, scan dumps, array dumps, and crash capture
- Version control tools such as git, and software best practices
- Analytical, debugging, and testing methodology skills
- System software debugging, tracing, and analysis tools, such as perf, ftrace, etc, is recommended
Benefits
- Premium medical insurance, dental insurance, vision insurance, as well as income protection and a 401K retirement plan
- Unlimited Flextime and 10+ paid holidays
- Variety of healthy snacks, energizing espresso, and refreshing drinks
Pay
The full base pay range for this role is between $225,500 and $338,500, except in the San Francisco Bay Area where the range is between $237,000 and $356,000.
Schedule
Flexible scheduling is available.