Principal Software Engineer
Cadence Design SystemsJob Title
Principal Software Engineer
Role Summary
Lead ownership of an end-to-end automation flow that compiles neural networks (XNNC), executes generated RTL on Palladium emulation, and drives Joules gate-level power analysis. Produce validated performance and power collateral and provide operational support and enablement for internal users of the collateral automation project.
Experience Level
Senior - typically requires 10+ years of software or embedded development experience and 3+ years working with AI frameworks or network compilation tooling.
Responsibilities
Primary responsibilities include maintaining automation, generating collateral, and supporting users.
- Own, maintain, and enhance the end-to-end automation flow for XNNC compilation, Palladium Z3 emulation runs, and Joules gate-level power analysis.
- Develop and maintain orchestration scripts and tooling (Python, CSH, Bash) that integrate the flow steps and EDA tools.
- Add support for new AI network configurations, hardware accelerator variants, reference builds, and EDA tool revisions.
- Maintain documentation, patches, reference configurations, and reproducible build/run instructions.
- Identify, debug, and resolve automation, infrastructure, and tool-integration issues across the workflow.
- Generate performance and power collateral for each processed neural network, collecting metrics from XTSC simulation, Palladium emulation, and Joules analysis.
- Deliver standardized outputs (cycle-count CSVs, power CSVs, consolidated summary reports) and validate result quality, consistency, and reproducibility.
- Serve as the primary internal contact for the COLLATERAL-AUTO project: onboard users, triage run issues, and review performance/power summaries for correctness.
- Create reusable guidance, troubleshooting documentation, and reliable reference workflows to improve team productivity.
Requirements
Must-have technical skills and experience.
- 10+ years of experience in embedded software or general software development roles.
- 3+ years working with AI frameworks, AI network compilation, or related tooling.
- Experience with one or more of: TensorFlow, PyTorch, ONNX, Apache TVM, or AI network compilers.
- Strong Python scripting skills and proficiency with CSH and Bash shell scripting.
- Working knowledge of JSON and automation-oriented configuration formats.
- Understanding of hardware edge-AI accelerators, RTL execution flows, and performance analysis.
- Familiarity with debugging complex software, toolchain, and multi-stage automation issues.
Nice-to-have / Preferred:
- Experience using AI-assisted development tools for prototyping and prompting.
- Experience with Cadence tools (Palladium, Joules) or equivalent EDA/emulation/power-analysis workflows.
- Familiarity with IP design platforms, RTL simulation/emulation, and gate-level power analysis.
- Strong written communication for technical documentation, runbooks, and reports.
Education Requirements
Bachelor's or Master's degree in Software Engineering, Electronics Engineering, Electrical Engineering, Computer Engineering, or a related discipline.
About the Company
Company: Cadence Design Systems
Headquarters: San Jose, California, USA
Cadence Design Systems is a global electronic design automation company that provides software, hardware, and intellectual property for designing advanced semiconductor chips. With over 25 years in the industry, Cadence is known for its innovative technology solutions and has been recognized by Fortune Magazine as one of the 100 Best Companies to Work For. The company is dedicated to solving complex technical challenges in order to enable customers to create revolutionary products and experiences.
