This role is ideal for computer engineers passionate about VLSI design and verification. As a verification engineer at IBM, you will work on the systems at the forefront of the quantum revolution in the era of artificial intelligence. You will collaborate with a team of computer engineers responsible for the design and verification of next-generation AI enabled systems which include IBM z17, Power 11, and the Spyre AI Accelerator. The team spans all aspects of CPU, I/O, cache, AI accelerators, and other custom subsystems and system-on-chip (SoC) designs. This position offers opportunities to develop deep technical expertise in hardware verification and to contribute to the design of cutting-edge computing systems.
The verification team is based in Poughkeepsie NY, Austin TX, and Rochester MN. The greater hardware development organization spans multiple geographies across the United States and the world including Isreal, India, and Germany.
As a CPU Design Verification Engineer, you will contribute to the pre-silicon functional verification of IBM high-performance microprocessor and ASIC designs. This opportunity covers multiple subsystems and chipsets including the CPU core, cache, and memory subsystems, and other on-silicon system-on-chip components used for next-generation product lines spanning IBM Z systems, the Spyre AI Accelerator, IBM Power systems, and IBM Q. You will leverage state of the art techniques to simulate and verify the microprocessor designs of these custom high-performance computing systems. The job requires both hardware and software computer engineering skills. It entails creating environments and methodologies for simulating VHDL input, and analysis and problem troubleshooting. You will use a proprietary C++ test bench for logical circuit simulation and collaborate with hardware design teams to ensure comprehensive and effective verification coverage. In this role, you will perform many of the following activities: identify simulation coverage gaps and unanticipated edge cases, stress-test hardware operations with complex input stimuli, modify simulation parameters to exercise specific hardware features, benchmark hardware performance, and collaborate on hardware design specifications to ensure verification feasibility.
· Strong programming proficiency in C++, Python, or similar languages.
· Experience with script-based programming such as Bash and Linux-based computing systems.
· Understanding of VLSI design structures, VHDL, RTL, and circuit simulation.
· Knowledge of instruction set architectures (ISA) including MIPS, RISC, CISC, or ARM, as well as microcode, and assembly language implementations.
· Knowledge of computer architecture principles and computer engineering practices.
· Strong abstract and critical thinking, problem-solving, and a high capacity for learning.
· Effective communication and collaborative decision-making skills
· Familiarity with scripting languages including Python, TCL, or SKILL.
· Program debug and troubleshooting tools such as GDB or TotalView.
· Experience with code refactoring and modular software design.
· Experience with various design environments and frameworks including Verilog, System Verilog, UVM, SystemC, SPICE simulation, or FPGA design.
· Exposure to circuit emulation, formal verification, DevOps, or process automation