Redigerer
VHDL
(avsnitt)
Hopp til navigering
Hopp til søk
Advarsel:
Du er ikke innlogget. IP-adressen din vil bli vist offentlig om du redigerer. Hvis du
logger inn
eller
oppretter en konto
vil redigeringene dine tilskrives brukernavnet ditt, og du vil få flere andre fordeler.
Antispamsjekk.
Ikke
fyll inn dette feltet!
==Historie== '''VHDL''' ble utviklet for [[Forsvarsdepartementet (USA)|Det amerikanske forsvarsdepartementet]] for å kunne dokumentere oppførselen til [[Integrert krets#ASIC|ASIC-er]] som leverandører brukte i utstyr. VHDL ble altså utviklet som et alternativ til store, komplekse implementasjonsspesifikke manualer. Ønsket om å kunne simulere denne dokumentasjonen var så åpenbar at [[Logisk simulator|logiske simulatorer]] som kunne lese VHDL-filer ble utviklet. Det neste steget var utviklingen av logiske synteseverktøy som leste VHDL og ga ut en definisjon av kretsens fysiske implementasjon. Moderne synteseverktøy kan kjenne igjen [[RAM]], tellere og aritmetiske blokker i koden, og implementere dem slik brukeren ønsker. Det betyr at den samme VHDL-koden kan bli syntetisert forskjellig ut fra krav om minst mulig areal, lavest [[effekt]]forbruk, høyeste [[Frekvens|klokkefrekvens]], eller andre krav. VHDL låner mye av konseptet sitt (for eksempel stykke-notasjonen for å indeksere en del av en en-dimensjonal tabell) og syntaksen sin fra [[Ada|programmeringsspråket Ada]]. VHDL har begreper for å håndtere parallelliteten knyttet til maskinvaredesign, men disse begrepene (prosesser) er forskjellige når det gjelder syntaks sammenlignet med de parallelle begrepene i Ada (oppgaver). I likhet med Ada er VHDL sterkt typebestemt og skiller ikke mellom store og små bokstaver. VHDL har mange egenskaper man ikke finner i Ada, som for eksempel et utvidet sett av Boolske operatorer som inneholder '''nand''' og '''nor''', for å kunne representere operasjoner som er vanlige i maskinvare direkte. VHDL tillater også tabeller å bli indeksert i begge retninger (stigende eller synkende) fordi begge konvensjonene er brukt i maskinvare, mens Ada (som de fleste andre programmeringsspråk) bare tillater stigende indeksering. Grunnen til at de to språkene er såpass like er at [[Forsvarsdepartementet (USA)|Det amerikanske forsvarsdepartementet]] krevde at så mye som mulig av syntaksen skulle være basert på Ada, slik at en unngikk å finne opp konsepter på nytt som allerede var grundig testet under utviklingen av Ada. Den første versjonen av VHDL, designet etter [[Institute of Electrical and Electronics Engineers|IEEE]] standard [[IEEE 1076|1076-1987]], inkluderte en lang rekke datatyper, blant annet numeriske ([[heltall]] og [[Reelt tall|reelle tall]]), logiske ([[bit]] og [[Boolean|boolske]]), tegn og tid, tabeller bestående av <code>bit</code> – kalt <code>bit_vector</code>, og tabeller bestående av <code>character</code> – kalt [[Streng (informatikk)|string]]. Et uløst problem ved denne utgaven var "multiverdi-logikk", hvor et signals driv-styrke (ingen, svak eller sterk) og ukjente verdier blir tatt hånd om. Dette krevde [[IEEE 1164|IEEE standard 1164]] som definerte de logiske typene som kan ta 9 forskjellige verdier: den skalare <code>std_ulogic</code> og dens vektorversjon <code>std_ulogic_vector</code>. Den andre utgaven av [[IEEE 1076]], i 1993, hadde en mer konsistent syntaks, tillot mer fleksible navn, utvidet <code>character</code>-typen til å akseptere ISO-8859-1 trykkbare tegn, <code>xnor</code>-operatoren ble lagt til, etc. Mindre endringer i standarden (2000 og 2002) la til idéen om beskyttede typer (lignende konseptet om klasser i C++) og fjernet noen restriksjoner fra portsammenkoblingsregler. I tillegg til IEEE standard 1164, flere understandarder ble introdusert for å utvide funksjonaliteten til språket. IEEE standard 1076.2 forbedret håndtering av reelle og komplekse datatyper. IEEE standard 1076.3 introduserte typene <code>signed</code> og <code>unsigned</code> for å forenkle aritmetiske operasjoner på vektorer. IEEE standard 1076.1 (kjent som [[VHDL-AMS]]) er en utvidelse som tilbyr analog og blandet design. Noen andre standarder støtter en bredere bruk av VHDL, især utvidelsene VITAL (VHDL Initiative Towards ASIC Libraries) og design av [[mikrobølge]]-kretser. I juni 2006 godkjente VHDL Technical Committee of [[Accellera]] (delegert av IEEE til å jobbe med den neste oppdateringen av standarden) den såkalte Draft 3.0 av VHDL-2006. I tillegg til å beholde full kompatibilitet med eldre versjoner, tilbyr den foreslåtte standarden flere utvidelser som gjør skrivingen og behandlingen av koden enklere. Viktige forandringer består av å inkludere understandarder (1164, 1076.2, 1076.3) i den genereller 1076-standarden, et utvidet sett med operatorer, mer fleksibel syntaks når det gjelder «case»- og «generate»-uttrykk, inkludering av VHPI (grensesnitt til C/C++-språk), og en del av PSL (Property Specification Language). Disse forandringene burde forbedre kvaliteten på syntetiserbar VHDL-kode, gjøre testbenker mer fleksible, og tillate en mer utstrakt bruk av VHDL for systemnivåbeskrivelser. I februar 2008 godkjente Accellera VHDL 4.0, uformelt kjent som VHDL 2008, som tar tak i mer enn 90 punkter som ble oppdaget i prøveperioden for versjon 3.0, og inkluderer forbedrede generiske typer. I 2008 utgav Accellera VHDL 4.0 til IEEE for avstemning angående inkludering i IEEE 1076-2008. VHDL-standarden IEEE 1076-2008 ble godkjent av REVCOM i september 2008.
Redigeringsforklaring:
Merk at alle bidrag til Wikisida.no anses som frigitt under Creative Commons Navngivelse-DelPåSammeVilkår (se
Wikisida.no:Opphavsrett
for detaljer). Om du ikke vil at ditt materiale skal kunne redigeres og distribueres fritt må du ikke lagre det her.
Du lover oss også at du har skrevet teksten selv, eller kopiert den fra en kilde i offentlig eie eller en annen fri ressurs.
Ikke lagre opphavsrettsbeskyttet materiale uten tillatelse!
Avbryt
Redigeringshjelp
(åpnes i et nytt vindu)
Denne siden er medlem av 4 skjulte kategorier:
Kategori:Artikler med offisielle lenker og uten kobling til Wikidata
Kategori:Artikler som trenger referanser
Kategori:Artikler uten offisielle lenker fra Wikidata
Kategori:Artikler uten referanser
Navigasjonsmeny
Personlige verktøy
Ikke logget inn
Brukerdiskusjon
Bidrag
Opprett konto
Logg inn
Navnerom
Side
Diskusjon
norsk bokmål
Visninger
Les
Rediger
Rediger kilde
Vis historikk
Mer
Navigasjon
Forside
Siste endringer
Tilfeldig side
Hjelp til MediaWiki
Verktøy
Lenker hit
Relaterte endringer
Spesialsider
Sideinformasjon