MatX
Formal Verification Engineer
About this role
MatX is seeking a Formal Verification Engineer to ensure the correctness of their hardware and software at various levels of the stack through rigorous mathematical methods. The role involves applying formal verification techniques and collaborating with cross-functional teams to enhance the verification process.
What you'll do
- Perform model checking and formal property verification on RTL blocks
- Develop machine-checked proofs for compiler transformations
- Embed hardware description languages into theorem provers
- Collaborate with teams to identify and translate correctness properties
- Integrate formal tools into existing verification practices
What they're looking for
- Experience with hardware model checking
- Knowledge of interactive theorem provers
- Understanding of RTL microarchitecture
- Experience with compiler correctness proofs
- Ability to work in a small, dynamic team
Benefits
- Flexible equity compensation mix
- Subsidized health, dental, and vision insurance
- 4 weeks paid time off plus holidays
- Paid parental leave up to 12 weeks
- Learning and development allowance of $1,500
- 401K with 5% company contribution
Opens the application — the Jobs AI extension fills it for you. Set up autofill
Opens the official application on the employer’s site. No login required.
MatX
MatX builds cutting-edge AI silicon and the system software stack to power it, focusing on optimizing hardware and software for large-scale machine learning workloads. The company is hiring system software engineers, kernel developers, compiler engineers, hardware simulators, and SOC integration engineers to design high-performance AI compute platforms.
View all jobs at MatXLikely interview questions
- Walk us through a recent formal verification project where you wrote SVA or PSL properties. What was the hardest property to close, and how did you approach it?
- Describe your experience embedding a language or IR into a theorem prover. What was the most challenging part of the embedding, and how did you validate its correctness?