CPU Design Verification Engineer - Full Time
- Market p25–p75
- $161k–$239k
- RosaicLabs p25–p75
- $188k–$200kn=8
- Opened · 30d
- +0
- Closed · 30d
- −1
- Opened · 7d
- +2,3606% of open
- All software engineering
- 75,189open
What you'll do
Drive CPU verification strategy, develop test plans for functional blocks based on specifications targeting micro-architectural & ISA features,
Architect, build and maintain SystemVerilog/C++ based testbench components, including stimulus generators, checkers, scoreboards, monitors, and reference models
Develop directed and pseudo-random tests from Random Instruction Generators to verify CPU functionality and stress corner cases
Define, implement, and close functional and code coverage goals, analyzing holes and driving them to closure
Debug & root-cause failures across RTL, testbench, and reference models, and work with RTL designers to root-cause and resolve bugs
Partner cross-functionally with RTL design, performance modeling, CAD/methodology, and software teams to align on verification strategy, improve tools and flows, and drive shared quality, schedule, and tape-out goals.
Apply formal verification, assertions (SVA), and emulation where appropriate to improve verification quality and efficiency
Run and maintain regressions across various platforms including Simulation, Emulation, FPGA’s and track bug trends and verification progress metrics
Participate in microarchitecture, RTL, and verification reviews and write technical documentation
What we're looking for
Bachelor's or Master's degree (or near-term graduation) in Electrical Engineering, Computer Engineering, Computer Science or a related field.
Strong foundation in computer architecture and digital design, with solid understanding of at least two of the following:
Out-of-order execution
CPU front-end / control logic
Load/store and memory systems
Cache hierarchy and coherency
Virtual memory
Floating-point / computer arithmetic
SIMD / vector processing
Working knowledge of a modern ISA including familiarity with ISA simulators or reference models
Proficiency in SystemVerilog, C/C++, assembly
Scripting experience for automation, test generation, regression management, or data analysis, such as Python, Tcl, or Rust
What you'll do
- Develop verification plans for the CPU core and cache hierarchy
- Write and debug SystemVerilog/UVM testbenches, checkers, and stimulus for your assigned block or subsystem
- Build tests, scoreboards, and reference models, and close functional and code coverage
- Triage and root-cause failures with RTL designers and drive bugs to resolution
- Participate in design and verification reviews and document your verification environment and results
- Verify the core against an ISA reference model using random instruction generation and co-simulation
What we're looking for
- BS/MS in Electrical Engineering, Computer Engineering, Computer Science, or related field
- Recently completed coursework in digital design and verification, covering at least one of: computer microarchitecture; digital logic and RTL design; constrained-random and coverage-driven verification
- Familiarity with verifying processor designs, such as: a modern ISA; out-of-order execution and memory ordering; cache coherency and virtual memory
- Hands-on SystemVerilog experience, including: testbench development (UVM preferred); assertions and functional coverage
- Understanding of the end-to-end ASIC design flow and general VLSI concepts
- Scripting experience (Python, Perl, or Tcl) for regression automation; C/C++ a plus