Architectural Specification Automation
(US) Mountain View CA , Austin TX, Portland OR, Fort Collins CO /
Engineering – Software Engineering /
Full-time
We are working on software to improve the RISC-V ecosystem and help engineers build great RISC-V based systems.
At Rivos, we believe in embracing formal design and automation to increase productivity in both software and hardware development. Machine readable specifications are the key to automated hardware and software design, preventing numerous bugs. For example, RISC-V has chosen Sail from Cambridge as it’s formal modeling language. RISC-V Sail is integral in ensuring RISC-V designs conform to the formally specified architecture. The role will provide a candidate to dive deep into many cross functional disciplines helping Rivos and our customers design best in class products.
Responsibilities
- Add support for new instruction support to Sail RISC-V.
- Craft architecture tests to verify consistent behavior in RISC-V
- Develop code generators for Rust, C/C++, and SystemVerilog to automate hardware and software development.
- Develop documentation generators that utilize electronic datasheets.
- Work closely with Hardware and Software architects to define automation tools.
Requirements
- Understanding of Computer Architecture – both hardware and software interactions.
- Good understanding of hardware memory models such as x86 TSO, RISCV-WMO, ARM, etc. and software memory models such as C++11 is a plus.
- Experience writing/reading ARM ASL or similar architecture specification languages is a plus.
- Experience with SMT solvers and other formal verification techniques is a plus.
- Develop in an open source environment.
- Willing to learn and develop new technologies.
- Excellent problem solving skills, written, verbal & organizational skills, and highly self-motivated.
- Ability to work well in a team and be productive under aggressive schedules.
Education and Experience
PhD, Master’s Degree or Bachelor’s Degree in technical subject area.