Sr FPGA Engineer with a product development organization .
Cross-functional opportunity with complex digital designs involving FPGA/SoC (System-on-Chip) architectures and embedded Linux. This position is for an FPGA/SoC Development Engineer with experience in Embedded Development.
The Sr. FPGA/SoC Developer will work in the Product Development Division responsible for the evolution and integration of new technologies.The candidate should thrive working with ambiguity, technical latitude, and having significant influence on research objectives within small, focused, and highly collaborative teams.
Candidates will have a high level of technical ownership from whiteboard sketches to functional prototypes, provide technical leadership, and the opportunity to explore technologies of interest with minimal overhead.
- Leads the full cycle FPGA/SoC design, integrate internal and vendor FPGA IPs, and author HDL code modules and testbenches.
- Authors code elements for embedded Linux systems for kernel, u-boot, and drivers
- Develops and enhances platforms including hardware/software integration, debug, board support package generation
- Creates scripts to automate code generating tools, data processing, and verification of design
- Works with other functional team members to integrate technologies with company platforms and products
- Keeps abreast of new technologies, the state of the art, and communicate to the appropriate levels
- Provides guidance and mentoring to lower level engineers.
- Bachelor’s or Master’s degree in Computer Engineering / Electrical Engineering or equivalent experience
- Minimum of 8 years of working experience in computer or electrical engineering.
- The desire and energy to explore various technologies and demonstrate how they could be pertinent to our products
- Ability to integrate technologies to provide proof of concept demonstrations
- Excellent communication skills (written and verbal) and the ability to communicate with all levels of staff and management
- Ability to work both independently and perform as a leader in team environment
- Be self-motivated to learn new technologies and be flexible to support tasking in a variety of areas
- Experience with FPGA development tools such as Modelsim, Vivado, Quartus
- Understanding of FPGA/SoC internals
- Experience with FPGA/SoC systems development
- Experience with full cycle FPGA development using VHDL, Verilog, System Verilog
- Experience with source control tools such as Subversion, Git
- Experience with professional audio/video applications
- Minimum 2 years’ experience writing C for embedded systems
- Experience with software development tools such as Integrated Development Environments, compilers/linkers, debugging tools (emulator, profiler, etc.)
- Demonstrated competency with embedded software development environments, architectures, and tools for real-time embedded Linux on ARM processors.
- Experience/familiarity with Linux kernel project and driver stacks, u-boot project, Yocto Project
- Understanding of Operating System internals such as IPC and thread synchronization
- Experience in Hardware driver development
- Experience in Linux kernel/module development
- Experience in Python development
- Experience using communication interfaces (SPI, I2C, RS-232, USB, Ethernet, etc.) and higher level networking protocols such as IP, TCP/UDP, DHCP, ICMP, ARP, etc
- Experience with media codecs such as G.711, G.722, G.729, H.261, H.263, H.264, SILK, CELT
- Experience developing real-time media streaming applications using some or all of SIP, SDP, H.323, RTP, RTCP, RTSP, AVB
- Experience working with IEEE, IETF, ITU, AES, or other standards