Software Engineer - Fpga Physical Implementation

AMD AMD · Semiconductors · Canada · Engineering

Software engineer role focused on developing and optimizing algorithms for FPGA physical implementation tools, including placement, routing, and timing. The role involves improving performance, scalability, and quality of results within AMD's FPGA toolchain, with exposure to emerging areas like Network-on-Chip architectures.

What you'd actually do

  1. Design, implement, and optimize algorithms for FPGA physical implementation tools, including placement, routing, and timing
  2. Develop and enhance optimization techniques to improve QoR, runtime, and memory usage
  3. Contribute to next-generation FPGA tool capabilities, including areas such as NoC-aware optimization and architecture modeling
  4. Analyze performance bottlenecks and apply data-driven approaches to improve system efficiency
  5. Collaborate closely with architecture, hardware, and software teams to deliver scalable solutions

Skills

Required

  • C/C++
  • data structures
  • algorithms
  • problem solving
  • optimization techniques

Nice to have

  • EDA tools
  • FPGA architecture
  • digital design
  • Network-on-Chip (NoC) concepts
  • graph theory
  • distributed systems
  • large-scale optimization problems
  • concurrent or performance-oriented programming
  • debuggers
  • profilers
  • version control systems