Hardware description language: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Rightaway2 (discussione | contributi)
Creazione nuova voce
 
(30 versioni intermedie di 14 utenti non mostrate)
Riga 1:
{{S|informatica}}
{{F|informatica|aprile 2019}}
{{S|informatica}}
Un '''linguaggio di descrizione hardware''' (in [[lingua inglese]] ''hardware description language'', in acronomo HDL), nell'[[ingegneria informatica]], indica un linguaggio informatico specializzato utilizzato per descrivere la struttura e il comportamento dei circuiti elettronici e, più comunemente, dei circuiti logici digitali.
 
Un '''Hardware description language''' ({{lett|linguaggio di descrizione dell'hardware|lingua=it}}, in acronimo '''HDL''') è un linguaggio strutturato, comunemente utilizzato nell'[[ingegneria elettronica]], per descrivere l'[[architettura dei calcolatori|architettura]] dei [[elettronica digitale|dispositivi digitali]].
Un linguaggio di descrizione dell'hardware consente una descrizione precisa e formale di un circuito elettronico che consente l'analisi e la simulazione automatizzate di un circuito elettronico. Consente inoltre la sintesi di una descrizione HDL in una netlist (una specifica di componenti elettronici fisici e il modo in cui sono collegati insieme), che può quindi essere posizionata e instradata per produrre l'insieme di maschere utilizzate per creare un circuito integrato.
 
Sebbene condividano alcune caratteristiche gli HDL non vanno confusi con i [[linguaggio di programmazione|linguaggi di programmazione]], che servono scopi diversi.
Un linguaggio di descrizione dell'hardware assomiglia molto ad un linguaggio di programmazione come il [[C (linguaggio)|C]]; è una descrizione testuale composta da espressioni, dichiarazioni e strutture di controllo. Una differenza importante tra la maggior parte dei linguaggi di programmazione e HDL è che le HDL includono esplicitamente la nozione di tempo.
 
== Storia ==
I primi linguaggi di questo tipo apparvero alla fine degli anni '60, con l'aspetto di linguaggi più tradizionali.<ref>Barbacci, M. "Un confronto tra le lingue di trasferimento dei registri per descrivere computer e sistemi digitali", Carnegie-Mellon Univ., Dipartimento di Informatica , Marzo 1973</ref> Il primo ad avere un effetto duraturo fu descritto nel 1971 da [[Gordon Bell]] e nel testo di Allen Newell '' Computer Structures ''.<ref>{{cita libro|cognome1= Bell |nome1=C. G. |cognome2= Newell |nome2=A. | titolo = Strutture del computer: letture ed esempi |editore=McGraw-Hill | anno = 1971 |isbn=0-07-004357-4}}</ref> Questo testo ha introdotto il concetto di [[register transfer level]], usato per la prima volta nel linguaggio ISP per descrivere il comportamento del [[PDP-8]] prodotto dalla [[Digital Equipment Corporation]].<ref>{{cita libro|cognome= Reilly |nome=ED |titolo=Pietre miliari dell'informatica e della tecnologia dell'informazione |url= https://archive.org/details/milestonesincomp0000reil |p=183 | editore = Greenwood Press |anno=2003 |isbn=1-57356-521-0}}</ref> Il linguaggio è diventato più diffuso con l'introduzione dei RT-Level Modules PDP-16 di DEC, le cui caratteristiche furono descritte nel libro di Grason Newell ''Progettazione di computer e sistemi digitali'' del 1972.<ref>{{cita libro|cognome1= Bell |nome1=CG |cognome2= Grason |nome2=J . |cognome3= Newell |nome3=A. |titolo=Progettazione di computer e sistemi digitali | editore = Digital Press | anno = 1972}} ([[LCCN]] Numero 72-89566)</ref>
Seguirono almeno due implementazioni del linguaggio ISP di base (ISPL e ISPS).<ref>Barbacci, M. "La manipolazione simbolica delle descrizioni del computer: ISPL Compiler and Simulator", Carnegie-Mellon Univ., Dipartimento di Informatica, 1976</ref><ref>Barbacci, M. "Il linguaggio di descrizione del computer ISPS," Carnegie-Mellon Univ., Dipartimento di Informatica, 1977</ref> L'ISPS era adatto per descrivere le relazioni tra gli input e gli output del design ed è stato rapidamente adottato dai team commerciali di DEC, così come da un certo numero di gruppi di ricerca sia negli Stati Uniti che tra i suoi alleati della NATO.
 
Il lavoro svolto nel 1979 presso la [[Technische Universität Kaiserslautern]] ha prodotto un linguaggio chiamato KARL ("KAiserslautern Register Transfer Language"), che comprendeva le caratteristiche del linguaggio di calcolo del progetto che supportavano il floorplanning dei [[circuito integrato|chip]] di tipo ''[[Very large scale integration]]'' (VLSI) e della progettazione hardware strutturata. Questo lavoro è stato anche la base del linguaggio cognitivo grafico interattivo di KARL, il cui nome era "A Block diagram Language" (ABL). Quest'ultimo è stato implementato nei primi anni '80 dal Centro Studi e Laboratori Telecomunicazioni ([[CSELT]]) a Torino, in Italia, producendo l'editor di grafica VLSI grafica ABLED. A metà degli anni '80, un progetto di progettazione VLSI è stato implementato attorno a KARL e ABL da un consorzio internazionale finanziato dalla Commissione dell'Unione europea.<ref>{{cita pubblicazione|autore = J. Mermet |titolo=Fondamenti e standard in Hardware Descrizione Lingue | editore = Springer Verlag | anno = 1993}}</ref> Alla fine degli anni '70, la tecnologia [[programmable logic device]] (PLD) divenne popolare, sebbene questi progetti fossero principalmente limitati alla progettazione di [[macchine a stati finiti]]. Il lavoro nel 1980 da ''General Data'' implementò questi stessi dispositivi per progettare il [[Data General Eclipse MV/8000]], e le esigenze commerciali iniziarono a crescere per un linguaggio che potesse mappare bene a loro. Nel 1983 la [[Data I/O]] introdusse l'ABEL per soddisfare tale necessità.
 
Con il passaggio a VLSI, il primo moderno linguaggio di descrizione è stato [[Verilog]], introdotto da [[Gateway Design Automation]] nel 1985. Nel 1987, una richiesta del Dipartimento della Difesa degli Stati Uniti ha portato allo sviluppo di [[VHDL]], che era basato su [[Ada (linguaggio di programmazione)|Ada]], nonché sull'esperienza acquisita con il precedente sviluppo dell'ISPS.<ref>Barbacci, M., Grout S., Lindstrom, G., Maloney, deputato "Ada come linguaggio di descrizione dell'hardware: un rapporto iniziale," Carnegie-Mellon Univ., Dipartimento di Informatica, 1984</ref> [[Cadence Design Systems]] ha successivamente acquisito i diritti su Verilog-XL, il simulatore di linguaggio descrizione hardware che diventerebbe lo standard de facto di simulatori [[Verilog]] negli [[anni 1990]].
 
== Descrizione ==
Un linguaggio di descrizione dell'hardware consente una descrizione precisa e formale di un circuito elettronico che consente l'analisi e la simulazione automatizzate di un circuito elettronico. Consente inoltre la sintesi di una descrizione HDL in una netlist (una specifica di componenti elettronici fisici e il modo in cui sono collegati insieme), che può quindi essere posizionata e instradata per produrre l'insieme di maschere utilizzate per creare un circuito integrato. Un linguaggio di descrizione dell'hardware assomiglia molto ad un linguaggio di programmazione come il [[C (linguaggio)|C]]; è una descrizione testuale composta da espressioni, dichiarazioni e strutture di controllo. Una differenza importante tra la maggior parte dei linguaggi di programmazione e HDL è che le HDL includono esplicitamente la nozione di tempo.
 
Essi sono parte integrante dei sistemi di automazione della progettazione elettronica, specialmente per circuiti complessi, come circuiti integrati specifici per applicazioni, microprocessori e dispositivi logici programmabili.
 
== Struttura ==
Consistono in [[Stringa (informatica)|stringhe]] di testo che descrivono la struttura dei sistemi elettronici e del loro comportamento nel tempo. Come i linguaggi di programmazione simultanei, la sintassi e la semantica includono notazioni esplicite per esprimere la concorrenza. Tuttavia, contrariamente alla maggior parte dei linguaggi di programmazione software, esso include anche una nozione esplicita di tempo, che è un attributo primario dell'hardware. I linguaggi la cui connessione consiste nell'esprimere la connettività del circuito tra la gerarchia dei blocchi sono correttamente classificate come linguaggi netlist usati nella progettazione assistita da elaboratore elettronico (CAD). L'HDL può essere utilizzato per esprimere progetti in architetture strutturali, comportamentali o di registro a livello di trasferimento per la stessa funzionalità del circuito; negli ultimi due casi il sintetizzatore decide l'architettura e il layout della porta logica.
 
==Note==
<references/>
 
==Voci correlate==
* [[Circuito digitale]]
* [[Hardware]]
* [[Linguaggio di programmazione]]
* [[Programmable logic device]]
{{portale|* [[Stringa (informatica}})]]
* [[Verilog]]
 
== Altri progetti ==
{{interprogetto}}
 
{{Controllo di autorità}}
{{portale|informatica}}
{{portale|informatica|ingegneria}}
 
[[Categoria:InformaticaElettronica digitale]]
[[Categoria:Architettura dei calcolatori]]
[[Categoria:Linguaggi di descrizione hardware]]