- Location
- Austin, TX, United States of America · Santa Clara, California, United States
- Type
- Full-time
- Department
- Engineering
- Seniority
- Lead
- Education
- PhD
- Source
- Workday
Description
About SiFive
As the pioneers who introduced RISC-V to the world, SiFive is transforming the future of compute by bringing the limitless potential of RISC-V to the highest performance and most data-intensive applications in the world. SiFive’s unrivaled compute platforms are continuing to enable leading technology companies around the world to innovate, optimize and deliver the most advanced solutions of tomorrow across every market segment of chip design, including artificial intelligence, machine learning, automotive, data center, mobile, and consumer. With SiFive, the future of RISC-V has no limits.
At SiFive, we are always excited to connect with talented individuals, who are just as passionate about driving innovation and changing the world as we are.
Our constant innovation and ongoing success is down to our amazing teams of incredibly talented people, who collaborate and support each other to come up with truly groundbreaking ideas and solutions. Solutions that will have a huge impact on people's lives; making the world a better place, one processor at a time.
Are you ready?
To learn more about SiFive’s phenomenal success and to see why we have won the GSA’s prestigious Most Respected Private Company Award (for the fourth time!), check out our website and Glassdoor pages.
Job Description:
About the Role
SiFive is looking for a Principal Design Verification Engineer to lead verification strategy and execution for CPU Core Hardware Prefetch in a high-performance out-of-order core.
This is a senior tech-lead role for an engineer who can define architecture-aware verification strategy, identify microarchitectural risk early, solve the hardest hardware prefetch verification problems, and raise verification quality across the broader CPU DV organization.
The primary technical scope of this role is advanced hardware prefetch verification, with emphasis on prefetch training behavior, stream detection and replacement, request generation, issue-queue behavior, DCache interactions, feedback-driven aggressiveness control, CSR configurability, and functional correctness across block-level and core-level integration contexts.
You will work closely with architecture, RTL, performance, software, and verification teams to ensure design intent is captured correctly, risks are identified early, and signoff quality is achieved with strong technical judgment and scalable methodology.
Responsibilities
- Lead verification planning and execution for CPU hardware prefetch functionality in a high-performance out-of-order core, with ownership spanning unit-level and core-level verification strategy, debug, coverage closure, and signoff readiness.
- Define verification strategy, test plans, checkers, scoreboards, assertions, stimulus strategies, and coverage models for advanced hardware prefetch microarchitecture and its corner cases.
- Drive verification of hardware prefetch behaviors including stream allocation and replacement, training from demand requests, prefetch generation, request replay and kill behavior, issue-queue interactions, and feedback-driven control of prefetch aggressiveness.
- Verify correctness of runtime configurability through hardware prefetch CSRs, including enablement, windowing, initial distance, maximum allowed distance, linear-to-exponential growth thresholds, queue-allocation controls, and thresholds tied to L1/L2 cache and MSHR behavior.
- Drive verification of interactions between the hardware prefetch engine and the memory hierarchy, including DCache pipeline behavior, cacheable-read-only training conditions, MSHR fullness backpressure, L1/L2 prefetch targeting, and arbitration with other core-generated traffic.
- Develop verification strategies for difficult corner cases such as stream misconfirmation and untraining, queue unavailability, threshold-triggered throttling, page-boundary behavior, multi-stream behavior, and correctness under diverse operating modes and software-programmed configurations.
- Use architectural counters, self-checking tests, and microarchitectural observability to validate that prefetch behavior is both functionally correct and robust across realistic performance-sensitive traffic patterns.
- Partner with architects and designers from early feature-definition stages to review specifications, identify ambiguity, improve debugability, and influence the design from a verification perspective.
- Apply the right verification method for the problem, including simulation, formal techniques, emulation, and performance-oriented validation where appropriate for high-risk or hard-to-observe hardware prefetch behaviors.
- Drive efficient failure analysis and root-cause debug across specification, RTL, test content, assertions, and verification infrastructure.
- Mentor engineers across the organization and shape reusable verification approaches, infrastructure, and methodology for future CPU core generations.
Minimum Qualifications
- BS, MS, or PhD in Electrical Engineering, Computer Engineering, Computer Science, or a related field.
- 12+ years of relevant experience in CPU/core or SoC functional verification, with substantial experience appropriate for a Principal / T6 role.
- Direct experience with out-of-order CPU core verification and strong understanding of CPU microarchitecture.
- Deep expertise in hardware prefetch verification or closely related CPU memory-subsystem verification, with the ability to translate architectural intent into an effective verification strategy and execution plan.
- Strong knowledge of verification flow methodology, including test planning, stimulus generation, failure analysis, coverage analysis, and coverage closure.
- Strong debug skills and strong software or scripting fundamentals for building scalable DV infrastructure, automation, and analysis workflows.
- Strong understanding of CPU memory behavior, including ordering-sensitive interactions, cache hierarchy effects, and how hardware prefetch interacts with demand traffic and system performance.
Preferred Qualifications
- Experience verifying advanced hardware prefetch architectures, such as stride-based or stream-based prefetchers with training, confirmation, throttling, and adaptive distance control.
- Experience verifying prefetch engines integrated with DCache or memory-subsystem pipelines, including interactions with issue queues, MSHRs, cache feedback, and replay behavior.
- Experience developing or reviewing verification content that uses performance counters, constrained-random traffic, directed corner-case scenarios, and software-driven stress patterns to validate hardware prefetch correctness.
- Experience with formal verification to target bounded, control-heavy, or interface-sensitive microarchitectural problems.
- Experience using emulation or other acceleration techniques to improve turnaround on large CPU verification workloads.
- Experience collaborating effectively with performance, compiler, system verification, and software teams to close verification gaps from multiple perspectives.
- Demonstrated technical leadership through mentoring, methodology influence, and cross-team execution on complex CPU verification efforts.
What Success Looks Like
- Hardware prefetch verification plans capture the real architectural and microarchitectural risks early and completely.
- Difficult bugs in prefetch training, stream management, queue behavior, throttling, page handling, and DCache interaction are found early, debugged efficiently, and closed with durable solutions.
- Verification quality improves across the broader CPU DV organization through stronger methodology, reusable infrastructure, and clear technical leadership.
- Architecture, design, and DV teams rely on this engineer to solve the most complex hardware prefetch verification challenges in high-performance CPU development.
Working on solving verification challenges of memory management units that are being reused across several different generations of the Cores, as well as IO memory management unit. This includes hypervisor, virtualization, and guest virtualization.
BS/MS/Ph.D in EE, CE or CS
12+ years relevant experience with Core/CPU functional verification
8+ years direct experience on memory management verification
Deep understand of computer architecture
Seasoned developer using object oriented programing principles
In addition to base pay, this role may be eligible for variable/ incentive compensation and/ or equity. In addition, this role is eligible for a comprehensive, competitive benefits package which may include healthcare and retirement plans, paid time off, and more!
Additional Information:
This position requires a successful background and reference checks and satisfactory proof of your right to work in
United States of AmericaAny offer of employment for this position is also contingent on the Company verifying that you are a authorized for access to export-controlled technology under applicable export control laws or, if you are not already authorized, our ability to successfully obtain any necessary export license(s) or other approvals.
SiFive is an equal opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees.
As an E-Verify employer, we use this system to confirm the employment eligibility of all new hires in accordance with federal law. All applicants will be required to complete a Form I-9, Employment Eligibility Verification, upon hire. We do not use E-Verify to pre-screen job candidates and will comply with all E-Verify regulations.