Cadence Design Systems, Inc. logo

Principal Software Engineer

Cadence Design Systems, Inc.
Posted 2 weeks ago

LOCATION

PUNE 04 · Onsite

EXPERIENCE

10+ Years

TYPE

FullTime

SKILLS REQUIRED

PythonBashPerformance ProfilingRTL DebuggingJSON ConfigurationShell ScriptingAutomation Pipelines

Job description

Overview

Serve as a Principal Software Engineer owning and enhancing the end-to-end automation flow for compiling neural networks, running generated RTL binaries, and generating performance and power collateral.

What you'll do

  • Own, maintain, and enhance the end-to-end automation flow used to compile neural networks using the XNNC compiler.
  • Run generated RTL binaries on Palladium Z3 emulation.
  • Drive Joules gate-level power analysis.
  • Develop and maintain Python, CSH, and Bash scripts that integrate and orchestrate the flow.
  • Add support for new AI network configurations, hardware accelerator variants, reference builds, and EDA tool revisions.
  • Maintain current documentation, patches, reference configurations, and reproducible build instructions.
  • Identify, debug, and resolve automation, infrastructure, and tool-integration issues across the workflow.
  • Generate complete performance and power collateral for each neural network processed through XNNC.
  • Collect and summarize cycle count, frames per second (FPS), and memory-bandwidth metrics from XTSC simulation.
  • Collect end-to-end performance metrics from Palladium emulation.
  • Collect dynamic power estimates, including total and memory power, from Joules gate-level analysis.
  • Deliver results consistently across reference builds in standard formats, including cycle-count CSVs, power CSVs, and consolidated summary reports.
  • Validate result quality, consistency, and reproducibility before collateral is shared with stakeholders.
  • Serve as the primary internal point of contact for users of the COLLATERAL-AUTO project.
  • Onboard new users and provide guidance on running the XNNC, Palladium, and Joules workflow.
  • Debug user runs and triage issues related to environments, scripts, CAD/EDA tools, and flow configuration.
  • Review performance and power summaries for correctness, completeness, and consistency.
  • Create reusable guidance, troubleshooting documentation, and reliable reference workflows to improve team-wide productivity.

What you'll need

  • 10+ years of experience in various embedded software or general software development roles.
  • 3+ years of experience 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.
  • 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.
  • Bachelor’s or Master’s degree in Software Engineering, Electronics Engineering, Electrical Engineering, Computer Engineering, or a related discipline.

Nice to have

  • Experience using AI-assisted development tools for rapid prototyping and effective technical prompting.
  • Experience with Cadence tools, including Palladium and Joules, or equivalent EDA/emulation/power-analysis workflows.
  • Familiarity with IP design platforms, RTL simulation or emulation, gate-level power analysis, and AI accelerator validation.
  • Strong written communication skills for producing technical documentation, runbooks, and performance/power reports.

Details

  • Location: Pune 04.

Read the full description and apply on the company’s own careers page.

Stay safe

Hiring on Abekus is free for applicants

We never charge a fee, and employers are prohibited from doing so. If a recruiter asks for payment, please report them right away.

Principal Software Engineer