Back to results

Closed listing

Formal Verification Engineer

  • Markham, ON, Canada

$140,000 to $250,000 USD / year · Full-time

This opening has closed.

The original listing is kept below for reference.

Job details

Pay
$140,000 to $250,000 USD / year
Job type
Full-time
Closing date
Experience
15+ years (Principal) or 4+ years (Senior Engineer) of design-verification experience, with hands-on formal verification.
Posting language
English
Posted

Similar jobs hiring now

Search current openings

Original job description

Archived listing. The details below describe a past opening.

Full-time

  • Multiple Levels
  • US / Canada / India


Nuvacore is building a ground-up high performance, low-power CPU for next-generation compute workloads. We are seeking Formal Verification Engineers at multiple levels - from Senior Engineer to Principal level - to help prove the Nuvacore CPU correct with formal methods. As part of the design verification (DV) team, you will turn micro-architecture specifications into properties, build the environments to prove them, and use model checking and equivalence checking to exhaustively hunt deep, corner-case bugs - establishing correctness long before silicon, working shoulder-to-shoulder with the design team.

THE ROLE

  • Plan & Strategy: Drive the verification scope and formal test plan for each verification problem - turning the micro-architecture specification into the properties to prove.
  • Formal Environment: Build the formal environment - assumptions, constraints, assertions, and cover properties - plus reusable, optimized formal models.
  • Proof & Bug Hunting: Apply model checking, equivalence checking, and abstraction to reach full or bounded proofs, and hunt deep bugs in areas such as cache coherence, memory consistency, and speculative execution.
  • Debug & Design Feedback: Debug counterexamples to root cause and partner directly with designers to fix and improve the micro-architecture.
  • Flow & Automation: Build and maintain the end-to-end formal flow - automation (Python/TCL), assertion libraries shared across formal and simulation, and tool-issue resolution with vendors.
  • Cross-functional Collaboration: Review formal setups and proofs with the design team, and partner closely across the DV team.


Requirements - Must Have

  • Degree in Electrical/Computer Engineering, Computer Science, or Mathematics, or equivalent practical experience.
  • 15+ years (Principal) or 4+ years (Senior Engineer) of design-verification experience, with hands-on formal verification.
  • Hands-on formal techniques - model checking and/or equivalence checking - through to proof convergence.
  • Strong Verilog/SystemVerilog and assertions / temporal logic.
  • Strong knowledge of CPU micro-architecture and digital logic.
  • Strong scripting (Python; TCL/Perl a plus), analytical, and debug skills.


Requirements - Nice To Have

  • Proficiency with industry formal tools (e.g. Cadence JasperGold, Synopsys VC Formal, Siemens Questa Formal).
  • Taking complex verification problems to proof closure - abstraction, bounded-proof management, and equivalence checking (LEC/SEC) against golden references.
  • Formal verification of CPU domains such as cache coherence, memory consistency, speculative execution, or data path.
  • Security formal verification or theorem proving.
  • Understanding of how formal complements dynamic simulation, and shared assertion libraries.
  • Mentoring engineers and collaborating across distributed teams.


We may use artificial intelligence (AI) tools to support parts of the hiring process, such as reviewing applications, analyzing resumes, or assessing responses and identifying potential inconsistencies or verification signals in application materials based on available information. These tools assist our recruitment team but do not replace human judgment. Final hiring decisions are ultimately made by humans. If you would like more information about how your data is processed, please contact us.
More about this job

Responsibilities

Develop formal verification plans and environments by translating CPU microarchitecture specifications into properties, assumptions, constraints, assertions, and reusable models. Use model checking, equivalence checking, and abstraction to prove designs and find bugs, debug counterexamples with designers, and maintain formal automation and shared verification flows.

Requirements

Requires a degree in Electrical or Computer Engineering, Computer Science, or Mathematics, or equivalent practical experience, plus hands-on design verification and formal verification experience: 4+ years for Senior Engineer or 15+ years for Principal. Candidates should have experience with model checking or equivalence checking, strong Verilog/SystemVerilog and temporal-logic assertion skills, CPU microarchitecture and digital logic knowledge, and scripting and debugging abilities.

Skills

  • Formal Verification
  • Model Checking
  • Equivalence Checking
  • Verilog
  • SystemVerilog
  • Assertions
  • Temporal Logic
  • CPU Microarchitecture
  • Digital Logic
  • Python
  • TCL
  • Counterexample Debugging
  • Formal Modeling
  • Cache Coherence
  • Memory Consistency
  • Speculative Execution

Visa sponsorship

Not detected in the job text

Categories

  • Engineering
  • Technology
  • Software

Keywords

  • Formal Verification
  • Design Verification
  • CPU
  • Microarchitecture
  • Model Checking
  • Equivalence Checking
  • Verilog
  • SystemVerilog
  • Assertions
  • Temporal Logic
  • Python
  • TCL
  • Perl
  • Formal Environment
  • Formal Models
  • Abstraction
  • Proof Convergence
  • Bounded Proofs
  • Cache Coherence
  • Memory Consistency
  • Speculative Execution
  • Data Path
  • LEC
  • SEC
  • Cadence JasperGold
  • Synopsys VC Formal
  • Siemens Questa Formal
  • Assertion Libraries
  • Dynamic Simulation
  • Theorem Proving

Report this job