The Foundations of Languages and Machines Lab at MIT is led by Rachit Nigam. We build new programming languages, compilers, and tools to design fast hardware accurately and efficiently. We have a strong emphasis on building real tools, getting them used by industrial collaborators, and engaging with the process of building correct and high-performance hardware ourselves.

We are looking for new students to join our lab starting in Fall '25! Please review the specific instructions before contacting us.

Projects

Rethinking Hardware Description Languages

Hardware description languages (HDLs) provide low-level control, enabling precise specification of circuits. This precision comes at both a productivity and correctness cost; circuits must be defined using low-level abstractions of gates, wires, and clock cycles and require tedious, complex, and expensive tools to be verified correct. How can we design new HDLs that offer robust correctness guarantees at compile-time without sacrificing circuit efficiency?

Automatic Hardware Generation

Automatic hardware generation promises rapid creation of hardware designs from high-level descriptions. However, existing tools provide limited expressive power, have unpredictable programming models, and are plagued with bugs. How can we design new, high-level programming models for hardware generation that can describe classic micro-architectural optimizations (like speculation, out-of-order processing, multi-threading), express a wide variety of computational problems, and generate high-performance and correct circuits?

Large Scale Heterogeneous Systems

Field Programmable Gate Arrays (FPGAs) have gained significant popularity as plug-and-play accelerators in various domains, including networking, machine learning, and language runtimes. How can we design large-scale FPGA-based systems that can utilize multi-node setups, integrate with existing distributing computing frameworks, and provide a straightforward end-user programming model?

Publications

Caleb Kim, Pai Li, Anshuman Mohan, Andrew Butt, Adrian Sampson, Rachit Nigam
OOPSLA  ’24
Rachit Nigam, Pedro Henrique Azevedo de Amorim, Adrian Sampson
PLDI  ’23
Griffin Berlstein, Rachit Nigam, Chris Gyurgyik, Adrian Sampson
Distinguished Artifact Award
ASPLOS  ’23
Rachit Nigam, Samuel Thomas, Zhijing Li, Adrian Sampson
ASPLOS  ’21
Alexa VanHattum, Rachit Nigam, Vincent Lee, James Bornholt, Adrian Sampson
ASPLOS  ’21
Rachit Nigam, Sachille Atapattu, Samuel Thomas, Zhijing Li, Ted Bauer, Yuwei Ye, Apurva Koti, Adrian Sampson, Zhiru Zhang
PLDI  ’20

News

Jun ’24

Our paper on unifying static and dynamic abstractions in Calyx was conditionally accepted at OOPSLA 2024.

Jun ’24

Rachit accepted a tenure-track position at MIT and will start in the 2025-26 academic year!