Advanced Micro Devices logo

Hardware/Software Co-Design Engineer

Advanced Micro Devices
Full-time
Remote friendly (San Jose, California, United States)
Worldwide
Level - Mid-Career

Role Overview

The position involves developing hardware/software co-design solutions primarily aimed at FPGA-based acceleration across multiple sectors including networking, automotive, and AI/ML workloads. Key responsibilities include designing and integrating high-performance hardware acceleration engines with embedded software, ultimately enabling advanced computing platforms.

Position Details

Work collaboratively within a small team focused on pushing technological boundaries and driving product development from conception through to implementation and support phases.

Experience Level

This position is suitable for mid-career professionals who possess a solid understanding of digital design and system validation.

Key Responsibilities

  • Engage in all stages of product development, from exploration and architecture to validation and support.
  • Collaborate with hardware engineers and firmware specialists to devise and implement new features.
  • Develop, verify, and validate logic using SystemVerilog/Verilog, focusing on high-performance control paths and data interfaces.
  • Create firmware and software for ARM Cortex or RISC-V cores, ensuring effective communication and operations within embedded systems.
  • Utilize AMD (Xilinx) tools for integration efforts among custom IPs, memory, and sub-systems.
  • Conduct pre and post-silicon validation, overseeing lab processes and validation of software-hardware interactions.

Required Qualifications

  • Expertise in SystemVerilog/Verilog, with an emphasis on synchronous designs and timing for high-speed logic.
  • Proficiency in C/C++ for bare-metal programming targeting ARM/RISC-V cores.
  • In-depth understanding of protocols such as PCIe, Ethernet, and DDR.
  • Familiarity with UVM-based verification and hardware debugging tools like oscilloscopes and protocol analyzers.
  • Experience with Python, Tcl, Makefiles, and Shell scripting for automation tasks.

Education Requirements

A Bachelor’s or Master’s degree in Computer Engineering or Electrical Engineering is required.