XLS (Accelerated HW Synthesis) es una herramienta de síntesis de alto nivel que genera diseños sintetizables en Verilog y SystemVerilog a partir de descripciones funcionales flexibles. Desarrollado por Google, este SDK está diseñado para la era del fin de la Ley de Moore, facilitando la colaboración entre ingenieros de software y hardware mediante la metodología de 'software style'. El sistema permite desarrollar IP de hardware que opera a velocidades nativas, asegurando la equivalencia funcional con el código generado, lo que permite su uso en software anfitrión o simuladores.
La herramienta soporta funciones con interfaces de entrada/salida de cable puro y procesos concurrentes (procs), que son estados y permiten la inducción temporal. XLS es un proyecto experimental y no un producto oficial soportado por Google, por lo que puede presentar errores y limitaciones. El proyecto ofrece entornos de prueba en Colab y binarios para Linux x64, aunque requiere compilación desde el código fuente utilizando Bazel. La construcción completa, incluyendo el front-end C++, puede tardar hasta seis horas en una máquina de ocho núcleos. Además, se proporcionan archivos de compilación para herramientas como clangd y se sugiere el uso de cachés de disco para optimizar la compilación incremental.
