SpinalHDL is a hardware description (HDL) framework embedded in Scala, enabling hardware designers to build digital circuits with modern programming abstractions. Instead of writing in Verilog or VHDL directly, users describe hardware components and their interconnects using Scala code and Spinal’s domain-specific library, which then emits synthesizable hardware (e.g. as Verilog). Because SpinalHDL is embedded in Scala, it allows reuse of functional abstractions, parameterization, modular composition, and higher-level constructs to manage complexity. It supports building systems at various levels—single modules, pipelines, memories, controllers, etc.—while letting the designer control timing, pipelining, and resource sharing explicitly. The generated hardware can be synthesized for FPGAs or ASIC flows, making it practical for real designs.