Field-Programmable Gate Arrays (FPGAs) are integrated circuits that can be programmed to implement arbitrary digital circuits. FPGAs are found in many different products, including cloud computing servers, satellites, vehicles, aircraft, consumer electronics, internet infrastructure, communications systems and more. However, designing circuits to be implemented on FPGAs is challenging! Complex design tools are used to ensure that circuits implemented on FPGAs are fast, reliable and secure. Our research explores new techniques for FPGA design tools, specifically focusing on making the design process easier for hardware engineers, and assuring the security of generated designs. Students on this project will spend most of their time writing open-source software for these design tools.