Software-defined systems on-chip and hardware-accelerated systems are entering the mainstream, and now represent major drivers in the evolution of the programmable logic industry. Xilinx is in the forefront of developing design tools and technologies for compiling programs into high-performance accelerator systems and co-processors, enabling performance-oriented programmers to target programmable platforms while working entirely within familiar software design flows.
The SDx System Compiler team is looking for exceptional people to help us define and develop design tools for heterogeneous computing with hardware accelerators, both for embedded SoCs and for the data center. Our tools are used today to develop high-performance SoCs and co-processors for multi-process, multi-threaded applications, employing embedded vision algorithms and machine learning.
We continue to move fast, and provide opportunities to innovate and advance the state of the art in embedded systems design, hardware/software system compilers, heterogeneous computing, performance analysis, and run-time software. Successful candidates thrive both working independently and collaboratively as part of a tight-knit team on challenging problems that hinder productivity today, while building tools to solve tomorrow’s problems.
You bring passion and a track record of getting stuff done that users care about. You are confident in your abilities, comfortable sharing ideas in their early stages, and know how to listen and collaborate with others to develop ideas towards common goals. Most importantly, you know how to turn good ideas into products, with a total commitment to robustness and quality. You have a nose for identifying tractable relevant problems that may not have obvious solutions, and eat your own cooking because you know it’s the right thing to do.
Specific responsibilities will vary based on your strengths and areas of expertise, but will be drawn from one or more of the following areas.
- Embedded systems design in FPGAs, comfortable straddling the hardware/software interface in design, debug, and board bring up
- Hands-on experience performance tuning embedded systems, including pipelining, implications of caching, accelerator task control, interrupt handling
- High performance accelerator-based systems in machine learning, computer vision, image and signal processing, cryptography, or digital communications, with ability to translate insights and experience into algorithms and systems schema that can be realized in design tools
- Performance tuning and refinements of current IPs, tools and run-time software, identifying key bottlenecks and implementing effective and scalable strategies to address them
- System bring-up of new silicon in context of system tools like SDSoC, working with partners in silicon architecture, system software, and design automation groups
- Experience developing embedded systems in FPGAs and Zynq/Zynq Ultrascale+ SoCs. Strong hands-on knowledge of design flows and tools, including system bring up, hardware and software debugging.
- Proficiency in Verilog, familiarity with standalone drivers, Linux drivers a plus
- Strong C/C++ programming and problem solving skills
- Experience developing accelerators and runtime systems for GPUs, DSPs, SoCs, or hardware accelerators; familiarity with Zynq® family SoC design or PCIe-based FPGA accelerators a plus
- Strong decision making skills and judgement
- Must be a hands-on, self-starter who makes and follows through on commitments
- Excellent written and verbal communication skills
- MS in CS/EE (PhD preferred) and 5+ years of experience, or equivalent. Exceptional recent grads will be given full consideration.