Pradėkite nuo VHDL programavimo: kurkite savo aparatinę įrangą

Atskleidimas: Jūsų palaikymas padeda išlaikyti svetainę! Mes uždirbame siuntimo mokestį už kai kurias paslaugas, kurias rekomenduojame šiame puslapyje.


VHDL yra aparatinės įrangos aprašymo kalba (HDL). HDL šiek tiek primena programavimo kalbą, tačiau turi kitą paskirtį. Vietoj to, kad būtų naudojamas programinės įrangos kūrimui, HDL naudojamas apibrėžti kompiuterio lustą. VHDL gali būti naudojamas bet kokio tipo grandinėms apibūdinti ir dažnai naudojamas projektuojant, imituojant ir tikrinant procesorius, procesorius, pagrindines plokštes, FPGA, ASIC ir daugelį kitų tipų skaitmeninių schemų..

VHDL istorija

Pavadinimas VHDL yra įdėtasis santrumpa. Tai reiškia VHSIC aparatinės įrangos aprašymo kalbą. VHSIC reiškia labai greitą integruotą grandinę. Dešimtajame dešimtmetyje tai buvo ne tik greito procesoriaus aprašymas, bet ir JAV vyriausybės programos pavadinimas, kurios misija buvo moksliniai tyrimai ir plėtra labai greitų integruotų grandinių (greitų kompiuterinių lustų) srityje..

Kartu su dideliais pasiekimais medžiagų mokslo, algoritmų, mikroschemų projektavimo, litografijos ir dar keliolika susijusių sričių srityje, VHSIC sukūrė VHDL.

Pirmasis oficialus kalbos standartas atsirado IEEE 1987 m. Ir yra žinomas kaip IEEE 1076. Nuo to laiko buvo keletas leidimų, paskutiniai – 2008 m. Be 1076 m. Nurodytos „pagrindinės“ kalbos, yra ir kitose specifikacijose kodifikuotų plėtinių skaičius:

  • IEEE 1076.1 VHDL analoginis ir mišrusis signalas (VHDL-AMS)
  • IEEE 1076.1.1 VHDL-AMS standartiniai paketai (stdpkgs)
  • „IEEE 1076.2 VHDL“ matematikos paketas
  • IEEE 1076.3 VHDL sintezės paketas („vhdlsynth“)
  • IEEE 1076.3 VHDL sintezės paketas – slankusis taškas (fphdl)
  • IEEE 1076.4 laikas (VHDL iniciatyva link ASIC bibliotekų: gyvybiškai svarbi)
  • IEEE 1076.6 VHDL sintezės sąveika
  • „IEEE 1164 VHDL Multivalue Logic“ (std_logic_1164) paketai

VHDL dizainas ir sintaksė

VHDL buvo pagrįstas Ada ir iš jo buvo labai pasiskolinta tiek sintaksė, tiek sąvokos. Tada tai buvo papildyta specifinėmis aparatūros sąvokomis, tokiomis kaip daugiavertė logika, fizinis paralelizmas ir išplėstas loginių operatorių rinkinys. VHDL taip pat gali indeksuoti masyvus didėjančia ir mažėjančia tvarka, tuo tarpu Ada (ir dauguma kitų programavimo kalbų) indeksuoja tik didėjančia tvarka..

Dauguma programavimo kalbų yra širdyje procesinės – kompiuteris paeiliui vykdo vieną komandą po kitos. VHDL skiriasi. Tai aparatinės įrangos kalba, apibūdinanti (tikrąją ar imituojamą) fizinę struktūrą. Tą struktūrą sudaro daugybė modulių, ir kiekvienas modulis veikia tuo pačiu metu kaip ir visi kiti moduliai.

Taigi kiekviename modulyje yra procedūrinis instrukcijų srautas, kuris atrodo panašus į mažą savarankišką programinės įrangos programą – su kintamaisiais, valdymo srautais, sąlygomis, kilpomis. Kiekvienas modulis turi vieną ar daugiau įėjimų kartu su vienu ar daugiau išėjimų. Įėjimai yra nurodomi struktūroje, vadinamoje subjektu, o autonominė logika yra apibrėžta architektūroje.

Apsvarstykite „IR vartų“ idėją, kai mes turime du įėjimus ir vieną išėjimą. Jei abu įėjimai yra „įjungti“ (tiesa, 1), tada išėjimas yra „įjungtas“; priešingu atveju išėjimas yra išjungtas. Taigi naudodami VHDL, mes apibrėžtume du įėjimus ir vieną išėjimą. Priimtinos tų įėjimų ir išėjimų reikšmės bus apibrėžtos „std_logic“ modulyje, kuris yra importuojamas kaip biblioteka įprasta programavimo kalba. Tada architektūra apibrėžtų mūsų „IR vartų“ vidinį veikimą, kad ji veiktų taip, kaip ką tik aptarėme.

„Std_logic“ modulis yra įdomi specifinės aparatūros vertės rūšis. Tai yra panaši į „BOOLEAN“ reikšmę, esančią programavimo kalbose (vienas bitas: teisinga arba klaidinga), tačiau ji gali turėti reikšmių diapazoną, nes ji atspindi realų elektrinį impulsą fizinėje sistemoje:

  • U: neinicijuotas. Šis signalas dar nebuvo nustatytas.
  • X: nežinoma. Neįmanoma nustatyti šios vertės / rezultato.
  • 0: logika 0
  • 1: logika 1
  • Z: Didelė varža
  • W: silpnas signalas, negaliu pasakyti, ar jis turėtų būti 0, ar 1.
  • L: Silpnas signalas, kuris tikriausiai turėtų sumažėti iki 0
  • H: Silpnas signalas, kuris tikriausiai turėtų būti 1
  • -: Nerūpi.

Miniatiūriniu būdu yra sukurtas visas VHDL dizainas. Gana paprasti, logiškai savarankiški I / O veiklos moduliai yra sukonstruoti ir sujungti vienas su kitu, kad būtų sudarytos skaičiavimo mašinos, galinčios atlikti įvairaus tipo užduotis. VHDL dizainas galėtų apibūdinti visiškai veikiantį bendrosios paskirties kompiuterį arba jis galėtų užkoduoti vieną algoritmą, pvz., „Bitcoin“ kasyboje naudojamą brutalios jėgos darbo įrodymą..

Svarbu suprasti, kad VHDL dizainas nėra programa – jis nėra paleistas ar vykdomas. Kaip ir projektas, jis apibrėžia architektūrą. Kai projektas bus baigtas, jis paprastai imituojamas bandymui programinės įrangos bandymų stende, o tada sintetinamas, o tai reiškia, kad jis paverčiamas fiziniu dizainu, kurį galima įgyvendinti realiame luste arba plokštėje..

Ištekliai VHDL mokymuisi

Norint išmokti VHDL, yra labai daug išteklių. Mes sukūrėme keletą geriausių.

Internetiniai šaltiniai

  • „VHDL Primer“: VHDL mokymo programa iš Pensilvanijos universiteto.
  • VHDL Vikipedijoje: Vikipedijos VHDL aprėptis stebina nuodugniai ir aiškiai, pateikia puikų įvadą į visą kalbą.
  • „VHDL Cookbook“: nemokama knyga internete, kurios ilgis ir formatas yra universiteto kursų vadovėlis.
  • „VHDL“ vadovėlis: mokykis pagal pavyzdį: šis garbingas vadovėlis nėra nieko malonus pažvelgti, tačiau informacija yra puiki ir labai gerai organizuota..
  • „VHDL“ kalbos vadovas: tai yra PDF rinkinys, kuriame kalbama be galo išsamiai (400 puslapių) su nuorodomis dokumente, kad būtų labai lengva naršyti. Tai puiki nuoroda.
  • Dizainerio vadovas VHDL: išteklių, vadovėlių ir nuorodų rinkinys. Apima vaizdo įrašus ir internetinį sertifikavimo kursą.
  • Programuojamos logikos / VHDL modulio struktūra
  • VHDL pagrindai – internetinis kursas
  • VHDL vadovas
  • VHDL pradedančiųjų vadovas

Knygos

Visos šios knygos yra skirtos VHDL:

  • „VHDL“ dizainerio vadovas, trečiasis leidimas
  • Grandinės projektavimas ir modeliavimas naudojant VHDL
  • Vhdl pagal pavyzdį
  • VHDL: programavimo pagrindai
  • VHDL inžinieriams
  • VHDL pagal pavyzdį: skaitmeninio dizaino pagrindai
  • Grandinės projektavimas naudojant VHDL
  • Skaitmeninis dizainas naudojant VHDL: požiūris į sistemas

VHDL & „Verilog“ knygos

Pagrindinis VHDL „konkursas“ yra „Verilog“. Aparatinės įrangos projektavimui naudojamos abi kalbos, todėl yra nemažai knygų, kuriose pagrindinis dėmesys skiriamas pagrindinėms projektavimo ir inžinerijos koncepcijoms ir vartojami tiek VHDL, tiek „Verilog“..

  • Skaitmeninis dizainas su RTL dizainu, VHDL ir „Verilog“
  • „HDL“ mikroschemų dizainas: praktinis projektavimo, sintezės vadovas & Asikos modeliavimas & „Fpgas“ naudojant „Vhdl“ arba „Verilog“
  • FPGA projektavimo receptai, antrasis leidimas: „Verilog“ ir „VHDL“ naudojimas
  • HDL programavimo pagrindai: VHDL ir Verilog

Kitos svarbios VHDL nuorodos

Įdiegimai ir treniruokliai

  • Nemokamas / atviras šaltinis
    • GHDL
    • NVC
    • Nemokamas HDL projektas
  • Komercinis / patentuotas
    • VHDL Simili
    • Aktyvus HDL
    • Įspūdingas įmonės simuliatorius
    • „ModelSim“

Įrankiai

  • „EDA Utils“: didelis paslaugų rinkinys darbui su VHDL, taip pat „Verilog“ ir kitais HDL.
  • EDA žaidimų aikštelė: internetinė smėlio dėžė, skirta išbandyti VHDL dizainus.
  • Redaktoriaus paketai
    • „Emacs VHDL“ režimas
    • VHDL įskiepis vim
    • VHDL paketas pakylėtam tekstui
    • VHDL „Atom“
    • VHDL užrašinė++

Jūs taip pat turėtumėte žinoti …

VHDL yra viena iš dviejų pagrindinių aparatinės įrangos aprašymo kalbų. Kitas yra Verilog. Daugelis aparatūros kūrėjų yra susipažinę su abiem, taip pat su žemo lygio operacinės sistemos kalbomis, tokiomis kaip „Cand C“++.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me