The University of Southampton

CPS Seminar: Wednesday 11 March 2026, 14:00 - 15:00

Building 53, room 4025

Speaker: Professor David Thomas, CPS Group, ECS, University of Southampton, UK

Title: Vibe-coding a C to gates compiler, or Gen-X tries to use agentic workflows

Abstract: "AI" coding tools are clearly going to have an impact on software development, but it's unclear (at least to me), how big an impact they will have, or what they are even  capable of right now. So far I've only used AI as fancy auto-complete or to optimise kernels, so as holiday experiment I decided to try using AI "properly". As a lapsed FPGA person, I decided to create a Handel-C compiler which takes a superset of C (with Occam extensions), and converts it into synthesised digital hardware via Verilog; complex and laborious but  fairly easy for me as a human, and not something that will appear frequently (if at all) in AI training data. 

This talk will cover the experience of trying to do this including:

  • Strengths and weaknesses of current agents
  • Some good practises for organising repos and making requests
  • Techniques for managing token count and context
  • Some examples of cases where it works very well
  • Speculation on what this means for research software and teaching
  • Ranting about cargo-cult SKILLS.md (if time allows)

 

Bio: Professor David Thomas studied Computer Science as an undergrad at the Deptartment of Computing in Imperial, then did his PhD in digital architectures in the same department. After 5 years as a researcher associate and then research fellow, in 2010 he moved to the Deptartment of Electrical and Electronic Engineering at Imperial as a Lecturer, then Senior Lecturer. In 2021 he joined ECS as a Professor.

His research and teaching interests are at the intersection of software and hardware, particularly in the interaction and relationships between programming languages, algorithms, computer architecture and digital implementation. A lot of his research involves the use of FPGAs (Field Programmable Gate Arrays), as they provide a great playground for exploring and implementing new digital architectures, such as custom CPUs, application-specific accelerators, or new programming paradigms such as event-driven computing. These days he also does stuff in AI and ML, just like everyone else.