Sunteți pe pagina 1din 18

Modul 0 – Concepte fundamentale

1. Obiect abstract. Stare. Sistem


Definiţie: P reprezintă un obiect fizic caracterizat de o mulţime de parametri măsurabili,
cum ar fi lungimea, lăţimea, greutatea, culoarea sau forma. Aceste valori la un moment t
sunt v1(t), v2(t), …
Din punct de vedere matematic, valoarea acestor funcţii în timp nu este relevantă.
Relaţiile dintre funcţii au însă o mare importanţă. Aceste relaţii particulare reprezintă un
obiect abstract şi se notează cu A.
Definiţie: Un obiect abstract este o mulţime de perechi ordonate de funcţii de timp.
A = { x[t0,t1],z[t0,t1]}, unde
1. t0, t1 Є ( - ∞, +∞)
2. x[t0,t1] se numeşte intrare şi se notează cu X
3. z[t0,t1] se numeşte ieşire şi se notează cu Z
4. Proprietatea de segmentare este adevărată. Acest lucru înseamnă că dacă
perechea (x[t0,t1],z[t0,t1]) Є A atunci orice pereche este tot din A.
Definiţie: Perechea (X, Z) se numeşte pereche intrare-ieşire.
Definiţie: Orice obiect abstract A reprezintă o mulţime de perechi de intrare-ieşire, deci
A = {(X, Z)}.
Definiţie: Spaţiul valorilor de intrare pentru un obiect abstract A este dat de
următoarea mulţime de funcţii de timp:
D {A} = {X / (X, Z) Є A}
Definiţie: Spaţiul valorilor de ieşire pentru un obiect abstract A este dat de următoarea
mulţime de funcţii de timp:
R {A} = {Z / (X, Z) Є A}
Reprezentarea oricărui obiect abstract este:

X Z
A
intrare ieşire
Definiţie: Fie A1, A2, … o mulţime de obiecte abstracte şi se presupune o anume
interconectare a obiectelor în care intrările şi ieşirile sunt egale cu ieşirile şi intrările altor
obiecte. O astfel de structură se numeşte sistem şi se notează cu S. Un sistem se
reprezintă în felul următor:

Xδ Zδ
S
intrare ieşire
În conformitate cu această definiţie, orice sistem este un obiect abstract iar orice obiect
abstract poate fi considerat un sistem.
Exemplu: Considerăm două obiecte abstracte A1 şi A2 în care ieşirea lui A1 este
conectată la intrarea lui A2.

1
XS X1 Z1 X2 Z2 ZS
A1 A2

Constrângerile sunt următoarele:


S reprezintă sistemul iar XS şi ZS reprezintă intrarea şi ieşirea acestuia. În general,
dependenţa intrare-ieşire nu este unic determinată, ceea ce înseamnă că răspunsul
sistemului nu depinde doar de intrările curente dar şi de cele trecute. De aceea o parte a
intrărilor trecute trebuie să fie memorate de sistem într-o formă adecvată sub forma unor
valori interne.
Definiţie: Mulţimea valorilor curente interne se numeşte stare internă a sistemului sau
starea sistemului.
Definiţie: Orice sistem care funcţionează în timp discret şi pentru care valorile perechilor
intrare-ieşire şi stare internă se află într-un număr finit de configuraţii se numeşte sistem
cu stări finite (SSF).
Observaţii:
1. Teoria sistemelor cu stări finite este o componentă importantă din teoria
sistemelor.
2. SSF reprezintă un model ideal ce poate reprezenta o mare varietate de fenomene
fizice sau dispozitive din multe domenii ale ştiinţei.

2. Sisteme cu stări finite ( SSF )


Definirea automatelor finite fără memorie

Considerăm două mulţimi finite nevide,


X = {x1, x2, …xk}
Z = {z1, z2, …zl}
care conţin un număr finit de simboluri sau obiecte denumite alfabete.
Se consideră un dispozitiv cu n intrări şi m ieşiri. Pe fiecare intrare sunt aplicate
simboluri ce aparţin alfabetului de intrare X, formându-se astfel un vector de intrare de
dimensiuni n.
Xi = ( xi1, xi2, …, xin ), unde xik Є X, k Є [1,n]
La ieşire, va fi generat un vector de ieşire care are dimensiunea m
Zj = ( zj1, zj2, …, zjm ), unde zit Є Z, t Є [1,m]
Funcţionarea dispozitivului constă în transformarea vectorului de intrare Xi în vectorul de
ieşire Zj.
Luând în considerare că numărul de intrări şi ieşiri este finit iar alfabetele X şi Z sunt
finite, putem spune că spaţiul intrărilor şi al ieşirilor sunt mulţimi finite:
D { A } = kn
R { A } = lm
Un astfel de sistem se comportă ca un transformator sau convertor de vectori în timp ce
operaţia poate fi descrisă sub forma unui tabel de corespondenţă ce poartă numele de
tabel de intrare-ieşire.

2
Deoarece D{A} este finită înseamnă că tabelul are un număr finit de rânduri, mai exact
kn. Presupunând că pentru vectorul de intrare Xj se generează vectorul Zij următorul tabel
poate fi determinat.
Intrare Ieşire
x1 zi1
x2 zi2
. .
. .
. .
x kn zi n
k

unde
Xi Є D {A}, i Є [1,kn]
Z is Є R {A}, s Є [1,kn]
Acest tabel poartă numele de tabel de adevăr.
Definiţie: Orice dispozitiv al cărui comportament poate fi descris printr-un tabel de
adevăr se numeşte automat fără memorie sau dispozitiv logic fără memorie.
Implementarea portă numele de reţea combinaţională logică (RCL) sau circuit logic
combinaţional (CLC).
Observaţii:
1. Orice RCL este caracterizat de o relaţie intrare-ieşire.
2. RCL reprezintă cea mai simplă clasă de dispozitive logice din structura oricărui
calculator digital.
3. Automatele fără memorie sunt sisteme cu stări finite în care nu este nevoie să se
memoreze activitatea intrărilor.

2.2. Definirea automatelor finite cu memorie

În continuare vor fi considerate sisteme mai complexe, a căror operare este caracterizată
de starea internă. Presupunem că mulţimea tuturor stărilor interne este finită şi o notăm
cu S.
S = { S1, S2, …, Sq}
În aceleaşi condiţii ca în paragraful anterior, folosim alfabetul de intrare X şi cel de ieşire
Z, compuse dintr-un număr finit de simboluri de intrare şi ieşire.
X = {x1, x2, …xk}
Z = {z1, z2, …zl}
Presupunem că sistemul are n intrări şi m ieşiri, pe fiecare intrare se aplică un simbol din
alfabetul de intrare X ce formează un vector de intrare n-dimensonal.
Xi = ( xi1, xi2, …, xin ), unde xik Є X, k Є [1,n]
La ieşire, va fi generat un vector de ieşire care are dimensiunea m format din simboluri
din Z
Zj = ( zj1, zj2, …, zjm ), unde zit Є Z, t Є [1,m]
În acest caz, răspunsul sistemului nu depinde numai de vectorul de intrare. Trebuie de
asemenea cunoscută starea curentă a sistemului la momentul t. Astfel trebuie cunoscută

3
perechea formată din starea curentă, St, şi vectorul de intrare Xi (sau perechea intrare-
stare). Ca ieşire, va fi generat vectorul de ieşire Zj şi starea următoare Sr, denumită
pereche ieşire-stare.
Definiţie: S se numeşte spaţiul stărilor sistemului; această mulţime se presupune că este
finită. Evoluţia unui astfel de sistem este dependentă de timp, deoarece St, starea curentă
memorează istoria intrărilor. Operarea unui astfel de sistem este dată de relaţia „intrare-
stare-ieşire” (I-S-I). Operarea acestor sisteme este descrisă prin două tabele T1 şi T2 care
reprezintă tabelul de ieşire şi tabelul de tranziţie a stărilor.
Tabelul T1 pune în corespondenţă o pereche intrare-stare cu un vector de ieşire în timp ce
T2 pune în corespondenţă o pereche intrare-stare cu starea următoare. Astfel, T1 se
numeşte tabel ieşire iar T2 se numeşte tabel de tranziţie a stărilor.

Tabelul T1 – tabel ieşire

Intrare\Stare curentă S1 S2 … Sq
X1 Z11 Z12 … Z1q
X2 Z21 Z22 … Z2q
… … … … …
X kn Z k n1 Z kn 2 … Z k nq

unde : Zij Є R (S), i Є [1,kn], j Є [1,q]

Tabelul T2 – tabel de tranziţie a stărilor

Intrare\Stare curentă S1 S2 … Sq
X1 S11 S12 … S1q
X2 S21 S22 … S2q
… … … … …
X kn S k n1 Skn 2 … S k nq

unde : Sij Є S, i Є [1,kn], j Є [1,q]

Definiţie: Orice sistem a cărui operare este caracterizată de un tabel de ieşire şi de un


tabel de tranziţie a stărilor se numeşte automat finit cu memorie sau dispozitiv logic cu
memorie.
Trebuie menţionate câteva moduri de descriere ale automatelor finite cu memorie, care
sunt denumite şi maşini secvenţiale. Implementarea fizică a unei maşini secvenţiale se
numeşte reţea logică secvenţială (RLS) sau circuit logic secvenţial (CLS).
Este evident că pentru implementarea unor astfel de sisteme este necesară folosirea unor
dispozitive de memorie pentru stocarea stării curente. În general o maşină cu stări este un
sistem care poate fi descris ca o mulţime de stări în care sistemul se poate afla. În
momentul în care sistemul se află într-o stare, acesta trebuie să fie capabil să rămână în
acea stare pentru o perioadă finită de timp. Starea următoare în care sistemul se găseşte
depinde de vectorul de intrare şi de starea curentă.

4
2.3. Clasificarea sistemelor cu stări finite
Sistemele cu stări finite (SSF) se împart în două clase:
a) SSF deterministe
b) SSF probabilistice

Definiţie: Un SSF este determinist dacă relaţia sa intrare-ieşire sau intrare–stare-ieşire


este de tip determinist, adică pentru un anumit vector de intrare corespunde în mod unic
un vector de ieşire sau pentru o pereche intrare-ieşire corespunde în mod unic o pereche
ieşire-stare.
Definiţie: Un SSF este probabilistic dacă relaţia sa intrare-ieşire sau intrare–stare-ieşire
este de tip probabilistic, adică pentru un vector de intrare sau o pereche intrare-ieşire date
pot apărea la ieşire oricare dintre vectorii de ieşire sau perechile ieşire-stare următoare,
fiecare dintre aceste cu propria sa probabilitate.
Pentru automatele fără memorie de tip probabilistic tabelul intrare-ieşire devine:

Intrare\Ieşire Z1 Z2 … Zlm
X1 α11 α12 … α 1l m

X2 α21 α22 … α 2l m

… … … … …
X kn αk n αk n
… αk l
n m
1 2

lm
unde α ij ≤ 1, şi ∑α
j =1
ij = 1 , oricare i Є[1,kn]

αij reprezintă probabilitatea obţinerii unui vector Zj din spaţiul de ieşire RCS când se
aplică vectorul de intrare Xi cu i Є[1,kn].
În cazul unei operări normale, când se aplică la intrare vectorul Xi la ieşire se obţine un
anume vector Zj dar luând în considerare perturbaţiile externe este posibil să se obţină un
alt vector la ieşire iar în fiecare caz este estimată probabilitatea.
De aceea, pentru fiecare vector de intrare, tot rândul din tabelul de corespondenţă trebuie
completat.
În cazul automatelor cu memorie (SSF), descrierea se realizează prin tabele similare cu
probabilităţi, iar tabelele T1 şi T2 sunt împărţite în q tabele noi, câte o tabelă pentru
fiecare coloană din tabelele iniţiale. Automatele probabilistice corespund situaţiilor reale
deoarece se iau în considerare perturbaţii externe care pot produce o funcţionare
anormală.

2.4. Automate binare. Exemple

În paragraful anterior alfabetele de intrare şi de ieşire X şi Y au fost considerate finite,


adică X = (x1, x2, …, xn), Z = (z1, z2, …, zp), în practică, datorită unor avantaje tehnice,
sunt recomandate anumite alfabete. Este extrem de folosit un alfabet particular care
conţine două simboluri reprezentate de numerele binare 0 şi 1. Aceste simboluri se
numesc BIŢI. Astfel, alfabetul de intrare devine X = {0,1} iar alfabetul de ieşire devine
Z={0,1}.

5
Aşa cum este cunoscut, termenul BIT reprezintă entitatea fundamentală de informaţie
care este folosită curent în majoritatea automatelor. Motivul pentru care alfabetul binar
este folosit pe scară largă este legat de existenţa multor dispozitive a căror operare este
caracterizată de două stări stabile, care au cost redus şi viteză de operare foarte mari.
Aceste două stări stabile sunt asociate cu simbolurile 0 şi 1.
Definiţie: Mulţimea de automate care folosesc ca alfabete de intrare şi ieşire alfabetul
binar se numesc automate binare.
În general, când X şi Z conţin mai multe simboluri diferite este necesară o reprezentare
cu ajutorul cifrelor binare 0 şi 1 astfel încât fiecare simbol din X şi Z este reprezentat în 0
şi 1. În general, dacă avem N entităţi care trebuie reprezentate în formă binară cu
simbolurile 0 şi 1 este nevoie de k = [log 2 N ] + 1 poziţii (biţi), dacă N ≠ 2k, în caz contrar
este nevoie de k = [log 2 N ] poziţii (biţi).
După ce se determină k, procesul de asignare are loc, proces în care fiecărui simbol
iniţial îi este asociată o combinaţie unică de k biţi. După ce se construieşte tabela de
intrare-ieşire sau intrare-stare-ieşire în formă binară se trece la procedura de sinteză a
automatului binar.
Exemplul 1. Automat finit cu memorie
Se cere să se proiecteze un mixer de culori care are două intrări şi o ieşire.
I1
Mixer de O
I2 culori culoare de ieşire

Alfabetul de intrare are trei culori X = {galben, roşu, albastru} = {g, r, a}. Alfabetul de
ieşire are şase culori Z = {galben, roşu, albastru, verde, purpuriu şi oranj } = {g, r, a, v, p,
o}. Prin aplicarea simbolurilor din X pe intrările I1 şi I2 un simbol din Z este obţinut la
ieşirea O. Acest mixer reprezintă un automat fără memorie a cărui tabelă de adevăr este
următoarea:
I1 I2 O
a a a
a r p
a g v
r r r
r g o
r a p
g g g
g a v
g r o

Numărul total de simboluri N este:


N = {g, r, a}U {g, r, a, v, p, o}
N = 6, iar k = [log26] + 1 = 3
Este nevoie de trei biţi pentru reprezentarea elementelor alfabetelor de intrare şi ieşire.
Fiecare simbol are atribuită o combinaţie de trei biţi:

6
Simbol b1 b2 b3
a 0 0 0
r 0 0 1
g 0 1 0
v 0 1 1
o 1 0 0
p 1 0 1

Cu trei biţi se pot forma 23 = 8 combinaţii diferite dintre care numai şase au fost folosite.
Două combinaţii 110 şi 111 nu sunt folosite în procesul de codificare.
Fiecare simbol din tabela iniţială de adevăr este înlocuit cu combinaţia sa binară,
obţinându-se astfel tabela de adevăr pentru automatul binar. Această tabelă este
cunoscută sub numele de forma binară a tabelului de adevăr. Automatul binar cu şase
intrări binare şi trei ieşiri binare:

x1
x2
culoare 1 x3 y1
Mixer de culori y2 culoare de ieşire
x4 (versiune y3
culoare 2 x5 binară)
x6

Tabela de adevăr in formă binară este:

x1 x2 x3 x4 x5 x6 y1 y2 y3
0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 1 0 1
0 0 0 0 1 0 0 1 1
0 0 1 0 0 1 0 0 1
0 0 1 0 1 0 1 0 0
0 0 1 0 0 0 1 0 1
0 1 0 0 1 0 0 1 0
0 1 0 0 0 0 0 1 1
0 1 0 0 0 1 1 0 0

Exemplul 2. Automat cu memorie


Să se obţină forma binară a tabelei de ieşire şi a tabelei de stări pentru un recunoscător de
cuvinte. Alfabetul de intrare este alcătuit din toate literele mari şi caracterul blank (Ь).
Cuvintele sunt separate de un separator reprezentat de secvenţa „UWYЬ”. Această
secvenţă a fost aleasă deoarece este imposibil să facă parte din componenţa unui cuvânt.
Când terminatorul este descoperit automatul va genera ieşirea Z=1, astfel încât alfabetul
de ieşire este binar Z2 = {0,1}. Astfel, propoziţia ESTE VARA FRUMOASĂ este
introdusă astfel ESTEUWYЬVARAUWYЬFRUMOASĂUWYЬ

7
Pentru simplificarea notaţiei considerăm literele mari până la T în λ (A, B, …, T ->λ).
Astfel, alfabetul de intrare are cinci simboluri {λ, U, W, Z, Ь}.
Diagrama bloc a automatului este:

X = {λ, U, W, Z, Ь} Z ={0,1}
Recunoscător
text intrare ieşire

Simbolurile de intrare sunt aplicate secvenţial pe intrare. Automatul analizează secvenţa


de intrare iar dacă un terminator este recunoscut atunci Z = 1 este produs la ieşire. Va
trebui să proiectăm un recunoscător al următoarei secvenţe de intrare „UWYЬ”. Un astfel
de automat trebuie să memoreze valorile trecute ale intrării. Acest automat are patru stări
interne, notate A, B, C, D cu următoarea interpretare:
Starea A – automatul nu a recunoscut nimic din cuvântul terminator;
Starea B – automatul a recunoscut litera „U” din cuvântul terminator;
Starea C – automatul a recunoscut literele „UW” din cuvântul terminator;
Starea D – automatul a recunoscut literele „UWZ” din cuvântul terminator;

Putem construi tabelele T1 şi T2 pentru acest automat.

Tabelul T1:
Stare prezentă\intrare λ U W Z Ь
A 0 0 0 0 0
B 0 0 0 0 0
C 0 0 0 0 0
D 0 0 0 0 1

Tabelul T2:
Stare prezentă\intrare λ U W Z Ь
A A B A A A
B A B C A A
C A B A D A
D A B A A A

Acest model trebuie transformat într-un automat binar. Deoarece automatul are patru
stări, A, B, C, D două cifre binare vor fi folosite pentru reprezentare. Se alege următoarea
asignare a stărilor.
A -> 00
B -> 01
C -> 10
D -> 11

λ -> 000
U -> 001
W -> 010
Z -> 011

8
Ь -> 100

Tabelele T1 şi T2 sunt înlocuite de versiunile binare. În continuare sunt prezentate tabela


de ieşire T1 şi tabela de tranziţie a stărilor codate binar.

Tabelul T1:
Stare prezentă\intrare 000 001 010 011 100
00 0 0 0 0 0
01 0 0 0 0 0
10 0 0 0 0 0
11 0 0 0 0 1

Tabelul T2:
Stare prezentă\intrare 000 001 010 011 100
00 00 01 00 00 00
01 00 01 10 00 00
10 00 01 00 11 00
11 00 01 00 00 00

În acest moment suntem pregătiţi pentru implementarea automatului binar, adică pentru
construirea reţelei secvenţiale logice.

3. Clasificarea problemelor legate de sistemele cu stări finite

Există trei clase de probleme des întâlnite:


1) Analiza sistemului
2) Sinteza sistemului
3) Investigarea sistemului

Analiza

Analiza unui sistem poate fi formulată astfel: dându-se organizarea sistemului incluzând
intrările şi ieşirile să se determine comportamentul acestuia. Un sistem la care se cunosc
intrările şi ieşirile are soluţie unică ştiindu-se că structura nu are inconsistenţe.
Determinarea comportamentului se poate face în mai multe moduri:
1) Experimental, aplicând toţi vectorii de intrare şi observând valorile vectorilor de
ieşire.
2) Analitic, calculând ecuaţiile de intrare-ieşire sau intrare-stare-ieşire din structura
cunoscută a sistemului, urmată de o evaluare analitică.
Procedura de analiză poate fi împărţită în două categorii:
1) Ideală – componentele operează ideal, în care timpii de răspuns sunt neglijaţi.
2) Reală – se iau în considerare timpii de răspuns. În anumite cazuri aceştia
reprezintă o componentă critică.

9
Sinteza

Sinteza unui sistem este considerată inversa analizei. Sinteza poate fi descrisă în felul
următor: se dă comportamentul sistemului logic într-o formă corespunzătoare şi se cere să
se determine structura care realizează comportamentul descris. Deoarece avem de-a face
cu dispozitive logice procesul se numeşte sinteză logică sau proiectare logică.
Sinteza unui sistem are o infinitate de soluţii. Totuşi, anumite constrângeri trebuie
respectate referitor la tehnologii, costuri, complexitate, etc.
Definiţie: Sunt date comportamentul unui sistem şi o mulţime de module logice şi se cere
să se găsească structura sistemului care realizează comportamentul prescris şi conţine
numai modulele permise. Aceste module satisfac criteriile de performanţă (cost,
complexitate, putere consumată, etc.)
Scopul sintezei logice este să găsească dintre toate variantele posibile structura care
satisface cerinţele în cea mai bună manieră posibilă.
Structura propusă este apoi verificată pentru a fi siguri că sinteza a fost făcută corect.

Investigarea

Investigarea reprezintă cea mai complexă problemă referitoare la sistemele cu stări finite,
fiind denumită şi problema cutiei negre.
Sistemul logic este dat ca o cutie neagră pentru care organizarea şi funcţionarea sunt
necunoscute dar anumite experimente pot fi făcute şi înregistrate. Scopul investigării este
să determine funcţionalitatea sistemului iar apoi să propună o ipoteză referitoare la
organizarea lui.
Investigarea are loc în principal printr-o mulţime de experimente. Experimentele sunt
folosite pentru căutarea constantelor în activitatea înregistrată.
Dacă se cunosc câteva aspecte referitoare la organizarea sistemului, se pot conduce
experimente pentru a obţine cunoaşterea completă a funcţionalităţii sistemului.
Dacă funcţionalitatea este cunoscută se pot imagina câteva ipoteze referitoare la
organizarea sa. Acest proces este foarte asemănător cu cel de sinteză logică.

4. Scopul cursului
Proiectarea logică este procesul de interconectare de elemente logice sau module
pentru a efectua o anumită funcţie.
Teoria comutaţională, care este baza formală a proiectării logice, are ca scop producerea
unor structuri viabile formate din elemente logice, denumite şi operatori şi
interconexiunile dintre acestea pentru a obţine o funcţionare specifică.
Ultimele decenii au adus schimbări majore în practica proiectării logice.
Microprocesoarele programabile pe 16 sau 32 de biţi pot înlocui circuitele logice cu
software. Se poate crede că versatilitatea microprocesoarelor a dus la scoaterea de pe
piaţă a teoriei comutaţionale înlocuind astfel proiectarea logică cu programarea. Această
situaţie nu este nici pe departe reală.
Un sistem digital nu constă numai din microprocesor . Alte circuite logice ce interfaţează
microprocesorul cu lumea exterioară, sunt extrem de folosite. Mai mult decât atât,

10
proiectarea logică a microprocesorului însuşi necesită mare experienţă în proiectarea
logică.
În zilele noastre, odată cu cererea ca proiectarea sistemelor să se facă cu module LSI şi
VLSI, aplicarea teoriilor clasice s-a schimbat radical. De exemplu, în proiectarea cu
ajutorul unor module specifice are în vedere, minimizarea numărului de porţi, de intrări,
de tipuri de module folosite cât şi numărul acestora şi al interconexiunilor dintre ele.
Scopul major al acestei discipline este să pregătească studenţii pentru tehnologiile
viitoare prin explicarea modului în care teoria comutaţională poate fi folosită pentru
proiectarea sistemelor folosind circuite LSI şi VLSI .

5. Metode generale de proiectare a sistemelor digitale


Metodele folosite pentru proiectarea logică au avut o evoluţie dinamică în principal
datorită progreselor tehnologice. Metodele iniţiale erau folosite pentru sistemele digitale
bazate pe relee, pe când în zilele noastre aceste metode sunt învechite. Aceste metode nu
mai sunt folosite la proiectarea calculatoarelor.
Apariţia tranzistorelor şi circuitelor integrate a avut un impact major asupra metodelor
folosite la implementarea dispozitivelor logice . Astfel, noţiunea de proiectare logică se
poate redefini.
Definiţie: Proiectarea logică este procesul de implementare a unui sistem cu stări finite
prin folosirea anumitor dispozitive pornindu-se de la specificaţiile dispozitivelor de
intrare - ieşire şi care urmăresc un criteriu de performanţă impus ( cost, complexitate,
întârzieri, căldură disipată, etc. ).
Astfel, metodele folosite pentru proiectarea logică sunt dependente de tehnologiile
folosite sau putem spune că sunt corelate cu un anumit nivel al tehnologiei.
Principalele metode de proiectare a sistemelor digitale sunt :
1) Implementarea cu porţi logice şi bistabile - aceasta este ,, proiectarea clasică,, .
Această metodă corespunde tehnologiei SSI ( Small Scale Integration ) .
2) Implementarea cu module funcţionale, ceea ce înseamnă folosirea circuitelor
integrate cu funcţionalitate complexă la nivelul tehnologiei MSI
(Medium Scale Integration). Din această categorie fac parte decodoarele, multiplexoarele,
memoriile, registrele, numărătoarele, etc.
3) Implementarea cu dispozitive de memorie
În general, memoriile semiconductoare se clasifică în două categorii :
a) RAM
b) ROM
RAM este o memorie de tip RWM ( Read - Write memory ), dar abrevierea folosită vine
de la Random Acces Memory. Numele memoriei specifică faptul că accesul la oricare
dintre locaţii necesită acelaşi interval de timp indiferent de poziţia locaţiei în memorie .
Într-o memorie de tip ROM conţinutul este fix, datele găsindu-se pe suport chiar dacă
dispozitivul nu este alimentat ( ROM = Read Only Memory ). Procesul de selectare a
datelor este de asemenea aleator. Metoda de proiectare logică cu ajutorul RAM / ROM
este una foarte modernă, simplă, eficientă şi flexibilă ce permite realizarea unor
funcţionalităţi complexe iar preţul modulelor este di ce în ce mai redus. Nivelul
tehnologic corespunde nivelului LSI ( Large Scale Integration ) sau VLSI ( Very Large
Scole Integration )

11
4. Implementarea cu dispozitive programabile logice ( PLD - Programable Logic
Devices ) . Această tehnologie s-a dezvoltat începând cu anul 1975 iar acum este
reprezentată de o varietate de dispozitive ( PLA, PAL, PGA, FPGA, etc. ) . Aceste
metode de proiectare logică sunt legate de tehnologiile LSI şi VLSI .
5). Implementarea cu microprocesoare - aceasta este tot o metodă modernă bazată pe
tehnologiile VLSI şi ULSI ( Ultra Large Scale Integration ) . Termenul de microprocesor
acoperă un număr mare de circuite cu arhitecturi diferite dar cu aspecte comune :
a) Sunt folosite ca şi componente de bază la construcţia maşinilor Von Neumann
care conţin cel puţin un ALU (Arithmetic and Logic Unit) şi un CU (Control
Unit) reuniunea celor două fiind denumită CPU (Central Processing Unit)
b) Sunt independente ca module LSI sau VLSI cel mai des realizate în tehnologia
MOS.
În concluzie, un microprocesor este o unitate centrală de calcul (CPU) pe un chip. Cea
de-a 5-a metodă corespunde translaţiei sintezei logice de la hardware către software.
Funcţiile logice sunt implementate ca o secvenţă de instrucţiuni interpretate de CPU.
Viteza este cel mai mare dezavantaj pentru acest tip de implementare.
Observaţii :
1) Indiferent de ce metodă este folosită, proiectarea asistată de calculator este din
ce în ce mai folosită în proiectarea logică, asigurându-se astfel o automatizare
totală a proiectării .
2) Există o corelare strictă între diferitele metode folosite la proiectarea logică şi
nivelul de integrare ( SSI, MSI, LSI, VLSI, ULSI )
1) Small Scole Integration - SSI - orice modul care conţine maxim 12
părţi logice. Acest nivel corespunde proiectării clasice .
2) Medium Scale Integration - MSI - orice modul care conţine maxim
100 părţi logice. Din această categorie fac parte registrele, numărătoarele,
multiplexoarele, decodificatoarele, comparatoarele, etc.
3) Large Scale Integration - LSI - orice modul care conţine maxim 1000
părţi logice. Din această categorie fac parte memoriile, unităţile aritmetice şi
logice complexe, etc.
4). Very Large Scole Integration Ultra Large Scale Integration - ULSI - orice
modul care conţine peste 1000 de părţi logice. Din această categorie fac parte
microprocesoarele,modulele de memorie foarte mari, etc.

6. Nivele în procesul de proiectare logică


Utilizarea tehnicilor digitale este larg răspândită în aproape toate ştiinţele inginereşti.
Disponibilitatea dispozitivelor integrate la costuri reduse, care sunt capabile să proceseze
şi să memoreze cantităţi mari de date la viteze foarte mari a condus la dezvoltarea unei
game largi de sisteme atât profesionale cât şi de uz casnic. Capabilităţile unor astfel de
echipamente au crescut exponenţial în timp ce costul s-a redus constant.
Totuşi, capabilitatea de fabricaţie de dispozitive VLSI necesită proiectanţi capabili să
lucreze la diverse nivele şi anume să proiecteze structura sistemului în ansamblu format
din circuite complexe până la proiectarea la nivelul cel mai de jos a componentelor
individuale.

12
La fiecare nivel, proiectantul are nevoie de un suport teoretic solid care să ajute la analiza
şi sinteza circuitelor împreună cu experienţa obţinută din proiectările anterioare. Uneltele
de tip CAP sunt din ce în ce mai folosite pentru efectuarea operaţiilor de rutină care erau
efectuate manual,dar, ca orice unealtă, este nevoie de operatori experimentaţi pentru a
obţine rezultate satisfăcătoare. Astfel, procesul de proiectare logică poate fi împărţit pe
următoarele nivele:
1) Primul nivel este nivelul algoritmic. Acest nivel este cunoscut şi sub numele de
nivelul sistem. Specificaţiile sistemului digital sunt definite într-o formă generalizată
abstractă ca o mulţime de operatori de nivel înalt care rulează o serie de operaţii pe
anumite structuri de date. Acest nivel este cunoscut şi sub numele de proiectare
sistemică .
2). Al doilea nivel este nivelul funcţional. Aici arhitectura sistemului digital este
explicită, ceea ce înseamnă că operaţiile logice sunt specificate ca şi componente care
sunt la rândul lor definite prin funcţiile de intrare - ieşire fără a fi interesaţi de detaliile
structurii interne. La acest nivel sunt descrise interconectările între operatori, proiectantul
operând cu registre, numărătoare, multiplexoare, decodoare sau alte blocuri funcţionale.
Acest nivel este cunoscut şi sub numele de nivelul arhitectural .
3)Al treilea nivel corespunde proiectării structurale sau proiectării logice. La acest
nivel, funcţiile sunt implementate din componente logice primitive ca: părţi logice,
bistabile, comutatoare, zone tampon, etc.
4)Al patrulea nivel corespunde nivelului fizic sau nivelului circuit. Circuitul logic
este implementat folosindu-se componente reale ceea ce duce la apariţia unor probleme
referitoare la consumul de putere, viteza de operare, întârzierile, etc. Nivelele de
proiectare sunt ilustrate în tabelul următor, în care sunt specificate metodele folosite la
fiecare nivel. Graniţele dintre nivele pot varia deoarece multe dintre tehnici sunt folosite
la o gamă largă de nivele.
Proiectantul trebuie să lucreze la un nivel înalt de abstractizare ceea ce reflectă tendinţa
continuă către proiecte din ce în ce mai mari şi mai complexe. Metodele teoretice de
proiectare împreună cu uneltele corespunzătoare fiecărui nivel formează principalul
obiectiv al prezentului curs.

Nivel Tehnici de descriere Componente Aspecte teoretice


1. Algoritmic - Limbaj structural - Blocuri funcţionale - Teoria sistemelor
- Notaţii matematice - Cutii negre - Teoria cozilor
- Limbaje - Canale de - Analiză statistică
specializate de comunicaţie - Teoria grafurilor
nivel înalt
2. Funcţional - Limbaje de - Registre - Teoria automatelor
descriere hardware - Numărătoare - Analiză funcţională
- Tabele de stări - Decodoare de timp
- Operatori aritmetici - Arhitectura sistemelor

3. Logic - Ecuaţii booleene - Părţi logice - Teoria comutaţională


- Tabele de adevăr - Bistabile - Algebra booleană
- Diagrame de timp - Comutatoare - Electronică digitală
- Zone tampon

13
4. Fizic - Ecuaţii de circuit - Componente active - Teoria circuitelor
- Circuite - Componente pasive liniare
echivalente - Circuite imprimate - Teoria circuitelor
- Diagrame de timp - Conectori neliniare
- Fire - Analiza Fourier
- Compatibilitate
electromagnetică

Produsul procesului de proiectare este un sistem care respectă specificaţiile în ceea ce


priveşte funcţionalitatea implementată. Aceasta înseamnă că costul total al proiectării,
construirii şi testării vor fi minime. Procesul de proiectare logică se ocupă de translaţia de
la nivelul funcţional la cel structural, beneficiindu-se astfel de o gamă largă de metode
pentru analiza şi sinteza circuitelor logice.
Relaţia dintre nivelele de abstractizare descrise în contextul procesului de proiectare sunt
arătate în figura următoare. Diagrama arată că iteraţiile necesare pentru investigarea sau
revizuirea proiectării datorate schimbării cerinţelor sau descoperirii de erori făcute în
stadiile anterioare. Deşi proiectarea este iterativă, proiectarea sistemului implică şi
activităţi concurente. De exemplu, o descriere funcţională de nivel înalt poate include un
număr de componente care pot fi proiectate independent, în timp ce procedurile de test şi
documentaţia aferentă sunt realizate în timpul fazelor de proiectare arhitecturală şi
detaliată, componentele care au fost proiectate sunt descrise, create, şi asamblate .
Un număr de strategii au fost propuse referitor la ordinea în care componentele sunt luate
în considerare . Dintre cele mai cunoscute strategii amintim BOTTOM-UP (de jos în
sus), TOP-DOWN (de sus în jos), şi unele hibride cum ar fi „componentele critice
primele”.
Proiectarea BOTTOM-UP începe de la o mulţime existentă de componente primitive,
sistemul fiind construit prin combinarea succesivă a acestor componente.
Proiectarea TOP-DOWN foloseşte un proces de descompunere pentru a rafina
specificaţiile definind fiecare componentă în funcţie de subcomponente până când se
ajunge la componente primitive. O astfel de strategie are avantajul că detaliază structura
generală şi arhitectura sistemului înainte de apariţia detaliilor de proiectare.
În cazul proiectării TOP-DOWN, proiectantul are la dispoziţie mulţimea componentelor
primitive disponibile iar acest lucru influenţează procesul de descompunere .
În cazul strategiei BOTTOM-UP, poate fi greu de estimat performanţa sistemului şi nici
măcar dacă se vor atinge toate cerinţele . Cele mai multe strategii de proiectare conţin
elemente din ambele abordări cu tehnici TOP-DOWN pentru proiectarea arhitecturală şi
cu tehnici BOTTOM-UP pentru implementare.
Indiferent de strategii, se pleacă de la specificaţii iar unele dintre acestea pot fi chiar
critice, în sensul că trebuiesc îndeplinite indiferent de costul proiectării.

14
Specificaţia
iniţială

Proiectarea Simulare de nivel înalt


iniţială

Descriere
funcţională

Descriere Simulare logică


arhitecturală

Descriere
logică Proiectare logică

Proiectarea
structurii

Descrierea Testarea conectorilor


de pe circuitele
tehnologică
imprimate

Implementarea
testelor

15
7. Proiectarea asistată de calculator (CAD-Computer Aided
Design )
Proiectarea asistată de calculator are ca scop folosirea calculatoarelor digitale
pentru proiectarea sistemelor. Iniţial, termenul de Proiectare asistată de calculator a
fost folosit pentru descrierea aplicaţiilor care făceau orice proiectare ; în zilele noastre,
termenul are o specificaţie mai exactă şi se referă la sisteme interactive în care
proiectantul şi calculatorul lucrează împreună într-o relaţie foarte strânsă . Proiectantul
are totuşi rolul principal, el asigurând controlul întregului proces. Folosind metodele
CAD, inginerul are posibilitatea să exploreze idei şi tehnici noi, rezultatele fiind rapid
obţinute în formă grafică.
În acest fel, un proiectant experimentat poate înţelege rapid problema în acelaşi timp
căpătând o bună experienţă referitoare la diversele tehnici de proiectare. Pe lângă analiza
şi sinteza sistemului, folosirea CAD permite generarea documentaţiei şi a testelor
necesare.
Proiectarea automată completă este totuşi o tehnică disponibilă. Aceasta conduce
proiectantul prin toate stadiile de dezvoltare şi producţie, producând automat
documentaţia, cablarea şi programul de revizii. În multe cazuri o bază de date este
folosită pentru păstrarea tuturor informaţiilor relevante referitoare la proiectare şi
producţie, componente, etc. pentru a asigura o schemă CAD complet integrată.
Calculatoarele din zilele noastre, reprezintă unele dintre cele mai mari progrese
tehnologice ale societăţii moderne. Astfel, au apărut metodele CAD folosite pentru
obţinerea performanţelor necesare. Totuşi, metodele CAD sunt aplicate cu precădere în
stadiul de producţie în timp ce sistemul iniţial şi procesul de proiectare logică sunt
abordate parţial. Nu sunt încă disponibile pachete pentru sinteza logică ca şi programul de
proiectare. Singura unealtă software de proiectare care a fost general acceptată este
simulatorul logic; acesta permite proiectantului să modeleze şi să evalueze circuitele la
nivel de poartă sau la nivel de registru .
Proiectarea automată are ca scop principal reducerea costurilor şi a timpului de execuţie
cerute în mod normal la realizarea sistemelor digitale complexe . În general,
automatizarea proiectării este restricţionată la faza de trecere de la specificaţiile iniţiale
ale sistemului la programarea logică, completate cu detalii referitoare la detaliile de
fabricaţie. Deşi proiectarea automată completă cuprinde multe funcţionalităţi aşa cum
poate fi văzut în figura următoare, scopul principal este eliminarea procedurilor repetitive
manuale. Schema generalizată este realizată în jurul unei baze de date comună care
comunică direct cu fiecare pachet al sistemului CAD . Comunicarea între diverse pachete
ale CAD este de asemenea posibilă. În general, un pachet poate accesa baza de date
pentru obţinerea de date de intrare relevante sau poate obţine aceste date direct de la alte
pachete; rezultatele sunt totdeauna memorate în baza de date.
Date de intrare externe pot apărea în principal de la proiectanţii care creează iniţial
mulţimea de module care vor fi folosite, constrângerile de intrare şi ieşire, costurile sau
alţi parametri relevanţi procesului de proiectare. Alte tipuri de date de intrare de la
proiectant includ descrierea iniţială a sistemului la nivel conceptual şi funcţional.
Toate aceste operaţii de intrare trebuie executate sub controlul sistemului CAD care are
controlul general al sistemului.

16
Avantajele automatizării proiectării sunt :
1) Proiectare rapidă şi fără erori a sistemelor digitale complexe cu multe
variabile.
2) Diverse variante de proiectare pot fi evaluate prin schimbarea parametrilor (
module, dimensiuni, criterii de minimizare, etc. ).
3) Folosirea unei baze de date comune permite generarea automată a
documentaţiei sistemului pentru toate studiile de proiectare.
4) Cablările, plăcile şi alte date de fabricaţie, pot fi obţinute automat şi
modificate .
5) Modificarea proiectelor se poate realiza uşor şi fără riscul introducerii de
erori.
6) Pachetele de simulare permit proiectării logice să fie evaluată, erorile putând
fi corectate înainte de implementarea finală.
7) Se permite folosirea algoritmilor fără să fie nevoie de cantităţi mari de calcule
manuale sau cunoştinţe teoretice superioare.
8) Generarea automată a erorilor obţinute la testare.

Specificaţiile sistemului: Evaluare şi simulare


- comportamentale
- funcţionale Logică şi sinteză
- structurale

- librăria de date Bază de date Asignarea stărilor


- module standard centrală
Minimizare şi implementare
- interacţiunea cu proiectantul
- criteriile de proiectare
Plasare şi interconectare
- evaluarea datelor
- documentaţie Generarea testelor

Pachetele CAD sunt disponibile pentru cele mai multe funcţii de la sinteza logică
la analiză şi implementare, plasare şi interconectare, generare de teste.
Documentaţia este disponibilă în toate stadiile, producând feedback pentru
proiectant şi informaţii pentru producător.
În contextul uneltelor CAD, se disting următoarele categorii :
1) Unelte de sinteză logică: au ca scop principal translatarea descrierii
funcţionale în una structurală de nivel jos, din care se poate implementa
circuitul. Datele de intrare pot fi tabele de adevăr, tabele de stări sau expresii
booleene, în timp ce la ieşire se obţin date ce depind de tehnologii, cum ar fi
liste de cabluri, liste de reţele ce conţin componente specifice sau programe
pentru dispozitive PLD.
Scopul sintezei logice este să genereze circuite logice optime din specificaţiile
funcţionale.

17
2) Unelte de sinteză logică de nivel înalt. Aceste unelte se adresează
problemelor de transformare a specificaţiilor abstracte de nivel înalt în
specificaţii detaliate. Produsul unei astfel de unelte poate fi transformat prin
sinteză logică în produsul finit. În zilele noastre există o clasă de unelte de
proiectare automată cunoscute sub numele de compilatoare cu silicon, care au
ca scop specific proiectarea fizică a componentelor VLSI. Aceste unelte au ca
scop compactarea schemelor şi aşezarea dispozitivelor semiconductoare.
Motivaţia principală a dezvoltării şi folosirii proiectării automate este reducerea timpului
şi costurilor de proiectare.
În figura următoare sunt prezentate componentele unei unelte de sinteză logică :

Date de intrare Date de ieşire

Reducerea Asignarea Proiectare


stărilor stărilor logică
Tabele de Reţele
adevăr
Tabele cu stări Datele proiectului Diagrame
Ecuaţii Expresii
booleene booleene
Minimizare Transformare Generare
logică logică de teste

Biblioteca de
componente

În concluzie, proiectarea unui sistem CAD implică găsirea de soluţii pentru următoarele
probleme :
a) Selectarea şi implementarea unei structuri de date adecvate pentru
reprezentarea modelelor şi a parametrilor de proiectare.
b) Dezvoltarea de algoritmi care operează pe structura de date împreună cu
metodologia de proiectare adecvată.
c) Obţinerea unei interfeţe viabile, cu o specificare interactivă realistă a
problemei şi cu facilităţi de editare.

18

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