Ett hårdvarubeskrivande språk (Hardware Description Language, HDL) är ett programspråk som används för att beskriva digitala eller analoga kretsar som sedan kan realiseras på ett chipp. En stor skillnad mellan hårdvarubeskrivande språk och konventionella programspråk är att exekvering av programblock kan beordras att ske parallellt förutom att som traditionellt ske sekventiellt.

Fördelen med att konstruera kretsar med hjälp av en textuellt beskrivning är flera

  • man får möjlighet att simulera hårdvaran och verifiera kretsen med olika test,
  • man kan använda syntesverktyg och andra program för att automatiskt realisera chippet - på så sätt kan man lättare göra en större ändring och köra om verktygsflödet istället för att manuellt rita om hela utformningen av chippet,
  • man kan använda en mindre detaljerad beskrivning för att sedan låta verktygen räkna ut strukturen på grindar och digitala celler.

ExempelRedigera

 
En två-till-ett multiplexer

Ett exempel på en mindre digital krets är en multiplexer, som med hjälp av en select-signal väljer en av ingångarna att skicka vidare på sin utgång. Nedan är ett exempel på hur denna krets skulle kunna beskrivas i språket verilog:

module my_multiplexer
(input wire A,
 input wire B,
 input wire sel,
 output wire out);

 assign out = sel ? A : B;
endmodule

Lista över hårdvarubeskrivande språkRedigera

Se ävenRedigera