About the Role
We are seeking an Engineer experienced in both software and hardware design to build FPGA-based applications. You will focus on the ground-up design and implementation of new FPGA applications, and extend/refine high-level design and testing tools. Your work will primarily involve OCaml & Hardcaml for RTL design and testing, with exposure to Verilog and C. No prior Hardcaml knowledge is required, but a background in typed programming languages is beneficial.
Responsibilities
- Design and implementation of new FPGA applications
- Extend and refine high-level design and testing tools
- RTL design and testing/integration using OCaml & Hardcaml
- Work with Verilog and C
Requirements
- Smart programmer with a software engineering mindset
- Top-notch programmer with a love for technology
- Comfortable with a software programming language
- Intellectually curious, collaborative, and eager to learn
- Humble and unafraid to ask questions and admit mistakes
- Experienced with a Hardware Description (or Construction) language (VHDL, Verilog, Chisel, Pymtl, or other), for both writing and testing hardware designs
- Experienced working with FPGA vendor tools (Vivado or Quartus)
- Experienced with building a working FPGA project through an academic, professional, or personal project
- Interested in learning how to use FPGAs in the context of networking
- Fluent in English
Skills
- Software design
- Hardware design
- FPGA
- OCaml
- Hardcaml
- Verilog
- C
- Typed programming languages
- Hardware Description Language
- Hardware Construction Language
- FPGA vendor tools
- Vivado
- Quartus
About the Company
- We are big believers in the ability of tools to make programming faster, more pleasant, and more reliable.
- We apply these principles to our FPGA Engineering work.
- We are looking for people interested in using programming language technology to improve the process of designing, testing, and validating hardware designs.
- We use Hardcaml, an OCaml library for succinctly describing hardware in RTL.
- Hardcaml is tightly integrated into our development environment.
- You will gain exposure to the libraries and tools that are foundational to our internal systems.
- We are more interested in how you think and learn than what you currently know.
