Senior FPGA Software Engineer
About the Role
The Senior FPGA Software Engineer will implement networking and data processing capabilities for FPGAs for Transcelestial's next-generation wireless laser communication product and satellite communication payloads. The Senior FPGA Software Engineer will also develop and maintain embedded software for the CENTAURI product, including microcontrollers and peripherals.
As a Senior FPGA Software Engineer, you will :
- Develop features, fix issues, and optimize software for FPGAs used in Transcelestial's ground and space products, using VHDL / Verilog
- Collaborate with external parties to design and develop capabilities for FPGAs that meet Transcelestial's needs
- Develop test benches and verification environments to ensure functional correctness and performance
- Perform simulations to validate FPGA software design
- Perform hardware testing and validation on development boards and production systems
- Debug and troubleshoot FPGA issues in the field
- Develop features and fix issues for embedded software for the CENTAURI
- Develop features and fix issues for embedded software for satellite communication payloads
What you will bring :
Degree in Computer Science, Electrical Engineering or equivalent work experienceWork Experience : 4-5+ years of relevant working experience with FPGAs and embedded systemsStrong problem-solving and debugging skills, especially in unfamiliar and time-sensitive situationsStrong ability to devise solutions to solve problems with limited resourcesStrong ability to make engineering trade-offs and assess risks with respect to business objectivesStrong verbal, written communication, and presentation skills (ability to communicate ideas and designs to your peers)Ability to thrive working with a team of people from different backgrounds in a highly collaborative, time-sensitive environmentKnowledge of electronicsExperience debugging hardware and embedded issuesExperience with board-level hardware design and board bring-upExperience with FPGAs on SoCsGood knowledge of communication protocols, including I2C, SPI, UART, USBGood knowledge of network protocols, e.g. EthernetWorking knowledge of GitGood knowledge of Linux (Debian)Proficient in programming, debugging, and optimizing FPGA software using VHDL / VerilogProficient in programming, debugging, and optimizing FPGA software using High Level Synthesis toolsProficient in programming in C and C++Experience with FPGA simulation toolsComfortable working with the command lineExperience developing tests (unit tests, integration tests, etc. with Python, Tcl)It is a bonus if you :
Have experience with the AMD / Xilinx family of FPGAs and toolsHave experience developing FPGA software for satellite and space applicationsHave experience implementing signal processing software on FPGAs