About the job
Waymo is a pioneering company in the realm of autonomous driving technology, striving to become the world's most reliable driver. Originating from the Google Self-Driving Car Project in 2009, Waymo's focus has been on developing the Waymo Driver, The World's Most Experienced Driver™, to enhance mobility access and prevent the thousands of lives lost in traffic accidents. The Waymo Driver not only fuels Waymo’s fully autonomous ride-hail service but is also adaptable to various vehicle platforms and applications. With over ten million rider-only trips enabled by the autonomy of driving more than 100 million miles on public roads and tens of billions of miles in simulation across more than 15 U. S. states, we are committed to safety and innovation.
As part of Waymo's Compute Team, you will play a crucial role in delivering the compute platform that powers the software stack of our fully autonomous vehicles. Our mission involves architecting and creating high-performance custom silicon, developing system-level compute architectures that maximize performance, power efficiency, and reduce latency, while closely collaborating with cross-functional teams to ensure optimal hardware and software integration.
This position follows a hybrid work schedule and reports to a Silicon Engineering Lead.
Key Responsibilities:
- Work collaboratively with Design, Verification, and Software teams to simulate upcoming silicon designs and software on an emulation platform, ensuring both functional and performance validation, while accelerating software development.
- Design, implement, and refine emulation testbenches, optimizing for performance and debugging capabilities in alignment with user requirements and hardware limitations.
- Develop end-to-end synthesizable transactors for engaging with emulated designs via software APIs and C-DPI.
- Identify, analyze, and resolve issues in collaboration with emulation users, utilizing waveform analysis, software logging, and custom-built emulation monitors.
- Support post-silicon bring-up, debugging, and characterization efforts.
- Establish infrastructure to facilitate the emulation user base, including tools for model building, regression testing, automation, continuous integration, data analytics, and training.
