începeți cu programarea VHDL: Proiectați-vă propriul Hardware

dezvăluire: asistența dvs. ajută la menținerea site-ului în funcțiune! Câștigăm o taxă de recomandare pentru unele dintre serviciile pe care le recomandăm pe această pagină. Aflați mai multe

VHDL este un limbaj de descriere hardware(HDL). Un HDL arată cam ca un limbaj de programare, dar are un scop diferit. În loc să fie folosit pentru a proiecta software, Un HDL este utilizat pentru a defini un cip de computer. VHDL poate fi folosit pentru a descrie orice tip de circuite și este frecvent utilizat în proiectarea, simularea și testarea procesoarelor, procesoarelor, plăcilor mamă, FPGA-urilor, ASIC-urilor și a multor alte tipuri de circuite digitale.

istoric VHDL

numele VHDL este un acronim imbricat. Acesta reprezintă limbajul de descriere Hardware Vhsic. Vhsic standuri pentru Circuit integrat foarte mare viteză. Pe lângă faptul că a fost o descriere a unui procesor rapid, a fost numele unui program de guvernare al SUA în anii 1980 a cărui misiune era cercetarea și dezvoltarea în domeniul circuitelor integrate de foarte mare viteză (cipuri rapide de computer).

împreună cu progresele majore în știința materialelor, algoritmi, proiectarea cipurilor, litografie și o duzină de alte domenii conexe, VHSIC a dezvoltat VHDL.

primul standard oficial pentru limbă a venit de la IEEE în 1987 și este cunoscut sub numele de IEEE 1076. Au existat mai multe ediții de atunci, ultima venind în 2008. In addition to the „core” language specified in 1076, there are a number of extensions codified in other specs:

  • IEEE 1076.1 VHDL Analog and Mixed-Signal (VHDL-AMS)
  • IEEE 1076.1.1 VHDL-AMS Standard Packages (stdpkgs)
  • IEEE 1076.2 VHDL Math Package
  • IEEE 1076.3 VHDL Synthesis Package (vhdlsynth)
  • IEEE 1076.3 VHDL Synthesis Package – Floating Point (fphdl)
  • IEEE 1076.4 Timing (VHDL Initiative Towards ASIC Libraries: vital)
  • IEEE 1076.6 interoperabilitatea sintezei VHDL
  • IEEE 1164 VHDL multivalue Logic (std_logic_1164) pachete

VHDL Design și sintaxă

VHDL s-a bazat pe Ada și a împrumutat de la acesta pe scară largă atât în sintaxă, cât și în concepte. Aceasta a fost apoi completată cu concepte specifice hardware, cum ar fi logica multi-valoroasă, paralelismul fizic și un set extins de operatori booleni. VHDL poate indexa, de asemenea, matrice atât în ordine crescătoare, cât și în ordine descrescătoare, în timp ce Ada (și majoritatea celorlalte limbaje de programare) indexează doar în ordine crescătoare.

majoritatea limbajelor de programare sunt, în esență, procedurale — computerul execută o comandă după alta în ordine. VHDL este diferit. Este un limbaj hardware care descrie o structură fizică (reală sau simulată). Această structură este alcătuită dintr-un număr mare de module și fiecare modul acționează în același timp ca orice alt modul.

Deci, în cadrul fiecărui modul există un flux procedural de instrucțiuni care arată oarecum ca un program software mic, autonom-cu variabile, fluxuri de control, condiționale, bucle. Fiecare modul are una sau mai multe intrări împreună cu una sau mai multe ieșiri. Intrările sunt specificate într-o structură numită entitate, iar logica autonomă este definită într-o arhitectură.

luați în considerare ideea unui „și poartă” unde avem două intrări și o ieșire. Dacă ambele intrări sunt ” on „(true, 1), atunci ieșirea este” on”; în caz contrar, ieșirea este ” off.”Deci, folosind VHDL, am defini două intrări și o ieșire. Valorile acceptate ale acestor intrări și ieșiri ar fi definite într-un modul std_logic, care este importat ca o bibliotecă într-un limbaj de programare obișnuit. Arhitectura ar defini apoi funcționarea internă a „și porții” noastre, astfel încât să funcționeze așa cum tocmai am discutat.

modulul std_logic este un tip de valoare specific hardware interesant. Este similar cu valoarea booleană prezentă în limbajele de programare (un bit: adevărat sau fals), dar poate avea o gamă de valori, deoarece reprezintă un impuls electric real într-un sistem fizic:

  • U: neinițializați. Acest semnal nu a fost încă setat.
  • X: necunoscut. Imposibil de determinat această valoare / rezultat.
  • 0: logică 0
  • 1: logică 1
  • Z: impedanță ridicată
  • W: semnal slab, nu pot spune dacă ar trebui să fie 0 sau 1.
  • L: semnal slab care ar trebui să meargă probabil la 0
  • H: semnal slab care ar trebui să meargă probabil la 1
  • -: nu-mi pasă.

acesta este, în miniatură, modul în care este construit un design complet VHDL. Module destul de simple, logic autonome de activitate I/O sunt construite și conectate între ele pentru a forma mașini de calcul capabile să îndeplinească diferite tipuri de sarcini. Un design VHDL ar putea descrie un computer de uz general care funcționează pe deplin sau ar putea codifica un singur algoritm, cum ar fi forța brută de lucru folosită pentru mineritul Bitcoin.

este important să realizăm că un design VHDL nu este un program — nu este rulat sau executat. Ca un plan, definește o arhitectură. Odată ce un design este finalizat, acesta este de obicei simulat pentru testare într-un banc de testare software și apoi sintetizat, ceea ce înseamnă că este tradus într-un design fizic care poate fi implementat pe un cip sau o placă de circuit reală.

resurse pentru învățarea VHDL

există o mulțime de resurse pentru învățarea VHDL. Am pus împreună unele dintre cele mai bune.

resurse Online

  • VHDL Primer: un tutorial despre VHDL de la Universitatea din Pennsylvania.
  • VHDL pe Wikipedia: acoperirea Wikipedia a VHDL este surprinzătoare în profunzime și lucidă, oferind o introducere excelentă în limba în ansamblu.
  • carte de bucate VHDL: o carte gratuită, online, lungimea și formatul unui manual de curs universitar.
  • Tutorial VHDL: învață prin exemplu: acest tutorial venerabil nu este nimic frumos de privit, dar informațiile sunt grozave și foarte bine organizate.
  • ghid lingvistic VHDL: acesta este un PDF care acoperă limba în detaliu imens (400 de pagini) cu link-uri în document pentru o navigare foarte ușoară. Aceasta este o referință mare.
  • Ghidul designerului pentru VHDL: o colecție de resurse, tutoriale și linkuri. Include videoclipuri și un curs de certificare online.
  • Programmable Logic/VHDL Module Structure
  • VHDL Basics — Online Course
  • VHDL Handbook
  • VHDL Starters Guide

Books

All these books focus on VHDL:

  • The Designer’s Guide to VHDL, Third Edition
  • Circuit Design and Simulation with VHDL
  • Vhdl By Example
  • VHDL: Basics to Programming
  • VHDL for Engineers
  • VHDL By Example: Fundamentals of Digital Design
  • Circuit Design with VHDL
  • Digital Design Using VHDL: O abordare sistemică

VHDL & Verilog Books

principala „competiție” a VHDL este Verilog. Ambele limbi sunt utilizate pentru proiectarea hardware, deci există o serie de cărți care se concentrează pe conceptele de proiectare și inginerie care stau la baza și utilizează atât VHDL, cât și Verilog.

  • Design Digital cu RTL Design, VHDL și Verilog
  • HDL Chip Design: Un ghid practic pentru proiectarea, sintetizarea & simularea Asics & FPGA folosind VHDL sau Verilog
  • Rețete de proiectare pentru FPGA, ediția a doua: folosind Verilog și VHDL
  • fundamentele programării HDL: VHDL și Verilog

alte link-uri importante VHDL

implementări și simulatoare

  • Free / Open Source
    • GHDL
    • NVC
    • proiect HDL gratuit
  • comercial / proprietar
    • VHDL Simili
    • activ-HDL
    • incisiv Enterprise Simulator
    • ModelSim

instrumente

  • EDA Utils: o colecție mare de utilități pentru lucrul cu VHDL, precum și Verilog și alte HDL-uri.
  • loc de joaca EDA: un sandbox online pentru testarea modelelor VHDL.
  • pachete Editor
    • mod Emacs VHDL
    • plugin VHDL pentru Vim
    • pachet VHDL pentru text sublim
    • VHDL pentru Atom
    • VHDL pentru Notepad++

ar trebui să știi și tu…

VHDL este unul dintre cele două limbaje majore de descriere hardware. Celălalt este Verilog. Majoritatea designerilor de hardware sunt familiarizați cu ambele, precum și cu limbaje de sistem de operare de nivel scăzut, cum ar fi Cand c++.

Lasă un răspuns

Adresa ta de email nu va fi publicată.