
Formal Verification Engineer – Firmware
NVIDIA
full-time
Posted on:
Location Type: Remote
Location: Remote • California, Texas • 🇺🇸 United States
Visit company websiteSalary
💰 $108,000 - $184,000 per year
Job Level
Mid-LevelSenior
Tech Stack
PerlPython
About the role
- Develop high-level, mathematically precise models and specifications for complex firmware behaviors (e.g., security protocols, memory management, boot sequencing) using formal specification
- Apply various formal verification techniques, including Model Checking, Theorem Proving, and Equivalence Checking, to verify firmware correctness.
- Focus on the interface between hardware and firmware, formally verifying critical handshakes, register accesses, and control flows.
- Develop abstract models of hardware components (e.g., MMIO registers, state machines) required for firmware verification.
- Analyze counterexamples generated by formal tools to identify root causes of design/firmware flaws.
- Research, evaluate, and integrate new formal verification methodologies, tools, and algorithms to improve efficiency and coverage.
Requirements
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field or equivalent experience (Ph.D. is a plus).
- 3+ years of relevant experience in formal verification of hardware, software, or embedded systems.
- Good understanding of the principles of Model Checking and/or Theorem Proving.
- Strong proficiency in C/C++ (for firmware analysis) and scripting languages (e.g., Python, Perl).
- Direct experience verifying critical firmware components such as Boot ROM/BIOS, Security Enclaves, Power Management, or Interrupt Controllers.
- Experience with specialized techniques like Abstract Interpretation, SAT/SMT Solvers, or employing formal approaches in security-critical code.
Benefits
- equity
- benefits 📊 Check your resume score for this job Improve your chances of getting an interview by checking your resume score before you apply. Check Resume Score
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard skills
formal verificationModel CheckingTheorem ProvingEquivalence CheckingCC++PythonPerlAbstract InterpretationSAT/SMT Solvers