Laitteiston kuvauskieli

Laitteiston kuvauskieli ( HDL sanoista hardware description language ) on  erikoistunut tietokonekieli , jota käytetään kuvaamaan elektronisten piirien , useimmiten digitaalisten logiikkapiirien , rakennetta ja käyttäytymistä .

Laitteiston kuvauskielet ovat ulkoisesti samanlaisia ​​kuin ohjelmointikielet , kuten C tai Pascal , niillä kirjoitetut ohjelmat koostuvat myös lausekkeista, operaattoreista, ohjausrakenteista. Tärkein ero perinteisten ohjelmointikielten ja HDL-kielten välillä on ajan käsitteen nimenomainen sisällyttäminen laitteiston kuvauskieliin.

Laitteiston kuvauskielet ovat olennainen osa CAD :ia , erityisesti monimutkaisissa piireissä, kuten ASIC -piirit , mikroprosessorit ja ohjelmoitavat logiikkalaitteet .

Tärkeimmät laitteiston kuvauskielet käytännössä ovat Verilog ja VHDL ; vaihtoehtoisia kieliä on myös useita kymmeniä.

Historia

Ensimmäinen moderni HDL, Verilog , loi Gateway Design Automation vuonna 1985 kuvaamaan VLSI:tä. Vuonna 1987 VHDL ( VHSIC HDL) [1] kehitettiin ada -kielen pohjalta Yhdysvaltain puolustusministeriön määräyksestä .

Aluksi sekä Verilogilla että VHDL:llä dokumentoitiin ja mallinnettiin eri muodossa (esimerkiksi piireinä) toteutettuja piiriratkaisuja. HDL-mallinnus on mahdollistanut insinöörien työskentelyn korkeammalla abstraktiotasolla kuin piiritason mallinnus, ja siksi on helpompi mallintaa tuhansia tai useampia transistoreja.

HDL :n logiikkapiirisynteesin käyttöönotto on tehnyt siitä ensisijaisen kielen digitaalisten piirien luomisessa. Synteesi CAD - järjestelmät kokoavat lähdetiedostot ( kirjoitettu HDL : n osajoukkoon nimeltä RTL - eng .  Rekisterin siirtotaso  - Rekisterin siirtotaso ) piirikuvaukseksi linkkilistojen muodossa ( netlist , joka määrittelee venttiilien ja transistorien liitännät . Syntetisoidun RTL-koodi vaatii suunnittelijalta harjoittelua ja useiden sääntöjen noudattamista. Perinteiseen piirisuunnitteluun verrattuna syntetisoidun RTL:n luominen on vähemmän työlästä, mutta johtaa usein jonkin verran suurempiin ja vähemmän tuottaviin piireihin.

Muutamassa vuodessa VHDL:stä ja Verilogista tuli tärkeimmät HDL-kielet mikroelektroniikkateollisuudessa, ja varhaiset kielet poistuivat vähitellen käytöstä. Sekä VHDL:llä että Verilogilla on kuitenkin samanlaiset rajoitukset: ne eivät sovellu analogiseen tai sekoitettuun digitaali-analogiseen simulointiin, niissä ei ole kielikonstruktioita rekursiivisesti muodostettujen logiikkarakenteiden kuvaamiseen; tässä suhteessa luodaan erilaisia ​​erikoistuneita HDL-tiedostoja, joiden tarkoituksena on poistaa nämä kahden pääkielen rajoitukset. Vaihtoehtoisia kieliä luodaan yleensä yleiskäyttöisten ohjelmointikielten pohjalta, esimerkiksi SystemC kehitettiin C ++ :n pohjalta  , JHDL Javan pohjalta ja Bluespec , HHDL , Hydra , Lava kehitettiin Haskellin pohjalta . _

Alkuvuosikymmeninä molempia suuria kieliä on muutettu ja parannettu merkittävästi. Verilog-kielen uusimmassa versiossa, joka on standardoitu IEEE 1800-2005 SystemVerilogiksi , on monia uusia ominaisuuksia (luokat, satunnaismuuttujat, ominaisuudet ja ohjausoperaattorit), jotka vastaavat kasvaviin satunnaistestauksen , hierarkkisen suunnittelun ja koodin uudelleenkäytön tarpeisiin. Viimeisin VHDL-standardi julkaistiin vuonna 2002.

Esimerkki

VHDL:n ja Verilogin laitteiston kuvaus voidaan tehdä tietovirtojen ( dataflow ), käyttäytymisen ( käyttäytyminen ), rakenteiden ( rakenteellinen ) tasoilla. Esimerkki tietovirtojen kuvauksesta VHDL:ssä (kuvaus "not1"-yksiköstä, jolla on 1 bitin tuloportti ja 1 bitin lähtöportti; tämä entiteetti kumoaa tuloarvon):

kirjasto iEEE ; käytä tiedostoa iEEE.STD_LOGIC_1164. KAIKKI ; käytä iEEE.STD_NUMERIC_STD. KAIKKI ; entiteetti not1 on portti ( a : STD_LOGIC : ssa ; b : ulos STD_logiassa ); end not1 ; not1 : n käyttäytymisarkkitehtuuri on begin b <= not a ; lopettaa käyttäytyminen ;

Muistiinpanot

  1. Barbacci, M., Grout S., Lindstrom, G., Maloney, MP Ada laitteiston kuvauskielenä: alustava raportti, Carnegie-Mellon Univ., Dept. Tietojenkäsittelytiede, 1984

Linkit