Senior Software R&d Engineer, Vlsi Physical Design

NVIDIA NVIDIA · Semiconductors · Austin, TX

Senior R&D Software Engineer to develop internal EDA tools by fusing advances in parallel computing, machine learning, and specialized algorithms for VLSI design, aiming to optimize chip frequency and minimize power consumption. The role involves inventing new optimization engines, improving algorithms in C++, and owning the process from discovery to deployment within design teams.

What you'd actually do

  1. Invent new optimization engines that fuse traditionally independent engines (e.g., co-optimization of legalization and sizing) with the objective of increasing chip frequency while minimizing power consumption across a suite of internal optimization tools.
  2. Improve algorithms (in C++) for gate-level sizing, buffering, useful clock skew, cell legalization, power minimization, ECO routing, and incremental parasitic extraction.
  3. As with any software engineering team, we do write a lot of code, but this is broader than a typical CAD or EDA role. Instead, we as a team own the whole process from discovery and invention of new optimization opportunities, to developing solutions and working directly inside design teams to facilitate deployment.

Skills

Required

  • 6+ years in VLSI algorithms development using C++
  • Strong understanding of VLSI timing optimization and related concepts, including cell libraries, interconnect models, crosstalk, glitches, IR drop, timing constraints, corners, congestion, etc.
  • Familiarity with design implementation tools such as ICC2, Innovus, PrimeTime, Tempus, and StarRC and typical design flows written in Perl, Tcl, and Python
  • Strong communication and interpersonal skills

Nice to have

  • C++14 or newer experience, such as lambdas and concurrency
  • Detailed understanding of how multiple Physical Design steps interact and how they can potentially be fused together to form hybrid engines that result in better PPA
  • Experience in high performance software design including multithreading, distributed computing, efficient memory and I/O use, etc.
  • Highly driven to craft outstanding software towards improving PPA with a dedication to continuous improvement
  • Experience with reinforcement learning, GNNs (Graph Neural Networks), and other relevant machine learning frameworks, especially as applied to physical design

What the JD emphasized

  • Creativity and self-drive to explore and perfect fast, high-capacity software is required.
  • Understanding both software and hardware aspects is the key.
  • fusing advances in parallel computing, machine learning, and specialized algorithms for VLSI design.