Job Overview:You'll be part of a project team responsible for delivery of the prototype, creating FPGA prototypes for enablement and validation, working collaboratively with other teams in Arm. You’ll have responsibilities estimating and owning tasks, delivering against a plan and have a strong focus on engineering efficiency and quality!
Responsibilities:- Modifying RTL from sophisticated systems to target a dedicated FPGA prototyping platform.
- Working collaboratively to deliver to a structured plan
- Mentoring of more junior engineers.
- Liaise and collaborate with development teams, where required, to understand requirements and guide design decisions, ensuring these are implemented and where not possible/feasible providing mitigations and alternatives.
- Estimating technical work into sized packages that are direct inputs in forming a resourced project plan.
- Taking ownership, for your tasks, tracking to the project plan, identifying, and managing risks and reporting status
- Commissioning of FPGA prototyping hardware including specification of peripheral hardware.
Required Skills and Experience:Proven FPGA Engineer with strong technical skills are important for this role! Design automation is essential when constructing efficient design and delivery flows, scripting skills in Python and TCL would be advantageous.
- Detailed knowledge of the FPGA design flow from RTL design, simulation, synthesis, place & route, constraints, and timing closure
- Strong RTL skills in Verilog / System Verilog or VHDL with source code under version control.
- Scripting skills in Python basic level C/C++.
- Knowledge and expertise in debugging designs in both simulation and hardware.
- A creative and structured approach to problem-solving with excellent communications skills, written and spoken English; ability to write coherent documentation.
“Nice To Have” Skills and Experience:- Demonstrate an understanding of ASIC/SoC prototyping in FPGA.
- Working with the latest Xilinx UltraScale+ devices and tools.
- Knowledge/Experience of implementation of FPGA peripherals such as DDR memory, PCIe and high speed interfaces.
- 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
- Version control of source code using GIT/GERRIT
- Experience and knowledge of Arm IP and the AMBA standard.