Hardwarebeskrivelsessprog

Hardware description language ( HDL fra hardware description language ) er et  specialiseret computersprog, der bruges til at beskrive strukturen og adfærden af ​​elektroniske kredsløb , oftest digitale logiske kredsløb.

Hardwarebeskrivelsessprog ligner udadtil programmeringssprog som C eller Pascal , programmer skrevet i dem består også af udtryk, operatorer, kontrolstrukturer. Den vigtigste forskel mellem konventionelle programmeringssprog og HDL-sprog er den eksplicitte inklusion af begrebet tid i hardwarebeskrivelsessprog.

Hardwarebeskrivelsessprog er en væsentlig del af CAD , især for komplekse kredsløb såsom ASIC'er , mikroprocessorer og programmerbare logiske enheder .

De vigtigste hardwarebeskrivelsessprog i praksis er Verilog og VHDL ; der er også flere dusin alternative sprog.

Historie

Den første moderne HDL, Verilog , blev skabt af Gateway Design Automation i 1985 for at beskrive VLSI. I 1987 blev VHDL ( VHSIC HDL) [1] udviklet på basis af Ada -sproget efter ordre fra det amerikanske forsvarsministerium .

I starten blev både Verilog og VHDL brugt til at dokumentere og modellere kredsløbsløsninger implementeret i en anden form (f.eks. som kredsløb). Modellering med HDL har gjort det muligt for ingeniører at arbejde på et højere abstraktionsniveau end modellering på kredsløbsniveau og gør det derfor lettere at modellere design med tusindvis af transistorer eller mere.

Introduktionen af ​​logisk kredsløbssyntese fra HDL har gjort det til det primære sprog til at skabe digitale kredsløb. Syntese CAD-systemer kompilerer kildefiler (skrevet i en delmængde af HDL kaldet RTL - eng.  Registeroverførselsniveau  - Registeroverførselsniveau ) til en kredsløbsbeskrivelse i form af linklister ( netliste , der specificerer forbindelserne af ventiler og transistorer . Skrivning af en syntetiseret RTL-kode kræver øvelse og overholdelse af en række regler fra designeren. Sammenlignet med traditionelt kredsløbsdesign er skabelsen af ​​syntetiseret RTL mindre besværlig, men fører ofte til noget større og mindre produktive kredsløb.

Inden for få år blev VHDL og Verilog de vigtigste HDL-sprog i mikroelektronikindustrien, og de tidlige sprog gik gradvist ud af brug. Men både VHDL og Verilog har lignende begrænsninger: de er ikke egnede til analog eller blandet digital-analog simulering, de har ikke sprogkonstruktioner til at beskrive rekursivt genererede logiske strukturer; i denne henseende oprettes der forskellige specialiserede HDL'er, der har til formål at eliminere disse begrænsninger for de to hovedsprog. Alternative sprog oprettes normalt på basis af generelle programmeringssprog, for eksempel blev SystemC udviklet på basis af C ++ , JHDL på basis af Java  , og Bluespec , HHDL , Hydra Lava blev udviklet på basis af Haskell .

I årtierne siden deres begyndelse er begge store sprog blevet væsentligt ændret og forbedret. Den seneste version af Verilog-sproget, standardiseret som IEEE 1800-2005 SystemVerilog , har mange nye funktioner (klasser, tilfældige variabler, egenskaber og kontroloperatører) for at imødekomme de voksende behov for tilfældig testning , hierarkisk design og genbrug af kode. Den seneste VHDL-standard blev offentliggjort i 2002.

Eksempel

Beskrivelsen af ​​udstyret på VHDL og Verilog kan laves på niveauerne datastrømme ( dataflow ), adfærd ( adfærdsmæssig ), strukturer ( strukturel ). Et eksempel på en beskrivelse af datastrømme i VHDL (en beskrivelse af "not1"-enheden, som har 1 inputport på 1 bit og 1 outputport på 1 bit; denne enhed negerer inputværdien):

bibliotek iEEE ; brug iEEE.STD_LOGIC_1164. ALLE ; brug iEEE.STD_NUMERIC_STD. ALLE ; entitet not1 er port ( a : i STD_LOGIC ; b : ud STD_logic ); ende ikke1 ; arkitektur adfærdsmæssig af not1 er begynde b <= ikke a ; ende adfærdsmæssig ;

Noter

  1. Barbacci, M., Grout S., Lindstrom, G., Maloney, MP Ada som hardwarebeskrivelsessprog: en indledende rapport, Carnegie-Mellon Univ., Dept. i datalogi, 1984

Links