Role & responsibilities
Position Summary
We are seeking an experienced FPGA Digital Control Engineer to join our Power Electronics and Firmware team. The candidate will be responsible for understanding, maintaining, optimizing, and enhancing FPGA-based implementations of inverter, charger, and PFC control systems used in high-performance UPS products.
The role requires strong expertise in FPGA development, MATLAB/Simulink HDL code generation, fixed-point implementation, and ARM-FPGA integration. The candidate should also possess strong C/C++ programming skills to support embedded controller integration, system debugging, and algorithm validation activities.
Key Responsibilities
- Analyze and understand existing FPGA implementations for:
- Inverter control
- PFC control
- Battery charger control
- Protection and monitoring functions
- Work closely with control system engineers to deploy and optimize control algorithms in FPGA.
- Review, debug, and optimize HDL code generated through MATLAB HDL Coder.
- Support FPGA and ARM controller integration.
- Develop and maintain embedded software components in C/C++ related to FPGA interaction.
- Perform system-level debugging across FPGA, ARM controller, and power stage.
- Validate fixed-point FPGA implementation against MATLAB simulation models.
- Participate in architecture reviews and future platform development.
Mandatory Technical Skills
FPGA Design and Development
- Strong hands-on experience in:
- VHDL and/or Verilog/SystemVerilog
- FPGA architecture and digital design
- State machine design
- Timing closure
- Pipelining
- DSP implementation
- Clock Domain Crossing (CDC)
- FPGA resource optimization
MATLAB / Simulink / HDL Coder
- Strong working experience with:
- MATLAB
- Simulink
- HDL Coder
- Fixed-Point Designer
- Ability to:
- Convert control algorithms into FPGA implementations
- Review and optimize generated HDL code
- Validate FPGA behavior against simulation models
Fixed-Point Design
- Strong understanding of:
- Fixed-point arithmetic
- Q-format representation
- Scaling and normalization
- Saturation and overflow handling
- Quantization effects
- Numerical accuracy analysis
Embedded C/C++ Programming
- Strong programming skills in:
- Experience with:
- Real-time embedded systems
- Low-level device drivers
- FPGA register interface development
- Hardware abstraction layers
- Embedded debugging
- Ability to:
- Read and understand existing ARM controller firmware
- Develop diagnostic and validation tools
- Support FPGA-ARM software integration
ARM-FPGA Integration
- Experience with:
- ARM Cortex-based systems
- Memory-mapped interfaces
- Interrupt handling
- Shared memory architecture
- SPI, UART, I2C communication
- System partitioning between FPGA and processor
FPGA Debugging
- Hands-on experience with:
- Intel SignalTap
- Xilinx ILA/ChipScope
- Oscilloscopes
- Logic analyzers
- Hardware bring-up and troubleshooting
Preferred Skills
- Experience in:
- UPS systems
- Industrial power converters
- Power conversion products
- Renewable energy inverters
- Motor drives
- Exposure to:
- PWM generation
- ADC acquisition systems
- Digital signal processing
- Real-time control implementations
- Experience with:
- Git/GitHub
- CI/CD workflows
- Automated FPGA build environments