Limbajul de Programare VHDL

Imagine preview
(8/10 din 2 voturi)

Acest curs prezinta Limbajul de Programare VHDL.
Mai jos poate fi vizualizat un extras din document (aprox. 2 pagini).

Arhiva contine 2 fisiere doc de 39 de pagini (in total).

Iti recomandam sa te uiti bine pe extras si pe imaginile oferite iar daca este ceea ce-ti trebuie pentru documentarea ta, il poti descarca.

Fratele cel mare te iubeste, acest download este gratuit. Yupyy!

Domeniu: Automatica

Extras din document

VHDL ca un limbaj de programare

VHDL seamana cu un limbaj de programare; cei care sint familiarizati cu limbajul de programare Ada vor observa similaritati cu acest limbaj.

1.Elemente lexicale

a)Comentarii:

Comentarife in VHDL incep cu ' ' si se continua pina la sfirsitul rindului. Ele nu au semnificatie intr o descriere VHDL.

b)Identificatori:

Identificatorii in VHDL sint cuvinte rezervate sau nume definite de programator. Se formeaza dupa regula:

identificator ::= litera {[_ ] litera_sau_cifra}

Nu se face diferenta intre litere mari si litere mici, de exemplu id si Id reprezinta acelasi lucru.

c)Numere:

Numerele sint reprezentate in baza 10 (numere zecimale) sau in alta baza de numeratie (de la 2 la 16). Numerele care contin '.' sint considerate numere reale, celelalte fiind numere intregi. Numerele zecimale sint definite de:

numar_zecimal ::= intreg[.intreg][exponent]

intreg ::= cifra{[_]cifra}

exponent :.= E[+]intreg |E[-]¬intreg

Exemple:

0 1 123_456 678E9 numere intregi

0.0 0.1 2.345 67 12.3E 4 numere reale

Numerele date intr o baza de numeratie sint definite de:

numar bazat ::= baza#intreg bazat[.intreg bazat]#[exponent]

baza ::= intreg

intreg_bazat ::= cifra_extinsa{[_]cifra extinsa}

cifra extinsa ::= cifra | litera

Baza si exponentul sint in baza 10. Exponentul reprezinta puterea la care se ridica baza, cu care va fi inmultit numarul. Literele de la A la F (de la a la f) sint 'cifre extinse' si reprezinta numerele de la 10 la 15.

Exemple:

2# 1100 0100# 16#C4# 4#301 #E1 nr. intreg 196

2# 1.1111_1111_111 #E+ 11 16#F. FF#E2 nr. real 4095

d) Caractere:

Caracterele sint delimitate de ’ ’.

Exemple: 'A' 'a'

e)Siruri de caractere:

Sirurile de caractere sint delimitate de "". Pentru a include " intr un sir, ghilimelele trebuie dublate. Un sir de caractere poate reprezenta valoarea unui obiect care a un vector de caractere.

Exemple:

“Un sir in sir: “”Un sir”” “ --sir care contine "

f)Siruri de biti:

VHDL permite o reprezentare convenabila a vectorilor de biti ('0' sau ' 1'). Sintaxa este:

sir biti ::= baza_de_reprezentare"valoare_bit"

baza de_reprezentare ::= B | O | X

valoare bit ::= cifra extinsa{[ ]cifra_extinsa}

Baza de reprezentare poate fi B (in binar), O (in octal) sau H (in hexazecimal).

Exemple:

B"1010110" --lungimea sirului e 7

O"126" --lungimea a 9, B”001_010_110"

H"56" --lungimea a 8, B"0101_0110"

2.Tipuri de date si obiecte

In VHDL exista doua feluri de tipuri: tipuri SCALARE si tipuri COMPUSE.

Tipurile scalare includ numere, cantitati fizice si enumerari, si tipuri predefinite. Tipurile compuse sint vectori si inregistrari. In VHDL sint definite si tipurile 'access' (pointeri) si 'file' (fisiere).

declaratie_de_tip :.= type identificator is tip

tip ::= tip_scalar

tip_compus

tip_access

tip_file

tip_scalar ::= tip_enumerare I tip-intreg I tip_real tip_fizic

tip-compus ::= tip_tablou I tip_inregistrare

a)Tip intreg:

Tipul intreg reprezinta o multime de numere intregi dintr-un interval specificat. Sintaxa este:

tip_intreg ::= multime_in_interval

multime_in_interval ::= range

interval interval ::= expresie_simpla directie expresie_simpla

directie :.= to I downto

Expresiile care specifica intervalul trebuie sa aiba valori intregi. Limitele intervalului sint cuprinse intre -2147483647 si +2147483647.

Exemple:

type byte_int is range 0 to 255;

type signed is range -32768 to 32767;

type bit_index is range 31 downto 0;

Exista tipul predefinit 'integer', care reprezinta numere intregi cuprinse intre -2147483647 si +2147483647.

b)Tip fizic:

Tipul fizic este un tip numeric de reprezentare a unor cantitati fizice (lungime, timp, volti). Declaratia de tip include specificarea unei unitati de masura de baza si eventual un numar de unitati de masura secundare, care reprezinta multiplii ai unitatii de baza. Sintaxa este:

tip_fizic ::= constructor_interval

units

unitate_de_baza

{unitati secundare}

end units

unitate_de baza ::= identificator;

unitati_secundare ::= identificator = literal_fizic;

literal_fizic :.= [literal_abstract]nume_unit;

Exemple:

Fisiere in arhiva (2):

  • Limbajul de Programare VHDL
    • cuprins.doc
    • VHDL.doc

Alte informatii

Un curs despre programarea in VHDL