Jobs · Engineering · California

Software Engineer - FPGA-Accelerated RTL Simulation

SiFive · Berkeley, CA · 1 wk ago
HybridEngineering$179k–$219k/yrFull-time

About SiFive

As the pioneers who introduced RISC-V to the world, SiFive is transforming the future of compute by bringing the limitless potential of RISC-V to the highest performance and most data-intensive applications. SiFive’s unrivaled compute platforms enable leading technology companies to innovate, optimize, and deliver advanced solutions across markets such as artificial intelligence, machine learning, automotive, data center, mobile, and consumer. Our teams collaborate to create groundbreaking ideas and solutions that impact lives by making the world a better place, one processor at a time.

About the Role

You will be responsible for the C++ application that constitutes the software component of our custom hardware emulation framework (originally based on FireSim). Join a small team (<5 engineers) working on a cross-cutting project that spans the whole stack. You will work closely with:

  • FPGA RTL Designers: Components of our FPGA-hosted emulators are written in Chisel and optimized for Xilinx FPGAs.
  • Compiler Developers: We compile ASIC RTL down to deterministic, FPGA-friendly emulation RTL using a purpose-built compiler based on MLIR & CIRCT.
  • RISC-V Software & HW Developers: Build debug tools to help users co-design and debug novel RISC-V hardware and software.

Your experience should be rooted in high-performance, multithreaded C++ application development. Familiarity with compiler development (ideally LLVM or MLIR) or FPGA RTL design is highly desired but not required. You will help build the next generation of hardware emulation capacity for our RISC-V core IP—making it fast for software development, productive to debug, and cost-effective for deployment to every engineer in the company.

Requirements

  • BS/MS/PhD in CS, CE, or EE.
  • 7+ years of experience building complete C++ applications, using modern C++ language features and best practices (C++20 and newer).
  • Strong understanding of C++ concurrency features and demonstrated experience building multithreaded applications.
  • Self-directed, with strong oral and written communication skills.

Pay

SiFive has a market-based pay structure that varies by location. The base pay range is a guideline reflecting the cost of labor in the U.S. geographic market based on the role’s location. Pay within this range depends on job-related knowledge, skills, and relevant work experience. The starting salary will vary based on qualifications, skill level, competencies, and work location.

Base Pay Range: $178,848.00–$218,592.00

In addition to base pay, this role may be eligible for variable/incentive compensation and/or equity.

Benefits

This role is eligible for a comprehensive, competitive benefits package which may include healthcare and retirement plans, paid time off, and more.

This position requires successful background and reference checks and satisfactory proof of your right to work in the United States of America. Any offer of employment is contingent on the Company verifying authorization for access to export-controlled technology under applicable laws or obtaining any necessary export license(s) or approvals.

Similar jobs

Hardware Engineer, RTL

Genoa VenturesNew York, NY· 1 mo ago
Engineering$205k–$285k/yrapply on jobs.ashbyhq.com

FPGA Engineer

ActalentMelbourne, FL· 5 days ago
Engineering$75–$90/hrapply on ars2.equest.com