FPGA Engineering Lead

FPGA Engineering Lead
by Admin on 07-11-2022 at 10:34 pm

We are looking for experienced FPGA / Embedded-Systems Engineer to join Arm’s Hardware Platforms team on a permanent basis. The team is based in Cambridge, UK working at the forefront of Arm based embedded design.

We are a multi-disciplinary team with software, FPGA and board design expertise delivering platforms internally and externally in support Arm’s IP business model. This role will initially involve leading a small FPGA design team to validate a new FPGA hardware platform and develop reference design material.

The Hardware Platforms team craft physical hardware development platforms based around Arm’s leading CPU and system IP products. These platforms are used for software development and IP validation activities both internally by Arm and externally by partners/customers.

You’ll lead the team generating FPGA designs for interface enablement and validation as well as reference design material for our upcoming platform. This work will be done in conjunction with software and boards engineers. Release material will include engineering flows with a strong focus on engineering efficiency.

Deliverables will include RTL and implementation constraints with high-quality, clear, accurate documentation. Familiarity with RTL and document review processes is desirable. The successful candidate will be responsible for delivery of designs using techniques such as gated clock conversion and synthesizable models to build accurate representations of real-world systems.

Do you aspire to:

  • Develop new and innovative prototyping techniques to enable IP validation, system profiling and software development.
  • Being challenged and using the latest Arm IP technologies.
  • Gain a deeper understanding of system architecture and performance.
  • Work alongside many other teams and fields including system architects, software engineers, CPU / System IP designers, physical chip layout / packaging engineers.

Then we have a role for you!

What will I be accountable for?

  • Commissioning of FPGA prototyping hardware including specification of peripheral hardware.
  • Gathering platform requirements from key partners, ensuring these are implemented and where not possible/feasible providing guidance and alternatives.
  • Developing FPGA images targeting both our internal platforms and 3rd party platforms to demonstrate Arm’s latest IP products.
  • Development of synthesizable IP to enable prototyping of technologies such as DDR and PCIe.
  • Leading and mentoring a team of junior engineers.

Essential Skills & Qualities

Strong technical leadership skills are crucial for this role, development of accurate project plans involving multiple teams and ensuring deliveries follow the agreed plan. Design automation is essential when constructing efficient design flows, you must possess strong scripting skills, TCL and Python skills would be advantageous.

  • Technical leadership, driving large projects and supporting junior engineers.
  • Strong RTL skills in either (System) Verilog or VHDL.
  • Detailed knowledge of FPGA synthesis and place & route tool flows.
  • Demonstrate an understanding of ASIC/SoC prototyping, which features can and cannot be implemented in FPGA.
  • Knowledge and expertise in debugging sophisticated designs in both simulation and hardware.
  • Working with the latest Xilinx UltraScale(+) devices and tools.
  • Embedded software knowledge to test and debug designs.
  • A creative and structured approach to problem-solving.
  • Excellent communications & interpersonal skills.
  • A desire for learning and self-improvement.
  • Strong verification skills.
  • Excellent written and spoken English; ability to write coherent documentation.

Desirable Skills and Qualities

The following skills are not essential, but experience in any of the following areas would improve your application:

  • Experience of implementing high-speed IO interface standards.
  • Use of Synplify tool chain for single FPGA implementations.
  • Knowledge/Experience of implementation of DDR memory sub-systems.
  • Programming languages such as: assembly language (ideally Arm assembler), higher-level (e.g. C), object-orientated (e.g. C++)
  • Use of a UNIX environment and shell programming/scripting in e.g. Tcl, Perl, Python etc.
  • Use of emulation hardware to test pre-silicon designs.
Share this post via: