Sunteți pe pagina 1din 8

1. Ce este VHDL? La ce foloseste?

VHDL-Hardware Description Language


V=> Very High Speed Integrated Circuits(VHSIC)
a fost dezvoltat pt tehnici avansate de proiectare hardware si
pt circuite pe scara foarte larga

2. Ce presupune proiectarea VHDL?


-platforma software
-TOOLS esentiale in proiectarea la nivel inalt
-limbaj
-TEMPLATE-uri(met de proeictare care au in spate
experienta)
3. Cuvinte cheie care caracterizeaza VHDL.
->sinteza automata
->process
-functiuni
-FPGA
-ASIC
->componenta
->entitate
->arhitectura
->delay
4. Etape in analiza si partitionarea datelor
1. FISIER
Scriu cod VHDL pe blocuri fundamentale
Scriu test bench(stimuli de testare)

se introduce fisierul

SIMULATOR VHDL
Daca codul este bun

Sinteza Automata

Se genereaza cod optimizat care leaga comonentele

Programarea circuitului fizic(FPGA)


5. Ce inseamna FPGA si ASIC?
FPGA Field Programable Gate Array
ASIC Application Specific Integrate Circuits

6. Care este diferenta dintre FPGA si ASIC?


ASIC nu are component (are porti neasamblate)
-este un circuit integrat specific creat pt o anumita utilitate
(ex: cip care controleaza functionarea unuit telefon)
FPGA contine componente si se pot programa de catre pc
-un FPGA poate fi folosit in mai multe aplicatii
7. Ce inseamna utilizare VHDL eficienta?
-invat sintaxa
-invat un stil de programare prin exemple ce conduc la o
sinteza automata eficienta
8. Ce este sinteza automata?
S.A. genereaza un circuit logic plecand de la descrierea de
nivel inalt VHDL. Ea genereaza un cod VHDL optimizat in
scopul implementarii functiunii in resursele fizice finale FPGA,
ASIC.
Intrari
-cod VHDL pt functiune(fara test bench)

-optimizari de implementare
-restrictii proiectare
-biblioteci
SINTEZA AUTOMATA (SA)

-cod VHDL optimizat(componente)


-rapoarte
-scheme hardware
-lista vectori teste

Iesiri
8*.Ce apare in lista port ma-ului?
Numai prin entiatii mar ice cuprinde comp. noastra(ansamblului) si
signal-uri.
9. Caracteristicile TEST BENCH-ului.Cum recunoastem ca
este vorba despre un Test Bench?
- entitatea este goala
- toate semnalele cu care se lucreaza sunt signal

- creaza stimuli de test care se aplica functiunii codului


- leaga stimuli codului de codul functiunii
empty entity
ex: entity TEST _MUX 4 is
end;
10. Definitie si proprietati fundamentale ale proceselor
1. Procesele sunt structuri concurente al caror corpuri se
executa secvential
2. Un process se activeaza sub controlul unei liste de
senzitivitate (LS)
3. In cadrul proceselor pot exista stari wait caz in care
executia secventiala a procesului se opreste si se continua
apoi doar dupa temporizarea marcata in wait(apar de
obicei la procesele fara LS)
4. Atunci cand o variabila din LS isi modifica starea(apare un
eveniment) procesul se ruleaza pana la end daca nu apar
wait-uri.
11. Procesele fara LS (se folosesc in cadrul test-bench-urilor)
La aceste procese simulatorul starteaza imediat rularea, care
executa secvential instructiunile pana ajunge la un wait; asteapta
temporizarea indicate de wait; continua pana la end process daca
nu mai intalneste nici un wait si apoi ruleaza din nou procesul.
wait fara parametru=temporizarea infinita-> procesul se
opreste
12. Cum selectezi arhitectura A1 daca ai 3 arhitecturi A1, A2,
A3 si entitatea select?
-se foloseste CONFIGURATION
Configuration nume_configuratie of select is
for A1;
end for;
end nume_configuratie;

13. Ce sectiuni exista in proiectare si ce fac?


a) literary contine biblioteci specifice
b) entity descrie circuitul la nivelul intrari / iesiri
c) architecture descrie functinarea structurii blocului
hardware
(nota: pot exista mai multe arhitecturi pt o entitate)

14. Delay-uri
Exista 2 tipuri de delay:
- specificat prin: after XX ns
- nespecificat(intrinseci): deltadelay
15. Diferenta dintre signal si
variable(3)
- asignarea semnalelor are intotdeauna delay
- asignarea variabilelor nu are niciodata delay
- variabila este de tip local, vizibila numai in process,
comunicarea intre process si exterior facandu-se doar cu signal-uri
-la Sinteza Automata orice asignare de variabila creaza un nou
nivel logic
16. Latch transparent
Asignare incompleta (fara ramura else) genereaza un latch
transparent
process (enable, data)
begin
if enable=1 then Q<=Data;
end if;
end process;

Data

Enable

Latch

17. Reguli pt sinteza circuitelor combinationale


implementate cu procese
1. lista de senzitivitate trebuie sa fie completa(sa contina toate
intrarile)
2. iesirile sa depinda numai de intrari (fara reactii)
3. pt struct if;case toate ramurile trebuie sa fie complete(sa nu
fie memorate)
18. Diferenta dintre IF si CASE
IF -este testata secvential, astfel poate aloca intrari prioritare
-se aloca mai multe nivele logice => este mai incet
CASE -este testat paralel, adica se va implementa un singur
nivel logic, astfel este mai rapid ca if-ul
-nu conteaza ordinea de scriere a when-urilor
-se recomanda la decodificatoare
19. Care este structura sintetizata de S.A.?
Singura structura sintetizata de SA este for cu range fixat.
While si loop nu sunt sintetizate de SA.

20. Factorul de umplere


Este determinat de wait for
21. Tipuri de date
Tipul enumerare
type nume_tip is (el1, el2.);
-valorile din lista sunt valori simbolice
-pt a memora o valoare din lista trebuie
declarat un obiect care sa apartina
tipului(poate lua una din valorile din lista)

STRON
G
1
X
0

WEAK
H
W
L

Tipuri logice
1) type BOOLEAN is (FALSE, TRUE)
type BIT is (0, 1)
2) type STD_ULOGIC is (u, x, 0, 1, Z, W, L, H, -);
1. tipul BOOLEAN si BIT contin stari strict logice, nu contin stari
reale fizice(nedeterminate)
2. -tipul STD_ULOGIC inlatura dezavantajul de mai sus
-are 2 tipuri de valori STRONG:U,X,0,1,Z
WEAK:W,L,H
22. Ce semnificatie au elementele din STD_ULOGIC?
Uneinitializat (se cunoaste la iesire)
Niv logice
Xnecunoscut (nu se cunoaste la iesire)
Zinalta impedanta (iesire intrerupta)
Apare in circuitele 3 state
-DUMMY fara efect
poate fi in orice stare
Hhigh
Wweak
23. 3-state driver
signal BUSS: STD_LOGIC;
Tri1:process (ENB1, D1)
begin
if ENB1=1 then BUSS<=D1;
else BUSS<=Z;
end if;
end process;
Tri2:process(ENB2,D2) identic ca la Tri1,doar inlocuiesti

Tri3:process(ENB3,D3)

end process;
24. Ce returneaza functia RESOLVED?
-este apelata de simulator pt a calcula val. semnalului dintre
val. livrate de drivere
Dac intr 0,1,- raspunsul functiei RESOLVED este X
L,H raspunsul functiei RESOLVED este W
Altele(W,H)raspunsul fctiei RESOLVED este S(strong)

25. Constante
-reprezinta a 3-a categorie de obiecte dupa signal si variable
-au obligatoriu o valoare initiala care ramane constanta in
timpul simularii
-nu pot fi asignate
constant nume_constanta:type:=val;
26. Deplasari si rotiri
-exista operatia logica de: -deplasare logicaSLL nr_deplas( ex: sll
3)
SRL nr_deplas
-deplasare aritmeticaSLA nr_deplas
SRA nr_deplas
-rotire ROL nr_deplas
ROR nr_deplas

Prin
concatenare
Prin def
deplasarii

Shiftare la stanga
R<=R(6 downto
0)&0;
R<=R sll 1;

Rotire la stanga
A<=A(6 downto
0)&A(7);
A<=A rol 1;

27. Care este procedura de adunare a 2 vectori?


Pt vectorii cu semn , declarati STD_LOGIC_VECTOR( );
-se foloseste use COMPAS_LIB.COMPASS.all
Pt vectorii fara semn, declarati: UNSIGNED( );
-se foloseste use IEEE.NUMERIC_STD.all
28 Functii de conversie
to_unsigned(intreg, nr_biti_pt_vect_convertit) intreg in
vector

to_integer(vector) vector in intreg


29.Def numarator crescator de 8 biti cu reset prioritar pe
front crescator

signal count:std_logic_vector(7 downto 0);


begin
process(clk, R)
begin
if R=0 then count=00000000;
elseif RISING_EDGE(clk) then
if Load=1 then count <=Data;
else count<=count+1;
end if;
end if;
end process;
30. Diferenta dintre CLKevent si RISING_EDGE
RISING_EDGE se poate utiliza in locul (clkevent and clk=1)
daca semnalul clk este de tip STD_LOGIC
asigura tranzitia de la 0 la 1 fara a tine cont
de alte tranzitii ca cea de la U la 1
CLKEVENT se utilizeaza cand semnalul este de tip BIT
31. Cate bistabile sintetizeaza SA?(pe ex dat)
SIGNAL
-daca in partea stanga a unei atribuiri apare un signal , SA
genereaza un bistabil
-daca apare in partea dreapta SA genereaza un fir
VARIABLE
-daca o variabila este mai intai citita si eventual apoi atribuita SA
genereaza un bistabil(if var=)
-invers SA genereaza un fir
DOAR IN CADRUL PROCESELOR!!!
32.Diagrama 4 stari-aratati prin 2 iesiri+ se imagineaza
secventa de test
Se va imagina secvete de test prezentate sub forma unor diagrame
in timp care cuprind secvente intrarilor corelata cu secv. asteptata a
iesirilor(starilor), dupa care trebuie comutata motivate a ac
secvente.
33. Configuration

Configuratia alge din mai multe arhitecturi(V1,V2 ex 1,2) ale unei


entitati acea arhi. care va fi folosita la simularea respective sinteza.
Sintaxa:
Configuration NUME of NUME_entitate is
for NUME_arhitectura_selectata
end for;
end NUME;

S-ar putea să vă placă și