← Back to All Placements

Tara Venkatesam

FPGA Intern

Arm
Cambridge

Summary

I am completing my industrial placement at Arm, working in an FPGA-focused engineering environment that supports the prototyping and validation of complex hardware designs. FPGA prototypes allow engineers to test large system designs before final silicon is available, helping teams identify issues earlier in the development process. My placement has focused on improving the efficiency and usability of internal FPGA flows. I have worked on projects involving routing congestion analysis and behavioural memory modelling. The routing congestion project involved developing a tool to help engineers identify likely causes of congestion more quickly during FPGA implementation. The memory modelling project involved replacing generated RAM and ROM models with more generic behavioural models that could be initialised, synthesised and validated across different flows. Although the placement is still ongoing, it has already given me valuable experience in industrial hardware development, debugging, automation and engineering collaboration. I have learned how large engineering systems are built and maintained, and how small improvements to tooling can make a meaningful difference to productivity.

Role and Contributions

My role has been focused on supporting FPGA implementation and debug through automation and flow improvement. One of my main contributions was developing a routing congestion diagnosis tool. Routing congestion can make FPGA builds harder to complete, so the tool was designed to help engineers narrow down likely causes rather than manually searching through large reports. I developed metrics to highlight relevant modules, regions, nets or design features, and the tool has been integrated into Arm’s internal systems to support engineers in their workflow. My second major contribution was completing a RAM and ROM behavioural memory model project. This involved replacing auto-generated memory models with generic behavioural versions while preserving the same functionality. The work required adapting the implementation across different synthesis environments, resolving tool-specific issues and ensuring that the models remained suitable for FPGA build flows. Across both projects, my contribution was not only writing or modifying code, but also investigating existing systems, understanding tool behaviour, validating results and communicating progress clearly to engineers.

Technical Skills

During the placement, I developed technical skills across FPGA implementation, debugging and automation. I gained a better understanding of how FPGA flows work beyond the RTL level, including synthesis, place-and-route, generated wrappers, memory initialisation and implementation reports. For the routing congestion project, I used scripting and data analysis skills to process implementation outputs and develop metrics that helped identify likely causes of congestion. This taught me how to convert complex tool data into useful engineering information. For the RAM and ROM behavioural model project, I learned more about behavioural memory modelling, synthesis compatibility and tool-specific directives. A key lesson was that industrial debugging often involves using manuals, logs, generated files and tool documentation rather than relying on simple online answers. I became more confident in trial-and-triage debugging: isolating failure modes, comparing outputs, testing targeted fixes and validating final behaviour.

Professional Skills

The placement helped me develop communication, independence, teamwork and professional confidence. At the start, I often needed guidance to understand unfamiliar internal flows. Over time, I became better at narrowing down problems before asking for help, explaining what I had tried, what the evidence showed and where I needed advice. I also learned to communicate technical work to different audiences. With engineers close to the project, I could discuss details such as tool directives, wrappers and debug logs. In broader updates, I focused more on impact, such as reducing manual debugging effort or improving maintainability. Beyond project work, I attended Intern Day and Grads Teach Grads, which helped me build a network and learn about early-career paths. Coffee roulette helped me meet people from different departments and understand Arm’s structure. Volunteering at the More Than Robots competition in London helped me reflect on inclusive engineering and encouraging young people into STEM.

Tags

Hardware (Digital)