Rivian

Sr. RTL Design Engineer

Rivian$146K — $183K *
Enterprise Technology
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • Bachelor's degree in Electrical Engineering, Computer Engineering, or a related field, or equivalent experience.
  • Professional experience designing and delivering synthesizable RTL for ASIC, SoC, or complex digital hardware.
  • Strong proficiency in Verilog and SystemVerilog for RTL design.
  • Understanding of synchronous digital design, pipelining, and finite-state machines.
  • Experience in debugging RTL through simulation and waveform analysis.
  • Ability to contribute to architectural and verification specifications.
  • Strong communication skills for clear design documentation.

Responsibilities

  • Design, implement, integrate, and debug synthesizable RTL blocks.
  • Translate architectural specifications into maintainable RTL and documentation.
  • Develop datapaths, control logic, memory interfaces, and status logic.
  • Define and review block-level interfaces and error handling features.
  • Utilize AI agents to enhance RTL development efficiency.
  • Collaborate with verification engineers to create test plans and debug strategies.
  • Investigate issues across RTL, verification, and implementation flows.

Benefits

  • Comprehensive benefits package including medical, dental, and vision coverage.
  • Paid vacation and sick leave.
  • 401(k) Plan and Employee Stock Purchase Program participation available.
  • Coverage begins for full-time employees on their first day.
  • Coverage for part-time employees starts the first of the month after 90 days.
Full Job Description
Role Summary

We are seeking an RTL Design Engineer to join the Neural Network Engine (NNE) design team in Palo Alto. In this hands-on role, you will design and deliver production-quality RTL for compute, memory, datapath, and control blocks in an advanced SoC environment.

You will work from architectural and microarchitectural requirements, turn them into clean and synthesizable SystemVerilog, and partner closely with design verification, physical design, firmware, compiler, and silicon-validation engineers. The ideal candidate is comfortable owning a block from definition through implementation, debug, quality checks, and integration.

Responsibilities

  • Design, implement, integrate, and debug synthesizable RTL for NNE blocks and interfaces.
  • Translate architectural and microarchitectural specifications into clear, maintainable RTL and supporting design documentation.
  • Develop pipelined datapaths, control logic, finite-state machines, queues, counters, memory interfaces, and configuration/status logic.
  • Define and review block-level interfaces, including data movement, handshakes, clocking, reset behavior, and error handling.
  • Develop and utilize AI agents to streamline RTL development tasks
  • Design with performance, power, area, functional safety, and physical implementation constraints in mind.
  • Collaborate with design verification engineers to create test plans, assertions, coverage goals, and debug strategies.
  • Use simulation, lint, CDC/RDC, formal or equivalence checking, synthesis, and timing analysis to evaluate and improve RTL quality.
  • Investigate functional, performance, timing, and power issues across RTL, verification, and implementation flows.
  • Participate in design reviews and contribute to coding standards, reusable RTL patterns, and development methodology improvements.
  • Support block integration, regression closure, RTL handoff, and pre-silicon validation.
  • Communicate design decisions, assumptions, risks, and trade-offs clearly across partner teams.


Qualifications

  • Bachelor's degree in Electrical Engineering, Computer Engineering, or a related technical field, or equivalent practical experience.
  • Professional experience designing and delivering synthesizable RTL for ASIC, SoC, or other complex digital hardware.
  • Strong proficiency in Verilog and SystemVerilog.
  • Understanding of synchronous digital design, pipelining, finite-state machines, interfaces, memories, and reset/clock behavior.
  • Experience debugging RTL through simulation and waveform analysis.
  • Ability to read and contribute to architectural, microarchitectural, interface, and verification specifications.
  • Strong written and verbal communication skills, especially to write clear design documentation, with a collaborative and ownership-oriented approach.
  • A disciplined approach to writing simple, readable, reusable, and verifiable RTL.
  • Curiosity about how architecture, implementation, verification, and physical design interact.
  • Comfort working through ambiguous problems, making explicit assumptions, and iterating with partner teams.
  • A bias toward early validation, clear documentation, and high-quality handoffs.
  • The ability to balance block-level ownership with system-level thinking.

Preferred qualifications
  • Experience with compute engines, neural-network accelerators, floating point computation, memory subsystems, high-throughput datapaths, or SoC control logic.
  • Experience with clock-domain crossings, reset-domain crossings, clock gating, power-aware design, or functional-safety concepts.
  • Familiarity with RTL quality and implementation flows such as lint, CDC/RDC, formal/equivalence checking, synthesis, static timing analysis, and power analysis.
  • Experience with Synopsys VCS, Verdi, or comparable simulation and debug tools.
  • Experience building Python or other software models to explore architecture, validate behavior, or accelerate RTL development.
  • Experience with Git-based development, code review, continuous integration, and automated regressions.
  • Familiarity with physical-design constraints and PPA trade-offs.
  • Experience working across hardware, firmware, compiler, verification, physical design, and silicon-validation teams.
  • Experience developing hardware for automotive, safety-critical, or other reliability-sensitive applications.

Pay Disclosure

The listed base salary range for this role is $146,00 - $183,000 for San Francisco Bay Area based applicants. This is the lowest to highest salary we in good faith believe we would pay for this role at the time of this posting. An employee's position within the salary range will be based on several factors including, but not limited to, specific competencies, relevant education, qualifications, certifications, experience, skills, geographic location, shift, and organizational needs.

We offer a comprehensive package of benefits for full-time and part-time employees, their spouse or domestic partner, and children up to age 26, including but not limited to paid vacation, paid sick leave, and a competitive portfolio of insurance benefits including life, medical, dental, vision, short-term disability insurance, and long-term disability insurance to eligible employees. You may also have the opportunity to participate in Rivian's 401(k) Plan and Employee Stock Purchase Program if you meet certain eligibility requirements. Full-time employee coverage is effective on their first day of employment. Part-time employee coverage is effective the first of the month following 90 days of employment. More information about benefits is available at rivianbenefits.com.

About Rivian

Rivian is an American automaker and automotive technology company. Founded in 2009, the company develops vehicles, products and services related to sustainable transportation. Rivian has raised over $10.5 billion since 2019, with investments from Amazon, Ford, and Cox Automotive. The company's first two vehicles, the R1T and R1S, are electric vehicles that are expected to be released in 2021. Rivian has also announced plans to produce electric delivery vans for Amazon. The company has received praise for its focus on sustainability and its commitment to using recycled materials in its vehicles.
Learn more about Rivian
Size
10,000 employees
Market Cap
$16.8 billion
Industry
Founded
2009
NASDAQ

Similar Jobs

More Jobs at Rivian

More Enterprise Technology Jobs

Find similar Sr. RTL Design Engineer jobs: