Documente Academic
Documente Profesional
Documente Cultură
Proiectarea structural pe mai multe nivele ierarhice permite definirea detaliilor unei
poriuni a proiectului la un moment dat, de preferin n paralel cu ali proiectani.
Componentele utile pot fi colectate n biblioteci, astfel nct ele pot fi reutilizate
ulterior n acelai proiect sau n alte proiecte. Unul din avantajele sintezei logice este c
asemenea componente sau module sunt independente de tehnologie. Gradul de reutilizare a
componentelor crete pe msur ce sunt disponibile mai multe componente.
1
Exemplu de descriere structural
Elementele unei descrieri structurale vor fi ilustrate mai nti printr-un exemplu
complet. Componentele descrierii structurale vor fi examinate apoi separat n seciunile
urmtoare. Exemplul prezentat const din dou bistabile de tip D conectate n serie, sub
forma unui sistem pipeline. Structura circuitului este ilustrat n Figura 4.1.
2
Arhitectura conine trei pri care se refer la utilizarea componentelor. Acestea sunt
indicate prin comentarii, fiind urmtoarele: declaraia componentei, specificarea configuraiei
i instanierile componentei.
Declaraia componentelor
Instanierea componentelor
Asocierea prin nume permite listarea genericelor i a porturilor ntr-o ordine care este
diferit de ordinea specificat n declaraia componentei. n acest caz, fiecrui generic sau
port i se asociaz n mod explicit o valoare sau un semnal. Numele genericului, respectiv a
portului, este urmat de simbolul =>, iar apoi de valoarea care i se atribuie genericului,
respectiv de semnalul la care este conectat portul. Porturile unei componente pot fi lsate
neconectate prin specificarea cuvntului cheie open.
n Exemplul 4.2, pentru porturi s-a utilizat asocierea prin nume. Instanierile
componentei din acest exemplu sunt reproduse mai jos:
n Exemplul 4.2, exist dou instanieri ale componentei dff, care sunt etichetate cu d1
i d2. Aceste etichete sunt obligatorii i trebuie s fie unice. Fiecare instaniere creaz un
subcircuit coninnd componenta dff i conexiunile cu aceast component.
Observaii
4
Instanierea direct a entitilor
Numele arhitecturii trebuie specificat numai atunci cnd exist mai multe arhitecturi
definite pentru o singur entitate. Dac nu este specificat numele arhitecturii i exist mai
multe arhitecturi pentru entitatea instaniat direct, se va utiliza arhitectura care a fost
compilat ultima.
Specificarea configuraiei
Mai multe specificaii ale configuraiei unor componente pot fi incluse ntr-o declaraie
a configuraiei, care poate reprezenta o unitate separat de proiectare, i deci poate apare
ntr-un fiier separat. Sintaxa unei declaraii a configuraiei este urmtoarea:
O specificaie a configuraiei are trei pri. Prima parte indic acele componente la
care se refer configuraia. Fiecare component este indicat prin eticheta instruciunii n
care este instaniat componenta respectiv. Este posibil utilizarea cuvntului cheie all
pentru selectarea tuturor componentelor cu numele specificat. Acest cuvnt cheie a fost
utilizat i n Exemplul 4.2, specificaia configuraiei din acest exemplu fiind reprodus mai jos:
A doua parte a specificaiei unei configuraii selecteaz entitatea care trebuie utilizat
pentru o anumit component sau pentru toate componentele cu numele indicat, ca i
biblioteca n care se afl entitatea respectiv. Aceast parte poate specifica de asemenea i
arhitectura care va fi utilizat pentru entitatea selectat, n cazul n care exist mai multe
arhitecturi.
A treia parte a specificaiei este opional. Aceast parte poate specifica n mod
explicit modul n care genericele i porturile unei componente instaniate sunt asociate cu
6
genericele i porturile entitii. Pentru aceasta se utilizeaz clauzele generic map i port
map, iar asocierea poate fi poziional sau prin nume. Asocierea explicit este necesar
numai dac numele genericelor i porturilor din declaraia unei componente sunt diferite de
numele genericelor i porturilor din declaraia entitii utilizate pentru componenta respectiv.
n practic se recomand ns ca aceste nume s fie aceleai.
Problema care apare n cazul utilizrii acestei metode este c toate entitile din
biblioteca respectiv devin vizibile, indiferent dac ele vor fi utilizate sau nu. Din acest motiv,
pot apare conflicte ntre numele entitilor din bibliotec i alte nume din unitile de
proiectare n care biblioteca este vizibil. O soluie mai avantajoas este specificarea unei
configuraii prin care se asociaz componenta cu entitatea, utilizndu-se numele implicite
pentru generice i porturi. Aceast soluie este ilustrat n Exemplul 4.5.
7
Observaii