Den här artikeln behöver källhänvisningar för att kunna verifieras. (2023-01) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. |
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 textuell 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.
Exempel
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