Language and Front End Design Engineer
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 in the world. SiFive’s unrivaled compute platforms have enabled leading technology companies around the world to innovate, optimize, and deliver the most advanced solutions of tomorrow across every market segment of chip design, including artificial intelligence, machine learning, automotive, datacenter, mobile, and consumer. With SiFive, the future of RISC-V has no limits.
As a Language and Front End Design Engineer in the Platform Engineering Technologies team, you will be responsible for architecting, building, and maintaining cutting-edge tools for System-on-Chip (SoC) design. You will apply your programming language expertise to design domain-specific languages for hardware design. You will participate in the open source Chisel (https://www.chisel-lang.org/) and CIRCT (https://github.com/llvm/circt) communities while ensuring that SiFive engineers have the best tools to build and verify advanced RISC-V CPUs, IPs, and SoCs. You will be part of a tight-knit, supportive, challenge-loving team who likes to learn and apply new technologies to change the paradigm of designing custom silicon.
Responsibilities:
- Develop and enhance embedded Domain Specific Languages (DSLs) in Scala and/or Swift, along with associated build tooling, for use by hardware industry professionals.
- Solicit and respond to user requests and feedback to continuously improve the tooling.
- Write excellent documentation, tutorials and help train experienced hardware designers and verification engineers in new techniques.
- Collaborate with colleagues to integrate with MLIR Compiler stack written in C++.
- Participate in open source communities such as Chisel and LLVM CIRCT.
Requirements:
- 3+ years of relevant industry experience or a PhD with relevant academic experience.
- Familiarity with object oriented and functional programming languages. Experience in Scala and/or Swift highly desirable.
- Ability to communicate and teach others both inside and outside the company.
- Exposure to hardware design, verification, or implementation techniques is a plus but not required.