Derive FPGA design requirements from system and subsystem specifications.
Develop FPGA logic using VHDL or Verilog to implement control blocks, custom filters, DSP/image processing blocks, and real-time processing interfaces.
Optimize FPGA designs for speed and power, analyzing architectural trade-offs for system sample rate and latency.
Collaborate with peer engineers to verify FPGA implementations against Python/MATLAB models and ensure seamless integration with embedded systems.
Debug and troubleshoot embedded software and FPGA implementations using JTAG, oscilloscopes, logic analyzers, and simulation tools.
Contribute to all phases of hardware development, including design documentation, schematic reviews, and unit/system testing to ensure real-time performance and low-latency operation.
Validate FPGA designs for manufacturing release.
Design and develop embedded software/firmware for microcontrollers and microprocessors.
Write and optimize low-level drivers and firmware to interface with hardware peripherals such as SPI, I2C, UART, and CAN.
Education & Experience:
Bachelor's degree in Electrical Engineering, Electronics Engineering, Computer Engineering, or a related field (Master's/PhD preferred).
5+ years of experience in embedded software and FPGA development.
Hands-on experience with FPGA development, including familiarity with FPGA design tools such as Xilinx Vivado or Altera Quartus.
Experience in hardware debugging and testing using JTAG, oscilloscopes, and logic analyzers.
Experience in real-time operating systems and bare-metal environments.
Experience in designing hardware and image processing pipelines is a plus.
Strong understanding of microcontroller/microprocessor architecture and peripheral interfacing.
Key Skills:
Hardware Description Languages (HDLs): VHDL, Verilog.
Programming & Scripting: C/C++, Python, MATLAB.
FPGA Development Tools: Xilinx Vivado, Altera Quartus.