VHDL e' un Hardware Description Language, ovvero un linguaggio che serve a descrivere i circuiti elettronici (principalmente quelli digitali) sia a livello di schema logico, cioe' dal punto di vista strutturale, sia a livello di ''cosa fanno'' i circuiti in questione, cioe' dal punto di vista comportamentale.
Si puo'
dire che c'e' una corrispondenza abbastanza stretta tra lo schema logico
di progetto di un circuito digitale ed un programmi VHDL. Per ogni schema
logico multifilare di una rete digitale esiste una traduzione pedissequa
in VHDL. In questo senso si dice spesso che VHDL supporta una descrizione
strutturale delle architetture hardware. Tale descrizione, se realizzata
correttamente, fornisce un modello per la rete in questione. Tale
modello puo' essere utilizzato per simulare e testare il comportamento
della rete progettata dandone lo schema logico e/o elettrico.
Risulta ormai universalmente accettato che bisogna scrivere una specifica di quello che si vuole realizzare prima di realizzarlo. Questo vale anche per i circuiti digitali. Si infatti notato come, durante lo sviluppo di apparati complessi, sia molto utile, come prima cosa, spedere un po' di tempo per dire per benino che cosa si vuole veramente realizzare. Questo processo di esplicitazione dei nostri desideri e delle nostre aspettative, detto tecnicamente analisi dei requisiti porta alla stesura una specifica del comportamento dell' architettura che si vuole realizzare. Per i circuiti reali lo schema circuitale e' un documento troppo complesso e non puo' essere usato come documento di specifica. Risulta quindi necessario specificare il sistema definendo solo il comportamento di una architettura digitale e questo si puo' fare, ad esempio, indicando come la rete reagisce a variazioni dei suoi ingressi.
Vi sono vari modi di dare una specifica comportamentale alcuni piu' eleganti ed astratti ma difficili da imparare altri un po' piu' farraginosi ma facili da padroneggiare perche' vicini all' intuizione. A quest' ultima categoria appartiene VHDL che, incorporando un linguaggio di programmazione simile ad Ada o al Pascal, suggerisce di scrivere le specifiche comportamentali come programmi ovvero usando uno stile procedurale. In quest' ottica si sente dire che VHDL supporta una descrizione procedurale del comportamento della rete in questione, nel senso che, una specifica comportamentale VHDL e' costituita da un programma VHDL .
In VHDL e' stato incorporato un linguaggio di programmazione perche' VHDL vuole essere un linguaggio di specifica completo che permetta di seguire lo sviluppo di una architettura dalla specifica comportamentale dei requisiti fino alla stesura dello schema logico che implementa, ovvero riesce a realizzare, questi requisiti.
Nel seguito presenteremo sia il supporto di VHDL alle descrizioni procedurali sia la parte di VHDL dedicata alle descrizioni strutturali, cominciando da queste ultime.