FPGA Software Developer

Role Overview

The FPGA Boot-Up and Board Bring-Up Engineer will be responsible for initializing, validating, and debugging FPGA hardware platforms during the early development stages. This role involves configuring FPGA devices, establishing reliable board-level connectivity, and ensuring successful system bring-up for prototype and production hardware.

Key Responsibilities

1. FPGA Boot-Up

  • Develop and execute procedures for FPGA power-on initialization.
  • Configure bitstreams and validate device programming sequences.
  • Ensure proper clock, reset, and power sequencing during boot-up.

2. Board Bring-Up

  • Perform initial hardware validation of FPGA boards.
  • Test and verify connectivity of interfaces, including:
    • PCIe
    • DDR
    • GPIO
    • USB 3.2
    • UART
    • I2C
    • SPI
    • Other peripheral interfaces as required
  • Debug board-level issues using:
    • Logic analyzers
    • JTAG tools
    • Other hardware debugging equipment

3. System Validation

  • Execute functional tests to confirm FPGA integration with peripheral components.
  • Validate firmware and driver interactions with FPGA hardware.
  • Document bring-up procedures, test results, and corrective actions.

4. Collaboration

  • Work closely with hardware design teams to resolve schematic and PCB layout issues.
  • Coordinate with software engineers for device driver development and operating system integration.

Required Skills & Qualifications

  • Strong knowledge of FPGA architectures, including:
    • Xilinx
    • Intel (Altera)
    • Lattice
  • Experience in device driver programming using C/C++.
  • Hands-on experience with board bring-up and hardware debugging.
  • Proficiency in HDL design using Verilog and/or VHDL.
  • Experience with FPGA development toolchains, including:
    • Vivado
    • Quartus Prime
    • Lattice Diamond
  • Experience with:
    • Synthesis
    • Place-and-route
    • Bitstream generation
  • Expertise in debugging using laboratory equipment such as:
    • Logic analyzers
    • JTAG programmers
    • Oscilloscopes (preferred)
  • Familiarity with embedded systems and low-level firmware.
  • Strong analytical, debugging, and problem-solving skills.
  • Good documentation and cross-functional collaboration skills.

Apply for this position

Allowed Type(s): .pdf, .doc, .docx
Translate »