We are seeking an experienced Principal Design Engineer - Microarchitect. Responsible for leading and owning RTL development of one or more modules of a high-performance CPU core. Hands-on working knowledge of the pipeline stages of an in-order or out-of-order high-performance CPU core is required. The candidate will be responsible for all aspects of the design including Performance, Power, and Area.
You will:
- Drive the micro-architecture and design of a critical CPU block or multiple blocks of a CPU core
- Explore high-performance strategies working with the CPU modeling team
- Perform Microarchitecture development and specification- from early high-level architectural exploration, through microarchitectural research and arrive at detailed specifications
- Configure Design Features Development, assessment, and refinement of RTL design to target power, performance, area, and timing goals
- Perform Functional verification support and assist in the design verification strategy
- Assist with the verification of RTL design performance goals
- Partner with a multi-functional engineering team to implement and validate physical design aspects of timing, area, reliability, testability, and power
Ideally, you’ll have:
- Thorough knowledge of microprocessor architecture including expertise in one or more of the following areas:
Instruction fetch and decode, branch prediction Instruction scheduling and register renaming Out-of-order execution Integer and Floating-point execution Load/Store execution, prefetching Cache and memory subsystems - Knowledge of Verilog and/or VHDL
- Experience with simulators and waveform debugging tools.
- Knowledge of logic design principles along with timing and power implications
- MS degree in Electrical or Computer Engineering with 10+ years or BS degree with 15+ years of practical experience
A plus if you have:
- Experience with designing RISC-V, ARM, and/or MIPS CPU
- Experience with Hardware multi-threading, virtualization, and SIMD designs
- Understanding of high-performance techniques and trade-offs in a CPU microarchitecture
- Understanding of low-power microarchitecture techniques
- Experience using a scripting language such as Perl or Python