El hardware se puede describir utilizando un lenguaje HDL, como por ejemplo VHDL, Verilog, Handel C, etc. De esta forma, los diseños se convierten en ficheros de texto ASCII (``código fuente''), que describen tanto la estructura del diseño como el comportamiento de las partes integrantes. Se pueden crear librerías de componentes que luego se usan en diseños más complejos.
Inicialmente estos lenguajes se empleaban para describir de una forma no ambigua el hardware y poder realizar simulaciones.