A Hardware Description Language is used to… describe hardware! So instead of drawing out an inverter using a tool like Magic we can write a line like this: output = !input; Which describes what an inverter does. The ! means invert. This is a description of what the circuit does, similar to a programming language like C (although everything happens at once, not in sequence). This is referred to as a ‘Register Transfer Level’ or RTL.