+ All Categories
Home > Documents > Proiectarea Logica a Sistemelor Decizionale Hardware Si Software

Proiectarea Logica a Sistemelor Decizionale Hardware Si Software

Date post: 26-Dec-2015
Category:
Upload: pelikanul2004
View: 142 times
Download: 3 times
Share this document with a friend
628
PROIECTAREA LOGICĂ A SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE ASPECTE DE BAZĂ ION ŞTEFĂNESCU 2006
Transcript

PROIECTAREA LOGICĂ

A SISTEMELOR DECIZIONALE HARDWARE ŞI

SOFTWARE

ASPECTE DE BAZĂ

ION ŞTEFĂNESCU

2006

„ Ştiinţa fără conştiinţă este ruina sufletului”

YOGA SWAMI

Dedic această carte maestrului meu spiritual, cel care m-a susţinut si încurajat s-o aduc la lumină

Toata iubirea şi recunoştinţa

Aima-ei, pentru intuiţiile si inspiraţiile de excepţie, pentru iubirea şi încrederea cu care m-a îmbrăţişat in elaborarea cărţii

Şi nu în ultimul rând, sunt

recunoscător şi plin de iubire faţă de CEL de la care ne vin toate

CUVÂNT ÎNAINTE 3

CUVÂNT ÎNAINTE

Lucrarea de faţă sintetizează experienţa activităţii de cercetare şi didactice a autorului în domeniul analizei şi sintezei circuitelor şi sistemelor digitale, desfăşurate la Institutul de Cercetări Nucleare din Piteşti şi la Universitatea din Piteşti, Facultatea de Electronică şi Electromecanică.

Informaţiile prezentate constituie baza unei părţi a cursurilor de

„Circuite integrate digitale” de la specialitatea Electronică aplicată, „Analiza şi sinteza circuitelor digitale” de la specialitatea Calculatoare şi „Metode şi tehnici evoluate de proiectare a sistemelor digitale” de secţia de master a facultăţii.

Apreciez şi mulţumesc în mod deosebit studenţilor mei de la

Facultatea de Electronică, care au implementat pe calculator o primă versiune restrânsă a metodei discriminării, precum şi studenţilor care au ajutat cu inimă la editarea acestei lucrări.

În mod special adresez mulţumiri tânărului meu coleg şi colaborator Adrian Zafiu, ale cărui idei şi rezultate deosebite în modul de abordare a optimizării în cercetarea şi introducerea unor algoritmi eficienţi, care se regăsesc în teza de doctorat pe care o elaborează, permit ca informaţiile şi tehnicile prezentate în această carte să devină vii, eficiente, accesibile oricui, permiţând totodată şi o prezentare eficientă şi convingătoare a cursului de analiza şi sinteza circuitelor digitale pe care-l ţin la specializările electronică şi calculatoare ale Facultăţii de Electronică şi Electromecanică de la Universitatea din Piteşti. Rezultatele acestei colaborării fac obiectul unei cărţi în curs de elaborare, având ca tematică prezentarea unor algoritmi fundamentali în proiectarea logică a sistemelor decizionale deterministe şi nedeterministe, lucrare cu impact atât în optimizarea circuitelor combinaţionale şi secvenţiale, cât şi în optimizarea implementării software şi hardware a algoritmilor.

Apreciez aici că fără automatizarea optimizării proiectării logice, chiar incompletă la acel moment, în timpul elaborării acestei cărţi, unele dintre aspectele prezentate aici ar fi scăpat analizei şi soluţionării.

Totodată, ţin să mulţumesc în mod deosebit colegilor de la Catedra de Electronică şi Calculatoare de la Universitatea din Piteşti, iar profesorilor Emil Sofron, Gheorghe Şerban şi Ilie Popa le sunt recunoscător în mod special pentru susţinerea, ajutorul moral şi răbdarea manifestate faţă de mine pe tot parcursul elaborării prezentei lucrări.

Autorul

4

CUPRINS 5

CUPRINS Cuvânt înainte 3

Cuprins 5 01. Introducere 19

02. Câteva concepte de bază în abordarea sistemelor digitale 25

02.01. Rezonanţa şi realitatea interconectării tuturor

domeniilor cunoaşterii 25 02.01.01. Aspecte generale 25 02.01.02. Rezonanţă, serialitate, sincronicitate 26 02.01.02.01. Rezonanţa, lege fundamentală a universului 26 02.01.02.02. Rezonanţa in electronică. 27 02.01.02.03. Rezonanţa în sistemele operaţionale tip

“perpetuum mobile” 27 02.01.02.04. Sincronicitate 27 02.01.02.05. Serialitate 28 02.01.02.06. Rezonanţa, la nivelul cel mai inalt. 28 02.02. Rezonanţa, structura holografica si manifestarea

adevăratei autonomii funcţionale : Aspectul structural şi aspectul funcţional în manifestare 29

02.03. Energia fundamentală de legatură, unica

modalitate reală de acces la Sursă 30 02.04. Legea lui 3 31 02.04.01. Legea lui 3 şi aspectul polar al realităţii manifestate 31 02.04.02. Legea lui 3 la nivelul suprem 31 02.04.03. Legea lui 3 şi structurarea realităţii manifestate pe 7

nivele principale: Evidenţierea conceptelor de constiinţă, materie, energie, informaţie 32

02.05. Conceptele de energie şi de informaţie: relaţia

energie – informaţie 34 02.05.01. Energia, în sensul cel mai larg 34 02.05.02. Energia, ca agent de legătură dintre funcţie şi

structură 35

02.06. Legea lui 7 – expresie a energiei timpului în univers 36

02.06.01. Legea lui 7 36

6 CUPRINS

02.06.02. Corelarea Legii lui 7 cu Legea lui 3 şi cu cele 12 Teoreme

ale Principiului Unic 37 02.06.03. Fenomenul de ergodicitate, manifestare specială a

fazei de menţinere a procesului - Unde soliton 38 02.06.04. Revenire asupra legii lui 7 – Octava 38 02.06.05. Legea lui 12, generalizare a Legii lui 7 39 02.06.06. Situaţii în care se aplică Legea lui 7 40 02.06.07. Hiatusul la 3/7 din evoluţia procesului, în cazul

aplicării Legii lui 7 40 02.06.08. Stabilirea hiatusului în cazul general 41 02.06.08.01. Cazul Legii lui 12 41 02.06.08.02. Cazul Legii lui 8 43 02.06.08.03. Cazul general al Legii lui 7 44 02.06.08.04. Cazul special al Legii lui 7 44 02.06.08.05. Concluzii privind determinarea momentului de hiat 44 02.07. Memorie, inerţie, histerezis 46 02.07.01. Memorie permanentă, memorie temporară, memorie

universală 46 02.07.02. Inerţia - Inerţie şi Rezonanţă 47 02.07.03. Histerezisul 47 02.07.04. Memoria permanentă şi buclele de reacţie 48 02.08. Fundamentul binar, polar al sistemelor digitale 49 02.08.01. Principiul binarităţii, ca polaritate manifestată în

sistemele digitale binare sau multivalente 49 02.08.02. Cele 12 Teoreme ale Principiului Unic 49 02.08.03. Legatura dintre:

- fundamentul dual al sistemelor digitale, - cele 12 Teoreme ale Prinipiului Unic, - Legea lui 3 50

02.09. Conceptul fundamental de ordine şi cauzalitate 52 02.10. Conceptul de structură şi organizare 54 02.11. Conceptul de sistem 56 02.11.01. Sistemul şi proprietatea de integralitate 56 02.11.02. Sisteme reale, sisteme virtuale - sisteme închise,

sisteme deschise - sisteme disipative 56 02.11.03. Sisteme cu autoreglare, sisteme instruibile şi perfectibile 57 02.11.04. Informaţia în sistem: relaţia informaţie – entropie 57 02.11.05. Sistemul ca o totalitate: holismul 57 02.12. Noţiunea de funcţie sau relaţie, dependenţa

funcţională. Întrepătrunderea creatoare a contrariilor 59

CUPRINS 7

03. Rezonanţă, Reversibilitate, Reglare. - Automate - 61

03.01. Sistemele de reglare şi eneagrama 61 03.02. Concept general structural şi funcţional al

automatelor 69 03.03. Rezonanţă – Reversibilitate – Reglare 76 04. Conceptul de circuit de comutaţie 79 04.01. Conceptul de sistem 79 04.02. Conceptul de maşină 80 04.03. Conceptul de automat 81 04.04. Conceptul de circuit de comutaţie 82 04.05. Zone de nedeterminare, margine de zgomot şi

element de menţinere a valorii logice 84

04.06. Condiţiile de considerare a circuitului - Zonă stabilă a circuitului 87

04.07. Conceptele: circuit combinaţional, circuit secvenţial 88 05. Conceptul de memorie a circuitelor de

comutaţie 89 05.01. Memoria circuitului 89 05.02. Memorie permanentă, memorie temporară 90 05.03. Afişarea memoriei permanente 92 05.04. Memorii permanente cu acces prin nivel şi

memorii permanente cu acces prin tranziţie 93 05.04.01. Memorie permanentă cu acces prin nivel,

memorie permanentă cu acces prin tranziţie 93 05.04.02. Avantajele caracterizării circuitelor după accesul în

memoria permanentă 95 05.05. Circuite de memorare cu intrări active şi intrări

pasive 97 05.05.01. Terminale de intrare active şi terminale de intrare

pasive 97 05.05.02. Circuitele cu intrări pasive au acces prin tranziţie 98

8 CUPRINS

06. Funcţii în logică multivalentă.

Logică arhetipală: O algebră pentru circuite în logică multivalentă 100

06.01. Sisteme de logică multivalentă 100 06.01.01. Terminologie 100 06.01.02. Logică multivalentă – clasificare 101 06.02. Reprezentarea unei funcţii logice multivalente 104 06.02.01. Tabel de valori 104 06.02,02. Operatorii algebrei multivalente 106 06.02.03. Convenţie de reprezentare a produsului de

produaluri 109 06.02.04. Expresia analitică a funcţiei multivalente –

prima formă canonică 109 06.03. Prima formă canonică - expresia generală 110 06.04. O algebră logică multivalentă 112 06.05. Algebra arhetipală:

O algebră multivalentă – reflectare a „Legii universale a lui 3” 113

06.06. Operatori derivaţi în algebra arhetipală 114 06.06.01. Operatorul de complementare 114 06.06.02. Operatorul de non-echivalenţă 115 06.06.03. Operatorul de minim complementat 116 06.06.04. Operatorul de maxim complementat 116 06.07. Teoremele lui De Morgan 117 06.07.01. Forma analitică a teoremelor lui De Morgan 117 06.07.02. Forma grafică a teoremelor lui De Morgan 119 06.08 Algebre echivalente 120 0609 O formă analitică duală a funcţiei multivalente:

a doua formă canonică. 121 06.09.01. A doua formă canonică 121 06.09.02. A doua formă canonică - expresia generală 123 06.10. Proprietăţi duale în algebra multivalentă 124 06.10.01. Teoremele de bază ale algebrei arhetipale 124 06.10.02. Alte proprietăţi 126 06.10.02.01. Forme canonice ale operatorilor de echivalenţă şi

non-echivalenţă 126 06.10.02.02. Operatori de echivalenţă şi non-echivalenţă

având mai mult de două variabile 127

06.11. Complementarea unei funcţii multivalente 128

CUPRINS 9

06.12. Funcţii pătrate 130 06.12.01. Funcţie multivalentă pătrată 130 06.12.02. Funcţie biformă pătrată în e(xi,xj) 131 07. Metoda discriminării:

Metodă generală de simplificare a funcţiilor digitale binare şi multivalente 133

07.01. Simplificarea funcţiilor multivalente 133 07.01.01. Simplificarea prin transpozitie 133 07.01.02. Simplificarea prin factor comun a funcţiilor multivalente 134 07.01.03. Simplificarea funcţiilor multivalente prin operaţia de

completitudine 135 07.02. Principiul metodei discriminării 136 07.03. Specificarea funcţiei prin tabelul de valori 137 07.03.01. Specificarea vectorilor de intrare 137 07.03.02. Specificarea vectorilor de ieşire 138 07.03.03. Specificări opţionale integrale 139 07.03.04. Exemple de tabele de valori 139 07.03.04.01. (ex.a): Exemplu de tabel de valori în Z2, cu o singură

ieşire 139 07.03.04.02. (ex.b): Exemplu de tabel de valori multivalent (în Z10),

cu o singură ieşire 139 07.03.04.03. (ex.c): Exemplu de tabel binar de valori, cu ieşiri

multiple (cu ieşire vectorială) 140 07.03.04.04. (ex.d): Exemplu de tabel de valori multivalent (intrare

în Z3, ieşire în Z5) cu ieşire multiplă (cu ieşire vectorială) 140

07.03.04.05. (ex.e): Alt exemplu de tabel de valori binar 141 07.04. Algoritmul minimizării prin discriminare: 142 07.04,01. Împărţirea tabelului de valori pe valori de ieşire 142 07.04,02. Crearea tabelelor de vectori discriminaţi 142 07.04.03. Completarea, prin discriminare, a tabelelor de vectori

discriminaţi 142 07.04.04. Asocierea la fiecare rând din sub-tabel a unei liste cu

numele vectorilor discriminaţi care-l pot reprezenta 143 07.04.05. Identificarea vectorilor discriminaţi unici şi eliminarea

din tabel a celorlalte rânduri care-i conţin 144 07.04.06. Determinarea, în fiecare grupă valorică, a variantelor

preliminare de soluţii, luând din fiecare dintre listele rămase câte un reprezentant al rândului 145

07.04.07. Simplificarea variantelor preliminare de soluţii, prin eliminarea din lista fiecărei variante de soluţie a rândurilor egale 145

07.04.08. Reţinerea în fiecare clasă valorică numai a variantelor cu număr minim de rânduri 145

07.04.09. Eliminarea variantelor care se repetă ale unei grupe valorice 145

07.04.10. Prezentarea detaliată a soluţiilor, la acest nivel 145

10 CUPRINS

07.04.11. Eliminarea redundanţelor logice 145 07.04.12. Centralizarea variantelor minimizate, prin eliminarea

redundanţelor logice 148 07.04.13. Reţinerea din grupele care au atât variante cu vectori

consens, cât şi fără vectori consens, numai a variantelor fără vectori consens (deci fără hazard) 148

07.04.14. Identificarea şi marcarea variantelor care conţin

hazard funcţional 148 07.04.15. Reţinerea variantelor fără hazard funcţional, acolo unde

există alternativă, iar în cazurile în care există şi variante fără hazard, reţinerea numai a acestor variante fără hazard 148

07.04.16. Reţinerea variantelor cu un număr minim de rânduri în fiecare grupă 149

07.04.17. Eliminarea hazardului logic 149 07.04.18. Prezentarea variantelor de soluţii pe valori ale funcţiei 151 07.04.19. Împărţirea soluţiilor în clasa formei canonice şi în clasa

formei canal 152 07.04.20. Stabilirea variantelor globale ale funcţiei, luând câte o

variantă de soluţie a fiecărei grupe valorice 153 07.04.21. - Selectarea variantelor minime ale ieşirii globale,

împreună cu tabelul de vectori minimi diferiţi: - Formarea tabelului tuturor operaţiilor de echivalenţă

(în multivalent), sau a variabilelor directe şi complementate, care intervin în vectorii implicanţi 153

07.04.22. Optimizarea soluţiilor cu ieşiri multiple tratate separat, prin eliminarea vectorilor care se regăsesc expandaţi 154

07.05. Exemplificarea etapelor minimizării prin discriminare 155 07.06. Expresiile analitice ale funcţiilor minimizate 248 07.07. Diagramele logice ale funcţiilor minimizate 264 08. Algebra binară

particularizare a algebrei arhetipale multivalente 275

08.01. Particularizări ale operatorilor de echivalenţă

şi non-echivalenţă în Z2 = {0,1} 275 08.02. Proprietăţile duale ale operatorilor algebrei binare 276 08.03. Algebre echivalente în Z2 279 08.04. Forme canonice în Z2 280 08.05. Implementarea funcţiilor binare numai cu operatori

„NAND”, sau numai cu operatori „NOR” 282 08.05.01. Implementare analitică 282

CUPRINS 11

08.05.02. Implementare grafică 282 08.06. Alte proprietăţi în Z2 285 08.06.01. Semi-absorbţie 285 08.06.02. Funcţie biformă pătrată 286 08.06.03. Consens şi consens dual 289 08.06.04. Operatorul de echivalenţă (funcţia XNOR – „exclusive

NOR” – funcţia „echivalenţă”) şi operatorul de non-echivalenţă (funcţia XOR – „exclusive OR” – funcţia „non-echivalenţă”), cazuri speciale ale funcţiei biforme pătrate 290

08.06.05. Relaţii de adiacenţă 293 08.06.06. Sinteză a principalelor teoreme ale algebrei binare 294 08.07. Simplificarea funcţiilor binare 298 08.07.01. Necesitatea optimizării funcţiilor logice, în contextul

densităţii tot mai crescute a circuitelor digitale binare pe circuit integrat 298

08.07.01.01. Optimizare şi simplificare 298 08.07.01.02. Necesitatea simplificării funcţiilor digitale 298 08.07.02. Metode de simplificare a funcţiilor binare. Prezentare

introductivă. 299 08.07.03. Adiacenţă şi vectori binari adiacenţi 300 08.07.04. Simplificarea prin adiacenţă a primei sau a celei de a

doua forme canonice a funcţiei. Principiu 300 08.07.05. Metoda Quine–McCluskey 301 08.07.05.01. Prezentarea metodei 301 08.07.05.02. Exemplu de aplicare a metodei Quine-McCluskey:

Etapele aplicării metodei 302 08.07.05.03. Aplicarea metodei discriminării la problema din

cap. 08.07.05.02. 314 08.07.06. Metodă grafică de simplificare prin adiacenţă a

funcţiilor binare cu o singură ieşire: Diagrama Karnaugh. 318 08.07.06.01. Metoda Karnaugh grafică 319 08.07.06.01-a. Diagramă Karnaugh de o variabilă. 322 08.07.06.01-b. Diagramă Karnaugh de două variabile. 323 08.07.06.01-c. Diagramă Karnaugh de trei variabile 325 08.07.06.01-d. Diagramă Karnaugh de patru variabile 326 08.07.06.02. Metoda Karnaugh grafo-analitică

(simplificare, folosind o diagramă Karnaugh cu mai puţine variabile decât funcţia) 329

08.07.07. Alte metode analitice de minimizare 336 09. Logică de transmisie

(logică tip „canal”) 337 09.01. Definiţii, simboluri, convenţii 337 09.02. Câteva tipuri de porţi canal 338 09.03. Logică de transmisie cu porţi canal 340

12 CUPRINS

09.04. Logică binară în tehnologie CMOS 345 09.05. Exemple de funcţii binare realizate cu structuri

logice tip canal 347 09.05.01. Funcţia NAND(x,y) 347 09.05.02. Funcţia AND(x,y) 347 09.05.03. Funcţia NOR(x,y) 349 09.05.04. Funcţia OR(x,y) 349 09.05.05. O funcţie oarecare 351 09.05.06. Circuite MUX / DMUX, folosind porţi bidirecţionale 352 09.05.07. Folosirea circuitelor de tip canal în implementarea

funcţiilor binare şi multivalente 353 09.05.08. Ieşiri tri-state 353 10. Hazardul combinaţional

Comportarea atipică a implementărilor circuitelor combinaţionale 355

10.01. Hazard - definiţii, clasificări:

a) – hazard combinaţional, hazard secvenţial b) – hazard combinaţional static, hazard combinaţional dinamic c) – hazard combinaţional logic şi hazard combinaţional funcţional (static sau dinamic, după modul de manifestare) 355

10.02. Hazardul în circuite cu adâncime uniformă intrare-ieşire (cazul structurilor logice programabile) 360

10.03. Metodă şi algoritm de eliminare a hazardului logic

static 361 10.04. Exemple de eliminare a hazardului logic static 364 10.04.01. Funcţie cu hazard logic într-o grupă de valori şi hazard

funcţional în altă grupă de valori 364 10.04.01.01. Etapele identificării şi eliminării hazardului 364 10.04.01.02. Analiza soluţiilor obţinute şi alegerea soluţiei finale 369 10.04.02. Funcţie cu hazard funcţional numai în unele variante

ale aceleiaşi grupe de valori (exemplu multivalent) 371 10.05. Metodă generală de eliminare a hazardului 374 10.05.01. Principiul metodei 374 10.05.02. Structura ieşirii globale a funcţiei în implementările

cu porţi canal pe ieşire 375

CUPRINS 13

11. Simplificarea globală a funcţiilor binare şi multivalente, cu ieşire vectorială. Circuite cu mai multe ieşiri 377

11.01. Circuit digital în sensul cel mai general - generalităţi - 377 11.02. Organizarea structurală a circuitelor digitale

funcţionând în logică mixtă 379 11.03. Condiţiile de compatibilitate structurală şi

funcţională ale circuitelor digitale mixte 384 11.04. Aspecte specifice ale implementării circuitelor

digitale mixte 385 11.05. Structura generală a circuitelor digitale mixte cu

mai multe ieşiri 391 11.06. Optimizarea globală a structurii circuitelor digitale

mixte cu mai multe ieşiri, folosind metoda discriminării. Tratarea vectorială a ieşirii multiple a unui circuit multivalent (sau binar) cu mai multe ieşiri. 395

11.06.01. Principiul de optimizare globală 395 11.06.02. Expresiile analitice ale funcţiei 396 11.06.03. Modul de implementare 398 12. Optimizarea funcţiilor digitale în vederea

implementării lor pe structuri logice programabile (SLP) 399

12.01. Alegerea formei canonice 399 12.02. Prelucrarea ieşirii funcţiei, conform cu forma

canonică structurată în SLP 400 12.03. Adaptarea funcţiei pe tip SLP, folosind

complementarea ieşirilor 402 12.04. Adaptarea funcţiei pe tip SLP, prin prelucrarea

logică a ieşirilor 403 12.05. Implementări tip SLP cu porţi canal pe ieşire 406

14 CUPRINS

13. Proiectarea logică a circuitelor de transcodare Implementări tip SLP. Exemple 409

13.01. Terminologie. Clasificări 409 13.02. Convertori de cod zecimal 411 13.02.01. Convertor de cod zecimal: 10(Z5) → 10(Z2-BCD) 411 13.02.02. Convertor de cod zecimal: 10(Z2-BCD) → 10(Z5) 415 13.02.03. Convertor de cod zecimal: 10(Z10) → 10(Z2-BCD) 420 13.02.04. Convertor de cod zecimal: 10(Z2-BCD) →10(Z10) 422 13.02.05. Convertor de cod zecimal: 10(Z2 (1 activ)) →10(Z2-BCD) 424 13.02.06. Convertor de cod zecimal: 10(Z2-BCD) → 10(Z2(1 activ)) 426 13.03. Decodificatori 427 13.03.01. Decodificator (DEC sau decoder) - Prezentare 427 13.03.02. Exemplu: Decodificator „BCD – 7 segmente”: 10(Z2(BCD) → 10(Z2(7 segmente)) 428 13.03.03. Decodificator multivalent 429 13.03.03.01. Exemplu: Decodificator dec 2:32: 9(Z3) → 9(Z2) 430 13.04. Codificatori: Codificator (ENC sau encoder) 433 14. Circuite de selecţie:

multiplexori, demultiplexori 434 14.01. Multiplexori 434 14.01.01. Structura generală a unui multiplexor 434 14.01.02. Structura piramidală a unui multiplexor 437 14.02. Demultiplexori 438 14.02.01. Structura generală a unui demultiplexor 438 14.02.02. Structura piramidală a unui demultiplexor 441 14.03. Circuite MUX / DMUX 442 14.03.01. Circuite de selecţie bidirecţionale 442 14.03.02. Circuite MUX/DMUX bidirecţionale, cu funcţie

comandată 443 14.04. Circuite de selecţie vectorială 446 14.04.01. Circuit MUX vectorial 446 14.04.02. Circuit DMUX vectorial 447 14.04.03. Circuit MUX / DMUX vectorial 448 14.04.04. Circuit de adresare a unei memorii RAM, sau a unei

memorii PROM 449

CUPRINS 15

15. Structuri celulare combinaţionale: circuite iterative combinaţionale 452

15.01. Generalităţi 452 15.02. Comparator digital 453 15.02.01. Comparator digital a două numere de un digit 453 15.02.02. Convenţie de simbolizare a operatorilor cu variabile

simple şi cu variabile vectori 457 15.02.03. Comparator digital multivalent a două numere scrise în

baza de numeraţie N (în ZN) 459 15.02.04. Simbol structural-funcţional şi simbol grafic pentru un

comparator digital multivalent – simplu sau vectorial 462 15.03. Circuit de prioritate (priority encoder) 464 15.04. Circuite de incrementare şi decrementare 466 15.05. Circuite combinaţionale de deplasare 469 15.06. Circuite de însumare 472 15.06.01. Suma a două numere binare 472 15.06.02. Scăderea a două numere binare 474 15.07. Circuite de paritate 477 16. Circuite aritmetice 478 16.01. Circuite de însumare algebrică 478 16.01.01. Scrierea numerelor cu semn 478 16.01.02. Schimbarea semnului unui număr 479 16.01.03. Semnul şi transferul în cazul sumei algebrice a două

numere cu semn 479 16.01.04. Structura unui circuit de însumare algebrică a două

numere cu semn 480 16.01.05. Celulă şi registru de însumare algebrică 481 16.02. Transport paralel în registrele de însumare algebrică 490 16.03 Structuri aritmetice matriciale 495 16.03.01. Structură matricială pentru însumarea algebrică

paralelă a mai multor numere 495 16.03.02. Structură matricială pentru un circuit de înmulţire 495 16.03.02.01. Înmulţirea a două numere binare fără semn 495 16.03.02.02. Înmulţirea a două numere binare cu semn 498 16.04. Circuite aritmetice cu structură serie-paralelă 499 16.04.01. Sumator serie-paralel 499 16.04.02. Circuit de multiplicare serie a două numere 499 16.04.03. Algoritmi eficienţi de înmulţire 501 16.04.03.01. Algoritmul lui Booth 501 16.04.03.02. Algoritmul modificat al lui Booth 502

16 CUPRINS

16.04.04. Circuite de împărţire 503 16.05. Circuite pentru aritmetică zecimală 506 16.05.01. Sumator zecimal BCD 506 16.05.02. Sumator zecimal XS3 508 16.05.03. Scăderea zecimală în codificarea BCD şi XS3 509 16.06. Unităţi aritmetice-logice (ALU – Arithmetic and

Logic Unit) 510

16.07. Aritmetică multivalentă 512 16.07.01. Celulă de însumare multivalentă 512 16.07.02. Transport paralel în registru de însumare multivalentă 515 17. Logică vectorială

O algebră arhetipală vectorială şi implementarea operatorilor în logică directă şi în logică tip canal 517

17.01. Prezentarea algebrei 517 17.02. Operatori derivaţi:

operatorul vectorial de complementare 519 17.03. Operatori vectoriali auxiliari:

operatori vectoriali de discriminare 521 17.03.01. Operatorul vectorial „mai mare” 521 17.03.02. Operatorul vectorial „mai mic” 522 17.03.03. Operatorii vectoriali „mai mare sau egal”

şi „mai mic sau egal” 523

17.04. Implementarea operatorilor de „min” şi „max” cu ajutorul operatorului de discriminare 524

17.05. Simbolurile funcţionale şi grafice ale operatorilor

principali şi derivaţi din algebra arhetipală vectorială - prezentare centralizată - 528

18. Logică algoritmică 530 18.01. Logică algoritmică, automate algoritmice,

hardificarea software-lui - preliminarii – 530 18.02. Logică algoritmică 532 18.03. Structuri programabile pentru logică algoritmică 533 18.04. Adaptarea tabelului de valori pentru a opera cu

elemente decizionale complexe 535

CUPRINS 17

19. Algebra booleană şi algebrele binare şi

multivalente 536 19.01. Algebra booleană 536 19.02. Algebra booleană şi algebrele binare şi algebrele

multivalente 538 20. O algebră vectorială a mulţimilor 539 20.01. Operaţii cu mulţimi 539 20.02. Submulţimi speciale:

mulţimea totală şi mulţimea vidă 540 20.03. Vectorul caracteristic al unei submulţimi 541 20.04. O algebră vectorială a mulţimilor 542 21. Logică continuă – Logică fuzzy - Logică

vectorială - corelaţii - 543 22. Alte implementări ale funcţiilor binare 544 22.01. Implementare cu circuite ROM 544 22.02. Implementare cu multiplexori 546 23. Minimizarea sistemelor decizionale

hardware şi software nedeterministe (o extensie a metodei discriminării) 551 23.01. Preliminarii 551 23.02. Neunivocităţi de speţa I, II şi III 552 23.03. Optimizarea sistemelor decizionale

nedeterministe, folosind metoda discriminării 554 23.04. Neunivocităţi explicite şi implicite 556 23.05. Minimizarea sistemelor decizionale cu

18 CUPRINS

neunivocităţi de speţa I: A – minimizarea propriu zisă B – eliminarea hazardului - 557

23.06. Minimizarea sistemelor decizionale cu

neunivocităţi de speţa II 563 23.07. Minimizarea sistemelor decizionale cu

neunivocităţi de speţa III 565 23.08. Minimizarea sistemelor decizionale cu

neunivocităţi de speţa a I-a, a II-a şi a III-a 567 24. Specific şi avantaje în metoda discriminării 568 25. Bibliografie 571 26. Index 577 27. Summary 583 28. Contents 589-602 29. Appendix 603 29.1 DISCRIMINATION A New Principle and Method for

an Efficient Minimization of Binary and Multivalued Functions 604

29.2 New Technical Aspects in Identifying and

Eliminating of Logic and Essential Hazards of the Combinational Networks 613

29.3 Minimization aspects of hardware and software

decisional systems - an extension of the discrimination method - 621

01. INTRODUCERE 19

01. INTRODUCERE

Lucrarea prezintă o abordare mai generală a teoriei şi practicii proiectării logice a sistemelor decizionale hardware şi software, punându-se accentul asupra circuitelor digitale, urmărind cuprinderea într-un context coerent şi unitar a bazelor sistemelor digitale structurate pe informaţii codificate binar, dar şi multivalent, iar în finalul lucrării abordându-se, cu oferirea de soluţii noi, optimizarea sistemelor decizionale nedeterministe, cu implicaţii directe în optimizarea algoritmilor.

Cu toate că obiectivul lucrării constă în principal în analiza şi sinteza circuitelor digitale fără memorie – urmând ca într-o altă lucrare în pregătire circuitele digitale cu memorie să fie tratate în mod special – capitolele introductive ale cărţii prezintă unele dintre aspectele de bază ale circuitelor cu memorie.

Partea introductivă a cărţii prezintă succint unele aspecte de generalitate ale sistemelor, unele concepte şi legităţi care guvernează tot ce există în lumea noastră fenomenală, în scopul atât al fundamentării abordării mai generale a sistemelor digitale – în contextul codificării multivalente a informaţiei - cât şi al punctării posibilelor aspecte de generalitate care se pot desprinde din orice soluţie particulară, în vederea unei mai eficiente şi coerente aplicabilităţi imediate şi de perspectivă a unora dintre rezultate.

Este proiectată astfel o nouă perspectivă asupra intercorelării sistemelor, prin încadrarea lor în contextul conceptelor universale de rezonanţă şi structurare holografică - atât spaţială, cât şi temporală - a tot ce există manifestat pe diferite octave de vibraţie ale creaţiei, nu numai în universul fizic.

Se urmăreşte astfel desprinderea ideii că nici un rezultat particular nu este cu adevărat singular, că tot ce se obţine într-un domeniu are reflexie holografică şi în alte domenii, rezultând concluzia stenică că ideea izolării tot mai accentuate de lume prin super-specializare este greşită, pentru că orice este interconectat cu totul, iar totul se regăseşte reflectat în fiecare parte.

În acest context, se punctează în lucrare aspectul universal al setului de operatori ai algebrei multivalente folosite, privit ca o reflectare particulară a Legii universale a lui 3.

Deşi lucrarea prezentă nu abordează în mod special sistemele digitale cu memorie, conceptele generale corelate de memorie – histerezis – inerţie evidenţiază unele aspecte fundamentale ale acestor sisteme, cum ar fi prezenţa inerentă în orice sistem a memoriilor temporare, sau existenţa buclelor de reacţie în sistemele cu memorie permanentă.

Fără a se aprofunda, se prezintă corelaţia rezonanţă – reversibilitate – sisteme de reglare, care apare ca o extensie a conceptelor de consonanţă şi circularitate introduse de savantul român Ştefan Odobleja.

Se schiţează astfel un nou model structural şi funcţional al sistemelor de reglare, care – datorită aspectului nou introdus de „autonomie” – poate,

20 01. INTRODUCERE

cel puţin principial, deschide calea unei abordări mai profunde şi a extinderii conceptelor cibernetice.

Totodată, apare - ca particularizare a noului concept al sistemelor de reglare - o nouă structurare, mai generală, a automatelor, a căror abordare va fi menţionată mai în detaliu în lucrarea dedicată sistemelor cu memorie.

Revenind asupra conţinutului propriu zis al cărţii - după această privire succintă asupra abordării sistemice a domeniilor cunoaşterii – trebuie punctată abordarea şi fundamentarea teoriei proiectării logice – mai corect zis, a teoriei comutaţiei – cu referire mai generală la sistemele multivalente, sistemele binare apărând ca o particularizare ale acestora.

Ca urmare a unei asemenea abordări, se prezintă tehnici noi de proiectare, de minimizare, de optimizare a sistemelor decizionale hardware şi software, punându-se accentul asupra circuitelor digitale multivalente.

Orientarea metodicii de proiectare este gândită pentru optimizarea sistemelor decizionale – denumite şi „sisteme digitale”, în general, sau „circuite digitale”, în special când este vorba de implementări ale sistemelor decizionale - în vederea implementării lor pe structuri logice programabile, neexcluzându-se nici tehnicile – care apar ca particularizări – pentru o proiectare „clasică”.

De la început, apar anumite aspecte care necesită o anumită clarificare:

Astfel, una din întrebările care apare imediat este „de ce multivalenţă?”.

Se ştie că în prezent nu sunt disponibile pentru utilizare sisteme digitale multivalente. Aici se înţelege multivalenţa atât în sensul transmiterii de informaţii cu mai mult de două valori pe fir, pentru circuite, cât şi în sensul exprimării explicit multivalente a funcţiei sistemelor decizionale software – în vederea optimizării algoritmilor şi chiar a implementării lor hardware într-o manieră de înalt paralelism al prelucrării informaţiei.

Fără a neglija posibila apariţie a unor sisteme hardware pur multivalente (cu mai multe valori pe fir), accesibile utilizării largi în viitorul apropiat, abordarea multivalentă cuprinde şi unele aspecte importante ale tratării informaţiei binare, care nu apar în teoria clasică a comutaţiei.

Astfel, se pot sintetiza, folosind tehnici multivalente de optimizare a structurilor digitale:

- sisteme binare (şi multivalente) cu variabile vectoriale, multivalenţa manifestându-se, în acest caz, în valoarea vectorului binar, în aceste cazuri fiind incluse şi circuitele binare cu ieşiri multiple; - circuite binare (şi multivalente) cu un număr foarte mare de intrări, care pot fi optimizate prin gruparea intrărilor în formaţiuni vectoriale, aceasta având ca efect diminuarea semnificativă a timpului de optimizare, soluţie de interes, mai ales în cazuri în care acest timp poate depăşi capacitatea resurselor de calcul;

01. INTRODUCERE 21

În cazul circuitelor binare (şi multivalente) cu ieşiri multiple, tehnicile de optimizare prezentate pot oferi direct soluţii potrivite pentru implementări în structuri logice programabile.

Un alt aspect al multivalenţei, demn de luat în considerare, constă în oferirea posibilităţii unei „eficiente hardificări a softwarelui”, adică a implementării, folosind abordarea vectorială, unor sisteme de „logică algoritmică”, care permit transpunerea şi optimizarea părţilor decizionale ale algoritmilor direct în funcţii logice combinaţionale, oferind, aşa cum s-a punctat mai sus, posibilitatea implementării în structuri hardware - cu mare paralelism în prelucrare, deci şi cu o mare eficienţă – a algoritmilor, implementări de altă natură decât cele de tip firmware, care păstrează, în general, toate ciclicităţile programului software.

Dată fiind perspectiva accesibilităţii la structuri cu hardware reconfigurabil, aplicarea unor sisteme de logică algoritmică capătă un real interes.

Implementarea unor sisteme în logică algoritmică presupune, implicit, folosirea unor sisteme multivalente, în vederea reducerii numărului mare de terminale cerut de paralelismul de prelucrare. Un asemenea impas poate fi depăşit însă şi în cazul binar, prin transferul serie-paralel al informaţiei de intrare şi prin eventuala preluare serie-paralel a informaţiei de ieşire. Creşterea timpului de prelucrare devine însă acceptabil, dat fiind câştigul mare în viteza de prelucrare, oferit, în principiu, de structurile cu logică algoritmică.

Introducerea şi justificarea unei algebre logice multivalente de referinţă – denumită „logică arhetipală” – permite, prin implementarea specifică a operatorilor, abordarea formală unitară, atât a sistemelor binare, cât şi a celor multivalente, având variabile de intrare şi de ieşire binare sau multivalente, singulare sau vectoriale.

Denumirea unei asemenea logici derivă din faptul – menţionat şi mai înainte – că operatorii algebrei alese pot fi consideraţi ca o reflexie directă a Legii lui 3, lege care guvernează toate aspectele manifestate în univers, lege prezentată succint în capitolul introductiv.

Revenind la multivalenţă, se constată, prin aplicarea metodelor de optimizare şi a algebrei arhetipale, că structurarea circuitelor multivalente propriu zise (prezentând mai mult de două valori pe fir) are specifică implementarea cu circuite în logică binară a practic întregului circuit, cu excepţia circuitelor de intrare (dar şi acestea având funcţii decizionale cu ieşire bivalentă) şi, uneori, a celor de ieşire. O asemenea structurare oferă căi practice de implementare a unor sisteme digitale operând în logică multivalentă propriu zisă.

Abordarea mai generală a teoriei şi practicii proiectării logice a sistemelor digitale este posibilă prin introducerea unui nou mod de minimizare a structurii circuitelor digitale.

Metoda de optimizare nou introdusă este denumită, plecând de la modul specific de operare, „metoda discriminării”.

22 01. INTRODUCERE

Metoda discriminării, care se aplică identic atât structurilor binare, cât şi multivalente, operează asupra specificării prin tabel de valori a funcţiilor digitale binare sau multivalente, cu ieşiri simple sau multiple, având variabile simple sau vectoriale (cu componentă binară sau multivalentă).

Rezultatul aplicării metodei constă în obţinerea unei clase de soluţii echivalente, de complexitate minimă, pentru tabelul de valori, adică obţinerea unor tabele de valori cu cât mai puţine specificări ale poziţiilor din tabel, în raport cu tabelul iniţial.

O asemenea optimizare are un caracter neutru, general, fiind independentă de algebra folosită ulterior pentru transpunerea în expresii logice a funcţiei decizionale optimizate din tabelul minimizat, iar expresia logică conduce direct la diagrama logică a circuitului, sau la structura optimizată a unui algoritm software.

Astfel, optimizarea funcţiilor digitale conferă o gamă largă de abordări logice şi de implementări specifice, mergând de la circuite până la optimizarea algoritmilor,.chiar la hardificarea lor.

Un aspect des întâlnit în proiectarea logică binară este cel al comportării temporar diferite a circuitului implementat, în raport cu funcţia logică pe care o reprezintă. Este vorba de aşa zisul aspect de „hazard”, în prezenta lucrare abordându-se „hazardul combinaţional”, urmând ca în lucrarea dedicată circuitelor secvenţiale să se prezinte aspecte ale abordării specifice ale hazardului secvenţial, cât şi ale folosirii în structurile secvenţiale ale unor circuite combinaţionale fără hazard.

Lucrarea prezintă o metodă şi un algoritm, folosind, implicit, şi metoda discriminării – metodă aplicabilă implementărilor de tip structură logică programabilă - de evidenţiere a „hazardului funcţional” binar sau multivalent, de tip combinaţional, hazard care nu poate fi eliminat logic, cât şi o metodă de eliminare a „hazardului logic”, binar sau multivalent, de tip combinaţional, hazard care poate fi eliminat logic.

În plus, se sugerează o soluţie tehnologică de eliminare completă a oricărui tip de hazard, fie logic sau funcţional, fie manifestat în circuite binare, sau în posibile implementări multivalente. O asemenea soluţie este de luat în considerare în unele implementări ale circuitelor secvenţiale asincrone, întrucât folosirea în buclele de reacţie a unor circuite combinaţionale manifestând hazard poate induce comportări remanente ale circuitului secvenţial, neconforme funcţiei lui.

Lucrarea mai prezintă succint – în contextul general al abordării multivalente – unele corelări cu aspecte particulare ale logicii continue, ale logicii mulţimilor şi ale logicii decizionale fuzzy.

Se menţionează totodată că tehnicile de optimizare a proiectării logice în logică binară şi multivalentă, cu operatori simpli sau vectoriali, sunt deja implementate pe calculator – prin contribuţia deosebită a d-lui Adrian Zafiu de la Universitatea din Piteşti - folosind algoritmi eficienţi, astfel că problema în sine a obţinerii unor funcţii şi structuri logice optime se reduce la introducerea în program a tabelului de valori al funcţiei, precum şi ale unor opţiuni ale proiectantului, privind modul de optimizare dorit: cu ieşiri multiple tratate vectorial sau individual, cu sau fără eliminarea hazardului logic, cu alegerea primei sau celei de a doua forme canonice, cu ieşiri normale sau în logică de tip canal, etc.

01. INTRODUCERE 23

Lucrarea, având şi un caracter didactic, prezintă şi o serie de aplicaţii

specifice, multe devenite clasice, ale proiectării logice, punctându-se însă şi aplicându-se noile metodici de abordare şi, în multe cazuri, tratându-se şi aspectele mai generale, multivalente, ale funcţiilor, menţionând aici:

- circuite transformatoare de cod: multiplexori, demultiplexori, decodificatori, codificatori, etc.;

- circuite aritmetice; - implementări specifice folosind circuite iterative şi structuri

celulare particulare

Unul dintre capitolele cărţii este dedicat circuitelor binare, prin particularizarea metodelor de proiectare din logica multivalentă, aici făcându-se, în special din motive didactice, şi o trecere în revistă a o parte a tehnicilor de optimizare tradiţionale.

Unul dintre ultimele capitole ale cărţii oferă o tratare unitară a optimizării sistemelor decizionale nedeterministe, extinzând, în raport cu cercetările cunoscute în domeniu, gama de soluţii asupra optimizării sistemelor decizionale hardware şi software parţial optimizate, care manifestă nedeterminări implicite, oferind totodată şi o soluţionare mai directă, faţă de abordările recente cunoscute, privind tratarea neunivocităţilor explicite, tratate – în cazul aplicării metodei discriminării – ca valori multivalente suplimentare ale ieşirii.

Ultimul capitol al cărţii punctează, pe scurt, trăsăturile specifice şi avantajele metodei discriminării – în raport cu metodele cunoscute - în minimizarea şi optimizarea sistemelor decizionale.

24 01. INTRODUCERE

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 25

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREA SISTEMELOR DIGITALE

02.01. REZONANŢA ŞI REALITATEA

INTERCONECTĂRII TUTUROR DOMENIILOR CUNOAŞTERII

02.01.01. ASPECTE GENERALE

Drept urmare a manifestării legii rezonanţei şi a structurării holografice, fractalice în tot ceea ce cunoaştem, în tot universul, apare evident că orice rezultat obţinut într-un domeniu are o reflexie, pe nivele echivalente sau pe nivele ierarhice, pe diferite octave ale cunoaşterii, în toate celelalte aspecte manifestate. De aceea, tot ce apare nou într-un domeniu trebuie privit că o cucerire şi pentru celelalte ramuri sau domenii, chiar dacă nu are încă o formulare sau o proiecţie specifică în ele. Conform aceluiaşi principiu, de multe ori se bate pasul pe loc, redescoperind într-un loc ceea ce este deja bine ştiut în altul, progresul - real, fără îndoială - al unui asemenea efort fiind adaptarea descoperirii, deşi cei care fac acest lucru nu sunt conştienţi că o viziune globală, holistică i-ar fi condus mai rapid la rezultat, ba chiar la îmbogăţirea cunoaşterii. O asemenea viziune conferă un câmp fantastic de îmbogăţire a cunoaşterii, de extindere a legităţilor cunoscute într-un domeniu, făcând apel şi folosind cu discernământ legea fundamentală a manifestării universului, care este rezonanţa. Nu este scopul acestei lucrări de a identifica proiecţiile rezultatelor clasice sau nou introduse în câmpul restrâns de probleme al lucrării, dar se semnalează posibila extindere a rezultatelor obţinute aici şi în alte domenii. Se cunoaşte - şi nu este deloc întâmplător - că o mare parte a invenţiilor de valoare din alte domenii au avut drept autori, specialişti din domeniul electric, unde legităţile sunt mai profund studiate, ceea ce a permis extinderea lor, nu neapărat conştientă, în alte sfere aplicative. O asemenea înţelegere arată că nimic din ceea ce este bine făcut nu rămâne fără răsplată, fără ecou, indiferent de domeniul în care apare realizarea. Totodată, dispare, în principiu, frustrarea specialistului, care adâncindu-se tot mai mult într-un câmp tot mai restrâns al cunoaşterii, are sentimentul izolării de restul lumii. Pe orice cale ai lua-o în cunoaştere, ajungi la esenţa unică, manifestată diferenţiat în toate, dar păstrându-şi, prin proiecţie şi interconectare cu ajutorul rezonanţei, caracteristicile fundamentale, pretutindeni.

26 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

Pentru ca afirmaţiile făcute mai înainte să nu rămână fără suport, se prezintă în continuare, succint, aspectele principale ale legii rezonanţei, în vederea conştientizării realităţii complex interconectate a tuturor domeniilor, cu o reflectare holografică a fiecăruia în celelalte. Se evidenţiază totodată acţiunea legii trecerii de la acumulări cantitative la salt calitativ, în raporturile dintre structură şi funcţie, cu exemplificări ulterioare în domeniile circuitelor, sistemelor digitale 02.01.02. REZONANŢĂ, SERIALITATE, SINCRONICITATE

02.01.02.01. Rezonanţa, lege fundamentală a

Universului

Rezonanţa este legea fundamentală a Universului, a tot ceea ce este creat.

Rezonanţa reprezintă totul şi explică totul. Reprezintă spectrul vibraţiilor manifestate şi interconectarea lor selectivă. Este cea care pune cap la cap sisteme diferite, dar având afinităţi profunde.

Rezonanţa asigură transferul energetic şi informaţional între sisteme, asigură funcţionarea, existenţa structurii holografice a universului.

Rezonanţa implică punerea în legătură, prin acordare, a aspectelor echivalente.

Face posibila trecerea de la individual la universal, şi invers. În cazul fiinţelor inteligente, a intra în rezonanţă înseamnă a

conştientiza faptul că eşti interconectat subtil la întregul macrocosmic, fiind o reflectare la scară mică a întregului.

Convingerea că tot ce ai se regăseşte în Marele Întreg şi conştientizarea aspectului pe care vrei să-l trezeşti, să-l acordezi selectiv la întreg, face posibil transferul informaţional, energetic, reciproc, între două sisteme, indiferent de mărime, distanţă, întotdeauna aspectul macrocosmic oferind trezirea, îmbogăţirea celui individual.

Rezonanţa între sisteme - două sau mai multe - echivalente asigură schimburi reciproce care conduc la îmbogăţirea fiecăruia în parte.

În cazul fiinţelor inteligente, comunicarea se face prin intenţie şi focalizarea fermă a mentalului asupra aspectului selectat.

Totul se bazează pe rezonanţă. Ea constituie liantul întregii manifestări şi a legării aspectului manifestat cu Creatorul.

Chiar conectarea prin rezonanţă a doua sisteme oarecare echivalente implică, conştient sau nu, racordarea lor la aspectul echivalent macrocosmic.

Nici un proces nu este izolat de sursa creaţiei. Orice activitate implică rezonanţa, fie că este sau nu conştientizat

acest lucru. Rezonanţa implică conectare, fie pe orizontală, fie pe verticală, între

procese, fenomene, aspecte selectate în aceeaşi gamă de frecvenţe, sau între procese, fenomene, aspecte selectate în octave diferite, dar reprezentând în esenţă acelaşi aspect manifestat pe diferite nivele ale creaţiei.

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 27

02.01.02.02. Rezonanţa în electronică.

În electronică, rezonanţa asigură transferul maxim informaţional şi energetic între două sisteme vibratorii acordate selectiv, conectarea lor marcând afinităţi, compatibilităţi funcţionale şi racordare la o sursă comună energetică şi informaţională, care asigură punerea în evidenţă, prin acordare selectivă, a aspectului comun. 02.01.02.03. Rezonanţa în sistemele operaţionale tip

“perpetuum mobile”.

Sunt şi au fost realizate sisteme electronice, tehnice, rezonante, în care este evidentă conectarea lor la sursa primordială macrocosmică, vezi rezonatorul sau transformatorul Tesla, sau unele dintre aşa zisele “perpetuum mobile”.

O bună parte dintre invenţiile catalogate “perpetuum mobile”, utopice, irealizabile, sunt cu adevărat operative, explicaţia fiind simplă: racordarea lor la o sursă externă macrocosmică.

Nu trebuie judecate - ca nimic altceva, de altfel - ca sisteme izolate, sau făcând parte dintr-un sistem izolat energetic, informaţional. Ele constituie un exemplu clar că totul este interconectat şi legat de Sursa Creaţiei. Numai nivelul limitat încă al conştiinţei le percepe izolat.

Capacitatea de a intra în rezonanţă este un datum al creaţiei, manifestat în reţea cu structura holografică. Creatorul este în tot şi totul este în Creator.

Prîn urmare, latent, există posibilitatea de a intra în legătură cu orice aspect manifestat şi să fie trezit pe deplin. Totul depinde de voinţă, conştientizare, perseverenţă, în fond - în cazul fiinţelor inteligente - de deschidere cu credinţă şi iubire către întreaga creaţie.

Tot aici, trebuie subliniat că încrederea în sine este element esenţial în angrenarea proceselor de rezonanţă, este cheia racordării la sursele de energie practic infinite, canalele şi transferurile deschizându-se instantaneu, indiferent de distanţă. 02.01.02.04. Sincronicitate

De fapt, rezonanţa se manifestă şi dincolo de timp şi spaţiu, manifestarea ei transcende relaţiile cauză – efect, percepute la nivelul mentalului obişnuit.

În asemenea situaţii, rezonanţa se manifestă prin fenomene de sincronicitate, care constituie o legătură la nivel de esenţă, arhetipal, a fenomenelor, aspectelor interconectate.

Este o cauzalitate dincolo de timp şi spaţiu. Altfel spus, sincronicitatea reprezintă manifestarea unor corelaţii

între fenomene, aspecte, procese, a căror cauzalitate transcende planul fizic. Sincronicitatea este prezentă permanent în viaţă, dar percepută pe

măsura elevării nivelului de conştiinţă.

28 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

Aşa zisele miracole, coincidenţe stranii, soluţii inexplicabile ale unor probleme sunt produsul sincronicităţii.

De fapt, miracolele sunt permanent în existenţă, dar ignorate şi nepercepute ca atare. Ne împiedicăm de Adevăr şi îl ocolim şi trecem mai departe, fără să îl băgăm în seamă.

Pe măsura creşterii spirituale, a elevării nivelului de conştiinţă, asemenea fenomene sunt percepute tot mai des şi se înţelege apartenenţa la Întreg, că nu existăm numai în timp şi spaţiu. Ele conferă dimensiunea atemporală şi dincolo de spaţiu a adevăratei noastre esenţe.

Atunci, miracolele din viaţă sunt înţelese la modul fundamental, esenţial, şi deschid fiinţa tot mai mult cu credinţă şi iubire spre Creator. Devenim tot mai conştienţi de prezenţa Creatorului în noi şi în afara noastră, intuim şi suntem la un pas de Adevăr, de a fi una cu Creatorul, în veşnicie. 02.01.02.05. Serialitate

Fenomenul serialităţii reprezintă o manifestare grupată, selectivă a sincronicităţii, în funcţie de rezonanţa angajată, dar şi de dominanta destinică - în cazul fiinţelor umane - sau a unor tipare arhetipale angajate în aceste procese.

Gruparea evenimentelor are o semnificaţie profund cauzală, deşi aparent inexplicabilă la nivel obişnuit. Marchează conexiuni dincolo de timp şi spaţiu. 02.01.02.06. Rezonanţa, la nivelul cel mai înalt.

Toate aceste aspecte evidenţiază că totul se bazează pe rezonanţă şi nici o parte nu este izolată de întreg, revelând miracolul manifestării, al creaţiei, dând sens şi justificare evoluţiei fiinţei spre Creator.

Tot ce este creat reprezintă conştiinţă manifestată vibratoriu. Fenomenul de vibraţie, în sine, reprezintă manifestarea aspectului

dual al creaţiei. Transcenderea dualităţii reprezintă cufundarea într-o stare de vid în

care totul este legat cu totul şi eşti peste tot, omniprezent, omniscient. Fenomenul de rezonanţă, la acest nivel, reprezintă conectarea

directă de conştiinţă la conştiinţă, de integrare armonioasă în tot. După cum se vede, Rezonanţa este Creatorul care cuprinde şi leagă

totul ca semnificaţie, coerent.

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 29

02.02. REZONANŢA, STRUCTURA HOLOGRAFICĂ ŞI MANIFESTAREA ADEVĂRATEI AUTONOMII FUNCŢIONALE

ASPECTUL STRUCTURAL ŞI ASPECTUL FUNCŢIONAL ÎN MANIFESTARE

Structura holografică este manifestată în tot şi în toate.

În Univers nu există mic şi mare, atâta timp cât totul este interconectat cu totul.

Fiecare parte participă plenar la funcţia întregului, iar întregul percepe fiecare parte. Nu se poate mişca un fir de iarbă fără să ştie şi să simtă întreg universul.

Conştiinţa Creatorului este pretutindeni prezentă, manifestată plenar, la fel, dar percepută în funcţie de nivelul de evoluţie al părţii componente.

Aici apare fenomenul de prag al manifestării autonomiei, al Sinelui, sau, altfel spus, al conştiinţei de sine, al liberului arbitru.

În principiu, şi un atom participă la întreaga viaţă a universului, dar potenţialităţile lui de manifestare autonomă sunt limitate şi implică o integrare a lui într-o structură mai complexă. Acest aspect constituie însuşi stimulentul evoluţiei creaţiei.

Aici este implicată legea salturilor calitative, odată ce acumulările au atins pragul.

Fiecare atom al unei plăci foto holografice nu poate manifesta el singur imaginea. Cu toate acestea, şi el are impregnat ceva subtil, conform rezonanţelor manifestatoare ale imaginii şi ale legăturii lui cu ceilalţi atomi ai plăcii, altfel nu s-ar putea evidenţia imaginea.

Dar, există un nivel de prag al percepţiei. O conştiinţă evoluată ar fi capabilă să deceleze aceste impregnări şi conexiuni subtile, chiar şi la nivelul atomului şi să reconstituie întreaga imagine.

Deci, totul e manifestat în cea mai mică parte, dar conştiinţa de sine a părţii apare la un anumit prag.

Structural, totul e manifestat în tot. Funcţional, manifestarea este organizată pe nivele de complexitate,

separate de praguri. Noi, creaturile umane, am trecut pragul cel mare. Avem posibilitatea

manifestării plenare, la nivelul nostru, al tuturor atributelor Universului. Suntem imaginea Creatorului în mic, dar o imagine integrală. Dar conştientizarea ei implică alte praguri sau trepte de urcare spre sursa creaţiei. Dar de la acest nivel, ele pot fi trecute şi toate o dată, doar să credem cu adevărat în Creator şi să manifestăm din plin energia iubirii către El, aspecte care reprezintă rezonanţe fundamentale prin care se poate accede la Sursă.

În fond, adevăratul atom al creaţiei suntem noi, făpturile înzestrate cu Sine, cu liber arbitru.

De la acest nivel, organizarea universului poate fi percepută perfect holografic, structural şi funcţional, deşi, se precizează încă o dată, că orice este impregnat şi în cel mai mărunt grăunte al creaţiei, dar, la acest nivel, potenţialitatea nu poate fi trezită autonom.

Deci rezonanţa este universală, plenar manifestată pe toate nivelele creaţiei.

30 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

02.03. ENERGIA FUNDAMENTALĂ DE LEGĂTURĂ, UNICĂ MODALITATE REALĂ DE ACCES LA SURSĂ

Rezonanţa primordială fundamentală a creaţiei, liantul cu Sursa şi calea de ascensiune la Sursa este reprezentată de ENERGIA IUBIRII.

Energiile sunt manifestate pe toate nivelele – şi superior şi inferior – având un spectru nelimitat în sus şi în jos, permiţând astfel manifestarea plenară a liberului arbitru, a alegerii libere a destinului, a experimentării căii spre Sursă, chiar dacă aceasta trece şi prin coborâşuri.

Însă energia iubirii, considerată aici în sensul cel mai general, prezentat mai sus, este cea care duce direct la Sursă şi fără de care, orice cale s-ar urma, nu se ajunge la Sursă.

De aceea, energia iubirii este în tot, este un datum al creaţiei, oferindu-i-se oricărui aspect manifestat calea spre Creator. Doar trebuie focalizată şi manifestată către tot ceea ce este creat, către Creator, de fapt.

Rezonanţa iubirii e aşa de puternică, că ea se manifestă şi acolo unde nu există liber arbitru, oferindu-se astfel posibilitatea de evoluţie la fiecare nivel, oricât de mic, al manifestării.

Şi o floare este sensibilă la iubire şi manifestă iubire, şi un animal. Şi lucrurile neînsufleţite percep iubirea şi răspund, în felul lor, cu iubire la iubire. Doar trebuie să avem conştiinţa perceperii unor asemenea manifestări a energiei iubirii la nivel subtil.

Deci, deşi Sinele nu se manifestă decât de la un prag în sus, nimic din ce este creat nu este lipsit de şansa evoluţiei, pentru că totul este creat cu iubire, este de fapt iubire manifestată, reprezintă pe Creator.

Noi, făpturile umane, trebuie să fim mândri că avem libertatea conştientă a alegerii, dar trebuie s-o folosim cu adevărat conştient, altfel răscrucile evoluţiei noastre ne sunt hotărâte, impuse de destin, şi trebuie să fim conştienţi că dacă nu urcăm, atunci nu stăm pe loc, ci coborâm, cel puţin până când am atins deja un anumit prag, superior.

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 31

02.04. LEGEA LUI 3 02.04.01. LEGEA LUI 3 ŞI ASPECTUL POLAR AL

REALITĂŢII MANIFESTATE

LEGEA LUI 3 conţine esenţa realităţii manifestate, dedublarea Unicului în manifestare, fără a se pierde totuşi unitatea.

Pretutindeni există Unicul şi aspectul său dual manifestat. Triada +, -, 0 reprezintă esenţa LEGII LUI 3. Fuziunea plusului cu minusul duce la Unic, simbolizat prin “O”, iar

divizarea Unicului (“O”) în plus şi minus duce în realitatea manifestării. Însăşi vibraţia manifestatoare reprezintă aspectul dual, generează

creaţia. 02.04.02. LEGEA LUI 3 LA NIVELUL SUPREM

La nivelul cel mai înalt de percepere a LEGII LUI 3, Trinitatea Supremă, sau Sfânta Treime, cum este cunoscută, ca simbol, reprezintă Unicul - pe Creator - alături de Fiu - Sinele manifestat în fiinţă - şi Sfântul Duh - legătura energetică care uneşte fiinţele de Creator.

Tot ce este creat, manifestat, are o textură energetică care leagă totul şi ne leagă de Unic.

Într-un fel, această textură energetică, rezonanţă manifestată, vibraţia care există în toate, reprezintă iubirea, reprezintă pe Creator în tot şi în toate. Iubirea este Creatorul.

Iar iubirea manifestată, ca rezonanţă primordială, fundamentală Îl reprezintă pe Creator, pe Unic, în tot ce a creat.

Conştientizarea acestei vibraţii, acestei rezonanţe conduce la Unic, la Sursa Creaţiei.

Este calea de mijloc dintre noi, atomul manifestat, ANU, sau Fiul, şi Creator, TATĂL..

Deci, Sfântul Duh poate fi considerat drept Iubirea Creatorului manifestată în întreaga creaţie.

Ştiinţific, a te dezice de Sfântul Duh, a păcătui, cum se spune, împotriva Sfântului Duh, e ceva greu de iertat, de compensat, pentru că te rupe de Sursă, rupe legătura cu Creatorul şi, prin urmare, nu poţi chema Creatorul în ajutor.

Oricum, ruptură definitivă nu există, aşa cum nu există păcat veşnic. Reprezintă doar o întrerupere temporară a conştientizării legăturii cu Sursa, pentru că Sursa există permanent în tine, fie că îţi dai sau nu seama de asta.

De fapt, iubirea înseamnă direcţionarea spre Sursă a drumului nostru, alegerea sensului energiei, oricare ar fi ea, astfel ca să ducă la Sursă. Pentru că altfel, deşi iubirea Creatorului, manifestată energetic în toate, este pretutindeni, legătura cu Sursa poate fi sinoasă, cu multe ocolişuri, urcuşuri şi

32 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

coborâşuri, pentru că Unicul a manifestat energia Sa şi în sus şi în jos, nelimitat.

Deci, deşi legat cu Sursa, nu înseamnă a fi cu Ea. Pentru asta, din poziţia în care eşti, pe rezonanţa ta, trebuie să simţi, să vrei şi să te orientezi ascendent şi, atunci, în funcţie de angrenarea ta, de liberul tău arbitru, să ajungi, mai devreme sau mai târziu, la Sursă.

Iar această conexiune energetică orientată ascendent, această forţă magnetică simţită în tot ce iubeşti, este în fapt forţa iubirii, este ceea ce se înţelege curent prin iubire.

Şi, oricum, oricât de rău plasat s-ar afla cineva în spectrul de vibraţie manifestat, oricât de rele ar fi rezonanţele în care este angrenat, are posibilitatea de a se uni cu sursa, pentru că legătura există permanent. Totul depinde de intenţie, de voinţă, de angrenare, orientate ascendent.

Prin urmare - rezultă clar - nu-i nimeni pierdut. Oricine are şansa de a reveni la Sursă, chiar şi Satana. Şi asta, pentru că toţi suntem copiii Unicului, creaţia Sa.

Iar drumul ascendent spre Sursă este, în fapt, o triplă cale, constând in: înţelegerea şi conştientizarea profundă, fermă, că Unicul, Creatorul,

există, fapt care constituie motivaţia de bază a orientării spre El, acest aspect fundamental fiind numit, tradiţional, CREDINŢĂ;

înţelegerea şi conştientizarea că eşti parte din întreaga creaţie, că, deşi

în mic, esenţa creaţiei se manifestă şi în tine, astfel spus, înţelegerea manifestării holografice a întregii creaţii, a întregului univers, şi, de aici, înţelegerea profundă a faptului, că în esenţă, fiecare aspect creat este egal cu oricare altul, că nu eşti „mai cu moţ” decât altcineva în faţa Creatorului, totodată fiind pătruns de mândria şi demnitatea acestui adevăr, de a fi de aceeaşi esenţă cu Unicul; şi acest al 2-lea aspect fundamental este denumit UMILINŢĂ sau SMERENIE, înţelese la modul prezentat mai sus şi nu cum, în mod comun, este asimilată această noţiune;

dorinţa de a te uni cu Sursa, lucru posibil, aşa cum s-a subliniat deja,

prin angrenarea ascendentă a energiei de legătură a ta cu Sursa; şi acest al 3-lea aspect fundamental este denumit IUBIRE, implicând angrenarea ei conştientă spre ţintă.

Aceasta este tripla cale spre Sursă, care rezultă din însuşi datul creaţiei. 02.04.03. LEGEA LUI 3 ŞI STRUCTURAREA REALITĂŢII

MANIFESTATE PE 7 NIVELE PRINCIPALE

Evidenţierea conceptelor de conştiinţă, materie, energie, informaţie

În manifestare, triada fundamentală este reprezentată de: 1. conştiinţă, subiectivitate, interiorizare ; 2. legătura subiectivitate – obiectivitate, (agentul de legătură, adaptare,

armonizare) ;

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 33

3. realitate exterioară, obiectivitate, reprezentând procesul de devenire a tot ce este creat, prin ocultare în spaţiu şi timp. Aspectele subiectiv şi obiectiv ale triadei fundamentale a manifestării se

regăsesc în triade proprii, specifice: - conştiinţă, subiectivitate, interiorizare:

1 a) voinţă 1 b) cunoaştere, înţelepciune 1 c) activitate, creativitate

- realitate exterioară, obiectivitate:

3 a) informaţie 3 b) energie 3 c) materie

Referitor la triada realităţii exterioare, cele trei aspecte pot fi sintetizate astfel:

Materie – aspectul material propriu zis al creaţiei, tendinţa inerţială, opacizantă

Energie – dinamism, mişcare, activitate, efervescenţă

Informaţie – tendinţa ascendentă, imaterială, conferă sens şi coerenţă întregii lumi materiale.

Iar manifestarea reprezintă, în contextul lucrării, proiecţia ideaţiei Creatorului în timp şi spaţiu.

LEGEA LUI 3 poate fi identificată la orice nivel al manifestării,

constituind, aşa cum s-a prezentat la început, însăşi esenţa realităţii manifestate.

Rezultă totodată, din clasificarea de mai sus, o structurare a realităţii manifestate pe 7 nivele fundamentale de vibraţie, fiecărui nivel fiindu-i asociat un focar principal de rezonanţă, expuse în continuare în ordine descrescătoare a frecvenţei:

7. – voinţa 6. – cunoaştere, înţelepciune 5. – activitate, creativitate 4.– aspectul de legătură, aşteptare, armonizare între subiectivitate

(nivelele 7,6,5 ) şi obiectivitate (nivelele 3,2,1) 3. – informaţie 2. – energie 1. – materie

Aceste focare de rezonanţă principale sunt dinamizate plenar la nivelul

manifestării Universului, dar, conform structurării holografice a Universului, ele se regăsesc şi în fiecare atom al creaţiei, dinamizate mai mult sau mai puţin, sau în stare latentă, permiţând prin angrenarea legii rezonanţei trezirea în mic, printr-o dinamizare corespunzătoare a focarului local de rezonanţă, a oricărui aspect universal.

34 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

02.05. CONCEPTELE DE ENERGIE ŞI DE INFORMAŢIE RELAŢIA ENERGIE – INFORMAŢIE

02.05.01. ENERGIA, ÎN SENSUL CEL MAI LARG

În capitolul anterior s-a prezentat încadrarea conceptelor de energie şi informaţie în triada fundamentală a creaţiei, manifestarea lor evidenţiindu-se în triada realităţii exterioare. Aici se face o prezentare mai detaliată, la nivelul cel mai înalt de cuprindere a acestor noţiuni.

Energia este tot ceea ce este manifestat pe diferite nivele de vibraţie ale întregului univers.

Structurarea ei, specificitatea manifestării energiei pe diferite nivele de vibraţie, asociate diferitelor nivele ale conştiinţei, dă consistenţă întregii manifestări.

Modul ei de structurare, de manifestare, aparţine conştiinţei care modelează energia într-un spectru practic infinit, prin informaţie - aspect rafinat, tot de natură energetică, dar de mare subtilitate - care poartă în ea tiparul şi modul de implementare al oricărei modelări energetice.

Informaţia este şi ea energie, pentru că face parte din manifestare. Dar este o energie impregnată de conştiinţă, prin semnificaţia a tot ce se desfăşoară. Este semnificantul însuşi al creaţiei, impregnat într-o anumită formă energetică subtilă.

Prelucrarea şi transferul informaţiei se realizează fără angrenări semnificative de energie primară, dar implementarea informaţiei în modelările, structurile energetice ale manifestării, mergând până la materia cea mai consistentă – şi ea o formă structurată de energie – poate angrena cantităţi mari de energie primară, care se pot manifesta, prin reflexie, holografic, în toate nivelele creaţiei.

Este, într-un fel, relaţia software – hardware, unde, printr-un soft adecvat – informaţia – se pot produce realizări multiple, pe diferite planuri: operaţional, la nivelul structurii hardware de prelucrare, al structurilor care implică modificări semnificative în diferite medii, procese, toate însă manifestând, în esenţă, o aceeaşi informaţie.

Transportul informaţiei, transferul ei, poate fi făcut, în principiu, instantaneu şi indiferent de distanţă, atunci când în acest proces sunt implicate structurile mentale superioare. Se ştie doar că mintea nu este limitată de timp şi spaţiu, că un gând poate să fie proiectat oriunde, imediat. La fel şi prelucrarea informaţiei, dacă se operează la nivel supramental.

În viaţă şi condiţiile obişnuite, pentru fiinţele cu nivel limitat de conştiinţă, transferul şi prelucrarea informaţiei implică limitări în timp şi spaţiu, generate de limitările inerente ale conştiinţei celor care operează cu informaţia la acest nivel.

Deci informaţia – semnificantul – are un aspect dual: transcendent – imanent şi de aceea ea este asociată unei energii la un asemenea nivel.

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 35

Energia, însă, structurată informaţional (ca semnificaţie), sau semnificatul, aparţine realităţii imanente, manifestate în timp şi spaţiu. În acest context (al energiei) se include şi sfera noţiunii de “materie”, ea reprezentând o energie structurată informaţional, de cea mai mare densitate, prezentând cele mai joase nivele de vibraţie, dar înglobând, potenţial, totul, materia, prin expansiune, putând atinge cele mai înalte nivele. Ea conţine, de fapt, latent, întregul spectru de vibraţii ale manifestării, prezintă toţi rezonatorii. Astfel că, o dată iniţiate procese de rezonanţă, o dată treziţi centrii de rezonanţă ai materiei, aceasta se conectează miraculos, instantaneu şi indiferent de distanţă, la orice focar macrocosmic elevat, obţinându-se o alchimizare a materiei în conştiinţă, de cel mai înalt nivel, realizându-se astfel şi conexiunea inversă dintre energie – ca semnificat – şi informaţie – ca semnificant. Totul este reflectat în totul, totul este interconectat în reţea cu structura holografică, pentru că Totul e Unic, este Creatorul. 02.05.02. ENERGIA, CA AGENT DE LEGĂTURĂ DINTRE

FUNCŢIE ŞI STRUCTURĂ

Conceptul de energie poate fi privit şi restrictiv, mai limitat, ca agentul de legătură dintre funcţie şi structură, cel care animă structura, astfel încât să fie realizată o anumită funcţie - aici, funcţia reprezentând implementarea semnificantului, a informaţiei, într-o structură dată, iar structura reprezentând, în general, aspectul cel mai de jos, aspectul material, structurat şi funcţionând conform informaţiei specifice.

Altfel judecat, energia reprezintă conexiunea dintre sursa creaţiei şi creaţia însăşi, dintre creator şi rezultatul creaţiei, care, în aspectul cel mai înalt, este reprezentat de fiinţele cu Sine, cu liber arbitru.

Într-o asemenea viziune, energia este aspectul median, care leagă totul într-o reţea holografică, realizând interconexiunile reciproce, schimbul de informaţii între toate nivelele şi între fiecare nivel şi Creator. Este, de fapt, ceea ce am defini altfel, drept calea unică care permite aspectului creat – fiinţei – să poată accede la Creator, este, spus altfel – deşi nu în accepţiunea obişnuită – însăşi iubirea, pentru că „doar iubirea conduce la Sursă, indiferent ce cale se urmează”.

36 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

02.06. LEGEA LUI 7 – EXPRESIE A ENERGIEI TIMPULUI ÎN UNIVERS

02.06.01. LEGEA LUI 7

LEGEA LUI 7 evidenţiază energia timpului, în manifestare (în univers). Arată că totul se desfăşoară în anumite etape, secvenţe, cu o ordonare logică, universală.

LEGEA LUI 7 evidenţiază folosirea în orice acţiune, în orice proces, pentru iniţierea şi împlinirea lui, a două tipuri de energii, angrenate în momente bine stabilite pentru fiecare etapă.

Este vorba de energia începutului: impulsul iniţial, impregnat de datele de definire a acţiunii. Ea demarează acţiunea, permiţând, asigurând derularea ei corespunzător scopului până la un anumit moment în care această energie – impuls iniţial – se termină.

Dacă nu se mai intervine, în acest moment apare un impas, procesul, acţiunea putând fi preluată – în absenţa energiei având amprenta specifică a procesului – de orice alt tip de energie şi derulată într-o direcţie neprevăzută iniţial, sau chiar stopată în faza în care a dus-o energia de început.

Intrarea într-o asemenea situaţie poate conduce la efecte total opuse scopului iniţial.

De aceea, în orice acţiune, proces, la acest moment de hiatus, de neutralitate, care apare după derularea impulsului în cele trei faze (de creştere, de menţinere şi de descreştere), este necesar aportul unei energii structurate informaţional ca şi cea de la început, astfel ca procesul să fie preluat din mers, continuat şi finalizat în conformitate cu scopul iniţial.

Această a doua energie manifestă şi ea trei etape evolutive – de creştere, menţinere, resorbţie – care, adăugate la cele patru faze iniţiale ale procesului (cele trei faze ale energiei de început şi punctul de neutralitate), marchează în total 7 puncte ale desfăşurării procesului, conform diagramei:

Fig. F-2.1 Legea lui 7 (I)

Iar procesul însuşi manifestă şi el trei etape distincte – de creştere, derulare şi finalizare – faza de derulare desfăşurându-se peste punctul 4.

După punctul 7, acţiunea, procesul intră în faza de neutralitate, adică având sensul de acţiune încheiată.

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 37

Reluând figura, printr-o prezentare simultană a desfăşurării celor

două energii şi a procesului, manifestarea LEGII LUI 7 apare schematic astfel:

Fig. F-2.2 Legea lui 7 (II) Rezultă, din cele prezentate, universalitatea LEGII LUI 7.

02.06.02. CORELAREA LEGII LUI 7 CU LEGEA LUI 3 ŞI CU CELE 12 TEOREME ALE PRINCIPIULUI UNIC

LEGEA LUI 7 poate fi corelată cu LEGEA LUI 3, cu cele 12 Teoreme ale Principiului Unic (vezi cap. 02.08), din care rezultă că orice, în manifestare, are cele 3 faze – de creaţie, de menţinere, de resorbţie –după care reintră în starea de neutralitate din care a provenit.

Pentru detalii şi justificarea celor de mai sus revedeţi informaţiile despre LEGEA LUI 3, prezentate anterior, şi citiţi capitolul 3, referitor la binaritatea sistemelor digitale şi cele 12 Teoreme ale Principiului Unic.

Fiecare fază de derulare a procesului, a acţiunii – din cele trei – necesită susţinerea cu un anumit tip de energie: energie de început, energie de menţinere şi energie de resorbţie.

În expunerea de mai înainte am prezentat doar primele două tipuri de energii, pentru că resorbţia apare integrată în energia de menţinere, manifestându-se prin terminarea acestei energii, care implică sfârşitul acţiunii. Mai bine zis, această a treia energie constituie partea finală a energiei de menţinere, de derulare a acţiunii.

38 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

Deci totul poate fi dedus din LEGEA LUI 3, care, manifestată în timp,

generează cele trei faze ale oricărui aspect creat şi implică şi o a patra fază fundal, de neutralitate, de resorbţie în Unic:

- faza de creaţie, implicând polarizarea Unicului, dedublarea lui în aspectele duale +, – , sau yang şi yin;

- faza de menţinere dinamică a echilibrului polarităţilor, care nu manifestă în nici un moment o soluţie cu adevărat de echilibru, stabilitatea acţiunii, procesului, rezultând dintr-o mediere în timp (a proceselor dinamice de echilibrare);

- faza de resorbţie, în care apare momentul echilibrării perfecte a polarităţilor, ducând, într-un anumit interval de timp, la echilibrarea completă, la resorbţia de finalizare, în care polarităţile se topesc în Unicul care le-a generat (faza a patra – de neutralitate);

- faza de neutralitate. 02.06.03. FENOMENUL DE ERGODICITATE,

MANIFESTARE SPECIALĂ A FAZEI DE MENŢINERE A PROCESULUI

UNDE SOLITON

Faza de menţinere dinamică a proceselor, caracterizată, cum am

spus deja, printr-un echilibru mediu în timp al aspectelor polare, poate pune în evidenţă în unele cazuri, un tip aparte de procese, numite ergodice, la care media în timp este egală cu media în spaţiu a aspectelor complementare.

Aceste procese prezintă o rezonanţă stabilă, manifestată în timp şi în spaţiu, conferind în zona de derulare – valabil pentru un proces în expansiune, tip câmp, undă în propagare – o extraordinară stabilitate spatio-temporală, susţinută, aparent, fără nici un fel de energie, în realitate ele reprezentând un sistem deschis, întreţinut prin această dublă rezonanţă spaţio-temporală din surse macrocosmice.

Este cazul undelor soliton şi, în general, al oricărui proces cu o înaltă coerenţă, manifestată atât în timp, cât şi în spaţiu. 02.06.04. REVENIRE ASUPRA LEGII LUI 7

OCTAVA

În diagrama desfăşurării procesului în care sunt marcate 7 puncte, se face precizarea că punctul 4 reprezintă, în timp, un interval delimitat de sfârşitul resorbţiei energiei începutului (4′ în figura ce urmează) şi începutul creşterii energiei de menţinere (4″ în aceeaşi figura).

Intervalul [4′ - 4″] reprezintă durata stării neutre, a hiatusului, început în 4′ şi terminat, pentru proces, în 4″, prin începutul energiei de susţinere.

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 39

Durata acestui interval depinde de caracteristica inerţială a

procesului, a acţiunii iniţiate, inerţie care permite reluarea, în continuare, a procesului în 4″, depăşirea intervalului inerţial, a capacităţilor de memorare specifice acţiunii, procesului, ducând la devierea procesului, a acţiunii, repunerea pe linie a acestora producând perturbări funcţionale, oscilaţii, acţiuni, procese secundare, precum şi o mare risipă de energie din porţiunea de energie de menţinere.

Prin urmare, mai explicit, diagrama devine:

Fig. F-2.3 Legea lui 7 (III)

Dacă se ia în considerare şi intervalul neutru din care se iniţiază acţiunea, procesul, adică A′ - 1, şi în care se resoarbe procesul, acţiunea, adică 7 - A″, rezultă opt intervale, dintre care unul (cel de-al optulea) are durata nedefinită.

De aici rezultă şi denumirea de octavă. În gama muzicală, de exemplu, DO–terminal se unifică cu DO–iniţial

al octavei următoare, prin anularea practic a intervalului 7 - A″, la prima octavă şi A′ - 1, la octava următoare, octava superioară fiind alipită de cea anterioară. 02.06.05. LEGEA LUI 12, GENERALIZARE A LEGII LUI 7

Revenind, acum, mai explicit şi asupra celor trei energii animatoare ale procesului – de iniţiere, de susţinere şi de terminare a procesului – în analiza anterioară am inclus energia de resorbţie a procesului, a acţiunii, în energia de susţinere a lui, efectul de oprire a procesului, a acţiunii, realizându-se prin resorbţia energiei de menţinere.

Aici trebuie menţionat că nu în toate cazurile procesul se termină într-un asemenea mod. El poate intra, fiind în stare de neutralitate energetică motoare, într-o a doua stare de hiatus, în care pot apărea şi acţiona asupra lui alte energii care să-l facă să se deruleze necontrolat, în loc să se oprească.

Dacă procesul permite o asemenea comportare, atunci trebuie generată explicit şi energia de resorbţie, de stopare, caz în care diagrama are forma următoare:

40 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

Fig. F-2.4 Legea lui 12 (I) În acest caz, desfăşurarea procesului are 12 etape, dacă se

consideră şi starea fundal neutră din care se pleacă şi în care se ajunge. În acest caz general, LEGEA LUI 7 se transformă în LEGEA LUI 12 a

celor 12 intervale de evoluţie ale oricărui proces, octava transformându-se în cazul general, într-o gamă cu 12 intervale.

02.06.06. SITUAŢII DE APLICARE A LEGII LUI 7

În cazul proceselor, acţiunilor ciclice, repetitive, în care terminarea acţiunii implică reluarea ei imediat în continuare, LEGEA LUI 7 acoperă desfăşurarea procesului.

Acest aspect este valabil atât pentru reluare ciclică pe acelaşi nivel (în cerc), cât şi pentru reluarea ciclului pe nivel superior (în spirală), precum în cazul octavelor muzicale.

În cazul proceselor singulare, sau a unor procese reluate, fie în timp, fie în frecvenţă, la intervale nedefinite clar faţă de terminarea desfăşurării anterioare a procesului, este necesară luarea în considerare a formei cele mai generale a legii desfăşurării procesuale: LEGEA LUI 12. 02.06.07. HIATUSUL LA 3/7 DIN EVOLUŢIA

PROCESULUI, ÎN CAZUL LEGII LUI 7 În acest al doilea caz, dacă intervalul de hiatus, de neutralitate (fie în

timp, fie în frecvenţă) este riguros controlat, iar inerţia procesului nu implică o energie de stingere, se poate aplica forma redusă a LEGII LUI 12, adică LEGEA LUI 7.

În cazul proceselor ciclice, cu structură armonioasă, repetitivă, la care atât energia impulsului iniţial, cât şi energia de continuare până la finalizare prezintă intervale de creştere, de menţinere, de resorbţie, egale, procesul însăşi manifestând o reacţie de răspuns, o inerţie egală cu acest

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 41

interval, rezultă că aplicarea energiei de continuare la începutul

perioadei de hiatus (la sfârşitul fazei de resorbţie a energiei de început) conduce la o continuare lină, fără denivelări, a procesului, care, la sfârşitul energiei de continuare, se stinge cu o întârziere egală cu inerţia menţionată (deci cu un interval).

În total, sunt 7 intervale de desfăşurare a procesului cu o evoluţie neîntreruptă, neatenuată, în condiţiile aplicării energiei de continuare chiar în prelungirea celei de început. Figura următoare subliniază cele spuse mai sus.

Fig. F-2.5 Legea lui 7 (IV) Prin urmare, o asemenea comportare a desfăşurării unui proces

reprezintă un caz particular, atât al LEGII LUI 7, cât şi al LEGII LUI 12, care o generalizează şi la care derularea fazelor nu mai este, în general, liniară, cu etape echidistante. 02.06.08. STABILIREA HIATUSULUI ÎN CAZUL GENERAL

02.06.08.01. Cazul LEGII LUI 12

Cele 12 etape ale desfăşurării procesului, în cazul LEGII LUI 12, pot fi reprezentate ca în figura următoare:

Fig. F-2.6 Legea lui 12 (II)

42 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

În această reprezentare, sfârşitul celor două intervale marcate pe

figură punctează momentul de hiatus (H), din care începând, procesul, dacă nu este susţinut energetic, începe să scadă, iar intervalul mai mic marcat (IN1) reprezintă durata inerţiei procesului. Dacă energia de continuare a procesului se aplică mai devreme sau în momentul H, atunci continuarea nu are perturbări, scăderi. Pentru durate ale inerţiei depăşind intervalul 3 (vezi figura F-2.7), IN1≥ 3, procesul poate fi continuat prin aplicarea în H a energiei de menţinere, adică reducând intervalul 4 la unul mai mic sau egal cu (IN1–3). De asemenea, terminarea deterministă, conform previziunii pentru proces, se face prin aplicarea energiei de resorbţie într-un al doilea moment de hiatus, care să nu depăşească H2=(1+2+3+4+5+6+IN2), unde IN2 reprezintă durata inerţiei procesului, sub acţiunea energiei de menţinere.

Reprezentarea de mai jos redă paralela cauza-efect, într-o desfăşurare neperturbată a unui proces căruia i se aplica LEGEA LUI 12, deci în cazul cel mai general:

Fig. F-2.7 Legea lui 12 (III)

unde: H1=(1+2+IN1); 4=IN1-3 H2=(1+2+3+4+5+6+IN2); 8=IN2-7 T=(1+2+3+4+5+6+7+8+9+10+11) şi:

- durata T3 a impulsului de stingere trebuie să depăşească intervalul de stingere al procesului (al efectului): T3≥S.

- după terminarea impusului de stingere, procesul poate fi reluat, deci după intervalul T (perioada, în caz de reluare repetitivă).

Nota N-2.1: Se presupune că 3≤ IN1, 7≤ IN2. Dacă aceste condiţii nu se respectă, este necesară aplicarea impusului de menţinere, respectiv, de stingere, chiar înainte de terminarea impulsului precedent, caz în care Legea lui 12 se păstrează, dar intervalele 4 si, respectiv, 8 devin punctuale, marcând momentele de hiatus.

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 43

Nota evidenţiază că: H1 = t2 + IN1, H2 = t6 + IN2 , unde prin t2 şi t6 se noteaza intervalul de timp de la origine (începutul intervalului 1) până la sfârşitul intervalului 2, respectiv 6.

Dacă intervalele 4 şi 8 depăşesc duratele (IN1-3) şi , respectiv (IN2-7), procesul începe să scadă în A şi să aibă o evoluţie necontrolată în B, punctele A şi B reprezentând în figură locurile unde efectul este marcat punctat, în scădere.

De exemplu, dacă 4>(IN1-3), atunci în punctul încercuit (A) din figura

F-2.8 poate să apară o scădere a efectului.

FIG. F-2.8 Legea lui 12 (IV) Această scădere incipientă poate fi folosită pentru detectarea

apariţiei hiatusului, pentru aplicarea energiei de continuare neperturbată a procesului.

La fel se poate proceda în zona punctului B, prin detectarea evoluţiei, diferită de cea aşteptată, a procesului.

Un exemplu de stingere controlată a unui proces, prin injectarea unei energii de resorbţie, îl reprezintă oprirea unui calculator la căderea reţelei, unde circuitele locale de detecţie a căderii reţelei iniţiază – folosind energie dintr-o baterie sau energia cumulată intr-un condensator – secvenţele de oprire controlată, care permit salvarea stării calculatorului şi a informaţiei în curs de prelucrare.

02.06.08.02. Cazul LEGII LUI 8

LEGEA LUI 8, caz particular al LEGII LUI 12, se aplică proceselor care se termină controlat, determinist, odată cu încetarea energiei de menţinere. În acest caz, se ia în considerare doar un moment de hiatus H=H1, procesul desfăşurându-se astfel:

Fig. F-2.9 Legea lui 8

44 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

unde: H=(1+2+IN1); 4=IN1-3, iar T=(1+2+3+4+5+6+7+IN2)

Scăderea incipientă a efectului în zona A, poate constitui reper pentru determinarea, evaluarea momentului de hiatus. 02.06.07.03. Cazul general al LEGII LUI 7

A LUI 7 reprezintă de fapt LEGEA LUI 8, aplicată unor procese în care energia de continuare a procesului, se aplică imediat după momentul 3, intervalul 4 devenind zero, cu condiţia ca IN1≥3.

Într-un asemenea caz, apar 7 intervale, ca în figura de mai jos (al 7-lea fiind cel care reuneşte capetele):

Fig. F-2.10 Legea lui 7 (V)

02.06.08.04. Cazul special al LEGII LUI 7

Acest caz reprezintă aplicarea LEGII LUI 7 unor procese la care fazele 1,2,3,4,5,6 din figura F-2.7, precum şi intervalul de continuare inerţială a procesului, după terminarea energiei de menţinere, adică (IN2-6), au durate egale, caz în care momentul de hiatus H se află la 3/7 din perioada T.

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 45

02.06.08.05. Concluzii privind determinarea momentului de

hiatus

Din diagramele prezentate anterior, rezultă că, în cazul proceselor, fie ele chiar repetitive, ciclice, care nu au o distribuţie uniformă şi cu etape egale ale energiilor cauză, atât în structura lor (energii de început, de menţinere, de resorbţie a impulsului iniţial, de exemplu), cât şi ele însele, una în raport cu cealaltă (este vorba de cauze: energia de început a procesului, energia de menţinere şi cea de resorbţie), singura modalitate – dacă nu există anumite corelaţii specifice procesului, care să conducă la prezicerea hiatusului – constă în detectarea incipientă a scăderii efectului, sau a devierii lui de la evoluţia aşteptată, moment în care se aplică energia de menţinere (în cazul aplicării LEGII LUI 8 sau a LEGII LUI 7) sau de menţinere şi de resorbţie ( în cazul aplicării LEGII LUI 12).

În procese similare, sau în reluarea unui aceluiaşi proces, se pot anticipa deja aceste momente, astfel ca să nu apară manifestări necontrolate, perturbate, ale desfăşurării procesului – efect.

Cu alte cuvinte, detectarea momentului de hiatus se poate face prin învăţare – autoinstruire, în cazul unor procese cu coordonare inteligentă.

În cazul particular, special de aplicare a LEGII LUI 7, hiatusul apare – aşa cum am prezentat deja înainte – la 3/7 din perioada de desfăşurare a procesului. Important, în oricare dintre situaţii, deci şi în cazul general, este să se ştie de aceste momente de hiatus, pentru că, în funcţie de situaţia concretă, se stabilesc metode de detectare a momentului de hiatus, şi prin urmare de aplicare a energiilor de continuare neîntreruptă şi de oprire controlată, neperturbată a procesului.

46 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

02.07. MEMORIE, INERŢIE, HISTEREZIS 02.07.01. MEMORIE PERMANENTĂ, MEMORIE TEMPORARĂ,

MEMORIE UNIVERSALĂ MEMORIA este o caracteristică intrinsecă a creaţiei. Stă la baza

evoluţiei. Face legătura de la o etapă la alta. Fără memorie nu s-ar produce acumulări şi fără ele nici salturi

calitative. Tot ce este manifestat are memorie. Memoria se manifestă atât în timp, în manifestare, dar şi în

transcendenţă, unde, în permanentul continuu, toate acumulările sunt prezente, accesibile, unde totul există în eternitate: doar, eternitatea implică memorie continuă, infinită.

În tehnică, fenomenele sunt clasificate ca având sau nu memorie.

Aceasta este doar o aproximare, pentru că nu există nimic fără să manifeste memorie.

Aici distingem, în lumea fenomenală, conceptele de memorie permanentă şi memorie temporară, exprimând durata menţinerii unei anumite stări, informaţii.

Când această durată, în condiţiile date, poate fi extinsă nedefinit,

fenomenul, aspectul, obiectul manifestă MEMORIE PERMANENTĂ. Când această durată este limitată, finită, avem de-a face cu

MEMORIE TEMPORARĂ. Totul manifestă cel puţin memorie temporară. Atunci când se descriu procese, fenomene, acţiuni, denumite “fără

memorie”, de fapt este vorba de o memorie temporară ale cărei limite de durată sunt sub limita duratelor de percepere, de evaluare a procesului, fenomenului, acţiunii. Deci este o aproximare.

În fapt, chiar şi fenomenele tranzitorii, de durată limitată, sunt memorate, reţinute în substratul memoriei universale (numită „memorie akashică” în textele orientale), unde tot ce s-a manifestat şi se manifestă este înregistrat, codificat şi stocat în întreaga lui dimensiune, cu toate caracteristicile. Acolo se poate regăsi orice eveniment din manifestare, atât din lumea fizică, cât şi din lumile subtile, memorat atât ca parametri spaţio-temporali, dar şi cu caracteristicile manifestate de cele 5 calităţi: culoare, sunet, miros, manifestare tactilă, gust.

Manifestarea creaţiei se face discontinuu (vezi capitolul despre cele 12 Teoreme ale Principiului Unic şi binaritatea sistemelor digitale), în cuante spaţio-temporale, iar memoria este cheia de legătură, puntea, astfel ca totul să fie conexat, coerent, cu semnificaţie, evoluţia fiind bazată pe acţiunile prezente – pe liberul arbitru – dar în funcţie de istorie, de informaţia memorată a evoluţiei până în acel moment.

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 47

Este, altfel spus, exprimarea destinului (a „karma”-ei, aşa cum apare în textele orientale), a acţiunii şi reacţiunii, a cauzei şi a efectului, a faptului că totul se plăteşte, totul se reflectă ca într-o oglindă, nu există o acţiune fără răspuns, fără consecinţă, cu excepţia celor integrate în armonia universală, divină, ale căror fructe sunt consacrate Divinului.

02.07.02. INERŢIA INERŢIE ŞI REZONANŢĂ

Revenind la domeniul tehnic, INERŢIA este o caracteristică inerentă

a oricărui sistem, ea reprezintă exprimarea memoriei temporare a sistemului. Dacă sunt sisteme care nu manifestă memorie permanentă, în

schimb, memorie temporară au toate, chiar dacă nu apare explicit în evaluarea sistemului, aşa cum am arătat mai înainte.

Inerţia este cea care asigură continuitatea proceselor, trecerea de la

o etapă la alta. Inexistenţa ei ar conduce la fragmentare, chiar şi la nivelul

observabilităţii obişnuite, a oricărei acţiuni, fenomen, proces. Inerţia este o caracteristică de esenţă, asigurând continuarea unui

proces declanşat şi dincolo de încetarea impulsului iniţial, a cauzei, fapt care marchează că orice acţiune iniţiată implică declanşarea unor procese de rezonanţă, care permit procesului, acţiunii iniţiate să capteze energie, cel puţin pentru o perioadă, pentru continuare.

Durata proceselor inerţiale depinde de caracteristicile de rezonanţă ale sistemului, inerţia fiind ceva intrinsec sistemului, dar manifestându-se ca durată şi în funcţie de stimul, de cauză.

02.07.03. HISTEREZISUL

Histerezisul este o manifestare a memoriei sistemului, a

caracteristicilor lui inerţiale, dar şi a memoriei lui permanente, pentru că histerezisul nu e o caracteristică ce se manifestă numai în timp, ci şi în spaţiu.

De exemplu, acţiunea reversibilă a unui stimul de intrare la un proces produce o acţiune dus-întors a ieşirii, dar pe rute diferite la dus şi la întors, uneori cu întârzieri diferite.

Se manifestă deci histerezisul, atât în timp, cât şi în spaţiu. De asemenea, analizând funcţionarea unei memorii permanente (un

latch, de exemplu – care este o buclă elementară de memorie digitală) în spaţiul stărilor intrare-ieşire, se constată o nereversibilitate a ieşirii, ca răspuns la o evoluţie reversibilă a intrării (acest aspect se regăseşte în lucrarea referitoare la circuitele secvenţiale).

Deci apare histerezis şi în funcţionarea unei memorii permanente. 02.07.04. MEMORIA PERMANENTĂ ŞI BUCLELE DE REACŢIE

Memoria permanentă implică o reciclare a informaţiei receptate, în

vederea perpetuării ei, deci implică, cel puţin conceptual, circulaţia inversă a informaţiei, bucle de reacţie, pentru că, de altfel, memoria permanentă manifestă şi un obiect spart, care-şi memorează spărtura până când este reparată sau este distrus.

48 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

02.08. FUNDAMENTUL BINAR, POLAR AL SISTEMELOR DIGITALE 02.08.01. PRINCIPIUL BINARITATII, CA POLARITATE MANIFESTATĂ ÎN SISTEMELE DIGITALE BINARE SAU MULTIVALENTE

Binaritatea, sistemelor digitale, manifestată ca polaritate, este o consecinţă logică a dualităţii manifestării, exprimată prin Legea lui 3 şi de către cele 12 Teoreme ale Principiului Unic, (care vor fi expuse în continuare). Ea reprezintă o reflectare a acestei legităţi, într-un domeniu bine formalizat, unde această dualitate, polaritate fundamentală se regăseşte foarte clar.

Plusul si minusul, unu si zero, minimul si maximul sunt aspecte duale polare, existenţa lor împreună generând energia sistemului, forţa lui de prelucrare şi transformare a informaţiei, iar operaţia de complementare, de exemplu, marchează trecerea unui aspect dual în complementul său.

Astfel, Legea lui 3 se regăseşte ca fundament al reprezentării sistemelor digitale multivalente, a căror modelare comportamentală poate fi realizată pe baza unei algebre înzestrată de un set de doi operatori duali, manifestând polaritatea: maxim şi minim şi un operator care evidenţiază echilibrul: echivalenţa. O analiză mai atentă a celor 12 Teoreme, în corelare cu Legea fundamentală a rezonanţei, poate conduce la explicarea tuturor legităţilor universului. 02.08.02. CELE 12 TEOREME ALE PRINCIPIULUI UNIC

Aceste teoreme revelate de înţeleptul egiptean Hermes Tris Megistos în “Tabla de smarald”, reprezentând fundamentul manifestării duale a creaţiei în întregul univers, sunt enunţate în continuare: T1: Aspectul solar şi aspectul lunar sunt cei doi poli ai lumii

fenomenale produsă de infinitul UNU sau UNICUL polarizabil. T2: Aspectul solar şi aspectul lunar sunt amândouă produse în mod continuu de infinitul centrifug. T3: Aspectul solar este centripet.

Aspectul lunar este centrifug. Aspectul solar şi aspectul lunar produc împreună

energie şi orice fenomen.

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 49

T4: Soarele atrage Luna, Luna atrage Soarele, plus atrage minus, minus atrage plus, ... T5: Forţa de atracţie depinde de mărimea polarităţilor aspectului solar şi a aspectului lunar. T6: Aspectul lunar respinge aspectul lunar.

Aspectul solar respinge aspectul solar. Forta de respingere depinde de mărimea polarităţilor

aspectului solar şi a aspectului lunar. T7: Toate fenomenele şi manifestările sunt efemere.

Proporţiile lor de aspect lunar / solar variază în mod continuu. T8: Nimic nu este în totalitate aspect lunar şi nimic nu este în totalitate

aspect solar. Fiecare fenomen, element sau fiinţă implică polaritate.

T9: Nu există nimic neutru în afara Supremului Absolut. Există întotdeauna aspect lunar sau aspect solar în exces. T10: Marele aspect lunar atrage micul aspect lunar.

Marele aspect solar atrage micul aspect solar T11: În cazul manifestărilor extreme, aspectul lunar produce aspectul solar şi invers. T12: Toate corpurile fizice sau structurile sunt aspecte solare la centru şi aspecte lunare la periferie sau margine. 02.08.03. LEGATURA DINTRE:

- FUNDAMENTUL DUAL AL SISTEMELOR DIGITALE,

- CELE 12 TEOREME ALE PRINIPIULUI UNIC, - LEGEA LUI 3

Din corelarea teoremelor T6 si T10 rezultă existenţa salturilor calitative, când o anumită acumulare cantitativă s-a produs, pentru că T6 indică scăderea forţei de respingere între două sisteme de aceeaşi polaritate, în timp ce T10 arată că, la un anumit prag al aceste diferenţe, nu numai că nu se mai manifestă o forţă de respingere, dar apare atracţia.

Tot de aici rezultă şi faptul că manifestarea este discretă, pentru că T6 nu se aplică pană la un raport infinit al mărimii polarităţilor, caz în care forţa de respingere ar fi zero, ci de la un anumit prag apare inversarea forţei şi se manifestă atracţia.

50 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

Mai mult, din T11 apare şi un element calitativ nou, şi anume că, într-

o acumulare mare de aceeaşi polaritate apar germenii polarităţii opuse.

Tot din aceste teoreme (T7 si T8), rezultă că nimic manifestat nu este static, nu este permanent, nu există echilibru perfect.

Totodată, din T9, rezultă şi calea directă de a atinge Supremul, prin echilibrarea polară, fapt rezultat şi din Legea lui 3.

Din T4 si T5 rezultă manifestarea forţei de atracţie între aspectele, fenomenele, fiinţele complementare, care nu este altceva decât tendinţa sădită primordial în tot ce este creat, spre atingerea echilibrului, al stării de neutralitate, a Unicului, reprezentând deci motorul evoluţiei spre Sursa Creaţiei, spre Creator.

Menţinerea stabilităţii creaţiei, în dinamismul ei, este realizabilă prin intermediul manifestării teoremelor T2, T3, şi T12, din care rezultă ca tendinţele centripete ale aspectelor solare se echilibrează cu tendinţele centrifuge ale aspectelor lunare şi acest lucru, corelat cu manifestarea forţelor de atracţie şi respingere (T4,T5, T6), conduce la coerenţa şi stabilitatea dinamică a Totului manifestat.

Totodată, cele două teoreme explica şi geneza si resorbţia Universului, prin separarea, polarizarea Unicului – faza de creaţie – şi apoi neutralizarea aspectelor polare – faza de resorbţie – între cele două momente existând intervalul de menţinere a manifestării, a creaţiei.

Tot de aici rezultă că pe lângă creaţie, menţinere, resorbţie există şi starea a patra, cea de neutralitate, starea de Unic, starea existentă ca fundal permanent, nu numai înaintea creaţiei, sau după resorbţia ei.

Aşa că este normal şi necesar ca acest aspect fundamental de dualitate a creaţiei să fie reflectat în modelele unor aspecte parţiale, particulare ale manifestării, cum sunt sistemele digitale.

Dar nu numai atât: sistemele digitale sunt şi o reflectare a aspectului discret al manifestării, evidenţiat foarte clar, aşa cum s-a arătat mai înainte, din cele 12 Teoreme ale Principiului Unic. Tocmai de aici rezultă şi una dintre explicaţiile aşa-zisului paradox al lui Zeno, referitor la întrecerea lui Achile cu broasca ţestoasă, din care rezultă că, dacă Achile îi dă un avans din start broaştei ţestoase, aparent n-o mai poate ajunge, decât dacă spaţiul şi timpul au o cuantă inferioară, finită, diferită de zero, adică nu sunt continui, ci discrete.

Din expunerea de mai sus, bazată pe cele 12 Teoreme, intuim şi suportul logic universal al setului de operatori ai unei algebre folosită în analiza şi sinteza sistemelor digitale: minim, maxim, echivalenţă (vezi capitolele următoare).

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 51

02.09. CONCEPTUL FUNDAMENTAL DE

ORDINE ŞI CAUZALITATE

Conceptul de ordine, descrie la modul esenţial dispunerea tuturor elementelor sau a părţilor unui sistem ori ale unui ansamblu într-o anumită structură de relaţii care îi potenţează la maximum capacităţile funcţionale.

Relaţiile de ordonare ale unui sistem sunt dependente de mecanismul de funcţionare a interacţiunilor cauzale, logice şi a tuturor raporturilor de determinare, inclusiv raporturile aparent non–cauzale care sunt generate de fenomenele de sincronicitate, care îi guvernează geneza, structura şi dinamica.

Din acelaşi punct de vedere putem identifica două tipuri fundamentale de ordonare, expresii oarecum polare ale principiului organizator al macrocosmosului : 1. Ordonarea cauzală, care exprimă relaţia cauză-efect obişnuită, ce se desfăşoară relativ “liniar” în timp, dinspre trecut spre viitor şi care este studiată în cadrul ştiinţei aşa zis “clasice”. Acest tip de ordonare a evenimentelor sau a elementelor ori a părţilor unui sistem desemnează stabilitatea calitativă şi funcţionalitatea optimă a sistemului la nivelul existenţei individuale obişnuite. 2. Ordonarea acauzală sau sincronistică. Aceasta exprimă legăturile subtile şi complexe care se stabilesc în sincronicitate între toate elementele sau părţile sau evenimentele care aparţin unui anumit sistem şi care prezintă o legătură multidimensională şi instantanee, ce se desprinde de regulă din liniaritatea aparentă a dinamicii temporale: trecut – viitor, legătură care este dată de semnificaţia lor comună.

Asemenea ordonare acauzală derivă din faptul că întregul macrocosmos este în realitate, aşa cum o confirmă şi ştiinţa actuală, nu un ansamblu sau un agregat eterogen de corpuri materiale, mai mult sau mai puţin separate, ci este de fapt o gigantică reţea sau, altfel spus, o textură ori un fel de întreţesere de interacţiuni instantanee ce unesc într-o manieră holografică toate aspectele şi toate părţile universului cu întregul, care este macrocosmosul.

Mai precis, această gigantică reţea este compusă în realitate din “noduri”, de fapt nişte focare vibratorii, care unesc diferite evenimente, toate fiinţele, toate obiectele, gândurile, etc. Şi aceste focare creează "legături" sau noduri ale reţelei care unesc instantaneu părţile între ele şi fiecare parte este unită cu întregul.

De exemplu, atunci când noi “activăm” un asemenea “nod", de fapt un focar energetic, care poate fi chiar un eveniment, sau o idee forţă, etc., datorită faptului că îl încărcăm conştient sau nu cu energia noastră subtilă psihomentală, el va dinamiza şi alte asemenea noduri pe baza unor conexiuni instantanee, care vor prezenta o semnificaţie comună a tuturor acestor evenimente focar, marcând de fapt manifestarea fenomenului de rezonanţă pentru acel aspect selectat.

Aşadar, noţiunea de ordine sincronistică specifică fenomenelor de sincronicitate, ne permite o apropiere foarte profundă de principiul esenţial al ordinii şi ordonării Creaţiei.

52 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

Sincronicitatea, sau altfel spus, coordonarea semnificativă a evenimentelor oferă o descriere mult mai nuanţată a proceselor, în special a celor din lumea vie, decât cauzalitatea de tip mecanicist.

Modelul mecanicist oferă o viziune asupra lumii în care Universul este privit aproape exclusiv ca fiind o structură care funcţionează pe baza legilor cauzalităţii. Conform acestei viziuni mecaniciste, dacă am cunoaşte cu precizie condiţiile iniţiale ale unui obiect material: viteza iniţială, poziţia pe care o are în spaţiu, precum şi natura forţelor care acţionează asupra lui, atunci putem prevedea cu exactitate traiectoria pe care el o va avea în decursul timpului.

Această perspectivă a fost extinsă de ştiinţa clasică nelimitat, pentru a descrie sisteme din ce în ce mai mari şi mai complexe. Este întocmai ca şi cum, dacă fizicianul care împărtăşeşte o asemenea viziune ar cunoaşte poziţiile, masele şi vitezele tuturor corpurilor create de Dumnezeu, el ar putea atunci să prevadă foarte precis toate evenimentele ulterioare care ar avea loc în întregul Univers.

Această viziune săracă şi restrictiv deterministă asupra Universului exclude însă adevărata autonomie, liberul arbitru, creativitatea inovatoare, sincronicitatea şi intervenţia neîngrădită a Creatorului.

Dimpotrivă, omul de ştiinţă de astăzi nu se mai consideră un observator implacabil situat oarecum în afara Universului şi controlând neutru evenimentele cosmice. Întreaga teorie cuantică susţine, în această direcţie, că orice proces de observare, orice tentativă de a determina condiţiile iniţiale de ordine sau organizare a unui anumit sistem au un efect indubitabil asupra tot restului Universului. Fizicianul şi fenomenul pe care el îl studiază nu mai pot fi separate, deoarece ei atunci fac parte dintr-un tot care este indivizibil.

Teoria cuantică mai arată că nu se poate prevedea cu exactitate un eveniment singular individual, iar această nedeterminare nu ţine de necunoaşterea condiţiilor iniţiale ale sistemului în cauză, ci pur şi simplu de faptul că la nivelul conştiinţei umane obişnuite există aprioric un nedeterminism fundamental care este enunţat matematic de principiul lui Heisenberg. Cât timp nu se depăşeşte acest nivel de conştiinţă – nivelul egoului, de fapt –, nu putem cunoaşte cu exactitate, simultan, viteza unei particule şi poziţia sau traiectoria ei în spaţiu, ci ori una, ori alta.

Şi totuşi datorită acţiunii integratoare a forţei de ordine universală, acest nedeterminism atomic sau elementar dispare în faţa a ceea ce se numeşte Legea numerelor mari.

Această lege a numerelor mari, precizează că în orice ansamblu sau sistem foarte mare, care este alcătuit din evenimente probabilistice, lucrurile vor decurge în medie către o zonă în care deviaţiile şi evenimentele individuale pot fi ignorate. De exemplu, la număr foarte mare de aruncări ale unei monezi - deşi fiecare aruncare a monezii are o latură nedeterministă şi, pe scară redusă putem avea serii de căderi succesive cu faţa sau cu stema - pe termen lung, legea numerelor mari face ca efectele fluctuaţiilor individuale să fie mascate, să fie ocultate de către o medie generală.

Acest veritabil miracol al trecerii de la o “dezordine” aparentă, care este apreciată ca atare de conştiinţa limitată (a egoului), la o stare de ordine şi de armonie, reprezintă o dovadă de netăgăduit că nimic din Univers nu este întâmplător, că există o ordine în toate şi în tot, iar legea numerelor mari exprimă acest adevăr universal.

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 53

02.10. CONCEPTUL DE STRUCTURĂ

ŞI ORGANIZARE

Termenul structură provine din latinescul “struere” – a clădi, a construi, a creşte, a evolua.

În accepţia sa modernă, termenul “structură” desemnează modalitatea de edificare şi de organizare a unui sistem, precum şi modelul său, arhetipul respectivului sistem, care îi conţine “schema” de funcţionare şi principiile ce se află la baza coeziunii şi ordinii sale interioare.

Structura reprezintă, de asemenea, ansamblul regulilor de variabilitate sau de transformare prin care mai multe sisteme sunt percepute ca variante particulare ale manifestării respectivei legi. Se spune, că în acest caz, că toate sistemele considerate au o structură comună.

Din punct de vedere al organizării unui sistem, structura desemnează totalitatea relaţiilor ce se constituie între elementele componente ale sistemului, raporturi care sunt independente de natura acestora.

Ansamblul raporturilor care constituie structura unui sistem asigură şi autoreglarea acestuia, menţinerea, cu ajutorul unor anumite circuite de reglare interioare sistemului, a stabilităţii structurale şi funcţionale a acestuia, indiferent de acţiunea factorilor perturbatori externi.

La rândul lor, circuitele de reglare sunt date de acele conexiuni inverse, feedback-uri, ce rămân relativ stabile faţă de fluctuaţiile ambianţei în care se găseşte sistemul.

Conceptul fundamental de structură permite atât cunoaşterea părţilor componente ale unui sistem, cât şi funcţionarea întregului, pe baza cunoaşterii relaţiilor stabilite între elementele sistemului.

La modul esenţial, conceptul de structură apare din acţiunea conjugată a ideilor de ordine sau ordonare şi măsură, în contexte din ce în ce mai largi şi mai complexe. Din această cauză, întotdeauna o structură sau o structurare trebuie să fie descrisă şi înţeleasă pe baza ordinii şi a măsurii. De exemplu, dacă luăm în considerare construcţia sau structurarea unei case, cărămizile vor fi aranjate, în acest caz, într-o anumită ordine, conform unei anumite măsuri sau limite pentru a realiza peretele. La rândul lor pereţii sunt ordonaţi şi măsuraţi pentru a structura camerele. La fel şi camerele, pentru a structura casa, apoi casele, pentru a structura străzile, care vor structura, la rândul lor, oraşul, etc.

Principiul structurării şi organizării, care implică conlucrarea armonioasă a tuturor elementelor unei structuri sau organizări în mod coerent şi armonios, este universal. De exemplu, fiinţele vii se află într-o continuă mişcare de creştere şi evoluţie a structurii lor, care este organizată într-un grad din ce în ce mai înalt.

Într-un mod cu totul asemănător, materia este descrisă de fizica actuală ca fiind alcătuită din particule aflate în mişcare, atomii, de exemplu, care, se organizează pentru a constitui structuri lichide, solide, sau gazoase, care în mod similar, vor constitui structuri şi modele de organizare din ce în ce mai mari, planete, stele, galaxii, roiuri de galaxii, etc.

54 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

Un aspect deosebit de important al oricărei structuri îl reprezintă

natura sa esenţialmente dinamică. Orice structură, model de organizare, poate să evolueze, să crească

sau să se diversifice prin acţiunea legilor de ordonare şi a măsurii lor caracteristice.

Astfel, o nouă ordonare sau ordine şi o nouă măsură aplicată elementelor unei structuri existente poate crea noi tipuri de structuri. În această direcţie, un exemplu foarte simplu îl oferă muzica, unde aceleaşi elemente, notele muzicale, considerate în anumite ordonări şi în anumite game, ritmuri, timpi, fac posibilă crearea de noi structuri muzicale.

Structura şi organizarea lumii obişnuite, caracterizată de fenomene aşa zis liniare, predictibile şi marcate într-un mod aparent fix şi rigid de conexiunea cauză – efect, porneşte de la ordonarea elementelor sale componente. Asemenea structuri pot fi denumite”construcţii”, deoarece ele sunt “confecţionate” conform unui model care le este exterior şi care provine de la un agent, de asemenea exterior. Semnificaţia unor astfel de structuri se găseşte deci în afara lor şi el se impune o dată cu asamblarea părţilor sale componente.

Dimpotrivă, sistemele aşa zise “neliniare”, de exemplu, cele care sunt caracterizate preponderent de fenomene de sincronicitate, îşi menţin starea de organizare superioară, graţie unui permanent proces de transformări. De exemplu, în mod aparent paradoxal, o fântână arteziană, plasată în centrul unui oraş, îşi păstrează mereu forma, şi ea nu este niciodată aceeaşi. Ea “renaşte” în permanenţă prin intermediul scurgerii necontenite de apă.

Orice sistem dinamic, neliniar şi disipativ este, de asemenea, o expresie a unui sistem total din care face parte şi nu are nevoie de un act constructiv exterior pentru a se menţine în viaţă. Ele, asemenea sisteme neliniare sincronistice, sunt aşadar forme autonome despre care putem spune ca îşi conţin în ele însele propria semnificaţie, sau mai precis, că ele conţin semnificaţia întregului din care fac parte.

Structurile dinamice ale macrocosmosului şi ale universului viu îşi datorează existenţa unei totalităţi mai vaste, care sfârşeşte în cele din urmă prin a fi macrocosmosul întreg. Ele apar dintr-o realitate fundal, există un anumit interval de timp, după care se “sting”, de fapt se resorb în realitatea substrat originară.

Pe de altă parte, întocmai ca structurile disipative şi neliniare, conştiinţa noastră actuală conţine într-o formă implicită şi tainică, natura sa esenţială. Prin intermediul fenomenelor de sincronicitate, conştiinţa noastră individuală permite manifestarea unei ordini de la un nivel mai profund, care este situată dincolo de diferenţa aparentă dintre spirit şi materie.

Conceptul de structură este echivalent adesea în gândirea filozofica modernă cu acela de configuraţie, care provine din latinescul “ configuratio” care semnifică forma sau structura. Configuraţia unui sistem sau a unui fenomen desemnează deci atât forma exterioară, cât şi structura şi organizarea interioara a sistemului considerat. În orice sistem, configuraţia acestuia reprezintă mai mult decât suma elementelor sale componente, ea fiind identică, în realitate, cu structura acelui sistem. De exemplu, configuraţia complexă a percepţiilor noastre senzoriale face ca recunoaşterea şi identificarea lor să fie o caracteristică a receptorilor sistemelor biologice superioare.

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 55

Putem defini astfel o configuraţie relaţională, ce desemnează

aspectele calitative ale proprietăţilor unui anumit sistem, presupus a fi izolat sau situat într-un mediu care nu îi poate modifica, decât în mod neglijabil, comportamentul, precum şi o configuraţie totală ce desemnează aspectele calitative ale proprietăţilor unui sistem dat, aflat într-un mediu care îi poate modifica într-un mod apreciabil şi semnificativ comportamentul. Mai mult decât atât, fiziologia şi morfologia unui sistem nefiind decât aspecte parţiale ale structurii totale a sistemului, atât între ele, cât şi între ele şi ansamblul sistemului, există legături profunde care alcătuiesc o structură subtilă a acelui sistem.

56 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

02.11. CONCEPTUL DE SISTEM 02.11.01. SISTEMUL ŞI PROPRIETATEA DE

INTEGRALITATE

Conceptul de sistem desemnează o mulţime de elemente, împreună cu mulţimea relaţiilor sau a interacţiunilor reale ori virtuale dintre aceste elemente, relaţii relativ invariante faţă de anumite reguli ale transformărilor ce alcătuiesc structura respectivei mulţimi sau grupări.

Un sistem este, prin urmare, un ansamblu complex care nu poate fi redus la totalitatea elementelor sale componente şi nici nu poate fi definit numai prin acestea.

Sistemul, ca ansamblu, poate avea proprietăţi specifice, pe care elementele sale să nu le aibă.

Aceasta face ca nici elementele componente ale sistemului să nu fie reductibile sau să poată rezulta din proprietăţile generale ale sistemului.

Aproape orice sistem este alcătuit din subsisteme, care reprezintă, fiecare în parte, alte sisteme, care sunt subordonate primului.

Nefiind reductibile la elementele care le compun, sistemele posedă proprietatea de integralitate – calitatea de a avea însuşiri specifice care sunt conferite de interdependenţa şi de interacţiunea elementelor lor componente., sau, cu alte cuvinte, de structura lor.

Exemple de sisteme integrale, în natură, sunt: sistemul solar, moleculele, atomul, organismul viu, etc.; în societate:familia, diferitele grupări sociale, etc.; în cunoaştere: sistemul axiomelor geometriei euclidiene, sistemele filozofice, etc.

Într-un sistem integral, datorită legăturii creatoare şi dinamice dintre întreg şi parte, ansamblul sistemului este condiţionat de către elementele componente, iar acestea din urmă sunt supuse unei acţiuni integratoare din partea sistemului. 02.11.02. SISTEME REALE, SISTEME VIRTUALE,

SISTEME ÎNCHISE, SISTEME DESCHISE, SISTEME DISIPATIVE.

În funcţie de natura lor, sistemele pot fi reale: fizice, chimice,

biologice, psihice, sociale, etc., sau virtuale, cum ar fi sistemele de interacţiune potenţiale, sistemele matematice, etc. În funcţie de raportul lor cu mediul ambiant, sistemele, pot fi închise sau deschise.

Sistemele închise, însă, reprezintă în realitate o simplificare, fiind mai corect să vorbim despre sisteme a căror interacţiune cu mediul, poate fi neglijată în contextul experienţei.

În cadrul sistemelor deschise intră şi sistemele disipative, stabile sau instabile, statice sau dinamice, liniare sau neliniare, etc.

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 57

02.11.03. SISTEME CU AUTOREGLARE,

SISTEME INSTRUIBILE ŞI PERFECTIBILE

Un rol foarte important pentru înţelegerea naturii umane şi chiar a evoluţiei sale spirituale îl au sistemele cu autoreglare, la care reglarea sistemului se face de către sistemul însuşi, fără intervenţia exterioară, în funcţie de factorii de mediu şi de tendinţele sale interne, pe baza anumitor procese cu circuit închis, de regulă de tip feedback.

În cadrul acestei clase de sisteme, care include şi sistemele disipative, referitor la studiul vieţii şi chiar la cel al transformărilor spirituale, evolutive, se disting sistemele instruibile şi perfectibile, evidenţiate deja în ştiinţa actuală, în care procesele se bazează pe prelucrarea informaţiei obţinută prin experienţa lor proprie. 02.11.04. INFORMAŢIA ÎN SISTEM

RELAŢIA INFORMAŢIE – ENTROPIE

De remarcat aici, că informaţia - parte a triadei fundamentale a manifestării, a lumii obiective, respectiv materie, energie, informaţie, prezentată anterior – este un factor esenţial în viaţă şi în evoluţia sistemelor autoreglabile, aici fiind inclus şi sistemul care este reprezentat de fiinţa umană individuală.

Se evidenţiază faptul că informaţia este pusă în legătură cu conceptul de ordine sau organizare, prin conexarea acestuia cu noţiunile lui adiacente, respectiv structură, sistem, funcţie, organ, cât şi cu acela de expresie sau, altfel spus, de câmp informaţional modulator al structurii de ordonare.

Interacţiunea de tip informaţional se realizează ca o conexiune prin semnale şi semne şi ea produce efecte profunde, utilizând cantităţi infime de substanţă şi energie. Exemple de interacţiune şi chiar de coordonare informaţională a unui sistem sunt codul genetic, activitatea cerebrala, etc.

Între informaţia care reglează şi modelează un sistem şi entropia sa, starea sa de dezordine, există o relaţie de opoziţie. Într-un anumit sens, creşterea informaţiei este echivalentă cu scăderea entropiei din cadrul aceluiaşi sistem şi implicit, cu creşterea gradului său de coerenţă şi de organizare. 02.11.05. SISTEMUL CA O TOTALITATE

HOLISMUL

Un alt aspect deosebit de important în teoria sistemelor este şi tendinţa tot mai accentuată în epoca noastră de a considera orice fenomen sau orice fiinţă ca o totalitate, sau ca un sistem în care părţile îşi pierd separativitatea aparentă, falsa individualitate şi se integrează în mod armonios în întreg.

58 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

Această perspectivă evoluată asupra universului, numită holism, de la grecescul “holos” = întreg, converge către perspectiva potrivit căreia universul sau macrocosmosul este în realitate un mare întreg, care integrează în mod holografic, totalitatea obiectelor şi fenomenelor , precum şi fiinţa umană, sub forma unei entităţi indivizibile şi a unei identităţi esenţiale dintre om sau microcosmos şi întregul univers sau macrocosmos.

Perspectiva holistică asupra lumii, proprie oricărei concepţii autentice, inclusiv prezentă şi în tradiţia geto-dacă, este aşadar din ce în ce mai acceptată astăzi şi în cadrul gândirii ştiinţifice occidentale.

O asemenea perspectivă este adesea considerată, atât ca un principiu esenţial al tendinţei generale către sinteză, a universului în ansamblu, cât şi ca un principiu esenţial al cunoaşterii. Sinteza întregului şi a părţilor sau subsistemelor sale se reflectă în caracterul holistic al funcţionării părţilor, care există atât ca atare, deci cu alte cuvinte, ca părţi, cât şi ca întreguri sau unităţi în miniatură. Cu alte cuvinte, fiecare parte sau subsistem al sistemului, ca ansamblu, reflectă totalitatea sistemului şi funcţionează ca o “micro-totalitate autonomă”.

Această structurare holografică a universului permite, printre altele, şi o perfectă omologare între părţi sau subsisteme ale universului. De exemplu, un atom este, din acest punct de vedere, echivalent cu o moleculă, cu un organ, cu un organism, cu o societate, cu o planetă, cu o galaxie, etc., precum şi echivalenţa dintre fiecare parte, subsistem sau microcosmos şi sistemul integral, întregul, sau altfel spus, macrocosmosul.

Principiul unităţii, reflectat în fiecare parte şi în întregul însuşi, stă la baza evoluţiei conştient dirijate, pentru că, pe baza acestui principiu, operăm asupra propriului microcosmos - care este o replică în mic, dar completă, a macrocosmosului, a întregului -, putem declanşa şi activa anumite “funcţii”, în realitate stări de rezonanţă, care ne branşează atunci la sistemul integral, la macrocosmos, furnizându-ne de aici o energie nelimitată sau o informaţie superior modulatoare, utilă conştiinţei noastre individuale.

Universul însuşi sau macrocosmosul, arată unii exponenţi ai teoriei holistice asupra sistemelor, este în realitate un supersistem sau superorganism care este caracterizat de o grandioasă unitate, de armonie şi de coerenţă pe ansamblu, chiar dacă la nivelul unor subsisteme individuale, de exemplu, la nivelul fiinţelor umane, care sunt lipsite de informaţia superioară iluminatoare, modulatoare, poate să mai persiste încă starea de dizarmonie, de haos, de dezordine.

02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE 59

02.12. NOŢIUNEA DE FUNCŢIE SAU RELAŢIE

DEPENDENŢA FUNCŢIONALĂ ÎNTREPĂTRUNDEREA CREATOARE A CONTRARIILOR

În sens larg, noţiunea de funcţie defineşte consecinţa pe care o are

un anumit element, sau o anumită activitate a acestuia, pentru sistemul din care face parte, conform necesităţilor structurale ale sistemului.

Astfel, funcţia unui element dintr-un sistem dat reprezintă contribuţia sa specifică la realizarea finalităţii sistemului şi ea este determinabilă structural prin locul şi rolul elementului respectiv în structura dată.

Conceptul de funcţie, defineşte, de asemenea, orice formă de corespondenţă sau conexiune dintre doua categorii de obiecte, fenomene, sau evenimente.

Ansamblul funcţiilor din cadrul unui sistem constituie structura funcţională a acelui sistem, precum şi mediul lui specific de organizare.

Orice structură şi orice formă de organizare a unui sistem implică întotdeauna existenţa unor legături, a unor funcţii sau relaţii între elementele componente ale sistemului.

Existenţa sistemelor de lucruri, fiinţe sau evenimente, etc., trăsăturile lor specifice, precum şi dezvoltarea lor, depind în mod direct de ansamblul relaţiilor interne şi externe.

În cadrul funcţiilor şi relaţiilor care se stabilesc într-un sistem, există şi anumite raporturi de condiţionare reciprocă a elementelor sau subsistemelor respectivului sistem, aspect care este deseori numit: dependenţă funcţională.

Relaţiile de dependenţă funcţională se bazează pe proprietatea tuturor aspectelor universului de a depinde unele de altele, de a-şi pune în valoare potenţialităţile, posibilităţile latente, numai în raport cu influenţele exercitate asupra lor de aspectele cu care coexistă sistemic în acelaşi context.

Funcţia sau, altfel spus, rolul unui anumit obiect sau fenomen, etc., este proprietatea acestuia de a influenţa şi de a potenţa manifestarea altui obiect sau fenomen.

Funcţiile obiectelor sau ale fenomenelor nu apar iminente, ele se dobândesc numai dacă acestea, obiectele sau fenomenele, intră în legătura sau în relaţie cu alte obiecte sau fenomene.

Astfel, universul nu este o îngrămădire haotică sau întâmplătoare de obiecte, fiinţe şi procese, ci un gigantic sistem de conexiuni subtile, un întreg coerent şi unitar, un organism viu şi dinamic.

În această reţea cosmică de interacţiuni şi funcţii subtile, totul este într-o continuă şi dinamică interdependenţă cu întregul univers sau macrocosmos. Interacţiunea permanentă dintre cele două aspecte esenţiale ale întregii manifestări, respectiv plusul şi minusul, yang-ul şi yin-ul, la toate nivelele sale ierarhice, constituie sursa evoluţiei şi autodezvoltării fiinţelor şi proceselor. De exemplu, particulele elementare acţionează conform anumitor funcţii specifice în cadrul atomului, corpurile cereşti interacţionează tot conform funcţiilor lor specifice în cadrul ecosistemelor, etc.

60 02. CÂTEVA CONCEPTE DE BAZĂ ÎN ABORDAREASISTEMELOR DIGITALE

Una dintre cele mai importante manifestări funcţionale a interacţiunilor unui sistem o constituie întrepătrunderea creatoare a contrariilor, a opuşilor polari, conţinut şi formă, cantitate şi calitate, cauză şi efect, materie şi energie, etc.

Pe de altă parte, accepţia matematică a noţiunii de funcţie, relaţia de corespondenţă între două mulţimi de entităţi matematice, una din ele fiind domeniul de definiţie iar cealaltă fiind domeniul de valori al funcţiei, permite o interpretare mult mai profundă a acestui concept. Astfel, noţiunea de funcţie poate evidenţia legături şi corespondenţe semnificative între orice sisteme sau structuri atât macro, cât şi microcosmice.

De exemplu, întocmai cum putem găsi oricând o anumită funcţie, care să “proiecteze” un interval finit de numere reale, cum ar fi numerele reale cuprinse între 0 şi 1, pe întreaga axa a numerelor reale, de la minus infinit la plus infinit, există întotdeauna o anumită energie care poate unifica şi identifica extatic microcosmosul fiinţei individuale cu întregul macrocosmos.

Acest tip de legături funcţionale între toate elementele şi aspectele universului sau macrocosmosului poate fi atât de tip cauzal obişnuit, perceptibil şi de fiinţa umană comună, cât şi de un ordin mai profund, insesizabil de obicei de omul gregar comun, manifestându-se atunci preponderent prin intermediul fenomenelor complexe de sincronicitate.

De asemenea, putem privi şi orice proces de înţelegere ca pe o acţiune de stabilire a unor legături, relaţii sau funcţii între elementele şi aspectele care până atunci ni se păreau complet separate. De altfel, aşa funcţionează şi inteligenţa, evidenţiind posibilitatea de a face legături creatoare între aspecte care pentru ceilalţi par a fi lipsite de legătură.

03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE - 61

03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE –

03.01. SISTEMELE DE REGLARE ŞI

ENEAGRAMA

Tot ce este manifestat se conformează Legii lui 3, triada reprezentând caracteristica fundamentală a creaţiei şi, totodată, legătura dintre unicitate şi dualitate, în ambele sensuri, sau, altfel spus, legătura dintre transcendenţă şi imanenţă, şi invers.

În această lege sunt condensate, la modul esenţial, de principiu de bază, toate misterele creaţiei, ale evoluţiei, ale creşterii spirituale şi ale accesului fiinţei către realitatea supremă.

Legea lui 3 se poate manifesta şi atemporal, prin existenţa şi legătura permanentă între unic şi cele două aspecte duale, complementare.

Totodată, întrucât nimic nu este static, stagnant în manifestare, corelaţia unicitate-dualitate are aspect dinamic, de permanentă corelare şi transformare reciprocă, dinamism manifestat şi la nivelul imanent, în dualitate, prin continua dinamică şi transformare, corelare, între cele două aspecte polare, complementare, fapt evidenţiat clar în chintesenţa creaţiei, care este reprezentată prin cele „12 Teoreme ale Principiului Unic”, revelate prin înţeleptul Hermes Tris Megistos în „Tabla de smarald”.

În plus, Legea lui 3 se manifestă şi în evoluţia temporală a emanaţiei, menţinerii şi resorbţiei a tot ce este manifestat, sau, altfel spus, ea reprezintă în esenţă şi ciclul „creaţie-menţinere-resorbţie” – prin legătura în timp dintre unic şi dualitate (la creaţie), existenţa şi manifestarea duală (faza de menţinere) şi reîntoarcerea, prin compensare polară, a dualului în unicitate (faza de resorbţie), (vezi fig.F-3.1).

Fig. F.3.1

Desfăşurată în timp, Legea lui 3 conduce la legea evoluţiei

temporale, a desfăşurării procesuale, care este Legea lui 12, cu particularizarea ei binecunoscută, Legea lui 7, aspecte prezentate deja în detaliu în cap.2.

62 03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE -

Interconexiunile informaţionale bidirecţionale manifestate permanent între cele trei aspecte fundamentale ale desfăşurării procesuale, sau, detaliat, între cele 12 faze ale ciclului manifestării – evidenţiate de Legea lui 12 – conduc la reprezentarea generală, prin ENEAGRAMĂ, a oricărui proces, de orice natură ar fi el.

În acest sens, conexiunile informaţionale – care au o viteză de transmitere superioară desfăşurării propriu zise a procesului, în cele trei faze fundamentale ale sale – se pot pune în evidenţă sub trei aspecte:

conexiuni anticipative, care proiectează informaţia despre ceea ce trebuie obţinut în fiecare dintre cele trei etape (dar şi la nivelul întregului proces), direct în punctul final al fiecărei faze (dar şi al întregului proces), permiţând cu anticipaţie ca la acel nivel să se pregătească şi, ulterior (după cum se va arăta în continuare), să se verifice finalul, rezultatul aşteptat al fazei (sau al întregului proces);

conexiuni de verificare finală, care permit ca în punctul final al

fiecărei faze (sau al întregului proces) să se confirme sau nu dacă ceea ce se aşteaptă, ceea ce s-a anticipat, s-a şi realizat de fapt, urmând, în funcţie de rezultatul verificării, să se semnaleze – prin conexiunile de feedback prezentate în continuare – necesitatea menţinerii sau reluării, prin corectare dinamică, a ciclului – ciclu gândit atât parţial, la nivelul fiecăreia dintre cele trei faze ale manifestării, cât şi global;

NOTĂ: Operaţiile de anticipare şi de verificare finală pot acţiona secvenţial, sau dinamic (în permanenţă), caz în care canalele informaţionale pot fi comune.

conexiuni de feedback, care întorc spre punctul de iniţiere – de fapt, punctul de corectare efectivă a acţiunii fazei controlate – informaţia privind rezultatul final, această operaţie fiind realizată atât pe fiecare fază, cât şi pe întregul ciclu.

Necesitatea manifestării celor trei tipuri de conexiuni informaţionale –

care se grefează în paralel cu desfăşurarea normală, unidirecţională a procesului, la fiecare dintre cele trei faze ale desfăşurării procesului (creaţie (iniţiere) – menţinere – resorbţie (finalizare)), cât şi la nivelul întregului ciclu, este impusă de modurile, în principiu diferite, ale operării, desfăşurării procesului în cele trei faze, de vitezele, în general diferite, pe cele trei faze, de intervenţia impulsionării externe, care poate fi autonomă (prin A = intrare autonomă), sau comandată informaţional (prin C = intrare de corectare, ajustare, şi, uneori, prin R = intrare de referinţă).

Deşi reprezentând aceeaşi esenţă, cele trei faze ale desfăşurării procesului - şi intervenţiile necesare în punctele de hiatus (aşa cum sunt ele reprezentate în Legea lui 12, în vederea continuării şi finalizării, conform programului iniţiat) - apar specificate, în desfăşurarea controlată a unui proces (detaliată în eneagramă), astfel:

03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE - 63

prin nodurile de hiatus, implicând intervenţia externă autonomă sau controlată (R, C şi A, pe diagramă), care includ – în reprezentarea pe eneagramă, sau pe o reprezentare simplificată a procesului – zonele în care se operează la nivelul cel mai direct, cel mai grosier, fizic, am putea spune, asupra procesului şi care sunt, altfel spus, procesorii executori, de realizare, de implementare fizică;

fiecare asemenea procesor este interfaţat cu ceilalţi, la intrare şi la

ieşire, prin tampoane de procesare informaţională, rezultând pentru fiecare fază câte o entitate triplă, de felul celei din fig.F-3.2, în care prin:

E s-a desemnat unitatea executivă (la nivelul fizic, energetic); I-IN şi I-OUT reprezintă unităţile de procesare informaţională

(la nivel superior, subtil), care pregătesc adecvat datele şi comenzile de intrare în unitatea executivă E (cazul I-IN) şi răspunsul din E (cazul I-OUT), potrivit necesităţilor ulterioare de transformare a ieşirii lui E într-o formă accesibilă funcţionării în reţea interconectată a procesului, cât şi pentru preluarea semnificativă a rezultatelor din proces.

Fig. F.3.2

Desfăşurarea în sine a procesului poate fi separată în trei, şi în felul arătat în fig. F-3.3.

Fig. F-3.3

Într-adevăr, în figura F-3.3, R reprezintă punctul de echilibru al

procesului, locul unde începe ciclul şi unde se încheie ciclul, având simbolic semnificaţia Unicului care se proiectează în manifestare şi la care manifestarea se întoarce.

Zona C (haşurată) reprezintă partea în care impulsul iniţial primit din nodul R este preluat, pregătit informaţional, prelucrat şi susţinut energetic

64 03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE -

prin intrarea C, asigurându-se astfel desfăşurarea propriu-zisă (a ciclului, a procesului), semnalată prin săgeata D.

Desfăşurarea D este gândită aici ca reprezentând transferul energetic menţinut (susţinut) de sistemul C (haşurat) şi transmis (prin D) către sistemul A (haşurat) de finalizare a procesului.

Zona A reprezintă partea de finalizare, ţinta întregului proces, zonă care primeşte semnalul fizic D, elaborând, pe baza intrării A şi a datelor informaţionale, ieşirea spre destinatarul procesului şi spre nodul R, pentru reluare şi corecţie – dacă este cazul – a nivelului intrării R, în funcţie de A (manifestat prin ieşire).

În această diagramă (din fig. F-3.3) apar reprezentate atât semnalele de procesare fizică, energetică, cât şi cele informaţionale:

prin săgeată groasă este marcată procesarea energetică unidirecţională, orientată de la iniţiere spre final;

prin săgeată subţire sunt marcate dublele conexiuni, de anticipare şi de verificare la destinaţie (dacă s-a obţinut ceea ce s-a preliminat);

prin săgeată punctată este marcat feedback-ul, confirmarea spre sursă (în punctele de acces informaţional spre nodul de acţionare energetică), de la ieşire, a rezultatului obţinut, în vederea reiniţierii corecturilor, dacă este cazul.

Aici trebuie menţionată atât intercorelarea permanentă, întreţesută a

semnalelor de feedforward şi feedback, care asigură o desfăşurare controlată permanent, asigurând, prin control adecvat, desfăşurarea lină, fără salturi în afara domeniului aşteptat de manifestare a procesului, atât pe cele două faze principale ale dualităţii (grup C şi grup A), cât şi global, prin interconexiunile dintre grupurile C şi A.

Întoarcerea în nodul R permite elaborarea, în funcţie de semnalul autonom A, a unor impulsionări în alte zone de funcţionare ale procesului. Este, de fapt, o manifestare a legii salturilor calitative, realizate pe baza acumulărilor cantitative.

R este nodul coordonator principal (simbolizând Creatorul întregii manifestări, de fapt), care asigură evoluţia, într-un sens sau altul, pe baza acumulărilor. Aici este nodul de evaluare a încercărilor, testelor celui angrenat în evoluţie, ale cărui experimentări se manifestă prin procesul însuşi, şi ale cărui acumulări subtile se descarcă în proces prin A (A simbolizând, într-o asemenea viziune, manifestarea „liberului arbitru” al celui angrenat în evoluţie).

Desfăşurând modelul din fig. F-3.3, considerând triadele specificate în fig. F-3.2, pentru fiecare dintre cele trei noduri de bază R, C şi A, apare diagrama – de fapt, o structură cunoscută sub numele de ENEAGAMĂ – din fig. F-3.4, unde sunt grupate nodurile informaţionale şi executorii (energetice) pe zonele R, C şi A, detaliindu-se şi interconexiunile în ambele sensuri.

03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE - 65

Fig. F-3.4

Se distinge astfel în fig. F-3.4, ieşirea utilizabilă a procesorului, în nodul αA, nod care preia direct semnalul fizic elaborat de nodul A şi îl prelucrează şi adaptează cerinţelor, în funcţie de semnalul de verificare venit din dA.

Rezultatul din αA este transmis pentru reluare ciclu, corectare ciclu, în βR.

Nodul αR reprezintă procesorul de corecţie în buclă, în zona A, pe baza informaţiei prelucrată a intrării din βC şi a ieşirii propriu zise din αA.

Zona D, de fapt zona (dC - dA) inclusă în zonele C şi A, reprezintă translaţia dintre sistemul de pregătire şi de susţinere a evoluţiei procesului (grup C) şi sistemul de implementare propriu zisă a finalizării (ieşirii) procesului (zona A). S-ar putea spune altfel că zona D reprezintă translatorul dintre zona C de „software” şi zona A de „hardware”.

Analizând altfel diagrama din fig. F-3.4, separând nodurile energetice R, C şi A de nodurile informaţionale, se obţine, privit la nivel informaţional, viziunea obişnuită în Legea lui 12 a desfăşurării procesului în trei faze mari (fig. F-3.5).

Fig. F-3.5

66 03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE -

Între cele trei faze prezentate în fig.5R apar nodurile de intervenţie externă:

R – de iniţiere C – de corecţie A – de acţiune (energie) autonomă. Nodul A, aşa cum s-a mai spus, mai poate fi asimilat cu „liberul

arbitru” al entităţii a cărei evoluţie se manifestă prin desfăşurarea procesului.

Revenind asupra justificării interconexiunilor unui proces în desfăşurare, reprezentat prin eneagramă (fig. F-3.4), se pot completa următoarele:

În eneagramă trebuie separate trei aspecte: partea de iniţiere – corecţie – susţinere proces, adică zona din

dreapta, respectiv βR - βC – C – dC; partea de implementare pe ieşire (de finalizare) a corecţiilor venite

prin D din partea dreaptă, respectiv dA – A - αA - αR; aspectul de interconectare globală între intrare (βR-βC) şi ieşire (αA-

αR), la nivel informaţional.

Cele două părţi – dreapta şi stânga - ale diagramei au semnificaţia următoare:

de pregătire (tip „software”) a acţiunii în proces (în dreapta), şi de executor (tip „hardware”), de finalizator (partea stângă) al

deciziilor primite din partea pregătitoare.

Acţiunile celor două grupe mari, componente ale aspectului dual al manifestării, nu pot fi separate de intercorelarea permanentă dintre ele.

Astfel, este normal ca în partea de pregătire semnalul de feedback global să apară chiar în primul nod informaţional (βR), care decide, în funcţie de semnalul venit din nodul R şi de ieşirea αA (de fapt, ieşirea efectivă, adaptată utilizatorului procesului), pentru că, la acest nivel, se dă de fapt impulsul iniţial, de corecţie, ca urmare a analizei în βR a diferenţelor, la nivelul întregii bucle de proces, dintre ieşire şi ce se doreşte prin intrarea de referinţă R.

La grupul de finalizare (grup A), informaţia globală (din βC), de tip anticipativ şi de verificare se prelucrează în funcţie de ieşirea efectivă αA, remarcând că această informaţie are ca sursă chiar corecţia efectivă „software” (informaţională) înainte de implementare (deci din βC), punct în care intrarea corectată şi prin bucla locală de feedback din grupul C, are toată informaţia care se aşteaptă de la ieşire.

Această reacţie tip feedforward (βC → αR) la nivel de buclă a întregului proces se transformă (prin αR), la nivelul local al grupului A, în reacţie feedback pentru ajustarea locală a ieşirii, prin nodul A, în αA.

Deci bucla locală a grupului A introduce un feedback având drept informaţie sursă intrarea prelucrată informaţional şi ieşirea propriu zisă, generând, prin nodul dA de intrare în A, atât acţiune corectivă spre nodul A - unde se prelucrează energetic semnalul de ieşire - cât şi acţiune anticipativă şi corectivă din dA în αA, care verifică răspunsul corespunzător al nodului A.

03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE - 67

În zona de pregătire – zona C – anticiparea şi verificarea în dC a

ieşirii din C se face având ca sursă informaţia primară din βR (nod în care se compară permanent referinţa cu ieşirea din C), iar feedback-ul se realizează local din dC spre nodul βC de intrare directă în nodul C care elaborează energetic semnalul de corecţie, de ajustare, şi de susţinere a procesului.

Diferenţele dintre modul cum acţionează semnalele de feedforward şi feedback în grupurile C şi A rezultă din faptul că aceste grupuri nu sunt simetrice faţă de referinţă – de sursa (R) iniţiatoare, dinamică, a procesului – întrucât unul (C) precede pe celălalt (A), fiind conectate în cascadă, gen legătură cauză-efect, ieşirea grupului C constituind semnal de intrare pentru grupul A. De-abia pe global apare şi o reacţie inversă între grupurile C şi A, prin conectare prin feedback a ieşirii grupului A către intrarea grupului C, şi prin conexiune anticipativă a intrării informaţionale efective a grupului C către comparare cu ieşirea efectivă αA (a grupului A), în nodul αR.

Figura F-3.6 prezintă sintetic structura generală a interconectării grupurilor A şi C în proces.

Fig. F- 3.6

Figura F-3.6, detaliată conform celor spuse mai înainte, conduce la eneagrama din fig. F-3.4, dar desfăşurată liniar ca în fig. F-3.7.

Fig. F- 3.7

Desfăcând diagrama din fig. F-3.7, separat pentru grupul C şi pentru grupul A, rezultă:

68 03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE -

– pentru grupul de intrare:

Fig. F- 3.8

Pe baza diferenţei dintre semnalul din nodul R şi ieşirea din grupul A

(notată prin OUT) rezultă corecţia necesară care se transmite la ieşirea grupului C, pentru comparare, şi se întoarce ca feedback (din dC) pentru calculul ajustării ΔC care trebuie realizată de nodul C. ΔC conţine toată informaţia care se aşteaptă de la ieşirea OUT a grupului A, de fapt, de la ieşirea procesului. ΔC se transmite ca semnal de anticipaţie şi verificare globală a ieşirii generale. – pentru grupul de ieşire (grup A):

Fig. F- 3,9

Diferenţa dintre ieşirea efectivă (OUT) şi corecţia dinamică (ΔC), sau

ceea ce se aşteaptă de la ieşirea circuitului, realizează feedbackul local în grupul A, iar ieşirea OUT se transmite ca feedback global spre grupul C (spre βR).

Revenind la diagrama generală de control, trebuie reţinut că diagrama obţinută, indiferent de gruparea, pentru explicare, a zonelor, reprezintă modelul universal de control şi desfăşurare a oricărui proces din manifestare, indiferent dacă controlul este de tip „automat”, sau „inteligent” – modelarea acoperind chiar evoluţia fiinţei umane şi, prin reflexie holografică, a întregii manifestări.

03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE - 69

Prin urmare, abordarea controlului proceselor, a sistemelor cibernetice, dotate sau nu cu inteligenţă artificială, abordarea studierii controlului proceselor din sfera socială, studierea şi controlul conştient al propriei evoluţii pot fi realizate cu succes prin modelul eneagramei – reprezentare, detaliată şi la nivelul interacţiunilor subtile, informaţionale, a desfăşurării procesuale simbolizată prin Legea lui 12.

Abordările cunoscute din teoria reglării automate, din teoria automatelor reprezintă, în contextul prezentat aici, modele simplificate – însă nu neapărat optime – fapt care semnalează perspectiva promiţătoare a abordării acestor sisteme folosind modelul complet oferit de aplicarea specifică a eneagramei.

Complexitatea modelului prezentat reprezintă oglinda interconexiunilor realităţii manifestate sub formă de reţea holografică, dar, prin metode analitice adaptate fiecărui tip de proces se va descoperi, evidenţia că, de fapt, totul devine mai direct, mai natural, mai simplu. După cum se ştie, marile adevăruri sunt simple, dar se ajunge la ele când te hrăneşti cu esenţe.

70 03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE -

03.02. CONCEPT GENERAL STRUCTURAL ŞI FUNCŢIONAL AL UTOMATELOR

Modelul structural în 5 noduri al automatului (fig. F-3.10), model dedus din eneagramă, reprezintă structura universală a oricărui automat, reprezentările cunoscute fiind o simplificare, uneori nepotrivită a acestui model.

Fig. F- 3.10

Dubla confirmare şi analiza pe intrare şi pe ieşire poate asigura, în

principiu, o comportare fără riscuri, practic în orice condiţii, răspunzând şi la problema metastabilităţii, pentru că transmiterea informaţiei în trepte, verificabile intrare-ieşire, asigură o comportare lipsită de hazard, fără probleme de decizie la tranziţia simultană a intrărilor, pentru că analiza accesului intrării spre nodul C (vezi fig. F-3.10) de prelucrare efectivă – care este şi locul memoriei automatului – permite prinderea unei stări a intrării, stare care se conservă până la stabilizarea ieşirii, prin blocajele de feedback şi feedforward, care nu permit analizarea altor schimbări ale intrării, până la rezolvarea situaţiei prinse deja pe intrare.

În acest fel, oscilaţiile, evoluţiile nedecise sunt eliminate, aşa cum se realizează şi în cazul sistemelor de reglare automată, structurate după modelul eneagramei, unde problema este mai complexă.

O asemenea modelare structurală a automatelor permite şi o abordare a proiectării, similară cu cea a sistemelor de reglare, ceea ce ar putea conduce la noi tehnici de abordare a circuitelor secvenţiale, fără a elimina ce se cunoaşte până acum (care este valabil numai în anumite condiţii).

De exemplu, abordarea soluţionării unui automat cu intrări asincrone, necorelate în timp şi cu evoluţii (tranziţii) variabile în decursul funcţionării, precum şi existenţa unui bloc C de prelucrare-memorare (de fapt, blocul de ajustare şi susţinere a ieşirii, conform cu schimbările intrării) care are altă dinamică – comportare în timp – decât intrările, face practic insolubilă problema prin mijloace cunoscute.

Aici, atenţie, nu se face referire numai la circuitele electronice, deşi şi în cazul lor pot apărea situaţii de acest gen. Este vorba de automate, la orice nivel aplicativ, de implementare.

Structura în 5 noduri poate fi implementată proiectând şi realizând fiecare nod separat, sub forma unui automat simplificat – în forma clasică,

03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE - 71

cunoscută – pentru că, în acest caz, fiecare nod în parte are o comportare uniformă, cu parametri temporali reproductibili, care permit aplicarea structurii simplificate.

Prin urmare, abordarea în cazul general a unui automat poate conduce la o soluţie structurală de reţea în 5 noduri de automate elementare, soluţie care ar permite o modularizare structurală şi funcţională a oricărui automat.

Această modelare – la nivel arhetipal – a automatelor, similară (de fapt, caz particular) modelării universale a unui sistem de reglare automată, ar putea conduce în curând la soluţii nebănuite, de mare fiabilitate şi, deşi aparent complexe, având totuşi o simplitate structurală obţinută prin modularizare.

Modelul structural, pe lângă faptul că oferă soluţii în situaţii nerezolvate încă prin metodele tradiţionale (de exemplu, metastabilitatea, de care s-a amintit, dar nu e singura problemă!), poate conduce la realizarea de structuri matriciale programabile, de o mare putere funcţională.

În concluzie, modelul în 5 noduri poate reprezenta o perspectivă în domeniu, deschizând noi drumuri în abordarea, atât la nivel teoretic, cât şi ca mod de implementare, a automatelor de orice natură ar fi ele: electrice, electronice, ne-electronice, entităţi hard, entităţi soft, etc.

Nota N-3.1: Aşa cum am observat, în reducerea structurii unui sistem de reglare la un automat, s-a eliminat zona cu nodul A (vezi expunerea „Sistemele de reglare şi eneagrama”), care permite accesul autonom în sistem, sau, altfel spus, s-a eliminat „liberul arbitru”, iar ceea ce a rămas este, nici mai mult, nici mai puţin, un robot, de unde se observă acum şi potrivirea denumirii de „automat”.

Figura F-3.10 prezintă varianta în 5 noduri a structurii unui automat,

abordat după modelul eneagramei (vezi fig.F-3.4 din capitolul anterior), redusă prin eliminarea zonei A, sau, mai precis, prin reducerea acestei zone la un punct (un nod x) de legătură cu restul diagramei.

Chiar o condensare, prin simplificarea grupelor de câte două noduri informaţionale de la intrare şi de la ieşire, conduce la o variantă mai evoluată de automat, în comparaţie cu soluţia cunoscută, pentru că are şi conexiuni de feedforward pentru anticipare şi verificare la ieşire, dacă rezultatul este cel preliminat (fig.F-3.11)

Fig. F- 3.11

72 03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE -

În figura F-3.12 sunt prezentate două variante – cu şi fără nod

informaţional de ieşire – ale unei structuri „clasice” de automat.

Fig. F- 3.12

Nota N-3.2: În toate variantele structurale de automat, nodul C implică structura de memorie a automatului, iar intrarea externă în acest nod reprezintă sursa, reglabilă prin intrare şi reacţii, a valorii si strategiei de memorare a lui C. Deci ea nu reprezintă o intrare liberă, de genul IN (din figură). Practic, ea poate fi neglijată în unele reprezentări, dar trebuie ţinut cont că ea totuşi semnifică intervenţia de schimbare efectivă a ieşirii şi programului automatului, energia fără de care, numai prin iniţierea schimbării prin IN, nu se poate obţine controlat ieşirea OUT. Este, altfel spus, intervenţia energetică de ajustare şi menţinere a procesului, prin primul punct de hiatus din Legea lui 12, sau prin punctul de hiatus din Legea lui 7.

Tot aici trebuie menţionat că structura generală a unui automat se

conformează Legii lui 7, completată cu interconexiunile subtile, informaţionale.

Nota N-3.3: Intrarea externă directă în C poate desemna calea de reprogramare a funcţiei automatului, conducând la automate cu reprogramare funcţională în timp real - în timpul funcţionării – generând entităţi incorporabile în sisteme autoinstruibile, sau sisteme care se autogenerează, se autoreproduc.

Structura de automat în 5 noduri, cu 3 puncte de contact cu exteriorul

(IN, OUT şi intrarea directă în C) poate servi la structuri celulare spaţiale, atât cu aceeaşi funcţie pe celulă, sau cu funcţii diferite şi programabile pe fiecare

03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE - 73

celulă în parte, în condiţiile în care reţeaua celulară este conectată la o reţea de ordin ierarhic superior – supervizoare.

Se pot genera totodată reţele complet asincrone la interconectări, reducându-se şi optimizându-se timpii de prelucrare pe reţea. Un asemenea model reprezintă şi un exemplu de arbitrare asincronă multidimensională (hand-shake multiplu) a comunicărilor într-o reţea de sisteme complexe.

Nota N-3.4: Metastabilitatea reprezintă o comportare oscilantă, nedecisă, „ezitantă”, pe un interval de timp nedefinit, a ieşirii unui sistem cu memorie care are două stări stabile posibile, situaţie care apare când sistemul este forţat temporar să ocupe o stare neutră, din care este scos prin intervenţia simultană a două forţe egale, una trăgând sistemul spre o stare stabilă, iar cealaltă spre cealaltă stare stabilă.

ANEXA 3.1:

Figura F-3.13 prezintă un model al structurii din fig. F-3.11, realizat din automate elementare cu acces prin tranziţie.

Fig. F- 3.13

În exemplu, nodul de intrare captează intrarea şi se autoblochează,

transmiţând, în acelaşi timp, un semnal EN.OUT care îngheaţă ieşirea la nivelul la care este ea, înainte de a ajunge la ea schimbarea din C. Tot în nodul de intrare se elaborează – ţinând cont şi de valoarea ieşirii OUT- semnalul pentru nodul de memorare şi prelucrare efectivă.

În momentul când semnalul receptat prin reacţie feedback de la nodul de ieşire corespunde cu cel anticipat, se deblochează ieşirea şi se autodeblochează accesul unei noi stări de intrare. Până atunci, orice schimbare a ieşirii, care nu este conformă cu ce s-a preliminat, se prelucrează din mers în nodul de intrare şi se retransmite spre nodul C, în vederea ajustării.

În figura F-3.13: prin intrare cu săgeată cu vârful gol s-a simbolizat accesul prin

tranziţie în acel nod;

74 03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE -

prin linie de intrare care nu are săgeată pe nodul în care intră s-a simbolizat o intrare de tip pasiv (a cărei tranziţie nu poate schimba ieşirea nodului, în schimb poate influenţa schimbarea ieşirii la tranziţia unei intrări active (adică, a unei intrări cu acces prin tranziţie));

prin linie de intrare care are săgeată neagră pe blocul unde intră s-a simbolizat o intrare activă, dar care are acces prin nivel (schimbarea pe care o determină depinde de nivelul – de starea intrării şi nu de tranziţia ei) şi poate servi şi ca informaţie de intrare pasivă.

Circuitul de intrare va dispune, spre intrarea IN, de celule de

memorare cu acces prin tranziţie, prevăzute – aşa cum este prezentat în altă lucrare, cu protecţie la metastabilitatea de speţa întâia (protecţie posibil de realizat la celule de memorare cu acces multiplu prin tranziţie, de tip JK). ANEXA 3.2:

Figura F-3.14 prezintă un exemplu de realizare a structurii generale de automat în 5 noduri (fig. F-3.10).

Structura prezintă fiecare nod realizat cu automate elementare cu acces prin tranziţie. Simbolurile sunt aceleaşi cu cele din fig.F-3.13, iar nodul de intrare are protecţie la metastabilitate, la fel ca nodul de intrare prezentat în exemplul din fig. F-3.13.

Fig. F- 3.14

Funcţionarea este următoarea: Nodul de intrare preia o stare nouă a intrării, prin captare de tip cu

acces prin tranziţie. Totodată, pe baza informaţiei de intrare captată şi în funcţie de valoarea încă neschimbată a ieşirii, elaborează cerinţele de prelucrare pentru nodul 2 de acces direct în nodul principal C şi semnalul de verificare a conformităţii ieşirii din C în nodul 3 de ieşire din C.

Nodul 2, conectat pe linie energetică cu blocul de memorie şi prelucrare C, emite semnal de inhibare a schimbării ieşirii OUT (îngheaţă ieşirea), ca urmare a neconformităţii, semnalate de nodul 3, dintre ieşirea lui C şi ceea ce se aşteaptă (transmis prin nod IN). Îngheţarea ieşirii produce, la rândul ei, îngheţarea accesului în nodul IN.

În bucla 2 – C – 3 - 2, acum decuplată de intrare şi de ieşire, informaţia circulă în ambele sensuri, până când nodul 3 sesizează

03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE - 75

conformitatea, transmiţând lui 2 un semnal care-i permite acestuia să îngheţe starea lui C şi să deblocheze ieşirea pentru a afişa noua situaţie stabilă. La rândul ei, ieşirea stabilizată la noua valoare, permite din nou accesul în nodul IN, pentru captarea unei noi stări.

Intrarea C poate fi folosită pentru schimbarea, chiar şi din mers, a programului funcţional al automatului, pentru că schimbările care apar sunt într-o zonă izolată de intrare şi de ieşire, deci neintroducând perturbări spre sistemele vecine.

76 03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE -

03.03. REZONANŢĂ – REVERSIBILITATE - REGLARE

Reversibilitatea reprezintă modul fundamental de operare a Legii

Rezonanţei. Indică transferul bidirecţional între două sau mai multe sisteme acordate pe o anumită rezonanţă şi, în cazul când nici unul dintre ele nu reprezintă sursa macrocosmică, prin rezonanţă sunt conectate reversibil şi fiecare dintre aceste sisteme la rezonatorul macrocosmic, care asigură energia – canalizată prin rezonanţă – spre aceste sisteme şi între aceste sisteme.

Legătura reversibilă se manifestă dual – energetic şi informaţional – pe orice nivel.

Prin urmare, legătura rezonantă între două sisteme date se concretizează printr-o cuadruplă legătură: două canale energetice – de la fiecare spre fiecare – şi două canale informaţionale, subtile - tot de la fiecare spre fiecare.

Conectarea informaţională acordează sistemele şi confirmă trezirea adecvată a rezonatorilor fiecărui sistem, pregătind transferul energetic reciproc, prin conectarea la sursa macrocosmică, amplificând înzestrarea, manifestarea energetică a fiecăruia dintre cele două sisteme. Se obţine astfel îmbogăţirea amplificată a sistemului cu zestre energetică mai redusă, fără a sărăci sistemul mai bogat energetic pe rezonanţa anclanşată, ba chiar fiind şi el îmbogăţit, prin racordare macrocosmică.

În fond, trebuie gândit că aceste două sisteme nu sunt altceva decât canale cu capacitate de acordare pe anumite rezonanţe, sursa manifestării energetice, la propriu, pentru ele, fiind rezonatorul macrocosmic.

Conexiunile duale – energetice şi informaţionale – apar şi între rezonatorul macrocosmic şi sistemul conectat, prin rezonanţă, cu el. Acesta este modul de operare, în reţea holografică, în întreaga manifestare şi în permanenţă sursa este informată de starea sistemelor aflate în rezonanţă cu ea.

La un asemenea nivel, comunicaţiile informaţionale şi transferurile energetice nu depind de timp şi distanţă.

Sistemul de comunicare, informare şi transfer energetic rezonant se produce pe întreaga gamă a manifestării, pe toate octavele. Astfel că, de exemplu, trezirea rezonanţei iubirii, percepută de fiinţa din planul fizic, prin vibraţii specifice, chiar fizice, se manifestă în toate gamele - structurile subtile ale fiinţei - mergând până la cele cauzale, iar întreţeserea bidirecţională (o adevărată reţea, urzeală, sau „tantra”, cum este numită în textele înţelepciunii orientale) are o complexitate deosebită, chiar în cazul activării numai a unui rezonator anume, pentru că în macrocosmos totul este interconectat cu totul. De aceea se şi spune că nu se poate mişca un fir de iarbă, fără să ştie tot universul.

Sistemul de reglare, sistemul controlat reprezintă un rezonator în acordare pe funcţia impusă, prin semnalul de referinţă R (vezi modelul arhetipal, eneagramic din expunerile anterioare).

Acordarea în sine a rezonatorului presupune comunicare informaţională şi transfer energetic bidirecţional între componentele sale,

03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE - 77

energia acordării pe funcţia cerută fiind reglată bidirecţional prin punctele de acces ale sistemului cu exteriorul: intrările R, C şi A.

Deşi în modelul eneagramic nu este evidentă bidirecţionalitatea energetică, ea este implicată prin faptul că, prin fiecare punct de intrare energetic, energia din sistem poate fi mărită sau micşorată, în conformitate cu cerinţele informaţionale.

Acordarea unui rezonator nu este, în general, un proces instantaneu, ea necesitând o desfăşurare în timp, de unde şi numele de „proces” controlat.

Trebuie însă conştientizat faptul că la orice moment şi în orice loc al sistemului în curs de acordare, se manifestă, în paralel cu energiile de acordare (R, C şi A), conexiunea rezonantă – mai puternică sau mai slabă, în funcţie de gradul de acordare al sistemului. Acest fapt se remarcă prin însuşi modul de manifestare funcţională a sistemului controlat, în timpul acordării.

Acordarea unui sistem singular nu pare să evidenţieze rezonanţa, însă el este permanent conectat la sursa macrocosmică şi nu numai, ci şi la replicile subtile ale sistemului fizic, pentru că nici o angrenare energetică din planul fizic nu rămâne fără replică pe octavele superioare ale manifestării, mergând până la racordarea cu un model arhetipal, cauzal şi, prin acesta, direct la sursa specifică macrocosmică.

Nimic din ce este manifestat nu rămâne izolat. Nimic din ce este creat nu rămâne fără replică în celelalte planuri ale manifestării.

Această interconectare, structurată holografic, la toate nivelele poate produce uneori, pentru cel neavizat, manifestări ciudate, stranii, miraculoase chiar, asupra unor sisteme funcţionând în planul fizic, nu neapărat sisteme vii, la care deja se înţelege influenţa subtilă. Dar, la nivelul rezonanţei, nimic nu este lăsat de-o parte şi nu au fost rare cazurile, de exemplu, de îmbunătăţire sau înrăutăţire a funcţionării unui aparat, în prezenţa unei anumite persoane, asta datorându-se rezonanţelor subtile, nu neapărat conştientizate, introduse de acea persoană asupra funcţionării aparatului. Au fost cazuri când scepticismul privind funcţionarea unui sistem a condus la nefuncţionarea temporară a acestuia, fără vreun alt motiv anume. Sunt exemple cunoscute.

Dar interconectarea într-un sistem fizic controlat, împreună cu replicile lui subtile, este şi mai profundă.

Apare aici şi un nou tip de reversibilitate, mai subtil. Astfel, desfăşurarea normală a controlului (sau acordării) unui proces, conform structurii eneagramice, implică în subtil o desfăşurare, în direcţie inversă, a unei alte eneagrame, pornind, de această dată, de la finalul anticipat spre început, conexiunile structurii subtile urmând sensul invers celor din sistemul implementat, controlat.

Este, altfel spus, o replică anticipativă a sistemului controlat, cu transfer energetic şi informaţional subtil asupra fiecărei componente şi etape ale sistemului considerat, dar venind anticipat în întâmpinarea desfăşurării procesuale, pregătind subtil condiţiile de control adecvat.

Prin urmare, fiecare sistem de control, de reglare, implică o dublă structură eneagramică, de fapt, două structuri duale: una fizică şi alta subtilă.

78 03. REZONANŢĂ, REVERSIBILITATE, REGLARE - AUTOMATE -

Aici trebuie remarcat că această dualitate se manifestă, nu numai

asupra acordării proceselor în planul fizic, ci asupra oricărui proces, la orice nivel de vibraţie – fiecare proces manifestând această dublă structură eneagramică.

Această structură dublă, duală constituie, de fapt, rezonatorul complet în acordare, sau, altfel spus, ea constituie adevăratul sistem în curs de reglare.

Radionica a sesizat aceste corelaţii complexe, subtile şi, prin metode specifice de rezonanţă, permite reglarea unor procese subtile în fiinţă – dar nu numai – cu reflex direct şi în planul fizic, obţinând efecte de-a dreptul miraculoase.

Se vede că în realitate nu se pot separa cu adevărat realităţile. În măsura în care dorim să obţinem rezultate tot mai deosebite, în aceeaşi măsură este necesară conştientizarea şi folosirea întregului ansamblu al structurilor subtile ale sistemului vizat.

De reţinut că, în măsura în care se operează conştient, la structuri de nivel vibratoriu tot mai înalt, în aceeaşi măsură rezultatele sunt tot mai eficiente, uneori de-a dreptul neaşteptate, miraculoase.

Pe de altă parte, o dată atins un anumit nivel înalt de vibraţie, manifestat de o conştiinţă corespunzătoare, totul devine mai uşor de realizat, de controlat. Cu cât eşti mai sus, cu atât potenţialităţile şi zestrea energetică şi informaţională asociată sunt tot mai puternice şi mai uşor de manevrat,

Prin urmare, nimic nu este în afara rezonanţei şi în afara modului ei de manifestare, prin reversibilitate.

Se menţionează aici că modelul general de structurare a unui sistem controlat, a unui sistem de reglare, după schema eneagramei, poate reprezenta o cale eficientă de optimizare şi acordare a oricărui rezonator, pentru că eneagrama, după cum s-a prezentat în expunerea despre structura generală a unui sistem de reglare, este o manifestare firească a legilor fundamentale ale universului creat: a Legii lui 3 şi a Legii lui 12. Toate celelalte modele structurale nu sunt nici ele în afara modelului general, dar reprezintă simplificări, în multe cazuri departe de a fi optime, ale structurii generale eneagramice.

Cele prezentate mai sus sunt valabile şi pentru cazul automatelor, care sunt sisteme simplificate ale celor de reglare, un caz particular al lor, aşa cum este arătat în expunerea despre ele. Nota N-3.5: Un aspect - exemplu, de fapt - al manifestării celei de a doua

eneagrame – duală, subtilă – asociată unui proces controlat, îl constituie însăşi proiecţia mentală a celui care proiectează un sistem, proiecţie care se întoarce de la scopul vizat (vizualizat, conştientizat în planul mental), pas cu pas, etapă cu etapă, asupra evoluţiei procesului, sau asupra realizării sistemului.

04 CONCEPTUL DE CIRCUIT DE COMUTAŢIE 79

04. CONCEPTUL DE CIRCUIT DE COMUTAŢIE

Notă N-4.1: În prezenta lucrare, tot ce se referă la conceptul de „circuit de comutaţie” (definiţii, clasificări, rezultate, metode, tehnici etc.) se asociază şi conceptelor de „maşină” şi „sistem decizional”, în măsura în care nu sunt referiri concrete la aspectele de implementare a circuitului.

Precizarea este necesară, pentru că, deşi lucrarea se referă la sisteme decizionale, dat fiind caracterul aplicativ, de implementare a unor tipuri concrete de sisteme, tradiţional numite circuite, se va folosi în principal termenul de „circuit (de comutaţie, digital, combinaţional, secvenţial etc.)”, rezultatele extinzându-se implicit asupra sistemelor decizionale, cu specificarea de mai înainte.

04.01. CONCEPTUL DE SISTEM

Conceptul de sistem – prezentat la modul general în partea introductivă a lucrării este legat de conceptul intuitiv de obiect, pe care-l precizează prin adăugarea manierei de considerare a obiectului: (4.1) SISTEM = OBIECT + MANIERA DE CONSIDERARE

Din punct de vedere formal, un sistem poate fi reprezentat printr-o listă de variabile şi, în general, o asemenea listă de variabile va fi denumită, în cadrul lucrării, sistem. Astfel, un circuit electric poate fi considerat sistem, din momentul în care se precizează o listă de mărimi, cum ar fi: curenţii în anumite ramuri, tensiunile în noduri etc.

Trebuie notat că unui aceluiaşi obiect îi pot corespunde mai multe sisteme diferite.

80 04 CONCEPTUL DE CIRCUIT DE COMUTAŢIE

04.02. CONCEPTUL DE MAŞINĂ SAU SISTEM DECIZIONAL

Conceptul de „maşină” sau „sistem decizional”este atribuit unui

sistem înzestrat cu un anumit mod de comportare: MAŞINĂ (SISTEM DECIZIONAL) = SISTEM + COMPORTARE

In cazul general, maşina (sistemul decizional) este formalizată printr-un set de relaţii, fie între valorile variabilelor care desemnează sistemul, fie între secvenţe de valori ale acestor variabile.

Când maşina, sau sistemul decizional, este descrisă / descris complet de un set de relaţii între valorile variabilelor, ea se numeşte maşină combinaţională / sistem decizional combinaţional.

Când pentru descrierea maşinii sunt necesare relaţii între secvenţe de valori ale variabilelor, maşina se numeşte secvenţială (sistem decizional secvenţial). Se spune, în acest caz, că maşina sau sistemul decizional are memorie.

04 CONCEPTUL DE CIRCUIT DE COMUTAŢIE 81

04.03. CONCEPTUL DE AUTOMAT

În general, noţiunea de maşină este sinonimă cu noţiunea de automat, cu precizarea că fiecare variabilă a sistemului poate lua valori într-o mulţime discretă de valori. (4.3) AUTOMAT = MAŞINĂ, CU VARIABILELE DEFINITE PE

MULŢIMI DISCRETE DE VALORI

Se poate arăta că unul dintre modurile de formalizare ale unui

automat constă în reprezentarea lui printr-un multiplet : (4.4) (I, O, S, fS, fO), unde I, O şi S reprezintă mulţimea stărilor de intrare, mulţimea stărilor de ieşire şi, respectiv, mulţimea stărilor interne ale automatului, iar (4.5) FS : S x I → S şi (4.6) FO : S x I → O reprezintă funcţia de tranziţie, respectiv, funcţia de ieşire a automatului.

Dacă mulţimile I, O, şi S sunt finite, automatul este numit finit. Dacă FO depinde de I, aşa cum este specificat în (4.6), automatul

este denumit de tip MEALY. Dacă FO nu depinde de I, automatul este denumit de tip MOORE:

(4.7) FO : S → O

82 04 CONCEPTUL DE CIRCUIT DE COMUTAŢIE

04.04. CONCEPTUL DE CIRCUIT DE COMUTAŢIE

Conceptul de circuit de comutaţie este atribuit unei realizări fizice a unui automat finit: (4.8) CIRCUIT DE COMTAŢIE = AUTOMAT FINIT + REALIZARE

Nume echivalente pentru circuitul de comutaţie sunt: - circuit logic - circuit digital

- sistem digital (cu referire la implementarea funcţiei) - sistem decizional (cu referire la implementarea funcţiei) Studiul circuitelor de comutaţie - mai precis, studiul legăturii dintre

comportarea externă şi structura internă a circuitelor de comutaţie – face obiectul teoriei comutaţiei.

Terminologia folosită în continuare este împrumutată, în principal, din teoria comutaţiei.

Astfel, circuitul de comutaţie este definit, după cum urmează Definiţia D-4.1:Circuit de comutaţie este un sistem fizic cu un număr finit n de terminale de intrare şi un număr finit m de terminale de ieşire, care servesc ca puncte de acces spre sistemul fizic considerat.

La fiecare terminal poate fi măsurată o anumită dimensiune fizică a sistemului.

Valoarea dimensiunii fizice a terminalului este numită starea terminalului.

Fiecare terminal are un număr finit de stări. Pentru ca terminalele de ieşire ale unui circuit să poată servi

ca terminale de intrare pentru alt circuit (prin interconectare), se recomandă folosirea aceleiaşi dimensiuni fizice (altfel, sunt necesare conversii de mărimi) pentru definirea stărilor fiecărui terminal, iar stările tuturor terminalelor să ia valori în aceeaşi mulţime finită de valori ale dimensiunii fizice.

Desemnarea terminalelor de intrare şi de ieşire reprezintă o relaţie cauză-efect, prin care starea terminalelor de ieşire (starea ieşirii) este determinată, în timp finit, de starea prezentă sau de starea prezentă şi starea din trecut a terminalelor de intrare (starea intrării).

Prin urmare, circuitul de comutaţie poate fi reprezentat ca în fig. F-

4.1. În această figură s-a notat prin F relaţia intrare-ieşire a circuitului, care reprezintă în fond o reţea care calculează în timp finit ieşirea, în funcţie de starea prezentă şi, dacă este cazul, şi de evoluţia anterioară a intrării.

04 CONCEPTUL DE CIRCUIT DE COMUTAŢIE 83

Fig. F- 4.1

Exemplul E-4.1: Figura F-4.2 prezintă două circuite: un inversor logic şi un amplificator. Primul este circuit de comutaţie. Al doilea nu este, pentru că semnalele de intrare şi ieşire nu au un număr finit de valori (stări).

Fig. F- 4.2

84 04 CONCEPTUL DE CIRCUIT DE COMUTAŢIE

04.05 ZONE DE NEDETERMINARE, MARGINE DE ZGOMOT ŞI ELEMENT DE MENŢINERE A VALORII LOGICE

Condiţia CN-4.1: Reprezentarea valorilor stărilor unui circuit concret, fizic printr-o mărime fizică implică, în conformitate cu definiţia D-4.1, alocarea unor intervale ne-adiacente ale mărimii fizice pentru valorile stărilor terminalului de intrare sau de ieşire, aşa cum este reprezentat în figura F-4.3, pentru cazul general al unui circuit având N valori logice pe terminal, valori aparţinând mulţimii ZN = ⎨0,1.2,...,N-1⎬:

Fig. F- 4.3

În această figură, prin Δ(k), unde k∈ZN, s-a notat intervalul de valori

al mărimii fizice atribuit desemnării valorii discrete (logice) k. Intervalele nu sunt adiacente, lipite, pentru a permite separarea, fără probleme deosebite de discriminare, a valorilor adiacente. Dacă notăm prin ΔOUT(k) şi ΔIN(k) intervalele de valori atribuite valorii logice k pe un terminal de ieşire şi, respectiv, pe un terminal de intrare, este necesar ca domeniul de percepţie de către intrare a valorii k să acopere domeniul de emisie de către o intrare a valorii k, adică: (4.9) ΔIN(k) ⊇ ΔOUT(k)

Necesitatea separării intervalelor mărimii fizice – pe care o vom denumi „V” – prin zonele haşurate – numite „zone de nedeterminare” – derivă din faptul, menţionat şi explicat în prima parte a lucrării, că nici un sistem nu este complet izolat, astfel că o separare printr-o linie a două valori logice pe scara dimensiunii fizice V ar conduce la o fluctuaţie între cele două valori vecine – datorată perceperii unor influenţe exterioare sistemului (de exemplu, variaţiile tensiunii de alimentare, în cazul unui circuit de comutaţie electric) – a variabilei de intrare sau ieşire.

O reprezentare a valorii logice x∈ZN, în funcţie de mărimea fizică V, are un aspect neliniar, ca în figura F-4.4:

04 CONCEPTUL DE CIRCUIT DE COMUTAŢIE 85

Fig. F- 4.4

Dacă se alege V(k) la jumătatea intervalului Δ(k), atunci există o plajă

de variaţie a valorii fizice a lui k de ± Δ(k)/2, reprezentând „marginea de zgomot” a semnalului k, sau, altfel spus, cât de mult poate varia V(k) fără a altera semnificaţia valorică, logică k.

Asigurarea marginii de zgomot se face în două feluri:

(09. în cazul unui circuit combinaţional – având deci o corespondenţă univocă intrare-ieşire - prin semnalul de intrare, care respectă caracteristica din figura F-4.4;

(10. în cazul unui circuit secvenţial – având deci o corespondenţă

neunivocă intrare-ieşire -, într-o buclă de reacţie a lui, printr-un subcircuit care, inserat în buclă, repetă semnalul logic de la intrare, dar are o caracteristică intrare-ieşire neliniară, ca în figura F-4.4, subcircuitul fiind denumit „element de menţinere a valorii logice”, prescurtat EMV.

Natura relaţiei cauză-efect dintre terminalele de intrare şi de ieşire

împarte circuitele de comutaţie în circuite combinaţionale şi circuite secvenţiale, sau, altfel spus, în circuite fără memorie şi circuite cu memorie, care vor fi definite în continuare.

Întrucât circuitul realizat reprezintă un obiect dat, iar utilizarea sau descrierea lui implică o anumită manieră de considerare a lui, a relaţiei intrare-ieşire a lui, este prin urmare posibil ca un acelaşi circuit fizic să manifeste funcţii diferite în situaţii de considerare diferite. Este ceva normal,

86 04 CONCEPTUL DE CIRCUIT DE COMUTAŢIE

pentru că se ştie că unui obiect dat îi pot corespunde mai multe sisteme diferite.

Prin urmare, maniera de considerare a circuitului se poate reflecta şi asupra naturii relaţiei cauză-efect a circuitului. Aşa că, înainte de clasificarea circuitelor în combinaţionale şi secvenţiale, se consideră normală precizarea condiţiilor de considerare a circuitului.

04 CONCEPTUL DE CIRCUIT DE COMUTAŢIE 87

04.06. CONDIŢIILE DE CONSIDERARE A CIRCUITULUI ZONĂ STABILĂ A CIRCUITULUI

Condiţiile de considerare a circuitului, prescurtate în continuare CCC,

se pot defini astfel: Definiţia D-4.2: Condiţiile de considerare a circuitului reprezintă mulţimea situaţiilor de funcţionare care implică punerea în evidenţă a relaţiei intrare- ieşire a circuitului.

Cu alte cuvinte, CCC precizează condiţiile de abstractizare ale unui circuit realizat, limitele de aplicabilitate a funcţiei lui.

O situaţie de interes pentru considerarea circuitului o prezintă comportarea circuitului în regim stabil, în aşa zisa zonă stabilă a circuitului, definită astfel: Definiţia D-4.3: Zonă stabilă a circuitului este submulţimea stărilor intrării pentru care ieşirea este stabilă, adică, punând intrarea în una dintre aceste stări, ieşirea atinge o stare în care rămâne atât timp cât intrarea nu se schimbă.

88 04 CONCEPTUL DE CIRCUIT DE COMUTAŢIE

04.07. CONCEPTELE : CIRCUIT COMBINAŢIONAL – CIRCUIT SECVENŢIAL

Noţiunile de mai sus sunt suficiente pentru împărţirea circuitelor de comutaţie în combinaţionale şi secvenţiale. Definiţia D-4.4: Circuit combinaţional este un circuit de comutaţie cu zonă stabilă peste toată intrarea şi pentru care corespondenţa intrare-ieşire – definită pe mulţimea stărilor intrării şi cu valori în mulţimea stărilor de ieşire – este univocă, în condiţiile de considerare a circuitului. Definiţia D-4.5: Circuit secvenţial este un circuit de comutaţie care nu este combinaţional.

Circuitele combinaţionale realizează maşini combinaţionale, iar circuite04.05le secvenţiale realizează maşini secvenţiale.

Următorul exemplu (fig. F-4.5) prezintă un circuit care în unele condiţii de considerare este combinaţional, iar în altele secvenţial:

Fig. F- 4.5

Exemplul E-4.2: Circuitul din figura F-4.5 are un terminal de intrare (I)

şi două de ieşire (A1 şi A2). Prin dispozitivul notat cu D se înţelege o întârziere constantă de valoare două unităţi, iar I, A1, A2 iau valorile 0 sau 1.

Dacă CCC impun schimbarea intrării cel mai rapid la patru unităţi

interval şi considerarea relaţiei intrare-ieşire la trei unităţi de la schimbarea intrării, circuitul este combinaţional, pentru că relaţia intrare-ieşire a circuitului este univocă (I = A1 = A2).

Dacă CCC impun considerarea relaţiei intrare-ieşire la fiecare unitate, circuitul este secvenţial, pentru că se poate găsi o aceeaşi stare de intrare care să corespundă, în situaţii diferite, la stări de ieşire diferite.

05. CONCEPTUL DE MEMORIE A CIRCUITELOR DE COMUTAŢIE 89

05. CONCEPTUL DE MEMORIE A CIRCUITELOR DE COMUTAŢIE

05.01. MEMORIA CIRCUITULUI

Despre memoria circuitului se va vorbi ca despre o proprietate a circuitului, evidenţiată în relaţia intrare-ieşire a circuitului. Se va arăta mai târziu că proprietatea de memorie pune în evidenţă un anume tip de structură internă a circuitului. Acest lucru determină ca atunci când se face referire la noţiunea de memorie să se subînţeleagă nu numai proprietatea, dar şi circuitul sau structura care are această proprietate.

Memoria circuitului se poate defini astfel: Definiţia D-5.1: Un circuit de comutaţie are memorie, dacă este

secvenţial.

Cu alte cuvinte, un circuit are memorie, dacă, în condiţiile de considerare a lui, funcţia intrare-ieşire nu este univocă.

Ne-univocitatea funcţiei intrare-ieşire rezultă din considerarea ei ca o relaţie între stările intrării şi ale ieşirii, punct cu punct.

O exprimare deterministă (univocă) a relaţiei intrare-ieşire ar trebui, în cazul circuitelor cu memorie, să considere corespondenţe între secvenţe de stări de intrare şi stările ieşirii. Dar, o asemenea considerare implică memorarea istoriei evoluţiei circuitului. Se ajunge astfel la definiţiile echivalente pentru maşină secvenţială şi pentru memorie, definiţii date în capitolul anterior.

Memoria circuitului este prezentă, într-o formalizare a circuitului secvenţial ca automat, prin mulţimea S a stărilor interne (vezi cap. 4), capacitatea memoriei fiind reprezentată de numărul stărilor interne ale circuitului.

Proprietatea de memorie definită mai sus depinde de condiţiile de considerare a circuitului (CCC). Prin urmare, se pot găsi circuite care în anumite condiţii manifestă memorie, iar în altele nu au memorie, sau, mai bine zis, nu o evidenţiază în relaţia intrare-ieşire.

90 05. CONCEPTUL DE MEMORIE A CIRCUITELOR DE COMUTAŢIE

05.02. MEMORIE PERMANENTĂ MEMORIE TEMPORARĂ

Există un parametru de interes care caracterizează unele circuite

secvenţiale: memoria permanentă, definită astfel: Definiţia D-5.2: Un circuit de comutaţie are memorie permanentă, dacă

restricţia funcţiei lui la zona stabilă a intrării – funcţie considerată în condiţiile în care ieşirea s-a stabilizat în urma tranziţiei intrării – nu este univocă.

Circuitele cu memorie permanentă sunt de interes, pentru că pot

reţine o informaţie atât timp cât nu este ştearsă prin intermediul intrării. Definiţia D-5.3: Orice memorie a circuitului care nu este permanentă este

memorie temporară.

Circuitul din figura F-4.3 este un circuit cu memorie temporară. Circuitul din figura F-5.1 are memorie permanentă, pentru că în

corespondenţa intrare-ieşire, considerată în zona stabilă, starea de intrare S=R=1 corespunde şi la ieşirea Q=0 şi la ieşirea Q=1. Circuitul este o buclă de memorare, cunoscut în literatura de specialitate sub numele de „SR latch”. Porţile logice din figură, reprezentate sub forma de semicerc cu cerculeţ, realizează funcţia de minim negat, iar intrările S şi R, precum şi ieşirea Q pot lua valorile 0 sau 1.

Fig F – 5.1

Studiind corespondenţa intrare-ieşire a unui circuit cu memorie permanentă, construit prin interconectarea unui număr finit de subcircuite cu corespondenţă univocă intrare-ieşire, rezultă că structura circuitului are bucle de reacţie, adică există cel puţin un subcircuit sau un ansamblu de subcircuite care are o parte din terminalele de ieşire conectate la propria intrare: Teorema T-5.1: Un circuit cu memorie permanentă, realizat prin

interconectarea unor subcircuite combinaţionale, are bucle de reacţie.

Demonstraţia teoremei T-5.1:

Se foloseşte metoda reducerii la absurd: Presupunem că circuitul nu are bucle de reacţie.

05. CONCEPTUL DE MEMORIE A CIRCUITELOR DE COMUTAŢIE 91

Verificarea proprietăţii de memorie permanentă a circuitului trebuie făcută în regim stabil, conform definiţiei memoriei permanente. Întrucât circuitul are zonă stabilă peste toată intrarea din regim stabil, starea circuitului se stabilizează în timp finit, în urma schimbării intrării. Starea fiecărui subcircuit este complet determinată de propria intrare, iar, prin interconectarea în aceeaşi direcţie a subcircuitelor – conform ipotezei – se conservă univocitatea intrare-ieşire a întregului ansamblu. Se ajunge astfel la concluzia că întreg circuitul nu are memorie permanentă, contrar ipotezei. Prin urmare, circuitul are bucle de reacţie. Q.E.D.

Teorema de mai înainte stabileşte legătura dintre structura circuitului

şi proprietatea de memorie permanentă. Astfel, memoria permanentă a unui circuit realizat prin

interconectarea de subcircuite combinaţionale poate fi reprezentată prin ieşirile buclelor de reacţie. Prin urmare, între ieşirea buclelor de reacţie şi ieşirea circuitului nu poate fi decât un circuit combinaţional (fig. F-5.2). În funcţie de acest circuit, ieşirea buclelor şi, prin urmare, memoria permanentă poate fi prezentă (afişată) - în totalitate sau nu – pe ieşirea circuitului.

Fig. F - 5.2.

Stările interne ale circuitului, care reprezintă, în fond, memoria

circuitului, sunt date de totalitatea situaţiilor diferite ale ieşirilor buclelor de reacţie, care influenţează evoluţia ieşirii circuitului.

Considerând un circuit stabilizat în urma ultimelor tranziţii, se poate spune că tot ce determină evoluţia lui spre o nouă ieşire constă în tranziţia intrării şi starea buclelor de reacţie, sau, altfel spus, acţiunea prezentă şi istoria evoluţiei circuitului determină evoluţia lui viitoare.

Prin urmare, dacă s-ar cunoaşte, la fiecare schimbare a intrării, tranziţia intrării (adică starea intrării dinaintea tranziţiei şi starea finală a tranziţiei) şi starea internă (situaţia buclelor), atunci starea nouă a circuitului ar putea fi determinată în mod univoc.

Studiind însă evoluţia circuitului pe corespondenţa intrare-ieşire în regim stabil, este posibil ca evoluţia circuitului să nu mai poată fi determinată în mod univoc prin tranziţia intrării şi starea ieşirii. O asemenea situaţie evidenţiază că memoria permanentă a circuitului nu este afişată complet pe ieşirea lui.

92 05. CONCEPTUL DE MEMORIE A CIRCUITELOR DE COMUTAŢIE

05.03. AFIŞAREA MEMORIEI PERMANENTE

În contextul celor de mai sus, se defineşte afişarea memoriei permanente a unui circuit, astfel: Definiţia D-5.4: Un circuit de comutaţie are memoria permanentă complet

afişată, dacă corespondenţa F, definită prin totalitatea corespondenţelor fjk este univocă:

(5.1) fjk : (ij, ik, qj) → qk

În (5.1) stările ij şi ik ale intrării corespund în zona stabilă a circuitului stărilor de ieşire qj, respectiv qk, iar ijik reprezintă tranziţia intrării care schimbă ieşirea din qj în qk.

05. CONCEPTUL DE MEMORIE A CIRCUITELOR DE COMUTAŢIE 93

05.04. MEMORII PERMANENTE CU ACCES PRIN NIVEL ŞI MEMORII PERMANENTE CU ACCES

PRIN TRANZIŢIE 05.04.01. MEMORIE PERMANENTĂ CU ACCES PRIN

NIVEL, MEMORIE PERMANENTĂ CU ACCES PRIN TRANZIŢIE

Se face următoarea convenţie, în legătură cu circuitele de comutaţie

considerate în continuare: Convenţia CV-5.1: Indiferent de ipotezele făcute în prezentarea

circuitului, se consideră implicit existenţa unor limite inferioare pentru durata tranziţiilor intrării şi pentru durata de menţinere a intrării într-o anumită stare.

Aceste limite sunt inerente, datorită memoriilor temporare inerţiale şi

a întârzierilor finite, diferite de zero, de pe căile de transmitere a semnalelor. Cu alte cuvinte, se înţelege că nu pot exista întârzieri zero pe liniile de transmitere a semnalelor şi nici tranziţii ale semnalelor de durată zero, pentru că, aşa cum s-a arătat în cap.2.10, nu există sistem fără memorie, cel puţin temporară, sistemele fără memorie – în cazul lucrării, circuitele combinaţionale – reprezentând o idealizare, în anumite condiţii, a sistemelor reale.

Circuitele cu memorie permanentă se împart în două, după cum accesul în memoria permanentă este determinat numai de nivelul stării nou aplicate pe intrare şi starea ieşirii în momentul schimbării intrării, sau de întreaga informaţie a tranziţiei intrării (atât starea iniţială, cât şi starea finală a tranziţiei intrării) şi starea ieşirii în momentul schimbării intrării: Definiţia D-5.5: Un circuit de comutaţie are memoria permanentă cu acces

prin nivel, dacă pentru orice stare qk corespondenţele fjk definite în (5.1) nu depind de ij.

Definiţia D-5.6: Un circuit de comutaţie are memoria permanentă cu acces

prin tranziţie, dacă există cel puţin o stare qk, pentru care corespondenţa fjk definită în (5.1) depinde de ij.

Exemplul E-5.1: Un exemplu de circuit cu acces prin nivel în memorie îl constituie celula binară SR din fig. F-5.1.

Celula din exemplul E-5.1 este realizată cu două circuite logice NAND (care realizează funcţia de minim negat). Intrarea este reprezentată prin terminalele S şi R, iar ieşirea prin terminalul Q.

Pentru acest circuit, corespondenţele fjk nu depind de ij. Ele au în cazul de faţă forma: (ik, qj) → qk,

94 05. CONCEPTUL DE MEMORIE A CIRCUITELOR DE COMUTAŢIE

unde ik ia valori în domeniul dubletului de intrare (S,R), iar qj ia valori în domeniul lui Q.

Corespondenţele de felul celei de mai sus conduc la relaţia următoare:

S R Q Q* 0 0 1 1 0 0 0 1 0 1 1 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 0

Tabelul Tb-5.1

În tabel, prin Q s-a notat valoarea ieşirii la momentul iniţierii aplicării pe intrările S şi R a noii valori, iar prin Q* s-a notat valoarea ieşirii rezultată în urma schimbării intrării. Exemplul E-5.2: Un exemplu de circuit cu memorie permanentă cu acces prin

tranziţie îl constituie celulă de memorare denumită bistabil T, reprezentată simbolic în figura F-5.1 şi a cărei funcţionare se poate rezuma astfel: „Ieşirea Q a celulei de memorare îşi schimbă valoarea în urma fiecărei tranziţii din 0 în 1 a intrării T”.

Fig. F-5.3

De această dată, corespondenţele fjk nu se pot reduce la forma celor din exemplul anterior. Astfel, relaţia f, definită prin corespondenţele fjk are următorul aspect:

T T* Q Q* 0 1 1 0

05. CONCEPTUL DE MEMORIE A CIRCUITELOR DE COMUTAŢIE 95

0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 0 1 1 1 1 1 1

Tabelul Tb-5.2

În tabel s-au făcut următoarele notaţii: -prin T şi T* s-au reprezentat valorile iniţială şi, respectiv, finală a tranziţiei intrării T; - prin Q şi Q* s-au reprezentat valorile ieşirii Q dinaintea tranziţiei intrării şi, respectiv, după schimbarea intrării.

În cazul realizării memoriilor permanente cu acces prin tranziţie (vezi definiţia D-5.6), considerarea în relaţiile fjk a unor secvenţe de două stări de intrare, face ca tot ce trebuie să fie memorat din secvenţa de intrare să fie starea iniţială a tranziţiei – pentru că starea finală a tranziţiei intrării rămâne nemodificată până la următoarea schimbare a intrării – şi asta numai pe o durată echivalentă cu durata tranziţiei intrării, mai precis, până la intrarea ieşirii în starea care rezultă. O asemenea cerinţă de memorare nu necesită neapărat o memorie permanentă, putându-se folosi, în acest scop, şi o memorie temporară. 05.04.02. AVANTAJELE CARACTERIZĂRII CIRCUITELOR

DUPĂ ACCESUL ÎN MEMORIA PERMANENTĂ

Caracterizarea circuitelor după accesul în memoria permanentă, conform definiţiilor D-5.5 şi D-5.6, are următoarele avantaje:

a) - Permite o caracterizare mai comodă a funcţionării unui circuit având memorie cu acces prin tranziţie, în raport cu reprezentările lui funcţionale care consideră numai starea finală a tranziţiei intrării ca semnificativă în determinarea evoluţiei circuitului. Astfel, funcţionarea circuitului poate fi reprezentată, considerând caracterizarea memoriei lui propusă în definiţia D-5.6, printr-un graf de tranziţii între stările ieşirii, arcele dintre stări reprezentând tranziţiile intrării care conduc circuitul de la o stare la alta. O reprezentare obişnuită – drept circuit realizat cu memorii cu acces prin nivel –, în care arcele grafului sunt marcate prin starea finală a tranziţiei intrării, ar implica o detaliere a structurii interne a circuitului, detaliere care în general nu este unică (la o aceeaşi relaţie funcţională intrare-ieşire pot corespunde mai multe structuri diferite) şi care, totodată, nu face decât să evidenţieze mai greu relaţia intrare-ieşire a circuitului. Următorul exemplu lămureşte acest aspect: Exemplul E-5.3: Funcţionarea bistabilului T din exemplul E-6.2 poate fi

reprezentată prin graful de tranziţii din fig. F-5.4. În această figură s-a notat prin 01 tranziţia din 0 în 1 a intrării T, iar în

96 05. CONCEPTUL DE MEMORIE A CIRCUITELOR DE COMUTAŢIE

noduri s-au notat stările ieşirii. O reprezentare convenţională a grafului de tranziţii ar implica cel puţin patru noduri (stări).

Fig. F-5.4

b) – Caracterizarea programului funcţional prin grafuri de tranziţie, tabele de adevăr, sau alte reprezentări echivalente, în care sunt specificate tranziţiile intrării pe arce, în liniile tabelelor etc., conduce, după cum se va arăta într-un alt capitol, la evidenţierea folosirii de module funcţionale cu acces prin tranziţie în sinteza circuitelor secvenţiale, obţinându-se reducerea necesarului de memorie permanentă, în raport cu folosirea unor module cu memorii cu acces prin nivel. Se ajunge astfel la realizări numite „cu memorie permanentă redusă”.

Astfel, folosirea elementelor de memorare de acces prin tranziţie conduce, în majoritatea cazurilor, la realizări mai compacte ale circuitelor digitale, decât în cazul folosirii elementelor de memorare cu acces prin nivel.

Faptul că evoluţia circuitului poate fi determinată, în cazul accesului prin tranziţie, spre deosebire de accesul prin nivel, şi de starea intrării dinaintea tranziţiei intrării, face ca memoria permanentă necesară realizării respectivului circuit digital să aibă o capacitate redusă sau cel mult egală cu cea a realizării circuitului cu memorii cu acces prin nivel.

In general, memoriile cu acces prin tranziţie au o mai mare complexitate internă faţă de cele cu acces prin nivel. Avantajul folosirii lor este însă dat de faptul că din punctul de vedere al utilizatorului nu contează complexitatea internă a modulului funcţional, ci numărul de module şi complexitatea interconectării lor, mai reduse în cazul folosirii modulelor de memorare cu acces prin tranziţie.

05. CONCEPTUL DE MEMORIE A CIRCUITELOR DE COMUTAŢIE 97

05.05. CIRCUITE DE MEMORARE CU INTRĂRI ACTIVE ŞI INTRĂRI PASIVE

05.05.01. TERMINALE DE INTRARE ACTIVE

ŞI TERMINALE DE INTRARE PASIVE

S-a arătat că orice circuit reprezintă o relaţie cauzală intrare-ieşire, schimbarea intrării determinând schimbarea ieşirii.

În continuare se va da o împărţire a terminalelor de intrare ale unui circuit cu memorie permanentă, în funcţie de modul în care aceste terminale influenţează direct sau indirect schimbarea ieşirii circuitului. O asemenea caracterizare a terminalelor de intrare este justificată prin faptul că evidenţiază o proprietate de interes în cazul conectării circuitelor între ele în vederea realizării unui dispozitiv digital. Se va şti, astfel, la o asemenea interconectare, dacă schimbările – uneori nedorite – pe un anume terminal de intrare sunt sau nu sunt sesizate de memoria permanentă a circuitului, aspect considerat şi în etapa de proiectare a circuitului.

Astfel, terminalele de intrare ale unui circuit cu memorie permanentă pot fi active sau pasive, după cum este specificat în definiţiile următoare: Definiţia D-5.7: Un terminal de intrare este activ, dacă există o situaţie de

funcţionare în care schimbarea stării acestui terminal, în condiţiile în care starea restului terminalelor de intrare este constantă, conduce la schimbarea ieşirii circuitului.

Definiţia D-5.8: Un terminal de intrare este pasiv, dacă nu este activ.

Se obişnuieşte să se spună, în loc de „terminal de intrare k”, pur şi simplu „intrare k”. Aşa că se va folosi şi termenul de „intrare activă sau pasivă”, în locul termenului de „terminal de intrare activ sau pasiv”.

Trebuie observat că, în orice caz, orice circuit are cel puţin o intrare activă. În caz contrar, intrarea ar fi decuplată funcţional de ieşire, adică n-ar exista nici o modalitate de a influenţa ieşirea prin intrare.

De asemenea, nu trebuie înţeles că o intrare pasivă nu are influenţă asupra circuitului. Starea ei influenţează evoluţia ieşirii circuitului la acţiunea intrărilor active. Exemplul E-5.4: Un circuit cu memorie permanentă, având toate intrările

active este celula binară SR din fig. F-5.1. Exemplul E-5.5: Un circuit cu memorie permanentă, având intrări active şi

pasive este bistabilul tip D, reprezentat simbolic în fig. F-5.5. Acest circuit are două intrări: T, intrarea de clock, şi D, intare de informaţie (de date). Intrarea T este activă, iar intrarea D este pasivă. Funcţionarea este următoarea: la tranziţia de acţionare pe T, eşirea Q a bistabilului ia valoarea intrării D.

98 05. CONCEPTUL DE MEMORIE A CIRCUITELOR DE COMUTAŢIE

Fig. F-5.5

Circuitul din fig. F-5.5 este numit în cataloage „D-type edge triggered flip-flop”, adică bistabil D cu acces prin tranziţie. Într-adevăr, bistabilul D are nu întâmplător acces prin tranziţie. În subcapitolul următor se lămureşte acest aspect. 05.05.02. CIRCUITELE CU INTRĂRI PASIVE AU ACCES PRIN

TRANZIŢIE Teorema T-5.2: Un circuit cu intrări active şi pasive are memorie permanentă cu acces prin tranziţie. Demonstraţia teoremei T-5.:

Se arată că circuitul are memorie permanentă: Faptul că un circuit are sau nu intrări pasive este manifestat (vezi definiţiile D-5.7 şi D-5.8) în corespondenţa intrare-ieşire din zona stabilă a circuitului. Dacă circuitul are intrare pasivă şi această corespondenţă ar fi univocă - adică presupunând că circuitul n-ar avea memorie permanentă - ar rezulta că intrarea pasivă este ruptă de circuit, adică nu are nici un rol funcţional, contrar ipotezei. Acest lucru rezultă din faptul că separarea dintre două stări ale ieşirii se poate face, în cazul unei corespondenţe univoce, numai cu ajutorul restului intrărilor, fără contribuţia intrării pasive. Această afirmaţie se demonstrează prin reducere la absurd:

Fie două ieşiri q1 şi q2, q1 ≠ q2, separate în corespondenţa univocă prin stările intrării (p1,i1) şi (p2,i1), unde p1 şi p2 sunt stări diferite ale intrării pasive, iar i1 este o stare a restului intrărilor: (p1,i1) → q1 (p2,i1) → q2

Întrucât în corespondenţa stabilă (p1,i1) → q1 se poate mişca intrarea pasivă din p1 în p2 fără ca ieşirea să se schimbe (conform definiţiei D-7.2), atunci corespondenţele de mai sus implică şi corespondenţa: (p2,i1) → q1

Această corespondenţă, împreună cu cele de mai sus, contrazice ipoteza corespondenţei univoce intrare-ieşire în zona stabilă a circuitului.

05. CONCEPTUL DE MEMORIE A CIRCUITELOR DE COMUTAŢIE 99

Prin urmare, o intrare pasivă cu rol funcţional implică o corespondenţă ne-univocă. Deci, în conformitate cu definiţia D-5.2, circuitul are memorie permanentă.

Se arată în continuare că memoria permanentă a circuitului are acces prin tranziţie:

Se presupune circuitul stabil în situaţia: (p1,i1) → q1 şi că circuitul trece în starea q2, unde q2 ≠ q1, prin aplicarea intrării (p1,i2), unde i2 ≠ i1: (p1,i2) → q2

Întrucât intrarea pasivă nu este decuplată funcţional, există o stare q1 a ieşirii, în situaţia stabilă de mai sus, pentru care o stare p2, cu p2 ≠ p1, a căii pasive opreşte schimbarea ieşirii la aplicarea lui i2 pe restul intrărilor.

Atunci, se poate imagina următoarea secvenţă de stări care ţin ieşirea neschimbată în q1: (p1,i1) (p2,i1) (p2,i2) (p1,i2) (p1,i1) → q1

Aplicând, în continuarea secvenţei de mai sus, starea de intrare (p1,i2), circuitul va trece în q2, unde q2 ≠ q1, conform presupunerii de mai înainte.

Prin urmare: (p1,i1) (p1,i2) → q2

Totodată, din secvenţa de mai sus rezultă: (p2,i2) (p1,i2) → q1

Dacă se ia în considerare şi starea ieşirii circuitului la iniţierea tranziţiilor, se ajunge la stabilirea corespondenţelor fjk de tipul (5.1) (vezi definiţia D-5.4), care conduc la verificarea faptului că memoria permanentă a circuitului are acces prin tranziţie: ((p1,i1) (p1,i2),q1) → q2 ((p2,i2) (p1,i2),q1) → q1

Conform definiţiei D-5.4 rezultă că memoria permanentă are acces prin tranziţie. Q.E.D.

Se desprind următoarele consecinţe ale teoremei T-5.2: Consecinţa CS-5.1: Circuitele combinaţionale au numai intrări active. Consecinţa CS-5.2: Circuitele cu memorie permanentă cu acces prin

nivel au numai intrări active.

100 06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ

06. FUNCŢII ÎN LOGICĂ MULTIVALENTĂ

LOGICĂ ARHETIPALĂ: O ALGEBRĂ PENTRU CIRCUITE ÎN LOGICĂ MULTIVALENTĂ

06.01. SISTEME DE LOGICĂ MULTIVALENTĂ

06.01.01. TERMINOLOGIE 1) - Logică multivalentă:

În lucrarea de faţă, prin “sistem de logică multivalentă” (sau, simplu, „logică multivalentă”), se înţelege un sistem formal cu ajutorul căruia se pot exprima şi optimiza funcţiile şi structura circuitelor şi sistemelor digitale, ale căror variabile de intrare, interne, sau de ieşire pot lua două sau mai multe valori. 2) – Logică continuă:

În cazul când sistemul logic formal se aplică unor variabile definite într-un domeniu finit, dar continuu, adică N → ∞, N fiind numărul de valori, sistemul logic se va numi: „sistem de logică continuă” (sau, simplu, „logică continuă”). 3) – Logică multivalentă discretă:

În cazul sistemelor digitale, unde sistemul formal se aplică unor variabile definite pe o mulţimi discrete şi finite, sistemul logic se va numi - doar acolo unde este necesar să-l deosebim de logica continuă: „sistem de logică multivalentă discretă” (sau, simplu, „logică multivalentă discretă”)

În restul cazurilor, specificarea de „discret” nu se foloseşte. 4) – Logică multivalentă simplă şi logică multivalentă vectorială:

În funcţie de forma de exprimare a variabilelor, care poate fi simplă sau vectorială, sistemul logic va fi numit: - „sistem de logică multivalentă simplă”, (sau, simplu, „logică multivalentă simplă”), sau - „sistem de logică multivalentă vectorială” (sau, simplu, „logică multivalentă vectorială”)

06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ 101

06.01.02. LOGICĂ MULTIVALENTĂ - CLASIFICARE A – LOGICĂ MULTIVALENTĂ SIMPLĂ (logica sistemelor cu o singură ieşire) Logica multivalentă simplă mai este denumită în lucrare drept

„logica sistemelor cu o singură ieşire”, pentru că în sistemul logic formal nu se realizează o tratare globală optimizată a ieşirilor multiple ale sistemului analizat sau supus sintezei, ci fiecare ieşire este tratată independent de celelalte (cu excepţia căutării ulterioare a unor părţi comune între ieşiri), metodă care oferă însă cadrul aplicării unor tehnici digitale de eliminare a aşa zisului „hazard logic” (adică a eliminării apariţiei temporare a unor stări diferite de cele specificate în tabelul de valori.

A1 – LOGICĂ MULTIVALENTĂ SIMPLĂ DISCRETĂ; A1.1 - „logică binară” ,

care constituie sistemul logic clasic folosit în analiza şi sinteza circuitelor de comutaţie binare, la care fiecare terminal ia două valori. (sistemul „cu un fir pe variabilă” şi „două valori pe fir”);

A1.2 - „logică n-ară”, n›2,

care constituie sistemul logic folosit în analiza şi sinteza sistemelor digitale multivalente simple (sistemul „cu un fir pe variabilă” şi „n valori pe fir”, unde n poate fi diferit pentru variabilele de intrare, faţă de cele de ieşire).

A2 – LOGICĂ SIMPLĂ CONTINUĂ

A2.1 – logică simplă continuă,

folosită, în general, în sisteme în care se iau decizii logice pe un set de variabile continue.

A2.1 – logică simplă fuzzy,

caz particular al logicii continue simple, aplicată asupra părţii decizionale a unui sistem fuzzy cu o singură ieşire.

102 06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ

B - LOGICĂ MULTIVALENTĂ VECTORIALĂ: (logica sistemelor cu mai multe ieşiri)

Logica multivalentă vectorială mai este denumită în lucrare drept „logica sistemelor cu mai multe ieşiri”, pentru că sistemul logic formal permite o tratare globală optimizată a ieşirilor multiple ale sistemului analizat sau supus sintezei, adică toate ieşirile sistemului sunt tratate global, fiind incorporate într-o variabilă-vector de ieşire, fiecare variabilă de intrare sau de ieşire putând fi, la rândul ei, un vector. B1 - LOGICĂ MULTIVALENTĂ VECTORIALĂ DISCRETĂ: B1.1 - logică binar-vectorială:

(logica implementărilor multivalente „cu două valori pe fir”)

În acest sistem de logică vectorii cu componente binare reprezintă variabilele sistemului, adică sunt vectori binari.

Se disting două ramuri direct aplicative: B1.1.a – logica sistemelor binare având mai multe ieşiri

binare. Acest sistem de logică multivalent-vectorială se foloseşte

pentru analiza şi sinteza sistemelor binare având mai multe ieşiri binare, ieşiri care sunt incorporate într-un vector de ieşire şi tratate global, unitar, optim.

Sistemul de logică are aplicabilitate directă şi imediată în proiectarea sistemelor având drept bază structuri logice programabile.

B1.1.b - logică algoritmică

(binar-vectorială): Acest sistem de logică permite, prin folosirea unei algebre

multivalente, ai cărei operatori sunt implementaţi în binar, transpunerea algoritmului software în funcţie logică optimizată şi, în perspectiva folosirii unor sisteme cu hardware reconfigurabil (oferind posibilitatea implementării hardware a algoritmului), poate permite tratarea într-o manieră paralelă, specifică operării funcţiilor combinaţionale şi tehnicilor specifice realizării circuitelor digitale.

Logica algoritmică deschide, în principiu, calea creşterii sensibile a vitezei de prelucrare a informaţiei în calculatoare structurate corespunzător tehnicii sugerate mai înainte, dar folosind tot tehnologia existentă.

Dată fiind perspectiva deosebită de creştere a vitezei de prelucrare a informaţiei, permiţând astfel compactizarea unor sisteme de mare complexitate funcţională (crescând sensibil viteza de prelucrare, se pot elimina paralelisme hardware de mare

06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ 103

complexitate, destinate obţinerii unor rezultate echivalente), în capitolul dedicat logicii algoritmice se expun principiile unui asemenea sistem logic, a implementării hardware a algoritmilor software, care poate conduce la realizarea unor automate algoritmice, bazate pe logica vectorială algoritmică.

B1.2- Logică n-ar vectorială, n›2:

(logica implementărilor multivalent-vectoriale, “cu n valori pe fir”)

Un asemenea sistem de logică permite aplicaţii similare celor

ale logicii binar-vectoriale, cu deosebirea că sistemele implementate au n valori pe fir, adică sunt multivalente, la propriu.

Perspectiva folosirii unor asemenea sisteme se întrevede în tehnologiile viitorului, folosind modularea optică a luminii, tehnologii biologice, tehnologia cristalelor, dar şi în unele implementări multivalente în tehnologia semiconductorilor, bazate pe nivele logice multiple de tensiune sau curent.

B2 - LOGICĂ VECTORIALĂ CONTINUĂ Acest tip de logică permite optimizarea sistemelor cu logică continuă, care au mai multe funcţii de ieşire depinzând de acelaşi set de intrări.

Aplicaţiile sunt în sistemele cu logică continuă propriu-zisă, cu aplicaţii şi în sistemele fuzzy cu ieşiri multiple:

B2.1 - logică vectorială continuă

B2.2 - logică vectorială fuzzy

104 06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ

06.02. REPREZENTAREA UNEI FUNCŢII LOGICE MULTIVALENTE 06.02.01. TABEL DE VALORI

Un sistem digital în logică multivalentă are intrările şi ieşirile cu valori în mulţimi discrete de N, respectiv de M elemente diferite, corespondenţa intrare-ieşire reprezentând funcţia sistemului. Elementele mulţimilor în care iau valori variabilele de intrare şi de ieşire ale sistemului pot fi, la rândul lor, mulţimi şi trebuie să fie diferite între ele în cadrul mulţimii din care fac parte, nefiind necesar un alt tip de comparare, sortare, ordonare: pur şi simplu, sunt elemente diferite, iar când unei variabile i se atribuie o valoare dintr-o asemenea mulţime, este necesară doar identificarea acelei valori, spre a o deosebi de altele din mulţimea de valori.

Pentru clarificare, o asemenea mulţime poate conţine elemente necomparabile între ele, dar care se pot distinge unele de altele: animale, ţări, numere, sentimente, litere etc.

Totodată, aceste elemente se pot boteza, punându-le în corespondenţă biunivocă cu elementele din ZN, respectiv ZM:

ZN=⎨0N,1N,...,(N-1)N⎬ = mulţimea numelor elementelor de intrare, ZM=⎨0M,1M,...,(M-1)M⎬ = mulţimea numelor elementelor de ieşire,

- numerele 0N, 1N, ... , (N-1)N desemnând simbolic cele N valori logice pe care le poate lua fiecare variabilă de intrare, - numerele 0M, 1M, ... , (M-1)M desemnând simbolic cele M valori logice pe care le poate lua fiecare variabilă de ieşire. Corespondenţa biunivocă prin care se asociază nume elementelor mulţimilor de valori are o semnificaţie mai profundă, în cazul implementării sistemului digital, ea simbolizând operaţiile de traducere – prin traductori specifici elementelor – a elementelor în mărimi şi simboluri comparabile, asupra cărora sistemul digital operează decizii logice, în sensul că – în conformitate cu corespondenţa intrare-ieşire – stabileşte ce valoare se atribuie variabilelor de ieşire, atunci când pe intrări apare o anumită combinaţie de valori. Mulţimile ZN şi ZM sunt înzestrate cu o relaţie de ordine ≤ , evidenţiată în felul următor:

- 0 este cel mai mic element al mulţimii (prim element al mulţimii): 0N ≤ x , orice x ∈ ZN , 0M ≤ y , orice y ∈ ZM ;

- (N-1)N , respectiv, (M-1)M este cel mai mare element al mulţimii

(ultim element al mulţimii: x ≤ (N-1)N y ≤ (M-1)M

06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ 105

- nu este necesară existenţa relaţiei de ordine între celelalte elemente, cu excepţia raportării lor la elementele prim şi ultim ale mulţimii;

- în funcţie de modalitatea de implementare a circuitului şi de tipul simplu sau vectorial al elementelor mulţimilor de intrare şi de ieşire, uneori se impune ca nivelele logice ale variabilelor care reprezintă elementele mulţimii să respecte condiţiile următoare: 0N = 0M (N-1)N = (M-1)M unde 0N , 0M , (N-1)N , (M-1)M reprezintă, în cazul variabilelor vectoriale, primul şi ultimul element al mulţimii nivelelor logice ale componentelor vectoriale.

O modalitate directă de reprezentare a corespondenţei intrare-ieşire a sistemului – corespondenţă exprimată fie prin elementele primare, iniţiale ale sistemului, fie prin numele lor echivalente – constă în stabilirea unui tabel – denumit „tabel de valori” – care ataşează fiecărei combinaţii specificate de valori a variabilelor de intrare, combinaţia corespunzătoare de valori a ieşirilor.

În funcţie de modul de definire a sistemului, unele combinaţii de valori ale intrărilor sau ieşirilor nu sunt specificate complet (poziţia nespecificată fiind marcată prin „ – „), prin aceasta considerându-se că sistemul îşi face funcţia indiferent de variabila sau combinaţia de variabile nespecificate, sau că sistemul presupune că unele combinaţii de intrare nu pot să apară în aplicaţia dată (situaţie care, uneori, poate manifesta, doar aparent, o corespondenţă neunivocă intrare-ieşire, caz care va fi tratat şi soluţionat în finalul lucrării de faţă).

Cu cât tabelul de valori are mai puţine valori specificate, cu atât implementarea sistemului include mai puţine operaţii decizionale (pentru că sunt mai puţine identificări de valori şi de combinaţii de valori ale variabilelor).

Observaţia de mai sus indică, din start, o metodă directă de optimizare a sistemelor digitale – binare sau multivalente – prin minimizarea tabelului de valori, în sensul reţinerii a unui număr cât mai mic de poziţii specificate care să reprezinte totuşi corespondenţa intrare-ieşire.

În continuare, se prezintă, ca exemplu, un tabel de valori al unei

funcţii multivalente, care are trei intrări şi o ieşire, toate cu valori în Z10:

Exemplul E-6.1: Tabelul de mai jos prezintă o funcţie F de trei variabile x, y, z, unde x, y, z, F ∈ Z10

Nr. rând

x y z F

1 2 3 4 5 6 7 8

3 5 7 1 7 2 2 1 4 4 2 2 1 3 1 5 7 3 5 7 2 în rest

9 7 3 0 0 0 7 -

106 06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ

Tabelul Tb-6.1 În tabelul Tb-6.1, în coloana lui F, prin „–„ se arată că funcţia nu este

specificată pentru respectivele combinaţii de valori ale variabilelor, valoarea ei putând fi considerată oricare în expresia analitică funcţiei. Dacă rândul 8 ar fi specificat: „8 în rest 5” atunci în tabel ar fi necesară, în vederea aplicării tehnicilor de minimizare, expandarea acestui rând din tabel, explicitând toate situaţiile reprezentate prin formularea „în rest”. Un asemenea tabel este denumit în algebra binară „tabel de adevăr” şi vom adapta această denumire pentru cazul N-ar, numind-o „tabel de valori”.

06.02.02. OPERATORII ALGEBREI MULTIVALENTE

Exprimarea formală, analitică a funcţiei F trebuie să asigure, pentru

fiecare rând, identificarea egalităţii variabilelor cu valorile specificate, de exemplu, pentru rândul 1 să pună în evidenţă că x=3, y=5, z=7 şi să atribuie funcţiei valoarea asociată rândului, în cazul de faţă, valoarea 9.

Acest lucru implică: - identificarea valorii variabilei cu o valoare dată, fixă; - identificarea combinaţiei de valori ale variabilelor într-un rând; - atribuirea lui F a valorii specificată în dreptul rândului. În vederea asigurării cerinţelor de mai sus, se propune următorul set de

operatori, care, fără a avea pretenţia de unicitate, rezolvă problema:

a)– operator de echivalenţă sau egalitate

(6.1) e(x,y) = ⎢⎣

⎡=−

≠ypt.x1,N

ypt.x0,

unde x, y, e(x,y) ∈ ZN Simboluri echivalente pentru operatorul de echivalenţă sunt:

(8.2) y)XNOR(x,yxy)e(x, ===

Figura următoare prezintă simbolul grafic folosit pentru operatorul

sau circuitul de echivalenţă:

06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ 107

Fig. F-6.1

b)– operator de minim (sau „produs”): (6.3) min(x,y) = minimul valorilor lui x şi y,

simbolizat şi prin AND(x,y), sau x.y, unde x, y, min(x,y) ∈ ZN:

(6.4) min(x,y)) = AND(x,y) = x.y

Figura următoare prezintă simbolul grafic folosit pentru operatorul sau circuitul de minim:

FIG. F-6.2

Se convine să se noteze, pentru operaţii de minim multiple :

(6.5) x1, x2, ..., xn=∏=

n

1iix

c)- operator de maxim („produs dual”, sau „produal”):

(8.6) max(x,y) = maximul valorilor lui x şi y,

simbolizat şi prin OR(x,y), sau yx

,

unde x, y, max(x,y) ∈ ZN:

(6.7) max(x,y) = OR(x,y) = yx

Figura următoare prezintă simbolul grafic folosit pentru operatorul sau circuitul de maxim:

FIG. F-6.3 Se convine să se noteze, pentru operaţii de maxim multiple:

108 06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ

(6.8)

nx...

2x1x

= ∑=

n

1iix

06.02.03. CONVENŢIE DE REPREZENTARE A PRODUSULUI DE PRODUALURI

În cazul reprezentării grafice a produsului de produaluri se face următoarea convenţie:

Convenţia Cv-6.1: Într-un produs de produaluri, două bare verrticale separate de punctul marcând

operaţia de minim se reprezintă printr-o singură bară, ca mai jos:

(6.9) vu

yx

vu

.yx

=

06.02.04. EXPRESIA ANALITICĂ A FUNCŢIEI

MULTIVALENTE. PRIMA FORMĂ CANONICĂ

Cu acest set de operatori, funcţia F(x,y,z) poate fi reprezentată

astfel:

(6.10) F(x,y,z) =

.7,7).e(z,2)e(x,5).e(y

.3,1).e(z,4)e(x,2).e(y

.7,7).e(z,2)e(x,1).e(y,5).e(z,7)e(x,3).e(y

Nota N-6.1: Se specifică că, într-o asemenea reprezentare (prima formă canonică a funcţiei,după cum se va preciza în continuare):

- rândurile din tabel în care F=0 nu apar în expresia funcţiei, pentru că valoarea corespunzătoare a produsului este 0 şi nu influenţează operaţia de maxim;

- rândurile în care F=9 nu mai conţin valoarea lui F în produs, pentru că această valoare este maximă (în acest caz, 9=(N-1)); - totodată, combinaţiile nespecificate din rândul 8 au fost considerate 0, pentru a nu fi considerate în evaluarea funcţiei.

06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ 109

Nota N-6.2: Se constată, din relaţia (6.10): - operatorul de minim se aplică unui produs:

x.y, unde x ∈ {0,(N-1)} şi y ∈ ZN - operatorul de maxim se aplică unui produal:

yx

, unde x = 0 şi y∈ ZN

Definiţia D-6.1: O asemenea evaluare a funcţiei, după modelul din

(6.10), se va numi „prima formă canonică”, prin analogie cu algebra binară.

De reţinut este faptul că prima formă canonică a funcţiei se obţine folosind algebra (ZN, e, m ,M)!

Recomandarea R-6.1: În evaluarea unei funcţii multivalente în conformitate cu prima formă canonică, se

recomandă ca valorile opţionale ale funcţiei să fie considerate egale cu 0, dacă nu sunt implicate în combinaţii de simplificare a funcţiei F prin operaţii de completitudine, care vor fi definite mai târziu.

110 06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ

110

06.03. PRIMA FORMĂ CANONICĂ EXPRESIA GENERALĂ

Se fac următoarele notaţii:

bj - valoarea lui F în rândul j, aij – valoarea variabilei xi în rândul j. bj poate să aibă valorile:

- 0 - (N-1) - bs, unde bs ≠ 0 şi bs ≠ (N-1) - bt, valoare nespecificată.

Atunci, expresia lui F se poate scrie, la modul general:

(6.11) )ija,n

1i ie(x.n2

1jjbF ∏∑==

=

sau, desfăcut, corespunzător celor patru tipuri de valori ale lui F: (6.12) unde:

- p indică rândurile cu F=0 - r indică rândurile cu F=(N-1) - s indică rândurile cu F≠0 şi F≠(N-1) - t indică rândurile pentru care F nu este specificat.

Ţinând cont că produsul cu 0 este 0, iar produsul cu (N-1) este egal cu acel produs fără factorul (N-1) şi că pentru rândurile cu F nespecificat se poate considera F=bt=0 (fără a scăpa din vedere faptul că rândurile cu F nespecificat pot contribui la simplificarea funcţiei, prin combinarea lor cu celelalte rânduri, prin operaţia de completitudine, care va fi definită mai târziu), expresia lui F devine: (6.13) Această expresie poate fi, în principiu, simplificată, prin folosirea în operaţii de completitudine, acolo unde este posibil, şi a rândurilor în care F este nespecificat:

)ita,n

1iie(x.

ttb

)isa,n

1iie(x.

ssb

)ira,n

1iie(x.

r1)(N

)ipa,n

1i ie(x.p

0

F

∏∑

∏∑

∏∑

∏∑

=

=

=−

=

=

)isa,n

1iie(x.

ssb

r)ira,

n

1i ie(x

F

∏∑

∑∏

=

==

06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ 111

(6.14) )ita,n

1i ie(x.t

tb ∏∑=

,

caz în care lui F i se atribuie valoarea potrivită simplificării (aşa cum se va arăta mai tărziu). Expresia (6.13) reprezintă prima formă canonică a funcţiei F.

112 06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ

112

06.04. O ALGEBRĂ LOGICĂ MULTIVALENTĂ

În general, o algebră poate fi definită astfel: Definiţia D-6.2: O algebră reprezintă o mulţime în care este indusă o

relaţie de ordine şi este înzestrată cu un set de operatori, definiţi pe ea însăşi şi cu valori în ea.

Plecând de la acest concept, vom defini algebra logică multivalentă, folosită în reprezentarea formală a funcţiei şi structurii circuitelor digitale multivalente, astfel: Definiţia D-6.3: Multipletul (ZN, e, min, max), sau, echivalent,

(ZN,e, • , ), unde ZN este mulţimea {0,1,....(N-1)},

ordonată pe baza relaţiei ≤ , se constituie într-o algebră logică multivalentă, destinată analizei şi sintezei circuitelor de comutaţie care funcţionează într-o logică multivalentă. Operatorii algebrei sunt definiţi în (6.1), (6.2) şi (6.3).

06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ 113

06.05. ALGEBRA ARHETIPALĂ:

O ALGEBRĂ MULTIVALENTĂ – REFLECTARE A „LEGII UNIVERSALE A LUI 3”

Operatorii aleşi pentru algebra multivalentă, care va fi numită „algebră arhetipală”, produc o sortare valorică a oricăror două elemente aparţinând mulţimii variabilelor, constantelor, funcţiilor multivalente – folosind drept scară de valori numerele întregi aparţinând lui ZN – după polaritate (prin operatorii de min şi max), adică după apropierea de o extremă sau de alta, oferind şi posibilitatea de identificare a echilibrului lor valoric (prin operatorul de echivalenţă). După cum se vede, nu este dificil de identificat şi aici reflectarea specifică a triadei fundamentale a manifestării (+, - şi 0) (vezi informaţiile despre LEGEA LUI 3, în cap.1 al prezentei lucrări) în setul de operatori ales (max, min şi e), precum şi de evidenţiat caracterul dual al operatorilor max şi min. Din aceste raţiuni, algebra multivalentă prezentată, precum şi variantele ei echivalente, a fost denumită „algebră arhetipală”, folosindu-se, unde este cazul, şi precizarea aspectului de multivalenţă, denumind-o „algebră arhetipală multivalentă”, sau „algebră arhetipal-multivalentă”, sau, pur şi simplu, „algebră multivalentă”. Referitor la dualitatea operatorilor, s-a adoptat în prezenta lucrare notaţia matricială a operaţiilor de max şi min - introdusă de Rene-Louis VALEE în „ANALYSE BINAIRE – Raport CEA-R-3534, 1968, C.E.N. Saclay”, pentru analiza binară şi extinsă aici pentru algebra multivalentă – pentru că reflectă mai bine această dualitate, a cărei esenţă rezidă, după cum se intuieşte din referirea la această „lege universală a lui 3”, în aspectul dual al întregii manifestări.

114 06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ

114

06.06. OPERATORI DERIVAŢI ÎN ALGEBRA ARHETIPALĂ Pe baza operatorilor algebrei definite mai înainte se pot introduce şi alţi operatori operând în ZN şi stabiliţi ca funcţii în algebra dată. Ne vom referi aici – deşi lista poate continua - la:

- operatorul de complementare; - operatorul de non-echivalenţă; - operatorul de minim complementat; - operatorul de maxim complementat,

toţi aceşti operatori având proiecţii des utilizate în cazul algebrei binare, prezentată aici ca o particularizare a algebrei arhetipale multivalente, pentru cazul N=2. 06.06.01. OPERATORUL DE COMPLEMENTARE

Operatorul de complementare se defineşte astfel: (8.15) com(x) = (N-1) – x,

unde x, com(x) ∈ ZN Se mai foloseşte şi notaţia echivalentă: (6.16) com(x) = x

Figura următoare prezintă simboluri grafice echivalente folosite pentru operatorul sau circuitul care realizează funcţia de complementare.

Fig. F-6.4

06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ 115

În continuare se prezintă realizarea funcţiei de complementare în

algebra arhetipal-multivalentă, plecând de la tabelul de valori corespunzător funcţiei:

Tabelul Tb-6.2

Expresia analitică a funcţiei de complementare, conform tabelului T-6.2 şi a convenţiilor stabilite mai înainte, este:

(6.17) ∑−

=−−=

1)(N

0ii)1)i).((Ne(x,x

06.06.02. OPERATORUL DE NON-ECHIVALENŢĂ Operatorul de non-echivalenţă reprezintă funcţia de complementare a operaţiei de echivalenţă: (6.18)

⎢⎣

⎡≠−

==−−=

ypentru.x1,Nypentru.x0,

y)e(x,1)(Ny)(x,e

unde x, z, y)(x,e ∈ ZN Simboluri echivalente pentru operatorul de non-echivalenţă sunt: (6.19) y)XOR(x,yxy))com(e(x,y)(x,ey)ne(x, =≠===

Figura următoare prezintă simboluri grafice echivalente pentru

operatorul sau circuitul care realizează funcţia de non-echivalenţă:

Fig. F-6.5

F

x

0 1 2 ... N-1

N-1 N-2 N-3 0

116 06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ

116

06.06.03. OPERATORUL DE MINIM COMPLEMENTAT

Operatorul de minim complementat realizează operaţia de complementare a minimului: (6.20) comin(x,y) = com(min(x,y)) = NAND(x,y) = x.y unde x, y, comin(x,y) ∈ ZN

În (6.20) sunt date şi simbolurile echivalente ale operatorului.

Figura următoare prezintă simboluri grafice echivalente pentru operatorul sau circuitul care realizează funcţia de minim complementat:

FIG.F- 6.6

06.06.04. OPERATORUL DE MAXIM COMPLEMENTAT

Operatorul de maxim complementat realizează operaţia de complementare a maximului:

(6.21) comax(x,y) = com(max(x,y)) = NOR(x,y) = yx + = yx

unde x, y, comax(x,y) ∈ ZN În (6.21) sunt date şi simbolurile echivalente ale operatorului. Figura următoare prezintă simboluri grafice echivalente pentru operatorul sau circuitul care realizează funcţia de maxim complementat:

Fig. F-6.7

06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ 117

06.07. TEOREMELE LUI DE MORGAN 06.07.01. FORMA ANALITICĂ A TEOREMELOR LUI

DE MORGAN Se prezintă aici o extensie, în cazul multivalent, a teoremelor lui De Morgan din algebra binară. De fapt, se arată că ele au o formă echivalentă şi în cazul multivalent. Aceste teoreme arată că operaţia de complementare a produsului (min) sau a produalului (produsului dual, sau max) transformă produsul în produal şi invers, cu complementarea variabilelor, după cum este enunţat în continuare.

Teorema T-6.3 (Teorema a I-a a lui De Morgan):

(6.22) yx

x.y = ,

sau, generalizând pentru n variabile:

(6.23)

nx...

2x1x

n...x2.x1x = ,

sau, echivalent:

∑∏=

==

n

1iix

n

1iix

Teorema T-6.4 (Teorema a II-a a lui De Morgan)

(6.24) y.xyx=

sau, generalizând pentru n variabile:

118 06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ

118

(6.25) nx...2x.1x

nx...

2x1x

= ,

sau, echivalent:

∑=

n

1iix ∏

==

n

1iix

Demonstraţia teoremelor lui De Morgan:

Din definiţia complementului (vezi (6.15) rezultă că suma dintre o variabilă şi complementul ei este constantă şi egală cu (N-1). Prin urmare, dacă una dintre variabile (x, de exemplu) reprezintă minimul (sau maximul) într-un set de variabile, atunci complementul ei ( x ) va reprezenta maximul (respectiv minimul) între complementele acestor variabile. Rezultă că prin complementarea minimului (sau maximului) se obţine maximul (respectiv, minimul) complementelor variabilelor.

Figura F-6.8 ilustrează grafic, pe o axă, ordonarea variabilelor şi a complementelor lor, în raport cu axa mediană (variabila şi complementul ei sunt plasate simetric faţă de axa mediană). Din figură rezultă imediat teoremele lui De Morgan.

Fig. F- 6.8

Generalizările se bazează pe asociativitatea operatorilor de min şi max: (6.26) ((x1.x2).x3) = (x1.(x2.x3)) = x1.x2.x3

(6.27)

3x2x1x

3x2x1x

3x2x1x

==

Q.E.D.

06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ 119

06.07.02. FORMA GRAFICĂ A TEOREMELOR LUI DE MORGAN Transpunând teoremele lui De Morgan într-o implementare cu porţi logice (cu simbolurile grafice ale operatorilor algebrei arhetipale), rezultă echivalenţele grafice ale acestor teoreme, prezentate în fig. F-6.9.

Fig. F-6.9

120 06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ

120

06.08. ALGEBRE ECHIVALENTE Folosind operatorii derivaţi, putem genera următoarele algebre

arhetipal-multivalente echivalente, aşa cum stabileşte teorema următoare: Teorema T-6.5: Algebrele următoare sunt echivalente:

(8.28) (ZN, e, min, max) (6.29) (ZN, ne, min, mav) (6.30) (ZN, e, comin) (8.31) (ZN, e, comax) (8.32) (ZN, ne, comin) (8.33) (ZN, ne, comax)

Demonstraţia teoremei T-6.5: Se arată, pentru fiecare dintre algebrele (6.29)-(6.33), că ele pot

genera, ca funcţii, operatorii algebrei de referinţă (6.28): a) - pentru (6.29):

Operatorii min şi max sunt comuni ambelor algebre ((6.28) şi (6.29)), iar operatorul e poate fi generat cu ajutorul lui ne: e(x,y) = (N-1) – ne(x,y)

b) – pentru (6.30): Operatorul e este comun algebrelor (6.28) şi (6.30), iar operatorii min şi max pot fi generaţi cu ajutorul lui comin, aplicând şi teoremele lui De Morgan: min(x,y) = comin(comin(x,y),comin(x,y)) max(x,y) = comin(comin(x,x),comin(y,y))

c) – pentru (6.31): Operatorul e este comun algebrelor (6.28) şi (6.31), iar operatorii min şi max pot fi generaţi cu ajutorul lui comax, aplicând şi teoremele lui De Morgan: max(x,y) = comax(comax(x,y),comax(x,y)) min(x,y) = comax(comax(x,x),comax(y,y))

d) – pentru (6.32): Operatorul e se obţine din ne ca în cazul a), iar operatorii min şi max se obţin din comin ca în cazul b).

e) - pentru (6.33): Operatorul e se obţine din ne ca în cazul a), iar operatorii min şi max se obţin din comax ca în cazul c). Q.E.D.

06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ 121

06.09. O FORMĂ ANALITICĂ DUALĂ A FUNCŢIRI MULTIVALENTE: A DOUA FORMĂ CANONICĂ.

06.09.01. A DOUA FORMĂ CANONICĂ Folosind algebra (ZN, ne, min, max ), funcţia F(x,y,z) definită în tabelul T-6.1 poate fi exprimată analitic sub forma (6.34), unde s-a urmărit, ca şi în cazul primei forme (6.10), determinarea identităţii dintre fiecare variabilă şi valoarea din tabel şi a identităţii simultane ale variabilelor cu valorile corespondente unui rând din tabel – în cazul de faţă valoarea, prin funcţia ne, a acestor identităţi fiind 0, iar valoarea identificărilor pe o linie din tabel, prin operatorul de maxim, fiind 0 în maxim cu valoarea lui F pentru acea linie, deci acea valoare -, funcţia F reprezentând minimul expresiilor identificării, prin maxim, a rândurilor din tabel. Se observă că atunci când un rând nu este selectat (identificat), operaţia de maxim corespunzătoare rândului are valoarea (N-1) şi, deci, devine neutră pentru calculul, prin minim, al funcţiei F.

Nota N-6.3: În expresia funcţiei, folosind a doua formă canonică

(aşa cum se preciza în continuare), coloanele corespunzătoare liniilor din tabelul de adevăr, în care F=(N-1), (în exempu, F=9), nu se iau în considerare în evaluarea analitică a funcţiei, pentru că ele au valoarea (N-1) şi nu influenţează produsul prin care se calculează funcţia, iar coloana în care F=0 nu mai include valoarea funcţiei, care nu mai influenţează operaţia de maxim.

(6.34)

7ne(z,2)ne(y,7)ne(x,5)

ne(z,3)ne(y,7)ne(x,5)

ne(z,1)ne(y,3)ne(x,1)

ne(z,2)ne(y,2)ne(x,4)

3ne(z,4)ne(y,1)ne(x,2)

7ne(z,2)ne(y,7)ne(x,1)

F =

sau, folosind simbolul e :

(6.35)

7(z,2)e(y,7)e(x,5)e

(z,3)e(y,7)e(x,5)e

(z,1)e(y,3)e(x,1)e

(z,2)e(y,2)e(x,4)e

3(z,4)e(y,1)e(x,2)e

7(z,2)e(y,7)e(x,1)e

F =

Nota N-6.4: Se constată, din relaţia (6.35): - operatorul de minim se aplică unui produs: x.y, unde x = (N-1) şi y∈ ZN - operatorul de maxim se aplică unui produal:

122 06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ

122

yx

, unde x ∈ {0,(N-1)} şi y = 0

Definiţia D-6.4: Reprezentarea funcţiei după modelul (6.34) este denumită, prin analogie cu algebra binară, „a doua formă canonică”.

De reţinut că a doua formă canonică se obţine folosind, pentru evaluarea funcţiei, algebra (ZN, ne, min, max)!

În expresiile (6.34) şi (6.35) s-a considerat, opţional, că toate combinaţiile de valori ale variabilelor, corespunzătoare liniei 8 din tabelul de adevăr au valoarea (N-1), adică 9, pentru exemplul considerat. Aceasta a permis ca aceste combinaţii să nu mai conteze în calculul funcţiei.

Recomandarea R-6.2: În evaluarea unei funcţii multivalente prin a doua formă canonică, se recomandă ca valorile opţionale ale funcţiei să fie considerate egale cu (N-1), dacă nu sunt implicate în combinaţii de simplificare a funcţiei F prin operaţii de completitudine, care vor fi definite mai târziu.

Nota N-6.5: Expresiile (6.10) şi (6.34) sau (6.35) reprezintă

cerinţele din tabelul de adevăr al funcţiei F, dar nu reprezintă o aceeaşi corespondenţă, pentru că pentru poziţia 8 din tabel ele au valori diferite; în (6.10), F=0 (vezi T-6.3), iar în (6.34) şi (6.35), F=9 (vezi T-6.4):

Nr. rând

x y z F

1 2 3 4 5 6 7 8

3 5 7 1 7 2 2 1 4 4 2 2 1 3 1 5 7 3 5 7 2 în rest

9 7 3 0 0 0 7 0

Tabel Tb-6.3 Tabel Tb-6.4

Nr. rând

x y z F

1 2 3 4 5 6 7 8

3 5 7 1 7 2 2 1 4 4 2 2 1 3 1 5 7 3 5 7 2 în rest

9 7 3 0 0 0 7 9

06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ 123

06.09.02. A DOUA FORMĂ CANONICĂ EXPRESIA GENERALĂ

Folosind convenţiile pentru valorile lui F şi ale variabilelor xi din cap. 6.2, putem exprima funcţia F, după cum urmează:

(6.36) ∏

∑==

=

n2

1jn

1i)ija,i(xe

jb

F

sau, defalcat pe tipurile de valori ale lui F:

(6.37)

∏∑

∏∑

∏ ∑∏ ∑

==

=

=

=

tn

1i)ita,i(xe

tb

.s

n

1i)isa,i(xe

sb

.

.r

n

1i)ira,i(xe

1)(N

.p

n

1i)ipa,i(xe

0

F

.

Ţinând cont că 0 nu influenţează suma (produalul), iar (N-1) ca factor dual egalează produalul cu (N-1), şi considerând valorile nespecificate ale lui F egale cu (N-1), expresia generală a lui F, conform celei de a doua forme canonice, devine:

(6.38) ∏∑

∏∑=

==

sn

1i)isa,i(xe

sb

.p

n

1i)ipa,i(xeF

Se menţionează şi aici că produsul cu F nespecificat:

(6.39) ∏∑=

=t

n

1i)ita,i(xe

tb

F

rămâne în atenţie pentru o eventuală simplificare a funcţiei prin operaţii de completitudine

124 06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ

124

06.10. PROPRIETĂŢI DUALE ÎN ALGEBRA MULTIVALENTĂ

06.10.01. TEOREMELE DE BAZĂ ALE ALGEBREI

ARHETIPALE Din definiţiile operatorilor algebrei (ZN,e,min,max) şi ale operatorilor derivaţi, rezultă, ca teoreme, următoarele proprietăţi, asociate în principal operatorilor de minim şi de maxim: a) – proprietăţi referitoare în principal la operatorii de minim şi maxim: MINIM: MAXIM:

min(x,y) = x . y max(x,y) = yx

= x+y

--------------------------------- ------------------------------ 1. element neutru (N-1):

(N-1): x . (N-1)=x 0: 0x

= x

2. element absorbant

0: x . 0 = 0 (N-1): 1)(N1)(N

x−=

3. idempotenţă:

x . x = x xxx=

4.comutativitate:

x . y = y . x yx

= xy

5. asociativitate:

((x1.x2).x3) = (x1.(x2.x3)) = x1.x2.x3

3x2x1x

3x2x1x

3x2x1x

==

06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ 125

6. distributivitatea produsului distributivitatea produaluluifaţă de produal: faţă de produs:

zy

x. = x.zx.y

y.zx

= zx

yx

7. teoremele lui De Morgan:

yx

x.y = y.xyx=

8. absorbţia:

xyx

x. = xx.yx

=

9. produsul factorilor produalul factorilor complementari: complementari:

0xx. ≥ 1)(Nxx

−≤

10. involuţia (dubla complementare): xx = b) – proprietăţi referitoare în principal la operatorii de echivalenţă şi non-echivalenţă: 11. comutatuvitate: x)e(y,y)e(x, = x)(y,ey)(x,e = 12. produsul echivalenţelor produalul echivalenţelor complementare: complementare:

0y)(x,ey).e(x, = 1)(Ny)(x,ey)e(x,

−=

126 06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ

126

13. completitudine:

1)(N

1)(Ne(x,...e(x,1)e(x,0)

−=

=

01))-(N(x,e(x,1)...e(x,0).e =

06.10.02. ALTE PROPRIETĂŢI 06.10.02.01. Forme canonice ale operatorilor de echivalenţă şi non-echivalenţă

a) – Tabelele de adevăr ale operatorilor e şi e

X y e(x,y) ),( yxe 0 0 (N-1) 0 1 1 (N-1) 0 2 2 (N-1) 0 ... ... ... ... (N-1) (N-1) (N-1) 0 în rest în rest 0 (N-1)

Tabel Tb-6.5

b) – Formele canonice ale operatorilor e şi e

(8.40) e(x,y) =

1))-(Ne(y, . 1))-(Ne(x, ... . ...

e(y,2) . e(x,2)e(y,1) . e(x,1)e(y,0) . e(x,0)

Scrisă compact, expresia (6.40) are forma:

06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ 127

(6.41) ∑−

==

1N

0ii)e(y, . i)e(x,y)e(x,

(6.42) 1))-(N(y,e1))-(N(x,e

...

...(y,2)e(x,2)e

(y,1)e(x,1)e

(y,0)e(x,0)e

y)(x,e =

Scrisă compact, expresia (6.42) areforma:

(6.43) y)(x,e = ∏=

1-N

0i i)(y,ei)(x,e

06.10.02.02. Operatori de echivalenţă şi non-echivalenţă

având mai mult de două variabile

Generalizând operatorul de echivalenţă pentru n variabile, se obţine următoarea definire a lui:(6.44)

⎪⎩

⎪⎨⎧ ===

=rest in 0,

1-Nx...2x1x pentru 1,-N)nx,...,2x,1e(x

Similar, operatorul de non-echivalenţă pentru n variabile poate fi definit astfel:

(6.45) ⎪⎩

⎪⎨⎧ ===

=rest in_ 1,-N

1-Nx...2x1x_pentru_ 0,)nx,...,2x,1(xe

Figura F-6.10 prezintă simbolurile grafice pentru cei doi operatori:

Figura F-6.10

128 06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ

128

06.11. COMPLEMENTAREA UNEI FUNCŢII MULTIVALENTE

Complementarea unei funcţii multivalente se obţine aplicând succesiv

teoremele lui De Morgan, după cum urmează: - complementarea unui produs:

(6.46) yx

x.y = ,

- complementarea unui produal:

(6.47) y.xyx=

- complementarea unei funcţii mixte:

(6.48) zy

.xy.z.xy.zx

==

sau:

(6.49) z.y

x

zy

x

zy

x. ==

Din exemplele de mai sus se desprinde regula de complementare a unei

funcţii multivalente, enunţată prin următoarea teoremă:

Teorema T-6.6: Complementarea unei funcţii multivalente, reprezentată în forma matricială se obţine prin: - complementarea elementelor matricii şi - transformarea liniilor în coloane şi a coloanelor în linii.

Alte exemple de complementare ale unor funcţii în Z10:

(6.50) 6

(x,2)e

2(z,2)e(y,7)e

(x,3).eFe(x,2).3

,2).7e(y,7).e(ze(x,3)

F =⇒= ;

06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ 129

(6.51)

e(x,5)e(y,3)e(x,4)e(x,2).6

,2).2e(y,7).e(z

G(x,5)e(y,3).e(x,4).e.3

(x,2)e

7(z,2)e(y,7)e

G =⇒=

130 06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ

130

06.12. FUNCŢII PĂTRATE 06.12.01. FUNCTIE MULTIVALENTA PATRATA Definiţia D-6.5: O funcţie F(x1, x2,..., xn,) este pătrată în

componentele ei f1(x1, x2,..., xn,), f2(x1, x2,..., xn,), f3(x1, x2,..., xn,), f4(x1, x2,..., xn), dacă se poate exprima sub una din următoarele

forme:

(6.52) 43

2143211n21,1 .ff

.ff)f,f,f,(fF)x,...,x(xF == ,

sau :

(6.53) 4

2

3

143212n21,2 f

fff

)f,f,f,(fF)x,...,x(xF ==

Definiţia D-6.6: O funcţie este biformă într-una dintre

componentele (variabilele) ei, dacă această componentă (sau variabilă) este bivalentă, putând lua doar valoarea 0 sau (N-1) şi intervine în expresia funcţiei atât sub formă directă, cât şi sub formă complementată.

Teorema T-6.7: O funcţie )f,f(g,F)x,...,x(xF 321n21,1 = , pătrată şi biformă (numită funcţie pătrată biformă)

în una sau în două dintre componentele ei satisface relaţia:

(8.54) g.f

g.fF

3

2= = gf

fg 2

3,

unde g(x1, x2,..., xn) este o funcţie bivalentă cu valori în

{0,(N-1)}, f2(x1, x2,..., xn) şi f3(x1, x2,..., xn) sunt funcţii

oarecare, componente ale funcţiei F. Demonstraţia teoremei T-6.7: Relaţia (6.54) se demonstrează dând, pe rând valorile 0 şi (N-1) pentru funcţia g şi comparând rezultatele din cele două expresii ale relaţiei: Astfel, pentru g = 0, partea din stânga devine

06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ 131

g.f

g.f

3

2 =1)-.(Nf

0.f

3

2 =3f

0=f3,

iar partea din dreapta

gf

fg 2

3=

1)-(Nf

f0 2

3= 1)-.(Nf3 =f3,

Pentru g=(N-1), partea din stânga devine

g.fg.f

3

2 =.0f

1).f-(N

3

2 =0f2 = f2,

iar partea din dreapta

gf

fg 2

3=

0f

f1)-(N 2

3= (N-1).f2 = f2

Q.E.D. 06.12.02. FUNCŢIE BIFORMĂ PĂTRATĂ ÎN E(XI,XJ) Orice tabel de valori al unei funcţii multivalente F(x1, x2,..., xn) se poate separa în două părţi, una, notată prin Tb1, conţinând rândurile în care xi = xj, iar cealaltă, notată prin Tb0, conţinând rândurile pentru care xi ≠ xj, unde xi şi xj sunt oricare dintre variabilele funcţiei. Se notează prin A1 funcţia care rezultă din tabelul Tb-6.6, din care se elimină coloanele corespunzătoare variabilelor xi şi xj, şi prin A0 funcţia care rezultă din tabelul Tb-6.6, din care se elimină coloanele corespunzătoare variabilelor xi şi xj. Cu aceste notaţii, tabelul care reprezintă funcţia F poate arăta astfel:

xi , xj F xi = xj 1 xi ≠ xj 0

Tabelul Tb-6.6 Se scrie funcţia F sub cele două forme canonice, în conformitate cu

tabelul de mai sus:

(6.55) )x,.(xA

).Ax,e(x).Ax,(xe).Ax,e(x

Fji0

1ji

0ji

1jiI ==

(6.56) : )x,(xe

AA

)x,e(xA

)x,e(xA

)x,(xeF

ji

1

0

ji

0

ji

1

jiII ==

Din cele două relaţii de mai sus rezultă următoarea teoremă:

132 06. FUNCŢII ÎN LOGICĂ MULTIVAKENTĂ

132

Teorema T-6.8: Orice funcţie multivalentă de n variabile F(x1, x2,..., xn) se poate pune sub formă biformă pătrată, în raport cu oricare două variabile xi şi xj ale sale, funcţia verificând, conform teoremei T-6.7, relaţia (6.54), transpusă mai jos prin relaţia (6.57), prin care se trece de la prima formă canonică la a doua, prin separarea cu o linie verticală a primilor factori de ceilalţi, şi invers - când se trece de la a doua formă canonică la prima - prin desfiinţarea liniei verticale din mijlocul matricii care reprezintă funcţia, cu condiţia ca factorii )x,e(x ji şi )x,(xe ji să fie situaţi în diagonală:

(6.57) )x,.(xA

).Ax,e(x

ji0

1ji

)x,(xeA

A)x,e(x

ji

1

0

ji=

07. METODA DISCRIMINĂRII 133

07. METODA DISCRIMINĂRII

METODĂ GENERALĂ DE SIMPLIFICARE A FUNCŢIILOR DIGITALE BINARE ŞI MULTIVALENTE

07.01. SIMPLIFICAREA FUNCŢIILOR MULTIVALENTE

Definiţia D-7.1: Prin simplificarea unei funcţii multivalente se înţelege

reducerea numărului total de factori (termeni ai produsului) şi factori duali (termeni ai produalului) din expresia funcţiei, pusă fie sub prima sau sub a doua formă canonică.

07.01.01. SIMPLIFICAREA PRIN TRANSPOZITIE

Definiţia D-7.2: Transpoziţia este operaţia de trecere a unei funcţii dintr-o formă canonică în alta.

Simplificarea prin transpoziţie înseamnă de fapt alegerea formei

canonice care are cel mai mic număr de factori sau factori duali. Această operaţie se face examinând tabelul de adevăr al funcţiei, de exemplu, tabelul T-7.1, reprodus în continuare:

Nr. rând

x y z F

1 2 3 4 5 6 7 8

35 7 17 2 21 4 42 2 13 1 57 3 57 2 în rest

9 7 3 0 0 0 7 -

Tabelul Tb-7.1 Dacă numărul de valori 0 ale funcţiei este mai mare decât numărul

de valori (N-1) (în cazul exemplului, 9), se adoptă prima formă canonică, în

134 07. METODA DISCRIMINĂRII

caz contrar a doua formă canonică, iar în caz de egalitate se adoptă oricare dintre cele două forme ale funcţiei.

Forma funcţiei, simplificată prin transpoziţie, poate sta la baza simplificărilor ulterioare. În cazul exemplului considerat, se adoptă prima formă canonică, notată prin FI(x,y,z):

(7.1) .7,7).e(z,2)e(x,5).e(y.3,1).e(z,4)e(x,2).e(y.7,7).e(z,2)e(x,1).e(y

,5).e(z,7)e(x,3).e(y

z)y,(x,FI =

Această expresie a lui F este mai simplă decât cea de a doua formă canonică, notată prin FII(v,y,z):

(7.2) 7(z,2)e(y,7)e(x,5)e

(z,3)e(y,7)e(x,5)e

(z,1)e(y,3)e(x,1)e

(z,2)e(y,2)e(x,4)e

3(z,4)e(y,1)e(x,2)e

7(z,2)e(y,7)e(x,1)e

z)y,(x,FII =

Deci, din punctul de vedere al simplificării prin transpoziţie, se alege FI. 07.01.02. SIMPLIFICAREA PRIN FACTOR COMUN

A FUNCŢIILOR MULTIVALENTE Din proprietatea de distributivitate rezultă posibilitatea de a da factor comun. În cazul exemplului, în FI şi FII se poate da factor comun, expresiile luând forma de mai jos:

(7.3) z,2).7.e(y,7).e(

e(x,5)e(x,1)

.3,1).e(z,4)e(x,2).e(y,5).e(z,7)e(x,3).e(y

z)y,(x,FI =

07. METODA DISCRIMINĂRII 135

(7.4)

(z,3)e(y,7)e(x,5)e

(z,1)e(y,3)e(x,1)e

(z,2)e(y,2)e(x,4)e

3(z,4)e(y,1)e(x,2)e

7(z,2)e(y,7)e

(x,5)e(x,1).e

z)y,(x,FII =

Nota N-7.1: Utilitatea simplificării prin transpoziţie apare evidentă în cazul

implementării funcţiilor combinaţionale pe structuri programabile matriciale de porţi, a căror organizare permite implementarea funcţiilor numai sub prima formă canonică, oferind însă şi posibilitatea complementării ieşirii. Într-un caz, dacă prima formă canonică a funcţiei este mai complicată decât cea de a doua, se trece funcţia, prin procesul de transpoziţie, în forma a doua canonică şi apoi se, aplicând teoremele lui De Morgan. Rezultatul obţinut este complementul funcţiei pus sub prima formă canonică, deci potrivit pentru implementare. Valoarea adevărata a funcţiei se obţine prin complementarea ieşirii rezultate, prin folosirea circuitelor de complementare pe care le oferă, pentru fiecare ieşire, matricea logică programabilă.

07.01.03. SIMPLIFICAREA FUNCŢIILOR MULTIVALENTE

PRIN OPERAŢIA DE COMPLETITUDINE

Principiul metodei constă în a căuta în fiecare rând (în cazul primei forme canonice) sau în fiecare coloană (în cazul celei de a doua forme canonice) factorul, respectiv, factorul dual, minim, care să reprezinte rândul sau coloana, adică să fie unic, să nu fie regăsit în alte rânduri sau coloane, care corespund altor valori ale funcţiei multivalente.

Cu alte cuvinte, acest factor reprezintă factorul comun al tuturor combinaţiilor - de operaţii de echivalenţă – ale celorlalte variabile de intrare, combinaţii care, prin operaţia de completitudine se resorb într-un factor neutru ((N-1), în cazul primei forme canonice, şi, respectiv, 0, în cazul celei de a doua forme canonice).

În cadrul simplificării prin completitudine se iau în considerare numai

poziţiile din tabelul de valori, pentru care funcţia este specificată.

Metoda practică, denumită „metoda discriminării”, este prezentată în detaliu în acest capitol.

136 07. METODA DISCRIMINĂRII

07.02. PRINCIPIUL METODEI DISCRIMINĂRII

Metoda discriminării minimizează specificaţiile tabelului de valori al unei corespondenţe univoce intrare-ieşire, atât ca număr de rânduri, cât şi ca număr de componente specificate ale unui rând din tabel, în condiţiile în care variabilele de intrare şi de ieşire pot fi atât elemente simple multivalente, dar şi vectori având componente multivalente sau vectori.

OBSERVAŢIE: În ultima parte a cărţii se va prezenta o extensie a

metodei discriminării care permite minimizarea unor tabele de valori în care corespondenţa intrare-ieşire nu apare univocă, datorită unei specificări incomplete şi a unei optimizări parţiale a tabelului de către proiectant. O asemenea abordare acoperă o întreagă gamă a optimizării sistemelor decizionale hardware şi software, extinzând domeniul aplicaţiilor cunoscute.

Tabelele binare se regăsesc, evident, drept cazuri particulare în contextul

de mai sus, metoda discriminării aplicându-se la fel în toate situaţiile. Este demn de a fi reţinut că minimizarea astfel abordată este

independentă de algebra logică folosită, rezultatele ei având valoare în orice sistem logic, pentru că minimizarea tabelului conduce direct la expresii analitice simplificate.

Prin urmare, în continuare se va acorda o atenţie deosebită şi modului de

prezentare sub formă de tabel a corespondenţelor digitale univoce intrare-ieşire.

Principiul metodei discriminării constă în reţinerea în fiecare rând al

tabelului de valori a numărului minim de poziţii care-l separă (care-l „discriminează”) de toate celelalte rânduri ale tabelului care au o valoare a ieşirii diferită de a lui.

Din start, rezultă că metoda se poate aplica direct şi funcţiilor cu ieşiri

multiple, pentru că ieşirea poate fi considerată ca un vector. O asemenea abordare, în majoritatea cazurilor, asigură obţinerea minimului de rânduri în tabelul minimizat (caracteristică esenţială în implementarea funcţiilor digitale în structuri logice programabile).

07. METODA DISCRIMINĂRII 137

07.03. SPECIFICAREA FUNCŢIEI PRIN TABELUL DE VALORI

Tabelul de valori poate fi specificat, ţinându-se cont de următoarele

aspecte ale prezentării vectorilor de intrare (în stânga tabelului) şi de ieşire (în dreapta tabelului):

Fiecare rând al tabelului de valori are o parte de intrare, numită vector de intrare (indiferent dacă acest vector are drept componente elemente (sau un singur element) simple sau, la rândul lor, vectoriale) şi o parte de ieşire numită vector de ieşire (indiferent dacă acest vector are drept componente elemente (sau un singur element) simple sau, la rândul lor, vectoriale)

Componentele vectorilor de intrare şi ieşire, la fel ca şi componentele variabilelor vectoriale, sunt separate prin virgulă, iar variabilele vectoriale sunt delimitate prin paranteze simple.

Separarea dintre vectorul de intrare şi vectorul de ieşire din acelaşi rând se face prin „ / „ .

Din punctul de vedere al metodei discriminării, nu contează delimitarea variabilelor vectoriale, pentru că vectorii de intrare şi de ieşire sunt analizaţi pe componente.

Rândurile se identifică în tabel printr-un număr, urmat de „ : „ plasat în stânga rândului.

07.03.01. SPECIFICAREA VECTORILOR DE INTRARE

Vectorii de intrare sunt specificaţi în tabel prin valori fixe, opţionale, sau intervale de valori, sau, în general, mulţimi de valori, în dreptul fiecărei componente elementare, în felul următor:

a) - cifra sau simbolul multivalent, pentru valori precizate, fixe; b) - simbolul „ – „ pentru valori opţionale (din punctul de vedere al specificării funcţiei, nu contează ce valoare are poziţia respectivă;

Întrucât simbolul „ – „ poate lua orice valoare, el nu poate fi

considerat distinct, în procesul discriminării, faţă de nici o altă valoare. Prin urmare, discriminarea unui vector de intrare faţă de altul se face ne luând în considerare asemenea poziţii, nici de la un vector, nici de la celălalt.

c) - simbol de interval: „mai mare”, „mai mare sau egal”, „mai mic”, ”mai mic sau egal”, intervale închise sau deschise în ambele capete, sau numai într-un capăt; Într-un asemenea caz, delimitarea rândului faţă de altele se face considerând toate valorile specificate de simbolul interval. d) - „mulţime de valori”. Acesta este cazul cel mai general de specificare a unei componente (fie ea simplă, sau vectorială) din rând. În acest caz, delimitarea rândului faţă de altele se face considerând toate componentele mulţimii.

138 07. METODA DISCRIMINĂRII

07.03.02. SPECIFICAREA VECTORILOR DE IEŞIRE

Vectorii de ieşire sunt specificaţi în tabel prin valori fixe sau opţionale, în dreptul fiecărei componente elementare, în felul următor:

a) - cifra sau simbolul multivalent, pentru valori precizate, fixe; b) - simbolul „ – „ pentru valori opţionale (din punctul de vedere al specificării funcţiei, nu contează ce valoare are poziţia respectivă, dar – atenţie! – a nu se confunda acest simbol cu o mulţime de valori: valoarea este opţională, dar singulară; în caz contrar, corespondenţa intrare–ieşire ar deveni neunivocă);

Întrucât simbolul „ – „ poate lua orice valoare, el trebuie considerat ca

simbol distinct într-un vector de ieşire, atunci când este comparat cu aceeaşi poziţie a unui alt vector. Acest simbol nu poate fi considerat egal decât cu el însuşi. Prin urmare, compararea valorii unui vector de ieşire faţă de a altui vector de ieşire se face luând în considerare simbolul „ - „ ca pe un caracter distinct de toate celelalte.

Raţiunea celor de mai sus constă în faptul că ieşirile se compară pentru a

fi grupate pe valori identice în orice condiţii, iar simbolul „ – „ putând lua orice valoare, poate lua o valoare diferită de cea cu care se compară. În schimb, la rândurile de intrare situaţia este opusă, pentru că ele se compară pentru a se identifica separarea lor în orice condiţii, caz în care simbolul „ – „ trebuie considerat (pentru că poate lua orice valoare) egal cu oricare alt simbol comparat.

07.03.03. SPECIFICĂRI OPŢIONALE INTEGRALE a) - linie de intrare opţională şi linie de ieşire specificată, de exemplu: „ în rest/3”

Intr-un asemenea caz, tabelul de valori trebuie expandat, incluzând pentru poziţia „ în rest...” toate combinaţiile de valori ale variabilelor de intrare, care sunt diferite de combinaţiile deja specificate în tabel.

b) - linie de ieşire opţională, de exemplu: „3,5,0,3/-„ , sau „ în rest/ - „ Într-un asemenea caz, această linie se elimină din tabelul de valori al

funcţiei, pentru că minimizarea prin discriminare presupune comparare de ieşiri specificate.

07. METODA DISCRIMINĂRII 139

07.03.04. EXEMPLE DE TABELE DE VALORI 07.03.04.01. (ex.A): Exemplu de tabel de valori

în Z2 , cu o singură ieşire: Se reprezintă o funcţie de şase variabile, într-un tabel având antetul

intrare-ieşire următor: x1, x2, x3, x4, x5, x6/F

unde: x1,x2, ... ,x6,F ∈ Z2 = {0,1}

1: _,1,1,_,_,1/1 2: _,1,0,1,_,1/1 3: _,1,_,1,1,_/1 4: 1,1,_,_,_,0/1 5: 1,1,0,_,_,_/1 6: 0,1,_,1,_,_/1 7: 1,1,_,_,_,_/1 8: _,_,0,1,_,1/1 9: _,1,0,1,1,_/1 10: 1,_,0,_,_,_/1 11: 0,_,0,1,_,_/1 12: 1,1,0,_,_,_/1 13: _,1,1,1,_,1/1

14: _,_,0,1,_,1/1 15: _,1,_,1,1,_/1 16: 1,_,0,1,_,_/1 17: 0,_,_,1,_,_/1 18: 1,1,_,1,_,_/1 19: _,1,_,1,1,0/1 20: 1,_,0,_,_,0/1 21: 0,_,_,1,_,0/1 22: 0,0,_,0,_,_/0 23: 0,_,0,0,_,_/0 24: 0,_,_,0,_,0/0 25: 1,0,1,_,_,_/0

Tabelul Tb-7.11

07.03.04.02. (ex.B): Exemplu de tabel de valori multivalent (în Z10), cu o singură ieşire:

Se reprezintă o funcţie de trei variabile, într-un tabel având antetul

intrare-ieşire următor: x,y,z/F

unde: x,y,z,F ∈ Z10 = {0,1, ... ,9} 1: 3,5,7/9

2: 1,7,2/7 3: 2,1,4/3 4: 4,2,2/0 5: 1,3,1/0 6: 5,7,3/0 7: 5,7,2/7 8: în rest/-

Tabelul Tb-7.12

140 07. METODA DISCRIMINĂRII

07.03.04.03. (ex.C) Exemplu de tabel binar de valori, cu ieşiri multiple (cu ieşire vectorială)

Se reprezintă o funcţie de 4 variabile, având o ieşire vectorială formată

din 7 variabile, într-un tabel având antetul intrare-ieşire următor: D,C,B,A/a,b,c,d,e,f,g

unde: D,C,B,A,a,b,c,d,e,f,g ∈ Z2 = {0,1} Convertor BCD - 7 SEGMENTE:

0,0,0,0/1,1,1,1,1,1,0 0,0,0,1/1,0,0,0,0,1,0 0,0,1,0/1,1,0,1,1,0,1 0,0,1,1/1,1,0,0,1,1,1 0,1,0,0/1,0,1,0,0,1,1 0,1,0,1/0,1,1,0,1,1,1 0,1,1,0/0,1,1,1,1,1,1 0,1,1,1/1,1,0,0,0,1,0 1,0,0,0/1,1,1,1,1,1,1 1,0,0,1/1,1,1,0,1,1,1

Tabel Tb-7.13 07.03.04.04. (ex.D): Exemplu de tabel de valori

multivalent (intrare în Z3, ieşire în Z5), cu ieşire multiplă (cu ieşire vectorială)

Se reprezintă o funcţie de trei variabile codificate în Z3, având o ieşire

vectorială formată din 2 variabile codificate în Z5, într-un tabel având antetul intrare-ieşire următor:

D,C,B/a,b unde:

D,C,B ∈ Z3 = {0,1,2} a,b ∈ Z5 = {0,1,2,3,4} Convertor „zecimal Z3 → zecimal Z5”: 0,0,0/0,0 0,0,1/0,1 0,0,2/0,2 0,1,0/0,3 0,1,1/0,4 0,1,2/1,0 0,2,0/1,1 0,2,1/1,2 0,2,2/1,3 1,0,0/1,4 Tabel Tb-7.14

07. METODA DISCRIMINĂRII 141

07.03.04,05, (ex.E): Alt exemplu de tabel de

valori binar x1,x2,x3,x4/f unde: x1,x2,x3,x4,f ∈ Z2 = {0,1} 0: 0,0,0,0/1 1: 0,0,0,1/1 2: 0,0,1,0/1 3: 0,0,1,1/1 4: 0,1,0,0/1 5: 0,1,0,1/0 6: 0,1,1,0/0 7: 0,1,1,1/1 8: 1,1,0,0/1 9: 1,0,1,1/1 Tabel Tb-07.15

142 07. METODA DISCRIMINĂRII

07.04, ALGORITMUL MINIMIZĂRII PRIN DISCRIMINARE

07.04.01. ÎMPĂRŢIREA TABELULUI DE VALORI PE

VALORI DE IEŞIRE: (etapa 1d)

Se organizează tabelul de valori TV în sub-tabele TVf asociate

fiecărei valori (sau vector) f de ieşire a funcţiei, astfel încât fiecare subtabel conţine toate rândurile din tabel care au o aceeaşi ieşire f. 07.04.02. CREAREA TABELELOR DE VECTORI

DISCRIMINAŢI (etapa 2d) Se creează pentru fiecare valoare f a funcţiei un tabel TVDf al

vectorilor discriminaţi, care urmează a fi completat în procesul de minimizare. 07.04.03. COMPLETAREA, PRIN DISCRIMINARE, A

TABELELOR DE VECTORI DISCRIMINAŢI (etapa 3d)

Simplificarea prin discriminare se face pe grupe de valori de ieşire.

În cadrul unei grupe, se simplifică, rând cu rând, expresiile vectorilor

de intrare, reprezentând combinaţia de valori a variabilelor de intrare din rândurile tabelului de valori TVf corespunzător ieşirii f a funcţiei - vectori denumiţi şi „vectori implicanţi”, prin analogie cu terminologia din teoria comutaţiei binare, având aici sensul de componente implicate în specificarea funcţiei multivalente:

Se determină, pentru fiecare rând în parte, vectorul sau vectorii (pentru că pot fi mai mulţi) minimi (adică să aibă cât mai puţine poziţii specificate), care să caracterizeze în mod unic (să discrimineze) rândul respectiv, în raport cu toate celelalte rânduri, în care funcţia are o valoare diferită de cea din rândul considerat.

Astfel, rândul considerat pentru simplificare se compară cu fiecare dintre celelalte rânduri ale tabelului de valori, care au valoarea funcţiei diferită de cea a rândului considerat.

Dacă valorile funcţiei, la compararea a două rânduri, sunt diferite,

atunci se caută în vectorul din rândul considerat diferenţele minime care păstrează discriminarea dintre cele două rânduri (exceptând valorile funcţiei,

07. METODA DISCRIMINĂRII 143

care sunt diferite, conform specificaţiei din paragraful anterior), diferenţe păstrate pentru reprezentarea respectivului vector implicant al funcţiei, cu condiţia ca aceste diferenţe să separe acest vector de toţi ceilalţi vectori din tabelul de valori (sau din toate celelalte sub-tabele de valori), care au valoarea funcţiei diferită de a lui.

Se poate găsi astfel o clasă de soluţii de complexitate echivalentă,

adică având acelaşi număr de componente specificate (diferite de „ – „) pentru fiecare vector simplificat.

Fiecare soluţie se introduce, imediat ce este găsită, în tabelul de

vectori discriminaţi TVDf al grupei, dacă nu există deja în acest tabel. Operaţia de discriminare se poate desfăşura astfel: Se începe cu sub-tabelul corespunzător celei mai mici valori a ieşirii. Se consideră primul rând al sub-tabelului.

Întrucât se urmăreşte determinarea de vectori discriminaţi cu un număr minim de componente, discriminarea începe cu o singură componentă care ar putea separa vectorul care se discriminează de toţi ceilalţi având ieşiri diferite de a lui. Dacă se găseşte o soluţie, se caută în continuare toate soluţiile posibile având acelaşi număr de componente şi aceste soluţii se includ în lista vectorilor discriminaţi, dacă nu sunt deja acolo. Dacă nu se găseşte nici o soluţie, se trece la combinaţii cu o componentă în plus.

Discriminarea rândului se termină cu combinaţiile găsite având cel mai mic număr de componente.

Se trece la următorul vector din sub-tabel şi se continuă până la epuizarea sub-tabelului.

Se trece la sub-tabelul următor şi se continuă până la epuizarea sub-tabelelor.

In tabelele de vectori discriminaţi, vectorilor li se poate atribui identificatori (nume), în vederea unei mai comode operări cu ei în etapele următoare. Cu aceste operaţii s-au completat tabelele de vectori discriminaţi, ordonate pe valori ale funcţiei. 07.04.04. ASOCIEREA LA FIECARE RÂND DIN

SUBTABEL A UNEI LISTE CU NUMELE VECTORILOR DISCRIMINAŢI CARE-L POT REPREZENTA (etapa 4d)

Se asociază fiecărui număr de vector din sub-tabel câte o listă a

tuturor numelor vectorilor din tabelul de vectori discriminaţi care pot reprezenta respectivul vector, sau, altfel spus, care-l pot acoperi. Operaţia de acoperire dintre doi vectori se poate defini astfel:

144 07. METODA DISCRIMINĂRII

Un vector acoperă un alt vector, dacă toate componentele specificate ale lui se regăsesc în vectorul acoperit, în aceleaşi poziţii cu ale lui.

Se creează astfel sub-tabele cu listele vectorilor implicanţi discriminaţi asociate fiecărui rând din sub-tabelul de valori al vectorilor nediscriminaţi. Nota N-7.2: Este posibil (vezi ex. E) ca în aceste liste să apară vectori discriminaţi cu un număr mai mare de componente specificate, decât vectorii găsiţi, prin discriminare, pentru rândul respectiv.

Raţiunea creării acestor liste este de a permite, în cazul când un asemenea vector mai complex din listă este unicul reprezentant al altui rând, ca el să poată reprezenta şi alte rânduri în care mai apare, reducând astfel numărul de rânduri din sub-tabelul simplificat, aşa cum se prezintă în continuare.

07.04.05. IDENTIFICAREA VECTORILOR DISCRIMINAŢI

UNICI ŞI ELIMINAREA DIN TABEL A CELORLALTE RÂNDURI CARE-I CONŢIN. (etapa 5d)

Se identifică listele cu un singur vector reprezentant al rândului. Se elimină din sub-tabel rândurile care conţin în liste vectori unici,

păstrând în tabel câte un rând reprezentant pentru fiecare vector unic. 07.04.06. DETERMINAREA, ÎN FIECARE GRUPĂ

VALORICĂ, A VARIANTELOR PRELIMINARE DE SOLUŢII, LUÂND DIN FIECARE DINTRE LISTELE RĂMASE CÂTE UN REPREZENTANT AL RÂNDULUI. (etapa 6d)

În vederea obţinerii de variante minime de soluţii pentru fiecare grupă

valorică, se stabilesc preliminar, toate variantele de soluţii ale grupei, luând din lista fiecărui rând câte un reprezentant.

07. METODA DISCRIMINĂRII 145

07.04.07. SIMPLIFICAREA VARIANTELOR PRELIMINARE DE SOLUŢII, PRIN ELIMINAREA DIN LISTA FIECĂREI VARIANTE DE SOLUŢIE A RÂNDURILOR EGALE. (etapa 7d)

Soluţiile obţinute în etapa anterioară se simplifică în continuare,

eliminând din lista fiecărei variante de soluţie rândurile care au acelaşi vector, păstrând însă câte unul din fiecare fel.

07.04.08. REŢINEREA ÎN FIECARE CLASĂ VALORICĂ

NUMAI A VARIANTELOR CU NUMĂR MINIM DE RÂNDURI (etapa 8d)

07.04.09. ELIMINAREA VARIANTELOR CARE SE REPETĂ ALE UNEI GRUPE VALORICE. etapa 9d)

07.04.10. PREZENTAREA DETALIATĂ A SOLUŢIILOR, LA ACEST NIVEL (etapa 10d)

07.04.11. ELIMINAREA REDUNDANŢELOR LOGICE (etapa 11d) Simplificarea variantelor de soluţii, prin eliminarea din liste a rândurilor redundante, infiltrate în soluţie prin enunţ:

Redundanţă logică: Dacă într-o grupă valorică se identifică un triplet de vectori de forma:

.A.B.Bv

v.A

unde : - v şi v′ reprezintă, în cele două rânduri, vectori parţiali, ale căror componente specificate diferă de la un vector la celălalt, poziţie cu poziţie; - A şi B sunt restul din vectorii celor două rânduri, între care nu există componente de valori specificate diferite pe nici o poziţie, iar poziţiile corespunzătoare vectorilor v şi v′ sunt trecute, prin simbolul ∗ , ca nespecificate.

146 07. METODA DISCRIMINĂRII

Vectorul produs .A.B)(∗ , numit aici „vector consens potenţial” ale celor doi (unde prin „∗ „ sunt notate poziţiile - aici nespecificate - ale lui v şi v′ din primii doi vectori) acoperă logic tranziţiile din v în v′ , sau din v′ în v , între cei doi vectori, conservând în timpul tranziţiei valoarea iniţială şi finală (valori egale, pentru că ne referim la aceeaşi grupă valorică). Acest vector include în mulţimea de vectori desemnată prin „∗ „ şi combinaţiile:

(v.A.B) şi .A.B)v( ′ care sunt simplificate prin acoperire de către primii doi vectori. Dacă în tabel ar fi regăsite şi celelalte combinaţii ale

vectorului consens potenţial .A.B)(∗ , atunci acest vector ar reprezenta cu adevărat un vector consens şi ar putea fi eliminat din tabel, reprezentând o redundanţă logică. În caz contrar, el rămâne de drept în tabel, pentru că reprezintă combinaţii specifice ale respectivei grupe din tabel. În cazul unor vectori binari, în care semnul „∗ ” marchează

doar o singură variabilă, vectorul .A.B)(∗ este vector consens şi, dacă se găseşte în tabelul de valori minimizat până în această etapă, poate fi eliminat, el reprezentând o redundanţă logică. Întrucât analiza acestor posibilităţi devine tot mai complexă, cu cât numărul de poziţii nespecificate în prima parte a vectorului

consens .A.B)(∗ este mai mare, complexitatea crescând şi cu gradul de multivalenţă (cu numărul de valori logice „pe fir”), atunci se recomandă să se procedeze în felul următor: - se generează, prin compararea perechilor de vectori de tipul primilor doi din tripleta analizată, toţi vectorii consens potenţiali; - tabelul obţinut se poate păstra pentru etapa opţională de localizare şi de identificare a hazardului; - separat, se reţin vectorii consens potenţiali care se regăsesc şi în tabelul respectivei grupe; - se discriminează această grupă specială de vectori consens potenţiali (care se regăsesc şi în tabelul grupei) în raport cu celelalte grupe valorice minimizate, urmărindu-se să se stabilească, pentru fiecare vector în parte, dacă se deosebeşte sau nu faţă de toţi vectorii celorlalte grupe valorice; - vectorii consens potenţiali care se deosebesc de toţi vectorii celorlalte grupe valorice sunt vectori consens, deci redundanţi, şi, înainte de eliminarea lor din tabel, se verifică dacă nu generează noi vectori consens, prin reintroducerea lor in tabel; prin urmare: - se reintroduc in tabel, recalculându-se vectorii consens ai tabelului, se reintroduc în tabel, şi operaţia se repetă până când grupul de vectori consens nu mai generează noi vectori consens, grupul final eliminându-se din tabelul grupei analizate;

07. METODA DISCRIMINĂRII 147

- in aceasta operaţie ciclica, trebuie observat că apariţia unui vector consens egal cu unul dintre cei doi constituenţi ai lui (de exemplu, vectorii v1 şi v2 generează vectorul consens v1) nu poate fi luat in considerare pentru simplificarea tabelului, pentru ca ar elimina unul dintre vectorii cauză care l-au generat, descompletând specificaţiile de bază ale enunţului (ale tabelului originar); mai mult, dacă nu s-ar proceda aşa, s-ar intra intr-o buclă fără sfârşit. - se procedează la fel în toate grupele valorice;

- în cazul binar, vectorii consens potenţiali, care sunt generaţi din

perechi de vectori care diferă prin valoarea unei singure variabile şi se regăsesc şi în tabel, se elimină direct din tabel; în rest şi în cazul binar se procedează ca mai sus.

Exemplu binar de eliminare a redundanţelor logice: - Soluţie cu redundanţă logică în grupa 1 de valori: 0,0,_,0,_,_/0 0,_,0,0,_,_/0 0,_,_,0,_,0/0 1,0,1,_,_,_/0 _,1,1,_,_,1/1 _,1,_,1,_,_/1

1,1,_,_,_,_/1 0,_,_,1,_,_/1 _,_,0,1,_,_/1 1,_,0,_,_,_/1

- Soluţie discriminată, sau minimizată prin metoda E.J.McCluskey: 0,0,_,0,_,_/0 0,_,0,0,_,_/0 0,_,_,0,_,0/0 1,0,1,_,_,_/0 _,1,1,_,_,1/1

_,1,_,1,_,_/1 1,1,_,_,_,_/1 0,_,_,1,_,_/1 _,_,0,1,_,_/1 1,_,0,_,_,_/1

- Vectorii redundanţi: _,1,_,1,_,_/1 _,_,0,1,_,_/1 - Soluţie fără redundanţă logică (obţinută prin eliminarea redundanţelor logice): 0,0,_,0,_,_/0 0,_,0,0,_,_/0 0,_,_,0,_,0/0 1,0,1,_,_,_/0

_,1,1,_,_,1/1 1,1,_,_,_,_/1 0,_,_,1,_,_/1 1,_,0,_,_,_/1

148 07. METODA DISCRIMINĂRII

07.04.12. CENTRALIZAREA VARIANTELOR MINIMIZATE PRIN ELIMINAREA REDUNDANTELOR LOGICE) (etapa 12d)

07.04.13. REŢINEREA DIN GRUPELE CARE AU ATÂT

VARIANTE CU VECTORI CONSENS, CÂT ŞI FĂRĂ VECTORI CONSENS, NUMAI A VARIANTELOR FĂRĂ VECTORI CONSENS (deci fără hazard) (etapa 13d)

07.04.14. IDENTIFICAREA ŞI MARCAREA VARIANTELOR

CARE CONŢIN HAZARD FUNCŢIONAL (etapa 14d)

În conformitate cu metoda prezentată în capitolul referitor la

identificarea şi eliminarea hazardului din circuitele de comutaţie, vectorii consens deja determinaţi pentru fiecare variantă în parte vor fi testaţi dacă reprezintă manifestare de hazard funcţional. Astfel – rezumăm metoda - se verifică dacă poziţiile specificate ale vectorului consens se regăsesc întocmai, sau în dreptul lor există simbolul „ – „ , la cel puţin un vector din celelalte grupe valorice. În caz afirmativ, vectorul indică hazard funcţional, iar respectiva grupă valorică se marchează că are un astfel de hazard. Se reaminteşte aici că nu se ia în considerare 07.04.15. REŢINEREA VARIANTELOR FĂRĂ HAZARD

FUNCŢIONAL, ACOLO UNDE EXISTĂ ALTERNATIVĂ, IAR ÎN CAZURILE ÎN CARE EXISTĂ ŞI VARIANTE FĂRĂ HAZARD, REŢINEREA NUMAI A ACESTOR VARIANTE FĂRĂ HAZARD (etapa 15d)

În cazurile în care există atât variante cu hazard funcţional, cât şi variante

fără hazard funcţional, se reţin ca soluţii potenţiale numai variantele fără hazard funcţional, iar în cazurile unde există variante fără hazard, se reţin numai aceste variante.

Soluţiile numai cu hazard logic se marchează cu „ * „. Soluţiile cu hazard funcţional se marchează cu „ ** „. Soluţiile cu ieşire vectorială se marchează cu „ *** „. La variantele notate cu „ ** „ nu se mai reţin vectorii consens, pentru că

nu mai ajută cu nimic următoarele etape ale optimizării. La variantele notate cu „ * „ se reţin vectorii consens, în vederea folosirii

lor în etapa opţională de eliminare a hazardului logic.

07. METODA DISCRIMINĂRII 149

07.04.16. REŢINEREA VARIANTELOR CU UN NUMĂR MINIM DE RÂNDURI ÎN FIECARE GRUPĂ (etapa 16)

07.04.17. ELIMINAREA HAZARDULUI LOGIC

(etapa 17d (opţională))

În această etapă, dacă este necesar, se aplică metoda prezentată în cap. 10, referitoare la eliminarea hazardului logic.

Eliminarea hazardului logic şi identificarea hazardului funcţional, în vederea alegerii soluţiilor fără hazard funcţional, dacă există, se poate face, în cazul funcţiilor cu ieşire vectorială (cu ieşiri multiple), fie considerând ieşirea global, fie operând pe fiecare ieşire individuală, separat.

În această etapă se vor prezenta rezumativ paşii metodei de eliminare a

hazardului logic, metodă detaliată în cap.10. Etapele precedente au dus deja această problemă până în pragul celui

de al 5-lea pas din metodă. Prin urmare, se va continua optimizarea cu paşii 5h - 11h, care se aplică

doar pentru ex. A, grup 1, sigurul care are vectori consens marcând hazard logic.

- pasul 1h:

Se minimizează tabelul de valori al funcţiei, folosind metoda discriminării.

- pasul 2h:

Se identifică perechile de vectori reprezentând rânduri dintr-o grupă valorică (rânduri care au aceeaşi valoare a ieşirii) care au valori diferite pentru una sau mai multe variabile;

Nota N-7.3: Metoda ia în considerare numai perechile de vectori dintr-o

aceeaşi grupă valorică binară sau multivalentă, deşi hazard logic static ar putea să apară şi între grupe valorice, în cazul multivalent, dar analiza unui asemenea caz devine complexă, nerezolvând decât parţial problema, pentru că în cazul multivalent creşte incidenţa hazardului funcţional – care, evident, nu poate fi eliminat logic – şi se propune adoptarea, în cazul unor implementări multivalente, a soluţiei radicale de eliminare a oricărui fel de hazard combinaţional într-o structură cu adâncime uniformă intrare-ieşire, metodă menţionată mai înainte.

În ceea ce priveşte cazul binar, se operează într-o aceeaşi

grupă valorică, pentru că nu se ia în considerare hazardul logic dinamic, care nu poate să apară într-o structură cu adâncime uniformă intrare-ieşire.

- pasul 3h:

Se determină condiţia care asigură selectarea unică a perechii de vectori, condiţie reprezentată printr-un vector numit

150 07. METODA DISCRIMINĂRII

„vector consens” şi care se obţine comparând poziţiile celor doi vectori, cu excepţia poziţiilor variabilelor, care au fiecare valori diferite în cele două rânduri ale perechii alese, poziţii care se trec „ * „ (simbolul „orice”, echivalent cu „ – „ dar marcat prin „ * „ pentru a specifica poziţiile variabilelor a căror schimbare poate conduce la hazard)) şi reţinând pentru celelalte poziţii minimul valorii, calculat poziţie cu poziţie, adică reţinând valorile diferite de simbolul „orice”, sau reţinând poziţia „ – „ când ea este comună celor doi vectori:

Notă: În reluare, simbolurile „ * „ din listele care se reanalizează se reconvertesc în „ _ „- - pasul 4h:

Se stabileşte pentru fiecare vector consens – care în binar are cel puţin două simboluri „ * „ - dacă acoperă vectori complet specificaţi (dacă un vector din tabelul de valori are poziţii nespecificate, atunci el cuprinde o clasă de vectori specificaţi complet, dedusă prin detalierea poziţiilor de tipul „ – „), incluşi în listele vectorilor corespunzând celorlalte valori ale funcţiei:

. dacă răspunsul este afirmativ, atunci avem de-a face cu hazard funcţional şi se procedează astfel: .. se menţionează situaţia de hazard funcţional, marcând varianta grupei valorice cu „**„ ; .. se trece la analiza altei variante, pentru că nu are nici un rost căutarea de soluţii pentru eliminarea hazardului logic, acolo unde există deja hazard funcţional, care nu poate fi înlăturat prin operaţii logice, ci doar prin metoda tehnologică prezentată principial în a doua parte a acestui capitol; . dacă răspunsul este negativ, atunci avem de-a face cu hazard logic, iar vectorul consens rămâne în lista de vectori consens, care va ataşată ulterior, după unele simplificări, listei vectorilor valorii respective a funcţiei. Analiza de mai sus se face începând cu vectorii consens cu cel mai mare număr de simboluri „ * „ , pentru că aceşti vectori au cea mai mare probabilitate de a evidenţia hazard funcţional şi astfel, în caz afirmativ, analiza variantei de soluţie a grupului valoric se încheie, grupul marcându-se prin „ ** „. Metoda de a stabili dacă vectorul consens acoperă şi poziţii din cel puţin una dintre listele vectorilor corespunzătoare altor valori ale ieşirii funcţiei circuitului constă în compararea poziţiilor diferite de „ – „ ale vectorului consens cu fiecare dintre vectorii corespunzând altor valori ale funcţiei şi, în cazul când aceste poziţii se regăsesc întocmai în cel puţin un vector (adică acel vector are pe fiecare dintre poziţiile vectorului consens valoarea din vectorul consens, sau are „ – „), atunci avem de-a face cu hazard funcţional, în rest fiind vorba de hazard logic.

07. METODA DISCRIMINĂRII 151

Acest lucru este necesar, pentru că este posibil să existe variante de soluţii (aşa cum se va arăta într-un exemplu) care nu au hazard funcţional şi atunci este de preferat alegerea lor în soluţia funcţiei.

- pasul 5h:

Se elimină din lista de vectori consens asociată valorii de ieşire analizată, vectorii care sunt acoperiţi de alţii din listă (adică se elimină acei vectori care includ toate componentele altui vector); în acest procedeu de eliminare prin acoperire se includ şi vectorii care se repetă (reţinând câte unul de fiecare fel).

- pasul 6h:

Se elimină din listă vectorii consens care repetă vectori din tabelul asociat valorii analizate, precum şi vectorii consens care sunt acoperiţi de vectori din acest tabel asociat valorii analizate.

- pasul 7h:

Dacă lista vectorilor consens nu mai are nici un vector, atunci procesul continuă cu pasul 10.

- pasul 8h: Dacă lista rămasă a vectorilor consens nu este vidă, ea se

adaugă listei vectorilor corespunzătoare valorii analizate, formând o listă comună.

- pasul 9h:

Se elimină din lista comună vectorii acoperiţi de vectorii consens ataşaţi listei.

- pasul 10h:

Se elimină din lista comună vectorii care sunt acoperiţi de alţii sau care repetă alţi vectori din listă (păstrând câte un vector de fiecare fel).

07.04.18. PREZENTAREA VARIANTELOR DE SOLUŢII PE

VALORI ALE FUNCŢIEI (etapa 18d)

În cadrul variantei cu ieşiri multiple tratate separat, vectorii implicanţi

diferiţi sunt renumerotaţi, la nivelul întregii soluţii, pentru a putea fi folosiţi în comun de către diferite ieşiri individuale.

152 07. METODA DISCRIMINĂRII

07.04.19. ÎMPĂRŢIREA SOLUŢIILOR ÎN CLASA FORMEI

CANONICE ŞI ÎN CLASA FORMEI CANAL. (etapa 19d)

Se împart mulţimile de variante în două clase, pentru fiecare funcţie de ieşire, în felul următor:

- clasa formei canonice:

Aici sunt plasate variantele de soluţii aranjate sub prima formă canonică

(prin eliminarea subsoluţiilor referitoare la grupa valorică 0), plus variantele aranjate sub a doua formă canonică (prin eliminarea subsoluţiilor referitoare la grupa valorică (N-1)). Nota N-7.4: În varianta cu ieşire vectorială se evidenţiază mulţimile vectorilor folosiţi, în vederea optimizării structurii logice a circuitului :

• mulţimea vectorilor folosiţi în toate variantele cu ieşiri multiple tratate vectorial, grupaţi pe forme canonice;

• mulţimea vectorilor distribuiţi pe ieşiri singulare şi în funcţie de forma canonică;

• mulţimea vectorilor folosiţi în soluţia globală, însoţiţi de numerele asociate.

Nota N-7.5: În această fază, pentru varianta cu ieşiri multiple tratate separat, se prezintă varianta grupului şi fără specificarea ieşirii (care

oricum este reprezentată de numărul grupului), în vederea identificării mai directe, în procesul de optimizare, a vectorilor comuni diferitelor grupuri. Vectorii diferiţi se numerotează, în vederea aceluiaşi proces de optimizare.

Se evidenţiază mulţimile:

- mulţimea vectorilor folosiţi în toate variantele cu ieşiri multiple tratate separat, grupaţi pe forme canonice;

- mulţimea vectorilor grupaţi pe variante şi desemnaţi prin număr;

- mulţimea vectorilor folosiţi în soluţia globală, însoţiţi de numerele asociate.

- clasa formei „canal”:

Aici sunt plasate toate variantele cuprinzând toate grupele valorice rezultate din minimizare. Notă N-7.6: În cazul funcţiilor binare se foloseşte forma canonică, dacă

nu se cere în mod special o implementare tip canal.

07. METODA DISCRIMINĂRII 153

07.04.20. STABILIREA VARIANTELOR GLOBALE ALE

FUNCŢIEI, LUÂND CÂTE O VARIANTĂ DE SOLUŢIE A FIECĂREI GRUPE VALORICE (etapa 20d)

Prezentarea soluţiilor se face prin numele variantelor pentru soluţiile

pe valori ale funcţiei. Soluţiile detaliate ale variantelor se găsesc în capitolul anterior Soluţiilor le sunt ataşate numărul de vectori implicanţi folosiţi. 07.04.21. - SELECTAREA VARIANTELOR MINIME ALE

IEŞIRII GLOBALE, ÎMPREUNĂ CU TABELUL DE VECTORI MINIMI DIFERIŢI; - FORMAREA TABELULUI TUTUROR OPERAŢIILOR DE ECHIVALENŢĂ (ÎN MULTIVALENT), SAU A VARIABILELOR DIRECTE ŞI COMPLEMENTATE, CARE INTERVIN ÎN VECTORII IMPLICANŢI (etapa 21d)

După selectarea variantelor minime ale ieşirii globale, se formează,

pentru fiecare variantă, pe baza vectorilor implicanţi diferiţi ai variantei, un tabel al tuturor operaţiilor de echivalenţă (sau, în cazul binar, al tuturor variabilelor directe sau complementate) care apar în expresia analitică sau în implementarea funcţiei cu ieşiri multiple, asociind, pe rând, fiecărei variabile de intrare valorile diferite care apar în poziţia ei din vectorii implicanţi.

Acest tabel este necesar realizării stratului porţilor de intrare (repetori

logici şi invertori, pentru cazul binar, sau porţi de echivalenţă, pentru cazul multivalent).

Acest strat, aşa cum s-a menţionat mai înainte, este comun implementării

tuturor produselor logice reprezentând vectorii implicanţi din tabelul asociat variantei ieşirii globale.

Aceste produse constituie baza formării ieşirilor intermediare (la nivel de

valori de ieşire / ieşire individuală) şi a ieşirilor finale individuale (alcătuite din comasarea ieşirilor pe valori ale fiecărei ieşiri individuale).

154 07. METODA DISCRIMINĂRII

07.04.22. OPTIMIZAREA SOLUŢIILOR CU IEŞIRI MULTIPLE TRATATE SEPARAT, PRIN ELIMINAREA VECTORILOR CARE SE REGĂSESC EXPANDAŢI (etapa 22d)

Optimizarea (deci etapa 22d) se aplică numai soluţiilor cu iueşiri

multiple minimizate separat. Optimizarea se face separat pentru fiecare formă canonică, cât şi pentru

soluţiile de implementare tip canal.

Analizând grupul vectorilor minimi folosiţi în toate ieşirile, care au fost minimizate separat, este posibil ca unora dintre aceşti vectori să le corespundă, în grup, un subgrup de vectori care poate fi generat prin expandarea uneia dintre poziţiile nespecificate ale respectivului vector, ceea ce face posibilă: - eliminarea din listă a unui asemenea vector şi - înlocuirea lui în lista corespunzătoare ieşirii prin grupul expandat.

Se obţine astfel reducerea numărului de vectori minimi implicanţi folosiţi în comun de către toate ieşirile.

Procedeul de eliminare prin expansiune poate fi astfel:

1. Se împarte grupul general G al vectorilor minimi folosiţi de către toate ieşirile, în subgrupuri gi, după numărul i al poziţiilor specificate, începând cu grupul cu cel mai mic număr de poziţii specificate;

2. Se începe cu grupul gi cu cel mai mic număr de poziţii specificate

(i = minim), analizându-se vectorii lui vik pe rând (k = 1,2,...); 3. Se consideră vectorul vik 4. Se identifică în gi+1 grupul gi+1(vik) de expansiune posibilă al lui vik, format

din vectorii care conţin explicit toate componentele specificate ale lui vik. 5. Se expandează prima poziţie j nespecificată (j reprezentând poziţia în

vector), generându-se clasa de vectori gik-j; 6. Dacă clasa de vectori generată prin expansiune este inclusă în subgrupul

cu un număr de poziţii specificate mai mare cu 1, adică 1)(ij-ik gg +⊆,

atunci vectorul vik se elimină din G, iar locul lui, în grupurile de vectori minimi sortate pe ieşiri, este luat de clasa de vectori gik-j. În caz contrar, vectorul vik rămâne în lista G şi se trece la analizarea vectorului următor din gi, până la finalizarea listei din gi.

7. Se analizează apoi subgrupul gi+1 şi aşa mai departe, până se ajunge la

subrupul cu cel mai mare număr de poziţii specificate, care, evident, nu se mai analizează (pentru că nu mai poate fi expandat).

8. Se rescriu, cu modificările rezultate din analiză, grupul G al vectorilor

implicaţi în sinteza tuturor ieşirilor, precum şi grupurile de vectori minimi aparţinând fiecărei ieşiri.

07. METODA DISCRIMINĂRII 155

07.05. EXEMPLIFICAREA ETAPELOR MINIMIZĂRII PRIN DISCRIMINARE etapa 1d: Împărţirea tabelului de valori pe valori de ieşire

Se organizează tabelul de valori TV în subtabele TVf asociate

fiecărei valori (sau vector) f de ieşire a funcţiei, astfel încât fiecare subtabel conţine toate rândurile din tabel care au o aceeaşi ieşire f.

- ex.A:

grup 0:

r1: 0,0,_,0,_,_/0 r2: 0,_,0,0,_,_/0

r3: 0,_,_,0,_,0/0 r4: 1,0,1,_,_,_/0

grup 1:

r6: _,1,1,_,_,1/1 r7: _,1,0,1,_,1/1 r8: _,1,_,1,1,_/1 r9: 1,1,_,_,_,0/1 r10: 1,1,0,_,_,_/1 r11: 0,1,_,1,_,_/1 r12: 1,1,_,_,_,_/1 r13: _,_,0,1,_,1/1 r14: _,1,0,1,1,_/1 r15: 1,_,0,_,_,_/1 r16: 0,_,0,1,_,_/1

r17: 1,1,0,_,_,_/1 r18: _,1,1,1,_,1/1 r19: _,_,0,1,_,1/1 r20: _,1,_,1,1,_/1 r21: 1,_,0,1,_,_/1 r22: 0,_,_,1,_,_/1 r23: 1,1,_,1,_,_/1 r24: _,1,_,1,1,0/1 r25: 1,_,0,_,_,0/1 r26: 0,_,_,1,_,0/1

- ex.B:

grup 0: r1: 4,2,2/0 r2: 1,3,1/0 r3: 5,7,3/0

grup 3: r4: 2,1,4/3 grup 7: r5: 1,7,2/7 r6: 5,7,2/7 grup 9: r7: 3,5,7/9

- ex.C: a) – varianta cu ieşire vectorială (unică):

grup (1 1 1 1 1 1 0): r1: (0 0 0 0) grup (1 0 0 0 0 1 0): r2: (0 0 0 1) grup (1 1 0 1 1 0 1): r3: (0 0 1 0)

grup (1 1 0 0 1 1 1): r4: (0 0 1 1) grup (1 0 1 0 0 1 1): r5: (0 1 0 0) grup (0 1 1 0 1 1 1): r6: (0 1 0 1)

156 07. METODA DISCRIMINĂRII

grup (0 1 1 1 1 1 1): r7: (0 1 1 0) grup (1 1 0 0 0 1 0): r8: (0 1 1 1)

grup (1 1 1 1 1 1 1): r9: (1 0 0 0) grup (1 1 1 0 1 1 1): r10: (1 0 0 1

b) -varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”: Tabelul de valori: 0,0,0,0/1 0,0,0,1/1 0,0,1,0/1 0,0,1,1/1 0,1,0,0/1 0,1,0,1/0 0,1,1,0/0 0,1,1,1/1 1,0,0,0/1 1,0,0,1/1

grup 0 (a): r1: 0,1,0,1/0 r2: 0,1,1,0/0 grup 1 (a): r3: 0,0,0,0/1 r4: 0,0,0,1/1 r5: 0,0,1,0/1 r6: 0,0,1,1/1 r7: 0,1,0,0/1 r8: 0,1,1,1/1 r9: 1,0,0,0/1 r10: 1,0,0,1/1

- ieşirea „b”: Tabelul de valori: 0,0,0,0/1 0,0,0,1/0 0,0,1,0/1 0,0,1,1/1 0,1,0,0/0 0,1,0,1/1 0,1,1,0/1 0,1,1,1/1 1,0,0,0/1 1,0,0,1/1

grup 0 (b): r1: 0,0,0,1/0 r2: 0,1,0,0/0 grup 1 (b): r3: 0,0,0,0/1 r4: 0,0,1,0/1 r5: 0,0,1,1/1 r6: 0,1,0,1/1 r7: 0,1,1,0/1 r8: 0,1,1,1/1 r9: 1,0,0,0/1 r10: 1,0,0,1/1

- ieşirea „c”:

Tabelul de valori: 0,0,0,0/1 0,0,0,1/0 0,0,1,0/0 0,0,1,1/0 0,1,0,0/1 0,1,0,1/1 0,1,1,0/1 0,1,1,1/0 1,0,0,0/1 1,0,0,1/1

grup 0 (c): r1: 0,0,0,1/0 r2: 0,0,1,0/0 r3: 0,0,1,1/0 r4: 0,1,1,1/0 grup 1 (c): r5: 0,0,0,0/1 r6: 0,1,0,0/1 r7: 0,1,0,1/1 r8: 0,1,1,0/1 r9: 1,0,0,0/1 r10: 1,0,0,1/1

07. METODA DISCRIMINĂRII 157

- ieşirea „d”: Tabelul de valori: 0,0,0,0/1 0,0,0,1/0 0,0,1,0/1 0,0,1,1/0 0,1,0,0/0 0,1,0,1/0 0,1,1,0/1 0,1,1,1/0 1,0,0,0/1 1,0,0,1/0

grup 0 (d): r1: 0,0,0,1/0 r2: 0,0,1,1/0 r3: 0,1,0,0/0 r4: 0,1,0,1/0 r5: 0,1,1,1/0 r6: 1,0,0,1/0 grup 1 (d): r7: 0,0,0,0/1 r8: 0,0,1,0/1 r9: 0,1,1,0/1 r10: 1,0,0,0/1

- ieşirea „e”: Tabelul de valori: 0,0,0,0/1 0,0,0,1/0 0,0,1,0/1 0,0,1,1/1 0,1,0,0/0 0,1,0,1/1 0,1,1,0/1 0,1,1,1/0 1,0,0,0/1 1,0,0,1/1

grup 0 (e): r1: 0,0,0,1/0 r2: 0,1,0,0/0 r3: 0,1,1,1/0 grup 1 (e): r4: 0,0,0,0/1 r5: 0,0,1,0/1 r6: 0,0,1,1/1 r7: 0,1,0,1/1 r8: 0,1,1,0/1 r9: 1,0,0,0/1 r10: 1,0,0,1/1

- ieşirea „f”: Tabelul de valori: 0,0,0,0/1 0,0,0,1/1 0,0,1,0/0 0,0,1,1/1 0,1,0,0/1 0,1,0,1/1 0,1,1,0/1 0,1,1,1/1 1,0,0,0/1 1,0,0,1/1

grup 0 (f): r1: 0,0,1,0/0 grup 1 (f): r2: 0,0,0,0/1 r3: 0,0,0,1/1 r4: 0,0,1,1/1 r5: 0,1,0,0/1 r6: 0,1,0,1/1 r7: 0,1,1,0/1 r8: 0,1,1,1/1 r9: 1,0,0,0/1 r10: 1,0,0,1/1

158 07. METODA DISCRIMINĂRII

- ieşirea „g”: Tabelul de valori: 0,0,0,0/0 0,0,0,1/0 0,0,1,0/1 0,0,1,1/1 0,1,0,0/1 0,1,0,1/1 0,1,1,0/1 0,1,1,1/0 1,0,0,0/1 1,0,0,1/1

grup 0 (g): r1: 0,0,0,0/0 r2: 0,0,0,1/0 r3: 0,1,1,1/0 grup 1 (g): r4: 0,0,1,0/1 r5: 0,0,1,1/1 r6: 0,1,0,0/1 r7: 0,1,0,1/1 r8: 0,1,1,0/1 r9: 1,0,0,0/1 r10: 1,0,0,1/1

ex.D:

a) – varianta cu ieşire vectorială (unică):

grup (0,0): r1: 0,0,0/0,0 grup (0,1): r2: 0,0,1/0,1 grup (0,2): r3: 0,0,2/0,2 grup (0,3): r4: 0,1,0/0,3 grup (0,4): r5: 0,1,1/0,4

grup (1,0): r6: 0,1,2/1,0 grup (1,1): r7: 0,2,0/1,1 grup (1,2): r8: 0,2,1/1,2 grup (1,3): r9: 0,2,2/1,3 grup (1,4): r10: 1,0,0/1,4

b) varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”: Tabel de valori: 0,0,0/0 0,0,1/0 0,0,2/0 0,1,0/0 0,1,1/0 0,1,2/1 0,2,0/1 0,2,1/1 0,2,2/1 1,0,0/1

grup 0 (a): r1: 0,0,0/0 r2: 0,0,1/0 r3: 0,0,2/0 r4: 0,1,0/0 r5: 0,1,1/0 grup 1 (a): r6: 0,1,2/1 r7: 0,2,0/1 r8: 0,2,1/1 r9: 0,2,2/1 r10: 1,0,0/1

07. METODA DISCRIMINĂRII 159

- ieşirea „b”: Tabel de valori: 0,0,0/0 0,0,1/1 0,0,2/2 0,1,0/3 0,1,1/4 0,1,2/0 0,2,0/1 0,2,1/2 0,2,2/3 1,0,0/4

grup 0 (b): r1: 0,0,0/0 r2: 0,1,2/0

rup 1 (b): r3: 0,0,1/1 r4: 0,2,0/1

grup 2 (b):

r5: 0,0,2/2 r6: 0,2,1/2

grup 3 (b):

r7: 0,1,0/3 r8: 0,2,2/3

grup 4 (b):

r9: 0,1,1/4 r10: 1,0,0/4

- ex.E:

grup 0: r1: 0,1,0,1/0 r2: 0,1,1,0/0

grup 1: r3: 0,0,0,0/1 r4: 0,0,0,1/1 r5: 0,0,1,0/1 r6: 0,0,1,1/1 r7: 0,1,0,0/1 r8: 0,1,1,1/1 r9: 1,1,0,0/1 r10: 1,0,1,1/1

etapa 2d: Crearea tabelelor de vectori discriminaţi

Se creează pentru fiecare valoare f a funcţiei un tabel TVDf al vectorilor discriminaţi, care urmează a fi completat în procesul de minimizare. ex. A: tabelele TVD0, TVD1;

ex. B: tabelele TVD0, TVD3, TVD7, TVD9;

ex. C: tabelele: - pentru varianta cu ieşire vectorială unică:

TVD(1,1,1,1,1,1,0): TVD(1,0,0,0,0,1,0): TVD(1,1,0,1,1,0,1): TVD(1,1,0,0,1,1,1): TVD(1,0,1,0,0,1,1):

TVD(0,1,1,0,1,1,1): TVD(0,1,1,1,1,1,1): TVD(1,1,0,0,0,1,0): TVD(1,1,1,1,1,1,1): TVD(1,1,1,0,1,1,1):

160 07. METODA DISCRIMINĂRII

- pentru varianta cu ieşiri separate:

TVD0(a), TVD1(a) TVD0(b), TVD1(b) TVD0(c), TVD1(c) TVD0(d), TVD1(d)

TVD0(e), TVD1(e) TVD0(f), TVD1(f) TVD0(g), TVD1(g);

ex. D: tabelele:

- pentru varianta cu ieşire vectorială unică:

TVD(0,0) TVD(1,0) TVD(0,1) TVD(1,1) TVD(0,2) TVD(1,2) TVD(0,3) TVD(1,3) TVD(0,4) TVD(1,4)

- pentru varianta cu ieşiri separate:

TVD0(a) TVD1(a) TVD0(b) TVD1(b)

TVD2(b) TVD3(b) TVD4(b)

- ex. E: TVD0, TVD1.

etapa 3d: Completarea, prin discriminare, a tabelelor de vectori discriminaţi

Simplificarea prin discriminare se face pe grupe de valori de ieşire.

În cadrul unei grupe, se simplifică, rând cu rând, expresiile vectorilor

de intrare, reprezentând combinaţia de valori a variabilelor de intrare din rândurile tabelului de valori TVf corespunzător ieşirii f a funcţiei - vectori denumiţi şi „vectori implicanţi”, prin analogie cu terminologia din teoria comutaţiei binare, având aici sensul de componente implicate în specificarea funcţiei multivalente:

Se determină, pentru fiecare rând în parte, vectorul sau vectorii (pentru că pot fi mai mulţi) minimi (adică să aibă cât mai puţine poziţii specificate), care să caracterizeze în mod unic (să discrimineze) rândul respectiv, în raport cu toate celelalte rânduri, în care funcţia are o valoare diferită de cea din rândul considerat.

Astfel, rândul considerat pentru simplificare se compară cu fiecare dintre celelalte rânduri ale tabelului de valori, care au valoarea funcţiei diferită de cea a rândului considerat.

07. METODA DISCRIMINĂRII 161

Dacă valorile funcţiei, la compararea a două rânduri, sunt diferite, atunci se caută în vectorul din rândul considerat diferenţele minime care păstrează discriminarea dintre cele două rânduri (exceptând valorile funcţiei, care sunt diferite, conform specificaţiei din paragraful anterior), diferenţe păstrate pentru reprezentarea respectivului vector implicant al funcţiei, cu condiţia ca aceste diferenţe să separe acest vector de toţi ceilalţi vectori din tabelul de valori (sau din toate celelalte subtabele de valori), care au valoarea funcţiei diferită de a lui.

Se poate găsi astfel o clasă de soluţii de complexitate echivalentă,

adică având acelaşi număr de componente specificate (diferite de „ – „) pentru fiecare vector simplificat.

Fiecare soluţie se introduce, imediat ce este găsită, în tabelul de

vectori discriminaţi TVDf al grupei, dacă nu există deja în acest tabel. Operaţia de discriminare se poate desfăşura astfel: Se începe cu subtabelul corespunzător celei mai mici valori a ieşirii. Se consideră primul rând al subtabelului. Întrucât se urmăreşte determinarea de vectori discriminaţi cu un număr minim de componente, discriminarea începe cu o singură componentă care ar putea separa vectorul care se discriminează de toţi ceilalţi având ieşiri diferite de a lui. Dacă se găseşte o soluţie, se caută în continuare toate soluţiile posibile având acelaşi număr de componente şi aceste soluţii se includ în lista vectorilor discriminaţi, dacă nu sunt deja acolo. Dacă nu se găseşte nici o soluţie, se trece la combinaţii cu o componentă în plus. Discriminarea rândului se termină cu combinaţiile găsite având cel mai mic număr de componente. Se trece la următorul vector din subtabel şi se continuă până la epuizarea subtabelului. Se trece la subtabelul următor şi se continuă până la epuizarea subtabelelor. In tabelele de vectori discriminaţi, vectorilor li se poate atribui identificatori (nume), în vederea unei mai comode operări cu ei în etapele următoare. Cu aceste operaţii s-au completat tabelele de vectori discriminaţi, ordonate pe valori ale funcţiei. - ex. A:

TVD0: v1: 0,0,_,0,_,_/0 v2: 0,_,0,0,_,_/0 v3: 0,_,_,0,_,0/0 v4: 1,0,1,_,_,_/0

TVD1: v5: _1,1,_,_,1/1 v6: _1,_,1,_,_/1 v7: 1,1,_,_,_,_/1 v8: 0,_,_,1,_,_/1 v9: _,_,0,1,_,_/1 v10: 1,_,0,_,_,_/1

162 07. METODA DISCRIMINĂRII

- ex. B: TVD0: v1: (4,_,_/0) v2: (_,3,_/0) v3: (_,_,3/0) v4: (_,_,1/0) v5: (_,2,_/0) TVD3: V6: (2,_,_/3) V7: (_,1,_/3) V8: (_,_,4/3)

TVD7: v9: (_,7,2/7) v10: (1,7,_/7) v11: (1,_,2/7) v12: (5,_,2/7) TVD9: v13: (3,_,_/9) v14: (_,5,_/9) v15: (_,_,7/9)

- ex. C:

a) – varianta cu ieşire vectorială (unică):

TVD((1,1,1,1,1,1,0): v1: (0,0,0,0/1,1,1,1,1,1,0) TVD(1,0,0,0,0,1,0): v2: (0,0,0,1/1,0,0,0,0,1,0) TVD(1,1,0,1,1,0,1): v3: (_,0,1,0/1,1,0,1,1,0,1) TVD(1,1,0,0,1,1,1): v4: (_,0,1,1/1,1,0,0,1,1,1) TVD(1,0,1,0,0,1,1): v5: (_,1,0,0/1,0,1,0,0,1,1)

TVD(0,1,1,0,1,1,1): v6: (_,1,0,1/0,1,1,0,1,1,1) TVD(0,1,1,1,1,1,1): v7: (_,1,1,0/0,1,1,1,1,1,1)

TVD(1,1,0,0,0,1,0): v8: (_,1,1,1/1,1,0,0,0,1,0): TVD(1,1,1,1,1,1,1): v9. (1,_,_,0/1,1,1,1,1,1,1): TVD(1,1,1,0,1,1,1): v10: (1,_,_,1/1,1,1,0,1,1,1):

b) varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”:

TVD0(a): v1: (_,1,0,1)/0 v2: (_,1,1,0)/0

TVD1(a): v3: (_,0,_,_)/1 v4: (_,_,0,0)/1 v5: (_,_,1,1)/1 v6: (1,_,_,_)/1

- ieşirea „b”:

TVD0(b): v1: (0,0,0,1/0) v2: (_,1,0,0/0)

TVD1(b): v3: (_,0,_,0/1) v4: (_,_,1,_/1) v5: (_,1,_,1/1) v6: (1,_,_,_/1)

07. METODA DISCRIMINĂRII 163

- ieşirea „c”:

TVD0 (c): v1 : (0,0,_,1/0) v2 : (_,0,1,_/0) v3 : (_,_,1,1/0)

TVD1(c): v4 : (_,_,0,0/1) v5 : (_,1,0,_/1) v6 : (_,1,_,0/1) v7 : (1,_,_,_/1)

- ieşirea „d”:

TVD0(d): v1: (_,_,_,1/0) v2: (_,1,0,_/0)

TVD1(d): v3: (_,0,_,0/1) v4: (_,_,1,0/1)

- ieşirea „e”:

TVD0 (e): v1 : (0,0,0,1/0) v2 : (_,1,0,0/0) v3 : (_,1,1,1/0)

TVD1 (e): v4 : (_,0,_,0/1) v5 : (_,0,1,_/1) v6 : (_,1,0,1/1) v7 : (_,_,1,0/1) v8 : (1,_,_,_/1)

- ieşirea „f”: TVD0(f): v1: _,0,1,0/0

TVD1(f): v2: _,_,0,_/1 v3: _,_,_,1/1 v4: _,1,_,_/1

- ieşirea „g”: TVD0(g): v1: (0,0,0,_/0) v2: (_,1,1,1/0)

TVD1(g): v3: (_,0,1,_/1) v4: (_,1,0,_/1) v5: (_,1,_,0/1) v6: (1,_,_,_/1) v7: (_,_,1,0/1)

- ex.D:

a) – varianta cu ieşire vectorială (unică):

TVD(0,0): v1: 0,0,0/0,0

TVD(0,1):

v2: 0,0,1/0,1 TVD(0,2):

v3: _,0,2/0,2 TVD(0,3):

v4: _,1,0/0,3 TVD(0,4):

v5: _,1,1/0,4 TVD(1,0):

v6: _,1,2/1,0 TVD(1,1):

v7: _,2,0/1,1 TVD(1,2):

v8: _,2,1/1,2

164 07. METODA DISCRIMINĂRII

TVD(1,3): v9: _,2,2/1,3

TVD(1,4): v10: 1,_,_/1,4

b) varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”:

TVD0(a): v1: (0,0,_/0) v2: (_,1,0/0) v3: (_,1,1/0)

TVD1(a): v4: (_,1,2/1) v5: (_,2,_/1) v6: (1,_,_/1)

- ieşirea „b”:

TVD0(b): v1: (0,0,0/0) v2: (_,1,2/0) TVD1(b): v3: (_,0,1/1) v4: (_,2,0/1)

TVD2(b): v5: (_,0,2/2) v6: (_,2,1/2) TVD3(b): v7: (_,1,0/3) v8: (_,2,2/3) TVD4(b): v9: (_,1,1/4) v10: (1,_,_/4)

- ex.E:

TVD0: v1: (_,1,0,1/0) v2: (_,1,1,0/0)

TVD1: v3: (_,0,_,_/1) v4: (_,_,0,0/1) v5: (_,_,1,1/1) v6: (1,_,_,_/1)

etapa 4d: Asocierea la fiecare rând din subtabel a unei

liste cu numele vectorilor discriminaţi care-l pot reprezenta

Se asociază fiecărui număr de vector din sub-tabel câte o listă a

tuturor numelor vectorilor din tabelul de vectori discriminaţi care pot reprezenta respectivul vector, sau, altfel spus, care-l pot acoperi.

Operaţia de acoperire dintre doi vectori se poate defini astfel: Un vector acoperă un alt vector, dacă toate componentele specificate ale lui se regăsesc în vectorul acoperit, în aceleaşi poziţii cu ale lui.

07. METODA DISCRIMINĂRII 165

Se creează astfel sub-tabele cu listele vectorilor implicanţi discriminaţi asociate fiecărui rând din sub-tabelul de valori al vectorilor nediscriminaţi. OBSERVAŢIE: Este posibil (vezi ex. E) ca în aceste liste să apară vectori

discriminaţi cu un număr mai mare de componente specificate, decât vectorii găsiţi, prin discriminare, pentru rândul respectiv.

Raţiunea creării acestor liste este de a permite, în cazul când un asemenea vector mai complex din listă este unicul reprezentant al altui rând, ca el să poată reprezenta şi alte rânduri în care mai apare, reducând astfel numărul de rânduri din sub-tabelul simplificat, aşa cum se prezintă în continuare.

- ex.A:

grup 0: r1: v1 r2: v2 r3: v3 r4: v4

grup 1: r6: v5 r7: v6,v9 r8: v6 r9: v7 r10: v7, v10 r11: v6 r12: v7 r13: v9 r14: v6, v9 r15: v10 r16: v8, v9 r17: v7, v10 r18: v5, v6 r19: v9 r20: v6 r21: v9, v10 r22: v8 r23: v6, v7 r24: v6 r25: v10 r26: v8

-ex.B:

grup 0: r1: v1, v5 r2: v2, v4 r3: v3 grup 3: r4: v6, v7, v8

grup 7: r5: v9, v10, v11 r6: v9, v12 grup 9: r7: v13, v14, v15

166 07. METODA DISCRIMINĂRII

- ex.C:

a) – varianta cu ieşire vectorială (unică):

Grup (1,1,1,1,1,1,0) r1: v1 Grup (1,0,0,0,0,1,0) r2: v2 Grup (1,1,0,1,1,0,0) r3: v3 Grup (1,1,0,0,1,1,1) r4: v4 Grup (1,0,1,0,0,1,1) r5: v5

Grup (0,1,1,0,1,1,1) r6: v6 Grup (0,1,1,1,1,1,1) r7: v7

Grup (1,1,0,0,0,1,0) r8: v8 Grup (1,1,1,1,1,1,1) r9: v9 Grup (1,1,1,0,1,1,1) r10: v10

b) - varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”: grup 0 (a): r1: v1 r2: v2

grup 1 (a): r3: v3, v4 r4: v3 r5: v3 r6: v3, v5 r7: v4 r8: v5 r9: v3, v4, v6 r10: v3, v6

- ieşirea „b”: grup 0 (b): r1: v1 r2: v2

grup 1 (b): r3: v3 r4: v3, v4 r5: v4 r6: v5 r7: v4 r8: v4, v5 r9: v3, v6 r10: v6

- ieşirea „c”: grup 0 (c): r1: v1 r2: v2

r3: v1, v2, v3 r4: v3

07. METODA DISCRIMINĂRII 167

grup 1 (c): r5: v4 r6: v4, v5, v6 r7: v5

r8: v6 r9: v4, v7 r10: v7

- ieşirea „d”: grup 0 (d): r1: v1 r2: v1 r3: v2 r4: v1, v2 r5: v1

grup 1 (d): r7: v3 r8: v3, v4 r9: v4 r10: v3

r6: v1 - ieşirea „e”: grup 0 (e): r1: v1 r2: v2 r3: v3

grup 1 (e): r4: v4 r5: v4, v5, v7 r6: v5 r7: v6 r8: v7 r9: v4, v8 r10: v8

- ieşirea „f”: grup 0 (f): r1: v1

grup 1 (f): r2: v2 r3: v2, v3 r4: v3 r5: v2, v4 r6: v2, v3, v4 r7: v4 r8: v3, v4 r9: v2 r10: v2, v3

- ieşirea „g”: grup 0 (g): r1: v1 r2: v1 r3: v2

grup 1 (g): r4: v3, v7 r5: v3 r6: v4, v5 r7: v4 r8: v5, v7 r9: v6 r10: v6

168 07. METODA DISCRIMINĂRII

- ex.D:

a) – varianta cu ieşire vectorială (unică):

grup (0,0): r1: v1 grup (0,1): r2: v2 grup (0,2): r3: v3 grup (0,3): r4: v4 grup (0,4): r5: v5

grup (1,0): r6: v6 grup (1,1): r7: v7 grup (1,2): r8: v8 grup (1,3): r9: v9 grup (1,4): r10: v10

b) - varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”:

grup 0 (a): r1: v1 r2: v1 r3: v1 r4: v2 r5: v3

grup 1 (a): r6: v4 r7: v5 r8: v5 r9: v5 r10: v6

- ieşirea „b”:

grup 0 (b): r1: v1 r2: v2

grup 1 (b): r3: v3 r4: v4

grup 2 (b): r5: v5 r6: v6

grup 3 (b): r7: v7 r8: v8

grup 4 (b): r9: v9 r10: v10

07. METODA DISCRIMINĂRII 169

- ex.E: grup 0: r1: v1 r2: v2

grup 1: r3: v3, v4 r4: v3 r5: v3 r6: v3, v5 r7: v4 r8: v5 r9: v4, v6 r10: v3, v5,v6

etapa 5d: Identificarea vectorilor discriminaţi unici şi

eliminarea din tabel a celorlalte rânduri care-i conţin.

Se identifică listele cu un singur vector reprezentant al rândului. Se elimină din sub-tabel rândurile care conţin în liste vectori unici,

păstrând în tabel câte un rând reprezentant pentru fiecare vector unic.

În exemplele considerate, rămân următoarele tabele minimizate:

- ex.A:

grup 0: r1: v1 r2: v2 r3: v3 r4: v4

grup 1: r6: v5 r8: v6 r9: v7 r13: v9 r15: v10 r22: v8

- ex.B: grup 0: r1: v1, v5 r2: v2, v4 r3: v3 grup 3: r4: v6, v7, v8

grup 7: r5: v9, v10, v11 r6: v9, v12 grup 9: r7: v13, v14, v15

170 07. METODA DISCRIMINĂRII

- ex.C: a) - varianta cu ieşire vectorială (unică):

Grup (1,1,1,1,1,1,0) r1: v1 Grup (1,0,0,0,0,1,0) r2: v2 Grup (1,1,0,1,1,0,0) r3: v3 Grup (1,1,0,0,1,1,1) r4: v4 Grup (1,0,1,0,0,1,1) r5: v5

Grup (0,1,1,0,1,1,1) r6: v6 Grup (0,1,1,1,1,1,1) r7: v7

Grup (1,1,0,0,0,1,0) r8: v8 Grup (1,1,1,1,1,1,1) r9: v9 Grup (1,1,1,0,1,1,1) r10: v10

b) - varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”: grup 0 (a): r1: v1 r2: v2

grup 1 (a): r4: v3 r7: v4 r8: v5

- ieşirea „b”:

Grup 0 (b): r1: v1 r2: v2

Grup 1 (b): r3: v3 r5: v4 r6: v5 r10: v6

- ieşirea „c”: Grup 0 (c): r1: v1 r2: v2 r4: v3

Grup 1 (c): r5: v4 r7: v5 r8: v6 r10: v7

- ieşirea „d”: Grup 0 (d): r1: v1 r3: v2

Grup 1 (d): r7: v3 r9: v4

07. METODA DISCRIMINĂRII 171

- ieşirea „e”: Grup 0 (e): r1: v1 r2: v2 r3: v3

Grup 1 (e): r4: v4 r6: v5 r7: v6 r8: v7 r10: v8

- ieşirea „f”: Grup 0 (f): r1: v1

Grup 1 (f): r2: v2 r4: v3 r7: v4

- ieşirea „g”: Grup 0 (g): r1: v1 r3: v2

Grup 1 (g): r5: v3 r7: v4 r8: v5, v7 r9: v6

- ex.D: a) – varianta cu ieşire vectorială (unică): grup (0,0): r1: v1 grup (0,1): r2: v2 grup (0,2): r3: v3 grup (0,3): r4: v4 grup (0,4): r5: v5

grup (1,0): r6: v6 grup (1,1): r7: v7 grup (1,2): r8: v8 grup (1,3): r9: v9 grup (1,4): r10: v10

b) - varianta cu ieşiri multiple, tratate separat: - ieşirea „a”: Grup 0 (a): r1: v1 r4: v2 r5: v3

Grup 1 (a): r6: v4 r7: v5 r10: v6

172 07. METODA DISCRIMINĂRII

- ieşirea „b”:

Grup 0 (b): r1: v1 r2: v2

Grup 1 (b): r3: v3 r4: v4

Grup 2 (b): r5: v5 r6: v6

Grup 3 (b): r7: v7 r8: v8

Grup 4 (b): r9: v9 r10: v10

- ex.E:

grup 0: r1: v1 r2: v2

grup 1: r4: v3 r7: v4 r8: v5

etapa 6d: Determinarea, în fiecare grupă valorică, a

variantelor preliminare de soluţii, luând din fiecare dintre listele rămase câte un reprezentant al rândului.

În vederea obţinerii de variante minime de soluţii pentru fiecare grupă

valorică, se stabilesc preliminar, toate variantele de soluţii ale grupei, luând din lista fiecărui rând câte un reprezentant.

În exemplele considerate, se identifică următoarele variante de tabele minimizate: - ex.A:

grup 0: v1 v2 v3 v4

grup 1: v5 v6 v7 v8 v9 v10

07. METODA DISCRIMINĂRII 173

- ex.B:

grup 01: grup 02 : grup 03: grup 04: v1 v1 v5 v5 v2 v4 v2 v4 v3 v3 v3 v3 grup 31: grup 32: grup 33: v6 v7 v8 grup 71: grup 72: grup 73: v9 v9 v10 v9 v12 v9 grup 74: grup 75: grup 76: v10 v11 v11 v12 v9 v12 grup 91: grup 92: grup 93: v13 v14 v15

- ex.C:

a) - varianta cu ieşire vectorială (unică):

Grup (1,1,1,1,1,1,0) r1: v1 Grup (1,0,0,0,0,1,0) r2: v2 Grup (1,1,0,1,1,0,0) r3: v3 Grup (1,1,0,0,1,1,1) r4: v4 Grup (1,0,1,0,0,1,1) r5: v5

Grup (0,1,1,0,1,1,1) r6: v6 Grup (0,1,1,1,1,1,1) r7: v7

Grup (1,1,0,0,0,1,0) r8: v8 Grup (1,1,1,1,1,1,1) r9: v9 Grup (1,1,1,0,1,1,1) r10: v10

b) - varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”: grup 0 (a): r1: v1 r2: v2

grup 1 (a): r4: v3 r7: v4 r8: v5

174 07. METODA DISCRIMINĂRII

- ieşirea „b”:

Grup 0 (b): r1: v1 r2: v2

Grup 1 (b): r3: v3 r5: v4 r6: v5 r10: v6

- ieşirea „c”:

Grup 0 (c): r1: v1 r2: v2 r4: v3

Grup 1 (c): r5: v4 r7: v5 r8: v6 r10: v7

- ieşirea „d”:

Grup 0 (d): r1: v1 r3: v2

Grup 1 (d): r7: v3 r9: v4

- ieşirea „e”:

Grup 0 (e): r1: v1 r2: v2 r3: v3

Grup 1 (e): r4: v4 r6: v5 r7: v6 r8: v7 r10: v8

- ieşirea „f”:

Grup 0 (f): r1: v1

Grup 1 (f): r2: v2 r4: v3 r7: v4

- ieşirea „g”:

grup 0 (g): r1: v1 r3: v2 grup 11 (g): grup 12 (g): v3 v3 v4 v4 v5 v7 v6 v6

07. METODA DISCRIMINĂRII 175

- ex.D:

a) – varianta cu ieşire vectorială (unică):

grup (0,0): r1: v1 grup (0,1): r2: v2 grup (0,2): r3: v3 grup (0,3): r4: v4 grup (0,4): r5: v5

grup (1,0): r6: v6 grup (1,1): r7: v7 grup (1,2): r8: v8 grup (1,3): r9: v9 grup (1,4): r10: v10

b) varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”:

grup 0 (a): r1: v1 r4: v2 r5: v3

grup 1 (a): r6: v4 r7: v5 r10: v6

- ieşirea „b”: grup 0 (b): r1: v1 r2: v2

grup 1 (b): r3: v3 r4: v4

grup 2 (b): r5: v5 r6: v6

grup 3 (b): r7: v7 r8: v8

grup 4 (b): r9: v9 r10: v10

- ex.E:

grup 0: r1: v1 r2: v2

grup 1: r4: v3 r7: v4 r8: v5

176 07. METODA DISCRIMINĂRII

etapa 7d: Simplificarea variantelor preliminare de soluţii, prin eliminarea din lista fiecărei variante de soluţie a rândurilor care se repetă.

Soluţiile obţinute în etapa anterioară se simplifică în continuare,

eliminând din lista fiecărei variante de soluţie rândurile care au acelaşi vector, păstrând însă câte unul din fiecare fel.

O asemenea situaţie apare doar pentru ex. B, grupul 71, care devine: grup 71: v9

În aceste condiţii, exemplul B devine: - ex.B:

grup 01: grup 02: grup 03: grup 04: v1 v1 v5 v5 v2 v4 v2 v4 v3 v3 v3 v3 grup 31: grup 32: grup 33: v6 v7 v8 grup 71: grup 72: grup 73: v9 v9 v10 v12 v9 grup 74: grup 75: grup 76: v10 v11 v11 v12 v9 v12 grup 91: grup 92: grup 93: v13 v14 v15 etapa 8d: Reţinerea în fiecare clasă valorică numai a

variantelor cu număr minim de rânduri

Este cazul doar al ex. B, grupa valorică 7, din care se reţine doar grup 71, soluţiile ex B devenind:

- ex.B:

grup 01: grup 02: grup 03: grup 04: v1 v1 v5 v5 v2 v4 v2 v4 v3 v3 v3 v3

07. METODA DISCRIMINĂRII 177

grup 31: grup 32: grup 33: v6 v7 v8 grup 71: v9 grup 91: grup 92: grup 93: v13 v14 v15 etapa 9d: Eliminarea variantelor care se repetă ale unei ]

grupe valorice. În exemplele date nu apar asemenea situaţii.

etapa 10d: Prezentarea detaliată a soluţiilor, la acest nivel - ex.A:

grup 0: v1: 0,0,_,0,_,_/0 v2: 0,_,0,0,_,_/0 v3: 0,_,_,0,_,0/0 v4: 1,0,1,_,_,_/0

grup 1: v5: _,1,1,_,_,1/1 v6: _,1,_,1,_,_/1 v7: 1,1,_,_,_,_/1 v8: 0,_,_,1,_,_/1 v9: _,_,0,1,_,_/1 v10: 1,_,0,_,_,_/1

- ex.B:

grup 01: v1: (4,_,_/0) v2: (_,3,_/0) v3: (_,_,3/0) grup 02: v1: (4,_,_/0) v3: (_,_,3/0) v4: (_,_,1/0) grup 03: v2: (_,3,_/0) v3: (_,_,3/0) v5: (_,2,_/0) grup 04: v3: (_,_,3/0) v4: (_,_,1/0) v5: (_,2,_/0)

grup 31: v6: (2,_,_/3) grup 32: v7: (_,1,_/3) grup 33: v8: (_,_,4/3) grup 7: v9: (_,7,2/7) grup 91: v13: (3,_,_/9) grup 92: v14: (_,5,_/9) grup 93: v15: (_,_,7/9)

178 07. METODA DISCRIMINĂRII

- ex.C:

a) - varianta cu ieşire vectorială (unică):

grup (1,1,1,1,1,1,0): v1: (0,0,0,0/1,1,1,1,1,1,0) grup (1,0,0,0,0,1,0): v2: (0,0,0,1/1,0,0,0,0,1,0) grup (1,1,0,1,1,0,1): v3: (_,0,1,0/1,1,0,1,1,0,1) grup (1,1,0,0,1,1,1): v4: (_,0,1,1/1,1,0,0,1,1,1) gruo (1,0,1,0,0,1,1): v5: (_,1,0,0/1,0,1,0,0,1,1)

grup (0,1,1,0,1,1,1): v6: (_,1,0,1/0,1,1,0,1,1,1) grup (0,1,1,1,1,1,1): v7: (_,1,1,0/0,1,1,1,1,1,1)

grup (1,1,0,0,0,1,0): v8: (_,1,1,1/1,1,0,0,0,1,0): grup (1,1,1,1,1,1,1): v9. (1,_,_,0/1,1,1,1,1,1,1): grup (1,1,1,0,1,1,1): v10: (1,_,_,1/1,1,1,0,1,1,1):

b) - varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”:

grup 0 (a): v1: (_,1,0,1)/0 v2: (_,1,1,0)/0

grup 1 (a): v3: (_,0,_,_)/1 v4: (_,_,0,0)/1 v5: (_,_,1,1)/1

- ieşirea „b”:

grup 0 (b): v1: (0,0,0,1/0) v2: (_,1,0,0/0)

grup 1 (b): v3: (_,0,_,0/1) v4: (_,_,1,_/1) v5: (_,1,_,1/1) v6: (1,_,_,_/1)

- ieşirea „c”:

grup 0 (c): v1 : (0,0,_,1/0) v2 : (_,0,1,_/0) v3 : (_,_,1,1/0)

grup 1 (c): v4 : (_,_,0,0/1) v5 : (_,1,0,_/1) v6 : (_,1,_,0/1) v7 : (1,_,_,_/1)

- ieşirea „d”:

grup 0 (d): v1: (_,_,_,1/0) v2: (_,1,0,_/0)

grup 1 (d): v3: (_,0,_,0/1) v4: (_,_,1,0/1)

07. METODA DISCRIMINĂRII 179

- ieşirea „e”: grup 0 (e): v1 : (0,0,0,1/0) v2 : (_,1,0,0/0) v3 : (_,1,1,1/0)

grup 1 (e): v4 : (_,0,_,0/1) v5 : (_,0,1,_/1) v6 : (_,1,0,1/1) v7 : (_,_,1,0/1) v8 : (1,_,_,_/1)

- ieşirea „f”:

grup 0 (f): v1: _,0,1,0/0

grup 1 (f): v2: _,_,0,_/1 v3: _,_,_,1/1 v4: _,1,_,_/1

- ieşirea „g”: grup 0 (g): v1: (0,0,0,_/0) v2: (_,1,1,1/0) grup 11 (g): v3: (_,0,1,_/1) v4: (_,1,0,_/1) v5: (_,1,_,0/1) v6: (1,_,_,_/1)

grup 12 (g): v3: (_,0,1,_/1) v4: (_,1,0,_/1) v6: (1,_,_,_/1) v7: (_,_,1,0/1)

ex.D:

a) – varianta cu ieşire vectorială (unică):

grup (0,0): v1: 0,0,0/0,0 grup (0,1): v2: 0,0,1/0,1 grup (0,2): v3: _,0,2/0,2 grup (0,3): v4: _,1,0/0,3 grup (0,4): v5: _,1,1/0,4

grup (1,0): v6: _,1,2/1,0 grup (1,1): v7: _,2,0/1,1 grup (1,2): v8: _,2,1/1,2 grup (1,3): v9: _,2,2/1,3 grup (1,4): v10:1,_,_/1,4

180 07. METODA DISCRIMINĂRII

b) varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”: grup 0 (a): v1: (0,0,_/0) v2: (_,1,0/0) v3: (_,1,1/0)

grup 1 (a): v4: (_,1,2/1) v5: (_,2,_/1) v6: (1,_,_/1)

- ieşirea „b”:

grup 0 (b): v1: (0,0,0/0) v2: (_,1,2/0)

grup 1 (b): v3: (_,0,1/1) v4: (_,2,0/1)

grup 2 (b): v5: (_,0,2/2) v6: (_,2,1/2)

grup 3 (b): v7: (_,1,0/3) v8: (_,2,2/3)

grup 4 (b): v9: (_,1,1/4) v10:(1,_,_/4)

- ex.E:

grup 0: v1: (_,1,0,1/0) v2: (_,1,1,0/0)

grup 1: v3: (_,0,_,_/1) v4: (_,_,0,0/1) v5: (_,_,1,1/1)

etapa 11d: Eliminarea redundanţelor logice

Simplificarea variantelor de soluţii, prin eliminarea din liste a rândurilor redundante, infiltrate în soluţie prin enunţ:

Redundanţă logică:

Dacă într-o grupă valorică se identifică un triplet de vectori de forma:

.A.B.Bv

v.A

unde :

07. METODA DISCRIMINĂRII 181

- v şi v′ reprezintă, în cele două rânduri, vectori parţiali, ale căror componente specificate diferă de la un vector la celălalt, poziţie cu poziţie; - A şi B sunt restul din vectorii celor două rânduri, între care nu există componente de valori specificate diferite pe nici o poziţie, iar poziţiile corespunzătoare vectorilor v şi v′ sunt trecute, prin simbolul ∗ , ca nespecificate.

Vectorul produs .A.B)(∗ , numit aici „vector consens potenţial” ale celor doi (unde prin „∗ „ sunt notate poziţiile - aici nespecificate - ale lui v şi v′ din primii doi vectori) acoperă logic tranziţiile din v în v′ , sau din v′ în v , între cei doi vectori, conservând în timpul tranziţiei valoarea iniţială şi finală (valori egale, pentru că ne referim la aceeaşi grupă valorică). Acest vector include în mulţimea de vectori desemnată prin „∗ „ şi combinaţiile:

(v.A.B) şi .A.B)v( ′ care sunt simplificate prin acoperire de către primii doi vectori. Dacă în tabel ar fi regăsite şi celelalte combinaţii ale

vectorului consens potenţial .A.B)(∗ , atunci acest vector ar reprezenta cu adevărat un vector consens şi ar putea fi eliminat din tabel, reprezentând o redundanţă logică. În caz contrar, el rămâne de drept în tabel, pentru că reprezintă combinaţii specifice ale respectivei grupe din tabel. În cazul unor vectori binari, în care semnul „∗ ” marchează

doar o singură variabilă, vectorul .A.B)(∗ este vector consens şi, dacă se găseşte în tabelul de valori minimizat până în această etapă, poate fi eliminat, el reprezentând o redundanţă logică. Întrucât analiza acestor posibilităţi devine tot mai complexă, cu cât numărul de poziţii nespecificate în prima parte a vectorului

consens .A.B)(∗ este mai mare, complexitatea crescând şi cu gradul de multivalenţă (cu numărul de valori logice „pe fir”), atunci se recomandă să se procedeze în felul următor: - se generează, prin compararea perechilor de vectori de tipul primilor doi din tripleta analizată, toţi vectorii consens potenţiali; - tabelul obţinut se poate păstra pentru etapa opţională de localizare şi de identificare a hazardului; - separat, se reţin vectorii consens potenţiali care se regăsesc şi în tabelul respectivei grupe; - se discriminează această grupă specială de vectori consens potenţiali (care se regăsesc şi în tabelul grupei) în raport cu celelalte grupe valorice minimizate, urmărindu-se să se stabilească, pentru fiecare vector în parte, dacă se deosebeşte sau nu faţă de toţi vectorii celorlalte grupe valorice;

182 07. METODA DISCRIMINĂRII

- vectorii consens potenţiali care se deosebesc de toţi vectorii celorlalte grupe valorice sunt vectori consens, deci redundanţi, şi, înainte de eliminarea lor din tabel, se verifică dacă nu generează noi vectori consens, prin reintroducerea lor in tabel; prin urmare: - se reintroduc in tabel, recalculându-se vectorii consens ai tabelului, se reintroduc în tabel, şi operaţia se repetă până când grupul de vectori consens nu mai generează noi vectori consens, grupul final eliminându-se din tabelul grupei analizate; - in aceasta operaţie ciclica, trebuie observat că apariţia unui vector consens egal cu unul dintre cei doi constituenţi ai lui (de exemplu, vectorii v1 şi v2 generează vectorul consens v1) nu poate fi luat in considerare pentru simplificarea tabelului, pentru ca ar elimina unul dintre vectorii cauză care l-au generat, descompletând specificaţiile de bază ale enunţului (ale tabelului originar); mai mult, dacă nu s-ar proceda aşa, s-ar intra intr-o buclă fără sfârşit. - se procedează la fel în toate grupele valorice;

- în cazul binar, vectorii consens potenţiali, care sunt generaţi din

perechi de vectori care diferă prin valoarea unei singure variabile şi se regăsesc şi în tabel, se elimină direct din tabel; în rest şi în cazul binar se procedează ca mai sus.

- ex.A:

grup 0: v1: 0,0,_,0,_,_/0 v2: 0,_,0,0,_,_/0 v3: 0,_,_,0,_,0/0 v4: 1,0,1,_,_,_/0

grup 1: v5: _,1,1,_,_,1/1 v6: _,1,_,1,_,_/1 v7: 1,1,_,_,_,_/1 v8: 0,_,_,1,_,_/1 v9: _,_,0,1,_,_/1 v10: 1,_,0,_,_,_/1

Vectorii consens posibili ai grupului 0:

(v1,v4): (*,0,1,0,_,_) (v2,v4): (*,0,*,0,_,_) (v3,v4): (*,0,1,0,_,0)

Vectorii consens nu se regăsesc în grup 0, deci grup 0 este minim.

- Vectorii consens pentru grup 1:

(v5,v9): (_,1,*,1,_,1) (v5,v10): (1,1,*,_,_,1) (v7,v8): (*,1,_,1,_,_) (v8,v10): (*,_,0,1,_,_) Vectorii (v5,v9) şi (v5,v10) nu aparţin grup 1. Vectorul (v7,v8) este identic cu vectorul v6 din grup 1, pentru că în notaţia de mai sus simbolul “ * “ are aceeaşi semnificaţie cu “ _ “. Fiind în binar şi cu o singură variabilă (marcată prin “ * “) care-şi schimbă valoarea

07. METODA DISCRIMINĂRII 183

între vectorii v7 şi v8, rezultă direct, conform argumentelor de mai înainte, că vectorul v6 este redundant logic şi poate fi eliminat din grup 1. La fel, vectorul (v8,v10) este identic cu vectorul v9, eliminându-l pe acesta, ca redundant. Tabelele minime, împreună cu vectorii consens asociaţi (în vederea folosirii lor în etapa opţională a eliminării hazardului logic şi a marcării hazardului funcţional) sunt centralizate în etapa următoare: Observaţie: Dacă se aplică prima metodă (cea exhaustivă), expandându-se pe variabila marcată cu *, vectorul egal cu vectorul consens, se obţine un tabel care, minimizat prin discriminare, conduce la acelaşi rezultat. Tabelul expandat are forma de mai jos, grupul expandat fiind marcat prin caractere italice:

0,0,_,0,_,_/0 0,_,0,0,_,_/0 0,_,_,0,_,0/0 1,0,1,_,_,_/0 _,1,1,_,_,1/1 0,1,_,1,_,_/1 1,1,_,1,_,_/1 0,_,0,1,_,_/1 1,_,0,1,_,_/1 1,1,_,_,_,_/1 0,_,_,1,_,_/1 _,_,0,1,_,_/1 1,_,0,_,_,_/1 - ex.B:

grup 01: v1: (4,_,_/0) v2: (_,3,_/0) v3: (_,_,3/0)

Nu există vectori consens, deci soluţia este minimă. grup 02: v1: (4,_,_/0) v3: (_,_,3/0) v4: (_,_,1/0) Vectorul consens (v3,v4): (_,_,*) nu face parte din grup, deci grupul este minim. grup 03: v2: (_,3,_/0) v3: (_,_,3/0) v5: (_,2,_/0)

184 07. METODA DISCRIMINĂRII

Vectorul consens (v2,v5): (_,*,_) nu face parte din grup, deci grupul este minim. grup 04: v3: (_,_,3/0) v4: (_,_,1/0) v5: (_,2,_/0) Vectorul consens (v3,v4): (_,_,*) nu face parte din grup, deci grupul este minim.

Grupurile celelalte nu conţin decât un singur vector, deci nu pot exista redundanţe. grup 31: v6: (2,_,_/3) grup 32: v7: (_,1,_/3) grup 33: v8: (_,_,4/3) grup 7:

v9: (_,7,2/7) grup 91: v13: (3,_,_/9) grup 92: v14: (_,5,_/9) grup 93: v15: (_,_,7/9)

Deci soluţiile pentru ex. B sunt minime. - ex.C:

a) - varianta cu ieşire vectorială (unică):

grup (1,1,1,1,1,1,0): v1: (0,0,0,0/1,1,1,1,1,1,0) grup (1,0,0,0,0,1,0): v2: (0,0,0,1/1,0,0,0,0,1,0) grup (1,1,0,1,1,0,1): v3: (_,0,1,0/1,1,0,1,1,0,1) grup (1,1,0,0,1,1,1): v4: (_,0,1,1/1,1,0,0,1,1,1) gruo (1,0,1,0,0,1,1): v5: (_,1,0,0/1,0,1,0,0,1,1)

grup (0,1,1,0,1,1,1): v6: (_,1,0,1/0,1,1,0,1,1,1) grup (0,1,1,1,1,1,1): v7: (_,1,1,0/0,1,1,1,1,1,1)

grup (1,1,0,0,0,1,0): v8: (_,1,1,1/1,1,0,0,0,1,0): grup (1,1,1,1,1,1,1): v9. (1,_,_,0/1,1,1,1,1,1,1): grup (1,1,1,0,1,1,1): v10: (1,_,_,1/1,1,1,0,1,1,1):

07. METODA DISCRIMINĂRII 185

Grupurile au doar câte un vector, deci sunt minime.

b) - varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”: grup 0 (a): v1: (_,1,0,1)/0 v2: (_,1,1,0)/0

Vectorul consens: (v1,v2): (_,1,*,*) nu aparţine listei, deci grupul este minim. grup 1 (a): v3: (_,0,_,_)/1 v4: (_,_,0,0)/1 v5: (_,_,1,1)/1

Vectorul consens (v4,v5): (_,_,*,*) nu aparţine listei, deci grupul este minim. - ieşirea „b”:

grup 0 (b): v1: (0,0,0,1/0) v2: (_,1,0,0/0)

Vectorul consens (v1,v2): (0,*,0,*) nu aparţine listei, deci grupul este minim. grup 1 (b): v3: (_,0,_,0/1) v4: (_,_,1,_/1) v5: (_,1,_,1/1) v6: (1,_,_,_/1)

Vectorul consens (v3,v5): (_,*,_,*) nu aparţine listei, deci grupul este minim. - ieşirea „c”: grup 0 (c): v1 : (0,0,_,1/0) v2 : (_,0,1,_/0)

186 07. METODA DISCRIMINĂRII

v3 : (_,_,1,1/0)

Nu există vectori consens, deci grupul este minim. grup 1 (c): grup 1(c): v4 : (_,_,0,0/1) v5 : (_,1,0,_/1) v6 : (_,1,_,0/1) v7 : (1,_,_,_/1)

Nu există vectori consens, deci grupul este minim. - ieşirea „d”: grup 0 (d): v1: (_,_,_,1/0) v2: (_,1,0,_/0)

Nu există vectori consens, deci grupul este minim. grup 1 (d): v3: (_,0,_,0/1) v4: (_,_,1,0/1)

Nu există vectori consens, deci grupul este minim. - ieşirea „e”: grup 0 (e): v1 : (0,0,0,1/0) v2 : (_,1,0,0/0) v3 : (_,1,1,1/0) Vectorii consens: (v1,v2): (0,*,0,*) (v1,v3): (0,*,*,1) (v2,v3): (_,1,*,*) nu aparţin listei, deci grupul este minim. grup 1 (e): v4 : (_,0,_,0/1) v5 : (_,0,1,_/1) v6 : (_,1,0,1/1) v7 : (_,_,1,0/1) v8 : (1,_,_,_/1) Vectorii consens: (v4,v6): (_,*,0,*) (v5,v6): (_,*,*,1) (v6,v7): (_,1,*,*) nu aparţin listei, deci grupul este minim.

07. METODA DISCRIMINĂRII 187

- ieşirea „f”: grup 0 (f): v1: _,0,1,0/0

Nu sunt redundanţe, deci grupul este minim. grup 1 (f): v2: _,_,0,_/1 v3: _,_,_,1/1 v4: _,1,_,_/1

Nu sunt vectori consens, deci grupul este minim. - ieşirea „g”: grup 0 (g): v1: (0,0,0,_/0) v2: (_,1,1,1/0) Vectorul consens (v1,v2): (0,*,*,1) nu aparţine listei, deci grupul este minim. grup 11 (g): v3: (_,0,1,_/1) v4: (_,1,0,_/1) v5: (_,1,_,0/1) v6: (1,_,_,_/1) Vectorii consens: (v3,v4): (_,*,*,_) (v3,v5): (_,*,1,0) nu aparţin listei, deci grupul este minim. grup 12 (g): v3: (_,0,1,_/1) v4: (_,1,0,_/1) v6: (1,_,_,_/1) v7: (_,_,1,0/1) Vectorii consens: (v3,v4): (_,*,*,_) (v4,v7): (_,1,*,0) nu aparţin listei, deci grupul este minim.

- ex.D: a) – varianta cu ieşire vectorială (unică):

grup (0,0): v1: 0,0,0/0,0 grup (0,1): v2: 0,0,1/0,1

grup (0,2): v3: _,0,2/0,2 grup (0,3): v4: _,1,0/0,3

188 07. METODA DISCRIMINĂRII

grup (0,4): v5: _,1,1/0,4 grup (1,0): v6: _,1,2/1,0 grup (1,1): v7: _,2,0/1,1

grup (1,2): v8: _,2,1/1,2 grup (1,3): v9: _,2,2/1,3 grup (1,4): v10: 1,_,_/1,4

Grupurile au doar câte un vector, deci sunt minime.

b) - varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”: grup 0 (a): v1: (0,0,_/0) v2: (_,1,0/0) v3: (_,1,1/0)

Vectorii consens. (v1,v2): (0,*,0) (v1,v3): (0,*,1) (v2,v3): (_,1,*)

nu aparţin grupului, deci grupul este minim. grup 1 (a): v4: (_,1,2/1) v5: (_,2,_/1) v6: (1,_,_/1)

Vectorul consens: (v4,v5): (_,*,2) nu aparţine grupului, deci grupul este minim.

- ieşirea „b”: grup 0 (b):

v1: (0,0,0/0) v2: (_,1,2/0) Vectorul consens: (v1,v2): (0,*,*) nu aparţine grupului, deci grupul este minim.

grup 1 (b): v3: (_,0,1/1) v4: (_,2,0/1)

07. METODA DISCRIMINĂRII 189

Vectorul consens: (v3,v4): (_,*,*) nu aparţine grupului, deci grupul este minim.

grup 2 (b): v5: (_,0,2/2) v6: (_,2,1/2) Vectorul consens: (v5,v6): (_,*,*) nu aparţine grupului, deci grupul este minim.

grup 3 (b):

v7: (_,1,0/3) v8: (_,2,2/3) Vectorul consens: (v7,v8): (_,*,*) nu aparţine grupului, deci grupul este minim.

grup 4 (b): v9: (_,1,1/4) v10: (1,_,_/4)

Nu există vectori consens, deci grupul este minim.

- ex.E: grup 0: v1: (_,1,0,1/0) v2: (_,1,1,0/0) Vectorul consens: (v1,v2): (_,1,*,*) nu aparţine grupului, deci grupul este minim. grup 1: v3: (_,0,_,_/1) v4: (_,_,0,0/1) v5: (_,_,1,1/1) Vectorul consens: (v4,v5): (_,_,*,*) nu aparţine grupului, deci grupul este minim.

190 07. METODA DISCRIMINĂRII

etapa 12d: Centralizarea variantelor minimizate prin eliminarea redundanţelor logice

- ex.A: grup 0: v1: 0,0,_,0,_,_/0 v2: 0,_,0,0,_,_/0 v3: 0,_,_,0,_,0/0 v4: 1,0,1,_,_,_/0 (v1,v4): *,0,1,0,_,_/0 (v2,v4): *,0,*,0,_,_/0 (v3,v4): *,0,1,0,_,0/0 grup 1: v5: _,1,1,_,_,1/1 v7: 1,1,_,_,_,_/1 v8: 0,_,_,1,_,_/1 v10: 1,_,0,_,_,_/1 (v5,v9): _,1,*,1,_,1/1 (v5,v10): 1,1,*,_,_,1/1 (v7,v8): *,1,_,1,_,_/1 (v8,v10): *,_,0,1,_,_/1

- ex.B:

grup 01: v1: 4,_,_/0 v2: _,3,_/0 v3: _,_,3/0 grup 02: v1: 4,_,_/0 v3: _,_,3/0 v4: _,_,1/0 (v3,v4): _,_,*/0 grup 03: v2: _,3,_/0 v3: _,_,3/0 v5: _,2,_/0

(v2,v5): _,*,_/0 grup 04: v3: _,_,3/0 v4: _,_,1/0 v5: _,2,_/0 (v3,v4): _,_,*/0 grup 31: v6: 2,_,_/3 grup 32: v7: _,1,_/3 grup 33: v8: _,_,4/3

07. METODA DISCRIMINĂRII 191

grup 7: v9: _,7,2/7 grup 91: v13: 3,_,_/9

grup 92: v14: _,5,_/9 grup 93: v15: _,_,7/9

- ex.C: a) - varianta cu ieşire vectorială (unică):

grup (1,1,1,1,1,1,0): v1: (0,0,0,0/1,1,1,1,1,1,0) grup (1,0,0,0,0,1,0): v2: (0,0,0,1/1,0,0,0,0,1,0) grup (1,1,0,1,1,0,1): v3: (_,0,1,0/1,1,0,1,1,0,1) grup (1,1,0,0,1,1,1): v4: (_,0,1,1/1,1,0,0,1,1,1) gruo (1,0,1,0,0,1,1): v5: (_,1,0,0/1,0,1,0,0,1,1)

grup (0,1,1,0,1,1,1): v6: (_,1,0,1/0,1,1,0,1,1,1) grup (0,1,1,1,1,1,1): v7: (_,1,1,0/0,1,1,1,1,1,1)

grup (1,1,0,0,0,1,0): v8: (_,1,1,1/1,1,0,0,0,1,0): grup (1,1,1,1,1,1,1): v9. (1,_,_,0/1,1,1,1,1,1,1): grup (1,1,1,0,1,1,1): v10: (1,_,_,1/1,1,1,0,1,1,1):

b) - varianta cu ieşiri multiple, tratate separat: - ieşirea „a”:

grup 0 (a): v1: _,1,0,1/0 v2: _,1,1,0/0 (v1,v2): _,1,*,*/0

grup 1 (a): v3: _,0,_,_/1 v4: _,_,0,0/1 v5: _,_,1,1/1 (v4,v5): _,_,*,*/1

- ieşirea „b”:

grup 0 (b): v1: 0,0,0,1/0 v2: _,1,0,0/0 (v1,v2): 0,*,0,*/0

grup 1 (b): v3: _,0,_,0/1 v4: _,_,1,_/1 v5: _,1,_,1/1 v6: 1,_,_,_/1 (v3,v5): _,*,_,*/1

192 07. METODA DISCRIMINĂRII

- ieşirea „c”: grup 0 (c): v1 : 0,0,_,1/0 v2 : _,0,1,_/0 v3 : _,_,1,1/0

grup 1 (c): v4 : _,_,0,0/1 v5 : _,1,0,_/1 v6 : _,1,_,0/1 v7 : 1,_,_,_/1

- ieşirea „d”:

grup 0 (d): v1: _,_,_,1/0 v2: _,1,0,_/0

grup 1 (d): v3: _,0,_,0/1 v4: _,_,1,0/1

- ieşirea „e”:

grup 0 (e): v1 : 0,0,0,1/0 v2 : _,1,0,0/0 v3 : _,1,1,1/0 (v1,v2): 0,*,0,*/0 (v1,v3): 0,*,*,1/0 (v2,v3): _,1,*,*/0

grup 1 (e): v4 : _,0,_,0/1 v5 : _,0,1,_/1 v6 : _,1,0,1/1 v7 : _,_,1,0/1 v8 : 1,_,_,_/1 v4,v6): _,*,0,*/1 (v5,v6): _,*,*,1/1 (v6,v7): _,1,*,*/1

- ieşirea „f”: grup 0 (f): v1: _,0,1,0/0

grup 1 (f): v2: _,_,0,_/1 v3: _,_,_,1/1 v4: _,1,_,_/1

- ieşirea „g”: grup 0 (g): v1: 0,0,0,_/0 v2: _,1,1,1/0 (v1,v2): 0,*,*,1/0 grup 11 (g): v3: _,0,1,_/1 v4: _,1,0,_/1 v5: _,1,_,0/1 v6: 1,_,_,_/1 (v3,v4): _,*,*,_/1 (v3,v5): _,*,1,0/1

grup 12 (g): v3: _,0,1,_/1 v4: _,1,0,_/1 v6: 1,_,_,_/1 v7: _,_,1,0/1 (v3,v4): _,*,*,_/1 (v4,v7): _,1,*,0/1

07. METODA DISCRIMINĂRII 193

- ex.D: a) – varianta cu ieşire vectorială (unică):

grup (0,0): v1: 0,0,0/0,0 grup (0,1): v2: 0,0,1/0,1 grup (0,2): v3: _,0,2/0,2 grup (0,3): v4: _,1,0/0,3 grup (0,4): v5: _,1,1/0,4

grup (1,0): v6: _,1,2/1,0 grup (1,1): v7: _,2,0/1,1 grup (1,2): v8: _,2,1/1,2 grup (1,3): v9: _,2,2/1,3 grup (1,4): v10: 1,_,_/1,4

b) - varianta cu ieşiri multiple, tratate separat: - ieşirea „a”:

grup 0 (a): v1: 0,0,_/0 v2: _,1,0/0 v3: _,1,1/0 (v1,v2): 0,*,0/0 (v1,v3): 0,*,1/0 (v2,v3): _,1,*/0

grup 1 (a): v4: _,1,2/1 v5: _,2,_/1 v6: 1,_,_/1

(v4,v5): _,*,2/1

- ieşirea „b”:

grup 0 (b): v1: 0,0,0/0 v2: _,1,2/0 (v1,v2): 0,*,*/0

grup 1 (b): v3: _,0,1/1 v4: _,2,0/1 (v3,v4): _,*,*/1

grup 2 (b): v5: _,0,2/2 v6: _,2,1/2 (v5,v6): _,*,*/2 grup 3 (b): v7: _,1,0/3 v8: _,2,2/3 (v7,v8): _,*,*/3 grup 4 (b): v9: _,1,1/4 v10: 1,_,_/4

194 07. METODA DISCRIMINĂRII

- ex.E: grup 0: v1: _,1,0,1/0 v2: _,1,1,0/0 (v1,v2): _,1,*,*/0 grup 1: v3: _,0,_,_/1 v4: _,_,0,0/1 v5: _,_,1,1/1 (v4,v5): _,_,*,*/1 etapa 13d: Reţinerea din grupele care au atât

variante cu vectori consens, cât şi fără vectori consens, numai a variantelor fără vectori consens (deci fără hazard)

- ex.A:

grup 0: v1: 0,0,_,0,_,_/0 v2: 0,_,0,0,_,_/0 v3: 0,_,_,0,_,0/0 v4: 1,0,1,_,_,_/0 (v1,v4): *,0,1,0,_,_/0 (v2,v4): *,0,*,0,_,_/0 (v3,v4): *,0,1,0,_,0/0

grup 1: v5: _,1,1,_,_,1/1 v7: 1,1,_,_,_,_/1 v8: 0,_,_,1,_,_/1 v10: 1,_,0,_,_,_/1 (v5,v9): _,1,*,1,_,1/1 (v5,v10): 1,1,*,_,_,1/1 (v7,v8): *,1,_,1,_,_/1 (v8,v10): *._,0,1,_,_/1

- ex.B:

grup 01: v1: 4,_,_/0 v2: _,3,_/0 v3: _,_,3/0 grup 31: v6: 2,_,_/3 grup 32: v7: _,1,_/3 grup 33: v8: _,_,4/3

grup 7: v9: _,7,2/7 grup 91: v13: 3,_,_/9 grup 92: v14: _,5,_/9 grup 93: v15: _,_,7/9

07. METODA DISCRIMINĂRII 195

- ex.C: a) - varianta cu ieşire vectorială (unică):

grup (1,1,1,1,1,1,0): v1: (0,0,0,0/1,1,1,1,1,1,0) grup (1,0,0,0,0,1,0): v2: (0,0,0,1/1,0,0,0,0,1,0) grup (1,1,0,1,1,0,1): v3: (_,0,1,0/1,1,0,1,1,0,1) grup (1,1,0,0,1,1,1): v4: (_,0,1,1/1,1,0,0,1,1,1) gruo (1,0,1,0,0,1,1): v5: (_,1,0,0/1,0,1,0,0,1,1)

grup (0,1,1,0,1,1,1): v6: (_,1,0,1/0,1,1,0,1,1,1) grup (0,1,1,1,1,1,1): v7: (_,1,1,0/0,1,1,1,1,1,1)

grup (1,1,0,0,0,1,0): v8: (_,1,1,1/1,1,0,0,0,1,0): grup (1,1,1,1,1,1,1): v9. (1,_,_,0/1,1,1,1,1,1,1): grup (1,1,1,0,1,1,1): v10: (1,_,_,1/1,1,1,0,1,1,1):

b) - varianta cu ieşiri multiple, tratate separat: - ieşirea „a”:

grup 0 (a): v1: _,1,0,1/0 v2: _,1,1,0/0 (v1,v2): _,1,*,*/0

grup 1 (a): v3: _,0,_,_/1 v4: _,_,0,0/1 v5: _,_,1,1/1 (v4,v5): _,_,*,*/1

- ieşirea „b”:

grup 0 (b): v1: 0,0,0,1/0 v2: _,1,0,0/0 (v1,v2): 0,*,0,*/0

grup 1 (b): v3: _,0,_,0/1 v4: _,_,1,_/1 v5: _,1,_,1/1 v6: 1,_,_,_/1 (v3,v5): _,*,_,*/1

- ieşirea „c”:

grup 0 (c): v1 : 0,0,_,1/0 v2 : _,0,1,_/0 v3 : _,_,1,1/0

grup 1 (c): v4 : _,_,0,0/1 v5 : _,1,0,_/1 v6 : _,1,_,0/1 v7 : 1,_,_,_/1

196 07. METODA DISCRIMINĂRII

- ieşirea „d”:

grup 0 (d): v1: _,_,_,1/0 v2: _,1,0,_/0

grup 1 (d): v3: _,0,_,0/1 v4: _,_,1,0/1

- ieşirea „e”:

grup 0 (e): v1 : 0,0,0,1/0 v2 : _,1,0,0/0 v3 : _,1,1,1/0 (v1,v2): 0,*,0,*/0 (v1,v3): 0,*,*,1/0 (v2,v3): _,1,*,*/0 grup 1 (e): v4 : _,0,_,0/1

v5 : _,0,1,_/1 v6 : _,1,0,1/1 v7 : _,_,1,0/1 v8 : 1,_,_,_/1 v4,v6): _,*,0,*/1 (v5,v6): _,*,*,1/1 (v6,v7): _,1,*,*/1

- ieşirea „f”: grup 0 (f): v1: _,0,1,0/0

grup 1 (f): v2: _,_,0,_/1 v3: _,_,_,1/1 v4: _,1,_,_/1

- ieşirea „g”: grup 0 (g): v1: 0,0,0,_/0 v2: _,1,1,1/0 (v1,v2): 0,*,*,1/0 grup 11 (g): v3: _,0,1,_/1 v4: _,1,0,_/1 v5: _,1,_,0/1 v6: 1,_,_,_/1 (v3,v4): _,*,*,_/1 (v3,v5): _,*,1,0/1

grup 12 (g): v3: _,0,1,_/1 v4: _,1,0,_/1 v6: 1,_,_,_/1 v7: _,_,1,0/1 (v3,v4): _,*,*,_/1 (v4,v7): _,1,*,0/1

07. METODA DISCRIMINĂRII 197

- ex.D: a) – varianta cu ieşire vectorială (unică):

grup (0,0): v1: 0,0,0/0,0 grup (0,1): v2: 0,0,1/0,1 grup (0,2): v3: _,0,2/0,2 grup (0,3): v4: _,1,0/0,3 grup (0,4): v5: _,1,1/0,4

grup (1,0): v6: _,1,2/1,0 grup (1,1): v7: _,2,0/1,1 grup (1,2): v8: _,2,1/1,2 grup (1,3): v9: _,2,2/1,3 grup (1,4): v10: 1,_,_/1,4

b) - varianta cu ieşiri multiple, tratate separat: - ieşirea „a”:

grup 0 (a): v1: 0,0,_/0 v2: _,1,0/0 v3: _,1,1/0 (v1,v2): 0,*,0/0 (v1,v3): 0,*,1/0 (v2,v3): _,1,*/0

grup 1 (a): v4: _,1,2/1 v5: _,2,_/1 v6: 1,_,_/1

(v4,v5): _,*,2/1

- ieşirea „b”:

grup 0 (b): v1: 0,0,0/0 v2: _,1,2/0 (v1,v2): 0,*,*/0 grup 1 (b): v3: _,0,1/1 v4: _,2,0/1 (v3,v4): _,*,*/1

grup 2 (b): v5: _,0,2/2 v6: _,2,1/2

(v5,v6): _,*,*/2 grup 3 (b): v7: _,1,0/3 v8: _,2,2/3 (v7,v8): _,*,*/3 grup 4 (b): v9: _,1,1/4 v10: 1,_,_/4

198 07. METODA DISCRIMINĂRII

- ex.E:

grup 0: v1: _,1,0,1/0 v2: _,1,1,0/0 (v1,v2): _,1,*,*/0

grup 1: v3: _,0,_,_/1 v4: _,_,0,0/1 v5: _,_,1,1/1 (v4,v5): _,_,*,*/1

etapa 14d: Identificarea şi marcarea variantelor care

conţin hazard funcţional

În conformitate cu metoda prezentată în capitolul referitor la identificarea şi eliminarea hazardului din circuitele de comutaţie, vectorii consens deja determinaţi pentru fiecare variantă în parte vor fi testaţi dacă reprezintă manifestare de hazard funcţional.

Astfel – rezumăm metoda - se verifică dacă poziţiile specificate ale vectorului consens se regăsesc întocmai, sau în dreptul lor există simbolul „ – „ , la cel puţin un vector din celelalte grupe valorice. În caz afirmativ, vectorul indică hazard funcţional, iar respectiva grupă valorică se marchează că are un astfel de hazard. - ex.A: În grup 0, vectorul (v2,v4): *,0,*,0,_,_/0 cuprinde vectorul v10 al grupului 1 v10: 1,_,0,_,_,_/1 Rezultă: grup 0 are hazard funcţional. Ceilalţi vectori consens ai grup 0 şi grup 1 implică doar schimbarea unei variabile binare şi, prin urmare nu evidenţiază hazard funcţional. Rezultă: grup 1 nu are hazard funcţional - ex.B:

Nu există vectori consens: Soluţiile din ex. B nu prezintă hazard.

07. METODA DISCRIMINĂRII 199

- ex.C:

a) - varianta cu ieşire vectorială (unică):

Nu există vectori consens în cadrul grupelor caracterizate de ieşire

vectorială. Conform notei N-17.1, acest lucru nu probează că nu există hazard logic

sau funcţional, ci doar că nu se tratează problemele de hazard ale unor asemenea structuri, în cazul lor urmărindu-se o soluţie cu număr minim de vectori implicanţi, iar problemele lor de hazard se pot elimina complet prin metoda tehnologică sugerată în cap. 17.

Prin urmare: Soluţiile din ex. B – varianta cu ieşire vectorială - nu se analizează la hazard.

b) - varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”:

grup 0 (a):

În grup 0 (a), vectori din mulţimea reprezentată de vectorul consens (v1,v2): _,1,*,*/0 se regăsesc în vectorii grupului 1 (a) v4: _,_,0,0/1 v5: _,_,1,1/1 Rezultă: grup 0 (a) are hazard funcţional.

grup 1 (a): În grup 1 (a), vectori din mulţimea reprezentată de vectorul consens (v4,v5): _,_,*,*/1 se regăsesc în oricare dintre vectorii grupului 0 (a). Rezultă: grup 1 (a) are hazard funcţional.

- ieşirea „b”:

grup 0 (b): În grup 0 (b), vectori din mulţimea reprezentată de vectorul consens (v1,v2): 0,*,0,*/0 se regăsesc în vectorii grupului 1 (b) v3: _,0,_,0/1 v5: _,1,_,1/1

200 07. METODA DISCRIMINĂRII

Rezultă: grup 0 (b) are hazard funcţional. grup 1 (b): În grup 1 (b), vectori din mulţimea reprezentată de vectorul consens (v3,v5): _,*,_,*/1 se regăsesc în oricare dintre vectorii grupului 0 (b). Rezultă: grup 1 (b) are hazard funcţional.

- ieşirea „c”:

Grupurile 0 (c) şi 1 (c) nu au vectori consens, deci: Soluţiile ieşirii „c” nu prezintă hazard.

- ieşirea „d”:

Grupurile 0 (d) şi 1 (d) nu au vectori consens, deci: Soluţiile ieşirii „d” nu prezintă hazard.

- ieşirea „e”: grup 0 (e): În grup 0 (e), vectori din mulţimea reprezentată de vectorul consens (v1,v2): 0,*,0,*/0 se regăsesc în vectorii grupului 1 (e) v4 : _,0,_,0/1 v6 : _,1,0,1/1 În rest, nu mai are rost analiza şi pentru ceilalţi vectori consens. Rezultă: grup 0 (e) are hazard funcţional. grup 1 (e): În grup 1 (e), vectori din mulţimea reprezentată de vectorul consens (v4,v6): _,*,0,*/1 se regăsesc în vectorii grupului 0 (e): v1 : 0,0,0,1/0 v2 : _,1,0,0/0 În rest, nu mai are rost analiza şi pentru ceilalţi vectori consens. Rezultă: grup 1 (e) are hazard funcţional.

- ieşirea „f”: Grupurile 0 (f) şi 1 (f) nu au vectori consens, deci: Soluţiile ieşirii f nu prezintă hazard.

07. METODA DISCRIMINĂRII 201

- ieşirea „g”: grup 0 (g): În grup 0 (g), vectori din mulţimea reprezentată de vectorul consens (v1,v2): 0,*,*,1/0 se regăsesc în vectorii v3 şi v4 din grupurile 11 (g) şi 12 (g): v3: _,0,1,_/1 v4: _,1,0,_/1 În rest, nu mai are rost analiza şi pentru ceilalţi vectori consens. Rezultă: grup 0 (e) are hazard funcţional. grup 1 (g): Atât în grupul 11 (g), cât şi în grupul 12 (g), vectori din mulţimea reprezentată de vectorul consens (v3,v4): _,*,*,_/1 se regăsesc în oricare dintre vectorii grupului 0 (g): Rezultă: grup 11 (g) are hazard funcţional. grup 12 (g) are hazard funcţional.

- ex.D:

a) - varianta cu ieşire vectorială (unică):

Soluţiile variantei cu ieşire vectorială, la fel ca şi în ex. B, nu se analizează la hazard.

b) - varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”:

În grup 0 (a), vectori din mulţimea reprezentată de vectorul consens (v1,v2): 0,*,0/0 se regăsesc în vectorul v5 din grupul 1 (a): v5: _,2,_/1 În rest, nu mai are rost analiza şi pentru ceilalţi vectori consens. Rezultă: grup 0 (a) are hazard funcţional.

- ieşirea „b”:

grup 0 (b): În grup 0 (b), vectori din mulţimea reprezentată de vectorul consens

202 07. METODA DISCRIMINĂRII

(v1,v2): 0,*,*/0 se regăsesc în vectorii v3 şi v4 din grupul 1 (b): v3: _,0,1/1 v4: _,2,0/1 În rest, nu mai are rost analiza şi pentru ceilalţi vectori consens. Rezultă: grup 0 (b) are hazard funcţional. grup 1 (b): În grup 1 (b), vectori din mulţimea reprezentată de vectorul consens (v3,v4): _,*,*/1 se regăsesc în toţi vectorii din celelalte grupuri. Rezultă: grup 1 (b) are hazard funcţional. grup 2 (b): În grupul 2 (b), vectori din mulţimea reprezentată de vectorul consens (v5,v6): _,*,*/2 se regăsesc în toţi vectorii din celelalte grupuri. Rezultă: grup 2 (b) are hazard funcţional. grup 3 (b): În grupul 3 (b), vectori din mulţimea reprezentată de vectorul consens (v7,v8): _,*,*/3 se regăsesc în toţi vectorii din celelalte grupuri. Rezultă: grup 3 (b) are hazard funcţional. grup 4 (b): Grupul 4 (b) nu are vectori consens, deci: grup 4 (b) nu prezintă hazard.

- ex.E:

grup 0: În grup 0, vectori din mulţimea reprezentată de vectorul consens (v1,v2): _,1,*,*/0 se regăsesc în vectorii v3 şi v4 din grupul 1: v4: _,_,0,0/1 v5: _,_,1,1/1 Rezultă: grup 0 are hazard funcţional.

07. METODA DISCRIMINĂRII 203

grup 1: În grup 1, vectori din mulţimea reprezentată de vectorul consens (v4,v5): ,_,*,*/1 se regăsesc în toţi vectorii din grup 0. Rezultă: grup 1 are hazard funcţional. etapa 15d: Reţinerea variantelor fără hazard

funcţional, acolo unde există alternativă, iar în cazurile în care există şi variante fără hazard, reţinerea numai a acestor variante fără hazard

În cazurile în care există atât variante cu hazard funcţional, cât şi variante fără hazard funcţional, se reţin ca soluţii potenţiale numai variantele fără hazard funcţional, iar în cazurile unde există variante fără hazard, se reţin numai aceste variante.

Soluţiile numai cu hazard logic se marchează cu „ * „. Soluţiile cu hazard funcţional se marchează cu „ ** „. Soluţiile cu ieşire vectorială se marchează cu „ *** „. La variantele notate cu „ ** „ nu se mai reţin vectorii consens, pentru că

nu mai ajută cu nimic următoarele etape ale optimizării. La variantele notate cu „ * „ se reţin vectorii consens, în vederea folosirii

lor în etapa opţională de eliminare a hazardului logic. În aceste condiţii, se reţin următoarele soluţii potenţiale pentru exemplele

analizate în acest capitol: - ex.A: *grup 1: v5: _,1,1,_,_,1/1 v7: 1,1,_,_,_,_/1 v8: 0,_,_,1,_,_/1 v9: _,_,0,1,_,_/1 v10: 1,_,0,_,_,_/1 (v5,v9): _,1,*,1,_,1/1 (v5,v10): 1,1,*,_,_,1/1 (v7,v8): *,1,_,1,_,_/1

- ex.B:

grup 01: v1: 4,_,_/0

v2: _,3,_/0 v3: _,_,3/0

204 07. METODA DISCRIMINĂRII

grup 31: v6: 2,_,_/3 grup 32: v7: _,1,_/3 grup 33: v8: _,_,4/3 grup 7:

v9: _,7,2/7 grup 91: v13: 3,_,_/9 grup 92: v14: _,5,_/9 grup 93: v15: _,_,7/9

- ex.C:

a) - varianta cu ieşire vectorială (unică): ***grup (1,1,1,1,1,1,0): v1: 0,0,0,0/1,1,1,1,1,1,0 ***grup (1,0,0,0,0,1,0): v2: 0,0,0,1/1,0,0,0,0,1,0 ***grup (1,1,0,1,1,0,1): v3: _,0,1,0/1,1,0,1,1,0,1 ***grup (1,1,0,0,1,1,1): v4: _,0,1,1/1,1,0,0,1,1,1 ***grup (1,0,1,0,0,1,1): v5: _,1,0,0/1,0,1,0,0,1,1

***grup (0,1,1,0,1,1,1): v6: _,1,0,1/0,1,1,0,1,1,1 ***grup (0,1,1,1,1,1,1): v7: _,1,1,0/0,1,1,1,1,1,1

***grup (1,1,0,0,0,1,0): v8: _,1,1,1/1,1,0,0,0,1,0 ***grup (1,1,1,1,1,1,1): v9: 1,_,_,0/1,1,1,1,1,1,1 ***grup (1,1,1,0,1,1,1): v10: 1,_,_,1/1,1,1,0,1,1,1

b) - varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”:

**grup 0 (a): v1: _,1,0,1/0 v2: _,1,1,0/0

**grup 1 (a): v3: _,0,_,_/1 v4: _,_,0,0/1 v5: _,_,1,1/1

- ieşirea „b”:

**grup 0 (b): v1: 0,0,0,1/0 v2: _,1,0,0/0

**grup 1 (b): v3: _,0,_,0/1 v4: _,_,1,_/1 v5: _,1,_,1/1 v6: 1,_,_,_/1

07. METODA DISCRIMINĂRII 205

- ieşirea „c”: grup 0 (c): v1 : 0,0,_,1/0 v2 : _,0,1,_/0 v3 : _,_,1,1/0

grup 1 (c): v4 : _,_,0,0/1 v5 : _,1,0,_/1 v6 : _,1,_,0/1 v7 : 1,_,_,_/1

- ieşirea „d”:

grup 0 (d): v1: _,_,_,1/0 v2: _,1,0,_/0

grup 1 (d): v3: _,0,_,0/1 v4: _,_,1,0/1

- ieşirea „e”: **grup 0 (e): v1 : 0,0,0,1/0 v2 : _,1,0,0/0 v3 : _,1,1,1/0

**grup 1 (e): v4 : _,0,_,0/1 v5 : _,0,1,_/1 v6 : _,1,0,1/1 v7 : _,_,1,0/1 v8 : 1,_,_,_/1

- ieşirea „f”: grup 0 (f): v1: _,0,1,0/0

grup 1 (f): v2: _,_,0,_/1 v3: _,_,_,1/1 v4: _,1,_,_/1

- ieşirea „g”: **grup 0 (g): v1: 0,0,0,_/0 v2: _,1,1,1/0 **grup 11 (g): v3: _,0,1,_/1 v4: _,1,0,_/1 v5: _,1,_,0/1 v6: 1,_,_,_/1

**grup 12 (g): v3: _,0,1,_/1 v4: _,1,0,_/1 v6: 1,_,_,_/1 v7: _,_,1,0/1

- ex.D:

a) - varianta cu ieşire vectorială (unică):

***grup (0,0):

v1: 0,0,0/0,0 ***grup (0,1): v2: 0,0,1/0,1

***grup (0,2): v3: _,0,2/0,2 ***grup (0,3): v4: _,1,0/0,3

206 07. METODA DISCRIMINĂRII

***grup (0,4): v5: _,1,1/0,4 ***grup (1,0): v6: _,1,2/1,0 ***grup (1,1): v7: _,2,0/1,1

***grup (1,2): v8: _,2,1/1,2 ***grup (1,3): v9: _,2,2/1,3 ***grup (1,4): v10: 1,_,_/1,4

b) - varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”:

**grup 0 (a): v1: (0,0,_/0) v2: (_,1,0/0) v3: (_,1,1/0)

**grup 1 (a): v4: (_,1,2/1) v5: (_,2,_/1) v6: (1,_,_/1)

- ieşirea „b”:

**grup 0 (b): v1: (0,0,0/0) v2: (_,1,2/0)

**grup 1 (b): v3: (_,0,1/1) v4: (_,2,0/1)

**grup 2 (b): v5: (_,0,2/2) v6: (_,2,1/2)

**grup 3 (b): v7: (_,1,0/3) v8: (_,2,2/3)

grup 4 (b): v9: (_,1,1/4) v10: (1,_,_/4)

- ex.E:

**grup 0: v1: (_,1,0,1/0) v2: (_,1,1,0/0)

**grup 1: v3: (_,0,_,_/1) v4: (_,_,0,0/1) v5: (_,_,1,1/1)

07. METODA DISCRIMINĂRII 207

etapa 16d: Reţinerea variantelor cu un număr minim de rânduri în fiecare grupă

În exemplele date nu apar asemenea situaţii de selectare a soluţiilor, toate variantele unei grupe valorice având acelaşi număr de vectori implicanţi.

etapa 17d (opţională): Eliminarea hazardului logic

În această etapă, dacă este necesar, se aplică metoda prezentată în cap. 18, referitoare la eliminarea hazardului logic.

Eliminarea hazardului logic şi identificarea hazardului funcţional, în vederea alegerii soluţiilor fără hazard funcţional, dacă există, se poate face, în cazul funcţiilor cu ieşire vectorială (cu ieşiri multiple), fie considerând ieşirea global, fie operând pe fiecare ieşire individuală, separat.

În această etapă se vor prezenta rezumativ paşii metodei de eliminare a

hazardului logic, metodă detaliată în cap.17. Etapele precedente au dus deja această problemă până în pragul celui

de al 5-lea pas din metodă. Prin urmare, se va continua optimizarea cu paşii 5h - 11h, care se aplică

doar pentru ex. A, grup 1, sigurul care are vectori consens marcând hazard logic.

- pasul 5h: Se elimină din lista de vectori consens asociată valorii de

ieşire analizată, vectorii care sunt acoperiţi de alţii din listă (adică se elimină acei vectori care includ toate componentele altui vector); în acest procedeu de eliminare prin acoperire se includ şi vectorii care se repetă (reţinând câte unul de fiecare fel).

- ex.A: *grup 1: Vectorul (v7,v8) elimină prin acoperire vectorul (v5,v9), rîmânând lista: v5: _,1,1,_,_,1/1 v7: 1,1,_,_,_,_/1 v8: 0,_,_,1,_,_/1 v9: _,_,0,1,_,_/1 v10: 1,_,0,_,_,_/1 (v5,v10): 1,1,*,_,_,1/1 (v7,v8): *,1,_,1,_,_/1

208 07. METODA DISCRIMINĂRII

- pasul 6h: Se elimină din listă vectorii consens care repetă vectori din

tabelul asociat valorii analizate, precum şi vectorii consens care sunt acoperiţi de vectori din acest tabel asociat valorii analizate.

- ex.A: *grup 1: Vectorul v7 elimină vectorul consens (v5,v10), rezultând: v5: _,1,1,_,_,1/1 v7: 1,1,_,_,_,_/1 v8: 0,_,_,1,_,_/1 v9: _,_,0,1,_,_/1 v10: 1,_,0,_,_,_/1 (v7,v8): (*,1,_,1,_,_)

- pasul 7h: Dacă lista vectorilor consens nu mai are nici un vector, atunci procesul continuă cu pasul 10h.

- ex.A: Nu este cazul şi analiza continuă cu pasul 8h..

- pasul 8h: Dacă lista rămasă a vectorilor consens nu este vidă, ea se

adaugă listei vectorilor corespunzătoare valorii analizate, formând o listă comună.

- ex.A: *grup 1: v5: _,1,1,_,_,1/1 v7: 1,1,_,_,_,_/1 v8: 0,_,_,1,_,_/1 v9: _,_,0,1,_,_/1 v10: 1,_,0,_,_,_/1 (v7,v8): *,1,_,1,_,_/1

07. METODA DISCRIMINĂRII 209

- pasul 9h: Se elimină din lista comună vectorii acoperiţi de vectorii

consens ataşaţi listei.

- ex.A: *grup 1: Nu este cazul şi rămâne lista: v5: _,1,1,_,_,1/1 v7: 1,1,_,_,_,_/1 v8: 0,_,_,1,_,_/1 v9: _,_,0,1,_,_/1 v10: 1,_,0,_,_,_/1 (v7,v8): *,1,_,1,_,_/1

- pasul 10h: Se elimină din lista comună vectorii care sunt acoperiţi de

alţii sau care repetă alţi vectori din listă (păstrând câte un vector de fiecare fel).

- ex. A: Nu este cazul, rămânând lista de la pasul 9h.

Notă N-17.1: Metoda ia în considerare numai

perechile de vectori dintr-o aceeaşi grupă valorică binară sau multivalentă, deşi hazard logic static ar putea să apară şi între grupe valorice, în cazul multivalent, dar analiza unui asemenea caz devine complexă, nerezolvând decât parţial problema, pentru că în cazul multivalent creşte incidenţa hazardului funcţional – care, evident, nu poate fi eliminat logic – şi se propune adoptarea, în cazul unor implementări multivalente, a soluţiei radicale de eliminare a oricărui fel de hazard combinaţional într-o structură cu adâncime uniformă intrare-ieşire, metodă menţionată mai înainte.

210 07. METODA DISCRIMINĂRII

În ceea ce priveşte cazul binar, se operează într-o aceeaşi grupă valorică, pentru că nu se ia în considerare hazardul logic dinamic, care nu poate să apară într-o structură cu adâncime uniformă intrare-ieşire.

etapa 18d: Prezentarea variantelor de soluţii pe valori ale

funcţiei

În cadrul variantei cu ieşiri multiple tratate separat, vectorii implicanţi diferiţi sunt renumerotaţi, la nivelul întregii soluţii, pentru a putea fi folosiţi în comun de către diferite ieşiri individuale.

- ex.A: **grup 0 (cu hazard funcţional): {v1,v2,v3,v4} v1: 0,0,_,0,_,_ v2: 0,_,0,0,_,_ v3: 0,_,_,0,_,0 v4: 1,0,1,_,_,_

*grup 1 (cu hazard logic): {v5,v7,8,v9,v10} v5: _,1,1,_,_,1 v7: 1,1,_,_,_,_ v8: 0,_,_,1,_,_ v9: _,_,0,1,_,_ v10: 1,_,0,_,_,_ *grup 1 (cu hazard logic eliminat): {v5,v7,v8,v9,v10,(v7,v8)} v5: _,1,1,_,_,1 v7: 1,1,_,_,_,_ v8: 0,_,_,1,_,_ v9: _,_,0,1,_,_ v10: 1,_,0,_,_,_ (v7,v8): _,1,_,1,_,_

07. METODA DISCRIMINĂRII 211

- ex.B:

grup 01: {v1,v2,v3} v1: 4,_,_ v2: _,3,_ v3: _,_,3 grup 31: {v6} v6: 2,_,_ grup 32: {v7} v7: _,1,_ grup 33: {v8} v8: _,_,4

grup 7: {v9} v9: _,7,2 grup 91: {v13} v13: 3,_,_ grup 92: {v14} v14: _,5,_ grup 93: {v15} v15: _,_,7

ex.C:

a) - varianta cu ieşire vectorială (unică):

a1) - prezentare vectorială:

***grup (1,1,1,1,1,1,0): v1: 0,0,0,0/1,1,1,1,1,1,0 ***grup (1,0,0,0,0,1,0): v2: 0,0,0,1/1,0,0,0,0,1,0 ***grup (1,1,0,1,1,0,1): v3: _,0,1,0/1,1,0,1,1,0,1 ***grup (1,1,0,0,1,1,1): v4: _,0,1,1/1,1,0,0,1,1,1 ***grup (1,0,1,0,0,1,1): v5: _,1,0,0/1,0,1,0,0,1,1

***grup (0,1,1,0,1,1,1): v6: _,1,0,1/0,1,1,0,1,1,1 ***grup (0,1,1,1,1,1,1): v7: _,1,1,0/0,1,1,1,1,1,1

***grup (1,1,0,0,0,1,0): v8: _,1,1,1/1,1,0,0,0,1,0 ***grup (1,1,1,1,1,1,1): v9: 1,_,_,0/1,1,1,1,1,1,1 ***grup (1,1,1,0,1,1,1): v10: 1,_,_,1/1,1,1,0,1,1,1

212 07. METODA DISCRIMINĂRII

a2) - prezentarea pentru implementare (pe ieşiri individuale, extrase din prezentarea vectorială):

- ieşirea „a”: ***grup 0(a): {v6,v7}:

v6: _,1,0,1/0,1,1,0,1,1,1 v7: _,1,1,0/0,1,1,1,1,1,1

***grup 1(a): v1,v2,v3,v4,v5,v8,v9,v10}:

v1: 0,0,0,0/1,1,1,1,1,1,0 v2: 0,0,0,1/1,0,0,0,0,1,0 v3: _,0,1,0/1,1,0,1,1,0,1 v4: _,0,1,1/1,1,0,0,1,1,1 v5: _,1,0,0/1,0,1,0,0,1,1 v8: _,1,1,1/1,1,0,0,0,1,0 v9: 1,_,_,0/1,1,1,1,1,1,1 v10: 1,_,_,1/1,1,1,0,1,1,1

***grup 0(b): {v2,v5}:

v2: 0,0,0,1/1,0,0,0,0,1,0 v5: _,1,0,0/1,0,1,0,0,1,1

***grup 1(b): {v1,v3,v4,v6,v7,v8,v9,v10}:

v1: 0,0,0,0/1,1,1,1,1,1,0 v3: _,0,1,0/1,1,0,1,1,0,1 v4: _,0,1,1/1,1,0,0,1,1,1 v6: _,1,0,1/0,1,1,0,1,1,1 v7: _,1,1,0/0,1,1,1,1,1,1 v8: _,1,1,1/1,1,0,0,0,1,0 v9: 1,_,_,0/1,1,1,1,1,1,1 v10: 1,_,_,1/1,1,1,0,1,1,1

***grup 0(c): {v2,v3,v4,v8}:

v2: 0,0,0,1/1,0,0,0,0,1,0 v3: _,0,1,0/1,1,0,1,1,0,1 v4: _,0,1,1/1,1,0,0,1,1,1 v8: _,1,1,1/1,1,0,0,0,1,0

***grup 1(c): { v1,v5,v6,v7,v9,v10}:

v1: 0,0,0,0/1,1,1,1,1,1,0 v5: _,1,0,0/1,0,1,0,0,1,1 v6: _,1,0,1/0,1,1,0,1,1,1 v7: _,1,1,0/0,1,1,1,1,1,1 v9: 1,_,_,0/1,1,1,1,1,1,1 v10: 1,_,_,1/1,1,1,0,1,1,1

***grup 0(d): {v2,v4,v5,v6,v8,v10}:

v2: 0,0,0,1/1,0,0,0,0,1,0 v4: _,0,1,1/1,1,0,0,1,1,1 v5: _,1,0,0/1,0,1,0,0,1,1 v6: _,1,0,1/0,1,1,0,1,1,1 v8: _,1,1,1/1,1,0,0,0,1,0 v10: 1,_,_,1/1,1,1,0,1,1,1

***grup 1(d): { v1,v3,v7,v9}:

v1: 0,0,0,0/1,1,1,1,1,1,0 v3: _,0,1,0/1,1,0,1,1,0,1 v7: _,1,1,0/0,1,1,1,1,1,1 v9: 1,_,_,0/1,1,1,1,1,1,1

07. METODA DISCRIMINĂRII 213

***grup 0(e): {v2,v5,v8}:

v2: 0,0,0,1/1,0,0,0,0,1,0 v5: _,1,0,0/1,0,1,0,0,1,1 v8: _,1,1,1/1,1,0,0,0,1,0

***grup 1(e): {v1,v3,v4,v6,v7,v9,v10}:

v1: 0,0,0,0/1,1,1,1,1,1,0 v3: _,0,1,0/1,1,0,1,1,0,1 v4: _,0,1,1/1,1,0,0,1,1,1 v6: _,1,0,1/0,1,1,0,1,1,1 v7: _,1,1,0/0,1,1,1,1,1,1 v9: 1,_,_,0/1,1,1,1,1,1,1 v10: 1,_,_,1/1,1,1,0,1,1,1

***grup 0(f): {v3}:

v3: _,0,1,0/1,1,0,1,1,0,1

***grup 1(f): {v1,v2,v4,v5,v6,v7,v8,v9,v10} v1: 0,0,0,0/1,1,1,1,1,1,0 v2: 0,0,0,1/1,0,0,0,0,1,0 v4: _,0,1,1/1,1,0,0,1,1,1 v5: _,1,0,0/1,0,1,0,0,1,1 v6: _,1,0,1/0,1,1,0,1,1,1 v7: _,1,1,0/0,1,1,1,1,1,1 v8: _,1,1,1/1,1,0,0,0,1,0 v9: 1,_,_,0/1,1,1,1,1,1,1 v10: 1,_,_,1/1,1,1,0,1,1,1

***grup 0(g): {v1,v2,v8}:

v1: 0,0,0,0/1,1,1,1,1,1,0 v2: 0,0,0,1/1,0,0,0,0,1,0 v8: _,1,1,1/1,1,0,0,0,1,0

***grup 1(g): {v3,v4,v5,v6,v7,v9,v10}

v3: _,0,1,0/1,1,0,1,1,0,1 v4: _,0,1,1/1,1,0,0,1,1,1 v5: _,1,0,0/1,0,1,0,0,1,1 v6: _,1,0,1/0,1,1,0,1,1,1 v7: _,1,1,0/0,1,1,1,1,1,1 v9: 1,_,_,0/1,1,1,1,1,1,1 v10: 1,_,_,1/1,1,1,0,1,1,1

b) - varianta cu ieşiri multiple, tratate separat:

În cadrul variantei cu ieşiri multiple tratate separat, vectorii

implicanţi diferiţi sunt renumerotaţi, la nivelul întregii soluţii, pentru a putea fi folosiţi în comun de către diferite ieşiri individuale. - ieşirea „a”:

**grup 0 (a): {w01,w02} v1: _,1,0,1 w01 v2: _,1,1,0 w02

**grup 1 (a): {w03,w04,w05} v3: _,0,_,_ w03 v4: _,_,0,0 w04 v5: _,_,1,1 w05

214 07. METODA DISCRIMINĂRII

- ieşirea „b”:

**grup 0 (b): {w06,w07} v1: 0,0,0,1 w06 v2: _,1,0,0 w07

**grup 1 (b): {w08,w09,w10,w11} v3: _,0,_,0 w08 v4: _,_,1,_ w09 v5: _,1,_,1 w10 v6: 1,_,_,_ w11

- ieşirea „c”:

grup 0 (c): {w05,w12,w13} v1 : 0,0,_,1 w12 v2 : _,0,1,_ w13 v3 : _,_,1,1 w05

grup 1 (c): {w04,w11,w14,w15}v4 : _,_,0,0 w04 v5 : _,1,0,_ w14 v6 : _,1,_,0 w15 v7 : 1,_,_,_ w11

- ieşirea „d”:

grup 0 (d): {w14,w16} v1: _,_,_,1 w16 v2: _,1,0,_ w14

grup 1 (d): {w08,w17} v3: _,0,_,0 w08 v4: _,_,1,0 w17

- ieşirea „e”:

**grup 0 (e): {w06,w07,w18} v1 : 0,0,0,1 w06 v2 : _,1,0,0 w07 v3 : _,1,1,1 w18

**grup 1 (e): {w01,w08, w11,w13,w17} v4 : _,0,_,0 w08 v5 : _,0,1,_ w13 v6 : _,1,0,1 w01 v7 : _,_,1,0 w17 v8 : 1,_,_,_ w11

- ieşirea „f”:

grup 0 (f): {w19} v1: _,0,1,0 w19

grup 1 (f):

{w16,w20,w21} v2: _,_,0,_ w20 v3: _,_,_,1 w16 v4: _,1,_,_ w21

- ieşirea „g”: **grup 0 (g): {w18,w22} v1: 0,0,0,_ w22 v2: _,1,1,1 w18

07. METODA DISCRIMINĂRII 215

**grup 11 (g): {w11,w13,w14,w15} v3: _,0,1,_ w13 v4: _,1,0,_ w14 v5: _,1,_,0 w15 v6: 1,_,_,_ w11

**grup 12 (g): {w11,w13,w14,w17} v3: _,0,1,_ w13 v4: _,1,0,_ w14 v6: 1,_,_,_ w11 v7: _,_,1,0 w17

- ex.D:

a) - varianta cu ieşire vectorială (unică):

a1) - prezentare vectorială: ***grup (0,0): v1: 0,0,0/0,0 ***grup (0,1): v2: 0,0,1/0,1 ***grup (0,2): v3: _,0,2/0,2 ***grup (0,3): v4: _,1,0/0,3 ***grup (0,4): v5: _,1,1/0,4

***grup (1,0): v6: _,1,2/1,0 ***grup (1,1): v7: _,2,0/1,1 ***grup (1,2): v8: _,2,1/1,2 ***grup (1,3): v9: _,2,2/1,3 ***grup (1,4): v10: 1,_,_/1,4

a2) - prezentarea pentru implementare (pe ieşiri individuale, extrase din prezentarea vectorială):

- ieşirea „a”: ***grup 0(a): {v1,v2,v3,v4,v5}: v1: 0,0,0 v2: 0,0,1 v3: _,0,2 v4: _,1,0 v5: _,1,1

***grup 1(a): {v6,v7,v8,v9,v10}: v6: _,1,2 v7: _,2,0 v8: _,2,1 v9: _,2,2 v10: 1,_,_

216 07. METODA DISCRIMINĂRII

- ieşirea „b”:

***grup 0(b): {v1,v6}: v1: 0,0,0 v6: _,1,2 ***grup 1(b): {v2,v7}: v2: 0,0,1 v7: _,2,0 ***grup 2(b): {v3,v8}:

v3: _,0,2 v8: _,2,1 ***grup 3(b): {v4,v9}: v4: _,1,0 v9: _,2,2 ***grup 4(b): {v5,v10}: v5: _,1,1 v10: 1,_,_

b) varianta cu ieşiri multiple, tratate separat:

În cadrul variantei cu ieşiri multiple tratate separat, vectorii implicanţi diferiţi sunt renumerotaţi, la nivelul întregii soluţii, pentru a putea fi folosiţi în comun de către diferite ieşiri individuale. - ieşirea „a”:

**grup 0 (a):

{w01,w02,w03}: v1: 0,0,_ w01

v2: _,1,0 w02 v3: _,1,1 w03

**grup 1 (a): {w04,w05,w06}:

v4: _,1,2 w04 v5: _,2,_ w05 v6: 1,_,_ w06

- ieşirea „b”: **grup 0 (b):

{w07,w04}: v1: 0,0,0 w07 v2: _,1,2 w04

**grup 1 (b):

{w08,w09}: v3: _,0,1 w08 v4: _,2,0 w09

**grup 2 (b): {w10,w11}:

v5: _,0,2 w10 v6: _,2,1 w11

**grup 3 (b):

{w02,w12}: v7: _,1,0 w02 v8: _,2,2 w12

grup 4 (b):

{w03,w06}: v9: _,1,1 w03 v10: 1,_,_ w06

07. METODA DISCRIMINĂRII 217

- ex.E:

**grup 0: {v1,v2} v1: _,1,0,1 v2: _,1,1,0

**grup 1: {v3,v4,v5} v3: _,0,_,_ v4: _,_,0,0 v5: _,_,1,1

etapa 19d: Împărţirea soluţiilor în clasa formei

canonice şi în clasa formei canal. Se împart mulţimile de variante în două clase, pentru fiecare funcţie

de ieşire, în felul următor:

- clasa formei canonice: Aici sunt plasate variantele de soluţii aranjate sub prima formă canonică

(prin eliminarea subsoluţiilor referitoare la grupa valorică 0), plus variantele aranjate sub a doua formă canonică (prin eliminarea subsoluţiilor referitoare la grupa valorică (N-1)).

Notă : În varianta cu ieşire vectorială se evidenţiază mulţimile vectorilor folosiţi, în vederea optimizării structurii logice a circuitului :

• mulţimea vectorilor folosiţi în toate variantele cu ieşiri multiple tratate vectorial, grupaţi pe forme canonice;

• mulţimea vectorilor distribuiţi pe ieşiri singulare şi în funcţie de forma canonică;

• mulţimea vectorilor folosiţi în soluţia globală, însoţiţi de numerele asociate.

Notă: În această fază, pentru varianta cu ieşiri multipletratate separat, se prezintă varianta grupului şi fără specificarea ieşirii ( care oricum este reprezentată de numărul grupului), în vederea identificării mai directe, în procesul de optimizare, a vectorilor comuni diferitelor grupuri. Vectorii diferiţi se numerotează, în vederea aceluiaşi proces de optimizare. Se evidenţiază mulţimile: - mulţimea vectorilor folosiţi în toate variantele cu ieşiri multiple tratate separat, grupaţi pe forme canonice;

- mulţimea vectorilor grupaţi pe variante şi desemnaţi prin număr;

218 07. METODA DISCRIMINĂRII

- mulţimea vectorilor folosiţi în soluţia globală, însoţiţi de numerele asociate.

- clasa formei „canal”:

Aici sunt plasate toate variantele cuprinzând toate grupele valorice rezultate din minimizare. Notă: În cazul funcţiilor binare se foloseşte formacanonică, dacă nu se cere în mod special o implementare tip canal. - ex. A: Mulţimea vectorilor folosiţi în toate variantele din ex. A: (A) = {v1,v2,v3,v4,v5,v7,v8,v9,v10,(v7,v8)}

Mulţimea vectorilor grupaţi pe variante şi desemnaţi prin număr: (AI)* = 1(A)* = {v5,v7,v8,v10 }, cu hazard logic (AI) = 1(A) = {v5,v7,v8,v9,v10,(v7,v8)}, fără hazard logic (AII)** = 0(A)** = {v1,v2,v3,v4}, cu hazard funcţional (AC)** = {v1,v2,v3,v4,v5,v7,v8,v9,v19}, cu hazard funcţional Mulţimea vectorilor folosiţi în soluţia globală, însoţiţi de numerele asociate: v1: 0,0,_,0,_,_ v2: 0,_,0,0,_,_ v3: 0,_,_,0,_,0 v4: 1,0,1,_,_,_ v5: _,1,1,_,_,1

v7: 1,1,_,_,_,_ v8: 0,_,_,1,_,_ v9: _,_,0,1,_,_/1 v10: 1,_,0,_,_,_/1 (v7,v8): _,1,_,1,_,_/1

- ex. B: Mulţimea vectorilor folosiţi în toate variantele din ex. B: (BI) = {v6,v7,v8,v9,v13,v14,v15} (BII) = {v1,v2,v3,v6,v7,v8,v9} Mulţimea vectorilor grupaţi pe variante şi desemnaţi prin număr:

(0) = {v1,v2,v3} (31) = {v6} (32) = {v7} (33) = {v8}

(7) = {v9}

(91) = {v13} (92) = {v14} (93) = {v15} Mulţimea vectorilor folosiţi în soluţia globală, însoţiţi de numerele asociate: v1: 4,_,_0 v2: _,3,_ v3: _,_,3 v6: 2,_,_ v7: _,1,_

v8: _,_,4 v9: _,7,2 v13: 3,_,_ v14: _,5,_ v15: _,_,7

07. METODA DISCRIMINĂRII 219

- ex.C:

a) - varianta cu ieşire vectorială (unică):

Mulţimea vectorilor folosiţi în toate variantele din ex. C (cu ieşiri multiple tratate vectorial), grupaţi pe forme canonice: (CI)*** = {v1,v2,v3,v4,v5,v6,v7,v8,v9,v10} (CII)*** = {v1,v2,v3,v4,v5,v6,v7,v8,v10} Mulţimea vectorilor distribuiţi pe ieşiri singulare şi în funcţie de forma canonică: (aI)*** ={v1,v2,v3,v4,v5,v8,v9,v10} (aII)*** = {v6,v7} (bI)*** = {v1,v3,v4,v6,v7,v8,v9,v10} (bII)*** = {v2,v5} (cI)*** = { v1,v5,v6,v7,v9,v10} (cII)*** = {v2,v3,v4,v8} (dI)*** = { v1,v3,v7,v9} (dII)*** = {v2,v4,v5,v6,v8,v10} (eI)*** = {v1,v3,v4,v6,v7,v9,v10} (eII)*** = {v2,v5,v8} (fI)*** = {v1,v2,v4,v5,v6,v7,v8,v9,v10} (fII)*** = {v3} (gI)*** = {v3,v4,v5,v6,v7,v9,v10} (gII)** = {v1,v2,v8}

Mulţimea vectorilor folosiţi în soluţia globală, însoţiţi de numerele asociate: v1: 0,0,0,0/1,1,1,1,1,1,0 v2: 0,0,0,1/1,0,0,0,0,1,0 v3: _,0,1,0/1,1,0,1,1,0,1 v4: _,0,1,1/1,1,0,0,1,1,1 v5: _,1,0,0/1,0,1,0,0,1,1 v6: _,1,0,1/0,1,1,0,1,1,1 v7: _,1,1,0/0,1,1,1,1,1,1 v8: _,1,1,1/1,1,0,0,0,1,0 v9: 1,_,_,0/1,1,1,1,1,1,1 v10: 1,_,_,1/1,1,1,0,1,1,1

b) - varianta cu ieşiri multiple, tratate separat:

Mulţimea vectorilor renumerotaţi, folosiţi în toate variantele din ex. C (cu ieşiri multiple tratate separat), grupaţi pe forme canonice: (CI) = {w01,w04,w05,w08,w09,w10,w11,w13,w14,w15,w16,w17,w20,w21} (CII) = {w01,w02,w03,w05,w06,w07,w12,w13,w14,w16,w18,w19,w22} Mulţimea vectorilor grupaţi pe variante şi desemnaţi prin număr: (1(a))** = {w03,w04,w05} (0(a))** = {w01,w02} (1(b))** = {w08,w09,w10,w11} (0(b))** = {w06,w07} (1(c)) = {w04,w11,w14,w15} (0(c)) = {w05,w12,w13} (1(d)) = {w08,w17} (0(d)) = {w14,w16} (1(e))** = {w01,w08,w11,w13,w17} (0(e))** = {w06,w07,w18} (1(f)) = {w16,w20,w21} (0(f)) = {w19} (11(g))** = {w11,w13,w14,w15} (0(g))** = {w18,w22} sau (12(g))** = {w11,w13,w14,w17} (0(g))** = {w18,w22}

220 07. METODA DISCRIMINĂRII

Mulţimea vectorilor folosiţi în soluţia globală, însoţiţi de numerele asociate: _,1,0,1 w01 0,0,_,1 w12 _,1,1,0 w02 _,0,1,_ w13

_,0,_,_ w03 _,1,0,_ w14 _,_,0,0 w04 _,1,_,0 w15 _,_,1,1 w05 _,_,_,1 w16 0,0,0,1 w06 _,_,1,0 w17 _,1,0,0 w07 _,1,1,1 w18 _,0,_,0 w08 _,0,1,0 w19 _,_,1,_ w09 _,_,0,_ w20 _,1,_,1 w10 _,1,_,_ w21 1,_,_,_ w11 0,0,0,_ w22 - ex.D:

a) - varianta cu ieşire vectorială (unică):

Mulţimea vectorilor folosiţi în toate variantele din ex. D (cu ieşiri multiple tratate vectorial), grupaţi pe forme canonice: (DI)*** = {v2,v3,v4,v5,v6,v7,v8,v9,v10} (DII)*** = {v1,v2,v3,v4,v5,v6,v7,v8,v9,v10} Mulţimea vectorilor distribuiţi pe ieşiri singulare şi în funcţie de forma canonică:

1(a)I*** = {v6,v7,v8,v9,v10} 0(a)II***= {v1,v2,v3,v4,v5} 1(a)II***= {v6,v7,v8,v9,v10} 1(b)I***= {v2,v7} 0(b)II***= {v1,v6} 2(b)I***= {v3,v8} 1(b)II***= {v2,v7} 3(b)I***= {v4,v9} 2(b)II***= {v3,v8} 4(b)I***= {v4,v9} 3(b)II***= {v4,v9}

Mulţimea vectorilor folosiţi în soluţia globală, însoţiţi de numerele asociate:

v1: 0,0,0 v2: 0,0,1 v3: _,0,2 v4: _,1,0 v5: _,1,1 v6: _,1,2 v7: _,2,0 v8: _,2,1 v9: _,2,2 v10:1,_,_

07. METODA DISCRIMINĂRII 221

b) - varianta cu ieşiri multiple, tratate separat:

Mulţimea vectorilor folosiţi în toate variantele din ex. D (cu ieşiri multiple tratate separat), grupaţi pe forme canonice: (DI) = {02,03,04,05,06,08,09,10,11,12} (DII) = {01,02,03,04,05,06,07,08,09,10,11,12} Mulţimea vectorilor renumerotaţi, grupaţi pe variante şi desemnaţi prin număr: (0(a))** = {w01,w02,w03}

(1(a))** = {w04,w05,w06} (0(b))** = {w04,w07} (1(b))** = {w08,w09} (2(b))** = {w10,w11} (3(b))** = {w02,w12} (4(b)) = {w03,w06}

Mulţimea vectorilor renumerotaţi, folosiţi în soluţia globală, însoţiţi de numerele asociate:

w01: 0,0,_ w02: _,1,0 w03: _,1,1 w04: _,1,2 w05: _,2,_ w06: 1,_,_

w07: 0,0,0 w08: _,0,1 w09: _,2,0 w10: _,0,2 w11: _,2,1 w12: _,2,2

- ex.E: Mulţimea vectorilor folosiţi în variantele din ex. E: (1(e))I** = {v3,v4,v5} (0(e))II** = {v1,v2} Mulţimea vectorilor folosiţi în soluţia globală, însoţiţi de numerele asociate: v1: _,1,0,1/0 v2: _,1,1,0/0 v3: _,0,_,_/1 v4: _,_,0,0/1 v5: _,_,1,1/1

222 07. METODA DISCRIMINĂRII

etapa 20d: Stabilirea variantelor globale ale funcţiei, luând câte o variantă de soluţie din fiecare grupă valorică

Prezentarea soluţiilor se face prin numele variantelor pentru soluţiile pe valori ale funcţiei. Soluţiile detaliate ale variantelor se găsesc în capitolul anterior Soluţiilor le sunt ataşate numărul de vectori implicanţi folosiţi. - ex. A: Soluţiile finale ale ex. A (exemplu binar): (AI) (AI)* (AII)** AC)**.1 .(AC)**.2 (1(A)) (1(A))* (0(A))* (0(A))** (0(A))**

(1(A)) (1(A))* nr.vectori: 7 4 4 11 9 Concluzii:

- o soluţie pentru prima formă canonică, fără hazard, având 7 vectori implicanţi;

- o soluţie pentru prima formă canonică, cu hazard logic, având 4 vectori implicanţi;

- o soluţie pentru a doua formă canonică, cu hazard funcţional, având 4 vectori implicanţi;

- două soluţii tip canal, cu hazard funcţional, una cu 9 vectori implicanţi, cealaltă cu 11 vectori implicanţi.

- ex. B:

Mulţimea variantelor de soluţii globale ale ex. B se deduc din tabelul de variante de soluţii pe valori, stabilit în etapa anterioară:

(0) (31) (32) (33) (7) (91) (92) (93)

Rezultă următoarele soluţii globale: - Prima formă canonică: Se exclude grupa (0) şi rămân 9 variante: B1I: B2I: B3I: B4I: B5I: B6I: B7I: B8I: B9I: (31) (31) (31) (32) (32) (32) (33) (33) (33) (7) (7) (7) (7) (7) (7) (7) (7) (7) (91) (92) (93) (91) (92) (93) (91) (92) (93) nr.vectori: 3 3 3 3 3 3 3 3 3

07. METODA DISCRIMINĂRII 223

- A doua formă canonică: Se exclude grupa (9) şi rămân 3 variante:

B10II: B11II: B12II:

(0) (0) (0) (31) (32) (33)

(7) (7) (7) nr.vectori: 5 5 5 - Soluţii tip canal: Se includ variantele tuturor grupelor, rezultând 9 soluţii:

B13C: B14C: B15C: B16C: B17C: B18C: B19C: B20C:B21C: (0) (0) (0) (0) (0) (0) (0) (0) (0) (31) (31) (31) (32) (32) (32) (33) (33) (33) (7) (7) (7) (7) (7) (7) (7) (7) (7) (91) (92) (93) (91) (92) (93) (91) (92) (93)

Nr. vect 6 6 6 6 6 6 6 6 6 Concluzii:

- toate soluţiile nu conţin hazard; - prima formă canonică are 3 variante a câte 3 vectori implicanţi

fiecare; - a doua formă canonică are 9 variante a câte 5 vectori implicanţi

fiecare; - soluţia tip canal are 9 variante a câte 6 vectori implicanţi fiecare.

- ex.C:

a) - Varianta cu ieşire vectorială C(v) (soluţiile pe componente ale ieşirii) (exemplu binar):

C(v)I***: C(v)II***: C(v)C***:

1(a)*** 0(a)*** 0(a)*** 1(a)*** 1(b)*** 0(b)*** 0(b)*** 1(bII)*** 1(c)*** 0(c)*** 0(c)*** (1c)*** 1(d)*** 0(d)*** 0(d)***

224 07. METODA DISCRIMINĂRII

1(d)*** 1(e)*** 0(e) *** 0(e)*** 1(e) *** 1(f)*** 0(f)*** 0(f)*** (fII)*** 1(g)*** 0(g)*** 0(g)***

1(g)*** nr. vectori: 10 9 10 Concluzii:

- toate soluţiile conţin hazard funcţional; - prima formă canonică are o variantă cu 10 vectori implicanţi; - a doua formă canonică are 0 variantă cu 9 vectori implicanţi; - soluţia tip canal foloseşte 10 vectori implicanţi. b) -Varianta cu ieşiri multiple tratate individul C(m) (exemplu binar):

Sunt două variante pentru prima formă canonică şi una pentru a doua formă canonică: C(m)I.1: C(m)I.2 C(m)II: C(m)C .1 C(m)C.2 (1(a))** (1(a))** (0(a))** (0(a))** (0(a))* (1(a))** (1(a))** (1(b))** (1(b))** (0(b))** (0(b))** (0(b))** (1(b))** ( 1(b))** (1(c)) (1(c)) (0(c)) (0(c)) (0(c))

(1(c)) (1(c)) (1(d)) (1(d)) (0(d)) (0(d)) (0(d))

(1(d)) (1(d)) (1(e))** (1(e))** 0(e))** 0(e))** 0(e))** 1(e))** 1(e))** (1(f)) (1(f)) (0(f)) (0(f)) (0(f)) (1(f)) (1(f)) (11(g))** (12(g))** (0(g))** 0(g))** 0(g))** (11(g))** (12(g))** nr. vectori: 14 13 22 22 Concluzii:

- soluţiile a, b., e şi g, ambele forme canonice, conţin hazard funcţional;

- prima formă canonică are 2 variante a câte 14 vectori implicanţi fiecare;

- a doua formă canonică are o variantă cu 13 vectori implicanţi; - soluţiile tip canal folosesc 22 vectori implicanţi.

07. METODA DISCRIMINĂRII 225

- ex. D: a) - Varianta cu ieşire vectorială D(v) (soluţiile pe componente ale ieşirii):

D(v)I***: D(v)II***: D(v)C:

1(a)*** (a)*** (a)*** 1(a)*** (a)*** 1(b)*** (b)*** (b)***

2(b)*** (b)*** (b)*** 3(b)*** (b)*** (b)*** 4(b)*** (b)*** (b)*** 4(b)*** nr. vectori: 9 10 10 Concluzii:

- toate soluţiile conţin hazard funcţional; - prima formă canonică are o variantă cu 9 vectori implicanţi; - a doua formă canonică are o variantă cu 10 vectori implicanţi; - soluţia tip canal are o variantă cu 10 vectori implicanţi.

b) - -Varianta cu ieşiri multiple tratate individul D(m):

D(m)I D(m)II D(m)C (1(a))** 0(a))** 0(a))**

(1(a))** 1(a))**

(1(b))** 0(b))** 0(b))** (2(b))** (b))** 1(b))** (3(b))** 2(b))** 2(b))** (4(b)) (3(b))** 3(b))** (4(b))

nr. vectori: 10 12 12 Concluzii:

- soluţiile conţin hazard funcţional, cu excepţia soluţiei (4(b)), care nu conţine nici un fel de hazard; - prima formă canonică are o variantă cu 10 vectori implicanţi; - a doua formă canonică are o variante cu 12 vectori implicanţi; - soluţia tip canal are o variantă cu 12 vectori implicanţi.

226 07. METODA DISCRIMINĂRII

- ex. E: (exemplu binar)

EI: EII: EC: (1(e)I** 0(eII))** 0(eII))**

(1(e)I** nr. vectori: 3 2 5 Concluzii:

- toate soluţiile conţin hazard funcţional; - prima formă canonică are o variantă cu 3 vectori implicanţi; - a doua formă canonică are o variantă cu 2 vectori implicanţi; - soluţia tip canal are 5 vectori implicanţi.

etapa 21d:

selectarea variantelor minime ale ieşirii globale, împreună cu tabelul de vectori minimi diferiţi;

formarea tabelului tuturor operaţiilor de echivalenţă (în multivalent), sau a variabilelor directe şi complementate, care intervin în vectorii implicanţi

- ex. A: - Soluţiile finale de interes ale ex. A (exemplu binar):

- o soluţie pentru prima formă canonică, fără hazard, având 7 vectori implicanţi; - o soluţie pentru prima formă canonică, cu hazard logic, având 4 vectori implicanţi; - o soluţie pentru a doua formă canonică, cu hazard funcţional, având 4 vectori implicanţi; - o soluţie tip canal, cu hazard funcţional, având 9 vectori implicanţi.

- Mulţimea vectorilor folosiţi în toate variantele din ex. A: (A) = {v1,v2,v3,v4,v5,v7,v8,v9,v10,(v7,v8)}

07. METODA DISCRIMINĂRII 227

- Mulţimea vectorilor folosiţi în soluţia globală, însoţiţi de numerele asociate: v1: 0,0,_,0,_,_/0 v2: 0,_,0,0,_,_/0 v3: 0,_,_,0,_,0/0 v4: 1,0,1,_,_,_/0 v5: _,1,1,_,_,1/1 v7: 1,1,_,_,_,_/1 v8: 0,_,_,1,_,_/1 v9: _,_,0,1,_,_/1 v10: 1,_,0,_,_,_/1 (v7,v8): _,1,_,1,_,_/1 - Mulţimea variantelor de soluţii:

(AI) (AI)* (AII)** (AC)**.2 (1(A)) (1(A))* 0(A))** 0(A))** (1(A))*

nr.vect 7 4 4 9 - Mulţimea vectorilor grupaţi pe variante şi desemnaţi prin număr: (AI) = {v5,v7,v8,v9,v10,(v7,v8)} varianta fără hazard logic ( AI)* = {v5,v7,v8,v10 }, varianta cu hazard logic (AII)** = {v1,v2,v3,v4}, varianta cu hazard funcţional (AC)**.2 = {v1,v2,v3,v4,v5,v7,v8,v9,v10}, cu hazard funcţional - Mulţimea variabilelor de intrare care apar atât sub formă directă sau complementată în vectorii implicanţi ai soluţiilor:

(AI)*: 6433211 x,x,x,x,x,x,x

(AI): 6433211 x,x,x,x,x,x,x (AII)**(pentru structuri programabile):

64211 x,x,x,x,x (AII)**(pentru structuri normale):

64211 x,x,x,x,x

(AC)**: 6644332211 x,x,x,x,x,x,x,x,x,x

Se constată că soluţiile nu depind de x5. Notă: În a doua formă canonică, acolo unde s-a menţionat „pentru

structură programabilă”, s-au folosit convenţiile de reprezentare a produselor (a vectorilor implicanţi) de la prima formă canonică (adică

228 07. METODA DISCRIMINĂRII

acolo unde variabila are valoare 1, ea se foloseşte sub forma directă şi invers), pentru că implementarea într-o structură programabilă s-a presupus a avea prima formă canonică, iar a doua formă canonică se obţine prin complementarea valorii de ieşire.

- ex. B: - Soluţiile finale de interes ale ex. B (exemplu multivalent):

- soluţiile nu conţin hazard; -prima formă canonică are 3 variante a câte 3 vectori implicanţi fiecare; - a doua formă canonică are 9 variante a câte 5 vectori implicanţi fiecare; - soluţia tip canal are 9 variante a câte 6 vectori implicanţi fiecare.

Mulţimea vectorilor grupaţi pe variante şi desemnaţi prin număr:

(0) = {v1,v2,v3} (31) = {v6} (32) = {v7} (33) = {v8} ( 7) = {v9} (91) = {v13} (92) = {v14} (93) = {v15}

- Mulţimea vectorilor folosiţi în soluţia globală, însoţiţi de numerele asociate: v1: 4,_,_/0 v2: _,3,_/0 v3: _,_,3/0 v6: 2,_,_/3 v7: _,1,_/3

v8: _,_,4/3 v9: _,7,2/7 v13: 3,_,_/9 v14: _,5,_/9 v15: _,_,7/9

Mulţimea variantelor de soluţii globale ale ex. B: - prima formă canonică:

B1I: B2I: B3I: B4I: B5I: B6I: B7I: B8I: B9I: (31) (31) (31) (32) (32) (32) (33) (33) (33) (7) (7) (7) (7) (7) (7) (7) (7) (7) (91) (92) (93) (91) (92) (93) (91) (92) (93)

nr.vect: 3 3 3 3 3 3 3 3 3

07. METODA DISCRIMINĂRII 229

- Mulţimea operatorilor de echivalenţă sau non-echivalenţă care apar în vectorii implicanţi ai soluţiilor: B1I: e(x,2), e(x,3), e(y,7), e(z,2) B2I: e(x,2), e(y,5), e(y,7), e(z,2) B3I: e(x,2), e(y,7), e(z,2), e(z,7) B4I: e(x,3), e(y,1), e(y,7), e(z,2) B5I: e(y,1), e(y,5), e(y,7), e(z,2) B6I: e(y,1), e(y,7), e(z,2), e(z,7) B7I: e(x,3), e(y,7), e(z,2), e(z,4) B8I: e(y,5), e(y,7), e(z,2), e(z,4) B9I: e(y,7), e(z,2), e(z,4), e(z,7) - a doua formă canonică:

B10II: B11II: B12II:

(0) (0) (0) (31) (32) (33) (7) (7) (7)

nr.vectori: 5 5 5

- Mulţimea operatorilor de echivalenţă sau non-echivalenţă care apar în

vectorii implicanţi ai soluţiilor:

o pt. structuri programabile:

B10II: e(z,3)e(z,2),e(y,7),e(y,3),e(x,4),e(x,2),

B11II: e(z,3)e(z,2),e(y,7),e(y,3),e(y,1),e(x,4),

B12II: e(z,4)e(z,3),e(z,2),e(y,7),e(y,3),e(x,4),

o pt. structuri normale:

B10II: (z,3)e(z,2),e(y,7),e(y,3),e(x,4),e(x,2),e

B11II: (z,3)e(z,2),e(y,7),e(y,3),e(y,1),e(x,4),e

B12II: (z,4)e(z,3),e(z,2),e(y,7),e(y,3),e(x,4),e Notă: În a doua formă canonică, acolo unde s-a menţionat

„pentru structură programabilă”, s-au folosit convenţiile de reprezentare a produselor (a vectorilor implicanţi) de la prima formă canonică (adică acolo unde variabila are valoare 1, ea se foloseşte sub forma directă şi invers), pentru că implementarea într-o structură programabilă s-a presupus a avea prima formă canonică, iar a doua formă canonică se obţine prin complementarea valorii de ieşire.

230 07. METODA DISCRIMINĂRII

- soluţii tip canal: B13C: B14C: B15C: B16C: B17C: B18C: B19C: B20C: B21C: (0) (0) (0) (0) (0) (0) (0) (0) (0) (31) (31) (31) (32) (32) (32) (33) (33) (33) (7) (7) (7) (7) (7) (7) (7) (7) (7) (91) (92) (93) (91) (92) (93) (91) (92) (93) nr. vectori: 6 6 6 6 6 6 6 6 6 - Mulţimea operatorilor de echivalenţă sau non-echivalenţă care apar în vectorii implicanţi ai soluţiilor: B13C: e(x,2), e(x,3), e(x,4), e(y,3), e(y,7), e(z,2), e(z,3) B14C: e(x,2), e(x,4), e(y,3), e(y,5), e(y,7), e(z,2), e(z,3) B15C: e(x,2), e(x,4), e(y,3), e(y,7), e(z,2), e(z,3), e(z,7) B16C: e(x,3), e(x,4), e(y,1), e(y,3), e(y,7), e(z,2), e(z,3) B17C: e(x,4), e(y,1), e(y,3), e(y,5), e(y,7), e(z,2), e(z,3) B18C: e(x,4), e(y,1), e(y,3), e(y,7), e(z,2), e(z,3), e(z,7) - ex.C: - Soluţiile finale de interes ale ex. C (exemplu binar cu ieşiri multiple):

a) - Varianta cu ieşire vectorială C(v) (soluţiile pe componente ale ieşirii) (exemplu binar):

- toate soluţiile conţin hazard funcţional; - prima formă canonică are o variantă cu 10 vectori implicanţi; - a doua formă canonică are o variantă cu 9 vectori implicanţi; - soluţia tip canal foloseşte 10 vectori implicanţi.

Mulţimea vectorilor folosiţi în toate variantele din ex. C (cu ieşiri

multiple tratate vectorial), grupaţi pe forme canonice: (CI)*** = {v1,v2,v3,v4,v5,v6,v7,v8,v9,v10} (CII)*** = {v1,v2,v3,v4,v5,v6,v7,v8,v10}

Mulţimea vectorilor distribuiţi pe ieşiri singulare şi în funcţie de forma canonică:

aI: 1(a)*** ={v1,v2,v3,v4,v5,v8,v9,v10} aII: 0(a)*** = {v6,v7} bI: 1(b)*** ={v1,v3,v4,v6,v7,v8,v9,v10} bII: 0(b)*** = {v2,v5} cI: 1(c)*** ={ v1,v5,v6,v7,v9,v10} cII: 0(c)*** = {v2,v3,v4,v8} dI: 1(d)*** ={ v1,v3,v7,v9} dII: 0(d)*** = {v2,v4,v5,v6,v8,v10}

07. METODA DISCRIMINĂRII 231

eI: 1(e)*** ={v1,v3,v4,v6,v7,v9,v10} eII: 0(e)*** = {v2,v5,v8} fI: 1(f)*** ={v1,v2,v4,v5,v6,v7,v8,v9,v10} fII: 0(f)*** = {v3} gI: 1(g)*** ={v3,v4,v5,v6,v7,v9,v10} gII: 0(g)** = {v1,v2,v8}

Mulţimea vectorilor folosiţi în soluţia globală, însoţiţi de numerele asociate: v1: 0,0,0,0/1,1,1,1,1,1,0 v2: 0,0,0,1/1,0,0,0,0,1,0 v3: _,0,1,0/1,1,0,1,1,0,1 v4: _,0,1,1/1,1,0,0,1,1,1 v5: _,1,0,0/1,0,1,0,0,1,1

v6: _,1,0,1/0,1,1,0,1,1,1 v7: _,1,1,0/0,1,1,1,1,1,1 v8: _,1,1,1/1,1,0,0,0,1,0 v9: 1,_,_,0/1,1,1,1,1,1,1 v10: 1,_,_,1/1,1,1,0,1,1,1

- Mulţimea variantelor de soluţii globale ale ex. C (ieşire vectorială):

C(v)I*** C(v)II*** C(v)C*** C(v)I+II***

1(a)*** 0(a)*** 0(a)*** 0(a)*** 1(a)*** 1(b)*** 0(b)*** 0(b)*** 0(b)*** 1(b)*** 1(c)*** (cII)*** 0(c)*** 0(c)*** 1(c)*** 1(d)*** (dII)** 0(d)*** 1(d)*** 1(d)*** 1(e)*** (eII) *** 0(e)*** 0(e)*** 1(e) *** 1(f)*** (fII)*** 0(f)*** 0(f)*** 1(f)*** 1(g)*** 0(g)*** 0(g)*** 0(g)***

1(g)*** nr. vectori: 10 9 10 9 OBSERVAŢIE: S-a menţionat şi o variantă mixtă, pentru că termenul 1(d)*** are mai puţin vectori în componenţă, decât 0(d)***, iar numărul vectorilor pe întreaga soluţie este minim. - Mulţimea variabilelor de intrare care apar atât sub formă directă sau complementată în vectorii implicanţi ai soluţiilor este, pentru fiecare soluţie, aceeaşi, atât pentru structuri programabile, cât şi pentru structuri normale:

AA,,BB,,CC,,DD, Notă: În a doua formă canonică, acolo unde se menţionează „pentru structură programabilă”, se folosesc convenţiile de reprezentare a produselor (a vectorilor implicanţi) de la prima formă canonică (adică acolo unde variabila are valoare 1, ea se foloseşte sub forma directă, şi invers), pentru că implementarea într-o structură programabilă s-a presupus a avea prima formă canonică, a doua formă canonică obţinându-se prin complementarea valorii de ieşire.

232 07. METODA DISCRIMINĂRII

b) - Varianta cu ieşiri multiple tratate individul C(m) (exemplu binar): Sunt două variante pentru prima formă canonică şi una pentru a doua formă canonică:

- soluţiile a, b., e şi g, ambele forme canonice, conţin hazard funcţional; Mulţimea vectorilor folosiţi în toate variantele din ex. C (cu ieşiri

multiple tratate separat), grupaţi pe forme canonice: (CI) = {w01,w04,w05,w08,w09,w10,w11,w13,w14,w15,w16,w17,w20,w21} (CII) = {w01,w02,w03,w05,w06,w07,w12,w13,w14,w16,w18,w19,w22}

Mulţimea vectorilor grupaţi pe variante şi desemnaţi prin număr: (1(a))** = {w03,w04,w05} (0(a))** = {w01,w02} (1(b))** = {w08,w09,w10,w11} (0(b))** = {w06,w07} (1(c)) = {w04,w11,w14,w15} (0(c)) = {w05,w12,w13} (1(d)) = {w08,w17} (0(d)) = {w14,w16} (1(e))** = {w01,w08,w11,w13,w17} (0(e))** ={w06,w07,w18} (1(f)) = {w16,w20,w21} (0(f)) = {w19} (11(g))** = {w11,w13,w14,w15} (0(g))** = {w18,w22} sau (12(g))** = {w11,w13,w14,w17} Mulţimea vectorilor folosiţi în soluţia globală, însoţiţi de numerele

asociate: _,1,0,1 w01: 0,0,_,1 w12 _,1,1,0 w02 _,0,1,_ w13

_,0,_,_ w03 _,1,0,_ w14 _,_,0,0 w04 _,1,_,0 w15 _,_,1,1 w05 _,_,_,1 w16 0,0,0,1 w06 _,_,1,0 w17 _,1,0,0 w07 _,1,1,1 w18 _,0,_,0 w08 _,0,1,0 w19 _,_,1,_ w09 _,_,0,_ w20 _,1,_,1 w10 _,1,_,_ w21 1,_,_,_ w11 0,0,0,_ w22

- ex. D: - Soluţiile finale de interes ale ex. D (exemplu multivalent cu ieşiri multiple): a) - Varianta cu ieşire vectorială D(v) (soluţiile pe componente ale ieşirii):

- toate soluţiile conţin hazard funcţional;

07. METODA DISCRIMINĂRII 233

- prima formă canonică are o variantă cu 9 vectori implicanţi; - a doua formă canonică are o variantă cu 10 vectori implicanţi; - soluţia tip canal are o variantă cu 10 vectori implicanţi.

Mulţimea vectorilor folosiţi în toate variantele din ex. D (cu ieşiri

multiple tratate vectorial), grupaţi pe forme canonice: (DI)*** = {v2,v3,v4,v5,v6,v7,v8,v9,v10} (DII)*** = {v1,v2,v3,v4,v5,v6,v7,v8,v9,v10}

Mulţimea vectorilor distribuiţi pe ieşiri singulare şi în funcţie de forma canonică:

1(a)*** = {v6,v7,v8,v9,v10} 0(a)***= {v1,v2,v3,v4,v5} 1(a)***= {v6,v7,v8,v9,v10} 1(b)***= {v2,v7} 0(b)***= {v1,v6} 2(b)***= {v3,v8} 1(b)***= {v2,v7} 3(b)***= {v4,v9} 2(b)***= {v3,v8} 4(b)***= {v5,v10} 3(b)***= {v4,v9} Mulţimea vectorilor folosiţi în soluţia globală, însoţiţi de numerele

asociate: v1: 0,0,0 v2: 0,0,1 v3: _,0,2 v4: _,1,0 v5: _,1,1

v6: _,1,2 v7: _,2,0 v8: _,2,1 v9: _,2,2 v10:1,_,_

a) - Varianta cu ieşire vectorială D(v) (soluţiile pe componente ale ieşirii):

D(v)I*** : D(v)II***: D(v)C:

1(a)*** 0(a)*** 0(a)*** 1(a)*** 1(a)*** 1(b)*** 0(b)*** 0(b)***

2(b)*** 1(b)*** 1(b)*** 3(b)*** 2(b)*** 2(b)*** 4(b)*** 3(b)*** 3(b)*** 4(b)*** nr. vectori: 9 10 10

- Mulţimea circuitelor de echivalenţă sau non-echivalenţă care apar în vectorii implicanţi ai soluţiilor: D(v)I***: e(D,0), e(D,1), e(C,0), e(C,1), e(C,2), e(B,0), e(B,1), e(B,2) D(v)II*** (pentru structură programabilă): e(D,0), e(D,1), e(C,0), e(C,1), e(C,2), e(B,0), e(B,1), e(B,2)

234 07. METODA DISCRIMINĂRII

D(v)II*** (pentru structură normală): (B,2)e(B,1),e(B,0),e(C,2),e(C,1),e(C,0),e(D,1),e(D,0),e D(v)C***: e(D,0), e(D,1), e(C,0), e(C,1), e(C,2), e(B,0), e(B,1), e(B,2) Notă: În a doua formă canonică, acolo unde s-a menţionat „pentru structură programabilă”, s-au folosit convenţiile de reprezentare a produselor (a vectorilor implicanţi) de la prima formă canonică (adică acolo unde variabila are valoare 1, ea se foloseşte sub forma directă şi invers), pentru că implementarea într-o structură programabilă s-a presupus a avea prima formă canonică, iar a doua formă canonică se obţine prin complementarea valorii de ieşire.

b) -Varianta cu ieşiri multiple tratate individul D(m): - soluţiile conţin hazard funcţional, cu excepţia soluţiei (4(b)), care nu conţine nici un fel de hazard;

- Mulţimea variantelor de soluţii globale ale ex. D:

(ieşiri multiple tratate individual)

D(m)I: D(m)II: D(m)C: - ieşirea „a”: (1(a))** (0(a))** (0(a))**

(1(a))** (1(a))** - ieşirea „b”:

(1(b))** (0(b))** (0(b))** (2(b))** (1(b))** (1(b))** (3(b))** (2(b))** (2(b))** (4(b)) (3(b))** (3(b))** (4(b))

Mulţimea vectorilor folosiţi în toate variantele din ex. D (cu ieşiri

multiple tratate separat), grupaţi pe forme canonice:

(DI) = {w02,w03,w04,w05,w06,w08,w09,w10,w11,w12} (DII) = {w01,w02,w03,w04,w05,w06,w07,w08,w09,w10,w11,w12}

Mulţimea vectorilor renumerotaţi, grupaţi pe variante şi desemnaţi prin număr:

(0(a))** = {w01,w02,w03} (1(a))** = {w04,w05,w06} (0(b))** = {w04,w07} (1(b))** = {w08,w09} (2(b))** = {w10,w11}

07. METODA DISCRIMINĂRII 235

(3(b))** = {w02,w12} (4(b)) = {w03,w06} Mulţimea vectorilor renumerotaţi, folosiţi în soluţia globală, însoţiţi de

numerele asociate: w01: 0,0,_ w02: _,1,0 w03: _,1,1 w04: _,1,2 w05: _,2,_ w06: 1,_,_

w07: 0,0,0 w08: _,0,1 w09: _,2,0 w10: _,0,2 w11: _,2,1 w12: _,2,2

- ex. E: - Soluţiile finale de interes ale ex. E (exemplu binar cu o singură ieşire):

- toate soluţiile conţin hazard funcţional; - prima formă canonică are o variantă cu 3 vectori implicanţi; - a doua formă canonică are o variantă cu 2 vectori implicanţi; - soluţia tip canal are 5 vectori implicanţi. Mulţimea vectorilor folosiţi în variantele din ex. E:

(1(e))I** = {v3,v4,v5} (0(e))II** = {v1,v2}

Mulţimea vectorilor folosiţi în soluţia globală, însoţiţi de numerele asociate: v1: _,1,0,1/0 v2: _,1,1,0/0 v3: _,0,_,_/1 v4: _,_,0,0/1 v5: _,_,1,1/1

- Mulţimea variantelor de soluţii globale ale ex. E:

EI: EII: EC: (1(eI)** (0(eII))** (0(eII))**

(1(e)I** nr. vectori: 3 2 5 - Mulţimea variabilelor de intrare care apar atât sub formă directă sau complementată în vectorii implicanţi ai soluţiilor:

EI: 44332 x,x,x,x,x

236 07. METODA DISCRIMINĂRII

EII (pentru structură programabilă): 44332, x,x,x,xx

EII (pentru structură normală): 44332, x,x,x,xx

EC: 44332,2 x,x,x,xx,x

Notă: În a doua formă canonică, acolo unde s-a menţionat „pentru

structură programabilă”, s-au folosit convenţiile de reprezentare a produselor (a vectorilor implicanţi) de la prima formă canonică (adică acolo unde variabila are valoare 1, ea se foloseşte sub forma directă şi invers), pentru că implementarea într-o structură programabilă s-a presupus a avea prima formă canonică, iar a doua formă canonică se obţine prin complementarea valorii de ieşire.

etapa 22d: Optimizarea soluţiilor cu ieşiri multiple tratate

separat, prin eliminarea vectorilor care se regăsesc expandaţi

Optimizarea (deci etapa 22d) se aplică numai

soluţiilor cu ieşiri multiple minimizate separat. Optimizarea se face separat pentru fiecare formă

canonică, cât şi pentru soluţiile de implementare tip canal.

Analizând grupul vectorilor minimi folosiţi în toate ieşirile, care au fost minimizate separat, este posibil ca unora dintre aceşti vectori să le corespundă, în grup, un subgrup de vectori care poate fi generat prin expandarea uneia dintre poziţiile nespecificate ale respectivului vector, ceea ce face posibilă: - eliminarea din listă a unui asemenea vector şi - înlocuirea lui în lista corespunzătoare ieşirii prin grupul

expandat. Se obţine astfel reducerea numărului de vectori minimi

implicanţi folosiţi în comun de către toate ieşirile. Procedeul de eliminare prin expansiune poate fi astfel:

- Se împarte grupul general G al vectorilor minimi folosiţi de către toate ieşirile, în subgrupuri gi, după numărul i al poziţiilor specificate, începând cu grupul cu cel mai mic număr de poziţii specificate; - Se începe cu grupul gi cu cel mai mic număr de poziţii specificate

07. METODA DISCRIMINĂRII 237

(i = minim), analizându-se vectorii lui vik pe rând (k = 1,2,...);

- Se consideră vectorul vik

- Se identifică în gi+1 grupul gi+1(vik) de expansiune posibilă al lui vik, format din vectorii care conţin explicit toate componentele specificate ale lui vik.

- Se expandează prima poziţie j nespecificată (j reprezentând poziţia în vector), generându-se clasa de vectori gik-j;

- Dacă clasa de vectori generată prin expansiune este inclusă în subgrupul cu un număr de poziţii

specificate mai mare cu 1, adică 1)(ij-ik gg +⊆,

atunci vectorul vik se elimină din G, iar locul lui, în grupurile de vectori minimi sortate pe ieşiri, este luat de clasa de vectori gik-j. În caz contrar, vectorul vik rămâne în lista G şi se trece la analizarea vectorului următor din gi, până la finalizarea listei din gi.

Se analizează apoi subgrupul gi+1 şi aşa mai departe, până se ajunge la subrupul cu cel mai mare număr de poziţii specificate, care, evident, nu se mai analizează (pentru că nu mai poate fi expandat).

- Se rescriu, cu modificările rezultate din analiză, grupul G al vectorilor implicaţi în sinteza tuturor ieşirilor, precum şi grupurile de vectori minimi aparţinând fiecărei ieşiri.

Exemplul C – varianta cu ieşiri multiple tratate individual

Se vor examina, spre exemplificare, numai variantele primei şi a doua forme canonice. CI – prima formă canonică (variantele C(m)I.1 şi C(m)I. 2): - Mulţimea numelor de vectori din G, comună ambelor variante, stabilită în etapa anterioară:

(CI) = w01,w04,w05,w08,w09,w10,w11,w13,w14,w15,w16,w17,w20,w21} - Mulţimea vectorilor grupaţi pe variante şi funcţii de ieşire, desemnaţi prin nume:

(1(a))** = {w03,w04,w05} (1(b))** = {w08,w09,w10,w11} (1(c)) = {w04,w11,w14,w15} (1(d)) = {w08,w17}

238 07. METODA DISCRIMINĂRII

(1(e))** = {w01,w08,w11,w13,w17} (1(f)) = {w16,w20,w21} (11(g))** = {w11,w13,w14,w15}, pentru varianta 1: C(m)I.1 sau (12(g))** = {w11,w13,w14,w17}, pentru varianta 2: C(m)I.2

- Mulţimea G a vectorilor folosiţi în soluţia globală (fie C(m)I.1, sau C(m)I.2), însoţiţi de numele asociate:

_,1,0,1 w01 _,0,1,_ w13 _,_,0,0 w04 _,1,0,_ w14

_,_,1,1 w05 _,1,_,0 w15 _,0,_,0 w08 _,_,_,1 w16 _,_,1,_ w09 _,_,1,0 w17 _,1,_,1 w10 _,_,0,_ w20 1,_,_,_ w11 _,1,_,_ w21 - etapa 1: Se împarte grupul general G al vectorilor minimi folosiţi de

către toate ieşirile, în subgrupuri gi, după numărul i al poziţiilor specificate, începând cu grupul cu cel mai mic număr de poziţii specificate;

- grupul g1: - grupul g2: - grupul g3: _,_,1,_ w09 _,_,0,0 w04 _,1,0,1 w01 1,_,_,_ w11 _,_,1,1 w05 _,_,_,1 w16 _,0,_,0 w08 _,_,0,_ w20 _,1,_,1 w10 _,1,_,_ w21 _,0,1,_ w13

_,1,0,_ w14 _,1,_,0 w15 _,_,1,0 w17

- etapele 2-7 : Se analizează grupa g1:

- vectorul: w09: _,_,1,_ :

Se extrag toţi vectorii din g2 care cuprind toate poziţiile specificate ale lui w09, rezultând grupul de expansiune al lui w09 în g2:

g2(w09): _,_,1,1 w05 _,0,1,_ w13 _,_,1,0 w17

Vectorii w05 şi w17 constituie clasa de expansiune a lui w09 pentru ultima poziţie nespecificată: _,_,1,* care este marcată cu asterisc.

Prin urmare: }{ w17w05,w09→ ,

adică w09 este eliminat din lista G şi înlocuit în listele ieşirilor prin mulţimea de vectori }{ w17w05, .

- vectorul: w11: 1,_,_,_

07. METODA DISCRIMINĂRII 239

În g2 nu există nici un vector care să conţină poziţiile specificate ale lui w11, grupul de expansiune g2(w11) fiind mulţime vidă.

Prin urmare: w11 rămâne în listă.

- vectorul: w16: _,_,_,1

În g2 vectorii care conţin poziţiile specificate ale lui w11 sunt prezentaţi în : - g2(w16): w05: _,_,1,1 w10: _,1,_,1

şi nu pot forma o clasă de expansiune pentru w16. Prin urmare: w16 rămâne în listă.

- vectorul: w20: _,_,0,_ În g2 vectorii care conţin poziţiile specificate ale lui w20 sunt prezentaţi în: - g2(w20): w04: _,_,0,0 w14: _,1,0,_

şi nu pot forma o clasă de expansiune pentru w20. Prin urmare: w20 rămâne în listă. - vectorul: w21: _,1,_,_ În g2 vectorii care conţin poziţiile specificate ale lui w21 sunt prezentaţi în: - g2(w21): w10: _,1,_,1 w14: _,1,0,_ w15 : _,1,_,0

Vectorii w10 şi w15 constituie o clasă de expansiune pentru w21, pentru

ultima poziţie nespecificată: _,1,_,* care este marcată cu asterisc. Prin urmare:

}{ w15,w10w21→ , adică w21 este eliminat din lista G şi înlocuit în listele ieşirilor prin

mulţimea de vectori }{ w15w10, .

Reduceri în grupul g2 nu se pot face, pentru că grupul de expansiune posibilă g3 nu conţine decât un singur vector.

240 07. METODA DISCRIMINĂRII

- etapa 8: Se rescriu, cu modificările rezultate din analiză, grupul G (notat acum cu G*) al vectorilor implicaţi în sinteza tuturor ieşirilor, precum şi grupurile de vectori minimi aparţinând fiecărei ieşiri.

- grupul G* (12 vectori):

_,1,0,1 w01 _,0,1,_ w13 _,_,0,0 w04 _,1,0,_ w14

_,_,1,1 w05 _,1,_,0 w15 _,0,_,0 w08 _,_,_,1 w16 _,1,_,1 w10 _,_,1,0 w17

1,_,_,_ w11 _,_,0,_ w20 - grupele de vectori pe ieşiri:

(1(a))** = {w03,w04,w05} (1(b))** = {w08,(w05,w17),w10,w11} = {w05,w08,w10,w11, w17}

(1(c)) = {w04,w11,w14,w15} (1(d)) = {w08,w17} (1(e))** = {w01,w08,w11,w13,w17} (1(f)) = {w16,w20,(w10,w15)}= {w10,w15,w16,w20}

(11(g))** = {w11,w13,w14,w15}, pentru varianta 1: C(m)I.1 sau (12(g))** = {w11,w13,w14,w17}, pentru varianta 2: C(m)I.2

- CII – a doua formă canonică (soluţia C(m)II: Mulţimea numelor de vectori din G, stabilită în etapa anterioară: (CII) = {w01,w02,w05,w06,w07,w12,w13,w14,w16,w18,w19,w22} Mulţimea vectorilor grupaţi pe funcţii de ieşire, desemnaţi prin număr:

(0(a))** = {w01,w02} (0(b))** = {w06,w07} (0(c)) = {w05,w12,w13} (0(d)) = {w14,w16} (0(e))** = {w06,w07,w18} (0(f)) = {w19} (0(g))** = {w18,w22}

Mulţimea G a vectorilor folosiţi în soluţia globală, însoţiţi de numele asociate: _,1,0,1 w01: _,0,1,_ w13 _,1,1,0 w02 _,1,0,_ w14

_,_,1,1 w05 _,_,_,1 w16 0,0,0,1 w06 _,1,1,1 w18 _,1,0,0 w07 _,0,1,0 w19 0,0,_,1 w12 0,0,0,_ w22

07. METODA DISCRIMINĂRII 241

- etapa 1: Se împarte grupul general G al vectorilor minimi folosiţi de

către toate ieşirile, în subgrupuri gi, după numărul i al poziţiilor specificate, începând cu grupul cu cel mai mic număr de poziţii specificate;

- grupul g1: - grupul g2: - grupul g3: - grupul g4: _,_,_,1 w16 _,_,1,1 w05 _,1,0,1 w01 0,0,0,1 w06 _,0,1,_ w13 _,1,1,0 w02 _,1,0,_ w14 _,1,0,0 w07 0,0,_,1 w12 _,1,1,1 w18 _,0,1,0 w19 0,0,0,_ w22

- etapele 2 – 7:

Procedând similar cu varianta primei forme canonice, se obţine o singură reducre:

}{ w07w01,w14 → - etapa 8:

- grupul G* (11 vectori): _,1,0,1 w01 _,0,1,_ w13 _,1,1,0 w02 _,_,_,1 w16

_,_,1,1 w05 _,1,1,1 w18 0,0,0,1 w06 _,0,1,0 w19 _,1,0,0 w07 0,0,0,_ w22 0,0,_,1 w12 - grupele de vectori pe ieşiri:

(0(a))** = {w01,w02} (0(b))** = {w06,w07} (0(c)) = {w05,w12,w13} (0(d)) = {(w01,w07),w16}= {w01,w16,w07} (0(e))** = {w06,w07,w18} (0(f)) = {w19} (0(g))** = {w18,w22}

- Mulţimea variantelor de soluţii globale ale ex. C (ieşiri multiple tratate individual):

C(m)I.1: C(m)I.2: C(m)II :

(1(a))** (1(a))** (0(a))** (1(b))** (1(b))** (0(b))** (1(c)) (1(c)) (0(c))

242 07. METODA DISCRIMINĂRII

(1(d)) (1(d)) (0(d)) (1(e))** (1(e))** (0(e))** (1(f)) (1(f)) (0(f)) (11(g))** (12(g))** (0(g))**

nr. vectori: 12 12 11 - Mulţimea variabilelor de intrare care apar atât sub formă directă sau complementată în vectorii implicanţi ai soluţiilor:

C(m)I.1: AA,,BB,,CC,D,

C(m)I.2: AA,,BB,,CC,D, C(m)II (pentru structuri programabile):

AA,,BB,,CC,,D C(m)II (pentru structuri normale):

AA,,BB,,CC,D,

Notă: În a doua formă canonică, acolo unde s-a menţionat „pentru structură programabilă”, s-au folosit convenţiile de reprezentare a produselor (a vectorilor implicanţi) de la prima formă canonică (adică acolo unde variabila are valoare 1, ea se foloseşte sub forma directă şi invers), pentru că implementarea într-o structură programabilă s-a presupus a avea prima formă canonică, iar a doua formă canonică se obţine prin complementarea valorii de ieşire.

Exemplul D – varianta cu ieşiri multiple tratate individual - Varianta de soluţie D(m)I – prima formă canonică:

- etapa preliminară:

- Mulţimea vectorilor folosiţi în soluţia D(m)I: (DI) = {w02,w03,w04,w05,w06,w08,w09,w10,w11,w12} - Mulţimea vectorilor, grupaţi pe ieşiri şi valori ale ieşirilor:

- ieşirea a:

(1(a))** = {w04,w05,w06}

- ieşirea b:

(1(b))** = {w08,w09} (2(b))** = {w10,w11} (3(b))** = {w02,w12} (4(b)) = {w03,w06}

07. METODA DISCRIMINĂRII 243

- Mulţimea vectorilor, folosiţi în soluţia globală, însoţiţi de numele asociate: w02: _,1,0 w03: _,1,1 w04: _,1,2 w05: _,2,_ w06: 1,_,_ w08: _,0,1 w09: _,2,0 w10: _,0,2 w11: _,2,1 w12: _,2,2

- etapa 1: Se împarte grupul general G al vectorilor minimi folosiţi de către toate ieşirile, în subgrupuri gi, după numărul i al poziţiilor specificate, începând cu grupul cu cel mai mic număr de poziţii specificate;

- grupul g1: - grupul g2: : w05: _,2,_ w02: _,1,0 w06: 1,_,_ w03: _,1,1

w04: _,1,2 w08: _,0,1

w09: _,2,0 w10: _,0,2 w11: _,2,1 w12: _,2,2

- etapele 2 -7:

Procedând ca în exemplul anterior, se obţine înlocuirea:

}{ w12w11,w09,w05 → , pentru că vectorul

w05: _,2,_ are următoarea clasă de expansiune în g2:

g2(w05):

w09: _,2,0 w11: _,2,1 w12: _,2,2

- etapa 8:

- grupul G* (9 vectori):

w02: _,1,0 w03: _,1,1 w04: _,1,2 w06: 1,_,_ w08: _,0,1 w09: _,2,0 w10: _,0,2 w11: _,2,1 w12: _,2,2

244 07. METODA DISCRIMINĂRII

- grupele de vectori pe ieşiri:

- ieşirea a:

(1(a))** = {w04,(w09,w11,w12),w06} = {w04,w06,w09,w11,w12}

- ieşirea b:

(1(b))** = {w08,w09} (2(b))** = {w10,w11} (3(b))** = {w02,w12} (4(b)) = {w03,w06}

Varianta de soluţie D(m)II – a doua formă canonică:

- Mulţimea vectorilor folosiţi în soluţia D(m)II:

(DII) = {w01,w02,w03,w04,w05,w06,w07,w08,w09,w10,w11,w12} - Mulţimea vectorilor, grupaţi pe ieşiri şi valori ale ieşirilor, desemnaţi prin nume:

- ieşirea a:

(0(a))** = {w01,w02,w03} (1(a))** = {w04,w05,w06}

- ieşirea b:

(0(b))** = {w04,w07} (1(b))** = {w08,w09} (2(b))** = {w10,w11} (3(b))** = {w02,w12}

- Mulţimea vectorilor, folosiţi în soluţia globală, însoţiţi de numele asociate: w01: 0,0,_ w02: _,1,0 w03: _,1,1 w04: _,1,2 w05: _,2,_ w06: 1,_,_

w07: 0,0,0 w08: _,0,1 w09: _,2,0 w10: _,0,2 w11: _,2,1 w12: _,2,2

- etapa 1: Se împarte grupul general G al vectorilor minimi folosiţi de

către toate ieşirile, în subgrupuri gi, după numărul i al poziţiilor specificate, începând cu grupul cu cel mai mic număr de poziţii specificate;

07. METODA DISCRIMINĂRII 245

- grupul g1: - grupul g2: - grupul g3: w05: _,2,_ w01: 0,0,_ w07: 0,0,0 w06: 1,_,_ w02: _,1,0 w03: _,1,1

w04: _,1,2 w08: _,0,1 w09: _,2,0 w10: _,0,2 w11: _,2,1 w12: _,2,2

:

- etapele 2 -7:

Procedând ca mai înainte, se obţine înlocuirea:

}{ w12w11,w09,w05 → ,

- etapa 8: - grupul G* (11 vectori):

w01: 0,0,_ w02: _,1,0 w03: _,1,1 w04: _,1,2 w06: 1,_,_ w07: 0,0,0

w08: _,0,1 w09: _,2,0 w10: _,0,2 w11: _,2,1 w12: _,2,2

- grupele de vectori pe ieşiri:

. ieşirea a:

(0(a))** = {w01,w02,w03} (1(a))** = {w04,(w09,w11,w12),w06}

= {w04,w06,w09,w11,w12} . ieşirea b:

(0(b))** = {w04,w07} (1(b))** = {w08,w09} (2(b))** = {w10,w11} (3(b))** = {w02,w12}

- Varianta de soluţie D(m)C – cu ieşire tip canal:

- Mulţimea vectorilor folosiţi în soluţia D(m)C: (DC) = {w01,w02,w03,w04,w05,w06,w07,w08,w09,w10,w11,w12}

246 07. METODA DISCRIMINĂRII

- Mulţimea vectorilor, grupaţi pe ieşiri şi valori ale ieşirii, desemnaţi prin nume:

- ieşirea a:

(0(a))** = {w01,w02,w03} (1(a))** = {w04,w05,w06}

- ieşirea b:

(0(b))** = {w04,w07} (1(b))** = {w08,w09} (2(b))** = {w10,w11} (3(b))** = {w02,w12} (4(b)) = {w03,w06}

- Mulţimea vectorilor, folosiţi în soluţia globală, însoţiţi de numele asociate: w01: 0,0,_ w02: _,1,0 w03: _,1,1 w04: _,1,2 w05: _,2,_ w06: 1,_,_

w07: 0,0,0 w08: _,0,1 w09: _,2,0 w10: _,0,2 w11: _,2,1 w12: _,2,2

- etapa 1: Se împarte grupul general G al vectorilor minimi folosiţi de

către toate ieşirile, în subgrupuri gi, după numărul i al poziţiilor specificate, începând cu grupul cu cel mai mic număr de poziţii specificate;

- grupul g1: - grupul g2: - grupul g3: w05: _,2,_ w01: 0,0,_ w07: 0,0,0 w06: 1,_,_ w02: _,1,0

w03: _,1,1 w04: _,1,2 w08: _,0,1 w09: _,2,0 w10: _,0,2 w11: _,2,1 w12: _,2,2

- etapele 2 -7:

Procedând ca mai înainte, se obţine înlocuirea:

}{ w12w11,w09,w05 → , - etapa 8: - grupul G* (11 vectori):

w01: 0,0,_ w02: _,1,0

w03: _,1,1 w04: _,1,2

07. METODA DISCRIMINĂRII 247

w06: 1,_,_ w07: 0,0,0 w08: _,0,1 w09: _,2,0

w10: _,0,2 w11: _,2,1 w12: _,2,2

- grupele de vectori pe ieşiri:

. ieşirea a:

(0(a))** = {w01,w02,w03} (1(a))** = {w04,(w09,w11,w12),w06}= {w04,w06,w09,w11,w12}

. ieşirea b:

(0(b))** = {w04,w07} (1(b))** = {w08,w09} (2(b))** = {w10,w11} (3(b))** = {w02,w12} (4(b)) = {w03,w06}

- Mulţimea circuitelor de echivalenţă sau non-echivalenţăcare apar în vectorii implicanţi ai soluţiilor: D(m)I: e(D,1), e(C,0), e(C,1), e(C,2),e(B,0), e(B,1), e(B,2) D(m)II (pentru structuri normale):

(B,2),e(B,1),e(B,0),e(C,2),e(C,1),e(C,0),e(D,1),e(D,0),e D(m)II (pt. structuri programabile): e(D,0), e(D,1), e(C,0), e(C,1), e(C,2),e(B,0), e(B,1), e(B,2) D(m)C: e(D,0), e(D,1), e(C,0), e(C,1), e(C,2),e(B,0), e(B,1), e(B,2) Notă: În a doua formă canonică, acolo unde s-a menţionat, pentru structură

programabilă”, s-au folosit convenţiile de reprezentare a produselor (a vectorilor implicanţi) de la prima formă canonică (adică acolo unde variabila are valoare 1, ea se foloseşte sub forma directă şi invers), pentru că implementarea într-o structură programabilă s-a presupus a avea prima formă canonică, iar a doua formă canonică se obţine prin complementarea valorii de ieşire.

248 07. METODA DISCRIMINĂRII

07.06. EXPRESIILE ANALITICE ALE FUNCŢIILOR MINIMIZATE

Expresiile analitice ale funcţiilor se obţin folosind una dintre algebrele expuse mai înainte, algebre multivalente sau binare, în funcţie de tipul funcţiei.

Expresiile se scriu folosind simbolurile vectorilor implicanţi, care vor fi anexaţi detaliat soluţiei, urmărindu-se modul de structurare al circuitului, pornind de la ieşire către intrare şi specificând straturile logice.

Se prezintă în continuare o parte dintre variantele de soluţii pentru

fiecare dintre exemplele prezentate în sub-capitolul anterior. Pentru detalii, se face referire la sub-capitolul anteriior.

- ex. A:

1 soluţia cu hazard logic:

( AI)* = {v5,v7,v8,v9,v10 } Rezultă: a – funcţia de ieşire

v10v8v7v5

*AI =

unde: v5: _,1,1,_,_,1/1 v7: 1,1,_,_,_,_/1 v8: 0,_,_,1,_,_/1 v10: 1,_,0,_,_,_/1 din care rezultă stratul expresiilor logice ale vectorilor implicanţi: b – vectorii implicanţi

31

41

21

632

x.xv10.xxv8.xxv7

x.xxv5

====

07. METODA DISCRIMINĂRII 249

c – porţile de intrare (mulţimea variabilelor de intrare care apar atât sub formă directă sau complementată în vectorii implicanţi ai soluţiilor)

(AI)*: 6433211 x,x,x,x,x,x,x

2 soluţia fără hazard

(AI) = {v5,v7,v8,v9,v10,(v7,v8)}

Rezultă: a – funcţia de ieşire

v8)(v7,v10v9v8v7v5

AI =

unde: v5: _,1,1,_,_,1/1 v7: 1,1,_,_,_,_/1 v8: 0,_,_,1,_,_/1 v9: _,_,0,1,_,_/1 v10: 1,_,0,_,_,_/1 (v7,v8): _,1,_,1,_,_/1 de unde rezultă: b – vectorii implicanţi

42

31

43

41

21

632

.xxv8)(v7,x.xv10

.xxv9.xxv8.xxv7

x.xxv5

==

====

250 07. METODA DISCRIMINĂRII

c – porţile de intrare (mulţimea variabilelor de intrare care apar atât sub formă directă sau complementată în vectorii implicanţi ai soluţiilor)

(AI): 6433211 x,x,x,x,x,x,x - ex. B:

1 soluţie pentru prima formă canonică:

Se alege soluţia:

BI: {(31),(7),(91)}

Rezultă: a – funcţia de ieşire

)(9(7)

)(3B

1

1

I =

b – funcţiile parţiale (pe valori) (31) = B(3) . 3 (7) = B(7) . 7 (91) = B(9) c – funcţiile de selecţie a valorii de ieşire: B(3) = v6 B(7) = v9 B(9) = v13 d – vectorii implicanţi Din tabel rezultă: v6: 2,_,_ v9: _,7,2 v13: 3,_,_ de unde:

07. METODA DISCRIMINĂRII 251

v6=e(x,2) v9=e(y,7).e(z,2) v13=e(x,3) e – porţile de intrare (mulţimea circuitelor de echivalenţă care apar în vectorii implicanţi ai soluţiilor) e(x,2), e(x,3), e(y,7), e(z,2)

2. soluţie pentru a doua formă canonică:

Se alege soluţia: BII: {(0),(31),(7)}

Rezultă: a – funcţia de ieşire

(7).)(3.(0) B 1II = , b –funcţiile de ieşire pe valori

(0) = B(0)

(31) = B(3).3 (7) = B(7).7

de unde:

7B(7)

(7)

3B(3)

)(3

B(0)(0)

1

=

=

=

unde B(0), B(3) şi B(7) sunt funcţiile de selecţie a valorilor de ieşire 0,3 şi, respectiv, 7. c – funcţiile de selecţie a valorii de ieşire:

v3v2v1

B(0) =

B(3) = v6 B(7) = v9

252 07. METODA DISCRIMINĂRII

deci: v3.v2.v1B(0) =

v6B(3) = v9B(7) =

d – vectorii implicanţi - din tabelul minimizat

v1: 4,_,_ v2: _,3,_ v3: _,_,3 v6: 2,_,_ v9: _,7,2

rezultă:

(z,2)e(y,7)e

v9

(x,2)ev6

(z,3)ev3

(y,3)ev2

(x,4)ev1

=

=

=

=

=

e – porţile de intrare (mulţimea circuitelor de echivalenţă care apar în vectorii implicanţi ai soluţiilor)

(z,3)e(z,2),e(y,7),e(y,3),e(x,4),e(x,2),e

3 soluţie cu ieşire tip canal

Se alege soluţia: BC: {(0),(31),(7),(91)}

Rezultă:

07. METODA DISCRIMINĂRII 253

)(9

(7))(3

(0)

B

1

1C =

b – funcţiile parţiale (pe valori) B(0)٭0 = (0) B(3)٭3 = (31) B(7)٭7 = (7) B(9)٭9 = (91) c – funcţiile de selecţie a valorii de ieşire:

v3v2v1

B(0) =

B(3) = v6 B(7) = v9 B(9) = v13 d – vectorii implicanţi Din tabel, rezultă pentru vectorii implicanţi: v1: 4,_,_ v2: _,3,_ v3: _,_,3 v6: 2,_,_ v9: _,7,2 v13: 3,_,_ de unde: v1=e(x,4) v2=e(y,3) v3=e(z,3) v6=e(x,2) v9=e(y,7).e(z,2) v13=e(x,3) e – porţile de intrare (mulţimea circuitelor de echivalenţă care apar în vectorii implicanţi ai soluţiilor) e(x,2), e(x,3), e(x,4), e(y,3), e(y,7), e(z,2), e(z,3)

254 07. METODA DISCRIMINĂRII

- ex. C:

a) - Varianta cu ieşire vectorială C(v) (soluţiile pe componente ale ieşirii) (exemplu binar): Aleg soluţia (CI+II)*** pentru a doua formă canonică: aII: 0(a)*** = {v6,v7} bII: 0(b)*** = {v2,v5} cII: 0(c)*** = {v2,v3,v4,v8} dII: 1(d)*** = {v1,v3,v7,v9}

eII: 0(e)*** = {v2,v5,v8} fII: 0(f)*** = {v3} gII: 0(g)** = {v1,v2,v8}

a – funcţiile de ieşire

(0g)g

(0f)f

(0e)e

(1d)d(0c)c

(0b)b

(0a)a

II

II

II

I

II

II

II

=

=

=

==

=

=

b – funcţiile de selecţie a valorii (0, în acest caz):

v9v7v3v1

(1d)

v8v2v1

(0g);

v8v4v3v2

(0c)

v3(0f);v5v2

(0b)

v8v5v2

(0e);v7v6

(0a)

=

==

==

==

07. METODA DISCRIMINĂRII 255

c – vectorii implicanţi - din mulţimea vectorilor folosiţi în soluţia globală, rezultă expresiile vectorilor implicanţi: v1: 0,0,0,0 v2: 0,0,0,1 v3: _,0,1,0 v4: _,0,1,1 v5: _,1,0,0 v6: _,1,0,1 v7: _,1,1,0 v8: _,1,1,1 v9: 1,_,_,0

AD.v9C.B.Av8

AC.B.v7.ABC.v6A.BC.v5

.B.ACv4

A.B.Cv3

.AB.C.Dv2

A.B.C.Dv1

=

==

=

=

=

=

=

=

d – porţile de intrare (mulţimea variabilelor de intrare care apar atât sub formă directă sau complementată în vectorii implicanţi ai soluţiilor)

AA,,BB,,CC,,DD,

b) - Varianta cu ieşiri multiple tratate individul C(m) (exemplu binar): (CII) = {w01,w02,w03,w05,w06,w07,w12,w13,w16,w18,w19,w22} Din mulţimea vectorilor grupaţi pe ieşiri,

aII: (0(a))** = {w01,w02} bII: (0(b))** = {w06,w07} cII: (0(c)) = {w05,w12,w13} dII: (0(d)) = {w1,w16,w07} eII: (0(e))** = {w06,w07,w18} fII: (0(f)) = {w19} gII: (0(g))** = {w18,w22}

256 07. METODA DISCRIMINĂRII

rezultă funcţiile de ieşire a – funcţiile de ieşire

(0g)g

(0f)f

(0e)e

(0d)d

(0c)c

(0b)b

(0a)a

II

II

II

II

II

II

II

=

=

=

=

=

=

=

b – funcţiile de selecţie a valorii (0, în acest caz)

w22w18

(0g)w19;(0f);w18w07w06

(0e)

w16w07w1

(0d);w13w12w05

(0c);w07w06

(0b);w02w01

(0a)

===

====

c – vectorii implicanţi - mulţimea vectorilor folosiţi în soluţia globală: _,1,0,1 w01: 0,0,_,1 w12 _,1,1,0 w02 _,0,1,_ w13

_,_,1,1 w05 _,_,_,1 w16 0,0,0,1 w06 _,1,1,1 w18 _,1,0,0 w07 _,0,1,0 w19 0,0,0,_ w22 Rezultă expresiile vectorilor implicanţi:

07. METODA DISCRIMINĂRII 257

A.BC.w07

.AB.C.Dw06

B.Aw05AC.B.w02

.ABC.w01

=

=

==

=

B.C.Dw22

A.B.Cw19

C.B.Aw18Aw16

.BCw13

.AC.Dw12

=

=

===

=

c – porţile de intrare (mulţimea variabilelor de intrare care apar atât sub formă directă sau complementată în vectorii implicanţi)

: AA,,BB,,CC,,D - ex. D:

a) - Varianta cu ieşire vectorială (DI)*** (soluţiile pe componente ale ieşirii) (exemplu multivalent): a – funcţiile de ieşire Din mulţimea vectorilor distribuiţi pe ieşiri singulare:

- ieşirea „a”: (1a): 1(a)*** = {v6,v7,v8,v9,v10} - ieşirea „b”: (1b): 1(b)***= {v2,v7} (2b): 2(b)***= {v3,v8} (3b): 3(b)***= {v4,v9} (4b): 4(b)***= {v5,v10}

rezultă ieşirile „a” şi „b”.

B(4)B(3)B(2)B(1)

b

A(1)a

=

=

258 07. METODA DISCRIMINĂRII

b – funcţiile de ieşire pe valori A(1) = (1a).1 B(1) = (1b).1 B(2) = (2b).2 B(3) = (3b).3 B(4) = (4b)

c – funcţiile de selecţie a valorilor

v7v2

(1b)

v10v9v8v7v6

(1a)

=

=

v10v5

(4b)

v9v4

(3b)

v8v3

(2b)

=

=

=

d – vectorii implicanţi

- mulţimea vectorilor folosiţi în soluţia globală:

v2: 0,0,1 v3: _,0,2 v4: _,1,0 v5: _,1,1 v6: _,1,2

v7: _,2,0 v8: _,2,1 v9: _,2,2 v10:1,_,_

Rezultă expresiile vectorilor implicanţi: v2 = e(D,0).e(C,0).(e(B,1) v3 = e(C,0).e(B,2) v4 = e(C,1).e(B,0) v5 = e(C,1).e(B,1) v6 = e(C,1).e(B,2) v7 = e(C,2).e(B,0) v8 = e(C,2).e(B,1) v9 = e(C,2).e(B,2) v10= e(D,1) e – porţile de intrare

(mulţimea circuitelor de echivalenţă care apar în vectorii implicanţi ai soluţiilor) e(D,0), e(D,1), e(C,0), e(C,1), e(C,2), e(B,0), e(B,1), e(B,2)

07. METODA DISCRIMINĂRII 259

b) -Varianta cu ieşiri multiple tratate individul D(m):

- varianta D(m)I: a – funcţiile de ieşire Mulţimea vectorilor distribuiţi pe ieşiri singulare:

- ieşirea „a”:

(1a): (1(a))** = {w04,w06,w09,w11,w12} - ieşirea „b”: (1b): (1(b))** = {w08,w09} (2b): (2(b))** = {w10,w11} (3b): (3(b))** = {w02,w12} (4b): (4(b)) = {w03,w06} Rezultă ieşirile „a” şi „b”.

b – funcţiile de ieşire pe valori

A(1) = (1a).1 B(1) = (1b).1 B(2) = (2b).2

B(3) = (3b).3 B(4) = (4b)

c – funcţiile de selecţie a valorilor

w06w03

(4b)w12w02

(3b)

w11w10

(2b);w09w08

(1b)

2

w12w11w09w06w04

(1a)

==

==

=

;

B(4)B(3)B(2)B(1)

b

A(1)a

=

=

260 07. METODA DISCRIMINĂRII

d – vectorii implicanţi

- mulţimea vectorilor folosiţi în soluţia globală:

w02: _,1,0 w03: _,1,1 w04: _,1,2 w06: 1,_,_ w08: _,0,1

w09: _,2,0 w10: _,0,2 w11: _,2,1 w12: _,2,2

Rezultă expresiile vectorilor implicanţi:

w02 = e(C,1).(e(B,0) w03 = e(C,1).e(B,1) w04 = e(C,1).e(b,2) w06 = e(D,1) w08 = e(C,0).e(B,1)

w09 = e(C,2).e(B,0) w10 = e(C,0).e(B,2) w11 = e(C,2).e(B,1) w12 = e(C,2),e(B,2)

e – porţile de intrare

(mulţimea circuitelor de echivalenţă sau non-echivalenţăcare apar în vectorii implicanţi ai soluţiilor) D(m)I: e(D,1), e(C,0), e(C,1), e(C,2),e(B,0), e(B,1), e(B,2) - varianta D(m)C: a – funcţiile de ieşire Mulţimea vectorilor distribuiţi pe ieşiri singulare:

- ieşirea „a”: (0a): (0(a))** = {w01,w02,w03} (1a): (1(a))** = {w04,w06,w09,w11,w12} - ieşirea „b”:

(0b): (0(b))** = {w04,w07} (3b): (3(b))** = {w02,w12} (1b): (1(b))** = {w08,w09} (4b): (4(b)) = {w03,w06} (2b): (2(b))** = {w10,w11} Rezultă ieşirile „a” şi „b”.

B(4)B(3)B(2)B(1)B(0)

b A(1)A(0)

a ==

07. METODA DISCRIMINĂRII 261

b – funcţiile de ieşire pe valori

A(0) = (0a).0 A(1) = (1a).1 B(0) = 0*(0b) B(1) = 1*(1b)

B(2) = 2*(2b) B(3) = 3*(3b) B(4) = 4*(4b)

c – funcţiile de selecţie a valorilor

w12w11w09w06w04

(1a)

w03w02w01

(0a)

=

=

w06w03

(4b)

w12w02

(3b)

w11w10

(2b)

w09w08

(1b)

w07w04

(0b)

=

=

=

=

=

d – vectorii implicanţi - mulţimea vectorilor folosiţi în soluţia globală:

w01: 0,0,_ w02: _,1,0 w03: _,1,1 w04: _,1,2 w06: 1,_,_ w07: 0,0,0

w08: _,0,1 w09: _,2,0 w10: _,0,2 w11: _,2,1 w12: _,2,2

Rezultă expresiile vectorilor implicanţi: w01 = e(D,0).e(C,0) w02 = e(C,1).(e(B,0) w03 = e(C,1).e(B,1) w04 = e(C,1).e(B,2) w06 = e(D,1) w07= e(D,0).e(C,0).e(B,0)

w08 = e(C,0).e(B,1) w09 = e(C,2).e(B,0) w10 = e(C,0).e(B,2) w11 = e(C,2).e(B,1) w12 = e(C,2),e(B,2)

e – porţile de intrare

(mulţimea circuitelor de echivalenţă sau non-echivalenţăcare apar în vectorii implicanţi ai soluţiilor) D(m)C e(D,0), e(D,1), e(C,0), e(C,1), e(C,2),e(B,0), e(B,1), e(B,2)

262 07. METODA DISCRIMINĂRII

- ex. E: - Mulţimea variantelor de soluţii globale ale ex. E:

EI: EII: EC: (1(eI)** (0(eII))** (0(eII))**

(1(e)I** - Mulţimea vectorilor folosiţi în variantele din ex. E:

(1e): (1(e))I** = {v3,v4,v5} (0e): (0(e))II** = {v1,v2}

a - funcţia de ieşire

v2v1(0e)E

v5v4v3

(1e)E

II

I

==

==

v2v1

*0

v5v4v3

*1

(0e)*0(1e)*1

EC ==

b – vectorii implicanţi - mulţimea vectorilor folosiţi în s3oluţia globală: v1: _,1,0,1 v2: _,1,1,0 v3: _,0,_,_ v4: _,_,0,0 v5: _,_,1,1 Rezultă expresiile vectorilor implicanţi.

43

43

2

432

432

.xxv5x.xv4

xv3x..xxv2

.xx.xv1

===

=

=

07. METODA DISCRIMINĂRII 263

c – porţile de intrare (mulţimea variabilelor de intrare care apar atât sub formă directă sau complementată în vectorii implicanţi ai soluţiilor)

EI: 44332 x,x,x,x,x

EII: 44332, x,x,x,xx

EC: 44332,2 x,x,x,xx,x

264 07. METODA DISCRIMINĂRII

07.07. DIAGRAMELE LOGICE ALE FUNCŢIILOR MINIMIZATE

Figurile F-7.1- F-7.11 prezintă diagramele logice ale funcţiilor minimizate, ale căror expresii logice sunt prezentate în sub-capitolul anterior:

• fig. F-7.1 Diagrame logice pentru ex. A: AI*: soluţia cu hazard logic; AI: soluţia fără hazard logic

07. METODA DISCRIMINĂRII 265

• fig. F-7.2 Diagramă logică pentru ex.B:

a doua formă canonică.

266 07. METODA DISCRIMINĂRII

• fig. F-7.3 Diagramă logică pentru ex.B:

o prima formă canonică.

07. METODA DISCRIMINĂRII 267

fig. F-7.4 Diagramă logică pentru ex. B o cu ieşiri tip canal.

268 07. METODA DISCRIMINĂRII

• fig. F-7.5 Diagramă logică pentru ex. C

o minimizare vectorială

o a doua formă canonică

o implementare pe un SLP structurat pe prima formă canonică.

07. METODA DISCRIMINĂRII 269

(0f)

w06

2

w07w05 w13

3

(0d)

332

3 (0e)

1

e11

(0a)

2

3

d11

w20

1

3

w16

g11

C

D

a11

3

3

2

w01 w18

(0b)

34

w02

f11

c11

3

A

w19

b11

2

(0g)

w12

(0c)

B

• fig. F-7.6 Diagramă logică pentru ex. C

minimizare pe ieşiri separate

a doua formă canonică

implementare pe un SLP structurat pe prima formă canonică

270 07. METODA DISCRIMINĂRII

• fig. F-7.7 Diagramă logică pentru ex. D

o minimizare vectorială

o prima formă canonică.

07. METODA DISCRIMINĂRII 271

• fig. F-7.8 Diagramă logică pentru ex. D

o minimizare separată pe ieşiri

o implementarea ieşirii cu porţi canal

ieşire globală prin circuit „OR”

ieşire globală prin conectarea în scurt circuit a ieşirilor pe valori.

272 07. METODA DISCRIMINĂRII

• fig. F-7.9 Diagramă logică pentru ex. E

o prima formă canonică

o implementare tip SLP.

07. METODA DISCRIMINĂRII 273

• fig. F-7.10 Diagramă logică pentru ex. E

o a doua formă canonică:

a - implementare cu SLP

b - implementare directă

274 07. METODA DISCRIMINĂRII

.fig. F-7.11Diagramă logică pentru ex. E o prima formă canonică

o implementare ieşirii cu porţi tip canal

08. ALGEBRA BINARĂ 275

08. ALGEBRA BINARĂ

PARTICULARIZARE A ALGEBREI ARHETIPALE MULTIVALENTE

08.01. PARTICULARIZĂRI ALE

OPERATORILOR DE ECHIVALENŢĂ ŞI NON-ECHIVALENŢĂ ÎN Z2 = {0,1}

În cazul binar, operatorii de echivalenţă (e(x,y)) şi non-echivalenţă (ne(x,y), sau y)(x,e ) au următoarele proprietăţi:

e(x,1) = ⎩⎨⎧

==

0 x pentru 0,1 x pentru 1,

, sau:

(08.1) e(x,1) = x Similar:

e(x,0) = ⎩⎨⎧

==

0 x pentru 1,1 x pentru 0,

, sau:

(08.2) e(x,0) = x

Considerând şi operatorul de non-echivalenţă, rezultă relaţiile: (08.3) (x,1)e ) = x (08.4) (x,0)e = x Din relaţiile (08.1) – (08.4) rezultă: (08.5) (x,1)e ) = e(x,0)= x (08.6) (x,0)e = e(x,1) = x

276 08. ALGEBRA BINARĂ

08.02. PROPRIETĂŢILE DUALE ALE OPERATORILOR ALGEBREI BINARE

Particularizând în binar proprietăţile duale din algebra arhetipal-multivalentă, expuse în cap. 8.10, rezultă: (08.7) - Proprietăţile 1 - 8 îşi păstrează aceeaşi formă.

(08.8) - Proprietatea 9 devine: . produsul factorilor produalul factorilor complementari complementari:

0xx. = 1xx

=

(08.9) - Proprietatea 10, referitoare la dubla complementare (involuţia), rămâne sub aceeaşi formă şi în cazul binar. x x =

(08.10) – Proprietatea 11, referitoare la comutativitatea operatorilor de echivalenţă şi non-echivalenţă, rămâne sub aceeaşi formă şi în cazul binar:

x)e(y, y)e(x, = x)(y,ey)(x,e =

(08.11) - Proprietatea 12 se reduce la proprietatea 9, pentru că:

- din (08.5) şi (08.6) se deduce că y)(x,e ) = e(x, y ) e(x,y). y)(x,e = 0 - din a doua relaţie, dând valori lui y, se obţine, pentru y =1: e(x,1). (x,1)e = x . x = 0 pentru y = 0. e(x,0). (x,0)e = x . x .= 0 - similar, dând valori lui x, se obţine

y . y = 0

Rezultă că prima parte a proprietăţii 12, care se referă la produsul echivalenţelor complementare, se reduce la produsul factorilor complementari din proprietatea 9 din cazul binar.

Referitor la produalul echivalenţelor complementare, relaţia se scrie în binar:

08. ALGEBRA BINARĂ 277

1y)(x,ey)e(x,

=

În continuare, dând valori lui y, se obţine

. pentru y = 1, 1(x,1)e

e(x,1)= ,

ceea ce, în binar, este echivalent cu

1xx

=

. pentru y = 0, 1(x,0)e

e(x,0)= ,

ceea ce, în binar, este echivalent cu

1xx

=

Prin urmare, şi produalul echivalenţelor complementare din proprietatea 12 se reduce la produalul factorilor complementari din proprietatea 9 din cazul binar.

(08.12) -Proprietatea 13, referitoare la completitudine în cazul general, multivalent, se reduce şi ea, în cazul binar, printr-un proces similar celui aplicat proprietăţii 12, la proprietatea 9.

(08.13)- Proprietatea 14, referitoare la tranzitivitatea operatorilor de

echivalenţă şi non-echivalenţă, rămâne sub aceeaşi formă şi în cazul binar:

e(e(x,y),e(x,z)) = z))(x,ey),(x,e(e =

= e(x,z) . e(x,z) = e(y,z) = z)(x,ey)(x,e

= z)(y,e

NOTĂ: Întrucât şi în cazul unei algebre multivalente în ZN, unde

N > 2, pot exista funcţiile x . x şi xx

, este necesar să se

constate că în acest caz relaţiile din binar:

x . x = 0

278 08. ALGEBRA BINARĂ

xx

= 1

devin, în cazul general, multivalent: x . x ≥ 0

xx

≤ (N-1)

08. ALGEBRA BINARĂ 279

08.03. ALGEBRE ECHIVALENTE ÎN Z2 În Z2, luând ca bază algebra (Z2,e,m,M), se poate arăta că următoarele algebre sunt echivalente cu această algebră şi, deci, sunt echivalente între ele. Demonstraţia nu se mai prezintă aici, ea făcându-se la fel ca în cazul multivalent: (08.14) (Z2,e,min,max) = (Z2,XNOR,AND,OR) (08.15) (Z2, e ,min,max) = (Z2,XOR,AND,OR) (08.16) (Z2,e,min) = (Z2,XNOR,AND) (08.17) (Z2, e ,min) = (Z2,XOR,AND) (08.18) (Z2,e,max) = (Z2,XNOR,OR) (08.19) (Z2, e ,max) = (Z2,XOR,OR) (08.20) (Z2,min,max,com) = (Z2,AND,OR,NOT) (08.21) (Z2,min,com) = (Z2,AND,NOT) (08.22) (Z2,max,com) = (Z2,OR,NOT) (08.23) (Z2,comin) = (Z2,NAND) (08.24) (Z2,comax) = (Z2,NOR) În echivalarea algebrelor (08.20) – (08.24), se ţine cont că în binar: com(x) = e(x,0) = x Simbolurile, notaţiile pentru operatori sunt cele stabilite în cazul prezentării algebrei multivalente. Notă: Semnificaţia practică a evidenţierii algebrelor echivalente

multivalente, sau binare) constă în posibilitatea implementării oricărei funcţii digitale cu setul de operatori corespunzător oricăreia dintre algebre. De exemplu, în binar, se pot implementa funcţiile logice numai cu operatori NAND, sau (XOR şi OR), etc.

280 08. ALGEBRA BINARĂ

08.04. FORME CANONICE ÎN Z2 Particularizarea în cazul binar a celor două forme canonice ale funcţiilor digitale, prezentate pentru cazul general în cap. 8 şi cap.9 se va face aici, plecând de la un exemplu de funcţie binară:

număr (x,y,z)

x y z F

0 0 0 0 0 1 0 0 1 1 2 0 1 0 1 3 0 1 1 1 4 1 0 0 - 5 1 0 1 0 6 1 1 0 1 7 1 1 1 -

Tabel Tb-08.1 Simplificând, folosind metoda discriminării, tabelul devine:

număr (x,y,z)

x y z F

0 - 0 0 0 5 1 - 1 0 1 0 - 1 1 2,3,6 - 1 - 1

Tabel Tb-08.2 Se scriu, în prima parte, cele două forme canonice, conform metodei generale, şi, în continuare, se scrie expresia din binar, în care s-a ţinut cont de relaţiile (08.1)-(08.4):

(08.23) FI = yz . x

e(y,1)e(z,1) . e(x,0)

=

(08.24) FII = zx

zy

(z,1)e(x,1)e

(z,0)e(y,0)e

=

Rezultă următoarele reguli de scriere a unei funcţii binare sub prima sau a doua formă canonică:

08. ALGEBRA BINARĂ 281

Regula R-08.1: Scrierea unei funcţii binare sub prima formă canonică se face plecând de la tabelul de adevăr (simplificat, sau nu) al funcţiei, luând în considerare rândurile din tabel pentru care funcţia are valoarea 1. Astfel, funcţia se scrie sub formă de produal de produse, în care fiecare produs corespunde unui rând din tabel, în care funcţia are valoarea 1. Fiecare produs are drept factori variabilele din capul fiecărei coloane ,şi anume:variabila sub forma directă, pentru valoarea 1 din tabel:

- variabila sub forma directă, pentru valoarea 1 din tabel;

- variabila sub forma complementată, pentru valoarea 0 din tabel;

- variabila nu apare deloc în produs, pentru poziţiile nespecificate (care au „ – „).

Regula R-08.2: Scrierea unei funcţii binare sub a doua formă canonică

se face plecând de la tabelul de adevăr (simplificat, sau nu) al funcţiei, luând în considerare rândurile din tabel pentru care funcţia are valoarea 0.

Astfel, funcţia se scrie sub formă de produs de produale, în care fiecare produal corespunde unui rând din tabel, în care funcţia are valoarea 0. Fiecare produal are drept factori duali variabilele din capul fiecărei coloane, şi anume:

- variabila sub forma directă, pentru valoarea 0 din tabel;

- variabila sub forma complementată, pentru valoarea 1 din tabel;

- variabila nu apare deloc în produs, pentru poziţiile nespecificate (care au „ – „).

282 08. ALGEBRA BINARĂ

282

08.05. IMPLEMENTAREA FUNCŢIILOR BINARE NUMAI CU OPERATORI „NAND”, SAU NUMAI CU OPERATORI „NOR”

08.05.01. IMPLEMENTARE ANALITICĂ

a) - Pentru implementarea funcţiilor binare în algebra (Z2,NAND),

adică numai cu circuite de tip NAND, se recomandă să se plece de la prima formă canonică a funcţiei, exprimată în algebra de referinţă (Z2,AND, OR, NOT).

Această formă a funcţiei se complementează de două ori şi apoi se aplică prima teoremă a lui De Morgan, obţinându-se funcţia exprimată numai cu operatori de tip NAND. Exemplul următor ilustrează metoda:

(08.25) .z.x.z.y.yx.z.x

z.yyx.

z.xz.y

yx.F ===

b) - Pentru implementarea funcţiilor binare în algebra (Z2,NOR), adică numai cu circuite de tip NOR, se recomandă să se plece de la a doua formă canonică a funcţiei, exprimată în algebra de referinţă (Z2,AND, OR, NOT).

Această formă a funcţiei se complementează de două ori şi apoi se aplică cea de a doua teoremă a lui De Morgan, obţinându-se funcţia exprimată numai cu operatori de tip NOR. Exemplul următor ilustrează metoda:

(08.26)

zx

yz

yx

zx

yz

yx

zx

yz

yx

G ===

08.05.02. IMPLEMENTARE GRAFICĂ

a) - Realizarea schemei logice a unei funcţii numai cu operatori

NAND se poate face direct, plecând de la schema funcţiei realizată cu operatori AND, OR, NOT în prima formă canonică, prin complementarea ieşirii fiecărei porţi logice AND, precum şi a tuturor intrărilor porţilor OR conectate la o ieşire AND.

Ţinând cont, conform formei grafice a primei teoreme a lui De Morgan, că o poartă OR cu toate intrările complementate este echivalentă

08. ALGEBRA BINARĂ 283

funcţional unei porţi NAND, rezultă o implementare a funcţiei folosind numai porţi NAND.

În această implementare, invertorii (circuitele de complementare) sunt asimilaţi cu circuite NAND cu toate intrările interconectate (scurtcircuitate).

Figura F-08.1 ilustrează, pentru funcţia F din (08.25) această transformare:

Fig. F-8.1

284 08. ALGEBRA BINARĂ

284

b) - Realizarea schemei logice a unei funcţii numai cu operatori NOR se poate face direct, plecând de la schema funcţiei realizată cu operatori AND, OR, NOT în a doua formă canonică, prin complementarea ieşirii fiecărei porţi logice OR, precum şi a tuturor intrărilor porţilor AND conectate la o ieşire OR.

Ţinând cont, conform formei grafice a celei de a doua teoreme a lui De Morgan, că o poartă AND cu toate intrările complementate este echivalentă funcţional unei porţi NOR, rezultă o implementare a funcţiei folosind numai porţi NOR.

În această implementare, invertorii (circuitele de complementare) sunt asimilaţi cu circuite NOR cu toate intrările interconectate (scurtcircuitate).

Figura F-08.2 ilustrează, pentru funcţia G din (08.26) această transformare:

Fig. F-8.2

08. ALGEBRA BINARĂ 285

08.06. ALTE PROPRIETĂŢI ÎN Z2 08.06.01. SEMI-ABSORBŢIE

(08.27) x.AAx

x. = Ax

.Axx

=

Ca aplicaţie a celor de mai sus, se cere să se demonstreze relaţia:

1xnx

...3x2x

1x1nx

...2x1x

1x.nxnx.1nx

...3x.2x2x.1x

=

1x.nxnx.1nx

...3x.2x

2x

1x.nxnx.1nx

...3x.2x

1x:rezultând produs,acest sub de coloanei

restuldefaţa2x.1xprodusuldin 2xşi 1 xdistribuie Se

−−

286 08. ALGEBRA BINARĂ

286

1xnx

...3x2x

1x1nx

...2x1x

:demonstrat de era ce ceea Rezult ă

dreaptadin coloanaîn ,3x2x

3x.2x2x

şi stânga,din coloanaîn ,nx1x

1x.nx1x

:cu începând dreapta,din coloanaîn şi stângadin coloanaîn ţie,semiabsorb de relatiile observ ă Se

=

=

08.06.02. FUNCŢIE BIFORMĂ PĂTRATĂ În binar, se pot defini următoarele tipuri de funcţii, în raport cu o variabilă x, care poate apărea în expresia funcţiei sub o singură formă (directă sau complementată), sau sub ambele forme:

Definiţia D-08.1: Funcţie monoformă în variabila x este cea în care variabila x apare sub o singură formă, directă sau complementată. Definiţia D-08.2: Funcţie biformă în variabila x este cea în care variabila x apare atât sub formă directă, cât şi sub formă complementată

Un aspect de interes în proiectarea logică îl constituie funcţiile biforme pătrate, definite în cele ce urmează:

Definiţia D-08.3: O funcţie biformă F în x se denumeşte „funcţie biformă pătrată în x”, dacă se prezintă sub unul din următoarele aspecte: (08.28)

xB.x.A

F = sau xQ

Px

F =

unde A, B, P, Q sunt expresii logice care depind de

restul variabilelor funcţiei F, deci exceptând pe x.

08. ALGEBRA BINARĂ 287

Din definiţiile de mai sus rezultă următoarele aspecte de interes în optimizarea funcţiilor binare şi în implementarea lor prin circuite logice: (08.29)

xA.x.B

xB

Ax

=

Relaţia (08.29) va fi demonstrată în cele ce urmează. Teorema T-08.1: Orice funcţie binară poate fi exprimată ca funcţie

biformă pătrată.

Demonstraţia teoremei T-08.1: O funcţie F monoformă în x se poate exprime într-unul din următoarele două forme, care, prelucrate ca mai jos, conduc la exprimarea biformă a funcţiei:

(08.30) xB.

x.C

xB.BA

x

xx

B

x.A

Bx.A

F ====

unde

BA

C =

şi A, B, C sunt expresii logice de celelalte variabile ale funcţiei F (cu excepţia lui x, evident)

(08.31) xB

Dx

xB

A.Bx

xB

xB

Ax

xx.B

Ax

BAx

F =====

unde D = A.B şi A, B, D sunt expresii logice de celelalte variabile ale funcţiei F (cu excepţia lui x, evident).

Q.E.D.

Teorema T-08.2: Pentru orice funcţie biformă pătrată este adevărată relaţia:

(08.32) xA

Bx

xB.x.A

=

Demonstraţia teoremei T-08.2: Se arată că din prima parte a relaţiei (08.32) se obţine, prin transformări logice, partea a doua, şi invers. - Astfel, aplicând distributivitatea asupra primei părţi a relaţiei se obţine egalitatea cerută în demonstraţie:

288 08. ALGEBRA BINARĂ

288

(08.33) xA

Bx

xBA

xBA

xA

Bx

xx.BA

xA

Bx

xA

BA

Bx

xA

xx

BA

Bx

xx.A

Bx.A

xB.x.A

======

În ultima parte a demonstraţiei de mai sus, s-a ţinut cont de proprietatea de absorbţie:

Bx

ABx

Bx

= şi de

xA

BxA

xA

=

- Similar, se obţine demonstraţia, plecând de la partea a doua a relaţiei (08.30):

(08.34)

xB.x.A

xB.A.B.A.x

xB.x.A

xx

B.A

xB.x.A

B.AxB.

x.A

xB.B.A

xx.x.A

xA

B

xA

x

xA

Bx

======

În ultima parte a demonstraţiei, s-a ţinut cont de proprietatea de absorbţie: x.A

x.A.Bx.A

= şi de xB..AxB.

xB.=

Q.E.D.

Teorema T-08.3: În cazul general multivalent, relaţia (08.32) nu se verifică, dar în cazul particular y)(BA == , ea este adevărată:

(08.35) xA

Bx

xB.x.A

≠ , pentru A ≠ B

(08.36)

xy

yx

x.yx.y

= , sau

xy

yx

xy.yx.= , pentru )y(BA ==

Demonstraţia teoremei T-08.3: Prima parte a teoremei (relaţia (08.35)) se demonstrează prin

prezentarea unei situaţii în care relaţia (08.32) nu se verifică. Se consideră următoarea ordonare valorică pe axa 0 – (N-1) a

variabilelor x, A şi B (şi se ţine cont că o variabilă şi complementul ei sunt plasate simetric faţă de mijlocul axei):

B A x x A B Atunci, prima parte a relaţiei (08.35) devine egală cu A, în timp ce a

doua parte a relaţiei devine egală cu x , demonstrând astfel relaţia (08.35).

08. ALGEBRA BINARĂ 289

A doua parte a teoremei (relaţia (08.36)) se demonstrează analizând toate ordonările semnificative ale variabilelor x şi y pe axa 0 ------ (N-1) şi verificând în fiecare caz egalitatea celor două părţi ale relaţiei (08.36):

- caz 1: x y y x , rezultat yy = - caz 2: x y y x , rezultat yy = - caz 3: x , y y x, rezultat y = y - caz 4: x , y y x, rezultat y = y Q.E.D.

08.06.03. CONSENS ŞI CONSENS DUAL Din demonstraţiile (08.33) şi (08.34) se pot evidenţia următoarele relaţii:

(08.35)

B.AxB.

x.A

xB.x.A

F ==

(08.36) BA

xA

Bx

xA

Bx

F ==

În relaţia (08.35) termenul B.A, notat prin: (08.37) B.ACNS(x) = este redundant, adică, din punct de vedere logic, strict matematic, valoarea funcţiei F rămâne aceeaşi, cu el, sau fără el. Acest termen este denumit consens al funcţiei în raport cu variabila x. În relaţia (08.36) termenul

BA , notat prin:

(08.38) BA

CNSd(x) =

este redundant, adică, din punct de vedere logic, strict matematic, valoarea funcţiei F rămâne aceeaşi, cu el, sau fără el. Acest termen este denumit consens dual al funcţiei în raport cu variabila x. Rolul consensului direct sau dual are o conotaţie duală:

a) - Simplificarea funcţiei, prin evidenţierea consensurilor directe şi

duale (punând funcţia sub formă biformă pătrată – directă (ca produal de produse), sau duală (ca produs de produale) – şi apoi eliminarea lor din expresia funcţiei. O asemenea abordare în simplificarea funcţiei se recomandă în cazurile în care tranziţiile de durată finită, mai mari ca zero, nu afectează utilizarea circuitului care implementează funcţia. Se vor da detalii în capitolul care tratează probleme de „hazard” (de

290 08. ALGEBRA BINARĂ

290

fapt, de comportare a circuitelor diferită de cea ideală, exprimată prin funcţia logică). b) – Introducerea, în expresia simplificată a funcţiei, a termenilor de consens, acolo unde este necesară acoperirea (eliminarea) unor tranziţii temporare ale ieşirii circuitului, care nu corespund evoluţiei lui ideale, exprimate prin funcţia logică. Şi în acest caz, detalii vor fi prezentate în capitolul despre hazard.

08.06.04. OPERATORUL DE ECHIVALENŢĂ

(funcţia XNOR - „exclusive NOR” – funcţia „ECHIVALENŢĂ”) ŞI OPERATORUL DE NON-ECHIVALENŢĂ (funcţia XOR – „exclusive OR” – funcţia „SAU EXCLUSIV”), CAZURI SPECIALE ALE FUNCŢIEI BIFORME PĂTRATE

Tabelele de valori al funcţiilor XOR şi XNOR, respectiv al operatorilor e şi e , sunt prezentate în tabelul T-08.3:

nr rând ↓

X y XOR(x,y) XNOR(x,y)

0 0 0 0 1 1 0 1 1 0 2 1 0 1 0 3 1 1 0 1

Tabelul Tb-08.3 Rezultă următoarele expresii ale funcţiilor XOR şi XNOR: (08.39) y)(x,e

xy

yx

xy.yx.

y)XOR(x, ===

(08.40) y)e(x,x

yyx

x.yx.y

y)XNOR(x, ===

Se constată, examinând direct expresiile (08.39) şi (08.40) următoarele proprietăţi ale funcţiilor XOR şi XNOR: (08.41:) xx)XNOR(1,XNOR(x,1)x)XOR(0,XOR(x,0) ==== (08.42:) xx)XNOR(0,XNOR(x,0)x)XOR(1,XOR(x,1) ====

08. ALGEBRA BINARĂ 291

Nota N-08.1: Relaţiile (08.41) şi (08.42) indică modul în care se poate realiza un repetor logic şi un invertor, folosind

doar operatori XOR, sau XNOR. Figura F-08.3 ilustrează grafic, folosind simbolurile operatorilor logici binari, proprietăţile evidenţiate de nota N-08.1:

Figura F-8.3 Se prezintă în continuare, ca aplicaţie, implementarea operatorilor XOR şi XNOR cu câte 3 porţi diferite, sau cu câte 4 porţi de acelaşi fel:

yx

y

yx

x

yx

x.y

yx

y

yx

x

y.xy

y.xx

x.yx.y

y)XNOR(x,

x.yy..x.yx.x.yy.x.yx.

x.y.yx

xy

yx

xy.yx.

y)XOR(x,

=====

=====

sau, altfel scris:

⎩⎨⎧

=

⎩⎨⎧

=

y)))NOR(x,NOR(y,y)),NOR(x,NOR(NOR(x,y))NOR(x,y),OR(AND(x,

y)XNOR(x,

y)))NAND(x,NAND(y,y)),NAND(x,x,NAND(NAND(y))NAND(x,y),AND(OR(x,

y)XOR(x,

Din relaţiile de mai sus, rezultă schemele cu 3 porţi, 4 porţi şi varianta clasică cu 5 porţi, pentru circuitele XOR(x,y) şi XNOR (x,y). Schemele sune prezentate în figura F-08.4.

292 08. ALGEBRA BINARĂ

292

Fig. F-08.4 (08.43) y)XOR(x,y),xXOR()yXOR(x, == (08.44) y)XNOR(x,y),xXNOR()yXNOR(x, == (08.45) y)XNOR(x,y),xXOR()yXOR(x, == (08.46) y)XOR(x,y),xXNOR()yXNOR(x, ==

08. ALGEBRA BINARĂ 293

Nota N-08.2: Din relaţiile (08.43) – (08.46) rezultă modalitatea transformării unui operator în altul, sau a

complementării lui (pentru că cei doi operatori sunt complementari, prin definiţie), prin complementarea unei variabile.

Figura F-08.4 ilustrează grafic, folosind simbolurile operatorilor logici binari, proprietăţile evidenţiate în nota N-08.2:

Figura F- 8.5 08.06.05. RELAŢII DE ADIACENŢĂ

Definiţia D-08.4: Doi factori din prima formă canonică a funcţiei (produal de produse), sau doi factori duali din a

doua formă canonică a funcţiei (produs de produale), se numesc adiacenţi, dacă diferă printr-o singură variabilă, care apare sub formă directă într-unul din factori şi sub formă complementată în celălalt factor.

Astfel, în expresia de mai jos a funcţiei F, xA. şi x.A sunt factori adiacenţi, iar

xA

şi xA

sunt factori duali adiacenţi.

Expresia funcţiei F este, sub cele două forme, următoarea:

QxB

xB

PA

xAF == x.

.

În expresia lui F, prin A şi B sunt desemnaţi factori care nu conţin pe x, iar prin P şi Q este desemnat restul, în cayul primei forme şi, respectiv, celei de a doua.

294 08. ALGEBRA BINARĂ

294

Evidenţierea factorilor adiacenţi poate conduce la simplificarea funcţiei, după cum se prezintă în continuare:

(08.47) AAxx

AxAxA

=== 1...

(08.48) BB

xxB

xB

xB

===0.

08.06.06. SINTEZĂ A PRINCIPALELOR TEOREME ALE

ALGEBREI BINARE Enumerarea teoremelor, prezentate în alte capitole, implică operatori din mai multe algebre binare echivalente şi de aceea pot fi considerate toate ca derivând din una şi aceeaşi algebră din grupul de algebre echivalente, oricare ar fi ea. Se vor renumerota pentru cazul binar cu indicativul TB-i, (i=1,2,...). a) – proprietăţi referitoare în principal la operatorii de MINIM şi MAXIM:

min(x,y) = x . y max(x,y) = yx

TB-1: element neutru

(N-1): x . (N-1)=x 0: 0x

= x

TB-2: element absorbant

0: x . 0 = 0 (N-1): 1)(N

x−

= (N-1)

TB-3: idempotenţă

x . x = x xxx=

TB-4: comutativitate

x . y = y . x yx

= xy

08. ALGEBRA BINARĂ 295

TB-5: asociativitate

((x1.x2).x3) = (x1.(x2.x3)) = x1.x2.x3

3x2x1x

3x2x1x

3x2x1x

==

TB-6: distributivitatea produsului distributivitatea produalului faţă de produal faţă de produs

x . zy

= x.zx.y

y.zx

= zx

yx

TB-7: teoremele lui De Morgan

yx

x.y = y.xyx=

TB-8: absorbţia

x . yx

= x xx.yx

=

TB-9: produsul factorilor produalul factorilor complementari complementari

0xx. = 1

xx

=

TB-10: involuţia (dubla complementare)

xx = TB-11: semi-absorbţie

x.AAx

x. = Ax

.Axx

=

296 08. ALGEBRA BINARĂ

296

TB-12: funcţii biforme pătrate (vezi teoremele T-9.1 şi T.9.2)

xA

Bx

xB.x.A

=

TB-13: consens (CNS(x)) şi consens dual (CNSd(x)), (vezi cap. 9.6.3)

B.AxB.

x.A

xB.x.A

F == , unde BA

xA

Bx

xA

Bx

F == , unde

B.ACNS(x) = BA

CNSd(x) =

TB-14: adiacenţă (vezi cap. 9.6.5)

AxAxA

=..

BxB

xB

=

b) – proprietăţi referitoare în principal la operatorii de ECHIVALENŢĂ şi NON-ECHIVALENŢĂ:

),( yxe ),( yxe TB-15: comutativitatea operatorilor de echivalenţă şi non-echivalenţ

x)e(y, y)e(x, = x)(y,ey)(x,e = TB-16: tranzitivitatea operatorilor de echivalenţă şi non-echivalenţă

e(e(x,y),e(x,z)) = z))(x,ey),(x,e(e =

= e(x,z) . e(x,z) = e(y,z) = z)(x,ey)(x,e

= z)(y,e

08. ALGEBRA BINARĂ 297

TB-17: produsul echivalenţelor produalul echivalenţelor complementare: complementare:

0y)(x,ey).e(x, = 1)(Ny)(x,ey)e(x,

−=

TB-18: operatorii de echivalenţă şi non-echivalenţă – funcţii speciale biforme pătrate (vezi cap. 9.6.4)

y)e(x,xy

yx

x.yx.y

y)XNOR(x, ===

y)(x,exy

yx

xy.yx.

y)XOR(x, ===

TB-19: funcţia de repetor logic, prin operatorii de echivalenţă şi non-echivalenţă (vezi cap. 08.6.4)

xXNOR(x,1)e(x,1) ==

xXOR(x,0)(x,0)e == TB-20: funcţia de inversor logic, prin operatorii de echivalenţă şi non-echivalenţă (vezi cap. 08.6.4)

xXNOR(x,0)e(x,0) ==

xXOR(x,1)(x,1)e ==

298 08. ALGEBRA BINARĂ

298

08.07. SIMPLIFICAREA FUNCŢIILOR BINARE

08.07.01. NECESITATEA OPTIMIZĂRII FUNCŢIILOR LOGICE, ÎN CONTEXTUL DENSITĂŢII TOT MAI CRESCUTE A CIRCUITELOR DIGITALE BINARE PE CIRCUIT INTEGRAT.

08.07.01.01. Optimizare şi simplificare În lucrare se foloseşte atât noţiunea de simplificare, cât şi cea de optimizare a funcţiilor digitale. Aceasta se justifică prin faptul că optimizarea nu implică neapărat a folosi o expresie a funcţiei cu un număr minim de componente literale - care desemnează variabilele de intrare le funcţiei, aşa cum apar ele în expresia analitică a funcţiei – ci alegerea expresiei funcţiei, folosind şi alte criterii, cum ar fi de exemplu, evitarea comportărilor neprevăzute în specificarea funcţiei, comportări generate, în implementările fizice ale funcţiei, de trasee de semnale intrare-ieşire având întârzieri diferite, denumite probleme de „hazard”. Trebuie observat însă că orice fel de optimizare are la bază simplificarea funcţiei. 08.07.01.02. Necesitatea simplificării funcţiilor

digitale În contextul posibilităţilor tot mai mari de a incorpora pe un circuit

integrat un număr foarte mare de circuite logice (de porţi logice), care, la prima vedere, ar permite implementarea funcţiilor binare fără a le mai simplifica, se arată pe scurt că problema simplificării şi optimizării este cu atât mai necesară, cel puţin din următoarele considerente: - optimizarea modulelor funcţionale, a funcţiilor repetitive; - optimizarea celulelor de memorare, cu sau fără organizare

structurală modulară; - optimizarea structurilor circuitelor secvenţiale sincrone .i asincrone; - optimizarea funcţiilor care se implementează pe structuri logice

programabile, unde numărul porţilor nu poate fi la dimensiunea stărilor intrării şi unde ieşirile multiple oferite de asemenea structuri impune optimizarea globală a funcţiilor cu mai multe ieşiri;

- optimizarea reprezentării analitice, prin funcţii digitale multivalente, a algoritmilor software, în vederea implementării lor hardware sub formă de automate algoritmice, optimizarea conducând o creştere în plus a performanţelor de viteză de prelucrare a informaţiei, dar şi reducerea puterii cerute de circuitele astfel implementate, aspect care poate căpăta o conotaţie deosebită în cazul unor comprimări (miniaturizări) a echipamentelor, greu de imaginat acum, dar devenind posibilă în cazul unor sisteme cu „software hardificat”.

08. ALGEBRA BINARĂ 299

08.07.02. METODE DE SIMPLIFICARE A FUNCŢIILOR BINARE. PREZENTARE INTRODUCTIVĂ.

Se disting două tipuri de metode de simplificare a funcţiilor binare:

a) – metode analitice:

a.1) - metoda discriminării, prezentată pentru cazul general,

multivalent, dar aplicându-se la fel şi în cazul binar, permiţând optimizarea funcţiilor binare cu o ieşire, sau cu mai multe ieşiri, fiind singura metodă cunoscută pentru optimizarea globală, în binar (dar şi în cazul multivalent), a funcţiilor cu mai multe ieşiri (cazul tipic în implementarea funcţiilor digitale pe matrici logice programabile);

a.2) - metoda Quine-McCluskey, bazată pe proprietatea de

adiacenţă, aplicabilă numai funcţiilor binare cu o singură ieşire;

b) - metode grafice:

- metoda diagramei Karnaugh (sau a diagramei Veitch-

Karnaugh), tot o metodă de adiacenţă - ca şi metoda Quine-McCluskey - şi care permite simplificarea funcţiilor binare care au numai o ieşire, metodă relativ expeditivă, dar aplicabilă, fără dificultăţi, direct, doar unor funcţii având cel mult patru sau cinci variabile, sau cu unele transformări analitice, şi unor funcţii binare cu ceva mai multe variabile (pentru că, dacă numărul variabilelor este mai mare atunci metoda se transformă într-o metodă mixtă grafico-analitică, dificil de aplicat.

Prin urmare, se disting două variante ale metodei diagramei Karnaugh:

b.1 - diagrama Karnaugh simplă, care este o metodă matricială,

ale cărei elemente sunt valorile funcţiei din tabelul de adevăr; b.2) - diagrama Karnaugh analitică, ale cărei elemente matriciale

sunt funcţii parţiale ale funcţiei principale şi care depind de restul variabilelor, care nu intervin în construirea diagramei.

În continuare se vor prezenta metoda analitică Quine –McCluskey, metoda diagramei Karnaugh, în cele două versiuni şi, în final, se va arăta modul de aplicare a metodei discriminării pentru optimizarea globală a funcţiilor binare cu mai multe ieşiri.

300 08. ALGEBRA BINARĂ

300

08.07.03. ADIACENŢA ŞI VECTORI BINARI ADIACENŢI

Metodele cunoscute de simplificare binară implică relaţiile de adiacenţă (vezi cap. 9.6.5), reamintite aici:

a.ax

x.a= şi b

bx

bx

=

Întrucât factorii şi factorii duali comparaţi pentru adiacenţă sunt

reprezentarea analitică a vectorilor implicanţi ai unui tabel de valori, reprezentare rezultată prin punerea funcţiei sub prima sau a doua formă canonică, se deduce că doi factori sau doi factori duali adiacenţi corespund la câte doi vectori care diferă prin valoarea unei singure poziţii, care are într-unul valoarea 0, iar în celălalt, valoarea 1. Asemenea vectori se numesc vectori adiacenţi.

De exemplu, vectorii V1 şi V2 sunt adiacenţi; ei diferă prin penultima variabilă:

V1 = (010111) V2 = (010101) Atunci aceşti vectori pot fi înlocuiţi cu un singur vector V12, care are „-

„ în poziţia penultimei variabile: V12 = (0101-1) În acest fel, funcţia are un termen mai puţin în tabelul de valori şi are

şi o variabilă mai puţin (nespecificat) în termenul rezultat prin compunerea prin adiacenţă.

Pe o asemenea operaţie de simplificare se bazează metoda Quine-

McCluskey, dar şi metoda diagramei Karnaugh.

08.07.04. SIMPLIFICAREA PRIN ADIACENŢĂ A PRIMEI SAU A CELEI DE A DOUA FORME CANONICE A FUNCŢIEI. Principiu

În oricare dintre metodele de simplificare binară, folosind metoda

adiacenţei, se pot obţine variante ale funcţiei simplificate, atât sub prima, cât şi sub a doua formă canonică.

Astfel, când compunerile prin adiacenţă se fac pe rândurile din tabelul de valori pentru care funcţia are valoarea 1 şi, dacă este necesar, valoare nespecificată („ – „), atunci se obţine simplificarea primei forme canonice a funcţiei.

Când aceste compuneri se fac pe rândurile corespunzătoare valorii 0 şi, dacă este necesar, valorii nespecificate („ – „), a funcţiei, atunci se obţine simplificarea celei de a doua forme canonice a funcţiei.

08. ALGEBRA BINARĂ 301

08.07.05. METODA QUINE - McCLUSKEY

08.07.05.01. Prezentarea metodei Metoda Quine-McCluskey este analitică. Algoritmul ei, implementat, conduce la simplificarea numai a funcţiilor

binare cu o singură ieşire, dar este aplicabil, în principiu, oricărui număr de variabile de intrare.

Prin urmare, această metodă nu permite optimizarea globală a funcţiilor binare cu ieşiri multiple. Folosirea ei – ca şi a oricărei alte metode cunoscute pentru simplificarea funcţiilor binare - poate conduce doar la optimizări separate ale funcţiei binare cu ieşiri multiple, considerând-o ca funcţie separată pentru fiecare ieşire în parte.

În continuare, se prezintă succint algoritmul de simplificare prin metoda Quine-McCluskey, algoritm prezentat de obicei pentru a obţine soluţii ale funcţiei sub prima formă canonică. Aşa va fi prezentat şi aici, dar, în final, se indică modul de aplicare a lui şi pentru funcţii sub a doua formă canonică.

Ceea ce este specific acestei metode, în comparaţie cu alte metode, de exemplu în comparaţie cu metoda discriminării, este partea de stabilire a mulţimii vectorilor implicanţi minimi, folosind, în cazul acestei metode, proprietatea de adiacenţă.

A) - Stabilirea vectorilor implicanţi minimi (simplificaţi) 1* - Se listează vectorii implicanţi ai funcţiei

F(x1, x2,..., xn), pentru care F = 1, sau F = „ - „ , într-un tabel împărţit în clase

S00, S1

0, ... , Sn0,

după numărul de valori 1 din vectorul implicant, astfel încât clasa Si0 are i

poziţii cu valoarea 1.

Notă: În metoda discriminării, aplicabilă atât în binar, cât şi în cazul general, multivalent, atât pentru funcţii cu ieşire singulară, cât şi pentru funcţii cu ieşire multiplă, se folosesc doar vectorii implicanţi, pentru care F este specificată .

2* - Clasele care diferă cu un număr de 1-uri mai mare sau egal cu 2, nu pot fi combinate prin adiacenţă.

Astfel, a) - pentru i = 0,1,2,...,n-1 se compară fiecare element din Si

0 cu fiecare element din Si+1

0; b) - acolo unde diferenţa apare prin valoarea unei singure variabile xj

(deci vectorii comparaţi sunt adiacenţi), se creează un nou vector implicant care are „-„ în locul variabilei xj şi acest implicant se pune într-o clasă notată prin Si

1; c) - se repetă operaţia b) pentru toate combinaţiile dintre Si

0 şi Si+10 ;

Se generează astfel clasele

S01

, S11, ... , Sn-1

1

3* - Se reia operaţia de la punctul 2*, pentru clasele

302 08. ALGEBRA BINARĂ

302

S01

, S11, ... , Sn-1

1

Rezultă clasele: S0

2, S1

2, ... , Sn-12

4* - Se reia punctul 2 asupra noilor clase, până când nu mai este posibilă

nici o combinaţie prin adiacenţă. 5* - Tabelul de valori rezultat, constituind mulţimea vectorilor implicanţi

simplificaţi, se ordonează pe vectorii implicanţi din fiecare formă canonică, selectând variantele cele mai simple şi aranjând acest tabel în aceeaşi formă cu cel obţinut la metoda discriminării, astfel încât etapele următoare să fie parcurse la fel pentru ambele metode.

Notă: Dacă se doreşte simplificarea funcţiei sub a doua formă canonică, atunci se aplică punctele 1*-5* din algoritmul

prezentat mai sus, pentru rândurile pentru care funcţia are valoarea 0 şi, dacă este necesar, folosindu-se şi rândurile în care funcţia este nespecificată („ – „).

6* - În continuare se aplică procedeele prezentate în cazul metodei

generale de simplificare prin discriminare, care cuprind: - simplificarea prin acoperire a tabelului care conţine vectorii implicanţi

simplificaţi; - sortarea soluţiilor funcţiei, după prima sau a doua formă canonică: - scrierea expresiei funcţiei, corespunzătoare variantei alese; - trasarea schemei logice a funcţiei.

08.07.05.02. Exemplu de aplicare a metodei Quine-McCluskey.

Etapele aplicării metodei

a) - Tabelul de valori al funcţiei. Se dă funcţia F din tabelul de valori de mai jos şi se

urmăreşte obţinerea funcţiei atât sub prima formă canonică, cât şi sub a doua formă canonică:

Numărul (x1, x2, x3, x4)

x1 x2 x3 x4 F

0 0 0 0 0 1 1 0 0 0 1 - 2 0 0 1 0 1 3 0 0 1 1 0 4 0 1 0 0 1 5 0 1 0 1 1 6 0 1 1 0 - 7 0 1 1 1 1

08. ALGEBRA BINARĂ 303

8 1 0 0 0 - 9 1 0 0 1 1 10 1 0 1 0 0 11 1 0 1 1 1 12 1 1 0 0 0 13 1 1 0 1 - 14 1 1 1 0 - 15 1 1 1 1 0

Tabelul Tb-08.4 b) - Sub-tabele de valori pentru prima şi a doua formă canonică.

Se extrag sub-tabele de valori pentru F=1 şi F= - (cazul primei forme canonice) şi pentru F=0 şi F= - (cazul celei de a doua forme canonice).

Tabelele se pun sub formă de listă de vectori, notând prin vi vectorul corespunzător rândului i şi pentru care funcţia este specificată, şi cu wj vectorul corespunzător rândului j şi pentru care funcţia este nespecificaţă.

Se anexează, totodată, fiecărui vector care are valoarea funcţiei specificată (de tip vi) un vector de acoperire, care are numărul de poziţii egal cu numărul rândurilor cu funcţia specificată, din cadrul sub-tabelului:

o cazul primei forme canonice:

v0 (0000/1)(1- -.- - - -) v2 (0010/1)(-1-.- - - -) v4 (0100/1)(- -1.- - - -) v5 (0101/1)(- - -.1- - -) v7 (0111/1)(- - -.-1- -) v9 (1001/1)(- - -.- -1-) v11 (1011/1)(- - -.- - -1) w1 (0001/-)(- - -.- - - -) w6 (0110/-)(- - -.- - - -) w8 (1000/-)(- - -.- - - -) w13 (1101/-)(- - -.- - - -) w14 (1110/-)(- - -.- - - -)

Tabelul Tb-08.5

o cazul celei de a doua forme canonice: v3 (0011/0)(1- - -) v10 (1010/0)(-1- -) v12 (1100/0)(- -1-)

304 08. ALGEBRA BINARĂ

304

v15 (1111/0)(- - -1) w1 (0001/-)(- - - -) w6 (0110/-)(- - - -) w8 (1000/-)(- - - -) w13 (1101/-)(- - - -) w14 (1110/-)(- - - -) Tabelul Tb-08.6 c) - Ordonarea sub-tabelelor în clase, după numărul de valori 1 ale vectorilor implicanţi.

Se ordonează sub-tabelele Tb-08.5 şi Tb-08.6 în clase 1Si0 (pentru

prima formă canonică) şi 2Si0 (pentru a doua formă canonică), după numărul

de valori 1 din vectorii implicanţi. Indicele i al clasei este egal cu numărul de valori 1 din vectorul

implicant.

Tabelele Tb-08.7 şi Tb-08.8 prezintă o asemenea ordonare a lui Tb-

08.5 şi, corespunzător, a lui Tb-08.6:

o cazul primei forme canonice:

1S00:

v0 (0000/1) : (1--.----) 1S1

0: v2 (0010/1) : (-1-.----) v4 (0100/1) : (--1.----) w1 (0001/-) : (---.----) w8 (1000/-) : (---.----) 1S2

0: v5 (0101/1) : (---.1---) v9 (1001/1) : (---.--1-) w6 (0110/-) : (---.----) 1S3

0: v7 (0111/1) : (---.-1--) v11 (1011/1) : (---.---1) w13 (1101/-) : (---.----) w14 (1110/-) : (---.----)

Tabelul Tb-08.7

08. ALGEBRA BINARĂ 305

o cazul celei de a doua forme canonice:

2S0

0: - nu există nici unu vector implicant în această clasă;

2S10:

w1 (0001/-)(----) w8 (1000/-)(----) 2S2

0: v3 (0011/0)(1---) v10 (1010/0)(-1--) v12 (1100/0)(--1-) w6 (0110/-)(----) 2S3

0: w13 (1101/-) : (----) w14 (1110/-) : (----)

2S4

0: v15 (1111/0)(---1)

Tabelul Tb-08.8

d) - Formarea claselor de rang superior, prin combinarea, prin adiacenţă, a rândurilor.

Se combină rândurile prin adiacenţă, formând clasele

1S0

1, 1S11, 1S2

1 1S0

2, 1S12

1S03,

pentru prima formă canonică, şi 2S0

1, 2S11, 2S2

1, 2S31

2S02, 2S1

2, 2S22

2S03, 2S1

3 2S0

4, pentru a doua formă canonică, şi se retranscriu şi informaţiile din tabelele Tb-08.7 şi Tb-08.8, formându-se astfel întregul tablou al simplificării funcţiei, pentru fiecare dintre cele două forme canonice.:

Se notează prin ak al k-lea vector, obţinut prin comasare, în clasele 1Sm

i (prima formă canonică) şi prin bk al k-lea vector, obţinut prin comasare, în clasele 2Sm

i (a doua formă canonică).

306 08. ALGEBRA BINARĂ

306

În partea dreaptă a fiecărui rând se pun în paranteză vectorii din clasele de rang imediat inferior, care au fost combinaţi prin adiacenţă, în cazul acelui rând. Se recopiază (aşa cum s-a menţionat mai înainte), pentru fiecare formă canonică, în tabele de mai jos şi forma nesimplificată (tabelele Tb-08.7 şi, respectiv, Tb-08.8), formându-se astfel întregul tablou al simplificării funcţiei, pentru fiecare dintre cele două forme canonice.:

o cazul primei forme canonice:

1S00:

a1 (0000/1) (1--.----) (v0) 1S1

0: a2 (0010/1) (-1-.----) (v2) a3 (0100/1) (--1.----) (v4) a4 (0001/-) (---.----) (w1) a5 (1000/-) (---.----) (w8) 1S2

0: a6 (0101/1) (---.1---) (v5) a7 (1001/1) (---.1--) (v9) a8 (0110/-) (---.----) (w6) 1S3

0: a9 (0111/1) (---.--1-) (v7) a10 (1011/1) (---.---1) (v11) a11 (1101/-) (---.----) (w13) a12 (1110/-) (---.----) (w14) _________________________________ 1S0

1: a13 (00-0/1)(11-.----) (a1,a2) a14 (0-00/1)(1-1.----) (a1,a3)

a15 (000-/1)(1--.----) (a1,a4) a16 (-000/1)(1--.----) (a1,a5) 1S1

1: a17 (01-0/1)(--1.----) (a3,a8) a18 (0-01/1)(---.1---) (a4,a6) a19 (010-/1)(--1.1---) (a3,a6) a20 (100-/1)(---.--1-) (a5,a7) a21 (-001/1)(---.--1-) (a4,a7) a22 (0-10/1)(-1-.----) (a2,a8) 1S2

1: a23 (1-01/1)(---.--1-) (a7,a11) a24 (011-/1)(---.-1--) (a8,a9) a25 (01-1/1)(---.11--) (a6,a9) a26 (10-1/1)(---.--11) (a7,a10) a27 (-101/1)(---.1---) (a6,a11)

08. ALGEBRA BINARĂ 307

a28 (-110/-)(---.----) (a8w12) _____________________________ 1S0

2

a29 (0--0/1)(111.----) (a14,a22) a30 (0-0-/1)(1-1.1---) (a15,a19) a31 (-00-/1)(1--.--1-) (a15,a20) a32 (-00-/1)(1--.--1-) (a16,a21)

1S12:

a33 (--01/1)(---.1-1-) (a18,a23) a34 (01--/1)(--1.11--) (a19,a24) a35 (--01/1)(---.1-1-) (a21,a27) ____________________________ Nu mai există nici o combinaţie de adiacenţă. Tabelul Tb-08.9 o cazul celei de a doua forme canonice: 2S0

0: Nu există nici unu vector implicant în această clasă;

2S1

0: b1 (0001/-)(----) (w1) b2 (1000/-)(----) (w8) 2S2

0: b3 (0011/0)(1---) (v3) b4 (1010/0)(-1--) (v10) b5 (1100/0)(--1-) (v12) b6 (0110/-)(----) (w6) 2S3

0: b7 (1101/-) : (----) (w13) b8 (1110/-) : (----) (w14)

2S4

0: b9 (1111/0)(---1) (v15) ___________________________________ 2S0

1: Nu există nici o combinaţie de adiacenţă. 2S1

1: b10 (00-1/0)(1---) (b10,b12) b11 (10-0/0)(-1--) (b11,b13) b12 (1-00/0)(--1-) (b11,b14)

308 08. ALGEBRA BINARĂ

308

2S21:

b13 (1-10/0)(-1--) (b13,b17) b14 (110-/0)(--1-) (b14,b16) b15 (11-0/0)(--1-) (b14,b17) b16 (-110/-)(----) (b15,b17) 2S3

1: b17 (11-1/0)(---1) (b16,b18) b18 (111-/0)(---1) (b17,b18)

_____________________________ 2S0

2: Nu există nici o combinaţie de adiacenţă.

2S1

2: b19 (1—0/0)(-11-) (b12,b13)

b20 (1—0/0)(-11-) (b11,b15) 2S2

2: b21 (11--/0)(--11) (b14,b18) b22 (11--/0)(--11) (b15,b17) _____________________________ Nu mai există noi combinaţii de adiacenţă, de la acest nivel. Tabelul Tb-08.10 e) - Selectarea variantelor cele mai simple pentru vectorii implicanţi

Cele mai simple variante ale vectorilor simplificaţi se obţin din tabelele Tb-08.9 şi Tb-08.10, plecând de jos în sus, de la ultimul rang al combinaţiilor de adiacenţă, urmărind vectorii de acoperire, care precizează căror vectori le este atribuită o anumită formă vectorială simplificată. Astfel, în cazul exemplului, vectorii de acoperire precizează, prin poziţiile 1, următorii vectori implicanţi ai tabelului de valori al funcţiei, după cum urmează: - în cazul primei forme canonice: (v0,v2,v4 . v5,v7,v9,v11) - în cazul celei de a doua forme canonice: (v3,v10,v12,v15) Rezultă tabelele vectorilor simplificaţi:

o cazul primei forme canonice:

v0: a29 (0--0/1)(111.----) a30 (0-0-/1)(1-1.1---) a31= a32 (-00-/1)(1--.--1-)

v2: a29 (0--0/1)(111.----)

v4: a29 (0--0/1)(111.----) a30 (0-0-/1)(1-1.1---)

08. ALGEBRA BINARĂ 309

a34 (01--/1)(--1.11--) v5: a30 (0-0-/1)(1-1.1---)

a33= a35 (--01/1)(---.1-1-) a34 (01--/1)(--1.11--)

v7: a34 (01--/1)(--1.11--)

v9: a31= a32 (-00-/1)(1--.--1-)

a33= a35 (--01/1)(---.1-1-)

v11: a26 (10-1/1)(---.--11) Tabelul Tb-08.11

Din tabelul Tb-08.11 păstrăm doar câte o singură apariţie a unei variante, rezultând astfel:

v0: a29 (0--0/1)(111.----) a30 (0-0-/1)(1-1.1---) a31 (-00-/1)(1--.--1-)

v4: a34 (01--/1)(--1.11--)

v5: a33 (--01/1)(---.1-1-) v11: a26 (10-1/1)(---.--11)

Tabelul Tb-08.12

o cazul celei de a doua forme canonice:

v3: b10 (00-1/0)(1---) v10: b19 (1—0/0)(-11-) v12: b19 (1—0/0)(-11-)

b21 (11--/0)(--11) v15: b21 (11--/0)(--11) Tabelul Tb-08.13 Din tabelul Tb-9.13 păstrăm doar câte o singură apariţie a unei

variante, rezultând astfel: v3: b10 (00-1/0)(1---) v10: b19 (1—0/0)(-11-)

310 08. ALGEBRA BINARĂ

310

v12: b21 (11--/0)(--11) Tabelul Tb-08.14

f) - Selectarea variantelor de soluţii ale funcţiei, după gradul maxim de

acoperire al vectorilor simplificaţi.

o cazul primei forme canonice:

Se foloseşte tabelul Tb-08.12, alegând, pentru început unul dintre vectorii cu cea mai mare acoperire, a29, de exemplu, şi mascând (eliminând) din vectori de acoperire (luându-se şi pe sine în considerare) poziţiile 1 acoperite de el.

Astfel tabelul Tb-08.12 devine: a29 (0--0/1)(---.----) - vector selectat în soluţie:

a30 (0-0-/1)(---.1---) a31 (-00-/1)(---.--1-) a32 (-00-/1)(---.--1-)

a34 (01--/1)(---.11--)

a33 (--01/1)(---.1-1-)

a35 (--01/1)(---.1-1-) a26 (10-1/1)(---.--11)

Tabelul Tb-08.15 Aleg, în continuare, din tabelul Tb-08.15 (exceptând vectorul selectat anterior), un vector cu acoperire maximă, de exemplu, pe a34, şi procedez ca mai înainte, obţinând tabelul Tb-08.16:

a29 (0--0/1)(---.----) - vector selectat în soluţie: a34 (01--/1)(---.----) - vector selectat a30 (0-0-/1)(---.----) a31 (-00-/1)(---.----) a32 (-00-/1)(---.----)

a33 (--01/1)(---.--1-)

a35 (--01/1)(---.--1-) a26 (10-1/1)(---.--11)

Tabelul Tb-08.16

Procedez ca mai înainte şi cu tabelul Tb-08.16, selectând vectorul a26, şi obţin tabelul Tb-08.17:

08. ALGEBRA BINARĂ 311

a29 (0--0/1)(---.----) - vector selectat în soluţie: a34 (01--/1)(---.----) - vector selectat a26 (10-1/1)(---.----) - vector selectat a30 (0-0-/1)(---.----) a31 (-00-/1)(---.----) a32 (-00-/1)(---.----)

a33 (--01/1)(---.----)

a35 (--01/1)(---.----) Tabelul Tb-08.17 Operaţia de stabilire a unei soluţii pentru funcţie s-a terminat, întrucât toţi vectorii de acoperire a tabelului rezultat, în urma ultimei alegeri de vector, au toate poziţiile nule. Prin urmare, grupul de vectori selectaţi constituie o soluţie a funcţiei, în acest caz, pentru prima formă canonică:

a29: (0--0/1) a34: (01--/1) a26: (10-1/1)

Tabelul Tb-08.18 o cazul celei de a doua forme canonice:

Se foloseşte tabelul Tb-08.14, alegând, pentru început unul dintre

vectorii cu cea mai mare acoperire, b19, de exemplu, şi mascând (eliminând) din ceilalţi vectori de acoperire poziţiile 1 acoperite de el.

Astfel tabelul Tb-08.14 devine: b19 (1—0/0)(----) vector selectat b10 (00-1/0)(1---) b21 (11--/0)(---1) Tabelul Tb-08.19

Aleg, în continuare, din tabelul Tb-08.19 (exceptând vectorul selectat anterior), un vector cu acoperire maximă, de exemplu, pe ba310, şi procedez ca mai înainte, obţinând tabelul Tb-08.20:

b19 (1—0/0)(----) vector selectat b10 (00-1/0)(----) vector selectat b21 (11--/0)(---1)

Tabelul Tb-08.20

Procedez ca mai înainte şi cu tabelul Tb-08.20, selectând vectorul

b21, şi obţin tabelul Tb-08.21:

312 08. ALGEBRA BINARĂ

312

b19 (1—0/0)(----) vector selectat b10 (00-1/0)(----) vector selectat b21 (11--/0)(----) vector selectat

Tabelul Tb-08.21

Operaţia de stabilire a unei soluţii pentru funcţie s-a terminat, întrucât toţi vectorii de acoperire a tabelului rezultat, în urma ultimei alegeri de vector, au toate poziţiile nule. Prin urmare, grupul de vectori selectaţi constituie o soluţie a funcţiei, în acest caz, pentru a doua formă canonică:

b19 (1—0/0) b10 (00-1/0) b21 (11--/0)

Tabelul Tb-08.22 g) - Scrierea expresiei analitice a funcţiei.

o cazul primei forme canonice:

Din tabelul Tb-08.18 rezultă expresia funcţiei F(x1, x2, x3, x4) în prima formă canonică, urmând regulile stabilite în capitolele anterioare:

(08.49 )

421

21

41

I

.xx.x.xxx.x

F =

o cazul celei de a doua forme canonice: Din tabelul Tb-08.22 rezultă expresia funcţiei F(x1, x2, x3, x4)

în a doua formă canonică, urmând regulile stabilite în capitolele anterioare:

(08.50) 2

1

4

2

1

4

1II x

x

xxx

xx

F =

h) - Schema logică a funcţiei.

o cazul primei forme canonice:

08. ALGEBRA BINARĂ 313

Fig. F-8.6

o cazul celei de a doua forme canonice:

Fig. F-8.7

314 08. ALGEBRA BINARĂ

314

08.07.05.03. Aplicarea metodei discriminării la problema din cap. 08.7.5.2.

a) - Tabelul de valori al funcţiei În metoda de simplificare prin discriminare, se foloseşte tabelul de

valori al funcţiei, numai pentru poziţiile în care funcţia este specificată. Astfel, tabelul Tb-08.4 devine:

Numărul (x1, x2, x3, x4)

x1 x2 x3 x4 F

0 0 0 0 0 1 2 0 0 1 0 1 3 0 0 1 1 0 4 0 1 0 0 1 5 0 1 0 1 1 7 0 1 1 1 1 9 1 0 0 1 1 10 1 0 1 0 0 11 1 0 1 1 1 12 1 1 0 0 0 15 1 1 1 1 0

Tabelul Tb-08.23 b) - Împărţirea tabelului de valori pe valori ale funcţiei

Tabelul de valori al funcţiei se grupează pe valori ale funcţiei (în cazul prezent, binar, pe valorile 0 şi 1) şi se scrie sub forma unei liste de vectori implicanţi:

v0 (0000/1) v2 (0010/1) v4 (0100/1) v5 (0101/1) v7 (0111/1) v9 (1001/1) v11 (1011/1) v3 (0011/0) v10 (1010/0) v12 (1100/0) v15 (1111/0)

08. ALGEBRA BINARĂ 315

Tabelul Tb-08.24 - Simplificarea şi determinarea variantelor celor mai simple ale

vectorilor implicanţi, folosind metoda discriminării Se discriminează fiecare vector implicant, faţă de vectorii care au valoarea funcţiei diferită de a lui (vezi exemplificarea în detaliu în capitolele anterioare), obţinându-se următoarele rezultate:

v0: (0--0/1) (0-0-/1) (-00-/1)

v2: (0--0/1)

v4: (0--0/1) (0-0-/1) (01--/1)

v5: (0-0-/1)

(--01/1) (01--/1)

v7: (01--/1)

v9: (-00-/1)

(--01/1)

v11: (10-1/1) _______________________

v3: (00-1/0) v10: (1—0/0) v12: (1—0/0)

(11--/0) v15: (11--/0)

Tabelul Tb-08.25

c) - Determinarea, pe valori ale funcţiei, a vectorilor de acoperire corespunzători vectorilor implicanţi simplificaţi

În cazul F=1, componenţa vectorului de acoperire corespunde următorului grup de vectori implicanţi: (v0,v2,v4 . v5,v7,v9,v11), iar pentru F=0, vectorul de acoperire se referă la următorul grup de vectori: (v3,v10,v12,v15) Cu aceste convenţii, tabelele Tb-08.26 şi Tb-08.27 prezintă pentru valoarea 1, respectiv, valoarea 0 a funcţiei, vectorii implicanţi simplificaţi, împreună cu vectorii de acoperire asociaţi lor:

316 08. ALGEBRA BINARĂ

316

v0: v0,1 (0--0/1)(111.----)

v0,2 (0-0-/1)(1-1.1---) v0,3 (-00-/1)(1--.-1--)

v2: v2,1 (0--0/1)(111.----)

v4: v4,1 (0--0/1)(111.----) v4,2 (0-0-/1)(1-1.1---) v4,3 (01--/1)(--1.1-1-)

v5: v5,1 (0-0-/1)(1-1.1---)

v5,2 (--01/1)(---.11--) v5,3 (01--/1)(--1.1-1-)

v7: v7,1 (01--)(--1.11--)

v9: v9,1 (-00-/1)(1--.--1-)

v9,2 (--01/1)(---.1-1-)

v11: v11,1 (10-1/1)(---.-1-1)

Tabelul Tb-08.26

v3: v3,1 (00-1/0)(1---) v10: v10,1 (1—0/0)(-11-) v12: v12,1 (1—0/0)(-11-)

v12,2 (11--/0)(--11) v15: v15,1 (11--/0)(--11)

Tabelul Tb-08.27

d) - Selectarea variantelor de soluţii ale funcţiei, după gradul maxim de acoperire al vectorilor simplificaţi, pe valori ale funcţiei

Această etapă este echivalentă etapei f) din rezolvarea problemei

prin metoda Quine-McCluskey, obţinându-se rezultate similare. Tabelele Tb-08.28 şi Tb-08.29 prezintă soluţiile pentru valoarea 1,

respectiv, valoarea 0 a funcţiei:

v0,1 : (0--0/1) v4,1: (01--/1) v11,1: (10-1/1)

08. ALGEBRA BINARĂ 317

Tabelul Tb-08.28

v12,1 (1—0/0) v3,1 (00-1/0) v12,2 (11--/0)

Tabelul Tb-08.29

e) - Scrierea expresiei analitice a funcţiei, în cele două forme canonice

(etapă echivalentă celei notată prin g) în cazul metodei Quine-McCluskey)

În conformitate cu regulile stabilite pentru determinarea expresiei funcţiei sub prima sau a doua formă canonică, rezultă, în cazul binar, pentru prima formă canonică se foloseşte grupa de vectori simplificaţi corespunzători valorii 1 a funcţiei, neluându-se în considerare valoarea funcţiei (pentru că, în binar 1 = N-1):

v0,1* : (0--0/-) v4,1*: (01--/-) v11,1*: (10-1/-)

Tabelul Tb-08.30

iar pentru a doua formă canonică se foloseşte grupa de vectori simplificaţi corespunzători valorii 0 a funcţiei, neluându-se în considerare valoarea funcţiei:

v12,1* (1—0/-) v3,1* (00-1/-) v12,2* (11--/-)

Tabelul Tb-08.31 Astfel, rezultă expresiile funcţiei:

o cazul primei forme canonice:

Din tabelul Tb-08.30 rezultă expresia funcţiei F(x1, x2, x3, x4) în prima formă canonică, urmând regulile stabilite în capitolele anterioare:

(08.51) = (08.49)

421

21

41

I

.xx.x.xxx.x

F =

318 08. ALGEBRA BINARĂ

318

o cazul celei de a doua forme canonice: Din tabelul Tb-08.31 rezultă expresia funcţiei F(x1, x2, x3, x4)

în a doua formă canonică, urmând regulile stabilite în capitolele anterioare:

(08.52) = (08.50) 2

1

4

2

1

4

1II x

x

xxx

xx

F =

g) - Schema logică a funcţiei.

(etapă echivalentă celei notată prin h) în cazul metodei Quine-McCluskey)

o cazul primei forme canonice:

Schema logică a funcţiei este aceeaşi cu cea din fig. F-08.6.

o cazul celei de a doua forme canonice:

Schema logică a funcţiei este aceeaşi cu cea din fig. F-08.7.

08.07.06. METODĂ GRAFICĂ DE SIMPLIFICARE PRIN

ADIACENŢĂ A FUNCŢIILOR BINARE CU O SINGURĂ IEŞIRE Diagrama KARNAUGH.

Metoda de simplificare folosind diagrama Karnaugh se aplică numai funcţiilor binare cu o singură ieşire şi are două variante:

- metoda grafică propriu-zisă, caracterizată prin faptul că numărul de variabile ale funcţiei care se simplifică este egal cu numărul de variabile care definesc diagrama folosită;

- metoda grafo-analitică, în cazul căreia numărul de variabile al funcţiei este mai mare decât numărul de variabile care definesc diagrama.

08. ALGEBRA BINARĂ 319

08.07.06.01. Metoda Karnaugh grafică O funcţie binară este în mod obişnuit reprezentată printr-o

corespondenţă între combinaţiile de valori ale variabilelor de intrare şi valorile funcţiei corespunzătoare acestor combinaţii.

O asemenea corespondenţă poate fi dată printr-un tabel, numit, în general, „tabel de valori”, sau „ tabel de adevăr”, în cazul binar.

Tabelul de valori este o reprezentare liniară de tipul „valoarea intrării – valoarea ieşirii (funcţiei)”.

Corespondenţa intrare-ieşire mai poate fi reprezentată şi bidimensional (matricial), sau, în principiu, în trei sau mai multe dimensiuni, printr-un hiper-cub, sau cub multidimensional..

Coordonatele elementului matricii sau hiper-cubului sunt date de combinaţia valorilor intrării, dar într-un asemenea caz intrările sunt partiţionate în două (cazul matricial), în trei sau mai multe părţi, combinaţiile de valori ale unui grup reprezentând una dintre coordonatele elementului matricii sau cubului, iar acest element reprezintă valoarea funcţiei.

Un asemenea mod constituie de fapt o reprezentare împachetată în mai multe dimensiuni a tabelului (liniar) de valori al funcţiei.

Diagrama Karnaugh este reprezentarea matricială,

bidimensională a tabelului de adevăr, având specifică ordonarea combinaţiilor de valori ale intrărilor – atât pe orizontală, cât şi pe verticală – astfel încât poziţiile alăturate să difere doar prin valoarea unei singure variabile, cu alte cuvinte să fie „adiacente”, adică să se constituie în vectori adiacenţi, conform definiţiilor date mai înainte. Într-o diagramă Karnaugh, şi combinaţiile capetelor unei linii sau coloane sunt adiacente. Poziţionarea adiacentă a coordonatelor diagramei Karnaugh permite ca pătrate din interiorul diagramei, având aceeaşi valoare a funcţiei şi adiacente, fie pe verticală, fie pe orizontală, să fie comasate într-o singură zonă, caracterizată de coordonate verticale şi orizontale (o grupare de combinaţii comună rândurilor şi una comună coloanelor care definesc zona), din care lipsesc variabilele care au produs adiacenţa. Apare, la fel ca la adiacenţa analitică a rândurilor din tabelul de valori, compunerea mai multor termeni într-unul singur, prin eliminarea (prin simplificarea prin adiacenţă) a variabilelor care separă, prin valoarea lor, zonele adiacente. Dat fiind că adiacenţa este produsă de variabile binare, atunci, atât pe orizontală, cât şi pe verticală, numărul de pătrate ale zonei trebuie să fie puteri ale lui 2. Dacă grupările adiacente considerate în simplificare au valori „1” şi „ – „ ale funcţiei, atunci funcţia se scrie sub prima formă canonică. Dacă grupările considerate în simplificare au valori „0” sau „ – „ ale funcţiei, atunci funcţia se scrie sub a doua formă canonică. Exemplu:

320 08. ALGEBRA BINARĂ

320

Fig. F- 8.8

În exemplu (fig. F-8.8), termenul selectat (încercuit) pentru prima

formă canonică a funcţiei are expresia x2.x4, pentru că variabilele x1 şi x3 sunt cele cu valori diferite. Într-o diagramă Karnaugh (de exemplu, considerăm prima formă canonică) fiecare grupare adiacentă de „1” şi „ – „ constituie un factor în produsul dual al funcţiei. Pentru obţinerea integrală a expresiei funcţiei, zonele adiacente trebuie să cuprindă toate valorile „1” (în cazul primei forme canonice) din matrice. Pot rezulta dintr-o diagramă, în funcţie de selectare a zonelor, mai multe expresii echivalente ale funcţiei, dar putând avea complexităţi diferite sau echivalente. Similar se procedează şi în cazul celei de a doua forme canonice, în acest caz selectându-se în grupări adiacente valorile „0” şi, unde este cazul, valori nespecificate („ – „). Figura F-08.9 prezintă, încercuită, o zonă tipică pentru a doua formă canonică, care produce, ca factor în produsul funcţiei,

produsul dual: 4

2

xx

.

08. ALGEBRA BINARĂ 321

Fig. F-8.9

Nota N-08.3: Valorile nespecificate ale funcţiei („ – „) se iau în considerare, doar pentru completarea unei zone

adiacente. Nu trebuie create zone adiacente doar pentru a cuprinde şi aceste poziţii nespecificate.

Nota N-08.4: Zonele adiacente se pot întrepătrunde, pentru că

valoarea funcţiei nu se schimbă, pentru că atunci se repetă unii factori în produal, sau unii factori duali în produs, aspect care nu modifică valoarea funcţiei.

Nota N-08.5: Cu cât zonele adiacente au o suprafaţă mai mare, cu

atât expresia termenului rezultat este mai simplă, pentru se elimină, prin adiacenţă, mai multe variabile.

Nota N-08.6: Din motive de compactare a reprezentării, se

urmăreşte ca diagrama să fie cât mai pătrată. Cu alte cuvinte, cele n variabile ale funcţiei se împart în

două grupe: ⎥⎦⎤

⎢⎣⎡2n

şi (n- ⎥⎦⎤

⎢⎣⎡2n

), unde ⎥⎦⎤

⎢⎣⎡2n

este

partea întreagă a lui 2n

.

Nota N-08.7: Se pot imagina reprezentări tip diagramă Karnaugh

cu mai mult de patru variabile ( de exemplu, o diagramă cu cinci variabile poate fi alcătuită din două diagrame de patru variabile, iar una de şase variabile poate fi alcătuită din două diagrame de cinci variabile ş.a.m.d.), dar cel mai curent şi comod mod de

322 08. ALGEBRA BINARĂ

322

operare cu ele se obţine când aceste diagrame au cel mult patru variabile.

Reprezentarea unor funcţii cu mai mult de patru variabile poate fi făcută prin diagrame Karnaugh care au cel mult patru variabile, dar aceste diagrame au elementele constituite din funcţii de restul variabilelor care rămân prin excluderea variabilelor care sunt folosite pentru construirea diagramei.

În continuare se dau exemple de construire a diagramelor Karnaugh

pentru funcţii de 1, 2, 3 şi 4 variabile.

08.07.06.01-a. Diagramă Karnaugh de o variabilă. Exemplul Ex-08.1: Se consideră funcţia de o variabilă f(x), reprezentată astfel: a) – tabelul de valori al funcţiei:

nr. Stare

x f1(x)

0 0 1 1 1 0

Tabelul Tb-08.32 b) - diagrama Karnaugh care reprezintă funcţia:

Fig. F-8.10

În diagramă, valoarea variabilei este coordonata elementului matricii, iar valoarea funcţiei constituie elementul matricii.

c) – determinarea valorii funcţiei: În diagramă se încercuieşte valoarea 1, pentru prima formă canonică,

sau valoarea 0, pentru a doua formă canonică.

08. ALGEBRA BINARĂ 323

În primul caz, funcţia este dată de combinaţia de valori ale variabilelor care definesc zonele de adiacenţă cu valori 1, respectând regula de construire a primei forme canonice, adică, acolo unde variabilele au valoarea 1, ele apar sub formă directă în produsele expresiei funcţiei, iar unde au valoarea 0, apar sub formă complementată.

În cazul celei de a doua forme canonice, variabilele din combinaţiile care definesc zonele de adiacenţă cu valori 0, apar sub formă directă in produalele funcţiei, dacă au valoarea 0 şi acolo unde au valoarea 1, apar sub formă complementată.

În exemplul de mai sus, într-un caz sau altul expresia funcţiei este: (08.53) f1(x) = x

08.07.06.p1-b. Diagramă Karnaugh de două variabile.

Exemplul Ex-08.2: a) – tabelul de valori al funcţiei:

nr binar(xy)

x y f2(x,y)

0 0 0 0 1 01 1 2 10 0 3 11 1

Tabelul Tb-08.33 b) – diagrama Karnaugh pentru funcţia f2(x,y):

Fig. F-8.11 a şi b

324 08. ALGEBRA BINARĂ

324

Nota N-08.8: În diagramă, în colţul fiecărui careu este scris numărul zecimal corespunzător numărului binar format din combinaţia de valori binare ale variabilelor

din tabelul de valori, care identifică careul în diagramă, astfel încât se pot înscrie direct în careuri valorile funcţiei (făcând abstracţie de combinaţia binară), prin referire la aceste numere, care apar şi în stânga tabelului de valori.

c) – determinarea valorii funcţiei: Pentru prima formă canonică, se selectează grupul adiacent format

din valori „1” ale funcţiei (partea a) a figurii), rezultând: (08.54) f2(x,y) = y Acelaşi rezultat se obţine, dacă se consideră grupa de zerouri (partea

b) a figurii), pentru a doua formă canonică. Exemplul Ex-08.3: a) – tabelul de valori al funcţiei:

nr binar (xy)

x y g2(x,y)

0 0 0 0 1 01 1 2 10 - 3 11 0

Tabelul Tb-08.34 b) – diagrama Karnaugh pentru funcţia g2(x,y):

Fig. F-8.12 a şi b

c) – determinarea valorii funcţiei:

08. ALGEBRA BINARĂ 325

Pentru prima formă canonică (fig. F-08.11 a) se obţine valoarea funcţiei:

(08.55) g2(x,y) = .yx Aceeaşi valoare se obţine şi pentru a doua formă canonică, folosind

diagrama din fig. F-8.12 b.

08.07.06.01-c. Diagramă Karnaugh de trei variabile Exemplul Ex-08.4: Se dă funcţia de trei variabile f3(x,y,z): a) - tabelul de valori al funcţiei:

nr binar(xyz)

xyz f3

0 000 1 1 001 0 2 010 1 3 010 1 4 100 1 5 101 0 6 110 - 7 111 0

Tabelul Tb-08.35

b) - diagrama Karnaugh pentru funcţia g2(x,y):

Fig. F-8.13 a, b şi c

c) - determinarea valorii funcţiei:

Din fig. F-08.13 a rezultă prima formă canonică a funcţiei:

326 08. ALGEBRA BINARĂ

326

(08.56) f3,I = .yx

z

A doua formă canonică a funcţiei rezultă din fig. F-08.13 b:

(08.57) f3,II = zx

zy

Figura F-8.13 c reprezintă pe o aceeaşi diagramă zonele selectate,

atât pentru prima formă canonică, cât şi pentru a doua formă canonică. Nota N-08.9: Într-o diagramă Karnaugh, laturile exterioare opuse, precum şi colţurile de pe o aceeaşi linie sau de pe o aceeaşi coloană sunt adiacente, prin modul de reprezentare al coordonatelor şi vor fi considerate ca atare atunci când este construită o zonă de adiacenţă.

Figura F-8.13 a ilustrează parţial acest aspect. 08.07.06.01-d. Diagramă Karnaugh de patru variabile

Exemplul Ex-08.5: Se dă funcţia de trei variabile f4(x1,x2,x3,x4): a) - tabelul de valori al funcţiei:

nr binar (x1,x2,x3,x4)

x1x2x3x4 f4

0 0000 1 1 0001 - 2 0010 1 3 0011 0 4 0100 0 5 0101 1 6 0110 0 7 0111 1 8 1000 - 9 1001 0 10 1010 1 11 1011 0 12 1100 1 13 1101 1 14 1110 0 15 1111 0

08. ALGEBRA BINARĂ 327

Tabelul Tb-08.36 b) - diagrama Karnaugh pentru funcţia f4(x1,x2,x3,x4):

Fig. F-8.14 a, b şi c

328 08. ALGEBRA BINARĂ

328

d) - determinarea valorii funcţiei:

Din fig. F-08.14 a rezultă prima formă canonică a funcţiei:

(08.58) f4,I =

421

321

42

.x.xxx..xx

x.x

A doua formă canonică a funcţiei rezultă din fig. F-08.14 b:

(08.59) f4,II =

3

2

1

4

2

1

4

2

xxx

xxx

xx

Figura F-8.14 c reprezintă pe o aceeaşi diagramă zonele selectate,

atât pentru prima formă canonică, cât şi pentru a doua formă canonică. Nota N-08.10: Modul de completare a careurilor unei diagrame Karnaugh:

Figura -08.15 prezintă, pentru o diagramă Karnaugh de patru variabile modul de numerotare a careurilor, mod rezultat din aranjarea coordonatelor matricii:

- se pleacă din colţul din stânga sus şi se merge spre colţul din dreapta jos, după cum indică săgeţile, şi anume: rândurile 1, 2, apoi rândurile 3, 4, iar în fiecare rând coloanele 1, 2 şi apoi coloanele 3 şi 4.

08. ALGEBRA BINARĂ 329

Fig. F-8.15

- pentru a exista o corespondenţă perfectă între tabelul de valori şi diagrama Karnaugh, variabilele se completează în colţul din stânga sus, începând de jos spre dreapta şi terminând sus de la stânga la dreapta, aşa cum este arătat prin săgeţi în fig. F-8.16.

Fig. F-8.16

08.07.06.02. Metoda Karnaugh grafo-analitică

(simplificare, folosind o diagramă Karnaugh cu mai puţine variabile decât funcţia)

Dacă funcţia F are mai multe variabile decât diagrama Karnaugh în care este reprezentată, de exemplu, dacă funcţia are n variabile, iar diagrama este constituită din m variabile, unde

n = m + k, atunci fiecare careu al diagramei va fi o funcţie fp, specifică acestui careu, depinzând de restul de k variabile care nu intervin în construirea diagramei Karnaugh. Această funcţie rezultă din tabelul general de valori al funcţiei F, din valorile lui F, corespunzătoare combinaţiilor de valori ale celor k variabile, pentru fiecare careu în parte (adică pentru fiecare combinaţie a celor m variabile care definesc diagrama). Dacă, de exemplu,

x1,x2,...,xm

sunt variabilele care definesc diagrama Karnaugh, iar x1,x2,...,xn sunt variabilele funcţiei F şi dacă se notează prin

330 08. ALGEBRA BINARĂ

330

p ∈ {0,1,...,2m-1} combinaţiile de valori ale celor m variabile care definesc diagrama, atunci funcţiile specifice fp depind de variabilele xm+1,xm+2,...,xn Funcţiile fp pot avea următoarele aspecte: a) – 0, 1 (constante)

b) - „ – „ (funcţia F este nespecificată) c) – fp(xm+1,xm+2,...,xn) Calculul fiecărei funcţii fp se face folosind un subtabel de valori,

specific combinaţiei p a variabilelor x1,x2,...,xm, având xm+1,xm+2,...,xn ca variabile în capul tabelului şi ca valori pe cele ale funcţiei F, corespunzătoare combinaţiilor x1,x2,...,xn.

Prin urmare, o diagramă Karnaugh, aplicată unei funcţii F cu un număr mai mare de variabile decât cel care defineşte diagrama poate, cuprinde următoarele situaţii, ilustrate în figurile de mai jos, care sunt extrase de diagramă:

Fig. F-8.17 Figura F-08.17 arată cum pot fi identificaţi factorii pentru prima

formă canonică, rezultând următoarea expresie parţială a funcţiei:

(08.60)

....fm

mm...

F

p3

2

1

=

08. ALGEBRA BINARĂ 331

Pentru a doua formă canonică, evaluarea produselor duale se face

ca în fig. F-08.18, rezultând expresia parţială a funcţiei din (08.61):

Fig. F-8.18

(08.61) ...fM

MM...Fp

321=

Se desprind următoarele reguli de construire a funcţiei F, după asemenea diagrame: a) - se optimizează funcţia, prin adiacenţele din diagramă, considerând toate valorile „1”, ţinând cont şi de poziţiile „ – „ (în cazul primei forme canonice), sau toate valorile „0”, ţinând cont şi de „ – „ ( în cazul celei de a doua forme canonice), fără să se ţină cont de careurile cu valorile fp; b) - se cuprind separat şi valorile fp, în arii de adiacenţă care pot include şi valori „1” şi „ – „, în cazul primei forme canonice, sau valori „0” şi „ – „, în cazul celei de a doua forme canonice. Raţiunea regulilor a) şi b) este dată de faptul că fp poate lua atât valoarea 0, cât şi 1, în funcţie de propriile variabile şi de aceea aceste careuri nu pot fi luate în considerare în cazul a), unde se optimizează arii cu valori constante (fie „0”, fie „1”). Totodată, în cazul b), optimizarea lui fp poate cuprinde şi zone „1” şi „ – „ ( pentru prima formă canonică), sau zone „0” şi „ – „ (pentru a doua formă canonică), pentru că atunci se consideră cazul în care fp = 1 ( pentru prima formă canonică), sau fp = 0 (pentru a doua formă canonică), situaţii care pot îngloba şi careuri cu valoarea 1 sau „ – „ (pentru prima formă canonică), sau careuri cu valoarea 0 sau „ – „ (pentru a doua formă canonică), în vederea unei simplificări mai ample, prin construirea unor arii de adiacenţă mai mari.

332 08. ALGEBRA BINARĂ

332

Exemplul Ex-08.6: Se dă funcţia F de variabile x1,x2,x3,x4 din tabelul Tb-08.37 şi se urmăreşte implementarea ei pe o diagramă Karnaugh de două variabile, care, în exemplu, sunt alese x1 şi x2.

nr binar (x1,x2,x3,x4)

x1x2x3x4 F

0 0000 1 1 0001 - 2 0010 1 3 0011 0 4 0100 1 5 0101 1 6 0110 - 7 0111 1 8 1000 - 9 1001 1 10 1010 0 11 1011 1 12 1100 0 13 1101 - 14 1110 - 15 1111 0

Tabelul Tb-08.37

Se structurează tabelul de valori, astfel încât să fie puse în evidenţă atât grupările de variabile x1,x2 care definesc diagrama Karnaugh, cât şi funcţiile fp(x3,x4), specifice fiecărei combinaţii de valori a variabilelor x1,x2, sau, altfel spus, specifice fiecărui careu al diagramei Karnaugh. Aceste funcţii poartă ca indice numărul careului căruia îi aparţin: f0, pentru combinaţia x1x2 = 00, f1, pentru combinaţia x1x2 = 01, f2, pentru combinaţia x1x2 = 10, f3, pentru combinaţia x1x2 = 11. Tabelul astfel aranjat este prezentat în Tb-08.38:

nr binar (x1,x2,x3,x4)

x1x2 x3x4 F(x1,x2,x3,x4)

f00(x3x4) 0 00 00 1 1 01 - 2 10 1 3 11 0 f01(x3x4) 4 01 00 1 5 01 1 6 10 - 7 11 1 f10(x3x4) 8 10 00 -

08. ALGEBRA BINARĂ 333

9 01 1 10 10 0 11 11 1 f11(x3x4) 12 11 00 0 13 01 - 14 10 - 15 11 0

Tabelul Tb-08.38

Tabelul Tb-08.38 este structurat pe subtabele de valori care definesc funcţiile fp. Pe baza acestor tabele se deduc funcţiile f0, f1, f2, f3, folosind diagramele Karnaugh de variabile x3 şi x4 din figura F-08.19 – a, b, c, d:

Fig. F-8.19 a, b, c, d Din aceste diagrame rezultă următoarele valori pentru aceste funcţii:

(08.62)

0fxf1fxf

3

42

1

40

====

Cu aceste valori, diagrama Karnaugh a funcţiei F, diagramă construită pe baza variabilelor x1 şi x2, se prezintă, în principiu ca în figura F-08.20-a şi detaliat, înlocuind valorile funcţiilor f0, f1, f2, f3, ca în figura F-08.20-

334 08. ALGEBRA BINARĂ

334

b, pentru stabilirea funcţiei sub prima formă canonică şi ca în figura F-08.20-c, pentru a doua formă canonică a funcţiei.

Fig. F-8.20 a, b, c Expresiile analitice ale funcţiei F, în cazul primei şi celei de a doua forme canonice sunt:

(08.63)

421

41

21

I

.xx.xx.x

.xxF = şi

4

2

1

4

1

2

1II

xxx

xx

xx

F =

Verificăm rezultatul, folosind pentru stabilirea expresiei funcţiei F, o diagramă Karnaugh de patru variabile: figura F-9.21-a, pentru prima formă canonică, şi figura F-08.21-b, pentru a doua formă canonică. Se obţin, în acest caz, aceleaşi expresii pentru FI şi FII.

08. ALGEBRA BINARĂ 335

Fig. F-08.21 a, b

Nota N-08.11: Exemplul considerat a fost dat pentru o mai uşoară prezentare a metodei şi pentru verificarea ei. Trebuie însă remarcat că metoda are rost să fie aplicată pentru funcţii cu mai mult de patru variabile, pentru că până la patru variabile, inclusiv, este mai eficient să se folosească direct o diagramă având

acelaşi număr de variabile ca şi funcţia. Asta, pe de o parte. Pe de altă parte, se atrage atenţia că nu întotdeauna metoda Karnaugh grafo-analitică garantează obţinerea optimului în simplificare, pentru că simplificările se fac în două etape, fiecare dintre ele putând produce mai multe variante şi, întrucât prima etapă nu ţine cont de rezultatul global, este posibil ca o formă mai simplă a unei funcţii fp să producă o versiune mai complexă a funcţiei F, decât dacă s-ar folosi o formă mai complexă a lui fp.

336 08. ALGEBRA BINARĂ

336

În concluzie, pentru funcţii cu multe variabile (chiar de la cinci variabile, în sus), se recomandă metodele analitice: Quine-McCluskey, pentru cazul binar, sau metoda discriminării, pentru cazul binar sau multivalent.

08.07.07. ALTE METODE ANALITICE DE MINIMIZARE

În prezent, în afară de metoda Quine-McCluskey, sunt folosite şi alte

metode analitice de minimizare, dintre cele academice remarcându-se metoda ESPRESSO, cu variantele ESPRESSO, ESPRESSO II, ESPRESSO MV, metodă care reprezintă o extensie şi modernizare a metodei MINI.

Atât metoda MINI, cât şi ESPRESSO au fost dezvoltate la University of California – Berkeley, S.U.A.

Metoda ESPRESSO – oricare dintre variantele ei - se constituie, în principal, într-o metodă euristică, dar oferind şi soluţii exacte de minimizare. Se aplică, în esenţă, pentru minimizarea funcţiilor binare cu una sau mai multe ieşiri.

O extensie a metodei ESPRESSO, denumită ESPRESSO MV, poate fi folosită şi pentru funcţii cu variabile de intrare binare şi multivalente, ieşirea putând fi binară - simplă sau multiplă - şi/sau multivalentă simplă.

Tratarea multivalentă se reduce tot la o minimizare binară, expandând variabilele multivalente în vectori binari, care codifică fiecare valoare multivalentă din ZN printr-un vector binar cu N componente, cu o singură poziţie 1, valoarea fiind identificată de această poziţie.

Un asemenea mod de tratare este impus de principiul minimizării – în esenţă binară şi orientată pe minimizarea separată a fiecărei ieşiri binare – şi care implică, pentru fiecare ieşire binară, folosirea în minimizare a mulţimii ON a rândurilor din tabelul de valori care au ieşirea 1, împreună cu mulţimea DC (don-t care) a rândurilor care au ieşirea nespecificată, sau mulţimea DC, împreună cu mulţimea OFF a rândurilor care au ieşirea egală cu 0.

Într-un asemenea mod de tratare, codificarea 1 din N permite reconstituirea directă, după minimizare, a valorii minimizate.

Un asemenea mod de tratare nu permite, de fapt, o minimizare pur

multivalentă – variabilele multivalente de intrare sau de ieşire fiind codificate binar tip 1 din N. Aceasta conduce la o expandare deosebită a tabelului de valori, prin creşterea substanţială a numărului de variabile, iar o tratare similară a unor funcţii multivalente cu intrări şi ieşiri multiple simple sau vectoriale – situaţie care poate să apară curent în optimizarea sistemelor decizionale hardware sau software (vezi detalii în capitolul 23) - este practic de neconceput.

Limitarea este dată de principiul minimizării….

09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL) 337

09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP „CANAL”)

09.01. DEFINIŢII, SIMBOLURI, CONVENŢII Un sistem cu logică de transmisie, sau cu logică tip „canal” (în

engleză este folosit termenul „steering logic”) conţine, nu neapărat în exclusivitate, elemente tip canal, sau porţi canal sau de transmisie.

Un element tip canal sau poartă de transmisie reprezintă un canal

informaţional unidirecţional sau bidirecţional care este deschis sau blocat printr-o comandă logică binară de tip ON / OFF.

Informaţia poate fi codificată digital sau analogic, în funcţie de tipul porţii.

Figura F-09.1 prezintă simbolurile pentru porţi canal unidirecţionale şi

bidirecţionale.

Fig. F-09.1 Simboluri pentru porţi canal unidirecţionale şi bidirecţionale

Pentru un canal unidirecţional, sau pentru folosirea lui

unidirecţională, indiferent de tipul canalului, funcţia intrare-ieşire se simbolizează astfel, ţinând cont şi de intrarea c de comandă a canalului:

(09.1) out = in*c iar, pentru un canal bidirecţional:

(09.2) out = in**c

338 09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL) 09.02. CÂTEVA TIPURI DE PORŢI CANAL

În practica realizării sistemelor logice, decizionale, se pot evidenţia, fără a închide lista, următoarele tipuri de elemente tip canal:

a – releu, tip normal întrerupt (deconectat), sau normal conectat; b – tranzistori MOS, tip canal n sau canal p;

c – poartă CMOS de transmisie (transmission gate); d – porţile „tri-state”; e – elemente tip canal neelectrice, cu comandă, nu neapărat electrică,

de tip on / off a canalului. În figura F-09.2 sunt prezentate simboluri grafice pentru relee,

tranzistori MOS şi porţi tri-state.

Fig. F-9.2

09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL) 339

Figura F-09.3 prezintă structura unei porţi de transmisie CMOS şi

simbolul ei grafic. Conectarea în paralel a unui tranzistor canal p cu un tranzistor canal n conduce la micşorarea şi uniformizarea rezistenţei în conducţie a canalului.

Fig. F_9.3 Poartă de transmisie CMOS şi simbolul ei grafic

340 09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL) 09.03. LOGICĂ DE TRANSMISIE CU PORŢI

CANAL

Implementarea unui canal informaţional poate fi făcută: a – folosind o poartă canal comandată de o funcţie logică binară f; b - folosind o reţea logică de porţi canal, comandate de variabile binare, reţea care asigură atât implementarea canalului de transmisie, cât şi logica de comandă (funcţia f, având ca variabile comenzile porţilor canal).

Figura F-09.4 prezintă simbolic aceste două moduri de realizare a

unui canal informaţional: - cu relee, funcţia f notându-se fr; - cu tranzistori MOS canal p, funcţia f notându-se cu fp; - cu tranzistori MOS canal n, funcţia f notându-se cu fn; - cu porţi de transmisie CMOS (transmission gates), funcţia f

notându-se cu fTG.

Fig. F-09.4 Tipuri de implementare a unui canal informaţional

09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL) 341

Figurile F-09.5 – F-09.7 arată cum pot fi implementate funcţiile AND,

OR şi INVERTOR cu relee, cu tranzistori MOS şi cu porţi de transmisie CMOS.

Fig. F-09.5 Funcţia f(x, y) = AND(x, y) = x·y

342 09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL)

Fig. F-09.6 Funcţia ( ) ( )yx

yx,ORy x,f ==

09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL) 343

Fig. F-09.7 Funcţia ( ) xxf = Folosind reţele logice structurate din porţi canal, se pot implementa

funcţii binare, după modelul din fig. F-09.8.

344 09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL)

Fig. F_09.8 Implementarea funcţiilor binare f şi f în logica tip canal

09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL) 345

09.04. LOGICĂ BINARĂ ÎN TEHNOLOGIE CMOS

În ceea ce priveşte implementarea funcţiilor binare cu tranzistori MOS de ambele polarităţi, în tehnologia CMOS, se foloseşte, din raţiuni tehnologice, structura din fig. F-09.9, în care etajul canal superior este alcătuit din tranzistori canal n, iar canalul inferior din tranzistori canal p.

Fig. F_09.9 Implementarea funcţiilor binare în logica CMOS Implementarea unui invertor CMOS se face, în conformitate cu

soluţia din fig. F-09.9, ca în fig. F-09.10.

Fig. F_09.10 Funcţia INVERTOR în tehnologia CMOS Reţelele canal fp şi nf se pot organiza optim, dacă intrările porţilor tip

p şi a celor de tip n au ca intrări numai variabile necomplementate, ceea ce implică, cunoscând funcţiile celor două tipuri de canale - prezentate în fig. F-09.2 – şi faptul că funcţia f se realizează numai cu porţi p, iar funcţia f numai cu porţi n, ca expresia lui f să conţină numai variabile complementate, iar funcţia f să conţină numai variabile necomplementate, pentru că, de

346 09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL) exemplu, x se poate implementa printr-o poartă p comandată de intrarea x necomplementată, iar variabila x se poate implementa printr-o poartă n comandată de variabila x necomplementată.

Întrucât expresiile logice ale lui f şi f conţin, în general, atât variabile sub forma directă, cât şi complementată, se recomandă să se facă substituţii de variabile, înlocuind în expresia lui f fiecare variabilă care apare direct şi în expresia lui f fiecare variabilă care apare sub forma complementată, printr-o variabilă nouă, egală cu complementul ei. Rezultatul unor asemenea substituţii are următoarele efecte:

- expresia lui f va conţine numai variabile complementate; - expresia lui f va conţine numai variabile directe; - apare necesitatea introducerii unor circuite de complementare

ala variabilelor substituite, circuite care se implementează conform schemei din fig. F-09.10.

09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL) 347

09.05. EXEMPLE DE FUNCŢII BINARE REALIZATE CU STRUCTURI LOGICE TIP CANAL

09.05.01. FUNCŢIA NAND(x,y)

x.y(x)fyx

x.yf(x)

=

==

Figura F-09.11 prezintă implementarea funcţiei NAND cu relee şi în

tehnologie CMOS.

Fig. F_09.11 Implementarea funcţiei NAND cu relee şi în tehnologia CMOS

09.05.02. FUNCŢIA AND(x,y)

f(x,y) = x.y

yx

x.yy)(x,f ==

Pentru implementare CMOS, f şi f se transformă astfel:

yvxu

vu

fv.uf

==

== :_,_ unde_si

348 09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL)

Figura F-09.12 prezintă variantele cu relee şi CMOS ale funcţiei AND(x,y).

Fig. F – 9.12 Implementarea functiei AND (x,y) cu relee si in tehnologia CMOS

O altă soluţie pentru varianta CMOS a funcţiei AND se obţine

folosind structura funcţiei NAND, căreia i se complementează ieşirea: y)NAND(x,y)AND(x, =

Figura F-09.13 prezintă o asemenea soluţie.

Fig. F_09.13 Implementarea funcţiei AND (x,y) în tehnologia CMOS, folosind funcţia NAND (x,y)

09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL) 349

09.05.03. FUNCŢIA NOR(x,y)

yx

y)(x,f

y.xyx

y)f(x,

=

==

Figura F-09.14 prezintă variantele cu relee şi CMOS ale funcţiei

NOR(x,y).

Fig F – 9.14 Variantele cu relee si CMOS ale funcţiei NOR (x,y) 09.05.04. FUNCŢIA OR(x,y)

y.xy)(x,f

yx

y)f(x,

=

=

Pentru implementare CMOS, f şi f se transformă astfel:

350 09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL)

yvxu

u.vfvu

f

==

== :_,_ unde_si

Figura F-09.15 prezintă variantele cu relee şi CMOS ale funcţiei

OR(x,y).

Fig. F-09.15

O altă soluţie pentru varianta CMOS a funcţiei OR se obţine folosind structura funcţiei OR, căreia i se complementează ieşirea:

y)NOR(x,y)OR(x, =

09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL) 351

Figura F-09.16 prezintă o asemenea soluţie.

Fig. F-9.16

09.05.05. O FUNCŢIE OARECARE

Se dă funcţia:

zyx.

z)y,f(x, =

Rezultă:

z.yx

f =

Pentru implementare CMOS, f şi f se transformă astfel:

zvxu

vyu

fv

y.uf

==

== :_,._ unde_si

Figura F-09.17 prezintă variantele cu relee şi CMOS ale funcţiei

f(x,y,z).

352 09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL)

Fig. F-09.17

09.05.06. CIRCUITE MUX/DMUX FOLOSIND PORŢI BIDIRECŢIONALE

Se cere implementarea unui circuit MUX / DMUX (n:1 / 1:n), folosind

la ieşire porţi bidirecţionale. Structura unui asemenea circuit conţine un circuit de selecţie a

canalelor bidirecţionale şi canalele propriu zise, conectate în scurtcircuit la un capăt, care constituie ieşire, pentru funcţia de multiplexare (MUX), sau intrare, pentru funcţia de demultiplexare (DMUX), aşa cum se arată în figura F-09.18.

Circuitul de selecţie este un decodificator k:2k, unde n ≤ 2k.

Fig. F-9.18

09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL) 353

Nota N-09.1: Dacă, în cazul MUX, sursele de intrare nu permit nici un fel de scurtcircuitări temporare, atunci se impune, dat fiind că este foarte probabil ca decodificatorul să manifeste hazard funcţional, realizarea acestui circuit de decodificare, asigurând tehnologic, la porţile lui de intrare, întârzieri de tipul „break before make” (cu efect invers întârzierilor de tip „make before break”, care asigură continuitatea semnalului de ieşire la comutarea intrărilor, evitând astfel orice formă de hazard, aspecte prezentate în capitolul referitor la hazardul de tip combinaţional) care vor asigura o separare sigură între canale, la comutarea canalului.

Aceleaşi măsuri trebuie luate în considerare şi în cazul folosirii

circuitului ca DMUX, în condiţiile în care este necesar ca nici o ieşire să nu se activeze, înainte de dezactivarea celorlalte.

Dacă aplicaţia permite sincronizarea intrărilor de selecţie, atunci se

poate folosi – dacă este disponibilă – o poziţie de selecţie din afara celor folosite pentru activarea canalelor de ieşire, poziţie care va fi activată înainte de comutarea de la un canal la altul. O astfel de soluţie se poate implementa şi prin folosirea, în locul circuitului decodificator, a unui DMUX 1:2k, pe a cărui intrare se pune temporar valoarea 0 între două selecţii succesive ale canalelor. 09.05.07. FOLOSIREA CIRCUITELOR DE TIP CANAL

ÎN IMPLEMENTAREA FUNCŢIILOR BINARE ŞI MULTIVALENTE

Folosirea circuitelor de tip canal în implementarea ieşirilor funcţiilor binare şi multivalente va fi prezentată în unele dintre capitolele ce urmează, evidenţiindu-se aspectele specifice, atunci când se utilizează structuri logice programabile. 09.05.08. IEŞIRI TRI-STATE

În situaţiile în care mai multe ieşiri au acces la o aceeaşi linie

informaţională (la o aceeaşi magistrală de date), este necesară evitarea conectării simultane a mai multor ieşiri.

În acest scop se foloseşte principiul porţii canal pentru separarea ieşirilor, fiecare ieşire comportându-se ca o poartă canal, iar comanda acestor porţi se face astfel încât să nu fie conectate simultan mai multe ieşiri pe o aceeaşi linie informaţională.

În figura F-09.19 se prezintă în schema de sus implementarea unei ieşiri tri-state prin izolarea circuitului de ieşire de sursele de alimentare, iar în schema de jos se obţine acelaşi rezultat prin interconectarea în serie cu ieşirea a unei porţi de tip canal.

Soluţii similare se pot imagina şi pentru ieşiri multivalente (ieşiri N+1 state), sau pentru ieşiri cu semnal continuu.

354 09. LOGICĂ DE TRANSMISIE (LOGICĂ TIP CANAL)

Fig. F-9.19

10. HAZARDUL COMBINAŢIONAL 355

10. HAZARDUL COMBINAŢIONAL

comportarea atipică a implementărilor circuitelor combinaţionale

10.01. HAZARD DEFINIŢII, CLASIFICĂRI

Structurile logice care implementează circuitele combinaţionale sunt

formate din porţi logice fizice ai căror timpi de propagare a semnalului de la intrare la ieşire nu sunt zero, fapt care induce o comportare inerţială a circuitului implementat şi, în condiţiile în care aceşti timpi nu sunt egali pe toate traseele intrare-ieşire (unele trasee intrare-ieşire parcurg un număr mai mare de porţi decât altele), iar timpii de tranziţie dintr-o stare în alta a intrărilor şi ieşirilor porţilor nici ei nu sunt zero, rezultă apariţia unor stări intermediare în evoluţia intrării în intervalul dintre starea iniţială şi cea finală, stări care conduc la evoluţii ale ieşirii, neprevăzute în comportarea strict logică, teoretică a circuitului.

Această comportare netipică a circuitelor combinaţionale – în fond, o comportare de tip secvenţial - pentru că intervine memoria inerţială a circuitelor (se cunoaşte că, de fapt, nu există sistem fizic fără memorie, cel puţin de tip inerţial, adică cel puţin cu memorie temporară) - a făcut ca ea să fie numită „hazard”, pentru că nu era previzibilă în expresia logică asociată implementării circuitului.

a) – Hazard combinaţional, hazard secvenţial Întrucât asemenea comportări pot apărea şi în sistemele cu memorie,

hazardul poate fi de tip: - combinaţional, când se manifestă în circuite combinaţionale, - secvenţial, când se manifestă în circuite secvenţiale.

Hazardul de tip secvenţial va fi analizat într-o lucrare dedicată analizei şi sintezei circuitelor secvenţiale, dar, în principiu, el este datorat atât hazardului de tip combinaţional, manifestat de circuitele combinaţionale incorporate în structura secvenţială, cât şi schimbării necorelate în timp a

356 10. HAZARDUL COMBINAŢIONAL

intrărilor, în care caz se pune în evidenţă hazardul de fond al circuitelor secvenţiale, denumit „metastabilitate”.

În continuare ne referim la hazardul de tip combinaţional.

b) – Hazard combinaţional static, hazard combinaţional dinamic Hazardul combinaţional poate fi clasificat, după modul de manifestare a evoluţiei ieşirii:

- static, caracterizat prin apariţia între starea iniţială şi cea finală a ieşirii a unei stări de ieşire diferită de cele două.

Acest tip de hazard se poate manifesta la comutarea stării intrării

între două rânduri din tabelul de valori care au o aceeaşi valoare a ieşirii, sau valori diferite, iar, în timpul comutaţiei, între ele apare temporar o altă valoare, diferită de cele două. De exemplu, la tranziţia din starea 3 în starea 2 poate să apară temporar starea 0:

3→0→2. În cazul binar, hazardul static se poate manifesta la comutarea stării

intrării între două rânduri din tabelul de valori care au o aceeaşi ieşire, iar între ele apare temporar o altă valoare a ieşirii. De exemplu:

1→0→1, sau 0→1→0.

- dinamic, caracterizat prin apariţia a mai mult de două tranziţii ale valorii ieşirii între valoarea iniţială şi cea finală.

Acest tip de hazard se poate manifesta atât la comutarea intrării între

două rânduri din tabelul de valori care au ieşiri diferite, cât şi între rânduri care au o aceeaşi ieşire. De exemplu, în binar: 1→0→1→0, sau 0→1→0→1 etc., 1→0→1→0→1, sau 0→1→0→1→0 etc. c) – Hazard combinaţional logic

şi hazard combinaţional funcţional

Hazardul apare, aşa cum am afirmat mai înainte, la schimbarea circuitului, prin trecerea de la un rând al tabelului de valori la un alt rând, cu condiţia ca aceste rânduri să cuprindă explicit cel puţin o variabilă de intrare care are valori diferite în cele două rânduri.

Dacă ne referim la o asemenea pereche de rânduri din tabelul de valori, atunci, în regim staţionar, adică după stabilizarea ieşirii circuitului în urma tranziţiei intrării, starea circuitului poate fi caracterizată printr-un singur rând activat dintre acestea două şi anume prin acel rând care reprezintă corespondenţa univocă intrare –ieşire afişată la acel moment.

Hazardul apare datorită evoluţiei simultane, concurente a acestor două rânduri în timpul tranziţiei, unul spre dezactivare (cel corespunzător

10. HAZARDUL COMBINAŢIONAL 357

stării iniţiale a tranziţiei), iar celălalt spre activare (cel corespunzător stării finale a tranziţiei), în condiţiile în care, în timpul acestor două procese evolutive concurente, apar, datorită memoriei inerţiale (datorită întârzierilor diferite ale semnalelor pe trasee), temporar, dar simultan, valori diferite ale aceleiaşi variabile de intrare, într-un proces, faţă de celălalt.

Un asemenea fenomen poate conduce la apariţia temporară, în perioada tranziţiei, a unor stări de ieşire – considerând trecerea pe baza schimbărilor din starea iniţială pentru a ajunge în starea finală - care nu corespund secvenţei stărilor intermediare posibile (atunci când între cele două rânduri se schimbă mai multe variabile), generate prin tranziţia eşalonată a intrărilor (eşalonare considerată a fi generată de întârzieri).

Asemenea valori ale ieşirii apar prin combinarea temporară – în expresia ieşirii - a două rânduri intermediare din tabelul de valori, activate fiecare în câte unul dintre cele două procese concurente şi având, în acelaşi timp, cel puţin o aceeaşi variabilă de intrare care are temporar o valoare într-unul din procese şi o altă valoare în celălalt, deşi, teoretic, variabila – chiar dacă se schimbă – ar trebui să aibă aceeaşi valoare în cele două procese concurente.

Un exemplu simplu îl constituie tranziţia ieşirii F, funcţie de trei variabile x,y,z, între rândurile 1 şi 2, în care F are o aceeaşi valoare (1, în exemplu, deşi fenomenul poate apare şi pentru valoarea 0). Schimbarea între rândurile 1 şi 2 o produce doar variabila x, care are valori diferite în cele două rânduri:

x y z / F 1: 1 - 0 /1 2: 0 1 - /1 Să presupunem că iniţial rândul 1 este activat. Atunci, combinaţiile de

valori ale variabilelor de intrare şi ale ieşirii F pentru cele două rânduri se obţin transferând valoarea iniţială a variabilei (sau, în general, a variabilelor) din rândul de start în rândul de finiş (în cazul de faţă este vorba despre variabila x, care se marchează cu asterisc în rândurile dezactivate, la fel ca şi valoarea ieşirii, pentru a evidenţia că rândul respectiv este dezactivat, având deci valori diferite în poziţiile marcate cu asterisc, faţă de valoarea din tabel, în care sunt prezentate doar situaţiile rândurilor atunci când sunt activate):

x y z / F(iniţial) 1(iniţial): 1 – 0 / 1 2(iniţial): 1* 1 - / 0*

În final situaţia va fi următoarea:

x y z / F(final) 1(final): 0* – 0 / 0* 2(final): 0 1 - / 1

Deci rândurile 1 şi 2 evoluează astfel:

x y z / F(in) x y z / F(fin) 1(in): 1 – 0 / 1 → 1(fin): 0* – 0 / 0 2(in): 1* 1 - / 0 → 2(fin): 0 1 - / 1

358 10. HAZARDUL COMBINAŢIONAL

Dacă în evoluţia rândului 2 tranziţia poziţiei x din 1 în 0 (acţiunea de

activare) se face întârziat în raport cu tranziţia din 1 în 0 a poziţiei x din rândul 1 (acţiunea de dezactivare), atunci apare situaţia intermediară de mai jos, în care F are valoarea 0 şi pentru un rând şi pentru celălalt (amândouă rândurile sunt dezactivate):

x y z / F(intermediar) 1(intermediar): 0* – 0 / 0* 2(intermediar): 1* 1 - / 0* O asemenea evoluţie reală a ieşirii F: 1→ 0→1 nu poate fi

evidenţiată din tabelul de valori, care arată că între cele două rânduri toate stările de intrare posibile au o aceeaşi valoare (în cazul exemplului, nu mai apare nici o stare intermediară evidenţiată prin tabel, dar esenţa problemei este aceeaşi).

Această evoluţie indică o situaţie de hazard reprezentată printr-o stare intermediară neevidenţiată prin funcţia din tabel, situaţie care va fi denumită:

„hazard logic static”. Hazard logic poate să apară şi în cazul în care tranziţia dintre rândul

iniţial şi final presupune schimbarea valorii. Într-un asemenea caz, toate secvenţele posibile ale stărilor de intrare, iniţiate în rândul de start pentru a ajunge la starea din rândul de finiş, nu produc decât o singură schimbare a intrării, dacă sunt confruntate cu tabelul de valori, în schimb procesele concurente pornite din rândul de start şi din cel de finiş generează simultan, temporar, stări de intrare în care sunt variabile care au o valoare diferită într-o combinaţie, în raport cu alta, conducând la tranziţii multiple ale ieşirii, de tipul (în binar, de exemplu):

F: 1→0→1→0, sau 0→1→0→1 etc. Într-un asemenea caz, hazardul este numai de tip: „hazard logic dinamic”, dar, în principiu, hazard dinamic poate să apară şi în situaţia când

funcţia are o aceeaşi valoare la începutul şi sfârşitul tranziţiei intrării. În cazul în care comportările de hazard static sau dinamic sunt

evidenţiate - la o analiză a schimbării eşalonate în timp a variabilelor de intrare, plecând din starea activată(iniţială) spre cea dezactivată (finală) - prin stări intermediare care aparţin tabelului de valori, atunci hazardul este denumit:

„hazard funcţional”, (static sau dinamic, după modul de manifestare). Mai precis, o asemenea situaţie apare:

10. HAZARDUL COMBINAŢIONAL 359

- la tranziţia circuitului între două stări în care ieşirea are o aceeaşi

valoare şi apar în secvenţa de intrare stări intermediare care corespund, conform tabelului de valori, unei alte valori de ieşire (cazul hazardului static, dacă apare doar o stare intermediară, sau al hazardului dinamic, în cazul unei secvenţe de stări intermediare diferite);

- la tranziţia circuitului între două stări în care ieşirea are valori

diferite şi apar în secvenţa de intrare stări intermediare care corespund, conform tabelului de valori, unor tranziţii multiple ale ieşirii (cazul numai al hazardului dinamic).

După cum rezultă şi din prezentarea de mai sus, hazardul funcţional,

ca şi cel logic, poate să fie static sau dinamic. Întrucât hazardul funcţional implică trecerea circuitului printr-o stare intermediară, alta decât cea de plecare şi de final a tranziţiei intrării, şi care apare şi în tabelul de valori, rezultă următoarele: Teorema T-10.1: În binar (unde variabila care se schimbă are doar

două valori), hazardul funcţional nu poate să apară la comutarea circuitului între două stări de intrare care diferă doar prin valoarea unei variabile.

360 10. HAZARDUL COMBINAŢIONAL

10.02. HAZARDUL ÎN CIRCUITE CU ADÂNCIME UNIFORMĂ INTRARE-IEŞIRE (cazul structurilor logice programabile)

Implementarea circuitelor combinaţionale în reţele cu adâncime

uniformă intrare-ieşire - cum este cazul structurilor logice programabile, la care se are în vedere, în cazul binar, ca variabilele de intrare, care apar în circuit sub formă directă şi complementată, să aibă, pe calea generării interne a intrării neinversate, repetori logici de întârziere egală cu ai invertorilor care generează intrarea complementată – face ca manifestările de hazard să fie manifestate doar pe durata tranziţiilor variabilelor (pe perioada comutării stricte a unei variabile dintr-o stare în alta), întârzierile porţilor fiind echilibrate, datorită aceluiaşi număr de porţi de la fiecare intrare până la ieşire.

Prin urmare, în asemenea implementări hazardul dinamic nu se mai poate manifesta, iar hazardul static – fie logic sau funcţional – nu se manifestă integral, ci doar ca o rezultantă a suprapunerii a două tranziţii opuse (fig. F-10.1).

--- FIG. F-10.1 ---

Notă N-10.1: Întrucât tehnicile de proiectare prezentate în lucrare sunt orientate în principal pe implementări în structuri logice programabile, în cele ce urmează se vor prezenta numai principii şi metode de evitare a hazardului de tip static în structurile cu ieşire singulară, sau cu ieşiri multiple optimizate individual, pentru că structurile programabile optimizate pe ieşire vectorială prezintă, în general, situaţii multiple de hazard, asemenea structuri fiind optimizate pentru un număr minim de vectori implicanţi, iar situaţiile lor de hazard sunt atenuate – aşa cum s-a arătat mai sus - de structura cu adâncime uniformă intrare-ieşire, sau sunt eliminate complet prin metoda tehnologică sugerată în continuare.

Prin urmare, în cele ce urmează se prezintă:

- o metodă algoritmică de eliminare a hazardului logic static,

bazată pe principiul acoperirii logice (metoda consensului);

- o metodă tehnologică de eliminare completă, atât a hazardului logic, cât şi a hazardului funcţional, bazată pe principiul activării rândului din tabelul de valori, care reprezintă finalul tranziţiei intrării, înaintea dezactivării rândului de start al tranziţiei intrării.

10. HAZARDUL COMBINAŢIONAL 361

10.03. METODĂ ŞI ALGORITM DE ELIMINARE A HAZARDULUI LOGIC STATIC

Metoda constă în următoarele: - pasul 1h:

Se minimizează tabelul de valori al funcţiei, folosind metoda discriminării. - pasul 2h:

Se identifică perechile de vectori reprezentând rânduri dintr-o grupă valorică (rânduri care au aceeaşi valoare a ieşirii) care au valori diferite pentru una sau mai multe variabile;

Notă N-10.2: Metoda ia în considerare numai perechile de vectori dintr-o aceeaşi grupă valorică binară sau multivalentă, deşi hazard logic static ar putea să apară şi între grupe valorice, în cazul multivalent, dar analiza unui asemenea caz devine complexă, nerezolvând decât parţial problema, pentru că în cazul multivalent creşte incidenţa hazardului funcţional – care, evident, nu poate fi eliminat logic – şi se propune adoptarea, în cazul unor implementări multivalente, a soluţiei radicale de eliminare a oricărui fel de hazard combinaţional într-o structură cu adâncime uniformă intrare-ieşire, metodă menţionată mai înainte.

În ceea ce priveşte cazul binar, se operează într-o aceeaşi grupă valorică, pentru că nu se ia în conside0rare hazardul logic dinamic, care nu poate să apară într-o structură cu adâncime uniformă intrare-ieşire.

- pasul 3h:

Se determină condiţia care asigură selectarea unică a perechii de vectori, condiţie reprezentată printr-un vector numit „vector consens” şi care se obţine comparând poziţiile celor doi vectori, cu excepţia poziţiilor variabilelor, care au fiecare valori diferite în cele două rânduri ale perechii alese, poziţii care se trec „ * „ (simbolul „orice”, echivalent cu „ – „ dar marcat prin „ * „ pentru a specifica poziţiile variabilelor a căror schimbare poate conduce la hazard)) şi reţinând pentru celelalte poziţii minimul valorii, calculat poziţie cu poziţie, adică reţinând valorile diferite de simbolul „orice”, sau reţinând poziţia „ – „ când ea este comună celor doi vectori:

362 10. HAZARDUL COMBINAŢIONAL

Ca exemplu, se dă perechea de vectori binari, care corespund unei aceleiaşi valori ( 1, în exemplu): 1: (0,1,-,-,1,1,-,0,0) 2: (-,0,1,-,-,1,0,1,0) Vectorul consens al perechii de vectori 1 şi 2, care au variabile cu valori diferite pe poziţiile 2 şi 8, este: c(1,2): (0,*,1,-,1,1,0,*,0).

- pasul 4h: Se stabileşte pentru fiecare vector consens – care în binar

are cel puţin două simboluri „ * „ - dacă acoperă vectori complet specificaţi (dacă un vector din tabelul de valori are poziţii nespecificate, atunci el cuprinde o clasă de vectori specificaţi complet, dedusă prin detalierea poziţiilor de tipul „ – „), incluşi în listele vectorilor corespunzând celorlalte valori ale funcţiei:

. dacă răspunsul este afirmativ, atunci avem de-a face cu hazard funcţional şi se procedează astfel:

.. se menţionează situaţia de hazard funcţional, marcând varianta grupei valorice cu „**„ ;

.. se trece la analiza altei variante, pentru că nu are nici un rost căutarea de soluţii pentru eliminarea hazardului logic, acolo unde există deja hazard funcţional, care nu poate fi înlăturat prin operaţii logice, ci doar prin metoda tehnologică prezentată principial în a doua parte a acestui capitol;

. dacă răspunsul este negativ, atunci avem de-a face cu hazard logic, iar vectorul consens rămâne în lista de vectori consens, care va ataşată ulterior, după unele simplificări, listei vectorilor valorii respective a funcţiei.

Analiza de mai sus se face începând cu vectorii consens cu cel mai mare număr de simboluri „ * „ , pentru că aceşti vectori au cea mai mare probabilitate de a evidenţia hazard funcţional şi astfel, în caz afirmativ, analiza variantei de soluţie a grupului valoric se încheie, grupul marcându-se prin „ ** „. Metoda de a stabili dacă vectorul consens acoperă şi poziţii din cel puţin una dintre listele vectorilor corespunzătoare altor valori ale ieşirii funcţiei circuitului constă în compararea poziţiilor diferite de „ – „ ale vectorului consens cu fiecare dintre vectorii corespunzând altor valori ale funcţiei şi, în cazul când aceste poziţii se regăsesc întocmai în cel puţin un vector (adică acel vector are pe fiecare dintre poziţiile vectorului consens valoarea din vectorul consens, sau are „ – „), atunci avem de-a face cu hazard funcţional, în rest fiind vorba de hazard logic.

Acest lucru este necesar, pentru că este posibil să existe variante de soluţii (aşa cum se va arăta într-un

10. HAZARDUL COMBINAŢIONAL 363

exemplu) care nu au hazard funcţional şi atunci este de preferat alegerea lor în soluţia funcţiei. - pasul 5h: Se elimină din lista de vectori consens asociată valorii de

ieşire analizată, vectorii care sunt acoperiţi de alţii din listă (adică se elimină acei vectori care includ toate componentele altui vector); în acest procedeu de eliminare prin acoperire se includ şi vectorii care se repetă (reţinând câte unul de fiecare fel).

- pasul 6h: Se elimină din listă vectorii consens care repetă vectori din

tabelul asociat valorii analizate, precum şi vectorii consens care sunt acoperiţi de vectori din acest tabel asociat valorii analizate.

- pasul 7h: Dacă lista vectorilor consens nu mai are nici un vector, atunci

procesul continuă cu pasul 10. - pasul 8h: Dacă lista rămasă a vectorilor consens nu este vidă, ea se

adaugă listei vectorilor corespunzătoare valorii analizate, formând o listă comună.

- pasul 9h: Se elimină din lista comună vectorii acoperiţi de vectorii

consens ataşaţi listei.

- pasul 10h: Se elimină din lista comună vectorii care sunt acoperiţi de

alţii sau care repetă alţi vectori din listă (păstrând câte un vector de fiecare fel).

364 10. HAZARDUL COMBINAŢIONAL

10.04. EXEMPLE DE ELIMINARE A HAZARDULUI LOGIC STATIC

10.04.01 FUNCŢIE CU HAZARD LOGIC ÎNTR-O GRUPĂ

DE VALORI ŞI HAZARD FUNCŢIONAL ÎN ALTĂ GRUPĂ DE VALORI

10.04.01.01. Etapele identificării şi eliminării

hazardului Se dă următorul tabel de valori al unei funcţii binare de 6 variabile binare, prezentat sub forma x1, x2, x3, x4, x5, x6/F:

0,0,0,0,-,-/0 0,0,1,0,-,-/0 0,-,-,1,-,-/1 -,-,0,1,-,1/1 0,1,0,0,-,-/0 -,1,-,1,1,-/1 -,1,1,-,-,1/1 -,1,1,1,-,1/1 1,-,0,-,-,-/1 1,-,0,1,-,0/1 1,0,1,-,-,-/0 1,1,-,-,-,0/1 1,1,-,-,-,-/1 1,1,0,-,-,-/1 1,1,-,1,-,-/1

- pasul 1h:

Se minimizează tabelul de valori al funcţiei, folosind metoda discriminării În urma minimizării rezultă următoarele soluţii, grupate pe valorile

funcţiei, organizate în tabele cu rândurile numerotate: - grup 01: r1: (0,0,-,0,-,-) r2: (0,-,0,0,-,-) r3: (1,0,1,-,-,-)

- grup 02:

r4: (0,-,0,0,-,-) r5: (-,0,1,0,-,-) r6: (1,0,1,-,-,-)

10. HAZARDUL COMBINAŢIONAL 365

- grup 1:

r7: (-,1,1,-,-,-) r9: (1,-,0,-,-,-) r10: (0,-,-,1,-,-)

Se contată că pentru grup 0 sunt două variante de soluţii.

În continuare se aplică procedeul de eliminare a hazardului logic static (pentru că ipoteza de implementare în structuri logice cu adâncime uniformă implică existenţa doar a hazardului static).

- paşii 2h şi 3h:

. Se identifică perechile de vectori reprezentând rânduri dintr-o grupă valorică (rânduri care au aceeaşi valoare a ieşirii) care au valori diferite pentru una sau mai multe variabile; . Se determină condiţia care asigură selectarea unică a perechii de vectori, condiţie reprezentată printr-un vector numit „vector consens” şi care se determină comparând poziţiile celor doi vectori, cu excepţia poziţiilor variabilelor, care au fiecare valori diferite în cele două rânduri ale perechii alese, poziţii care se trec „ - „ (simbolul „orice”) şi reţinând valorile diferite de simbolul „orice”, sau poziţia „ – „ când ea este comună celor doi vectori. Pentru grup 0 rezultă următoarele perechi de vectori, cu vectorul consens asociat:

. grup 01:

(r1,r3): (*,0,1,0,-.-) (r2,r3): (*,0,*,0,-,-)

. grup 02:

(r4,r5): (0,0,*,0,-,-) (r5,r6): (*,0,*,0,-,-)

Pentru grup 1 rezultă: (r7,r9): (1,1,*,-,-,-) (r8,r10): (*,1,-,1,-,-) (r9,r10): (*,-,0,1,-,-)

- pasul 4h: Se stabileşte pentru fiecare vector consens – care în binar

are cel puţin două simboluri „ * „ - dacă acoperă vectori complet specificaţi (dacă un vector din tabelul de valori are poziţii nespecificate, atunci el cuprinde o clasă de vectori specificaţi

366 10. HAZARDUL COMBINAŢIONAL

complet, dedusă prin detalierea poziţiilor de tipul „ – „), incluşi în listele vectorilor corespunzând celorlalte valori ale funcţiei:

. dacă răspunsul este afirmativ, atunci avem de-a face cu hazard funcţional şi se procedează astfel:

.. se menţionează situaţia de hazard funcţional, marcând varianta grupei valorice cu „**„ ;

.. se trece la analiza altei variante, pentru că nu are nici un rost căutarea de soluţii pentru eliminarea hazardului logic, acolo unde există deja hazard funcţional, care nu poate fi înlăturat prin operaţii logice, ci doar prin metoda tehnologică prezentată principial în a doua parte a acestui capitol;

. dacă răspunsul este negativ, atunci avem de-a face cu hazard logic, iar vectorul consens rămâne în lista de vectori consens, care va ataşată ulterior, după unele simplificări, listei vectorilor valorii respective a funcţiei.

Analiza de mai sus se face începând cu vectorii consens cu cel mai mare număr de simboluri „ * „ , pentru că aceşti vectori au cea mai mare probabilitate de a evidenţia hazard funcţional şi astfel, în caz afirmativ, analiza variantei de soluţie a grupului valoric se încheie, grupul marcându-se prin „ ** „. Metoda de a stabili dacă vectorul consens acoperă şi poziţii din cel puţin una dintre listele vectorilor corespunzătoare altor valori ale ieşirii funcţiei circuitului constă în compararea poziţiilor diferite de „ – „ ale vectorului consens cu fiecare dintre vectorii corespunzând altor valori ale funcţiei şi, în cazul când aceste poziţii se regăsesc întocmai în cel puţin un vector (adică acel vector are pe fiecare dintre poziţiile vectorului consens valoarea din vectorul consens, sau are „ – „), atunci avem de-a face cu hazard funcţional, în rest fiind vorba de hazard logic.

Acest lucru este necesar, pentru că este posibil să existe variante de soluţii (aşa cum se va arăta într-un exemplu) care nu au hazard funcţional şi atunci este de preferat alegerea lor în soluţia funcţiei.

- grup 01: Vectorul consens (r2,r3): (*,0,*,0,-,-) se regăseşte în vectorul r9 al grupului 1 şi, prin urmare, el

semnalează o situaţie de hazard funcţional, ceea ce face ca analiza să se încheie aici pentru grupul 01, menţionându-se:

„grupul 01 are hazard funcţional”

10. HAZARDUL COMBINAŢIONAL 367

- grup 02: Vectorul consens (r5,r6): (*,0,*,0,-,-) se regăseşte în vectorul r9 al grupului 1 şi, prin urmare, el

semnalează o situaţie de hazard funcţional, ceea ce face ca analiza să se încheie aici pentru grupul 02, menţionându-se:

„grupul 02 are hazard funcţional” - grup 1: Vectorii consens nu se regăsesc printre vectorii grupului 0, fie prima,

sau cea de a doua variantă. Prin urmare: „grupul 1 nu are hazard funcţional”. Vectorii consens ai grup 1 rămân în tabel:

(r7,r9): (1,1,-,-,-,-) (r8,r10): (-,1,-,1,-,-) (r9,r10): (-,-,0,1,-,-)

NOTĂ IMPORTANTĂ: Se constată aici că pot exista grupe cu

hazard funcţional şi altele doar cu hazard logic. În binar (precum în exemplul analizat) acest lucru evidenţiază necesitatea analizei în paralel a ambelor forme canonice, nu numai din punctul de vedere al complexităţii expresiilor minimizate, dar, mai ales, din punctul de vedere al hazardului, pentru că, de exemplu, în cazul analizat, se poate evita hazardul funcţional, luând ca soluţie prima formă canonică. Rezultă avantajul folosirii metodei discriminării pentru

minimizare, deoarece oferă simultan minimizarea tuturor grupelor de valori ale funcţiei.

- pasul 5h:

Se elimină din lista de vectori consens asociată valorii de ieşire analizată vectorii care sunt acoperiţi de alţii din listă (adică se elimină acei vectori care includ toate componentele altui vector); în această categorie sunt incluşi şi vectorii care se repetă (reţinând câte unul de fiecare fel).

În grup 1 nu sunt acoperiri, lista rămânând aceeaşi:

(r7,r9): (1,1,-,-,-,-) (r8,r10): (-,1,-,1,-,-) (r9,r10): (-,-,0,1,-,-)

368 10. HAZARDUL COMBINAŢIONAL

- pasul 6h:

Se elimină din listă vectorii consens care repetă vectori din lista asociată valorii analizate, precum şi vectorii consens care sunt acoperiţi de vectori din această listă asociată valorii analizate.

În cazul grup 1:

. vectorul r9 elimină prin acoperire vectorul (r8,r10)

lista rămasă fiind: (r8,r10): (-,1,-,1,-,-)

(r9,r10): (-,-,0,1,-,-)

- pasul 7h:

Dacă lista vectorilor consens nu mai are nici un vector, atunci procesul continuă cu pasul 10. Pentru grup 1, listele nu sunt vide, deci procesul continuă cu

pasul următor.

- pasul 8h:

Dacă lista rămasă a vectorilor consens nu este vidă, ea se adaugă listei vectorilor corespunzătoare valorii analizate, formând o listă comună.

- grup 1: r7: (-,1,1,-,-,-) r8: (1,1,-,-,-,-) r9: (1,-,0,-,-,-) r10: (0,-,-,1,-,-) (r8,r10): (-,1,-,1,-,-) (r9,r10): (-,-,0,1,-,-) - pasul 9h:

Se elimină din lista comună vectorii acoperiţi de vectorii consens ataşaţi listei.

Nu există acoperiri.

10. HAZARDUL COMBINAŢIONAL 369

- pasul 10h: Se elimină din lista comună vectorii care sunt acoperiţi de alţii sau care repetă alţi vectori din listă (păstrând câte un vector de fiecare fel).

Nu sunt acoperiri.

Atunci, forma finală a soluţiilor este:

- grup 1, fără hazard logic şi funcţional:

r7: (-,1,1,-,-,-) r8: (-,-,0,1,-,-) r9: (-,1,-,1,-,-) r10: (1,-,0,-,-,-) r11: (0,-,-,1,-,-) r12: (1,1,-,-,-,-) 10.04.01.02. Analiza soluţiilor obţinute şi alegerea soluţiei finale: 1 - Se reţine soluţia grupului 1, care este complet „hazard free”,

nemanifestând nici hazard funcţional, ceea ce implică o implementare conform primei forme canonice:

Soluţia finală pentru grupul 1 este: -,1,1,-,-,-/1 -,-,0,1,-,-/1 -,1,-,1,-,-/1 1,-,0,-,-,-/1 0,-,-,1,-,-/1 1,1,-,-,-,-/1 Forma analitică a funcţiei F(x1, x2, x3, x4, x5) este, conform tabelului de

mai sus:

21

41

31

42

43

32

I

.xx

.xxx.x.xx.xx.xx

F =

370 10. HAZARDUL COMBINAŢIONAL

Această soluţie are 6 vectori implicanţi. 2 – Dacă aplicaţia nu este deranjată de existenţa hazardului, sau

dacă se implementează funcţia pe structuri astfel realizate tehnologic (aşa cum se va sugera în continuare), atunci este de preferat, în cazul folosirii unor structuri logice programabile, soluţiile grupului 0 (adică a doua formă canonică) , aşa cum rezultă ele din metoda discriminării, pentru că aceste variante au câte 3 vectori implicanţi:

- grup 01:

0,0,-,0,-,-/0 0,-,0,0,-,-/0 1,0,1,-,-,-/0

- grup 02:

0,-,0,0,-,-/0 -,0,1,0,-,-/0 1,0,1,-,-,-/0 În acest caz, funcţia are următoarele expresii analitice:

3

2

1

4

3

1

4

2

1

II,1

xxx

xxx

xxx

F =

3

2

1

4

3

2

4

3

1

II,2

xxx

xxx

xxx

F =

- Se poate totodată considera, atunci când hazardul logic nu deranjează, sau este eliminat tehnologic, şi prima formă canonică, care are patru termeni, dar mai simpli:

r7: (-,1,1,-,-,-) r8: (1,1,-,-,-,-)

r9: (1,-,0,-,-,-) r10: (0,-,-,1,-,-)

10. HAZARDUL COMBINAŢIONAL 371

În acest caz, funcţia are următoarea expresie analitică:

41

31

21

32

.xxx.x

.xx.xx

F =

10.04.02. FUNCŢIE CU HAZARD FUNCŢIONAL NUMAI ÎN UNELE VARIANTE ALE ACELEIAŞI GRUPE DE VALORI (exemplu multivalent)

Se dă funcţia reprezentată de următorul tabel multivalent de valori: 3,5,7/9 1,7,2/7 2,1,4/3 4,2,2/0 1,3,1/0 5,7,3/0 5,7,2/7

- pasul 1h: Minimizarea funcţiei, folosind metoda discriminării, produce următoarele rezultate: - grup 9: (3,-,-/9) (-,5,-/9) (-,-,7/9) - grup 7:

(-,7,2/7) - grup 3:

372 10. HAZARDUL COMBINAŢIONAL

(2,-,-/3) (-,1,-/3) (-,-,4/3) - grup 0: (4,-,-/0) (-,3,-/0) (-,-,3/0) (4,-,-/0) (-,-,1/0) (-,-,3/0) (-,2,-/0) (-,3,-/0) (-,-,3/0) (-,2,-/0) (-,-,1/0) (-,-,3/0) Se constată că :

- grup 9 are 3 variante - grup 7 are o singură variantă - grup 3 are 3 variante - grup 0 are 4 variante

În afară de grup 0, toate variantele de soluţii au doar câte un vector,

deci nu pot manifesta hazard. În grup 0, varianta 1 nu are hazard, pentru că nu există nici un vector

consens (nu există nici o pereche de vectori care să aibă valori în aceeaşi poziţie (coloană)).

Celelalte variante ale grup 0 manifestă hazard funcţional, pentru că vectorii consens sunt de tipul (-,-,-) şi acoperă sigur vectori şi din celelalte grupe valorice, pentru că acoperă toţi vectorii.

DE REŢINUT ! Este posibil să existe într-o grupă atât variante cu hazard funcţional, cât şi variante fără hazard funcţional. În cazul exemplului, soluţiile de tip „hazard free” ale funcţiei sunt

astfel organizate: - se implementează funcţia în prima formă canonică, fără porţi canal

pe ieşire, caz în care nu se ia în considerare grupa valorică 0; - se implementează funcţia în prima formă canonică, cu porţi canal

pe ieşire (caz în care ar trebui luate în considerare toate grupele valorice); - trebuie să considere prima variantă a grup 0, atunci când se

implementează sub a doua formă canonică (caz în care grup 0 este inclusă

10. HAZARDUL COMBINAŢIONAL 373

în soluţie), sau se folosesc porţi de tip canal pe ieşire (caz în care trebuie luate în considerare toate grupele valorice ale funcţiei) :

(4,-,-/0) (-,3,-/0) (-,-,3/0)

Dacă nu interesează manifestarea hazardului, atunci se pot lua în

considerare toate variantele grupului 0.

374 10. HAZARDUL COMBINAŢIONAL

10.05. METODĂ GENERALĂ DE ELIMINARE A HAZARDULUI

10.05.01. PRINCIPIUL METODEI Metoda, aplicabilă structurilor logice programabile cu adâncime

uniformă intrare-ieşire, elimină tehnologic orice tip de hazard potenţial, static sau dinamic, logic sau funcţional, prin aranjarea timpilor de comutaţie ai porţilor de intrare ale structurii programabile (invertorii sau repetorii logici, în cazul binar, şi circuitele de echivalenţă, în cazul multivalent), astfel încât comutarea în starea de detectare a valorii variabilei de intrare în vectorul de intrare care se activează (comutare din 0 în 1 a ieşirii invertorilor sau repetorilor, în cazul binar, sau din 0 în N-1, în cazul multivalent cu variabile de intrare aparţinând lui ZN , a ieşirii circuitelor de echivalenţă) să se facă înaintea dezactivării (comutarea inversă) acestei detectări de valoare – pentru o aceeaşi variabilă.

Metoda se poate rezuma la formula:

make before break Figura F-10.2 arată un mod de echilibrare şi de generare a

întârzierilor la circuitele de intrare binare sau multivalente.

Fig. F-10.2

10. HAZARDUL COMBINAŢIONAL 375

--- Fig. F-10.3 --- În figura F-10.3 se ilustrează comportarea ieşirii logice care

reprezintă însumarea evoluţiilor semnalelor logice reprezentând vectorii de intrare în schimbare de la starea iniţială la cea finală.

În cazul „make before break” (prescurtat MBB) se ilustrează acoperirea hazardului.

De remarcat este faptul că întârzierea tehnologică nu apare pe

traseul intrare-ieşire decât o singură dată, în poarta de intrare.

10.05.02. STRUCTURA IEŞIRII GLOBALE A FUNCŢIEI, ÎN IMPLEMENTĂRILE CU PORŢI CANAL PE EŞIRE

În implementările metodei de eliminare a oricărui tip de hazard, în cazul folosirii de porţi canal pe ieşire - dar şi în cazul unor implementări multivalente cu funcţia de ieşire generală realizată prin OR cablat a ieşirilor valorice care sunt sub formă de poartă canal - este posibil ca schimbarea unei variabile să se producă între doi vectori de intrare care aparţin unor grupe valorice diferite. Atunci este necesară inserarea pe traseul fiecărei

376 10. HAZARDUL COMBINAŢIONAL

valori de referinţă a ieşirii a câte unei diode care să prevină conectarea în scurtcircuit a două valori de referinţă. O asemenea soluţie asigură transmiterea în nodul de ieşire a valorii de referinţă cea mai mare dintre cele două (operator de maxim cu diode). Figura F-10.4 sugerează o asemenea soluţie a structurii de ieşire a circuitului.

Fig. F-10.4

11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ 377

11. SIMPLIFICAREA GLOBALĂ A FUNCŢIILOR BINARE ŞI VECTORIALĂ. MULTIVALENTE, CU IEŞIRE

CIRCUITE CU MAI MULTE IEŞIRI

11.01. CIRCUIT DIGITAL ÎN SENSUL CEL MAI GENERAL

GENERALITĂŢI

În cele ce urmează vom generaliza noţiunea de circuit digital, definind un circuit combinaţional multivalent mixt, având n intrări x1,x2,...,xn ∈ ZN şi p ieşiri y1,y2,...,yp ∈ ZM, unde N şi M pot fi diferite (adică intrările şi ieşirile circuitului pot aparţine unor sisteme logice diferite, unul având n nivele logice pe fir, iar celălalt având m nivele logice pe fir). Circuitul (vezi fig. F-11.1) poate fi reprezentat printr-o funcţie F de n variabile, având un vector Y drept ieşire: F(x1,x2,...,xn) = Y, unde Y = (y1,y2,...,yp) şi x1,x2,...,xn ∈ ZN , iar y1,y2,...,yp ∈ ZM

Fig. F-11.1 Circuit multivalent mixt, cu intrarea şi

ieşirea reprezentate vectorial

378 11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ

În accepţiunea de mai sus a definirii generale a unui circuit digital, un circuit de comutaţie cu un singur terminal de ieşire poate fi considerat şi el un circuit mixt, particularizare a circuitului din fig. F-11.1, putând fi reprezentat în esenţă ca în fig. F-11.2:

Fig. F-11.2 Circuit combinaţional multivalent mixt,

având intrările şi ieşirea aparţinând unor mulţimi diferite de valori: - intrările iau valori în ZN - ieşirile iau valori în ZM

11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ 379

11.02. ORGANIZAREA STRUCTURALĂ A CIRCUITELOR DIGITALE FUNCŢIONÂND ÎN LOGICĂ MIXTĂ

Revenind asupra expresiei analitice a unei funcţii F multivalente, prima şi a doua formă canonică, putem să descompunem această expresie, după cum urmează: zona D) - partea de ieşire, care colectează expresiile parţiale ale lui F,

grupate pe valori ale ieşirii: a) – pentru prima formă canonică:

∑−

=

=1M

0ii

II FF

b) – pentru a doua formă canonică:

∏−

=

=1M

0ii

IIII FF

unde i ∈ ZM

zona C) - porţile logice care selectează valoarea i a ieşirii F:

a) - pentru prima formă canonică: i

Ii

I i.fF = b) - pentru a doua formă canonică:

i

IIiII

fi

F =

unde fIi , fII

i ∈ ⎨0, (N-1)⎬ ⊆ ZN şi i ∈ ZM zona B) - reţeaua logică binară (operând cu valorile 0 şi (N-1)) care

produce valorile fIi , respectiv, fII

i, valori stabilite aplicând metoda discriminării pentru simplificare:

a) – pentru prima formă canonică:

∑=k

ikI

iI gf ,

unde gIik sunt termenii produs optimizaţi prin metoda

discriminării, selectaţi pentru valoarea i a funcţiei:

∏=m

kmI

ikI eg ,

iar eIkm sunt funcţiile de echivalenţă implicate în calculul

acestor termeni produs (echivalentul analitic al vectorilor implicanţi, pentru prima formă canonică).

b) – pentru a doua formă canonică:

∏=k

ikII

iII gf

unde gIIik sunt termenii produal optimizaţi prin metoda

discriminării, selectaţi pentru valoarea a funcţiei:

380 11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ

∑=m

kmII

ikII eg ,

iar kmIIe sunt funcţiile de non-echivalenţă implicate în

calculul acestor termeni produal (echivalentul analitic al vectorilor implicanţi, pentru a doua formă canonică). Funcţiile gI

ik, eIkm, gII

ik, kmIIe au valori în mulţimea

⎨0, (N-1)⎬ ⊆ ZN , şi i ∈ ZM

zona A) - partea de intrare a funcţiei, formată din toate circuitele de

echivalenţă eIkm (în cazul primei forme canonice), sau din

toate circuitele de non-echivalenţă kmIIe (în cazul celei de a

doua forme canonice), care sunt implicate în produsele gIik,

respectiv, produalele gIIik , unde eI

km şi kmIIe au forma:

eI

km = e(xr,s)

kmIIe = s),(xe r , iar

xr ∈ ⎨x1, x2, ... , xn⎬ reprezintă variabilele de intrare, care au valori în mulţimea ZN, şi

s ∈ ⎨0,1, ... ,(N-1)⎬ = ZN.

Figurile F-11.3 şi F-11.4 prezintă structura descrisă mai sus a circuitului, pentru prima şi, respectiv, a doua formă canonică.

Figurile F-11.10 şi F-11.11 prezintă structura unui circuit general, având ieşiri multiple, pentru prima şi, respectiv, a doua formă canonică.

11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ 381

Fig. F-11.3 Circuit combinaţional multivalent mixt

Prima formă canonică

Nota N-11.1 (la fig. F-11.3):

- Condiţii de compatibilitate:

⎢⎣

⎡−==−

==

M2N

M2N

1)(M11)(N000

- Porţile de intrare (circuitele de echivalenţă) au intrări care

aparţin mulţimii ZN şi ieşiri în Z2. - Porţile intermediare (haşurate) au intrări şi ieşiri în Z2. - Porţile AND de la ieşire au o intrare în Z2 şi una în ZM, iar

ieşirea aparţine lui ZM. - Poarta OR de ieşire funcţionează intrare-ieşire în ZM, dar are

mereu doar o singură intrare diferită de 0M.

382 11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ

Fig. F-11.4 Circuit combinaţional multivalent mixt A doua formă canonică

Nota N-11.2 (la fig. F-11.4):

- Condiţii de compatibilitate:

⎢⎣

⎡−==−

==

M2N

M2N

1)(M11)(N000

- Porţile de intrare (circuitele de non-echivalenţă) au intrări

care aparţin mulţimii ZN şi ieşiri în Z2. - Porţile intermediare (haşurate) au intrări şi ieşiri în Z2. - Porţile OR de la ieşire au o intrare în Z2 şi una în ZM, iar

ieşirea aparţine lui ZM.

11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ 383

- Poarta AND de ieşire funcţionează intrare-ieşire în ZM, dar are mereu doar o singură intrare diferită de (M-1)M.

Nota N-11.3: Se disting patru zone ale circuitelor digitale mixte, având următoarele caracteristici intrare-ieşire:

- zona A a circuitelor de intrare,

formată din circuite de echivalenţă (prima formă canonică), sau non-echivalenţă (a doua formă canonică), fiecare având:intrări multivalente cu valori în ZN şi ieşire binară cu valori în ⎨0, (N- 1)⎬ ⊆ ZN

- zona B intermediară, formată dintr-o reţea logică binară de porţi, de tip

AND-OR (prima formă canonică), sau OR-AND (a doua formă canonică), fiecare poartă având intrări binare cu valori în ⎨0, 1⎬ = Z2 şi ieşire binară cu valori în ⎨0, 1⎬ = Z2

Zona B se poate separa în două:

- zona B1 a porţilor discriminate, care reprezintă implementarea tuturor termenilor obţinuţi prin metoda discriminări (porţile AND pentru prima formă canonică şi porţile OR pentru a doua formă canonică); - zona B2 de folosire în comun a termenilor discriminaţi pentru ieşirile punctuale ale funcţiei (pentru variabilele componente ale vectorului de ieşire), grupate pe valori de ieşire.

- zona C de sortare a funcţiei pe valorile de ieşire, formată din porţi AND (prima formă canonică), sau porţi OR (a doua formă canonică), având fiecare

câte două intrări, fiecare poartă având: - o intrare binară cu valori în cu valori în ⎨0,1⎬=Z2 şi o intrare multivalentă cu valori

în ZM - o ieşire multivalentă cu valori în ZM - zona D de ieşire, formată din porţi OR (prima formă canonică), sau

porţi AND (a doua formă canonică), fiecare poartă având:. intrări multivalente cu valori în ZM şi ieşire multivalentă cu valori în ZM

384 11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ

11.03. CONDIŢIILE DE COMPATIBILITATE STRUCTURALĂ ŞI FUNCŢIONALĂ ALE CIRCUITELOR DIGITALE MIXTE

Nota N-11.3 impune următoarea condiţie de interfaţare a zonelor logice ale unui circuit digital mixt:

Condiţia C-11.1: Condiţiile de compatibilitate funcţională şi

constructivă a unor asemenea structuri de circuite în logică mixtă constă în alinierea valorilor extreme la interfaţa dintre diferitele grupe ale circuitului, adică:

(11.1) 0N = 02 = 0M

(11.2) (N-1)N = 12 = (M-1)M ,

unde indicii N, 2 şi M indică apartenenţa la sistemele de logică în ZN, Z2 şi ZM.

11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ 385

11.04. ASPECTE SPECIFICE ALE IMPLEMENTĂRII CIRCUITELOR DIGITALE MIXTE Cele patru zone ale structurii circuitelor digitale, considerate în accepţiunea cea mai generală de circuite cu structură logică mixtă, prezintă fiecare particularităţi care permit implementări specifice:

- zona A de intrare, a circuitelor de echivalenţă sau non-echivalenţă sugerează o implementare specifică comparatoarelor analogice care au ieşire digitală, de tip DA-NU; - zona B, intermediară permite o implementare tipică circuitelor binare; - zona C de porţi cu două intrări de tip diferit (una binară şi cealaltă multivalentă) sugerează implementarea acestor porţi în logică de tip canal, în care intrarea binară comandă accesul prin canal a semnalului multivalent (sau continuu), cum sunt, de exemplu, porţile de transmisie din tehnologia CMOS, sau releele, care vor fi prezentate într-un alt capitol al lucrării; - zona D a porţilor de ieşire, a căror funcţie logică multivalentă, având de fiecare dată doar o singură intrare activă, poate fi implementată în logică cablată, în condiţiile în care zona C este realizată în logică de tip canal, adică toate ieşirile porţilor din zona C care intră într-o poartă de ieşire sunt conectate în scurt circuit, aşa cum sunt cuplate pe o magistrală binară de date diferitele dispozitive cu ieşire tri-state ; în acest caz logica cablată va fi denumită logică „(M+1)-state”, prin analogie cu logica „tri-state” binară (în acest caz, (M+1) stare fiind de decuplare, prin blocarea canalului, de la accesul în nodul comun de interconectare. Figura F-11.5 prezintă un mod de simbolizare şi funcţia porţilor de tip „(M+1)-state”, porţi cu comandă directă sau complementată.

Fig. F-11.5 Porţi „(M+1)-state” (logică tip canal) Pentru porţile din figura F-11.5 se vor folosi următoarele convenţii

pentru a desemna intrarea şi comanda porţilor tip canal: - pentru o poartă cu comandă c directă şi intrare x pe canal (vezi fig.

F-11.5, partea de sus):

386 11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ

(11.3) y = x*c - pentru o poartă cu comandă c complementată şi intrare x pe canal (vezi fig. F-11.5, partea de jos): (11.4) cxy *=

Figura F-11.6 prezintă simboluri pentru porţi tip canal unidirecţionale şi bidirecţionale:

Fig. F-11.6 Simboluri pentru logică tip canal Porţi unidirecţionale şi porţi bidirecţionale Pentru porţile bidirecţionale din figura F-11.6 se vor folosi

următoarele convenţii pentru a desemna intrarea şi comanda porţilor tip canal:

- pentru o poartă cu comandă c directă şi intrare x pe canal (vezi fig. F-11.6.b, partea de sus): (11.5) y = x**c - pentru o poartă cu comandă c complementată şi intrare x pe canal (vezi fig. F-11.6.b, partea de jos): (11.6) cxy **=

11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ 387

Figurile F-11.7.a şi F-11.7.b prezintă modul de folosire a logicii de tip canal pentru implementarea părţii de ieşire a circuitelor combinaţionale multivalente, sub prima şi, respectiv, cea de a doua formă canonică.

Fig. F-11.7 a Folosirea logicii canal în implementarea părţii de

ieşire a circuitelor combinaţionale multivalente: - cazul primei forme canonice

Notă N-11.4: Lucrând în logică „(M+1)-state”, este necesară, chiar pentru prima formă canonică, considerarea şi a părţii

de funcţie care are valoarea 0, precum şi transmiterea explicită a valorii (M-1) prin poartă tip canal. Altfel, ieşirea funcţiei ar manifesta ieşire de mare impedanţă (linie întreruptă) în asemenea situaţii.

Întrucât, în cazul primei forme canonice, valoarea 0 cuprinde în expresia funcţiei toate situaţiile neconsiderate în optimizare, s-ar complica expresia funcţiei, dacă s-ar lua explicit în considerare aceste situaţii. Acest lucru poate fi evitat, dacă se foloseşte pentru comanda porţii canal corespunzătoare valorii 0 maximul logic complementat al ieşirii comenzilor celorlalte porţi canal.

388 11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ

Fig. F-11.7 b Folosirea logicii canal în implementarea părţii

de ieşire a circuitelor combinaţionale multivalente: - cazul celei de a doua forme canonice

Notă N-11.5: Lucrând în logică „(M+1)-state”, este necesară, chiar pentru

a doua formă canonică, considerarea şi a părţii de funcţie care are valoarea (M-1), precum şi transmiterea explicită a valorii 0 prin poartă tip canal. Altfel, ieşirea funcţiei ar manifesta ieşire de mare impedanţă (linie întreruptă) în asemenea situaţii. Întrucât, în cazul celei de a doua forme canonice, valoarea (M-1) cuprinde în expresia funcţiei toate situaţiile neconsiderate în optimizare, s-ar complica expresia funcţiei, dacă s-ar lua explicit în considerare aceste situaţii. Acest lucru poate fi evitat, dacă se foloseşte pentru comanda porţii canal corespunzătoare valorii (M-1) minimul logic complementat al ieşirii comenzilor celorlalte porţi canal.

Cu precizările făcute mai înainte, schemele din fig. F-11.3 şi F-11.4

au structurile din fig. F-11.8 şi, respectiv, F-11.9, atunci când se folosesc porţi tip canal pentru partea de ieşire.

11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ 389

Fig. F-11.8 Circuit combinaţional multivalent mixt Prima formă canonică Structură implementată cu porţi canal pe ieşire

Notă N-11.6 (la fig. F-11.8): - Condiţii de compatibilitate:

⎢⎣

⎡=−

=

2N

2N

11)(N00

şi

02 = nivel „OFF” al porţii canal (poartă tip „ (M+1) state”), 12 = nivel „ON” al porţii canal.

- Este necesară folosirea şi a semnalelor 0M şi (M-1)M (vezi nota N-11.2), pentru că poarta este de tip canal şi în poziţia ON nu preia comenzile drept semnal pe canal, iar în poziţia OFF manifestă impedanţă mare, şi nu semnal 0M.

390 11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ

Fig. F-11.9 Circuit combinaţional multivalent mixt A doua formă canonică Structură implementată cu porţi canal pe ieşire

Nota N-11.7 (la fig. F-11.9): - Condiţii de compatibilitate:

⎢⎣

⎡=−

=

2N

2N

11)(N00

şi

02 = nivel „ON” al porţii canal (poartă tip „ (M+1) state”), 12 = nivel „OFF” al porţii canal.

- Este necesară folosirea şi a semnalelor (M-1)M şi 0M (vezi

nota N-9.16), pentru că poarta este de tip canal şi în poziţia ON nu preia comenzile drept semnal pe canal, iar în poziţia OFF manifestă impedanţă mare, şi nu semnal (M-1)M.

11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ 391

11.05. STRUCTURA GENERALĂ A CIRCUITELOR DIGITALE MIXTE CU

MAI MULTE IEŞIRI

Extrapolând modelul organizării structurale a unui circuit digital multivalent cu o singură ieşire (fig. F-11.3 – F-11.4 şi F-11.8 – F-11.9), se obţin schemele din figurile F-11.10 – F-11.13, în care este prezentată structura mixtă a circuitelor multivalente cu mai multe ieşiri, sub prima şi a doua formă canonică, atât sub forma unei implementări logice generale (fig. F-11.10 şi F-11.11), cât şi sub forma unor implementări folosind porţi de tip canal (fig. F-11.12 şi F-11.13).

Fig. F-11.10 Circuit combinaţional multivalent mixt cu mai multe ieşiri

- prima formă canonică Nota N-11.8 (la fig. F-11.10):

Condiţii de compatibilitate funcţională pentru circuitul reprezentat în fig. F-11.10:

0N = 02 = 0M (N-1)N = 12 = (M-1)M

Porţile de intrare (circuitele de echivalenţă) au intrări cu valori în ZN şi ieşirea în Z2

Porţile intermediare au intrări si ieşiri în Z2 Porţile AND din grupa de ieşire au o intrare în Z2 şi

una în ZM, iar ieşirea în ZM porţile OR de ieşire funcţionează intrare-ieşire in ZM,

dar au câte o singură intrare diferită de 0M

392 11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ

Fig. F-11.11 Circuit combinaţional multivalent mixt cu mai multe ieşiri - a doua formă canonică Nota N-11.9 (la fig. F-11.11):

Porţile de intrare (circuitele de non-echivalenţă) au intrări cu valori în ZN şi ieşirea în Z2

Condiţii de compatibilitate funcţională pentru circuitul reprezentat în fig. F-11.11:

0N = 02 = 0M (N-1)N = 12 = (M-1)M

Porţile intermediare au intrări si ieşiri în Z2 Porţile OR din grupa de ieşire au o intrare în Z2 şi

una în ZM, iar ieşirea în ZM porţile AND de ieşire funcţionează intrare-ieşire in

ZM, dar au câte o singură intrare diferită de (M-1)M

11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ 393

Fig. F-11.12 Circuit combinaţional multivalent mixt cu mai multe ieşiri

implementat cu porţi canal pe ieşire - prima formă canonică

- implementare cu porţi de tip canal şi logică „(M+1) state”

Nota N-11.10 (la circuitul din fig. F-11.12):

- Porţile de ieşire de tip OR din schema din fig. F-11.10 sunt implementate în fig. F-11.12 prin conectarea în scurt circuit a ieşirilor porţilor NAND, realizate cu porţi tip canal, cu condiţia ca nivelul 02 al semnalului binar c să corespundă nivelului de OFF al comenzii porţii canal, iar nivelul 12 al lui c să corespundă nivelului de ON al comenzii porţii canal:

- Alte condiţii de compatibilitate funcţională: • 0N = 02 • (N-1)N = 12

- Este necesară şi folosirea semnalelor 0M si (M-1)M, pentru că porţile de ieşire sunt de tip canal si nu preiau comenzile drept semnale pe canal, iar în poziţia OFF manifestă impedanţă mare. şi nu semnal 0M.

394 11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ

Fig. F-11.13 Circuit combinaţional multivalent mixt cu mai multe ieşiri

- a doua formă canonică - implementare cu porţi de tip canal şi logică „(M+1) state”

Nota N-11.11 (la circuitul din fig. F-11.13):

- Porţile de ieşire de tip AND din schema din fig. F-11.11 sunt

implementate prin conectarea în scurt circuit a ieşirilor porţilor OR, realizate în fig. F-11.13 prin porţi de tip canal, cu condiţia ca nivelul 12 al semnalului binar c să corespundă nivelului de OFF al comenzii porţii canal, iar nivelul 02 al lui c să corespundă nivelului de ON al comenzii porţii canal:

- Alte condiţii de compatibilitate funcţională: • 0N = 02 • (N-1)N = 12

- Este necesară şi folosirea semnalelor 0M si (M-1)M, pentru că porţile de ieşire sunt de tip canal si nu preiau comenzile drept semnale pe canal, iar în poziţia OFF manifestă impedanţă mare. şi nu semnal (M-1)M.

11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ 395

11.06. OPTIMIZAREA GLOBALĂ A STRUCTURII CIRCUITELOR DIGITALE MIXTE CU MAI MULTE IEŞIRI, FOLOSIND METODA DISCRIMINĂRII.

Tratarea vectorială a ieşirii multiple a unui circuit multivalent (sau binar) cu mai multe ieşiri.

11.06.01. PRINCIPIUL DE OPTIMIZARE GLOBALĂ O funcţie digitală F de n variabile x1,x2,...,xn ∈ ZN şi având p ieşiri y1,y2,...,yp ∈ ZM se poate scrie, aşa cum am arătat şi mai înainte, astfel:

(11.7) F(x1,x2,...,xn) = Y, unde Y = (y1,y2,...,yp)

Valorile lui F, corespunzătoare fiecărei combinaţii specificate în

tabelul de valori, se consideră a fi vectorii (y1,y2,...,yp), sau altfel spus, numerele de p cifre scrise în baza de numeraţie M.

Considerând aşa tabelul de valori al funcţiei F, rezultă că funcţia apare ca având o singură ieşire Y multivalentă, care, deşi nu este livrată printr-un singur terminal (fir), permite simplificarea funcţiei prin aplicarea metodei discriminării.

O asemenea abordare, tratând ieşirea ca un vector, permite o optimizare globală sistematică a structurii unui circuit digital cu mai multe ieşiri, spre deosebire de metoda simplificării pe fiecare ieşire în parte, care tratează circuitul ca fiind alcătuit din p circuite separate, toate având aceleaşi variabile de intrare şi urmărindu-se apoi să se identifice porţiuni comune între aceste circuite separate, procedeu care nu garantează, în general, optimizarea globală ca o reţea comună, unică.

Se menţionează că şi în cazul binar metoda prezentată aici permite o asemenea optimizare globală, dar, de această dată, metoda de simplificare aplicabilă este cea a discriminării, pentru că şi în cazul binar ieşirea trebuie tratată multivalent, fiind considerată ca un vector binar de p componente binare. Obţinerea efectivă a ieşirilor funcţiei se face, conform metodei prezentate, în următoarele etape: a) - stabilirea termenilor discriminaţi (AND-uri din circuite de echivalenţă, în cazul primei forme canonice şi OR-uri din circuite de non-echivalenţă, în cazul celei de a doua forme canonice), folosind metoda discriminării, aplicată prin folosirea ieşirilor vectoriale din tabelul de valori al funcţiei; se obţin astfel zonele A şi B1 prezentate în cap. 11.2 – 11.4; b) - folosirea în comun a termenilor discriminaţi pentru formarea ieşirilor punctuale ale funcţiei (reprezentate prin variabilele y1,y2,...,yp ale vectorului de ieşire Y), termenii fiind grupaţi şi pe valori (0,1,...,(M-1)) ale

396 11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ

funcţiei: circuitele OR (prima formă canonică), sau AND (a doua formă canonică) din zona B2 prezentată în cap. 11.2 – 11.4; c) - porţi (AND, în cazul primei forme canonice şi OR, în cazul celei de a doua forme canonice) de transmitere a valorilor (0,1,...,(M-1)) funcţiei spre ieşirea punctuală, reprezentate prin zona C în cap. 11.2 – 11.4; d) - porţile de ieşire punctuală (OR, în cazul primei forme canonice şi AND, în cazul celei de a doua forme canonice), reprezentate prin zona D în cap. 11.2 – 11.4. 11.06.02. EXPRESIILE ANALITICE ALE FUNCŢIEI Se notează prin mi min-termenii (produsele) implicanţi simplificaţi ai primei forme canonice: (11.8) ∏=

mmmi )v,e(xm

unde m reprezintă numărul componentei din vectorul implicant minim simplificat (mi); vm este valoarea variabilei xm, din poziţia m a vectorului mi.

Se notează prin Mj max-termenii (produalele) implicanţi simplificaţi ai celei de a doua forme canonice: (11.9) )v,(xeM MM

Mj ∑=

unde M reprezintă numărul componentei din vectorul implicant minim simplificat (Mj); vM este valoarea variabilei xM din poziţia M a vectorului Mj.

Cu aceste notaţii, expresiile analitice ale funcţiei F cu ieşiri multiple, sub prima şi a doua formă canonică, se pot scrie astfel: a) - prima formă canonică: (11.10):

====).am,...,.am,.a(m

...).am,...,.am,.a(m

)a,...,a,.(am...

)a,...,a,.(am

.Am...

.AmF

kpkk2kk1k

1p1121111

kpk2k1k

1p12111

kk

11

I

[ ]p21

kpk

1p1

k2k

121

k1k

111

,...yy,y.am

....am

,...,.am

....am

,.am

....am

=⎥⎥⎥

⎢⎢⎢

=

sau

11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ 397

(11.11) p)1,2,...,(j,.am

....am

y

kjk

1j1

j(I) ==

În expresiile (11.10) şi (11.11), prin Ai = (ai1,ai2, ... ,aip), (i = 1,2, ... ,k)

s-au notat valorile vectorului de ieşire (y1, y2, ... , yp) = (y1(I), y2(I), ... , yp(I))

corespunzătoare mintermenilor m1, m2, ... , mk, rezultaţi din optimizarea prin discriminare.

Indicele (I) arată că funcţiile de ieşire sunt sub prima formă canonică. Nota N-11.12: Dacă ieşirea circuitului care implementează funcţia F este

realizată cu porţi de tip canal, atunci în expresia lui yj(I) se păstrează şi termenii care au arj=0 şi asj=(M-1), pentru că valorile 0 şi (M-1) nu mai se mai pot genera de reţeaua logică de comandă a porţii canal (întrucât aceste porţi sunt deschise sau închise, iar când sunt deschise ele reprezintă canalul semnalului de la intrarea lor, iar când sunt blocate, ele se comportă ca o linie întreruptă).

În cazul implementărilor normale, cu porţi logice obişnuite (fie ele binare sau multivalente), se şterg din expresia lui yj(I) factorii care au arj=0 şi nu se trece valoarea asj=(M-1).

b) - a doua formă canonică:

(11.12): ====kp

k

k1

k

1p

1

11

1

kpk1

k

1p11

1

k

k

1

1II b

M,...,

bM

...bM

,...,bM

b,...,(bM

...b,...,(b

MBM

...BM

F

[ ]p1kp

k

1p

1

k1

k

11

1 y,...,ybM

...bM

,...,bM

...bM

=⎥⎥⎦

⎢⎢⎣

⎡⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛= ,

sau

(11.13) p)1,2,...,(j,bM

...bM

ykj

k

1j

1j(II) ==

În expresiile (11.12) şi (11.13), prin Bi = (bi1,bi2, ... ,bip), (i = 1,2, ... ,k)

s-au notat valorile vectorului de ieşire (y1, y2, ... , yp) = (y1(II), yp(II), ... , yp(II))

corespunzătoare maxtermenilor M1, M2, ... , Mk, rezultaţi din optimizarea prin discriminare.

Indicele (II) arată că funcţiile de ieşire sunt sub a doua formă canonică. Nota N-11.13: Dacă ieşirea circuitului care implementează funcţia F este realizată cu porţi de tip

398 11, SIMPLIFICAREA GOBALĂ A FUNCŢIILOR CU IEŞIRE VECTORIALĂ

canal, atunci în expresia lui yj(II) se păstrează şi termenii care au brj=0 şi bsj=(M-1), pentru că valorile 0 şi (M-1) nu mai se mai pot genera de reţeaua logică de comandă a porţii canal (întrucât aceste porţi sunt deschise sau închise, iar când sunt deschise ele reprezintă canalul semnalului de la intrarea lor, iar când sunt blocate, ele se comportă ca o linie întreruptă). În cazul implementărilor normale, cu porţi logice obişnuite (fie ele binare sau multivalente), se şterg din expresia lui yj(II) factorii duali care au brj=(M- 1) şi nu se trece valoarea bsj=0. 11.06.03. MODUL DE IMPLEMENTARE Implementarea funcţiilor cu ieşiri multiple (sau cu o singură ieşire), multivalente (sau binare), optimizate conform metodei expuse mai înainte, implică o structurare pe patru zone, aşa cum este expusă în cap. 11.5.

12. OPTIMIZAREA FUNCŢIILOR DIGITALE ÎN VEDEREA IMPLEMENTĂRII LOR PE S.L.P. 399

12. OPTIMIZAREA FUNCŢIILOR

DIGITALE ÎN VEDEREA IMPLEMENTĂRII LOR PE STRUCTURI LOGICE PROGRAMABILE

12.01. ALEGEREA FORMEI CANONICE

Structurile logice programabile (prescurtat, SLP) au specifică organizarea internă a porţilor care se interconectează prin programarea interconexiunilor, astfel încât ea să corespundă implementării funcţiilor numai sub una dintre cele două forme canonice, în binar folosindu-se, de obicei, prima formă canonică, oferindu-se în schimb posibilitatea de a livra ieşirea atât sub formă directă, cât şi complementată.

Alegerea formei canonice ţine cont de următoarele:

• structurile logice programabile oferă un număr limitat de porţi pentru implementarea termenilor obţinuţi prin simplificare;

• numărul de intrări al porţilor care implementează termenii minimizaţi: o asigură, în cazul structurilor programabile mai simple,

prelucrarea tuturor variabilelor de intrare; o este, în cazul structurilor programabile mai complexe, limitat,

fiecare poartă putând să prelucreze un număr mai mic decât al variabilelor, folosindu-se, pentru un număr mai mare de factori, porţi pe mai multe nivele.

Prin urmare, în unele implementări contează şi reducerea numărului

de factori în aceşti termeni, dar în toate cazurile contează numărul acestor termeni, minimizat global pentru întreaga reţea a funcţiei cu ieşiri multiple.

În acest sens, metoda prezentată de simplificare prin discriminare vectorială (considerând ieşirea multiplă a funcţiei ca pe un vector, reprezentând astfel o ieşire unică multivalentă, chiar şi în cazul binar) asigură minimizarea numărului de factori din termeni, dar având în principal în vedere minimizarea globală, deci reducerea numărului de termeni la nivelul întregii reţele cu ieşiri multiple.

În asemenea condiţii, optimizarea funcţiilor digitale (binare sau multivalente, în general) se realizează aplicând metoda simplificării globale, prin folosirea tehnicii discriminării multivalente, cu specificarea că termenii funcţiei sunt de tip MIN-termeni (în cazul folosirii unor SLP structurate pe prima formă canonică), sau de tip MAX-termeni (în cazul folosirii unor SLP – dacă se oferă şi asemenea structuri – structurate pe a doua formă canonică).

400 12. OPTIMIZAREA FUNCŢIILOR DIGITALE ÎN VEDEREA IMPLEMENTĂRII LOR PE S.L.P.

12.02. PRELUCRAREA IEŞIRII FUNCŢIEI, CONFORM CU FORMA CANONICĂ STRUCTURATĂ ÎN SLP

O ieşire y ∈ ZM=⎨0M, 1M, ... , (M-1)M⎬ a unei funcţii multivalente poate fi

reprezentată, în urma optimizării, printr-un tabel, de forma celui de mai jos:

(12.1)

1)(MM

1M

0M

V*1)-(M

...V*1

V*0

y

=

unde Vi , (i=0,1, ... , (M-1)) reprezintă lista vectorilor implicanţi minimizaţi prin metoda discriminării, pentru valoarea i ∈ZM a unei ieşiri y: (12.2) Vi = ⎨vik ⁄ (i=0,1, ... ,k(i))⎬,

unde vik sunt vectori implicanţi minimizaţi, pentru valoarea i a lui y, având, în cazul primei forme canonice, expresia logică vik

*(I) de forma:

(12.3) ∏=j

ikjjikj*

ik )a,(xe(I)v ,

iar în cazul celei de a doua forme canonice, expresia logică vik*(II) de forma:

(12.4) ∑=

jikjjikj

*ik )a,(xe(II)v

unde j reprezintă poziţia din tabelul de valori a variabilei de intrare xj care apare în expresia vectorului vik

* (parantezele indicând forma canonică se pun doar acolo unde este necesară specificarea), iar aikj reprezintă valoarea din tabel atribuită variabilei xj în expresia vectorului vik. În expresiile de mai sus, precum şi în cele ce urmează, se notează cu * funcţia vectorului, spre a o deosebi de vectorul listă (de exemplu, funcţia vector vik

*, corespunzătoare vectorului vik). Funcţia vector vik

* este binară, având valorile 02 = 0N-1 şi 12 = (N-1)N-1:

(12.5) ⎢⎣

=

===

în_rest,când,

1-N2

ikjjN2*ik 00

a_x1)-(N1(I)v

(12.6) ⎢⎣

⎡ ==

în_rest,când,

2

ikjj2*ik 1

a_x0(II)v

Cu aceste notaţii, expresiile ieşirii y, sub prima sau a doua formă canonică sunt următoarele:

12. OPTIMIZAREA FUNCŢIILOR DIGITALE ÎN VEDEREA IMPLEMENTĂRII LOR PE S.L.P. 401

(12.7)

*1M

*2MM

*1M

*1MM

*2MM

*1M

*0M

I

V

.V2)(M

....V1

.V1)(M

.V2)(M

....V1

.V0

y

−=

=

(12.8)

*2M

M*

1

M*0*

1M

M*

2M

M*

1

M*

0

MII V

2)(M...

V

1.V

V

1)(M

V

2)(M...

V

1

V

0y

−−−

−=

−−=

În cazul binar, expresiile de mai sus devin: (12.9) *

1I Vy = (12.10) *

0II Vy =

402 12. OPTIMIZAREA FUNCŢIILOR DIGITALE ÎN VEDEREA IMPLEMENTĂRII LOR PE S.L.P.

12.03. ADAPTAREA FUNCŢIEI PE TIPUL SLP, FOLOSIND COMPLEMENTAREA IEŞIRILOR

SLP binare au posibilitatea de a livra ieşirile sub formă directă sau complementată.

Această facilitate a alegerii ieşirii directe sau complementate permite ca pentru fiecare ieşire să se poată alege varianta (prima sau a doua formă canonică) care are cei mai puţin termeni care intră în componenţa circuitului de ieşire, termeni rezultaţi din procesul de optimizare prin discriminare.

Astfel, dacă varianta cu număr minim de termeni nu corespunde formei canonice specifice structurii logice programabile, atunci se aplică teoremele lui De Morgan acestei variante, obţinându-se forma canonică acceptată de structura logică programabilă, ceea ce presupune schimbarea operatorilor cu operatorii duali corespondenţi (MIN în MAX, şi MAX în MIN, obţinându-se astfel forma canonică acceptată de SLP), complementarea variabilelor de intrare, fiind necesară şi complementarea ieşirii, facilitate asigurată de structură, aşa cum s-a precizat mai înainte.

Aplicarea, dacă forma optimă a funcţiei diferă de forma canonică a SLP, a teoremelor lui De Morgan şi complementarea ieşirilor multivalente, precum în cazul funcţiilor binare, implică complementarea unor semnale (ieşiri, în cazul de faţă) multivalente, în schimb circuitele de complementare multivalentă pot pune probleme de implementare. Un asemenea inconvenient poate fi evitat, printr-o altfel de prelucrare logică a ieşirii, care implică doar complementarea unor semnale binare, aşa cum se prezintă în subcapitolul următor. Aici însă vom analiza cazul general (binar şi multivalent) al soluţiei care implică complementarea ieşirilor. Astfel, pentru un SLP structurat după prima formă canonică, o ieşire y optimizată după a doua foError! Bookmark not defined.rmă canonică are expresia (12.8). Aplicând teoremele lui de Morgan asupra acestei expresii a lui yII, se obţine:

(12.11)

*2M

*1

*0

*2M

*1

*0

II

1.V

...2).V-(M

V

.V2)(M

....V1

V

y

−−

=

=

Pentru obţinerea părţii a doua a relaţiei (12.11) s-a aplicat definiţia operatorului de complementare în mulţimea ZM, reamintită aici: (12.12) x1)(Mx −−=

Se constată, din relaţia (12.11), că nu este necesară decât complementarea ieşirii, iar operatorii de tipul e (non-echivalenţă) din

produsele duale ale termenilor de tipul *iV se transformă în operatori de tip

e (echivalenţă) în produsele termenilor *iV .

În cazul binar (vezi relaţiile (12.9) şi (12.10)), afirmaţiile de mai sus se reduc la complementarea ieşirii, iar variabilele care intervin în produsele duale ale lui *

0V se complementează în produsele din *1V .

12. OPTIMIZAREA FUNCŢIILOR DIGITALE ÎN VEDEREA IMPLEMENTĂRII LOR PE S.L.P. 403

12.04. ADAPTAREA FUNCŢIEI PE TIPUL

SLP, PRIN PRELUCRAREA LOGICĂ A IEŞIRILOR

Întrucât operaţia de complementare multivalentă poate pune

probleme de implementare sub formă de circuit, se propune în continuare un alt mod de adaptare a unei funcţii pe tipul SLP.

Se urmăreşte să se pună funcţia sub o formă care să evite complementarea ieşirii, care este pur multivalentă, prin complementarea unor variabile binare din structura funcţiei, operaţie implementabilă prin tehnologii binare cunoscute.

Diferenţa de complexitate dintre prima şi a doua formă canonică

constă în diferenţa de complexitate dintre V0* şi VM-1

*, pentru că, după cum rezultă din relaţiile (12.7) şi (12.8), prima funcţia yI conţine V1

*, V2*, ... , VM-1

* , iar funcţia yII conţine V0

*, V1*, ... , VM-2

* , fapt verificat şi în cazul binar, prin diferenţa dintre V0

* şi V1*.

Astfel, pentru a genera prima formă canonică dintr-o funcţie pusă sub a doua formă canonică, păstrând termenii acesteia din urmă, tot ce este necesar constă în obţinerea lui VM-1

*, pe baza celorlalte funcţii componente ale lui yII, adică să determinăm o funcţie de forma:

(12.13) VM-1

*= g1(V0*, V1

*, ... , VM-2*)

Pentru operaţia inversă, de generare a celei de a doua forme

canonice pe baza unei funcţii puse sub prima formă canonică (cazul unui ipotetic SLP multivalent organizat intern pentru a doua formă canonică), păstrând termenii din prima formă canonică, este necesară obţinerea lui

*0V , pe baza celorlalte funcţii componente ale lui yI, adică să determinăm o

funcţie de forma: (12.14) *

0V = g0(*

1V , *2V , ... , *

1-MV ) În primul caz, funcţia VM-1

* are următoarele valori: (12.15)

⎩⎨⎧

======−=

= −− în_rest

pentru_,00

00V...V_V_,1)(M1VM2

M2*

2M*

1*

0M2*1M

În cazul al doilea, funcţia *0V are următoarele valori:

(12.16)

⎩⎨⎧

=======

= −

în_restpentru

_,1)-(M11)-(M1V...VV__,00V

M2

M2*

1M*

2*

1M2*0

404 12. OPTIMIZAREA FUNCŢIILOR DIGITALE ÎN VEDEREA IMPLEMENTĂRII LOR PE S.L.P.

În calculul relaţiilor de mai sus se ţine cont de relaţiile de compatibilitate funcţională şi de implementare, prezentate într-un capitol anterior:

(12.17) ⎩⎨⎧

==−==−

M2N

M2N

0001)(M11)(N

Din relaţia (12.15) rezultă expresia logică a lui VM-1

*:

(12.18)

*2M

*1

*0

*1M

V

...V

V

V

− = ,

iar din relaţia (12.16) rezultă expresia logică a lui *0V :

(12.19) *1M

*2

*1

*0 V...V.VV −=

Introducând valoarea lui VM-1* din relaţia (12.18) în relaţia (12.7),

rezultă exprimarea lui yII pentru a fi realizat cu un circuit SLP sub prima formă canonică:

(12.20)

*2M

*1

*0

*2MM

*1M

II

V

...V

V

.V2)(M

....V1

y

−−

=

Figura F-12.1 prezintă schema logică a unui circuit de ieşire din SLPI, realizată conform relaţiei (12.20).

12. OPTIMIZAREA FUNCŢIILOR DIGITALE ÎN VEDEREA IMPLEMENTĂRII LOR PE S.L.P. 405

Fig. F.12.1 Unul din circuitele de ieşire al unei SLPI realizat

cu porţi logice normale (vezi relaţia 10.20) Similar, introducând expresia lui *

0V din relaţia (12.19) în relaţia (12.8), rezultă exprimarea lui yI pentru a fi realizat cu un circuit SLP sub a doua formă canonică:

(12.21) *2M

M*

1

M*1M

*2

*1I V

2)(M...

V1

.V...V.Vy−

−=

Figura F-12.2 prezintă schema logică a unui circuit de ieşire din SLPII, realizată conform relaţiei (12.21).

Fig. F.12.2 Unul din circuitele de ieşire al unei SLPII realizat cu porţi logice normale (vezi relaţia 10.21)

406 12. OPTIMIZAREA FUNCŢIILOR DIGITALE ÎN VEDEREA IMPLEMENTĂRII LOR PE S.L.P.

12.05. IMPLEMENTĂRI TIP SLP CU PORŢI CANAL PE IEŞIRE

În cazul realizării circuitelor de ieşire cu porţi de tip canal, se folosesc, aşa cum s-a arătat mai înainte, toate valorile de ieşire ale funcţiei.

În funcţie de diferenţa de complexitate dintre V0* şi VM-1

*, se alege

implementarea uneia prin cealaltă, sau invers, indiferent de forma canonică a SLP:

a) - cazul folosirii SLPI (SLP organizate după prima formă canonică): În acest caz, implementarea lui yII şi yI folosind SLPI se face conform relaţiilor (12.20) şi (12.21):

(12.22)

*2M

*1

*0

M

*2-MM

*1M

*0M

II

V

...V

V

*1)(M

V*2)-(M

...V*1

V*0

y

=

(12.23)

*1-MM

*2-MM

*1M

*1M

*2

*1

M

I

V*1)-(M

V*2)-(M

...V*1

V

...V

V

*0

y

=

Figura F-12.3 prezintă schema logică a unui circuit de ieşire al SLPI, realizat conform relaţiilor (12.22) şi (12.23).

Fig. F.12.3. Unul din circuitele de ieşire al unei SLPI realizat cu porţi de

ieşire tip canal (vezi relaţia 10.22 şi 10.23)

12. OPTIMIZAREA FUNCŢIILOR DIGITALE ÎN VEDEREA IMPLEMENTĂRII LOR PE S.L.P. 407

b) - cazul folosirii SLPII (SLP organizate după a doua formă

canonică): Implementările lui yI şi yII cu SLPII se face conform relaţiilor (11.24) şi (12.25):

(12.24) )V*1).((M

).V*2))...(MV*).(1V...V.V*(0y*

1MM

*2MM

*1M

*1M

*2

*1MI

−−

−=

(12.25)

)V...V.V*1)).((MV*2))...((MV*).(1V*(0y *2M

*2

*0M

*2MM

*1M

*0MII −− −−=

În relaţiile (12.22) – (12.25) s-au folosit următoarele convenţii pentru a desemna intrarea şi comanda porţilor tip canal:

- pentru o poartă cu comandă c directă şi intrare x pe canal (vezi fig. F-11.5, partea de sus): (12.26) x*c - pentru o poartă cu comandă c complementată şi intrare x pe canal (vezi fig. F-11.5, partea de jos): (12.27) c*x

Figura F-12.4 prezintă schema logică a unui circuit de ieşire al SLPII, realizat conform relaţiilor (12.24) şi (12.25).

Fig. F.12.4. Unul din circuitele de ieşire al unei SLPII realizat cu porţi de

ieşire tip canal (vezi relaţia 10.24 şi 10.25)

408 12. OPTIMIZAREA FUNCŢIILOR DIGITALE ÎN VEDEREA IMPLEMENTĂRII LOR PE S.L.P.

Fig.F.12.5. Circuitul de intrare si si circuitul median al unui

SLPI (circuitul care genereaza functiile vector: V*0,…,V*

M-1) Figura F-12.6 prezintă circuitul de intrare şi circuitul median al unei SLPII, cel care generează funcţiile vector *

0*

0*

0 ,...,, VVV .

Fig.F.12.6. Circuitul de intrare si si circuitul median al unui

SLPII (circuitul care genereaza functiile vector: *0V ,…, *

1−MV )

13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE 409

13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE

Implementări tip S.L.P. - exemple –

13.01. TERMINOLOGIE - CLASIFICĂRI În gama largă de aplicaţii ale circuitelor combinaţionale se disting

câteva, care se pot clasifica, după cum urmează: a - circuite de transcodare, denumite şi:

transcodori, transformatori de cod Numele de circuit de transcodare sau transcodor (sau

transformator de cod) este dat în algebra binară circuitelor combinaţionale cu mai multe ieşiri, având semnificaţia transformării codificării informaţiei din n biţi pe intrare într-o codificare pe p biţi la ieşire, modul de transformare fiind specificat prin funcţia circuitului.

Specifică acestor circuite este corespondenţa 1 la 1

(biunivocă) între stările intrării şi stările ieşirii. În categoria acestor circuite se întâlnesc denumirile de: - decodificator, sau decoder (denumirea în engleză), denumire dată circuitelor a căror ieşire prezintă în clar, descifrat, semnificaţia informaţiei codificate de la intrare, de exemplu:

♦ decodificator BCD – 7 segmente, care transformă corespondentul binar al cifrei zecimale într-o codificare cu 7 cifre binare, care specifică segmentele care trebuie aprinse într-un sistem de afişare a cifrei prin 7 segmente;

♦ decodificator BCD – zecimal, care transformă corespondentul binar al cifrei zecimale într-un semnal activ pe un terminal de ieşire corespunzător cifrei;

- codificator, sau encoder (denumirea în engleză), denumire dată unor circuite care realizează funcţia inversă decodificatorului, de exemplu:

♦ encoder zecimal - BCD, care transformă codificarea binară a cifrei zecimale, în care fiecare cifră zecimală este reprezentată separat prin câte o variabilă binară, corespondentul binar al cifrei zecimale (codificarea BCD) ;

410 13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE

b - circuite de selecţie, clasificate în: - multiplexori (prescurtat, MUX), sau selectori, care, în funcţie de starea intrărilor de selecţie, transmit intrarea selectată pe ieşirea unică a circuitului; - demultiplexori (prescurtat DMUX), sau distribuitori, care, în funcţie de starea intrărilor de selecţie, distribuie intrarea unică a circuitului pe ieşirea selectată;

c - circuite de deplasare

În aceste circuite, vectorul de ieşire (ale cărui elemente reprezintă ieşirile circuitului) se obţine deplasând cu un număr de poziţii, stânga sau dreapta, elementele din vectorul de intrare (care reprezintă intrările circuitului). d - circuite realizând funcţia „majoritate”

Aceste circuite mai sunt denumite şi „selectoare k/n”, pentru că selectează k stări identice ale intrării din totalul de n stări. Atunci când k ≥ n, apare semnificaţia de „majoritate”, de unde provine, prin extrapolare, şi denumirea acestor circuite. e - comparatori digitali

Aceste circuite compară numere între ele, identificând egalitatea, pe cel mai mare, sau pe cel mai mic.

Aceste circuite reprezintă o extensie a circuitelor de demultiplexare, în sensul că, de această dată, se distribuie un vector de intrare, f - circuite de paritate

Aceste circuite identifică într-un vector binar, dacă numărul poziţiilor având valoarea „1” este par sau impar. g - circuite aritmetice, care includ:

- circuite de adunare - circuite de scădere - circuite de însumare algebrică (sumă algebrică cu semn) - circuite de înmulţire - circuite de împărţire,

Cu asemenea circuite, a căror gamă de funcţii nu se limitează, în principiu, la cele de mai sus, se pot realiza operaţiile specificate, fie în binar, fie în zecimal (codificare BCD), fie în alt sistem de numeraţie, iar codificarea informaţiei poate fi binară sau multivalentă, aşa cum se va exemplifica într-un capitol următor.

În acest capitol se vor prezenta circuitele de transcodare, specificate mai sus în grupa a).

13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE 411

13.02. CONVERTORI DE COD ZECIMAL Acest exemplu prezintă sinteza logică a circuitelor de transformare a informaţiei zecimale dintr-o codificare în alta. Sunt prezentate în tabelul Tb-13.1 patru codificări diferite şi se proiectează circuitele de conversie de cod între diferite combinaţii intrare-ieşire.

Tabelul Tb-13.1

În tabelul Tb-13.1, în rândul de sus sunt trecute denumirile codificărilor cifrelor zecimale, iar în rândul de jos sunt trecute variabilele informaţiei codificate. 13.02.01. CONVERTOR DE COD ZECIMAL

10(Z5) → 10(Z2-BCD)

Se realizează simplificarea prin discriminare în raport cu ieşirea vectorială, obţinându-se vectorii implicanţi vi(w,u) (tabelul Tb-13.1), corespunzători ieşirilor (dcba), unde (i=0,1,...,9) (în acest caz nu se obţine nici o simplificare), din care se deduc expresiile logice vi

* (pentru prima formă canonic), sau *

iv (pentru a doua formă canonică) ale acestor vectori: wu dcba v0 : (00/(0000)) v1 : (01/(0001)) v2 : (02/(0010)) v3 : (03/(0011)) v4 : (04/(0100))

v5 : (10/(0101)) v6 : (11/(0110)) v7 : (12/(0111)) v8 : (13/(1000)) v9 : (14/(1001))

Tabelul Tb-13.2 Din tabelul Tb-13.2 se deduc expresiile logice ale ieşirilor, sub prima sau a doua formă canonică:

Z10 Z5 Z2(BCD) Z2(1 activ)

0 00 0000 0 0 0 0 0 0 0 0 0 1 1 01 0001 0 0 0 0 0 0 0 0 1 0 2 02 0010 0 0 0 0 0 0 0 1 0 0 3 03 0011 0 0 0 0 0 0 1 0 0 0 4 04 0100 0 0 0 0 0 1 0 0 0 0 5 10 0101 0 0 0 0 1 0 0 0 0 0 6 11 0110 0 0 0 1 0 0 0 0 0 0 7 12 0111 0 0 1 0 0 0 0 0 0 0 8 13 1000 0 1 0 0 0 0 0 0 0 0 9 14 1001 1 0 0 0 0 0 0 0 0 0 z wu dcba c9c8c7c6c5c4c3c2c1c0

412 13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE

(13.1) *

9

*8

Iv

vd = *

7*

6*

5*

4*

3*

2*

1*

0II v.v.v.v.v.v.v.vd =

(13.2)

*7

*6

*5

*4

I

v

v

v

v

c = 9*

8*

3*

2*

1*

0II v.v.v.v.v.vc =

(13.3)

*7

*6

*3

*2

I

v

v

v

v

b = *9

*8

*5

*4

*1

*0II v.v.v.v.v.vb =

(13.4)

*9

*7

*5

*3

*1

I

v

v

v

v

v

a = *8

*6

*4

*2

*0II v.v.v.v.va =

Din relaţiile (13.1) – (13.4) rezultă că pentru ieşirile d, c, b prima formă canonică este mai simplă, iar pentru ieşirea a cele două forme canonice sunt echivalente. Într-un asemenea caz, pentru a adoptăm prima formă canonică, considerând că o eventuală implementare pe SLP ar folosi această formă canonică. Tabelul Tb.13.3 prezintă expresiile logice ale funcţiilor vector v0

*, v1*, ... , v9

*, deduse din tabelul Tb-13.2:

v0* = e(w,0)·e(u,0) = w0·u0

v1* = e(w,0)·e(u,1) = w0·u1

v2* = e(w,0)·e(u,2) = w0·u2

v3* = e(w,0)·e(u,3) = w0·u3

v4* = e(w,0)·e(u,4) = w0·u4

v5* = e(w,1)·e(u,0) = w1·u0

v6* = e(w,1)·e(u,1) = w1·u1

v7* = e(w,1)·e(u,2) = w1·u2

v8* = e(w,1)·e(u,3) = w1·u3

v9* = e(w,1)·e(u,4) = w1·u4

Tabelul Tb-13.3

În tabelul Tb-13.3 sunt evidenţiaţi factorii comuni dintre operatorii de

echivalenţă: w0 = e(w,0) w1 = e(w,1) u0 = e(u,0) u1 = e(u,1)

u2 = e(u,2) u3 = e(u,3) u4 = e(u,4)

Tabelul Tb-13.4 Figura F-13.1 prezintă schema logică de generare a funcţiilor vector, în conformitate cu relaţiile din tabelele Tb-13.3 şi Tb-13.4.

13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE 413

Fig. F-13.1 Generarea vectorilor implicanţi ai convertorului de cod 10(Z5)→10(Z2-BCD)

Condiţiile de compatibilitate funcţională sunt:

(13.5) [02 = 05] (13.6) [12 = 45]

Termenul v0* nu este folosit, iar variabilele v1

*,v2*, … ,v9

* sunt bivalente: (13.7) v1

*,v2*, … ,v9

* ∈ {0, (N-1)} .

414 13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE

Ele servesc pentru determinarea expresiilor logice, sub prima formă canonică (formă marcată prin indice), ale componentelor d, c, b, a ale vectorului de ieşire, în conformitate cu relaţiile (13.1) – (13.4), în felul următor:

(13.8) *

9

*8

Ivv

d = ;

*7

*6

*5

*4

I

vvvv

c = ;

*7

*6

*3

*2

I

vvvv

b = ;

*9

*7

*5

*3

*1

I

vvvvv

a =

Întrucât variabilele v1*,v2

*, … ,v9* sunt bivalente şi au valorile extreme

ale sistemului Z5 de codificare a intrării circuitului , atunci, pentru compatibilizare cu sistemul logic binar (Z2) în care apare ieşirea (variabilele d, c, b, a), este necesar, aşa cum este exprimat în relaţiile (13.5) şi (13.6), ca:

- valoarea mărimii fizice (N-1)N (cod intrare) = valoarea mărimii fizice (M-1)M (cod ieşire), adică 45 = 12;

- valoarea mărimii fizice (0)N (cod intrare) = valoarea mărimii fizice (0)M (cod ieşire), adică 05 = 02.

Atunci schema de ieşire devine:

Fig. F-13.2 Schema de ieşire a convertorului de cod 10(Z5)→10(Z2-BCD)

13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE 415

13.02.02. CONVERTOR DE COD ZECIMAL 10(Z2-BCD) → 10(Z5) În acest exemplu, vectorii implicanţi simplificaţi prin discriminare, împreună cu vectorii de ieşire asociaţi sunt: dcba / (wv) u0 : (0000 / (00))

u1 : (0001 / (01)) u2 : (- 010 / (02)) u3 : (- 011 / (03))

u4 : (- 100 / (04) u5 : (-101 / (10)) u6 : (-110 / (11)) u7 : (-111 / (12)) u8 : (1- -0 / (13)) u9 : (1- -1 / (14))

Tabelul Tb-13.5

Din tabelul Tb-13.5 rezultă expresiile ieşirilor w şi v, sub prima şi a doua formă canonică:

(13.9) 515

*9

*8

*7

*6

*5

I .1α.1

u

u

u

u

u

w ==

5

10

5

*9

*8

*7

*6

*5

*4

*3

*2

*1

*0

II 1β

1u

u

u

u

u

u

u

u

u

u

w ==

416 13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE

(13.10)

4

53

52

51

*9

*4

5*8

*3

5*7

*2

5*6

*5

I

a.3a.2a.1a

u

u

.3u

u

.2u

u

.1u

u

v ==

5

3

5

2

5

10

5

*8

*3

5

*7

*2

5

*6

*1

*5

*0

II 3b

2b

1b

.b3u

u

2u

u

1u

u

u

uv ==

Din relaţiile (13.9) şi (13.10) rezultă că wI este mai simplu decât wII, în timp ce vI şi vII sunt echivalent de complexe. Prin urmare, se alege prima formă canonică pentru ambele soluţii, adică wI şi vI.

Expresiile logice ale vectorilor implicanţi simplificaţi, corespunzătoare primei forme canonice, sunt:

a.bc.u

.b.acu

a.b.cu

.ab.c.du

a.b.c.du

*4

*3

*2

*1

*0

=

=

=

=

=

d.au

.adu

c.b.au

ac.b.u

.abc.u

*9

*8

*7

*6

*5

=

=

=

=

=

Tabelul Tb-13.6 Schema pentru u0

*, … , u9

* este:dată mai jos (fig. F-13.3):

13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE 417

Figura F-13.3 Generarea vectorilor implicanţi ai convertorului de cod 10(Z2-BCD → 10(Z5)

În figura F-13.4 este prezentată schema de ieşire care impune următoarele condiţii de compatibilizare, menţionate şi mai înainte, în relaţiile (13.5) şi (13.6) : [12 = 45] şi [02 = 05].

418 13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE

Fig. F-13.4 Schema de ieşire a convertorului de cod

10(Z2-BCD) → 10(Z5) În schema din fig. F-13.4, structurată după prima formă canonică, nu apar referinţele logice 05 şi 45. porţile haşurate, care repetă semnalul de la intrarea lor, sunt puse pentru echilibrarea şi uniformizarea întârzierilor pe căile de semnal.

Dacă se doreşte o soluţie tip PLA cu porţi canal pe ieşire, atunci trebuie luate în considerare, în expresiile lui w şi v, toate semnalele de nivel logic, deci şi 05 şi 45, astfel că aceste expresii devin:

13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE 419

(13.11) 15

05I a*1

α*0w = , unde

*4

*3

*2

*1

*0

0

u

u

u

u

u

α = sau 10 αα = În a

doua formă a lui α0 că tot ce nu e α1 (care produce wI = 15) produce wI = 05.

(13.12)

45

35

25

15

05

I

a*4a*3a*2a*1a*0

v = , unde *

5

*0

0u

ua =

Figura F-13.5 (de mai jos) prezintă schema de ieşire realizată

conform relaţiilor (13.11) şi (13.12).

420 13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE

13.02.03. CONVERTOR DE COD ZECIMAL 10(Z10) → 10(Z2-BCD)

În tabelul Tb-13.7 este prezentată lista vectorilor implicanţi, care nu

se mai poate simplifica, împreună cu vectorii de ieşire asociaţi. Z /(dcba) v0 : (0/(0000)) v1 : (1/(0001)) v2 : (2/(0010)) v3 : (3/(0011)) v4 : (4/(0100))

v5 : (5/(0101)) v6 : (6/(0110)) v7 : (7/(0111)) v8 : (8/(1000)) v9 : (9/(1001))

Tabelul Tb-13.7 Din tabel rezultă expresiile ieşirilor, sub prima şi a doua formă canonică:

(13.13) *

9

*8

Iv

vd = *

7*

6*

5*

4*

3*

2*

1*

0II v.v.v.v.v.v.v.vd =

(13.14)

*7

*6

*5

*4

I

v

v

v

v

c = *9

*8

*3

*2

*1

*0II v.v.v.v.v.vc =

(13.15)

*7

*6

*3

*2

I

v

v

v

v

b = *9

*8

*5

*4

*1

*0II v.v.v.v.v.vb =

(13.16)

*9

*7

*5

*3

*1

I

v

v

v

v

v

a = *8

*6

*4

*2

*0II v.v.v.v.va =

Din relaţiile (13.13) – (13.14) rezultă că prima formă canonică este optimă pentru ieşirile d, c şi b, iar pentru ieşirea a complexitatea este echivalentă în cele două forme canonice şi se va alege prima formă canonică.

13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE 421

Expresiile funcţiilor vector au următoarea formă: v0

* = z0

v1* = z1

v2* = z2

v3* = z3

v4* = z4

v5* = z5

v6* = z6

v7* = z

v8* = z8

v9* = z9

unde zi = e(z,i10), (i = 0,1,2,3,4,5, 6,7, 8,9)

Tabel Tb-13.8 Figura F-13.6 prezintă schema convertorului de cod 10(Z10) → 10(Z2- BCD):

Figura F-13.6 Schema convertorului de cod 10(Z10) → 10(Z2-BCD):

422 13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE

13.02.04. CONVERTOR DE COD ZECIMAL 10(Z2-BCD) → 10(Z10)

Vectorii implicanţi simplificaţi, funcţiile vector şi funcţia ieşirii sunt: dcba z

v0 : ((0000)/0) v1 : ((0001)/1) v2 : ((-010)/2) v3 : ((-011)/3) v4 : ((-100)/4) v5 : ((-101)/5) v6 : ((-110)/6) v7 : ((-111)/7) v8 : ((1- -0)/8) v9 : ((1- -1)/9)

a.bc.v.b.acv

a.b.cv.ab.c.dva.b.c.dv

*4

*3

*2

*1

*0

=

=

=

=

=

d.av.adv

c.b.avac.b.v.abc.v

*9

*8

*7

*6

*5

=

=

=

=

=

10*

9

10*

8

10*

7

10*

6

10*

5

10*

4

10*

3

10*

2

10*

1

.9v

.8v

.7v

.6v

.5v

.4v

.3v

.2v.1v

z =

Tabelul Tb-13.9 Vectorii implicanţi simplificaţi şi funcţia de ieşire a convertorului de cod 10(Z2-BCD) → 10(Z10)

În tabelul Tb-13.9, condiţiile de compatibilitate sunt:

(13.17) [02 = 010] şi [12 = 910].

13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE 423

Figura F-13.7 Schema convertorului de cod 10(Z2-BCD) → 10(Z10)

424 13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE

13.02.05. CONVERTOR DE COD ZECIMAL 10(Z2 (1 ACTIV)) → 10(Z2-BCD)

Folosind, în tabelul Tb-13.1, coloana 4 ca intrare şi coloana 3 ca ieşire şi aplicând metoda discriminării, se obţine tabelul vectorilor implicanţi simplificaţi:

vi : (c9 c8 c7 c6 c5 c4 c3 c2 c1 c0 / (d c b a)) v0 : (- - - - - - - - - 1 / (0 0 0 0)) v1 : (- - - - - - - - 1 - / (0 0 0 1)) v2 : (- - - - - - - 1 - - / (0 0 1 0)) v3 : (- - - - - - 1 - - - / (0 0 1 1)) v4 : (- - - - - 1 - - - - / (0 1 0 0)) v5 : (- - - - 1 - - - - - / (0 1 0 1)) v6 : (- - - 1 - - - - - - / (0 1 1 0)) v7 : (- - 1 - - - - - - - / (0 1 1 1)) v8 : (- 1 - - - - - - - - / (1 0 0 0)) v9 : (1 - - - - - - - - 1 / (1 0 0 1)) Tabelul Tb-13.10

Din tabelul Tb-13.10 rezultă expresiile v0

*, v1*, ... , v9

*: (13.18) vi

* = ci , (i = 0,1,...,9)

Expresiile ieşirilor d, c, b, a, sub prima sau a doua formă canonică, rezultă din tabelul Tb-13.10:

(13.19) *

9

*8

Ivv

d = *7

*6

*5

*4

*3

*2

*1

*0II v.v.v.v.v.v.v.vd =

(13.20)

*7

*6

*5

*4

I

vvvv

c = *9

*8

*3

*2

*1

*0II v.v.v.v.v.vc =

(13.21)

*7

*6

*3

*2

I

vvvv

b = *9

*8

*5

*4

*1

*0II v.v.v.v.v.vb =

13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE 425

(13.22)

*9

*7

*5

*3

*1

I

vvvvv

a = *8

*6

*4

*2

*0II v.v.v.v.va =

Se alege drept soluţie prima formă canonică pentru toate ieşirile schemei, pentru că pentru d, c şi b expresiile sunt mai simple, iar pentru a complexitatea este echivalentă în cele două forme canonice. Rezultă astfel expresiile lor, precum şi schema convertorului de cod:

(13.23) 9

8

cc

d = ;

7

6

5

4

cccc

c = ;

7

6

3

2

cccc

b = ;

9

7

5

3

1

ccccc

a =

Figura F-13.8: Convertor de cod 10(Z2 (1 activ)) → 10(Z2-BCD)

426 13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE

13.02.06. CONVERTOR DE COD ZECIMAL: 10(Z2-BCD) → 10(Z2 (1 ACTIV))

Funcţiile de ieşire ale acestui convertor, optimizate – prin

considerarea coloanelor 3, ca intrare, şi 4, ca ieşire, din tabelul Tb.13.1 – după prima formă canonică, sunt prezentate direct în continuare:

a.bc.vc

.b.acvc

a.b.cvc

.ab.c.dvc

a.b.c.dvc

*44

*33

*22

*11

*00

==

==

==

==

==

d.avc

.advc

c.b.avc

ac.b.vc

.abc.vc

*99

*88

*77

*66

*55

==

==

==

==

==

Tabelul Tb-13.11

Figura F-13.9 prezintă schema convertorului de cod 10(Z2-BCD) → 10(Z2 (1 din 10)).

Figura F-13.9 Schema convertorului de cod 10(Z2-BCD) → 10(Z2 (1 activ))

13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE 427

13.03. DECODIFICATORI 13.93.01. DECODIFICATOR (DEC sau DECODER)

- prezentare -

Circuitul de decodificare, sau decodificator (prescurtat, DEC), sau, în engleză, decoder, este un circuit de transcodare, realizând, în general, o transformare de cod în care ieşirea prezintă o semnificaţie directă, clară a informaţiei cifrate, codificate, la intrare, de unde şi numele acestui tip de circuite. În general, numărul terminalelor de ieşire este mai mare decât al celor de intrare.

În contextul definirii de mai sus, acest nume se dă:

• circuitelor care realizează funcţia în care fiecare stare de intrare este reprezentată pe câte un singur terminal de ieşire: (13.24) ZN → Z2(1 activ)

circuitelor ale căror ieşiri alcătuiesc o imagine direct semnificativă a simbolului codificat la intrare, de exemplu:

- decodificator BCD – 7 segmente, ale cărui ieşiri construiesc segmentele cifrei zecimale, în vederea afişării ei.

Din prima categorie, figura F-13.10 prezintă schema bloc a unui

circuit de decodificare multivalent, iar figura F-13.11 prezintă schema bloc a unui circuit de decodificare binar: Z2 → Z2(1 activ)

DEC

k : Nk

S k

Nk

Z

Fig.F.13.10. Conv. ZN Z2 (1 activ) sau decodificator multivalent k: Nk

(cod ZN) (cod Z2 (1 activ))

2j02N1N

Ni02k1k

ZZ);Z...,,Z,Z(ZZS;)S...,,S,S(S

kk ∈=∈=

−−

−−

428 13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE

În figurile F-13.10 şi F-13.11 intrarea S cuprinde toate combinaţiile intrărilor, iar indicelui ieşirii active zj i se atribuie valoarea j a numărului S (reprezentarea numerică a vectorului de intrare, considerat în baza de numeraţie N) care produce activarea acestei ieşiri (zj = jN).

Capitolul 13.1.6 prezintă sinteza unui decodificator binar, care

converteşte cifra zecimală scrisă în Z2(BCD )(în codul „Binary Coded Decimal”), în cifră zecimală scrisă în binar, în codul Z2(1 activ):

(13.25) 10(Z2(BCD)) → 10(Z2(1 activ)) În figura F-13.9 este reprezentată schema logică a acestui

decodificator. 13.03.02. EXEMPLU: Decodificator

10(Z2(BCD) → 10(Z2(7 SEGMENTE)) Un exemplu de circuit de decodificare din a doua categorie îl constituie decodificatorul BCD – 7 segmente, realizând funcţia de conversie de cod:

10(Z2(BCD) → 10(Z2(7 segmente)) Funcţia acestui circuit poate fi specificată prin tabelul de valori Tb-13.12:

cifra zecimală codificată

codificarea„BCD” DCBA

segmntelecifrei: abcdefg

0 0000 1111110 1 0001 1000010 2 0010 1101101 3 0011 1100111 4 0100 1010011 5 0101 0110111 6 0110 0111111 7 0111 1100010 8 1000 1111111 9 1001 1110111

Tabelul Tb-13.12

DEC

k : 2k

S k

2k

Z

Fig.F.13.11. Convertor Z2 Z2 (1 activ) sau decodificator binar k: 2k

(cod Z2) (cod Z2 (1 activ))

13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE 429

Sinteza schemei logice a decodificatorului din tabelul Tb-13.12 nu se mai prezintă. Ea se obţine aplicând metodele, sau folosind ca model exemplele prezentate în detaliu mai înainte.

Semnificaţia segmentelor a, b, c, d, e, f, g este prezentată în figura F-13.12 .

13.03.03. DECODIFICATOR MULTIVALENT

Figura F-13.13 prezintă schema bloc a unui decodificator multivalent DEC k:Nk, la care intrările au valori în ZN, iar ieşirile iau valori în Z2, pentru că ele semnalează prezenţa sau absenţa stării decodificate:

(13.26) xi ∈ ZN, (i = 1,2, ... ,k) yj ∈ Z2, (j = 0,2, ... , (p-1))

Apar suplimentar condiţiile:

(13.29) p ≤ Nk 0N = 02 (N-1) = 12

a

b

c

d

e

f

g

Fig.F.13.12.

430 13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE

13.03.03.01. Exemplu: Decodificator DEC 2:32 9(Z3) → 9(Z2) Figura F-13.14 prezintă schema bloc a unui decodificator multivalent DEC 2:32, ale cărui intrări iau valori în Z3, iar ieşirile în Z2: (13.30 ) x1,x0 ∈ Z3

y0,y1, ... ,y8 ∈ Z2 Condiţiile de compatibilitate devin, în cazul acestui exemplu:

(13.31) 03 = 02 23 = 12

DEC

2 : 32

.

.

.

x1

y0 y1

y8

x2

2810301 Zy...,,y,yZx,x ∈∈

Fig.F.13.14.

DEC

k : Nk

.

.

.

xi k

y0 y1

yp-1

2N

2Nk

2jNi

1)1N(00Np

))1p(...,,1,0j()k...,,2,1i(

Zy,Zx

=−=≤

−==

∈∈

Fig.F.14.13. Decodificator multivalent

13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE 431

Tabelul de valori al decodificatorului este dat în tabelul Tb-13.13:

Tabelul Tb-13.13

Din tabelul Tb-13.13 rezultă expresiile algebrice ale ieşirilor:

y0 = e(x1,0).e(x0,0) y1 = e(x1,0).e(x0,1) y2 = e(x1,0).e(x0,2) y3 = e(x1,1).e(x0,0) y4 = e(x1,1).e(x0,1) y5 = e(x1,1).e(x0,2) y6 = e(x1,2).e(x0,0) y7 = e(x1,2).e(x0,1) y8 = e(x1,2).e(x0,2)

Tabelul Tb-13.14

Nota N-13.1: Se remarcă că schema unui decodificator multivalent este

alcătuită numai din circuite de echivalenţă şi din porţi binare, fapt care permite implementarea ei cu circuite cunoscute, existente, pentru că un circuit de echivalenţă se realizează cu un comparator analogic cu ieşire digitală, iar restul porţilor sunt binare.

x1 x0 y8 y7 ... y0 0 0 0 0 ... 1 0 1 0 0 ... 0 0 2 0 0 ... 0 1 0 0 0 ... 0 1 1 0 0 ... 0 1 2 0 0 ... 0 2 0 0 0 ... 0 2 1 0 1 ... 0 2 2 1 0 ... 0

432 13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE

Figura F-13.15 prezintă schema logică a decodificatorului.

13. PROIECTAREA LOGICĂ A CIRCUITELOR DE TRANSCODARE 433

13.04. CODIFICATORI Codificator (ENC sau encoder)

Codificatorul (encoder (în engleză), sau, prescurtat, ENC) este alt

nume pentru un circuit de transcodare sau convertor de cod. Raţiunea amintirii lui aici este dată de faptul că, în binar, acest nume

se dă circuitelor de transcodare care realizează funcţia inversă decodificatorului, adică încifrează, codifică la ieşire o informaţie cu semnificaţie clară, directă la intrare.

Şi aici, ca şi în cazul decodificatorului, se pot distinge două categorii de circuite, în funcţie de modul în care este reprezentată informaţia pe intrare:

• fiecărui simbol al intrării i se asociază un terminal de intare; • fiecare simbol este reprezentat la intrare prin segmente care

pot construi direct imaginea lui. Din prima categorie, tipic este codificatorul binar realizează funcţia:

(13.32 ) Z2(1 activ) → Z2

Generalizând, în cazul multivalent, un encoder cu o funcţie similară celei din (13.27) realizează următoarea funcţie de conversie de cod: (13.33) Z2(1 activ) → ZN

Capitolul 13.1.5 şi figura F-13.8 prezintă sinteza logică şi schema logică a unui codificator binar, având funcţia inversă circuitului prezentat în cap. 13.1.6 şi figura F-13.9:

(13.34) 10(Z2 (1 activ)) → 10(Z2-BCD) Pot fi imaginate însă codificatoare din a doua categorie, de exemplu

un circuit binar care realizează următoarea conversie de cod, adică funcţia inversă a codificatorului BCD – 7 segmente:

(13.35) 10(Z2(7 segmente)) → 10(Z2(BCD))

Tabelul de valori al acestui codificator se obţine din tabelul Tb-13.12, prin inversarea coloanelor 2 şi 3.

434 14. CIRCUITE DE SELECŢIE

14. CIRCUITE DE SELECŢIE:

MULTIPLEXORI, DEMULTIPLEXORI 14.01. MULTIPLEXORI 14.01.01. STRUCTURA GENERALĂ A UNUI MULTIPLEXOR

Un multiplexor sau selector realizează funcţia de comutare a

oricare una dintre cele p intrări de informaţie x1, x2, ... ,xp pe ieşirea unică y, în funcţie de starea celor k intrări de selecţie s1, s2, ... ,sk, unde intrările de informaţie iau valori în ZN, iar cele de selecţie în ZM.

Întrucât intrările de selecţie trebuie să selecteze oricare dintre cele p intrări de informaţie, este necesar, în cazul unei codificări multivalente cu M nivele logice pe fir, ca:

(14.1) Mk ≥ p , iar în cazul binar:

(14.2) 2k ≥ p Figura F-14.1 două variante ale schemei bloc a unui multiplexor

multivalent.

Fig.F.14.1.

Dacă se conceptualizează structura multiplexorului, în conformitate

cu prima variantă a schemei bloc, ca o reţea de p canale de informaţie conectate pe o singură ieşire, atunci cele p canale pot fi selectate de către intrările de selecţie, prin intermediul unui decodificator DEC k:Mk, ca în figura

14. CIRCUITE DE SELECŢIE 435

F-14.2, care foloseşte un decodificator cu ieşiri directe, neinversate, sau ca în figura F-14.3, care foloseşte un decodificator cu ieşiri active pe zero.

Fig.F.14.2

Fig.F.14.3

Schemele din figurile F-14.2 şi F-14.3 pot fi transformate, folosind

porţi de tip canal (fapt care evidenţiază şi mai clar structura de canale

436 14. CIRCUITE DE SELECŢIE

convergente pe ieşire a multiplexorului), aşa cum este prezentat în schemele sin figurile F-14.4 şi F-14.5.

Fig.F.14.4

Fig.F.14.5

14. CIRCUITE DE SELECŢIE 437

14.01.02. STRUCTURA PIRAMIDALĂ A UNUI MULTIPLEXOR Un multiplexor cu multe intrări poate fi structurat piramidal din multiplexori cu mai puţine intrări. Figura F-14.6 prezintă o asemenea structură pentru un multiplexor binar MUX 32:1, formată din două starturi: 4 x MUX 8:1 şi 1 x MUX 4:1. Cele 5 intrări de selecţie, necesare selectării celor 32 de intrări de informaţie sunt grupate după numărul şi complexitatea multiplexorilor din straturi, în cazul de faţă, în două, pentru că structura are două straturi: - trei, pentru selectarea în paralel, simultană a câte unei căi în fiecare din cele patru multiplexoare din primul strat; - două, pentru selectarea uneia dintre cele patru ieşiri ale multiplexorilor primului strat.

Fig.F.14.6. Multiplexor binar MUX 3.2.1. structurat piramidal din patru MUX 8:1 si un MUX 4:1

438 14. CIRCUITE DE SELECŢIE

14.02. DEMULTIPLEXORI 14.02.01. STRUCTURA GENERALĂ A UNUI DEMULTIPLEXOR

Un demultiplexor sau distribuitor realizează funcţia de comutare a unicei intrări x de informaţie pe oricare una dintre cele p ieşiri y1, y2, ... ,yp, în funcţie de starea celor k intrări de selecţie s1, s2, ... ,sk, unde intrarea de informaţie şi ieşirile iau valori în ZN, iar intrările de selecţie iau valori în ZM (figura F-14.7)

Fig. F-14.7

Întrucât intrările de selecţie trebuie să selecteze oricare dintre cele p

căi de ieşire a informaţiei, este necesar, în cazul unei codificări multivalente cu M nivele logice pe fir, ca:

(14.3) Mk ≥ p , iar în cazul binar:

(14.4) 2k ≥ p Dacă se conceptualizează structura demultiplexorului, în

conformitate cu prima variantă a schemei bloc, ca o reţea de p canale de informaţie conectate pe o singură intrare, atunci cele p canale pot fi selectate de către intrările de selecţie, prin intermediul unui decodificator DEC k:Mk, ca în figura F-14.8, care foloseşte un decodificator cu ieşiri directe, neinversate, sau ca în figura F-14.9, care foloseşte un decodificator cu ieşiri active pe zero.

14. CIRCUITE DE SELECŢIE 439

Fig. F-14.8

Fig. F-14.9

440 14. CIRCUITE DE SELECŢIE

Schemele din figurile F-14.8 şi F-14.9 pot fi transformate, folosind porţi de tip canal (fapt care evidenţiază şi mai clar structura de canale convergente pe intrare a demultiplexorului), aşa cum este prezentat în schemele din figurile F-14.10 şi F-14.11.

Fig. F-14.10

Fig. F-14.11

14. CIRCUITE DE SELECŢIE 441

14.02.02. STRUCTURA PIRAMIDALĂ A UNUI DEMULTIPLEXOR Un demultiplexor cu multe ieşiri poate fi structurat piramidal din multiplexori cu mai puţine ieşiri. Figura F-14.12 prezintă o asemenea structură pentru un demultiplexor binar DMUX 1:32, formată din două starturi: 1 x DMUX 1:4 şi 4 x DMUX 1:8. Cele 5 intrări de selecţie, necesare selectării celor 32 de canale de informaţie sunt grupate după numărul şi complexitatea demultiplexorilor din straturi, în cazul de faţă, în căi în fiecare din cele patru demultiplexoare din ultimul strat;

- două, pentru distribuirea intrării pe una dintre cele patru ieşiri ale demultiplexorului primului strat.

Fig. F-14.12

442 14. CIRCUITE DE SELECŢIE

14.03. CIRCUITE MUX / DMUX 14.03.01. CIRCUITE DE SELECŢIE BIDIRECŢIONALE

Dacă se folosesc pe căile de informaţie porţi tip canal bidirecţionale, atunci se obţin structuri logice care pot fi folosite, atât pentru multiplexare, cât şi pentru demultiplexare, în funcţie de unde se conectează intrările şi ieşirile de informaţie.

Fig. F-14.13

Figura F-14.14 prezintă două reprezentări simbolice ale unui

asemenea circuit de selecţie bidirecţional, iar în figura F-14.14 este reprezentată schema de structură a unui asemenea circuit.

Fig. F-14.14

Folosind circuite MUX / DMUX bidirecţionale se pot obţine şi structuri

piramidale MUX / DMUX bidirecţionale.

14. CIRCUITE DE SELECŢIE 443

Nota N-14.1: În funcţie de tipul porţilor tip canal (unidirecţionale sau bidirecţionale) se pot transmite pe căile de informaţie ale multiplexorilor, demultiplexorilor sau circuitelor de selecţie bidirecţionale, atât semnale digitale, cât şi analogice, în gama de valori acceptată de tipul porţilor, obţinându-se circuite de selecţie cu canale atât digitale, cât şi analogice, din punctul de vedere al semnalelor de informaţie, iar selectarea canalului se face digital.

14.03.02. CIRCUITE MUX / DMUX BIDIRECŢIONALE

CU FUNCŢIE COMANDATĂ

Dacă pe căile de acces în circuitele MUX / DMUX bidirecţionale se folosesc porţi unidirecţionale – câte una pe sens şi pe fir – se pot obţine funcţii de circuite de selecţie bidirecţionale cu funcţia comandată: MUX, pentru un sens şi DMUX, pentru sensul celălalt.

Figura F-14.15 prezintă schema de principiu a unui circuit MUX / DMUX cu sens comandat prin intrarea SNS (sau WRRD/ ), fiecare canal selectat prin cele k intrări S al circuitului de bază fiind conectat cu câte două căi: una de intrare şi una de ieşire, căi activate alternativ prin SNS.

Denumirea WRRD/ a intrării SNS sugerează în dreapta o memorie care poate fi citită, prin RD (sau SNS=1), sau scrisă, prin WR (sau SNS=0).

Fig. F-14.15

444 14. CIRCUITE DE SELECŢIE

Figura F-14.16 prezintă o variantă structurală în care comutarea sensului se face pe terminalul singular (din stânga, în figură).

Fig. F-14.16 În figurile F-14.17 şi F-14.18 se prezintă variante ale schemelor din

figurile F-14.15 şi, respectiv, F-14.16, care au cele două intrări de pe canal conectate, ceea ce presupune că blocurile funcţionale care se conectează la acest selector bidirecţional sunt comandate corespunzător semnalului de sens.

Fig. F-14.17

Fig. F-14.18

14. CIRCUITE DE SELECŢIE 445

Figurile F-14.19 şi F-14.20 prezintă principiul de acces (citire – scriere) al memoriilor RAM dinamice, unde, în vederea reîmprospătării informaţiei celulelor de memorare, alcătuite din memorii temporare tip condensator, fiecare operaţie de citire activează imediat şi o operaţie de reînscriere a valorii citite. În aceste scheme, prin τ s-a notat un bloc care transmite întârziat semnalul de citire, care se transformă, printr-o inversare logică, în semnal de scriere.

Fig. F-14.19

Fig. F-14.20

446 14. CIRCUITE DE SELECŢIE

14.04. CIRCUITE DE SELECŢIE VECTORIALĂ

Circuitele de selecţie vectorială sunt multiplexori şi demultiplexori ale căror intrări şi ieşiri implicate in funcţia de selecţie sunt reprezentate prin vectori, iar fizic, fiecare astfel de intrare şi ieşire este constituită dintr-un mănunchi de terminale binare sau multivalente.

14.04.01. CIRCUIT MUX VECTORIAL

Figura F-14.21 prezintă schema bloc a unui circuit de multiplexare

vectorial. În această figură, x1, x2, ... ,xn şi y sunt vectori cu p componente: (x1, x2, ... ,xn, y) ∈ ZN

p, iar: xi = (xi1, xi2, ... , xip) y = (y1, y2, ... , yp) yj, xij ∈ ZN, (i = 1,2, ... ,n), (j = 1,2, ... ,p) Intrarea de selecţie este reprezentată prin vectorul S, având k

componente cu valori în ZM: S = (s1, s2, ... , sk) ∈ ZM

k s1, s2, ... , sk ∈ ZM Condiţia de funcţionare a schemei implică un număr de intrări selectabile

mai mic decât capacitatea maximă de selecţie a intrării S: n ≤ Mk

Fig. F-14.21

14. CIRCUITE DE SELECŢIE 447

Figura F-14.22 prezintă schema generală de structură a unui circuit MUX vectorial:

Fig. F-14.22 14.04.02. CIRCUIT DMUX VECTORIAL

Figura F-14.23 prezintă schema bloc a unui circuit de demultiplexare

vectorial. În această figură, x şi y1, y2, ... ,yn sunt vectori cu p componente: (x, y1, y2, ... ,yn) ∈ ZN

p, iar: yi = (yi1, yi2, ... , yip) x = (x1, x2, ... , xp) xj, yij ∈ ZN, (i = 1,2, ... ,n), (j = 1,2, ... ,p) Intrarea de selecţie este reprezentată prin vectorul S, având k

componente cu valori în ZM: S = (s1, s2, ... , sk) ∈ ZM

k s1, s2, ... , sk ∈ ZM Condiţia de funcţionare a schemei implică un număr de intrări selectabile

mai mic decât capacitatea maximă de selecţie a intrării S: n ≤ Mk

448 14. CIRCUITE DE SELECŢIE

Fig. F-14.23 Figura F-14.24 prezintă schema generală de structură a unui circuit MUX

vectorial:

Fig. F-14.24

14.04.03. CIRCUIT MUX / DMUX VECTORIAL

Folosind p circuite MUX / DMUX cu intrări şi ieşiri simple, se obţine schema unui circuit de selecţie vectorial, bidirecţional şi cu sens comandat, aşa cum este prezentat, ca structură generală, în figura F-14.25.

14. CIRCUITE DE SELECŢIE 449

Fig. 14.25

O aplicaţie tipică a circuitelor de selecţie vectorială bidirecţională o

reprezintă sistemele de selecţie a unor elemente dintr-o mulţime cu un număr mare de elemente, cum este cazul sistemelor de adresare a memoriilor de tip RAM sau de tip PROM, aşa cum va fi prezentat în capitolul următor.

14.04.04. CIRCUIT DE ADRESARE A UNEI MEMORII RAM, SAU A UNEI MEMORII PROM

O memorie RAM (Random Access Memory) reprezintă un grup de r

registre - vectori cu p poziţii: (D1,D2, ... ,Dp), care poate fi accesată pentru a citi şi modifica conţinutul oricărui registru.

Adresarea unei asemenea memorii poate fi realizată prin intermediul

unui sistem de selecţie bidirecţională a unui masiv informaţional cu organizare matricială, aşa cum este prezentat în fig. F-14.26, cu anexa din fig. F-14.27, sau prin intermediul organizării structurale prezentată simbolic în fig.F-14.28.

450 14. CIRCUITE DE SELECŢIE

Fig. F-14.26

Fig. F-14.27

14. CIRCUITE DE SELECŢIE 451

Fig.F.14.28. Sistem de acces al unei memorii p-are, prin adresarea in

matrice: prin DMUX si prin MUX/DMUX În cazul unei memorii PROM (Programmable Read Only Memory), care

are o organizare structurală pe registre, similară unei memorii RAM, cu deosebirea că această memorie poate fi doar citită, sistemul de adresare este similar celui prezentat pentru memoria RAM, fără a mai fi necesară bidirecţionalitatea.

452 15. STRUCTURI CELULARE COMBINAŢIONALE

15. STRUCTURI CELULARE COMBINAŢIONALE:

CIRCUITE ITERATIVE COMBINAŢIONALE

15.01. GENERALITĂŢI

Circuitele celulare sunt reţele liniare sau multidimenionale (matrici bidimensionale sau multidimensionale), alcătuite din celule hardware identice – dar nu neapărat identice funcţional, pentru că structura lor hardware poate fi programabilă, în vederea realizării unei funcţii date - interconectate cu celulele vecine, unidirecţional, sau cu conexiuni în ambele sensuri.

Structurile celulare pot implementa circuite fără memorie

(combinaţionale), sau circuite cu memorie (secvenţiale), în funcţie de tipul celulei şi de modul de interconectare a celulei cu vecinii:

- celulele cu memorie pot implementa atât circuite combinaţionale

(atunci memoria fiind utilizată pentru structurarea programată a funcţiei circuitului combinaţional (a funcţiei univoce intrare-ieşire), cât şi circuite secvenţiale (caz în care memoria reprezintă componentă funcţională a circuitului);

- celulele fără memorie, cu interconexiuni unidirecţionale implementează circuite combinaţionale;

- celulele fără memorie, dar cu interconexiuni în ambele sensuri pot implementa atât circuite combinaţionale, cât şi secvenţiale, după cum conexiunea inversă depinde, sau nu, numai de semnalele proprii sau preluate de la ordinul celular inferior, adică de prelucrări în ordinul superior, care nu includ semnale de intrare proprii acelui ordin, (cazul reţelelor combinaţionale), sau depinde şi de semnale preluate de la ordinul celular superior, care includ în prelucrări şi intrări proprii, pe care acum le returnează ca feedback (cazul reţelelor secvenţiale).

Celulele pot avea structură hardware fixă sau programabilă, putând

realiza toate o aceeaşi funcţie (în cazul structurii fixe), sau funcţii diferite (în cazul structurii cu configuraţie programabilă).

Structurile celulare având celule cu structură hardware fixă

implementează „circuite celulare uniforme”, sau aşa zisele „circuite iterative”, care pot fi cu, sau fără memorie.

Structurile celulare având celule cu structură hardware programabilă

implementează „circuite celulare neuniforme”. În capitolul de faţă se vor prezenta aplicaţii specifice ale circuitelor iterative combinaţionale.

15. STRUCTURI CELULARE COMBINAŢIONALE 453

15.02. COMPARATOR DIGITAL

Comparatorul digital este un circuit care determină dacă două

numere A şi B, scrise într-o bază de numeraţie dată, sunt egale (A = B), dacă A > B, sau A < B.

15.02.01. COMPARATOR DIGITAL A DOUĂ NUMERE DE UN DIGIT

Comparatorul digital a două numere x şi y de câte o cifră fiecare (de

câte un digit fiecare) stabileşte dacă x = y, dacă x > y, sau x < y. Circuitul de comparare digitală are două intrări, x şi y, şi trei ieşiri, g,

e şi l, ca în figura F-15.1.

Fig. F-15.1

În circuitul din fig. F-15.1, ieşirile realizează următoarele funcţii:

(15.1) ⎩⎨⎧

≠=−

====y_x_0,

y_x_1),(Nyxy)e(x,e

pentrupentru

(15.2) ⎩⎨⎧

<>−

=>==y_x_0,

y_x_1),(Nyxy)g(x,g

pentrupentru

(15.3) ⎩⎨⎧

><−

=<==y_x_0,

y_x_1),(Nyxy)l(x,l

pentrupentru

unde x, y ∈ZN e, g, l ∈ {0,(N-1)} ⊂ ZN Tabelul de valori al acestui circuit poate fi reprezentat astfel:

x y e g l x = y (N-1) 0 0 x > y 0 (N-1) 0 x < y 0 0 (N-1)

Tabelul Tb-15.1

454 15. STRUCTURI CELULARE COMBINAŢIONALE

Din tabelul Tb-15.1 se pot deduce următoarele expresii pentru funcţiile e, g şi l:

(15.4) e = e(x,y) (15.5) g = e(x,max(x,y)) (15.6) l = e(x,min(x,y)) Expresiile (15.4)-(15.6) conduc la schema logica a comparatorului de

un digit din fig. F-15.2.

Fig. F-15.2

Dat fiind că cele trei funcţii e, g şi l au, de fiecare dată, două valoarea 0 şi una valoarea (N-1), rezultă că una dintre ele poate fi dedusă din celelalte două, de exemplu:

(15.7) yx

y)max(x,y.x)y,xmin(l ====

Folosind expresia (15.7) pentru L, rezultă schema din fig. F-15.3.

Fig. F-15.3 O altă abordare pentru stabilirea schemei unui comparator digital

constă în introducerea şi folosirea unui nou operator, pe care-l vom numi „operator de discriminare”, definit şi simbolizat (relaţiile (15.2), (15.8) şi fig. F.15.4) după cum urmează:

15. STRUCTURI CELULARE COMBINAŢIONALE 455

(15.8) ⎩⎨⎧ >−

=>în_rest

pentru0_

y _x1)_(Ny x

Fig. F-15.4

Acest operator nou introdus, la fel ca şi operatorul de echivalenţă,

are ieşire binară, adică are doar două valori (0 şi (N-1)) şi poate conduce la implementări hardware mai speciale, folosind logică de tip canal, motiv pentru care va fi folosit în continuare, fără a se exclude posibilitatea înlocuirii lui cu implementarea sugerată de relaţia (15.5).

Folosind operatorul de discriminare, expresiile pentru e, g şi l devin (15.9), conducând la schema din figura F-15.5, sau (15.10), conducând la schema din figura F-15.6:

(15.9)

xy ly xg

y)e(x,yxe

>=

>=

===

Fig. F-15.5

(15.10)

ge

l

y xgy)e(x,yxe

=

>=

===

456 15. STRUCTURI CELULARE COMBINAŢIONALE

Fig. F-15.6

În binar, implementările ţin cont de următoarele aspecte particulare

ale operatorilor de echivalenţă şi de discriminare:

(15.11)

yx.y xy)g(x,x.y

x.yy)XNOR(x,yxy)e(x,

=>=

====

Rezultă, în binar, următoarele expresii pentru e, g şi l:

(15.12)

ge

l

.y_xlyx.g

x.yx.y

y)XNOR(x,y)e(x,yxe

=

==

=====

sau

Figurile F-15.7 şi F-15.8 prezintă cele două variante ale schemei

comparatorului digital de un bit în Z2 (în binar).

Fig. F-15.7

15. STRUCTURI CELULARE COMBINAŢIONALE 457

Fig. F-15.8

15.02.02. CONVENŢIE DE SIMBOLIZARE A OPERATORILOR CU VARIABILE SIMPLE ŞI CU VARIABILE VECTORI

Convenţia C-15.1: În relaţiile de mai sus şi în continuare se va folosi, în general, pentru operatorul de echivalenţă (e) şi pentru operatorii de discriminare (g şi l), precum şi pentru operatorii de max şi min, paranteze rotunde sau paranteze drepte, arătând că se operează cu variabile simple multivalente, sau cu vectori având variabile multivalente drept componente: (15.13):

[ ] [ ]

[ ] [ ]

[ ] [ ] [ ] [ ]

[ ]

vectori variabile pentrusimple variabile pentru

vectori variabile pentru

simple variabile pentru

vectori variabile pentrusimple variabile pentru

vectori variabile pentrusimple variabile pentru

vectori variabile pentrusimple, variabile pentru

_

_

_

__

__

_

YXY)min(X,x.y_y)min(x,

YX

YX,max

yx

y)max(x,

XY,gYXXYYX,lx)g(y,xyyxy)l(x,

YXYX,gyxy)g(x,

YX,YX,e_yxy)e(x,

∗==

⎥⎦

⎤⎢⎣

⎡=

=

=<=>=

=>=<=

>=

>=

=

==

458 15. STRUCTURI CELULARE COMBINAŢIONALE

Figura F-15.9 prezintă simbolurile grafice pentru operatorii decizionali (cei care au ieşire binară, de tip DA / NU) simpli (cu variabile multivalente simple) şi vectoriali (având variabile vectori cu componente multivalente).

Fig. F-15.9

În figura F-15.10 sunt prezentate simbolurile grafice ale operatorilor

vectoriali AND şi OR, definiţi în continuare:

(15.14)

[ ] [ ]

[ ] [ ]YX,maxYX

YX,OR

YX,minYXYX,AND

=⎥⎦

⎤⎢⎣

⎡=

=∗=

Fig. F-15.10

15. STRUCTURI CELULARE COMBINAŢIONALE 459

15.02.03. COMPARATOR DIGITAL MULTIVALENT A DOUĂ NUMERE SCRISE ÎN BAZA DE NUMERAŢIE N (ÎN ZN) Compararea a două numere scrise în baza de numeraţie N, adică cu cifrele aparţinând mulţimii ZN, se face poziţie cu poziţie, începând cu cifrele aparţinând celui mai mare ordin şi terminând cu cifra de ordin zero (cea care se înmulţeşte cu N0), într-o structură modulară iterativă, informaţia comparării transmiţându-se din ordin în ordin, de la ordinul superior spre cel imediat inferior.

Se pleacă de la observaţia că dacă până la un anumit ordin – realizând compararea de la mare la mic – numerele comparate sunt egale (adică au toate cifrele egale, ordin cu ordin) şi la acel ordin unul dintre numere are cifra mai mare decât celălalt, atunci acest număr este mai mare, indiferent de situaţia comparativă a ordinelor inferioare a numerelor comparate.

Fie A şi B cele două numere care se compară, fiecare având n cifre:

(15.15) A = (an-1,an-2, ... ,a0) = an-1.Nn-1 + an-2.Nn-2 + ... + a0.N0

B = (bn-1,bn-2, ... ,b0) = bn-1.Nn-1 + bn-2.Nn-2 + ... + b0.N0

unde ai,bi ∈ ZN, (i = 0,1, ... ,n-1) Schema bloc a comparatorului numerelor A şi B este dată în

continuare, în figura F-15.11.

Fig. F-15.11

460 15. STRUCTURI CELULARE COMBINAŢIONALE

Funcţia comparatorului este următoarea:

(15.16)

[ ]

[ ] [ ]

[ ] [ ] [ ] [ ]⎩⎨⎧ ==−

=<=

⎩⎨⎧ >−

=>=

⎩⎨⎧

≠=−

=

în_restpentru

în_restpentru

pentrupentru

_0,0BA,eBA,_g_1),(N

BABA,l

_0,B_A_1),(N

BABA,g

B_A_0,B_A_1),(N

BA,e

Operatorii având drept variabile vectori multivalenţi au variabilele

încadrate în paranteze drepte, pentru a-i deosebi de operatorii care au variabile simple, multivalente, încadraţi între bare verticale.

Figura F-15.12 prezintă detalierea schemei bloc sub forma unei reţele iterative liniare combinaţionale. În această structurare s-a urmărit să se reducă la minim numărul de interconexiuni intercelulare, astfel că ieşirea l a celulei este calculată pe baza valorilor lui g şi e, aşa cum se va arăta în continuare.

Fig. F-15.12

Figura F-15.13 prezintă schema bloc a celulei de comparare a

cifrelor de ordin i ale numerelor A şi B.

Fig. F-15.13

În continuare se prezintă tabelul de valori al funcţiei circuitului din fig. F-15.13

ei+1 gi+1 ai bi ei gi li - (N-1) - - 0 (N-1) 0 0 0 - - 0 0 (N-1) (N-1) - ai = bi (N-1) 0 0 (N-1) - ai > bi 0 (N-1) 0 (N-1) - ai < bi 0 0 (N-1)

Tabelul Tb-15.2

15. STRUCTURI CELULARE COMBINAŢIONALE 461

În completarea tabelului s-a ţinut cont că numai una dintre tripletul de variabile (ei+1, gi+1, li+1), sau din tripletul (ei, gi, li) are valoarea egală cu (N-1), în timp ce celelalte două au valoarea 0.

Din tabel rezultă următoarele expresii pentru ei, gi şi li:

(15.17) ei = ei+1.ei(ai,bi)

(15.18) ii1i

1ii ba.e

gg

>=

+

+

(15.19) i

iiii e

ge.gl ==

În realizarea celulară (vezi fig. F-15.12) nu sunt necesare decât funcţiile gi şi ei, doar după ultima celulă (C0) calculându-se şi l0 = l, în conformitate cu relaţia (15.19).

Figura F-15.14 prezintă schema celulei comparatorului şi circuitul de determinare a lui m, realizate în conformitate cu relaţiile (15.17) – (15.19).

Fig. F-15.14 În binar, poarta de discriminare ii ba > este implementată prin

ii b.a , rezultând schema din figura F-15.15.

462 15. STRUCTURI CELULARE COMBINAŢIONALE

Fig. F-15.15 15.02.04. SIMBOL STRUCTURAL-FUNCŢIONAL ŞI SIMBOL GRAFIC PENTRU UN

COMPARATOR DIGITAL MULTIVALENT SIMPLU SAU VECTORIAL

Figurile F-15.16 şi F-15.17 prezintă schema structural-funcţională a unui comparator digital vectorial multivalent şi, respectiv, un simbol grafic al acestui tip de comparator.

Fig. F-15.16

15. STRUCTURI CELULARE COMBINAŢIONALE 463

Fig. F-15.17

Figura F-15.18 prezintă echivalentul acestor simboluri pentru un

comparator multivalent simplu (a două variabile simple, multivalente).

Fig. F-15.18

464 15. STRUCTURI CELULARE COMBINAŢIONALE

15.03. CIRCUIT DE PRIORITATE (PRIORITY ENCODER)

Un circuit de prioritate identifică intrarea activată care are cel mai mare

indice, semnalând la ieşire codul acestei intrări, sau indicele ei. Figura F-15.19 prezintă schema bloc a unui circuit de prioritate, iar figura

F-15.20 prezintă schema structurală a unui circuit de prioritate, în care blocul din stânga are cu o ieşire mai mult decât numărul intrărilor, iar blocul din dreapta este un codificator n:k.

Ieşirile blocului de prioritate au doar câte una valoarea 1 şi indică, prin indice, intrarea cu indicele cel mai mare care are valoarea 1. Ieşirea y0 arată că nici una dintre intrări nu are valoarea 1.

Blocul din dreapta codifică variabila y care are valoarea 1.

Fig. F-15.19

Fig. F-15.20 În continuare se stabileşte o structură iterativă pentru blocul de prioritate. Modelul structurii iterative a blocului de prioritate este prezentat în fig. F-

15.21, reprezentând o structură liniară de circuite de comparare a intrărilor, plecând de la indici mari către indici mici.

Funcţia celulei de comparare cu indicele i constă în a produce ieşire egală cu 1, numai dacă propria intrare este egală cu 0, iar celula anterioară semnalează prin Mi+1 că nu a existat nici o valoare egală cu 1 pe intrările cu indici superiori.

Tabelul de valori şi funcţia acestei celule, rezultată din tabel, sunt:

Mi+1,xi/yi,Mi 0,0/0,0 0,1/1,1 1,_/0,1

15. STRUCTURI CELULARE COMBINAŢIONALE 465

i

1ii

i1ii

xM

M

.xMy

+

+

=

=

În figura F-15.21 este prezentată şi schema logică a celulei de

comparare.

Fig. F-15.21 Nu se mai detaliază schema generală a circuitului de prioritate, pentru că singura parte care nu este prezentată aici o reprezintă codificatorul (n+1):k, ale cărui intrări au, de fiecare dată, doar câte una valoarea 1. În funcţie de numărul de intrări şi de modul de implementare a circuitelor, se poate folosi metoda de sinteză prezentată în capitolul referitor la circuite de codificare.

466 15. STRUCTURI CELULARE COMBINAŢIONALE

15.04. CIRCUITE DE INCREMENTARE ŞI DECREMENTARE

Se prezintă circuite cu structură iterativă care adună +1 (circuit de incrementare), sau -1 (circuit de decrementare) la un număr binar.

a – circuit de incrementare: Figura F-15.22 prezintă schema bloc generală a unui circuit de

incrementare, schema bloc a unei celule de incrementare şi schema logică a celulei.

Fig. F-15.22

Schema logică şi funcţia celulei se deduc din următorul tabel de valori:

xi,ti-1/yi,ti 0,0/0,0 0,1/1,0 1,0/1,0 1,1/0,1

1iii

1ii1ii1ii

1iii

.txt

)t,XOR(x)t,(xet.x

.txy

−−−

=

===

15. STRUCTURI CELULARE COMBINAŢIONALE 467

b – circuit de decrementare:

Figura F-15.23 prezintă schema bloc generală a unui circuit de decrementare, schema bloc a unei celule de decrementare şi schema logică a celulei.

Fig. F-15.23

Schema logică şi funcţia celulei se deduc din următorul tabel de valori:

xi,ti-1/yi,ti 0,0/0,0 0,1/1,1 1,0/1,0 1,1/0,0

1iii

1ii1ii1ii

1iii

.txt

)t,XOR(x)t,(xet.x

.txy

−−−

=

===

468 15. STRUCTURI CELULARE COMBINAŢIONALE

c – circuit de incrementare / decrementare:

Comparând expresiile logice ale circuitelor de incrementare şi decrementare, se constată că singura deosebire apare în expresia lui ti, în care xi apare direct pentru incrementare şi complementat pentru decrementare.

Dacă notăm cu S intrarea care indică semnul operaţiei, adică:

⎩⎨⎧

=redecrementapentrureincrementapentru

__,__,

10

S

rezultă expresia lui ti: S),.XOR(xtS).t,(xet i1i1iii −− ==

Figura F-15.24 prezintă schema bloc generală a circuitului de incrementare / decrementare, schema bloc a unei celule şi schema logică a unei celule de incrementare / decrementare.

Fig. F-15.24

15. STRUCTURI CELULARE COMBINAŢIONALE 469

15.05. CIRCUITE COMBINAŢIONALE DE DEPLASARE

În această parte se prezintă structurile iterative pentru circuite combinaţionale de deplasare spre stânga, spre dreapta sau bidirecţionale.

În figura F-15.25 este dată schema bloc a unui circuit de deplasare bidirecţional, iar figurile F-15.26, F-15.27 şi F-15.28 prezintă schemele cu structură iterativă ale circuitelor de deplasare stânga, deplasare dreapta şi, respectiv, deplasare bidirecţională.

Fig. F-15.25

Fig. F-15.26

470 15. STRUCTURI CELULARE COMBINAŢIONALE

Fig. F-15.27

Fig. F-15.28

Se prezintă în continuare sinteza schemelor logice ale celulelor de deplasare pentru cele trei cazuri:

a – deplasare stânga:

Tabelul de valori: s,xi-1,xi,xi+1/yi 0,_,0,_/0 0,_,1,_/1 1,_,_,0/0 1,_,_,1/1

Rezultă expresia logică a lui yi:

1i

ii s.x

.xsy

+

=

15. STRUCTURI CELULARE COMBINAŢIONALE 471

b – deplasare dreapta: Tabelul de valori: d,xi-1,xi,xi+1/yi 0,_,0,_/0 0,_,1,_/1 1,0,_,_/0 1,1,_,_/1

Rezultă expresia logică a lui yi:

1i

ii d.x

.xdy−

=

c – deplasare bidirecţională: Tabelul de valori: s,d,xi-1,xi,xi+1/yi

0,0,_,0,_/0 0,0,_,1,_/1 1,1,_,0,_/0 1,0,_,_,0/0 1,0,_,_,1/1 0,1,0,_,_/0 0,1,1,_,_/1 Rezultă expresia logică a lui yi:

1i

1i

i

i

.d.xs.xds..xd.s

y

+=

Din expresiile de mai sus se pot desena direct schemele logice ale celor trei tipuri de celule de deplasare, operaţie care nu se mai face aici.

472 15. STRUCTURI CELULARE COMBINAŢIONALE

15.06. CIRCUITE DE ÎNSUMARE

Circuitele aritmetice vor face obiectul unui capitol separat. Aici se prezintă structurile iterative ale unor circuite de adunare şi

scădere.

15.06.01. SUMA A DOUĂ NUMERE BINARE Fiind date două numere binare de n biţi, A şi B: A = (an-1,an-2, ... ,a0) B = (bn-1,bn-2, ... ,b0),

se cere determinarea sumei lor S: S = (sn,sn-1,sn-2, ... ,s0), folosind o reţea iterativă de circuite de adunare pe bit, aşa cum este prezentat în figura F-15.29.

Fig. 15.29

Tabelul de valori ale celulei elementare i de adunare este:

ai,bi,ti-1/ti,si 0,0,0/0,0 0,0,1/0,1 0,1,0/0,1 0,1,1/1,0 1,0,0/0,1 1,0,1/1,0 1,1,0/1,0 1,1,1/1,1

Aplicând metoda discriminării pentru minimizarea separată a ieşirilor,

se obţin următoarele rezultate: - ieşirea si:

- grup 0: 0,0,0 0,1,1 1,0,1

15. STRUCTURI CELULARE COMBINAŢIONALE 473

1,1,0 - grup 1: 0,0,1 0,1,0 1,0,0 1,1,1 - ieşirea ti: - grup 0: 0,0,_ 0,_,0 _,0,0 - grup 1: _,1,1 1,_,1 1,1,_ Atunci, funcţiile si şi ti se pot scrie sub prima formă canonică, astfel:

1ii

1ii

ii

i

iiii

iii

1-ii1ii

1ii

1iii

ii

1iii

ii

1iii

ii

1iii

ii

i

.tb

.ta

.bat

)b,XOR(a.bab.aσ

)t,XOR(σt.σ

.tσ

t..bab.a

.t.bab.a

t..bab.a

.tb.a

.ba

s

=

==

====

:_si

:_unde,

Figura F-15.30 prezintă schema logică a celulei de adunare, iar în figura F-15.31 se prezintă schema şi simbolul unei celule de adun are care are acces controlat pe una dintre intrări.

Fig. F-15.30

474 15. STRUCTURI CELULARE COMBINAŢIONALE

Fig. F-15.31 15.06.02. SCĂDEREA A DOUĂ NUMERE BINARE

Scăderea a două numere binare A şi B se realizează similar adunării,

schema iterativă a blocului de scădere fiind prezentată în figura F-15.32, unde rezultatul este A - B = D = (dn-1,dn-2, ... ,d0).

Fig. F-15.32

15. STRUCTURI CELULARE COMBINAŢIONALE 475

Tabelul de valori a unei celule de scădere Δi pe bit este dat mai jos,

unde ui reprezintă cererea de împrumut de la celula următoare. ai,bi,ui-1/ui,di (a-b) 0,0,0/0,0 0,0,1/1,1 0,1,0/1,1 0,1,1/1,0 1,0,0/0,1 1,0,1/0,0 1,1,0/0,0 1,1,1/1,1

Aplicând metoda discriminării pentru minimizarea separată a ieşirilor,

se obţin următoarele rezultate: - ieşirea di:

- grup 0: 0,0,0

0,1,1 1,0,1 1,1,0

- grup 1: 0,0,1

0,1,0 1,0,0

1,1,1 - ieşirea ui: - grup 0:

0,_,0 0,1,_ _,1,0 - grup 1: _,0,1 1,0,_ 1,_,1

Din tabelele minimizate, se poate scrie prima formă canonică pentru di şi ui:

1ii

ii

1ii

i

iii

1ii

iii

ii

1iii

ii

1-iii

ii

1iii

ii

i

.ubb.a

.uau

)b,XOR(aσ

)u,XOR(σ

u..bab.a

.u.bab.a

u..bab.a

.ub.a

.ba

d

−−

=

=

===

_si

:_unde,

476 15. STRUCTURI CELULARE COMBINAŢIONALE

Figura F-15.33 prezintă schema logică a celulei de scădere Δi:

Fig. F-15.33

Se observă că între celula de adunare şi cea de scădere singura

diferenţă este că ui depinde de complementul scăzătorului (de ib ), în timp ce ti depinde de bi.

În capitolul despre circuite aritmetice, însumarea algebrică cu semn

va fi prezentată în detaliu,

15. STRUCTURI CELULARE COMBINAŢIONALE 477

15.07. CIRCUITE DE PARITATE

Un circuit de paritate are la intrare un vector binar de n biţi, iar ieşirea lui are valoarea 1 când vectorul are un număr impar de biţi egali cu 1, iar în rest ieşirea are valoarea 0.

Se prezintă structura iterativă a unui asemenea circuit în figura F-15.34.

Fig. F-15.34 Tabelul de valori al unei celule de paritate este următorul: pi-1,xi/pi 0,0/0 0,1/1 1,0/1 1,1/1 Rezultă ieşirea pi a celulei:

)p,XOR(x.pxp.x

p 1ii1ii

1iii −

− ==

Figura F-15.35 prezintă schema logică a celulei de paritate, iar figura

F-15.36 prezintă schema logică iterativă a circuitului de paritate.

Fig. F-15.35

Fig. F-15.36

478 16. CIRCUITE ARITMETICE

16. CIRCUITE ARITMETICE 16.01. CIRCUITE DE ÎNSUMARE ALGEBRICĂ

16.01.01. SCRIEREA NUMERELOR CU SEMN

Fiind dat un număr A de n cifre, scris în baza de numeraţie N şi reprezentat prin lista cifrelor sale:

1)n0,1,...,(iZa

.Na)a,...,a,(aA

Ni

1ni

0i

ii02n1n

−=∈

== ∑−=

=−−

_

unde

,

:_,

se face următoarea convenţie de reprezentare cu semn:

- se adaugă listei numărului o poziţie care indică semnul: 0, pentru numere pozitive, 1, pentru numere negative;

Astfel, numerele cu semnul reprezentat în vectorul listă care le reprezintă sunt marcate cu asterisc. De exemplu, numărul A pozitiv se scrie:

)a,...,a,a(0,A* 02n1n −−=

- numerele negative se pot reprezenta prin cifra de semn egală cu 1 şi complementul părţii fără semn, care se face fie mod N, fie mod (N-1), adică: . în cazul complementului „modulo N”: Operând mod N, se poate scrie

)a,...,a,a(A

1A1A)1)((NANA

02n1-n

nn

−=

+=+−−=−=−

:_lui_A 1)_al-mod(N ulcomplement _esteAunde,

Expresia de mai sus arată că operaţia de scădere B - A se poate

transforma în operaţia de adunare 1AB ++ Dacă în vectorul A se include şi semnul, devenind A*, atunci

operaţia de scădere a lui A* se transformă în operaţie de adunare, la fel ca în cazul vectorului A:

)a,...,a,a(1,*A

1,*AA*

02n1n −−=

+=− :_ unde

. sau prin complementul „modulo N-1”, adică:

)a,...,a,a(1,*A A))-1)-(N**A 02n1n

n−−===− (,1(

16. CIRCUITE ARITMETICE 479

În cele ce urmează se va folosi complementul mod N, fiind cel mai folosit în calculatoare, dar, cunoscând definiţia, transpunerea exemplelor folosind complement mod (N-1) rămâne ca aplicaţie pentru cel interesat, care trebuie să stabilească corecţiile algebrice în urma însumării.

16.01.02. SCHIMBAREA SEMNULUI UNUI NUMĂR

Fiind dat un număr pozitiv A*, sau negativ –A*, schimbarea semnului se face la fel cum se trece de la un număr pozitiv la unul negativ, adică (folosind tehnica mod N) se complementează toate cifrele, inclusiv semnul, şi se adaugă +1.

16.01.03. SEMNUL ŞI TRANSFERUL ÎN CAZUL SUMEI ALGEBRICE A DOUĂ NUMERE CU SEMN

Suma a două numere reprezentate mod N se face astfel: - se adună +1 la numerele care au semnul – (au cifra de semn egală

cu 1); - se face adunarea părţilor fără semn ale celor două numere; - semnul şi bitul de transfer al sumei se stabilesc ţinând cont de

următoarele aspecte. . dacă semnele sunt egale, se păstrează semnul, iar

transportul care apare din adunare trece în bitul de transport al sumei;

. dacă semnele sunt diferite, nu apare transport al sumei, iar semnul sumei este inversul valorii bitului de transport al operaţiei de adunare (0, când apare transport la adunare şi 1, când transportul la adunare este 0).

Determinarea semnului S şi a transportului T la însumarea

algebrică A* +(-1)sgn.B*.B*

a două numere A* şi B* ale căror semne SA* şi SB

* , în urma precizării operaţiei care se efectuează asupra lor (adunare – în care caz semnul iniţial rămâne neschimbat – sau scădere – caz în care semnul iniţial se schimbă), au valorile SA şi SB, iar bitul de transport al blocului de adunare este tn-1, se face pe baza unui tabel de valori care exprimă condiţiile precizate mai înainte: SA,SB,tn-1/S,T

0,0,0/0,0 0,0,1/0,1 1,1,0/1,0 1,1,1/1,1 0,1,1/0,0 1,0,1/0,0 0,1,0/1,0 1,0,0/1,0

480 16. CIRCUITE ARITMETICE

După minimizare separată pe fiecare ieşire, rezultă următoarele tabele pentru S şi pentru T: - S, grup 0: 0,0,_ 0,_,1 _,0,1

- S, grup 1: 1,1,_ _,1,0 1,_,0

- T, grup 0: _,_,0 0,1,_ 1,0,_

- T, grup 1: 0,0,1 1,1,1

Pe baza tabelelor de mai sus, rezultă funcţiile care definesc circuitul de implementare al semnalelor S şi T:

(16.1) 1n

B

A

BA

1nB

1nA

BA

tSS

.SS

t.St.S

.SSS

−−

− ==

(16.2) ).S.e(St).tS,XNOR(S.tS.S.t.SS

T BA1n1nBA1nBA

1nBA−−

− ===

16.01.04. STRUCTURA UNUI CIRCUIT DE ÎNSUMARE

ALGEBRICĂ A DOUĂ NUMERE CU SEMN Fiind date două numere cu semn A* şi B*, operaţiile A*+B* şi A*-B* pot fi realizate cu un circuit de adunare, care, atunci când operaţia este de scădere, complementează toate poziţiile vectorului B* (deci inclusiv semnul, fie el + sau -) şi îl adună cu A* şi cu +1, conform celor arătate mai înainte, referitor la suma algebrică mod N. Semnul şi transportul operaţiei de însumare se stabilesc aşa cum este arătat mai sus. Figura F-16.1 prezintă schema bloc a unui asemenea circuit de însumare.

Fig. F-16.1

16. CIRCUITE ARITMETICE 481

16.01.05. CELULĂ ŞI REGISTRU DE ÎNSUMARE ALGEBRICĂ

Fiind date două numere cu semn A* şi B*, se poate structura o celulă de

însumare algebrică, adăugând celulei de adunare din figura F-15.31 poarta XOR pentru complementarea biţilor numărului B*, în vederea operaţiei de scădere a lui B* din A*. Figura F-16.2 prezintă schema bloc a unei asemenea celule, unde prin sgn.B* s-a notat intrarea de stabilire a operaţiei care se efectuează asupra lui B* (0 pentru adunare şi 1 pentru scădere), iar en.B* reprezintă intrarea care permite însumarea algebrică a lui B* (1 pentru însumare şi 0 pentru însumarea numărului 0 , în locul lui B*).

Fig. F-16.2 Figura F-16.3 prezintă, pe baza celor stabilite în secţiunile anterioare,

structura şi schema bloc pentru circuitul de semn şi transport la însumarea algebrică:

A* +(-1)sgn.B*.B*.

482 16. CIRCUITE ARITMETICE

Fig. F-16.3 Cu simbolizările grafice de mai înainte, figura F-16.4 prezintă schema de

structură şi schema bloc a unui registru de însumare algebrică A* +(-1)sgn.B*.B*→SAB, unde SAB este registrul sumă.

16. CIRCUITE ARITMETICE 483

Fig. F-16.4

Se poate sintetiza pentru ieşirea si a circuitului de însumare algebrică

o schemă logică cu adâncime uniformă, potrivită unor implementări pe structuri logice programabile.

484 16. CIRCUITE ARITMETICE

Tabelul de valori pentru circuitul si este următorul: ti-1,ai,bi,en.B,sgn.B/si _,_,_,0,_/0 0,0,0,1,0/0 0,0,1,1,0/1 0,1,0,1,0/1 0,1,1,1,0/0 1,0,0,1,0/1 1,0,1,1,0/0 1,1,0,1,0/0 1,1,1,1,0/1

0,0,0,1,1/1 0,0,1,1,1/0 0,1,0.1.1/0 0,1,1,1,1/1 1,0,0,1,1/0 1,0,1,1,1/1 1,1,0,1,1/1 1,1,1,1,1/0

Simplificând prin metoda discriminării, se obţin următoarele tabele de

valori reduse: - grup 0:

_,_,_,0,_ 0,0,0,_,0 0,1,1,_,0 1,0,1,_,0 1,1,0,_,0 0,0,1,_,1 0,1,0,_,1 1,0,0,_,1 1,1,1,_,1

- grup 1: 0,0,1,1,0 0,1,0,1,0 1,0,0,1,0 1,1,1,1,0 0,0,0,1,1 0,1,1,1,1 1,0,1,1,1 1,1,0,1,1

Pe baza tabelelor de mai sus, rezultă expresiile lui si sub prima şi a doua formă canonică: (16.3):

(sgn.B*)*,XOR(b**b

*)*b*,XOR(a*β

*)β*,R(t(en.B*).XO

**.b*a**b.*a

.*t

**b.*a**.b*a

.*t(en.B*).s

sgn.B*).(en.B*).(*b.*.atsgn.B*).(en.B*).(*.b*a.tsgn.B*).(en.B*).(*.b*.atsgn.B*).(en.B*).(*b.*a.t

(sgn.B*).(en.B*).*.b*.at(sgn.B*).(en.B*).*b.*a.t(sgn.B*).(en.B*).*b.*.at(sgn.B*).(en.B*).*.b*a.t

s

ii

iii

i1i

ii

ii1i

ii

ii1i

Ii

ii1i

ii1i

ii1i

ii1i

ii1i

ii1i

ii1i

ii1i

Ii

==

==

=

:

,

:

unde

sau

16. CIRCUITE ARITMETICE 485

(16.4):

.(sgn.B*)*.b*.at

.(sgn.B*)*b.*a.t

.(sgn.B*)*b.*.at

.(sgn.B*)*.b*.at)*(sgn.B.*b.*.at)*(sgn.B.*.b*a.t)*(sgn.B.*.b*.at)*(sgn.B.*b.*a.t

(en.B*)

s

(sgn.B*)*b*a

t

(sgn.B*)*b*a

t

(sgn.B*)*b*a

t

(sgn.B*)*b*a

t

(sgn.B*)*b*a

t

(sgn.B*)*b*a

t

(sgn.B*)*b*a

t

(sgn.B*)*b*a

t

(en.B*).s

ii1i

ii1i

ii1i

ii1i

ii1i

ii1i

ii1i

ii1i

IIi

i

i

1i

i

i

1i

i

i

1i

i

i

1i

i

i

1i

i

i

1i

i

i

1i

i

i

1i

IIi

−−−−

−−−−

=

=

:

.

.

sau

sau: (16.5):

(sgn.B*)*,XOR(b**b*)*b*,XOR(a*β

*)β*,R(t(en.B*).XO*)β*,(tXOR

)*en.B(

*β.*t*.β*t)*en.B(

**b.*a**.b*a

.*t

**.b*a**b.*a.*t

)*en.B(

s

ii

iii

i1ii1i

i1i

i1i

ii

ii1i

ii

ii1i

IIi

==

==== −

−−

:

,

unde

Se constată echivalenţa celor două forme canonice. Rezumând:

486 16. CIRCUITE ARITMETICE

(16.6)

(sgn.B*))*,XOR(b**b*)*b*,XOR(a*β

*),*,.βR(t(en.B*).XOs

ii

iii

i1ii

==

= −

:unde

Figurile F-16.5 şi F-16.6 prezintă schemele logice ale circuitului si, realizat conform primei şi, respectiv, celei de a doua forme canonice.

Circuitul este prezentat pentru implementare pe structură logică programabilă, având o adâncime uniformă intrare-ieşire.

Fig. F-16.5

16. CIRCUITE ARITMETICE 487

Fig. F-16.6 Similar, se poate stabili şi schema circuitului de transport din celula

de însumare algebrică, plecând de la tabelul de valori de mai jos:

t*i-1,ai*,bi*,sgn.B*/ti* 0,0,0,0/0 0,0,1,0/0 0,1,0,0/0 0,1,1,0/1 1,0,0,0/0 1,0,1,0/1 1,1,0,0/1 1,1,1,0/1

0,0,0,1/0 0,0,1,1/0 0,1,0,1/1 0,1,1,1/0 1,0,0,1/1 1,0,1,1/01,1,0,1/1 1,1,1,1/1

Din tabel rezultă, prin minimizare, următoarele tabele reduse: - grup 0: 0,0,_,_ 0,_,0,0 _,0,0,0 0,_,1,1 _,0,1,1

- grup 1: _,1,1,0 1,_,1,0 1,1,_,_ _,1,0,1 1,_,0,1

488 16. CIRCUITE ARITMETICE

Din tabelul pentru grup 1 se deduce expresia logică a lui ti*, sub prima formă canonică: (16.7):

,

.(sgn.B*)*b.*t.(sgn.B*)*b.*a*.a*t

(sgn.B*).*.b*t

(sgn.B*).*.b*a

*t

i1i

ii

i1i

i1i

ii

i

= dau

(sgn.B*))*,XOR(b**b

**b*a

.*t

**.b*a*t

ii

i

i1ii

ii

i

=

=−

:

,

unde

Expresia lui ti se mai poate scrie:

(16.8)

(sgn.B*))*,XOR(b**b**b

*a*)*b*,max(a*M

**.b*a*)*b*,min(a*m

.t*M*m

*t

,i

i

iiii

iiiii

1ii

ii

=

==

==

=−

:

,*

unde

Figura F-16.7 prezintă schema logică a circuitului.

Fig. F-16.7

16. CIRCUITE ARITMETICE 489

Figura F-16.8 prezintă o altă structurare logică a celulei de însumare algebrică şi schema ei bloc, mai sugestivă funcţional şi mai potrivită pentru punerea în evidenţă a sublocurilor funcţionale ale celulei (σi,(mi,Mi),Ti), dar pentru implementări în structuri programabile se recomandă schemele prezentate anterior.

Fig. F-16.8

490 16. CIRCUITE ARITMETICE

16.02. TRANSPORT PARALEL ÎN REGISTRELE DE ÎNSUMARE ALGEBRICĂ

Structura unui registru de însumare algebrică, în care celulele [ ]i∑ de

însumare (funcţia (si,ti)) sunt separate în celule [ ]iσ de adunare propriu zisă

(funcţia si) şi celule [ ]iT de elaborare a transportului (funcţia ti), este prezentată în figura F-16.9.

Fig. F-16.9 Din schema registrului de însumare rezultă că semnalul de transport este

transmis din celulă în celulă, pe rând, fapt care conduce la creşterea timpului de stabilire a sumei, proporţional cu numărul de celule de însumare, deci proporţional cu numărul de biţi al numerelor care se însumează.

În continuare se propune o soluţie de elaborare paralelă a funcţiei

transportului la nivelul unui grup de celule de însumare şi la nivelul unui grup de grupe de celule.

Se optimizează transportul pe un grup de 4 biţi, format din celulele de însumare algebrică:

*)T*,(σ*)T*,(σ*)T*,(σ*)T*,(σ

333

222

111

000

=∑=∑=∑=∑

****

În aceste expresii, σi* simbolizează circuitul care implementează funcţia

si* (vezi (16.3) - (16.6)), iar Ti* simbolizează circuitul care implementează funcţia ti* (vezi (16.7) şi (16.8)).

Din (16.8) rezultă:

16. CIRCUITE ARITMETICE 491

(16.9):

gn.B*)(en.B*).(st

*.t*.M*.M*.M*M*.m*M

*m

*.t*M*m

*t

*.t*.M*.M*M*.m*.M*M

*.m*M*m

*.t*M*m

*t

*.t*.M*M*.m*M

*m

*.t*M*m

.*M

*m

*.t*M*m

*t

*.t*M*m

*t

IN

IN0123

23

3

23

33

IN012

012

12

2

12

22

IN01

01

1

IN0

01

1

01

11

IN0

00

=

==

==

===

=

:unde

Transportul de grup este t3. Prin urmare, transportul pentru grupul j are

următoarea expresie:

(16.10)

gn.B*)(en.B*).(s*t*t*t

*.M*.M*.M*M*G

*.m*M*m

*g

:unde

,*.t*G

*g

*.t*.M*.M*.M*M*.m*M

*m

*.t*M*m

*t*t

IN0

INj1)-G(j

0j1j2j3jj

2j3j

3jj

1)G(jj

j

INj0j1j2j3j

2j3j

3j

2j3j

3j3jGj

=

=

=

=

====−

Cu aceste notaţii, expresiile transporturilor de grup pentru 4 grupuri

sunt:

492 16. CIRCUITE ARITMETICE

16.11):

gn.B*)(en.B*).(s*t:unde

*.t*.G*.G*.G*G*.g*.G*.G*G

*.g*.G*G*.g*G

*g

*.t*G*g

*t

*.t*.G*.G*G*.g*.G*G

*.g*G*g

*.t*G*g

*t

*.t*.G*G*.g*G

*g

*.t*G*g

.*G

*g

*.t*G*g

*t

*.t*G*g

*t

IN

IN0123

0123

123

23

3

G23

3G3

IN012

012

12

2

G12

2G2

IN01

01

1

IN0

01

1

G01

1G1

IN0

0G0

=

==

==

===

=

Din expresiile (16.10) şi (16.11) se contată că transportul pe grup şi

transportul pe un ansamblu de grupuri nu mai sunt generate din aproape în aproape, ci depind direct de transportul tIN* de la intrare, asigurându-se astfel o prelucrare paralelă a informaţiei de transport.

Figurile F-16.10, F-16.11 şi F-16.12 prezintă, în conformitate cu

expresiile stabilite mai înainte: - schema unui grup de însumare algebrică cu transport paralel, format

din patru celule de însumare; - schema bloc a unui grup de însumare algebrică, având transport

paralel; - schema unui registru de însumare algebrică cu transport paralel,

format din patru grupuri de însumare algebrică,

Fig. F-16.11

16. CIRCUITE ARITMETICE 493

Fig. F-16.10

494 16. CIRCUITE ARITMETICE

Fig. F-16.12

16. CIRCUITE ARITMETICE 495

16.03. STRUCTURI ARITMETICE MATRICIALE

16.03.01. STRUCTURĂ MATRICIALĂ PENTRU

ÎNSUMAREA ALGEBRICĂ PARALELĂ A MAI MULTOR NUMERE

Conectarea în cascadă a mai multor registre de însumare algebrică,

formând o structură matricială a celulelor de însumare, permite efectuarea în paralel a însumării algebrice a mai multor numere cu semn.

Figura F-16.13 prezintă o asemenea structură matricială, în care prin cercurile marcate cu Σ* sunt reprezentate celule de însumare algebrică. Structura poate realiza operaţia:

*.D1)(en.C*).(*.C1)(en.C*).(*.B1)(en.B*).(*AS (sgn.D*)(sgn.C*)(sgn.B*) −+−+−+=

16.03.02. STRUCTURĂ MATRICIALĂ PENTRU UN

CIRCUIT DE ÎNMULŢIRE 16.03.02.01. Înmulţirea a două numere binare fără

semn Operaţia de înmulţire a două numere binare se poate efectua urmând un

algoritm similar celui folosit la înmulţirea a două numere zecimale. În exemplul următor se arată cum se înmulţesc numerele binare A şi B:

A x 1011 x B 1101 1011 0000 1011 1011 P 10001111

Exemplul de mai sus sugerează adunarea repetată, cu deplasare spre

stânga, a numărului A, biţii numărului B comandând prin (en.A) dacă la fiecare deplasare se adună numărul A (când bitul corespunzător al lui B este zero), sau se adună 0 (când bitul corespunzător al lui B este 0).

496 16. CIRCUITE ARITMETICE

O implementare paralelă a acestei operaţii conduce la o structură matricială de celule de însumare, aşa cum este dată în fig. F-16.14

Fig. F-16.13

16. CIRCUITE ARITMETICE 497

Fig. F-16.14 Se pot stabili şi structuri de înmulţire serie, sau serie-paralel, care

folosesc secvenţial o aceeaşi celulă de însumare, sau un acelaşi grup de celule de însumare. De asemenea există şi alţi algoritmi, unii mai eficienţi, cum este „algoritmul lui Booth – simplu, sau modificat –„ [Heuring and Murdoca].

De asemenea, există şi algoritmi de împărţire, similari algoritmilor zecimali, cu implementări serie, sau serie-paralel, sau paralel, care folosesc ca bază celula de însumare algebrică.

Asemenea aplicaţii nu constituie obiectul prezentei lucrări, care oferă principii şi metode efective de proiectare logică, în general pentru orice problemă specificată digital, fie că ea este formalizată în logică binară sau multivalentă.

Aplicaţiile specifice se găsesc în tratate special destinate lor, iar acolo, cunoscând algoritmii specifici problemei, se pot verifica soluţiile, sau se pot stabili soluţii alternative, folosind metodele expuse în prezenta lucrare.

498 16. CIRCUITE ARITMETICE

16.03.02.02. Înmulţirea a două numere binare cu semn

Înmulţirea a două numere binare cu semn se poate face în două feluri: 1 - folosirea circuitelor pentru înmulţirea a două numere fără

semn: • complementarea modulo 2 a numerelor negative, • folosirea unui circuit de înmulţire a două numere pozitive, • complementarea modulo 2 a rezultatului, când numerele au

semne diferite. 2 - folosirea în structurile de înmulţire a circuitelor pentru

însumare algebrică cu semn, în care caz numerele negative trebuie reprezentate pe un număr de biţi egal cu numărul M maxim de biţi al rezultatului, în rezultat reţinându-se cei mai din dreapta M biţi.

Justificarea poate fi uşor dedusă din următorul exemplu, în care se înmulţeşte (-1) cu (+1):

- fără extinderea numărului de biţi ai numărului negativ, rezultatul este incorect: 1111 (-1)2 x 0001 (+1)2 1111 0000 0000 0000

0 0001111 (+15)2 rezultat incorect; - cu extinderea numărului de biţi ai numărului negativ, rezultatul este corect:

11111111 (-1)2 x 0001 (+1)2

11111111 0000000 000000 00000 11111111 (-1)2 rezultat corect.

16. CIRCUITE ARITMETICE 499

16.04. CIRCUITE ARITMETICE CU STRUCTURĂ SERIE-PARALELĂ

16.04.01. SUMATOR SERIE-PARALEL

În figura F-16.15 este prezentată schema principială a unui sumator

algebric a două numere a câte n biţi fiecare, folosind un grup de însumare de k biţi, accesul biţilor celor două numere, precum şi preluarea rezultatelor, făcându-se secvenţial în grupe de câte k biţi. În cazul k = 1, însumarea se face folosind o sigură celulă de însumare algebrică. Întreaga operaţie se

efectuează în kn paşi.

Fig. F-16.15

16.04.02. CIRCUIT DE MULTIPLICARE SERIE A DOUĂ

NUMERE

Se prezintă succint schema unui circuit de înmulţire serie a două numere a câte n biţi fiecare, în care sumele parţiale sunt efectuate în paralel pe n biţi.

Figura F-16.16 redă schema principială de structură a unui asemenea circuit.

În această schemă, poziţia b0 (şi nu bitul cel mai mic al lui B), a cărei valoare este ocupată pe rând de către bitul anterior, stabileşte dacă, în tactul respectiv se adună A sau 0. după cum valoarea lui b0 este 1 sau 0.

500 16. CIRCUITE ARITMETICE

Principiul înmulţirii constă în adunarea repetată, prin deplasare la fiecare tact, a numărului A, sau a valorii 0, în funcţn-1ie de valoarea poziţiei b0.

Rezultatul înmulţirii se obţine, după n tacţi, în registrele D şi B reunite: [ ] [ ]

)p,...,p,p,...,(p)b,...,b,d,...,(dP

P)b,...,(bBx)a,...,(aA

01-nn12n01n01n

01-n01-n

−−− ==

===:unde

În schemă, C reprezintă un registru de un bit care stochează temporar informaţia de transport la însumare.

Fig. F-16.16 Pentru exemplificare, se prezintă în continuare etapele înmulţirii

numerelor A = (1011) şi B = (1101): (A): (1011) b0 (C)(D)(B): (0)(0000)(1101*) pas 1: 0 1011 1101 A + D 0 0101 1110* depl.dreapta

pas 2: - - - - - - - - - fără adunare 0 0010 1111* depl.dreapta

pas 3: 0 1101 1111 A + D 0 0110 1111* depl.dreapta pas 4: 1 0001 1111 A + D P: 0 1000 1111 final P = (1000 1111)

16. CIRCUITE ARITMETICE 501

Rezultă că pentru înmulţirea a două numere de n biţi, sunt necesari n paşi, după schema de mai sus. Există însă algoritmi de înmulţire mai eficienţi, cu ajutorul cărora operaţia de înmulţire se face într-un număr mai mic de paşi.

În continuare se va prezenta un astfel de algoritm de înmulţire mai

eficient. 16.04.03. ALGORITMI EFICIENŢI DE ÎNMULŢIRE 16.04.03.01. Algoritmul lui BOOTH

În acest algoritm (vezi X), secvenţele ...11111... din registrul înmulţitor (numărul B, în cele prezentate până acum) se înlocuiesc cu diferenţa 2u+1-2v, unde n şi v sunt poziţiile din numărul B ale cifrelor extreme ale secvenţei, pentru că această secvenţă se poate scrie: ...1.2u+1.2u-1+...+1.2v... = 2u+1 - 2v

Cu această observaţie, numărul B poate fi recodificat astfel: . . . 1 1 1 1 1 . . . . . +1 0 0 0 0-1 . . .

adică, în loc să se adune de (u+1-v) ori numărul A, se vor realiza doar două operaţii, incluzând deplasările corespunzătoare:

- scăderea lui A pe poziţia v - adunarea lui A pe poziţia u+1. Exemplul următor prezintă ideea algoritmului, fără a se mai schiţa şi o

posibilă schemă de structură a unui circuit care implementează operaţia de înmulţire în conformitate cu algoritmul lui Booth.

Se înmulţesc numerele: A = (010101) = 2110 B = (001110) = 1410 Pentru înmulţitorul din exemplu (numărul B), rezultă: u = 3 v = 1 Desfăşurat, procesul arată astfel.

0 1 0 1 0 1 A

0 0 1 1 1 0 B 0 +1 0 0 -1 0 B recodificat

d + d d - d d = deplasare stânga Rezultă: 1 1 1 1 1 1 0 1 0 1 1 0 (- A).21 0 0 0 1 0 1 0 1 0 0 0 0 A .24 0 0 0 1 0 0 1 0 0 1 1 0 P = A.B = produs

502 16. CIRCUITE ARITMETICE

Cel mai defavorabil caz al aplicării algoritmului lui Booth apare când înmulţitorul este format de o secvenţă în care se alternează cifrele 1 cu 0. De exemplu, să alegem pe A din exemplul anterior, drept înmulţitor şi pe B ca deînmulţit. Atunci, operaţia devine:

0 0 1 1 1 0 B 0 1 0 1 0 1 A

+1 -1 +1 -1 +1 -1 B recodificat + - + - + - rezultând operaţiile: 1 1 1 1 1 1 1 1 0 0 1 0 (-B).20

0 0 0 0 0 0 0 1 1 1 0 0 B .21 1 1 1 1 1 1 0 0 1 0 0 0 (-B).22 0 0 0 0 0 1 1 1 0 0 0 0 B .23 1 1 1 1 0 0 1 0 0 0 0 0 (-B).24 0 0 0 1 1 1 0 0 0 0 0 0 B .25 1 0 0 1 0 0 1 0 0 1 1 0 P = produs În vederea corectării unor asemenea situaţii, în care timpul de înmulţire poate depăşi pe cel al unui algoritm clasic, se va prezenta o îmbunătăţire a algoritmului lui Booth (vezi X). 16.04.03.02. Algoritmul modificat al lui BOOTH

În urma recodificării înmulţitorului, conform cu algoritmul lui Booth, se grupează de la dreapta la stânga perechile (+1,-1), observând că o asemenea pereche este echivalentă cu (+2,-1), ceea ce conduce la perechea echivalentă (0,+1), reducând astfel numărul de operaţii de însumare algebrică a deînmulţitului. Similar, se petrece o conversie şi cu perechea (-1,+1), care devine (0,-1). Se observă, de asemenea, că nu pot apărea perechi (+1,+1), sau (-1,-1):

[ ] [ ]

[ ] [ ][ ] [ ][ ] [ ][ ] [ ][ ] [ ][ ] [ ][ ] [ ][ ][ ] nu_există11,

nu_există11,0,00,0

1,01,01,01,010,10,10,10,

10,11,10,11,

at_recodifici1),(ii1),(i

→−−→++

→−→−+→+−→−+→+−→+−+→−+

+→+

16. CIRCUITE ARITMETICE 503

Cu algoritmul lui Booth astfel modificat rezultă că pot apărea cel mult n/2 operaţii de adunare la înmulţirea a două numere a n biţi fiecare.

16.04.04. CIRCUITE DE ÎMPĂRŢIRE

În figura F-16.17 se prezintă structura serie-paralelă a unui circuit de împărţire care operează după algoritmul clasic al împărţirii

Schema realizează împărţirea a două numere de n biţi fiecare: A:B = Q, rest R unde. A = (an-1, ... ,a0) B = (bn-1, ... ,b0) Iniţial, A este plasat în registrul [A], iar B este înscris în primii n biţi ai

registrului [B*] cu (n+1) biţi. Registrul [R] are (n+1) biţi este şters, dar în final restul împoărţirii se

va regăsi pe primii n biţi. Câtul Q al operaţiei se va regăsi, la sfârşitul operaţiei de împărţire,

după n paşi, în registrul A.

504 16. CIRCUITE ARITMETICE

Fig. F-16.17

Se va folosi un sumator de (n+1) biţi. Împărţirea se efectuează astfel:

- se deplasează stânga, bit cu bit, numărul A în R, deci începând cu bitul cel mai semnificativ;

- se face diferenţa dintre R (partea din A deplasată în R) şi împărţitorul B, şi:

o se pune 0, drept cifră a câtului, dacă B > R (adică dacă cifra rn a rezultatului scăderii este 1) şi se restabileşte valoarea lui R pentru compararea ce rezultă din deplasarea următoare,

16. CIRCUITE ARITMETICE 505

adică se adună B peste R (la început se face R-B şi apoi, pentru restabilire R, se adună B, deci R-B+B = R);

o se pune 1, drept cifră a câtului, dacă B ≤ R (adică atunci când poziţia rn a registrului R devine 0);

o valoarea lui rn se înscrie în poziţia a0 a lui A, astfel încât, după n paşi, în registrul A se obţine valoarea câtului Q, iar în registrul R rămâne restul împărţirii.

Se exemplifică funcţionarea schemei prin împărţirea următoare: [A = (1011) = 1110] : [B = (0011) = 310] = [Q = (0011) = 310] şi rest [R = (0010)] 1011=A

B 00011 R 00000 R 00001 0110 A ← valoarea reg. R şi A după deplasare R-B 11110 0110 A r4=1 determină 0 → a0

+B→R: R+B 00001 0110 A R 00010 1100 A ← R şi A după o nouă deplasare R-B 11111 1100 A r4=1 determină 0 → a0 +B→R: R+B 00010 1100 A R 00101 1000 A ← R şi A după o nouă deplasare

R-B 00010 1000 A r4=0 determină 1 → a0 R 00010 1001 A R 00101 0010 A ← R şi A după o nouă

deplasare R-B 00010 0010 A r4=0 determină 1 → a0:

R=rest 00010 0011 A=Q Rezultat final

506 16. CIRCUITE ARITMETICE

16.05. CIRCUITE PENTRU ARITMETICĂ ZECIMALĂ

În această secţiune se prezintă principii şi scheme logice pentru blocuri de

însumare folosind cifre zecimale codificate binar. Se va exemplifica pe două moduri de codificare binară a cifrelor zecimale: - codul BCD (binary coded decimal), - codul XS3 (excess 3). În tabelul de mai jos se prezintă aceste codificări ale cifrelor zecimale, care

definesc convertorii de cod Z10 → Z2 (BCD) şi Z10 → Z2 (XS3): Z10→Z2(BCD) Z10→Z2(XS3) z/x3, x2, x1, x0 z/y3, y2, y1, y0 0/0,0,0,0 - /0,0,0,0 1/0,0,0,1 - /0,0,0,1 2/0,0,1,0 - /0,0,1,0 3/0,0,1,1 0/0,0,1,1 4/0,1,0,0 1/0,1,0,0 5/0,1,0,1 2/0,1,0,1 6/0,1,1,0 3/0,1,1,0 7/0,1,1,1 4/0,1,1,1 8/1,0,0,0 5/1,0,0,0 9/1,0,0,1 6/1,0,0,1 - /1,0,1,0 7/1,0,1,0 - /1,0,1,1 8/1,0,1,1 - /1,1,0,0 9/1,1,0,0 - /1,1,0,1 - /1,1,0,1 - /1,1,1,0 - /1,1,1,0 - /1,1,1,1 - /1,1,1,1

În tabelul de mai sus s-au marcat cu scriere italică poziţiile de cod binare

care sunt în afara codificării cifrelor zecimale.

16.05.01. SUMATOR ZECIMAL BCD Se va folosi un sumator binar de 4 biţi, care va fi adaptat pentru operare

cu cifre zecimale codificate BCD. Se observă următoarele: - atunci când suma binară a două cifre zecimale nu depăşeşte 9,

rezultatul este corect; - când suma este mai mare ca 9, trebuie adăugat +6, pentru că ar

trebui să apară transfer, iar apariţia transferului presupune, în binar, rezultat mai mare sau egal cu 16;

- când apare transfer, trebuie adăugat +6, pentru că s-a livrat spre ordinul următor 16, în loc de 10;

- transportul t este format din două componente care apar în situaţii diferite: . ta - transportul care apare înaintea corecţiei de +6, când suma depăşeşte cifra 16;

16. CIRCUITE ARITMETICE 507

. tb - transportul care apare în urma corecţiei, caz în care suma este cuprinsă între 10 şi 15:

Condiţia c(+6) de aplicare a corecţiei de +6 este, analizând tabelul,

dedusă din următorul tabel de valori, care reprezintă valoarea corecţiei, în funcţie de valoarea sumei (x3, x2, x1, x0) obţinută în sumatorul binar de 4 biţi şi de valoarea transportului ta, care apare din adunarea binară, înaintea corecţiei:

x3, x2, x1, x0,ta/c(+6) 0,0,0,0,0/0 0,0,0,1,0/0 0,0,1,0,0/0, 0,0,1,1,0/0 0,1,0,0,0/0 0,1,0,1,0/0 0,1,1,0,0/0 0,1,1,1,0/0

1,0,0,0,0/0 1,0,0,1,0/0 1,0,1,0,0/1 1,0,1,1,0/1 1,1,0,0,0/1 1,1,0,1,0/1 1,1,1,0,0/1 1,1,1,1,0/1 _,_,_,_,1/1

Aplicând metoda discriminării, se obţin următoarele grupe de vectori

minimizaţi: - grup 0: 0,_,_,_,0 _,0,0,_,0

- grup 1: 1,_,1,_,_ 1,1,_,_,_ _,_,_,_,1

Rezultă pentru c(+6) expresiile echivalente:

23

13

aI

.xx

.xxt

6)c( =+

1

2

a

3

aII

xxt

xt

6)c( =+

Expresia transportului este obţinută, aşa cum se deduce din cele

prezentate anterior, prin însumarea logică a celor două transporturi ta şi tb:

b

a

tt

t =

În figura F-16.18 este prezentată schema de structură a unui sumator

BCD, folosind celule de însumare binară.

508 16. CIRCUITE ARITMETICE

Fig. F-16.18

16.05.02. SUMATOR ZECIMAL XS3

În codul XS3 cifrele zecimale sunt reprezentate de numere binare care au cu 3 mai mult decât valoarea cifrei.

Prin adunarea a două cifre, în cazul în care nu rezultă transport, suma va fi cu 6 mai mare decât reprezentarea reală (BCD) a cifrei, deci cu 3 mai mare decât reprezentarea XS3 a cifrei. Prin urmare, este necesar să se scadă 3 din rezultat. Scăderea se face modulo 16, fiind vorba de o grupare binară de 4 biţi, ceea ce este echivalent cu a aduna 13, pentru că 16-3 = 13.

De exemplu, dacă se adună două cifre zecimale ABCD şi BBCD, reprezentate în XS3 prin AXS3= ABCD+3 şi, respectiv, BXS3= BBCD+3, trebuie să se obţină suma în XS3: SXS3=ABCD+BBCD+3.

Dacă se adună AXS3 cu BXS3, folosind un sumator binar de 4 biţi, se obţine următorul rezultat:

ABCD+3 + BBCD+3 SBCD = (ABCD+BBCD)+6 = SXS3+3,

fiind necesară corecţia SXS3(fără transfer) = SBCD - 3 = SBCD + 13(mod16)

16. CIRCUITE ARITMETICE 509

În cazul apariţiei transferului, se livrează spre ordinul următor 16, în loc

de 10, deci un deficit de 6, care trebuie adăugat, dar este în plus 3, fiind deci necesară o corecţie de +3 la SBCD pentru a obţine suma corectă:

SXS3(cu transfer) = SBCD+3(mod 16)

În figura F-16.16 este prezentată schema de structură a unui sumator XS3, folosind celule de însumare binară.

Fig. F-16.19 16.05.03. SCĂDEREA ZECIMALĂ

ÎN CODIFICAREA BCD ŞI XS3

Scăderea numerelor zecimale codificate binar conform codului BCD sau XS3 se realizează similar scăderii numerelor binare:

- se generează complementul faţă de 10 al numerelor negative, aşa cum în binar se creează complementul faţă de 2;

- se realizează apoi însumarea folosind blocuri de însumare BCD sau, corespunzător XS3.

Se menţionează aici avantajul la complementare al codificării XS3, unde

complementul faţă de 10 al unui număr se obţine complementând biţii şi adunând +1.

510 16. CIRCUITE ARITMETICE

16.06. UNITĂŢI ARITMETICE-LOGICE (A.L.U. – Arithmetic and Logic Unit)

Unităţile aritmetice-logice (ALU) reprezintă circuite combinaţionale

care pot realiza un anumit număr de operaţii logice şi aritmetice asupra a doi operanzi de n biţi fiecare (în circuitele existente, de obicei n = 4), operaţia fiind selectată prin intermediul unui vector de selecţie a funcţiei.

Ieşirile ALU cuprind un vector cu un număr de biţi corespunzător operaţiilor (dacă, de exemplu, ALU realizează şi operaţia de înmulţire, atunci numărul biţilor vectorului este 2n), biţi de transfer (de intrare şi de ieşire) pentru operaţii de însumare algebrică, ieşiri pentru prezentarea operaţiilor logice (AND, OR, XOR, XNOR, complementare, rezultate de comparare logică etc.).

O posibilă structură pentru ALU cuprinde un set de blocuri funcţionale ale căror intrări sunt conectate în paralel la cei doi operanzi şi ale căror ieşiri pot fi independente, sau conectate în paralel, circuitul de selecţie a operaţiei activând blocul operaţiei dorite şi asigurând blocarea celorlalte blocuri, astfel încât să se evite conflicte pe terminalele pe care sunt conectate mai multe ieşiri.

Figura F-16.20 prezintă o schemă posibilă de structură a unei unităţi aritmetice-logice.

16. CIRCUITE ARITMETICE 511

Fig. F-16.20

512 16. CIRCUITE ARITMETICE

16.07. ARITMETICĂ MULTIVALENTĂ

Elementul de bază al circuitelor aritmetice îl constituie celula de

însumare. Realizarea unor circuite aritmetice în logică multivalentă implică o

organizare funcţională şi structurală similare circuitelor de însumare în logică binară. Şi aici, elementul de bază îl constituie tot celula de însumare.

16.07.01. CELULĂ DE ÎNSUMARE MULTIVALENTĂ Se exemplifică în continuare sinteza unei celule de însumare în

logică multivalentă (în exemplu, în Z3). Figura F-16.21 prezintă schema bloc a unei celule de însumare în Z3.

Fig. F-16.21 Tabelul de valori al celulei de însumare este următorul: a,b,t0/t,s 0,0,0/0,0 0,1,0/0,1 0,2,0/0,2 0,0,1/0,1 0,1,1/0,2 0,2,1/1,0 1,0,0/0,1 1,1,0/0,2 1,2,0/1,0

1,0,1/0,2 1,1,1/1,0 1,2,1/1,1 2,0,0/0,2 2,1,0/1,0 2,2,0/1,1 2,0,1/1,0 2,1,1/1,1 2,2,1/1,2

16. CIRCUITE ARITMETICE 513

Aplicând metoda discriminării, vectorii minimi, obţinuţi atât pentru tratarea globală, vectorială a ieşirii, cât şi pentru tratarea separată a ieşirilor, sunt prezentaţi mai jos. a - optimizare cu ieşirea tratată vectorial, global: - grup (0,0): 0,0,0 - grup (0,1): 0,1,0 0,0,1 1,0,0 - grup (0,2): 0,2,0 0,1,1 1,1,0 1,0,1 2,0,0

- grup (1,0): 0,2,1 1,2,0 1,1,1 2,1,0 2,0,1 - grup (1,1): 1,2,1 2,2,0 2,1,1 - grup (1,2): 2,2,1

b - optimizare cu ieşirile tratate separat:

- ieşirea t:

a,b,t0/t 0,0,0/0 0,1,0/0 0,2,0/0 0,0,1/0 0,1,1/0 0,2,1/1

1,0,0/0 1,1,0/0 1,2,0/1 1,0,1/0 1,1,1/1 1,2,1/1

2,0,0/0 2,1,0/1 2,2,0/1 2,0,1/1 2,1,1/1 2,2,1/1

- grup (0): 0,0,_ 0,1,_ 0,_,0 1,0,_ 1,1,0 _,0,0

- grup (1): _,2,1 1,2,_ 1,1,1 2,1,_ 2,2,_ 2,_,1

- ieşirea s:

a,b,t0/s 0,0,0/0 0,1,0/1 0,2,0/2 0,0,1/1 0,1,1/2 0,2,1/0

1,0,0/1 1,1,0/2 1,2,0/0 1,0,1/2 1,1,1/0 1,2,1/1

2,0,0/2 2,1,0/0 2,2,0/1 2,0,1/0 2,1,1/1 2,2,1/2

514 16. CIRCUITE ARITMETICE

- grup (0): 0,0,0 0,2,1 1,2,0 1,1,1 2,1,0 2,0,1

- grup (1): 0,1,0 0,0,1 1,0,0 1,2,1 2,2,0 2,1,1

- grup (2): 0,2,0 0,1,1 1,1,0 1,0,1 2,0,0 2,2,1

Fără a se mai prezenta detaliile, în figura F-16.22 se dă schema logică a

celulei de însumare în Z3, având ieşirea implementată în logică tip canal.

Fig. F-16.22

16. CIRCUITE ARITMETICE 515

16.07.02. TRANSPORT PARALEL ÎN REGISTRU DE ÎNSUMARE MULTIVALENTĂ

Problema transportului paralel pe un grup de celule de însumare se

tratează la fel ca în binar. Considerăm astfel un grup de 4 celule de însumare multivalentă în Z3. Se folosesc în acest caz expresiile logice ale lui s şi t, stabilite prin

minimizare separată a ieşirilor:

.2

,1),2).e(t,2).e(be(a,0),0).e(t,2).e(be(a,1),0).e(t,1).e(be(a,0),1).e(t,1).e(be(a,1),1).e(t,0).e(be(a,0),2).e(t,0).e(be(a

.1

,1),1).e(t,2).e(be(a,0),2).e(t,2).e(be(a,1),2).e(t,1).e(be(a,0),0).e(t,1).e(be(a,1),0).e(t,0).e(be(a,0),1).e(t,0).e(be(a

s

1iii

1iii

1iii

1iii

1iii

1iii

1iii

1iii

1iii

1iii

1iii

1iii

i

=

.1

,2),2).e(be(a,1),2).e(be(a,2),1).e(be(a

,1).e(t,2)e(a

,1),1).e(be(a,2)e(b

.1

,1),2).e(te(a,2),2).e(be(a,1),2).e(be(a

,1),1).e(t,1).e(be(a,2),1).e(be(a,1),2).e(te(b

t

ii

ii

ii

1i

i

ii

i

1ii

ii

ii

1iii

ii

1ii

i

==

În evaluarea transportului celulelor, se face remarca că variabila transport, indiferent de sistemul multivalent, are doar valorile 0 şi 1.

Întrucât şi operatorul de echivalenţă este bivalent, se pot defini, numai pentru circuitele de transport, operatori de echivalenţă – notaţi cu e*, care au valoarea 1 pentru atestarea egalităţii variabilelor.

În aceste condiţii: 1i1i t,1)(t*e −− =

Atunci, transportul celulei i se deduce din tabelul minimizat pentru ieşirea ti.

516 16. CIRCUITE ARITMETICE

,2)(b*,2).e(a*e,1)(b*,2).e(a*e,2)(b*,1).e(a*e

,1)(b*,1).e(a*e,2)(a*e,2)(b*e

t

t

11

11

11

11

1

1

1-i

i

.

=

Se notează:

,1)(b*,1).e(a*e,2)(a*e,2)(b*e

α

ii

i

i

i =

,2)(b*,2).e(a*e,1)(b*,2).e(a*e,2)(b*,1).e(a*e

β

ii

ii

ii

i =

Cu aceste notaţii, expresia lui ti devine:

i

i1ii β

.αtt −=

Atunci, expresiile funcţiilor de transport paralel ale celulelor se pot scrie:

4

43

432

4321

43210

4

434

3

32

321

3210

3

323

2

21

210

2

212

1

101

β.αβ

.α.αβ.α.α.αβ

.α.α.α.αt

β.αt

t

β.αβ

.α.αβ.α.α.αt

β.αt

t

β.αβ

.α.αt

β.αt

t

β.αt

t

==

==

==

==

După cum se vede structura circuitului de transport paralel pentru un grup

de celule de însumare multivalentă este similară celei a unui circuit binar.

17. LOGICĂ VECTORIALĂ 517

17. LOGICĂ VECTORIALĂ

O ALGEBRĂ ARHETIPALĂ VECTORIALĂ ŞI IMPLEMENTAREA OPERATORILOR ÎN LOGICĂ DIRECTĂ ŞI ÎN LOGICĂ TIP CANAL

17.01. PREZENTAREA ALGEBREI Realizarea unui sistem logic care operează cu vectori, în locul

unor simple variabile, se reduce la realizarea unui sistem de logică multivalentă ale cărui elemente multivalente sunt vectori constituiţi, la rândul lor, din componente multivalente.

Prin urmare, algebra arhetipală de referinţă este aceeaşi, cu deosebirea specificării şi implementării celor trei operatori (minim, maxim, echivalenţă), în cazul vectorial simbolizându-se încadrarea variabilelor operatorilor prin paranteze drepte.

Nota N-17.1: În definirea şi implementarea operatorilor vectoriali

se convine, pentru compararea vectorilor, că ei reprezintă numere scrise în baza de numeraţie N.

Dacă pentru compararea vectorilor se stabileşte un alt criteriu, atunci algebra vectorială şi simbolismul ei rămân neschimbate, dar ceea ce se modifică sunt implementările operatorilor vectoriali.

Astfel, dacă vectorii sunt alcătuiţi din k componente, fiecare

aparţinând lui ZN, algebra este specificată prin multipletul: (17.1) (ZN

k,min,max,e) unde operatorii de min, max şi e mai sunt simbolizaţi şi specificaţi astfel:

(17.2) [ ]

Y şi X vectorii catre de N numeratie de baza in especificat cele dintre numar,

mic mai celui torcorespunza vectorul == YXYX,min o

(17.3 )

[ ]

Y şi X vectorii catre de N numeratie de baza in especificat cele dintre numar

mare mai celui torcorespunza vectorul =⎥⎦

⎤⎢⎣

⎡=

YX

YX,max

(17.4) [ ] [ ]

⎩⎨⎧

≠=−

===Y_X_0,

Y_X_1),(NYXYX,e

pentrupentru

Întrucât egalitatea a doi vectori presupune o egalitate componentă cu

componentă, operatorul vectorial de echivalenţă implică relaţia:

518 17. LOGICĂ VECTORIALĂ

(17.5) [ ] ∏=

==k

1iiikk2211 )y,e(x)y,)...e(xy,).e(xy,e(xYX,e

În figura F-17.1 sunt prezentate simbolurile grafice ale operatorilor

vectoriali e, min, max, în logică simplă şi în logică vectorială.

Fig.17.1

17. LOGICĂ VECTORIALĂ 519

17.02. OPERATORI DERIVAŢI Operatorul vectorial de complementare

Dintre operatorii derivaţi, operatorul vectorial de complementare

va fi specificat în continuare şi prezentat şi ca simbol grafic. Astfel, se ştie că operatorul simplu de complementare a unei variabile multivalente este definit: (17.6) xx1)(Ncom(x) =−−= , unde x ∈ ZN. Complementul unui vector având componente multivalente este definit ca fiind vectorul complementelor componentelor:

(17.7)

[ ]

k)1,2,...,(i,Z_x

)x,...,x,(x_X),x,...,x,x(XXcom

Ni

k21

k21

=∈

===

şiunde

Definiţia de mai sus este, de altfel, aceeaşi, ca şi în cazul complementului unei simple variabile multivalente x ∈ ZN, numai că, de astă dată, variabila este numărul X având k cifre, scris în baza de numeraţie N (şi care are deci valori în ZN

k), adică relaţia (17.7) este echivalentă cu: (17.8)

[ ]

)x,...,x,x())x1)((N),...,x1)((N),x1)(((N

))com(x),...,com(x),(com(x)x,...,x,com(x

X1)(NXcom

X

k21

k21

k21

k21

k

=−−−−−−=

==−−

==

Figura F-17.2 prezintă simbolurile grafice ale operatorului de

complementare simplu şi vectorial, precum şi structura logică a operatorului vectorial de complementare.

520 17. LOGICĂ VECTORIALĂ

Fig. F-17.2

17. LOGICĂ VECTORIALĂ 521

17.03. OPERATORI VECTORIALI AUXILIARI: Operatori vectoriali de discriminare

Operatorii de discriminare, la fel cu operatorul de echivalenţă, au ieşire bivalentă, de tip DA / NU şi presupun un mod similar de implementare cu al operatorului de echivalenţă. Aceşti operatori pot fi utilizaţi, fie direct – atunci când tabelul de valori este specificat prin relaţii de discriminare (gen „pentru x > a, ieşirea are valoarea k”, etc.) - sau indirect – atunci când ei sunt folosiţi în implementarea altor operatori. Raţiunea folosirii operatorilor de discriminare în implementarea altor operatori constă în faptul că ei conduc la operaţii între o variabilă multivalentă şi una bivalentă, operaţii care se pretează la implementări cu porţi de tip canal.

17.03.01. OPERATORUL VECTORIAL „MAI MARE” Acest operator a fost prezentat în cap. 16. Reluând, el poate fi

simbolizat şi specificat, după cum urmează: - în logică simplă:

(17.9) ⎩⎨⎧

≤>−

==>y_x_0,

y_x_1),(Ny)g(x,yx

pentrupentru

unde x,y ∈ ZN

- în logică vectorială:

(17.10) [ ] [ ]⎩⎨⎧

≤>−

==>Y_X_0,

Y_X_1),(NYX,gYX

pentrupentru

unde X = (x1, x2,..., xk) Y = (y1, y1,..., y1) xi,yi ∈ ZN, (i = 1,2,...,k)

Figura F-17.3 prezintă simbolurile grafice ale operatorului de discriminare „mai mare”, în logică simplă şi în logică vectorială.

522 17. LOGICĂ VECTORIALĂ

Fig. F-17.3

17.03.02. OPERATORUL VECTORIAL „MAI MIC” Dacă se doreşte implementarea operatorului de discriminare „mai

mic”, de exemplu [ ]YX < , atunci se foloseşte operatorul [ ]XY > , unde se observă că intrările sunt inversate. Prin urmare:

- în logică simplă:

(17.11) y)g(x,xyy)l(x, yx =>==< - în logică vectorială:

(17.12) [ ] [ ] [ ] [ ]YX,gXYYX,l YX =>==< Figura F-17.4 prezintă modul de realizarea operaţiei „mai mic”, în logică simplă şi în logică vectorială.

Fig. F-17.4

17. LOGICĂ VECTORIALĂ 523

17.03.03. OPERATORII VECTORIALI „MAI MARE SAU EGAL” ŞI „MAI MIC SAU EGAL”

Operatorii „mai mare sau egal” şi „mai mic sau egal” se pot obţine

prin complementarea ieşirii bivalente a operatorului „mai mare”, folosind intrările conectate direct – în cazul funcţiei „mai mic sau egal” – sau conectate inversat – în cazul funcţiei „mai mare sau egal”, aşa cum este prezentat în figura F-17.5.

În cazul unui sistem cu logică simplă, aceşti operatori pot fi definiţi de relaţiile:

(17.13) y)ge(x,xyyx

y)le(x,yxyx

=>=≥

=>=≤

În cazul unui sistem cu logică vectorială, operatorii au expresiile:

(17.14) [ ] [ ] [ ][ ] [ ] [ ]YX,geXYYX

YX,leYXYX=>=≥

=>=≤

Fig. F-17.5 O dată ce există implementarea operatorului „mai mare”, obţinerea operatorilor „mai mare sau egal” şi „ mai mic sau egal” implică doar complementarea ieşirii, operaţie implementabilă ca şi în binar, întrucât ieşirea este bivalentă.

524 17. LOGICĂ VECTORIALĂ

17.04. IMPLEMENTAREA OPERATORILOR DE „min” ŞI „max” CU AJUTORUL OPERATORULUI DE DISCRIMINARE

Se propune, din raţiuni de implementare, o realizare a operatorilor de

max şi min, folosind operatorul de discriminare „mai mare”, atât în logică multivalentă simplă, cât şi în logică vectorială, aplicat după cum urmează:

- pentru logică simplă:

(17.15) .xxy.yyx

x.yy)min(x,>

>==

(17.16) .yyx

.xyxzx

y)max(x,>

>==

- pentru logică vectorială:

(17.17) [ ] ⎥⎦

⎤⎢⎣

⎡]>[]>[

==XXYYYX

YXYX,minoo

o

(17.18) [ ] ⎥⎦

⎤⎢⎣

]>[

]>[=⎥

⎤⎢⎣

⎡=

YYXXYX

YX

YX,maxo

o

Realizările din (17.15) şi (17.16) au specifică operaţia de minim dintre

o variabilă multivalentă (variabila x, sau y) şi o variabilă bivalentă (rezultatul operaţiei de discriminare), operaţie care sugerează o implementare a ei cu porţi de tip canal, după cum urmează:

(17.19)

xy*yyx*xyx*x

xy*yyx*x

y)e(x,

yx

y)max(x,>

>

=

=

>

>==

*x

(17.20)

xy*xyx*yyx*x

xy*xyx*y

y)e(x,y)min(x,

>

>

=

=

>

>==

*xx.y

Realizările din (17.17) şi (17.18) au specifică operaţia de minim

(marcată prin *) dintre o variabilă multivalentă (vectorul X, sau Y) şi o variabilă bivalentă (rezultatul operaţiei de discriminare), operaţie care sugerează o implementare a ei cu porţi de tip canal, după cum urmează:

17. LOGICĂ VECTORIALĂ 525

(17.21) [ ][ ]

[ ][ ]

[ ][ ][ ]⎥

⎥⎥

⎢⎢⎢

>>=

=⎥⎥⎥

⎢⎢⎢

>>=⎥

⎤⎢⎣

⎡=

XY*YYX*XYX*X

XY*YYX*XYX,e*X

YX

YX,max

(17.22) [ ][ ]

[ ][ ]

[ ][ ][ ]⎥

⎥⎥

⎢⎢⎢

>>=

=⎥⎥⎥

⎢⎢⎢

>>==

XY*XYX*YYX*X

XY*XYX*YYX,e*X

XoYYX,min

În relaţiile de mai sus s-a folosit simbolismul reprezentării operatorilor

de tip canal, definit în relaţiile (12.26) şi (12.27), precum şi convenţiile de reprezentare a operatorilor vectoriali, date în cap. 16.1.2 (convenţia C-16.1).

Examinând expresiile (17.19), (17.20) (pentru logică multivalentă simplă) şi (17.21), (17.22) (pentru logică vectorială), rezultă că operatorii vectoriali de max şi min au o structură hardware similară, trecerea de la o funcţie la alta făcându-se prin inversarea a două fire de interconexiune, purtând semnal binar (vezi fig. F-17.6), sau pot fi produşi de o structură comună având două ieşiri (vezi fig. F-17.7 şi fig. F-17.8, care foloseşte simbolul grafic al comparatorului vectorial, prezentat în cap. 16.1.3, în figurile F-16.16 şi F-16.17).

Structura din fig. F-17.6 sugerează realizarea unui operator logic vectorial universal având funcţia de max şi min selectabilă printr-un semnal binar, care iniţiază conectarea directă sau inversată a celor două comenzi binare M şi m ale porţilor de discriminare ale circuitului.

Fig. F-17.6

526 17. LOGICĂ VECTORIALĂ

Fig. F-17.7

Fig. F-17.8

17. LOGICĂ VECTORIALĂ 527

În figurile F-17.6 – F.17.8 s-a folosit o anume convenţie de reprezentare funcţională şi grafică a porţilor de tip canal simple sau vectoriale.

Astfel, o poartă canal simplă, care are funcţia: (17.23) c*xy =

unde c este comanda porţii, iar x este intrarea, se reprezintă grafic ca în figura F-17.9.

Fig. F-17.9

O poartă tip canal vectorială, care are funcţia:

(17.24) c*XY = unde c reprezintă comanda porţii vectoriale, iar X este vectorul intrare, se reprezintă grafic, global şi structural, ca în fig. F-17.10.

Fig. F-17.10

528 17. LOGICĂ VECTORIALĂ

17.05. SIMBOLURILE FUNCŢIONALE ŞI GRAFICE ALE OPERATORILOR PRINCIPALI ŞI DERIVAŢI DIN ALGEBRA ARHETIPALĂ VECTORIALĂ

Prezentare centralizată

Figura F-17.11 prezintă o sinteză-paralelă a simbolisticii funcţionale

şi grafice ale algebrei arhetipale multivalente simple şi vectoriale.

Fig. F-17.11

În figura F-17.12 se prezintă o paralelă şi a altor simboluri funcţionale

şi grafice folosite în algebra arhetipală multivalentă simplă şi vectorială.

17. LOGICĂ VECTORIALĂ 529

Fig. F-17.12

530 18. LOGICĂ ALGORITMICĂ

18. LOGICĂ ALGORITMICĂ

18.01. LOGICĂ ALGORITMICĂ,

AUTOMATE ALGORITMICE, HARDIFICAREA SOFTWARELUI

- preliminarii –

Conceptul de “logică algoritmică” pune în valoare conceptele „teoriei generalizate a comutaţiei”, mai bine zis, a „teoriei generalizate a circuitelor digitale”, pentru că - pe lângă deschiderile pe care le oferă sistemul de logică multivalentă în tehnologii digitale alternative, care se întrevăd la orizont, cum ar fi cele optice, biologice, cele bazate pe cristale – oferă şi ceva imediat, concret, aplicabil în orice tehnologie, şi, anume, prezintă o soluţie de implementare eficientă, în hardware, a software-lui, care aduce cu ea paralelismul în prelucrare a informaţiei, specific circuitelor combinaţionale, spre deosebire de implementările de tip „firmware”, care nu fac altceva decât să îngheţe în hardware un anumit algoritm, păstrând însă toate înlănţuirile secvenţiale, toate prelucrările în cascadă ale informaţiei, care nu modifică nimic esenţial în modul de lucru al calculatorului, în secvenţele şi ciclicităţile lui, într-un fel transferând registrele software în registre hardware.

Se poate estima astfel că, prin adaptarea structurii în conformitate cu logica algoritmică, este posibil un salt semnificativ în viteza de prelucrare.

Astfel, logica algoritmică, ramură aplicativă a logicii vectoriale, oferă instrumentul transformării unui algoritm în funcţie logică multivalentă, permiţând, prin urmare, optimizarea logică a funcţiei (conform tehnicii expusă într-unul din capitolele următoare) şi apoi – prin folosirea unor implementări binar-vectoriale a operatorilor noii algebre – produce o replică hardware eficientă a algoritmului, altfel spus, produce un circuit hardware, care are viteza prelucrării informaţiei oferită de asemenea circuite, prin paralelism în funcţionare şi oferire de ieşiri paralele multiple.

Singurul aspect specific al implementării logicii algoritmice în acest caz (aici fiind vorba de o logică binar-vectorială), faţă de logica multivalentă, în general, constă în faptul că, în loc de a transmite mai multe valori (nivele logice) pe fir, aici fiecare terminal multivalent este constituit dintr-un mănunchi de fire binare (dintr-un vector binar).

Este, într-un fel, tot o algebră binară, definită pe mulţimi de vectori binari şi ai cărei operatori corespund operatorilor algebrei multivalente, dar algebra în sine nu mai este una booleană., ci multivalentă, la modul propriu.

Această aplicaţie specifică a algebrei multivalente în implementarea şi optimizarea hardware a algoritmilor, sau în „hardificarea softwarelui”, este o altă replică de implementare binară, cu aplicaţii directe, imediate în tehnologiile binare, pe lângă metoda ce oferă optimizarea directă – caz tipic structurilor logice programabile – a funcţiilor binare cu mai multe ieşiri.

Dat fiind că un sistem algoritmic complet include şi bucle, altfel zis,

memorii, logica algoritmică poate, în principiu, „hardificat” întregul algoritm, prin adăugarea unor elemente de memorie multivalentă structurate binar-vectorial, de exemplu, celule bistabile de tip D, JK, sau T, cu sau fără intrări

18. LOGICĂ ALGORITMICĂ 531

multiple cu acces prin tranziţie, cu organizarea structurală modularizată, aşa cum sunt ele prezentate în lucrarea tratând proiectarea logică a circuitelor cu memorie.

O asemenea abordare conduce la transformarea algoritmului într-un automat (numit în continuare „automat algoritmic”) implementat printr-un circuit secvenţial asincron (aşa cum în partea de circuite secvenţiale sunt prezentate tehnicile de sinteză ale unor asemenea circuite), ale cărui performanţe intrinseci de viteză, faţă de circuitele sincrone, adăugate paralelismului părţii de prelucrare combinaţională, pot conduce la viteze semnificative – se pot întrevede chiar creşteri de ordine de mărime – în prelucrarea informaţiei pe structuri nou organizate ale unor părţi ale calculatoarelor, structuri ale căror circuite de bază au tot vitezele locale oferite de tehnologie (cele folosite, de exemplu, şi în structurile calculatoarelor existente).

Saltul apare prin paralelismul prelucrării informaţiei, practic la toate

nivelele, şi prin interconectarea asincronă, fără necesitatea timpilor morţi, ceruţi de sincronizare (în vederea alinierii după cea mai lentă componentă sau etapă de proces).

Evident, o asemenea abordare a prelucrării informaţiei digitale binare, prin „hardificarea” softwarelui, presupune, în principiu, şi folosirea unor structuri matriciale de porţi cu interconexiuni programabile din mers, sau atunci când se scrie algoritmul.

Programabilitatea din mers nu este necesară, atunci când logica algoritmică se foloseşte pentru implementarea unui anume algoritm, care se doreşte a lucra eficient, pentru că implementarea se poate realiza off-line pe o structură programabilă şi apoi conecta în sistemul calculatorului. O asemenea abordare este accesibilă practic imediat, dat fiind că pe o structură logică programabilă se pot configura şi operatorii specifici algebrei vectoriale folosite.

Prin urmare, structurile matriciale programabile reconfigurabile,

având însă organizarea structurală pe care o induce algebra algoritmică, vor conduce – fără a schimba propriu zis tehnologia – la salturi semnificative în prelucrarea informaţiei, iar dacă se mai schimbă şi tehnologia cu una evoluată, sau se trece la tehnologii folosind logica multivalentă propriu-zisă (cu mai multe valori logice pe fir), atunci câştigul este încă mai mult amplificat.

În mod normal, cele de mai sus implică şi o organizare specifică a structurilor matriciale programabile, în sensul dotării lor cu celule alcătuite din operatorii noii algebre binar-vectoriale şi din celule de memorie binar-vectorială cu configuraţie modulară şi acces multiplu prin tranziţie şi care permit sinteza automatelor asincrone (ale căror elemente de bază sunt prezentate în partea a doua a lucrării). Logica algoritmică apare astfel în momentul implementării structurilor hardware reconfigurabile, ea devenind un instrument de nivel superior (să-i spunem tot „software”) al valorificării optime a unor asemenea structuri.

532 18. LOGICĂ ALGORITMICĂ

18.02. LOGICĂ ALGORITMICĂ

Logica algoritmică este, aşa cum s-a arătat în capitolul anterior, o

aplicaţie directă a logicii vectoriale. Logica algoritmică permite, folosind formalismul algebrei vectoriale,

transpunerea părţii decizionale a unui algoritm într-o structurare paralelă specifică unui tabel de valori având elemente (variabile şi constante) vectori cu componente binare sau multivalente.

O dată formulat algoritmul în acest fel, se poate simplifica şi structura optim, folosind metoda discriminării, tabelul de valori, ajungând astfel la o simplificare şi structurare optimă a algoritmului.

Ca urmare, folosind o implementare dată a operatorilor vectoriali, folosiţi drept cărămizi structurale şi funcţionale ai unei structuri logice programabile, se poate implementa în hardware algoritmul, obţinându-se o evidentă creştere a vitezei de execuţie a algoritmului, datorită atât implementării hardware, cât, mai ales, paralelismului oferit de structura combinaţională vectorială, care se deosebeşte principial de implementările tip firmware, în care se regăseşte structurarea serial-secvenţială a instrucţiunilor algoritmului.

18. LOGICĂ ALGORITMICĂ 533

18.03. STRUCTURI PROGRAMABILE PENTRU LOGICĂ ALGORITMICĂ

În implementarea logicii algoritmice se folosesc algebre vectoriale cu

operatori specifici, prezentate în cap. despre logica şi algebra vectorială. Prin urmare, aici nu se va reveni asupra acestor aspecte.

Implementarea unui circuit algoritmic necesită un mare număr de

terminale de intrare şi de ieşire, datorită paralelismului în prelucrare, specific circuitelor combinaţionale.

O metodă de depăşire a impasului ar fi folosirea unor circuite

multivalente, metodă care cel puţin pentru moment nu este direct operativă. În continuare se sugerează un mod de implementare a logicii

algoritmice pe structuri logice programabile, care poate oferi o soluţie practică aplicabilă imediat.

Astfel, se pot aplica conjugat următoarele tehnici: a - transfer serie-paralel a intrărilor în circuit, folosind intern un

registru de stocare a întregului vector de intrare, însoţită, în funcţie de complexitatea ieşirii, de un transfer serie-paralel al ieşirii, folosind un registru de stocare a vectorilor de ieşire;

Un asemenea mod reduce de câteva ori viteza de prelucrare, dar paralelismul de prelucrare este preponderent, compromisul fiind realizat astfel încât structura să fie cu adevărat eficientă. De exemplu, un transfer în patru tacţi al intrării este echivalent cu folosirea la intrare a unei logici multivalente cu 16 valori pe fir.

b - implementarea circuitului algoritmic pe două structuri

logice programabile conectate în cascadă, una pentru preluarea intrărilor, iar cealaltă pentru livrarea ieşirilor;

Soluţia se bazează pe observaţia că într-o structură programabilă, livrarea vectorilor de ieşire se face pe baza unor semnale binare de tip ON/ OFF, semnale care sunt rezultatul prelucrărilor valorilor intrării, în conformitate cu tabelul de adevăr.

Separarea circuitului la nivelul semnalelor de decizie a ieşirii permite împărţirea circuitului într-o parte de prelucrare logică a intrării şi în una de livrare a ieşirii, între cele două parţi fiind o interconectare cu un număr redus de semnale binare.

c - Introducerea serială – off line - în circuit a constantelor

de intrare şi de ieşire (separat, în structura de intrare şi în cea de ieşire).

Întrucât tabelul de valori implică la intrare valorile (vectorii) de referinţă cu care se compară intrarea, în vederea luării unei decizii, şi la ieşire valorile (vectorii) de ieşire care trebuie selectate pentru a fi livrate pe ieşire, este necesară introducerea în circuitul de intrare şi în circuitul de ieşire a acestor constante logice ale unei funcţii date care se optimizează.

534 18. LOGICĂ ALGORITMICĂ

Soluţionarea problemei fără o creştere sensibilă a numărului de terminale se poate face printr-o introducere off line, serială a acestor date în registre interne ale circuitului.

Figura F-18.1 prezintă o schemă bloc a implementării unui circuit

algoritmic, în conformitate cu soluţiile prezentate mai înainte.

Fig. F-18.1

18. LOGICĂ ALGORITMICĂ 535

18.04. ADAPTAREA TABELULUI DE VALORI

PENTRU A OPERA CU ELEMENTE DECIZIONALE COMPLEXE

În tabelul de valori, în dreptul unei poziţii de valoare a unei variabile,

poate să apară o funcţie decizională de tip „ mai mare”, „mai mic”, „interval închis sau deschis de valori”, sau o funcţie mai complexă, care poate să depindă şi de celelalte variabile.

Într-o asemenea situaţie, se poate proceda, pentru a nu complica algoritmul de discriminare, astfel:

a – se înlocuieşte funcţia f din poziţia valorică din tabel cu

mulţimea calculată, folosind funcţia f, a valorilor, sau, ca alternativă:

b – se introduce f în lista de valori de referinţă ale intrării,

folosind una dintre intrările circuitului pentru a introduce pe f. De exemplu, dacă această listă este

LV = ZN = {0,1, ... ,N-1}, atunci noua listă va fi LN = {0,1, ... ,N-1,f}

Valoarea lui f se calculează într-un circuit separat, care poate fi incorporat în structura programabilă care implementează ca funcţie tabelul de valori optimizat, sau poate fi un circuit extern acestei structuri.

536 19. ALGEBRA BOOLEANĂ ŞI ALGEBRELE BINARE ŞI MLTIVALENTE

19. ALGEBRA BOOLEANĂ ŞI ALGEBRELE BINARE ŞI MULTIVALENTE

19.01. ALGEBRA BOOLEANĂ

Algebra booleană este instrumentul de bază în analiza şi sinteza

circuitelor combinaţionale binare, pentru că, aşa cum se va arăta în continuare, algebra binară este o algebră booleană.

Algebra booleană a fost introdusă pentru prima dată în prima

jumătate a secolului al IX-lea de către matematicianul şi logicianul irlandez George Boole, în lucrările:

„Boole, G. – The mathematical analysis of logic”, Cambridge,

1847 „Boole, G. – An Investigation of the Laws of Thought”, Dover

Publications, New York, N.Y., 1854. O algebră booleană poate fi definită axiomatic, urmând modelul de

postulate propuse pentru prima dată de Huntington pentru cazul binar, în: „Huntington, E.V. – Sets of Independent Postulates for the

Algebra of Logic”, Trans. Am. Math. Soc., 5, 288-309, 1904.

Definiţia D-19.1: O algebră booleană B este o mulţime B înzestrată cu o relaţie de ordine ≤ , având două operaţii binare ∨ şi ∧ şi o operaţie unară ′ care satisfac postulatele următoare, pentru orice elemente x,y,z∈B:

1 – închidere

(a) x∨ y∈B (b) x∧ y∈B (c) x′∈B 2 – existenţa a câte un element neutru pentru fiecare operaţie binară: (a) pentru O∈B, x∨O =x, pentru orice x∈B (b) pentru I∈B, x∧ I=x, pentru orice x∈B 3 – comutativitate (a) x∨ y = y∨ x (b) x∧ y = y∧ x 4 - distributivitate

x∨ (y∧ z) = (x∨ y)∧ (x∨ z) x∧ (y∨ z) = (x∧ y)∨ (x∧ z) 5 – complementare

19. ALGEBRA BOOLEANĂ ŞI ALGEBRELE BINARE ŞI MLTIVALENTE 537

Pentru orice x∈B, există un element x′∈B, numit complementul lui x, astfel încât (a) x∨ x′ = I (b) x∧ x′ = O 6 – idempotenţă (a) x∨ x = x (b) x∧ x = x 7 – asociativitate (a) x∨ (y∨ z) = (x∨ y)∨ z (b) x∧ (y∧ z) = (x∧ y)∧ z 8 – absorbţie x∨ (x∧ y) = x∧ (x∨ y) = x 9 – involuţie (dubla negaţie) (x′)′ = x 10- legile lui De Morgan (a) (x∨ y)′ = (x′∧ y′) (b) (x∧ y)′ = (x′∨ y′) 11 – consistenţă - dacă x ≤ y, atunci (a) (x∨ y) = y (b) (x∧ y) = x

538 19. ALGEBRA BOOLEANĂ ŞI ALGEBRELE BINARE ŞI MLTIVALENTE

19.02. ALGEBRA BOOLEANĂ ŞI ALGEBRELE BINARE ŞI ALGEBRELE MULTIVALENTE

În cazul unei mulţimi binare B = {0,1}, se regăsesc postulatele

propuse de Huntington, în postulatele 1 – 5 din definiţia de mai sus, celelalte putând fi deduse (în cazul binar, în Z2), din acestea cinci. Din definiţia D-19.1 a algebrei booleene rezultă:

Consecinţa CS-19.1 Algebra binară (Z2,max,min,e), sau algebra echivalentă (Z2,max,min,com), este o algebră booleană, sau, folosind simbolurile operatorilor de mai sus, algebra (Z2, ∨ ,∧ ,′) este o algebră booleană.

Consecinţa CS-17.2: Algebra multivalentă (ZN,max,min,e), unde N > 2, nu este o algebră booleană. Verificarea consecinţei CS-17.2 se face observând că postulatul 5 nu

este valabil în această algebră.

20. O ALGEBRĂ VECTORIALĂ A MULŢIMILOR 539

20. O ALGEBRĂ VECTORIALĂ A MULŢIMILOR

20.01. OPERAŢII CU MULŢIMI

Se dă o mulţime M cu n elemente şi mulţimea M a submulţimilor lui

M, pe care se induce o ordine, prin relaţia de incluziune ⊆ : A1 ⊆ A2, dacă toate elementele lui A1 sunt conţinute în A2, unde A1, A2 ∈ M Se pot defini următoarele operaţii între cele 2n submulţimi ale lui M : (a) – operaţii principale:

- reuniune (∨ ): A∨ B = C este reuniunea mulţimilor A şi B, care cuprinde toate

elementele din A şi B, luate câte o singură dată, unde

A,B,C ∈ M - intersecţie (∧ ):

A∧B = D este intersecţia mulţimilor A şi B, care cuprinde

elementele comune celor două mulţimi, luate câte o singură dată, unde A,B,D ∈M

- complementara unei mulţimi (′): A′ este mulţimea complementară a mulţimii A, sau

„complementara lui A”, şi cuprinde restul elementelor din mulţimea M, care nu aparţin mulţimii A.

(b) – operaţii derivate:

- diferenţa a două mulţimi (-):

GBAABA =∧∧=− este mulţimea rezultată prin eliminarea din A a intersecţiei A∧B, unde A,B,G ∈ M

540 20. O ALGEBRĂ VECTORIALĂ A MULŢIMILOR

20.02. SUBMULŢIMI SPECIALE:

mulţimea totală şi mulţimea vidă

Se definesc următoarele submulţimi speciale ale mulţimii M de

submulţimi ale lui M: - mulţimea totală (I):

I = M este mulţimea din M care conţine toate elementele lui M; - mulţimea vidă (O):

O este mulţimea din M care nu conţine nici un element.

20. O ALGEBRĂ VECTORIALĂ A MULŢIMILOR 541

20.03. VECTORUL CARACTERISTIC AL UNEI

SUBMULŢIMI Definiţia D-20.1: Fiind dată mulţimea M = {m1,m2, ... ,mn} şi o submulţime X a lui M, X fiind deci un element al lui M: X ⊆ M, sau X ∈ M, se defineşte X drept vector caracteristic al mulţimii X X = {x1,x2, ... ,xn} unde x1,x2, ... ,xn ∈ Z2

şi

⎩⎨⎧

∉∈

=Xm,_pentruXm,_pentru

i

i

__

01

xi

Notaţia N-20.1: Mulţimile şi elementele lor sunt notate cu litere cursive, iar vectorii lor caracteristici şi componentele lor, prin litere drepte.

Din definiţie rezultă că vectorul caracteristic defineşte perfect

mulţimea căreia îi este asociat. Notaţia N-20.2: Se notează prin M* mulţimea vectorilor caracteristici asociaţi vectorilor din M.

Din definiţia şi cele două notaţii de mai înainte, rezultă că orice

funcţie de mulţimi, definită în M şi cu valori în M, poate fi reprezentată ca o funcţie între vectorii caracteristici ai submulţimilor din M, deci fiind definită pe M* şi având valori în M*, returnarea rezultatelor în M* făcându-se prin înlocuirea elementelor 1 ale vectorilor caracteristici prin elementele corespunzătoare ale mulţimii M.

În mulţimea M* se poate induce o ordine prin relaţia ≤ : X1 ≤ X2,

dacă poziţiile 1 ale vectorului X1 se regăsesc în poziţiile corespunzătoare ale vectorului X2, unde X1,X2 ∈ M*.

Se pot stabili astfel cel mai mic şi cel mai mare vector din M*: O = (0,0, ... ,0) I = (1,1, ... ,1) Prin urmare:

Concluzia C-20.1: Orice algebră a mulţimilor din M poate fi construită pe mulţimea M*.

542 20. O ALGEBRĂ VECTORIALĂ A MULŢIMILOR

20.04. O ALGEBRĂ VECTORIALĂ A ULŢIMILOR

În conformitate cu concluzia C-20.1 se poate defini o algebră

booleană a mulţimilor în M* şi, întrucât elementele lui M* sunt vectori, algebra şi logica asociată sunt vectoriale:

(M*,e, ∨ ,∧ ),

unde, pentru specificarea operatorilor vectoriali la nivel de componentă – componentele vectorilor fiind binare - se va folosi algebra binară (Z2,max,min,e) sau, echivalentul ei (Z2,max,min,com), folosind simbolurile comune pentru max, min, e.

Astfel, pentru X,Y ∈M* , operatorii vectoriali ai algebrei sunt definiţi

ca mai jos: - echivalenţă:

[ ]⎩⎨⎧

≠=

=Y_pentru_XO,

Y_pentru_XI,YX,e

unde: [ ] )y,)...e(xy,).e(xy,e(xYX,e nn2211=

- reuniune: X∨ Y = )yx

,...,yx

,yx

(n

n

2

2

1

1

- intersecţie: X∧Y = )).y(x),...,.y(x),.y((x nn2211 Operatori derivaţi:

- complementare:

)x,...,x,x(X

_sau),x,...,x,x(X

n21

n21

′′′=′=

- diferenţa a două mulţimi:

)),.yx.x,...,.yx.x,.yx.(xYXXYX nnn222111=∧∧=−

În algebra definită mai sus se pot evalua orice funcţii cu ieşiri simple sau multiple între mulţimile din M*.

Funcţiile pot fi definite prin tabel de valori şi optimizate prin tehnica discriminării.

21 LOGICĂ CONTINUĂ – LOGICĂ FUZZY – LOGICĂ VECTORIALA (CORELATII) 543

21. LOGICĂ CONTINUĂ – LOGICĂ FUZZY - LOGICĂ VECTORIALĂ

CORELAŢII În cazul când sistemul logic formal se aplică unor variabile definite

într-un domeniu finit, dar continuu, adică N → ∞, N fiind numărul de valori logice pe fir, sistemul logic se va numi:

„sistem de logică continuă” (sau, simplu, „logică continuă”). a – LOGICĂ SIMPLĂ CONTINUĂ

a.1 – logică simplă continuă:

folosită, în general, în sisteme în care se iau decizii logice pe un set de variabile continue, sisteme având o singură ieşire;

a.1 – logică simplă fuzzy:

caz particular al logicii continue simple, care se aplică părţii decizionale a unui sistem fuzzy cu o singură ieşire.

b - LOGICĂ VECTORIALĂ CONTINUĂ

b.1 - logică vectorială continuă :

Acest tip de logică permite optimizarea sistemelor cu logică continuă, care au mai multe funcţii de ieşire depinzând de acelaşi set de intrări.

Aplicaţiile sunt în sistemele cu logică continuă propriu-zisă, cu aplicaţii şi în sistemele fuzzy:

b.2 - logică vectorială fuzzy : caz particular al logicii continue vectoriale, care se aplică părţii decizionale a unui sistem fuzzy cu mai multe ieşiri.

Referitor la formalismul logic, la algebra cea mai potrivită, la operatorii de bază ai algebrei şi la operatorii derivaţi folosiţi, problema rămâne la proiectant. Capitolele anterioare refritoare la asemenea aspecte servesc drept un ghid în abordarea şi rezolvarea problemei. Se poate lua în considerare, în funcţie de complexitatea problemei şi modul de descriere prin tabel de valori (de submulţimi continue, în acest caz), optimizarea problemei putând să folosească metoda discriminării.

544 22. ALTE IMPLEMENTĂRI ALE FUNCŢIILOR BINARE

22. ALTE IMPLEMENTĂRI ALE FUNCŢIILOR BINARE

22.01. IMPLEMENTARE CU CIRCUITE ROM

Una dintre implementările specifice funcţiilor binare utilizează circuitele

de memorare de tip „read only”, care, odată scrise, în aplicaţie pot fi doar citite, denumite ROM (prescurtarea de la „read only memory”).

Întrucât circuitele de tip ROM se întâlnesc sub diferite denumiri, în funcţie de modul de ştergere şi de reînscriere, se amintesc următoarele denumiri:

- ROM read only memory:

sub această denumire se regăsesc, în general, toate tipurile de memorii de tip read only şi, în special, acele memorii ROM al căror conţinut este înscris de fabricant şi nu mai poate fi şters sau reînscris ulterior;

- PROM programmable ROM:

memorii ROM al căror conţinut poate fi reprogramat;

- EPROM erasable PROM: memorii PROM al căror conţinut poate fi şters, în vederea reprogramării;

- REPROM radiation erasable EPROM:

memorii EPROM care sunt şterse prin radiaţii (de obicei, prin expunerea lor la lumină ultravioletă);

- EEPROM (sau E2PROM) electrically erasable PROM: memorii EPROM care sunt şterse în mod electric.

Un circuit tip ROM este alcătuit din 2n registre de date, fiecare conţinând m biţi de informaţie, adică fiecare registru conţine m celule de memorie tip ROM.

Selectarea unui registru pentru a fi citit se face prin intermediul a n intrări de adresare (decodificate în interiorul circuitului, în vederea adresării punctuale a fiecărui registru de date), iar citirea informaţiei selectate se face pe m ieşiri, activate pe durata unui semnal RD de citire.

Circuitul, dacă este reprogramabil, mai are şi terminale speciale pentru asemenea operaţie.

Figura F-22.1 prezintă principial schema bloc a unui circuit ROM.

22. ALTE IMPLEMENTĂRI ALE FUNCŢIILOR BINARE 545

Fig. F-22.1

Un circuit ROM poate să implementeze un circuit combinaţional binar cu m ieşiri, având n intrări binare.

În vederea implementării, în memoria ROM se înscriu în fiecare registru valorile ieşirilor, corespunzătoare combinaţiei variabilelor de intrare, care reprezintă liniile de adresare a memoriei ROM.

Prin urmare, variabilele de intrare se pun pe liniile de adrese, iar ieşirile se citesc pe liniile de ieşire ale circuitului ROM, atunci când este activat semnalul de citire.

Se impun următoarele remarci:

- implementarea unei funcţii combinaţionale cu memorii ROM se face introducând în memorie întreg tabelul de valori, complet expandat, fără nici o simplificare;

- funcţia combinaţională poate fi citită doar în perioada activării semnalului de citire a memoriei şi, în acest sens, se recomandă ca intrările să fie stabile în acel interval, fapt care induce o limitare funcţională, in raport cu alte modalităţi de implementare, care nu impun asemenea constrângeri;

- dacă numărul k al intrărilor circuitului ce urmează a fi implementat este mai mare decât numărul n al intrărilor de adresare al circuitului ROM, atunci sunt necesare 2k-n circuite ROM, în fiecare dintre ele înscriindu-se tabelul de valori parţial, corespunzător intrărilor care selectează acel circuit ROM.

Nu se dau aici detalii suplimentare privind un asemenea mod de

implementare, pentru că informaţiile sunt suficiente pentru ca un proiectant să stabilească dacă este optim să utilizeze o asemenea soluţie şi, în caz afirmativ, să o şi pună în aplicare.

546 22. ALTE IMPLEMENTĂRI ALE FUNCŢIILOR BINARE

22.02. IMPLEMENTARE CU MULTIPLEXORI

Dacă cele n variabile binare ale unei funcţii combinaţionale binare se

extrage un grup oarecare de s variabile, atunci funcţia poate fi reprezentată printr-o mulţime de 2s funcţii parţiale depinzând de celelalte n-s variabile.

Fiecare funcţie parţială este atribuită unei anume combinaţii de valori ale celor s variabile şi este definită de un tabel de valori de n-s variabile, stabilit prin extragerea rândurilor din tabelul general care corespund acelei anume combinaţii de s variabile.

Remarca de mai sus permite implementarea oricărei funcţii binare cu o

singură ieşire, folosind un multiplexor MUX 2s:1, având deci s intrări de selecţie, dacă s dintre intrările funcţiei se conectează la intrările de selecţie ale MUX, iar pe intrările multiplexorului se conectează cele 2s funcţii parţiale depinzând de celelalte n-s variabile, astfel încât ieşirea fiecărui circuit care implementează o funcţie parţială se conectează la intrarea selectată de combinaţia atribuită funcţiei parţiale.

Rezultă, totodată, că funcţia generală nu trebuie simplificată înainte

de implementarea cu MUX, în schimb se vor optimiza separat – dar şi acestea în funcţie de modul ales pentru implementarea lor – doar funcţiile parţiale, folosind tabelele parţiale de valori, corespunzătoare lor. În continuare, se prezintă un exemplu de implementare a unei funcţii de

4 variabile, în trei situaţii: a - folosind un circuit MUX 16:1, b - folosind un circuit MUX 8:1, c - folosind un circuit MUX 4:1.

Funcţia F este definită prin următorul tabelul de valori:

x,y,z,v/F:

0,0,0,0/1 0,0,0,1/0 0,0,1,0/0 0,0,1,1/0 0,1,0,0/1 0,1,0,1/0 0,1,1,0/0 0,1,1,1/1

1,0,0,0/1 1,0,0,1/1 1,0,1,0/1 1,0,1,1/0 1,1,0,0/0 1,1,0,1/1 1,1,1,0/1 1,1,1,1/0

a – implementare cu MUX 16:1

Intrările de selecţie ale MUX 16:1 sunt s3,s2,s1,s0, intrările care se multiplexează sunt I0,I1, ... , I15, iar ieşirea este O.

Se face următoarea atribuire a variabilelor funcţiei F pe intrările de selecţie, menţionându-se că se poate alege şi o altă atribuire, având ca rezultat o altă variantă de schemă:

x = s3 y = s2 z = s1 v = s0

22. ALTE IMPLEMENTĂRI ALE FUNCŢIILOR BINARE 547

Funcţiile parţiale – notate prin F0,F1, ... ,F15 sunt constante, pentru că nu mai depind de nici o variabilă, şi egale cu valoarea funcţiei din dreptul combinaţiei selectată de numărul reprezentat de vectorul (s3,s2,s1,s0). Astfel:

F0 = 1 F1 = 0 F2 = 0 ... F14 =1 F15 =0 Cu aceste specificări, implementarea funcţiei F este prezentată în

figura F-22.2.

Fig. F-22.2

b – implementare cu MUX 8:1

Intrările de selecţie ale MUX 8:1 sunt s2,s1,s0, intrările care se multiplexează sunt I0,I1, ... , I7, iar ieşirea este O.

548 22. ALTE IMPLEMENTĂRI ALE FUNCŢIILOR BINARE

Se face următoarea atribuire a variabilelor funcţiei F pe intrările de selecţie, menţionându-se că se poate alege şi o altă atribuire, având ca rezultat o altă variantă de schemă:

x = s2 y = s1 z = s0 Funcţiile parţiale, funcţii numai de variabila v – notate prin F000,F001,

... ,F111 – se obţin partiţionând tabelul de valori în grupe, având constant vectorul (s2,s1,s0), iar indicele funcţiei parţiale este dat de vectorul de selecţie :

x,y,z v/Fxyz:

0,0,0 0/1 1/0 0,0,1 0/0 1/0 0,1,0 0/1 1/0 0,1,1 0/0 1/1 1,0,0 0/1 1/1 1,0,1 0/1 1/0 1,1,0 0/0 1/1 1,1,1 0/1 1/0

Din tabelele de valori ale funcţiilor parţiale, rezultă:

vFvFvF1FvFvF0FvF

111

110

101

100

011

010

001

000

========

Cu aceste specificări, implementarea funcţiei F este prezentată în

figura F-22.3.

22. ALTE IMPLEMENTĂRI ALE FUNCŢIILOR BINARE 549

Fig. F-22.3

c – implementare cu MUX 4:1

Intrările de selecţie ale MUX 4:1 sunt s1,s0, intrările care se multiplexează sunt I0,I1, I2, I3, iar ieşirea este O.

Se face următoarea atribuire a variabilelor funcţiei F pe intrările de selecţie, menţionându-se că se poate alege şi o altă atribuire, având ca rezultat o altă variantă de schemă:

x = s1 y = s0 Funcţiile parţiale, funcţii de variabilele z şi v – notate prin F00,F01, F10,

F11 – se obţin partiţionând tabelul de valori în grupe, având constant vectorul (s1,s0), iar indicele funcţiei parţiale este dat de vectorul de selecţie : x,y z,v/Fxy:

0,0 0,0/1 0,1/0 1,0/0 1,1/0 0,1 0,0/1 0,1/0 1,0/0 1,1/1

550 22. ALTE IMPLEMENTĂRI ALE FUNCŢIILOR BINARE

1,0 0,0/1 0,1/1 1,0/1 1,1/0 1,1 0,0/0 0,1/1 1,0/1 1,1/0

Din tabelele de valori ale funcţiilor parţiale, rezultă:

vz..vz

F

vz

F

z.vv.z

F

v.zF

11

10

01

00

=

=

=

=

Cu aceste specificări, implementarea funcţiei F este prezentată în figura F-22.4.

Fig. F-22.4

23. MINIMIZAREA SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE 551

23. MINIMIZAREA SISTEMELOR

DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE

(O EXTENSIE A METODEI DISCRIMINĂRII)

23.01. PRELIMINARII

Orice sistem decizional poate fi prezentat sub forma unui tabel de

valori binar sau multivalent, cu componente simple sau vectoriale, cu ieşire singulară sau multiplă.

Funcţia unui circuit digital combinaţional reprezintă un sistem

decizional hardware şi poate fi exprimată şi printr-un tabel de valori binar sau multivalent.

Componentele decizionale ale unui algoritm sunt sisteme decizionale

software, sau hardware (dacă algoritmul este implementat hardware („hardificat”), aşa cum se sugerează în capitolul privind logica algoritmică). Acest fel de sisteme decizionale poate fi, de asemenea, reprezentat prin tabele de valori, în general multivalente, dar şi binare.

Privind retrospectiv asupra cărţii de faţă, se poate spune că tematica

abordată se referă la optimizarea sistemelor decizionale hardware, cu extensie asupra sistemelor decizionale software.

Întrucât logica decizională a unui algoritm poate fi reprezentată şi sub

forma unui tabel de valori, rezultă – din tot ce s-a prezentat în această carte – că acest tabel poate fi minimizat, aplicând metoda discriminării, la fel ca în cazul circuitelor digitale - conducând:

- fie la implementări hardware optimizate, în conformitate cu cele prezentate în capitolele despre logică algoritmică şi logică vectorială;

- fie la implementări software, pe baza unei organigrame optimizată, prin discriminare, a programului.

În continuare se prezintă o extensie a metodei discriminării – aspect

sesizat şi pus în evidenţă de către colegul meu Adrian Zafiu în analiza consistenţei tabelelor de valori (vezi [51]).

Totul a plecat de la observaţia că, deşi, în general, un tabel de valori

supus minimizării reprezintă o funcţie intrare-ieşire univocă, este posibil ca tabelul de valori supus minimizării de către proiectant să nu fie univoc, şi totuşi problema să fie rezolvabilă.

552 23. MINIMIZAREA SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE

23.02. NEUNIVOCITĂŢI DE SPEŢA A I-a, A II-a ŞI A III-a

În analiza nedeterminismului manifestat în relaţia intrare-ieşire apar

următoarele situaţii: a) - neunivocitate de speţa a I-a:

Tabelul conţine cel puţin un vector de intrare căruia îi

corespunde o mulţime de valori ale ieşirii.

Exemplu: 2,-,1/{1,3,5}

b) - neunuvocitate de speţa a II-a:

Mulţimea stărilor de intrare reprezentată de un rând din tabel, corespunzând unei valori a funcţiei, este inclusă în mulţimea stărilor de intrare reprezentată de un rând care corespunde unei alte valori a funcţiei, de exemplu:

2,-,1,3/5 2,-,1,-/7

c) - neunivocitate de speţa a III-a:

Mulţimile stărilor de intrare reprezentate de două rânduri din tabel aparţinând unor valori diferite ale funcţiei au intersecţia nevidă şi nu se includ una în alta, de exemplu:

2,-,1,-/5 -,3,1,-/7

Neunivocitatea de speţa a III-a nu reprezintă neapărat o nedeterminare

în intenţia proiectantului la întocmirea specificării, în schimb pune în evidenţă următoarele:

• tabelul nu are specificată ieşirea pentru orice combinaţie a intrării; • proiectantul, cunoscând că anumite combinaţii de intrare nu sunt

implicate în funcţionare, şi-a permis o optimizare parţială (introducând “ – “ în tabel), astfel că în exemplul de mai sus el este apriori asigurat că nu vor apărea combinaţii de intrare care să valideze ambele valori ale ieşirii, adică nu vor apărea combinaţii aparţinând intersecţiei submulţimilor combinaţiilor de intrare reprezentate de către cele două rânduri (în cazul exemplului, se consideră că nu va apărea combinaţia (2,3,1,-)), sau, dacă asemenea combinaţii apar, atunci efectul lor nu interesează şi nici nu deranjează aplicaţia.

Exemple de tabele care prezintă asemenea neunuvocităţi, dacă

sunt raportate la întreaga mulţime a combinaţiilor de intrare (deci

23. MINIMIZAREA SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE 553

incluzând şi combinaţiile care nu au o valoare specificată a

funcţiei), pot fi identificate cel mai direct în unele dintre tabelele rezultate în urma minimizării, indiferent prin ce metodă este ea realizată.

Pentru a nu lăsa afirmaţiile de mai sus neclarificate, se menţionează că

într-o implementare a unui circuit combinaţional, apariţia unor situaţii care implică simultan activarea a două sau a mai multor valori diferite ale ieşirii, poate produce pe ieşirea circuitului fie maximul valorilor activate, în cazul primei forme canonice, sau minimul lor, în cazul celei de a doua forme canonice – prin modul de organizare structurală prezentat în prezenta carte – sau produce, folosind suplimentar semnale de selecţie, una dintre valorile de ieşire activate, şi anume, pe cea selectată. În acest din urmă caz, selecţia poate desemna circuitul drept unul multifuncţional (funcţia fiind aleasă prin selector), sau ca pe un circuit incorporat într-un automat, caz în care memoria automatului este cea care dictează care anume dintre ieşirile activate simultan să apară pe ieşirea circuitului.

554 23. MINIMIZAREA SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE

23.03. OPTIMIZAREA SISTEMELOR DECIZIONALE NEDETERMINISTE FOLOSIND METODA DISCRIMINĂRII

Problema optimizării sistemelor decizionale nedeterministe este evidenţiată şi soluţionată în literatura de specialitate, folosindu-se metodele de minimizare SIS şi MVSIS, care reprezintă dezvoltări ale metodelor ESSPRESO şi ESSPRESO MV, produse la Universitatea din Berkeley, California, SUA.

Se menţionează, însă, că se tratează doar cazul neunuvocităţilor de speţa a I-a, minimizarea efectuându-se numai asupra sistemelor cu o singură ieşire multivalentă, sistemele cu ieşiri multiple fiind descompuse în prealabil în sisteme cu câte o ieşire.

Întrucât sistemele cu neunivocităţi de speţa a II-a şi, în special, de speţa

a III-a, constituie un aspect aparte, cu mare probabilitate de apariţie în definirea sistemelor decizionale, şi anume, prin definirea sistemului – hardware sau software – prin tabele de valori parţial optimizate de către proiectant la formularea problemei şi, cel mai adesea, şi parţial specificate. Asemenea situaţii pot să apară frecvent când avem de-a face cu sisteme multivalente, cu variabile simple, sau vectoriale, cu ieşiri multivalente simple sau vectoriale.

Problema tabelelor de valori incomplet specificate şi parţial

optimizate, prezentată succint mai înainte, pune în evidenţă un aspect important, şi anume că în cazul sistemelor decizionale – fie ele de tip hardware sau software, adică fie că este vorba de circuite digitale, fie că este vorba de algoritmi – cu multe combinaţii ale variabilelor de intrare (combinaţiile datorându-se fie multivalenţei, fie numărului mare al intrărilor binare sau multivalente, fie ambelor aspecte), problema este frecvent specificată incomplet, prezentându-se doar aspectele implicate în aplicaţie, şi, adeseori, optimizată parţial de către proiectant, care este conştient dacă anumite situaţii aparent conflictuale pot sau nu să apară.

În asemenea situaţii, este greu să pretinzi proiectantului să specifice şi să clasifice toate situaţiile, astfel încât el să prezinte pentru minimizare un tabel detaliat, care să prezinte toate combinaţiile de intrare, fie că au sau nu specificată valoarea funcţiei.

Metoda discriminării poate fi extinsă pentru a trata direct

asemenea tabele de valori, prezentate în modul cel mai natural, oferindu-se tehnici mai directe, pur multivalente, spre deosebire de toate celelalte tehnici de minimizare cunoscute, care sunt în esenţă binare şi se aplică unor tabele de valori ale căror ieşiri singulare multivalente sunt în prealabil codificate în binar, după principiul 1 din N.

Metoda discriminării se poate aplica, după cum se va arăta în

continuare, pentru optimizarea tabelelor de valori prezentând oricare dintre cele trei tipuri de neunivocităţi, indiferent dacă variabilele de

23. MINIMIZAREA SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE 555

intrare şi ieşire sunt binare sau multivalente, simple sau

vectoriale, dacă tabelul are ieşiri singulare sau multiple. Toate aceste aspecte care evidenţiază disponibilitatea metodei

discriminării de a soluţiona practic orice problemă de optimizare care implică minimizare, mai direct şi, uneori, oferind singura cale practică, se datorează principiului de bază de minimizare al discriminării – principiu multivalent natural – complet diferit de principiul de bază – binar în esenţă – al tuturor metodelor cunoscute, începând cu metoda analitică Quine-McCluskey, metoda grafică sau grafo-analitică a diagramei Karnaugh, continuând cu metodele analitice euristice sau precise Espresso, Espresso II şi Esspreso MV, şi ajungând până la mai recentele tehnici SIS şi MVSIS.

556 23. MINIMIZAREA SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE

23.04. NEUNIVOCITĂŢI EXPLICITE ŞI IMPLICITE

În funcţie de modul de exprimare în tabel a nedeterminismului, se

disting următoarele tipuri de neunivocităţi: a) – neunivocitate explicită Un rând din tabel manifestă o „neunivocitate explicită”. dacă

mulţimea valorilor de ieşire corespunzătoare acestui rând este afişată explicit, ca în exemplul de mai jos:

2,-,1/{1,3,5} Neunivocităţile de prima speţă intră în clasa neunivocităţilor explicite. b) – neunivocitate implicită Un tabel conţine „neunivocitate implicită”, dacă nedeterminarea

este evidenţiată prin rânduri care au asociate o valoare singulară (şi nu o mulţime) a funcţiei, ca în exemplele de mai jos:

3,-/2 -,1/4

sau:

3,1/2 -,1/4

În această clasă intră neunivocităţile de speţa a II-a şi a III-a, dar şi neunivocităţile explicite (deci cele de speţa a I-a) pot fi transformate în neunivocităţi implicite.

De exemplu, rândul dat ca exemplu pentru neunivocitate explicită: 2,-,1/{1,3,5}

poate fi expandat, în funcţie de componentele mulţimii de ieşire, în rânduri având doar o singură ieşire, rânduri integrate în grupele valorice corespunzătoare ieşirii lor:

2,-,1/1 2,-,1/3 2,-,1/5 Se poate forma astfel un tabel de valori conţinând aceleaşi

nedeterminări, mascate însă în grupele valorice, astfel încât să conţină numai neunivocităţi implicite.

23. MINIMIZAREA SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE 557

23.05. MINIMIZAREA SISTEMELOR

DECIZIONALE CU NEUNIVOCITĂŢI DE SPEŢA A I-a

Tabelul de valori al unui sistem cu neunivocităţi de speţa a I-a

conţine vectori de intrare cărora le corespund mulţimi de valori ale funcţiei, ca în tabelul de mai jos, care reprezintă o funcţie având două intrări x şi y şi o ieşire z, unde 543 ,, ZzZyZx ∈∈∈ :

3,4/5 0,2/3 1,3/2 2,1/{0,1}=5 0,3/1 în rest/- Optimizarea,prin minimizare a unui asemenea tabel se poate realiza

în două mari etape: A – minimizarea propriu zisă, distingându-se următoarele moduri: a) - prin tratarea directă a neunivocităţilor explicite; b) - prin transformarea neunivocităţilor explicite în implicite şi

tratarea sub acest aspect al tabelului. B – eliminarea hazardului: În final, dacă acest lucru este dorit (în special în cazul sintezei

circuitelor), se aplică şi tehnica de eliminare a hazardului, prezentată pe larg în capitolul privind minimizarea prin discriminare, cu unele completări specifice, care vor fi punctate mai jos.

A – minimizarea propriu zisă: a) – Tratarea directă a neunivocităţilor explicite Tabelul se transformă, înlocuind fiecare mulţime diferită,

reprezentând o ieşire nedeterminată, corespunzătoare unui rând din tabel, printr-o nouă cifră adăugată mulţimii în care ia valori ieşirea. În cazul de faţă Z5 se transformă în Z6, pentru că mulţimea {0,1} se înlocuieşte cu cifra 5:

3,4/6 0,2/3 1,3/2 2,1/5 0,3/1 în rest/-

558 23. MINIMIZAREA SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE

Aplicând metoda discriminării tabelului de mai sus, se obţine următorul tabel minimizat, în care cifra 5 s-a înlocuit cu mulţimea {0,1}, unde se observă două variante pentru ieşirea valorică {0,1}: (3): (- 2) /(3) (2): (1 -) /(2)

({0,1}): (2 -) /({0,1}) (- 1) /({0,1}) (1): (0 3) /(1)

Prin urmare, minimizarea tabelelor de valori care conţin neunivocităţi de speţa a I-a se poate face aplicând direct metoda discriminării asupra tabelului în care mulţimile diferite de valori reprezentând ieşiri nedeterminate se înlocuiesc cu cifre noi care pot reprezenta variabila de ieşire.

Trebuie remarcat că o asemenea tehnică se poate aplica şi tabelelor

cu ieşiri multiple, având variabile de intrare şi ieşire simple sau vectoriale. Tehnica se recomandă ori de câte ori tabelul conţine numai

neunuvocităţi de prima speţă şi se doreşte folosirea, prin selecţie a oricărei ieşiri din mulţimea corespunzătoare unui rând care manifestă nedeterminare.

b) – Tratarea neunivocităţilor implicite Tehnica cuprinde următoarele etape:

b1) - Tabelul se transformă într-unul cu neunivocităţi implicite. De exemplu, tabelul de la punctul a) devine: 3,4/5 0,2/3 1,3/2 2,1/0 2,1/1 0,3/1 în rest/-

b2) – Identificarea, pentru fiecare vector de intrare vi (corespunzător rândului ri), a mulţimii Ni a vectorilor din celelalte grupe valorice faţă de care nu se poate discrimina (deci Ni are intersecţie ne vidă cu mulţimile fiecăruia dintre aceşti vectori), operaţie care se face prin procesul de discriminare a vectorului considerat în completitudinea lui, aşa cum este specificat în tabel.

3,4/5 Ni

r1: 0,2/3 - r2: 1,3/2 - r3: 2,1/0 {v4} r4: 2,1/1 {v3} r5: 0,3/1 -

23. MINIMIZAREA SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE 559

b3) – Se aplică apoi procesul de discriminare asupra vectorului vi ales, fără

a se lua în considerare vectorii din mulţimea Ni. Se caută variante echivalente, urmând procesul normal al discriminării.

Se obţin, în urma discriminării, conform etapei b3), următoarele

rezultate, din care rezultă câte două variante de soluţii pentru ieşirile valorice 0 şi 1:

(0): (2 -) /(0) (- 1) /(0) (1): (2 -) /(1) (0 3) /(1) (- 1) /(1) (0 3) /(1) (2): (1 -) /(2) (3): (- 2) /(3) Se obţin astfel patru variante pentru soluţia finală a funcţiei: - varianta nr.1: (0): (2 -) /(0) (1): (2 -) /(1) (0 3) /(1) (2): (1 -) /(2) (3): (- 2) /(3)

Grupând rândurile cu acelaşi vector de intrare, se obţine o soluţie având şi neunivocităţi explicite: ({0,1}): (2 -) /(0) (1): (0 3) /(1) (2): (1 -) /(2) (3): (- 2) /(3)

560 23. MINIMIZAREA SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE

- varianta nr.2: (0): (2 -) /(0) (1): (- 1) /(1) (0 3) /(1) (2): (1 -) /(2) (3): (- 2) /(3)

Această variantă se prezintă sub formă implicită pură, adică nu se poate grupa direct într-o variantă cu neunivocităţi explicite.

- varianta nr.3: (0): (- 1) /(0) (1): (2 -) /(1) (0 3) /(1) (2): (1 -) /(2) (3): (- 2) /(3) Varianta 3 conţine şi ea numai neunivocităţi implicite. - varianta nr.4: (0): (- 1) /(0) (1): (- 1) /(1) (0 3) /(1) (2): (1 -) /(2) (3): (- 2) /(3)

Varianta 4 se poate grupa şi cu univocităţi explicite:

({0,1}): (- 1) /(0) (1): (0 3) /(1) (2): (1 -) /(2) (3): (- 2) /(3)

23. MINIMIZAREA SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE 561

NOTĂ N-23.1:- Fiecare dintre cele patru variante ale soluţiei mai

cuprinde şi alte neunivocităţi implicite, rezultate din procesul minimizării. Acestea nu sunt de fapt manifestări nedeterministe, dacă sunt raportate la mulţimea stărilor de intrare acceptată de proiectant, prin tabelul propus iniţial minimizării.

- Dacă tabelele minimizate se supun din nou operaţiei de minimizare, conform procedeului de mai sus, se obţin aceleaşi rezultate, dovadă că s-au obţinut cu adevărat variantele minime.

B – Eliminarea hazardului: Etapele algoritmului de minimizare prin discriminare, cu excepţia

etapei de eliminare a hazardului (care va fi tratată aşa cum se va prezenta mai jos), sunt neafectate, pentru că, de exemplu, etapa de eliminare a redundanţelor nu face decât să elimine din vectorii din tabel, dar nu modifică structura nici unuia dintre cei rămaşi şi, deci, nu poate modifica tipul neunivocităţii.

Etapa de eliminare a hazardului se realizează conform procedeului expus pentru metoda discriminării, cu următoarea adăugire:

„vectorii consens care urmează să fie adăugaţi tabelului de valori, rezultaţi în urma etapei de eliminare a hazardului logic, sunt verificaţi - discriminându-i în raport cu toţi vectorii corespunzători altor valori ale funcţiei minimizată până în această etapă – astfel încât să nu prezinte neunivocităţi de speţa a I-a, în caz contrar nefiind folosiţi în eliminarea hazardului”. Procesul de mai sus asigură că nu se vor introduce, prin minimizare,

noi neunuvocităţi de speţa a I-a. Necesitatea verificării introdusă mai sus în algoritmul de discriminare poate fi justificată printr-un exemplu:

Astfel, se consideră un tabel de valori care conţine următoarele

rânduri: (x1,x2,x3,x4/y) r1: (5,-,2,-/2) r2: (4,1,-,3/2) r3: (-,1,2,3/5) Rândurile r1 şi r2 prezintă, în raport cu rândul r3 neunivocităţi de speţa

a II-a, deci acceptate. Pe de altă parte, rândurile r1 şi r2 generează vectorul consens:

(r1,r2): (-,1,2,3/2) Acest vector, dacă s-ar adăuga tabelului, ar prezenta neunivocitate

de speţa a I-a faţă de vectorul r3, conducând la un tabel de valori în care apare suplimentar o neunivocitate de speţa a I-a.

562 23. MINIMIZAREA SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE

Neincluderea în tabel a unui vector consens care introduce neunivocitate de speţa I-a nu înseamnă că implementarea circuitului va manifesta hazard, pentru că un asemenea vector consens a apărut prin considerarea întregii mulţimi a combinaţiilor de valori ale intrărilor, în timp ce acest circuit este reprezentat de un tabel de valori incomplet specificat şi optimizat prin minimizare, tabel care presupune ignorarea a o parte din situaţiile de intrare. Dacă s-ar lua în considerare numai situaţiile pentru care a fost gândit circuitul să funcţioneze, atunci acel vector consens nu ar exista.

Astfel, în exemplul considerat, funcţionarea fără neunivocităţi a

circuitului implică: - r1 ia valori: x2 ≠ 1 şi x4 ≠ 3 - r2 ia valori: x3 ≠ 2,

valori care nu mai permit generarea unui vector consens între vectorii r1 şi r2.

23. MINIMIZAREA SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE 563

23.06. MINIMIZAREA SISTEMELOR

DECIZIONALE CU NEUNIVOCITĂŢI DE SPEŢA A II-a

Tabelele de valori care conţin neunivocităţi de speţa a II-a se minimizează aplicând procedeul descris în etapele A-b2 şi B, pentru tabelele cu neunivocităţi de speţa a I-a.

Se dă ca exemplu tabelul de mai jos, reprezentând o funcţie 5Zz∈ de

două variabile 42 , ZyZx ∈∈ , conţinând o neunivocitate de speţa a II-a: Se observă astfel că intrarea rândului 1: (1,3/4) este inclusă în mulţimea

stărilor de intrare reprezentată de rândul 2: (1,-/0), evidenţiind o neunivocitate de speţa a II-a.

2,4/5 1,3/4 1,-/0 0,2/3 Rezultă următoarele soluţii, pe valori ale funcţiei: (0): 1,-/0 (3): 0,-/3 -,2/3 (4): 1,-/4 -,3/4

Se observă că pentru valorile 3 şi 4 ale funcţiei sunt câte două variante, rezultând următoarele patru variante de soluţii globale ale funcţiei:

- varianta 1:

(0): 1,-/0 (3): 0,-/3 (4): 1,-/4

Varianta 1 conduce la un tabel cu o neunivocitate explicită:

({0,4}): 1,-/0 (3): 0,-/3

564 23. MINIMIZAREA SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE

- varianta 2:

(0): 1,-/0 (3): 0,-/3 (4): -,3/4

Varianta 2 reprezintă un tabel de valori cu neunivocităţi implicite.

- varianta 3: (0): 1,-/0 (3): -,2/3 (4): 1,-/4

Varianta 3 conduce la un tabel având neunivocităţi implicite şi explicite:

({0,4}): 1,-/0 (3): -,2/3

- varianta 4:

(0): 1,-/0 (3): -,2/3 (4): -,3/4

Varianta 4 reprezintă un tabel numai cu neunuvocităţi implicite.

23. MINIMIZAREA SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE 565

23.07. MINIMIZAREA SISTEMELOR

DECIZIONALE CU NEUNIVOCITĂŢI DE SPEŢA A III-a

Tabelele de valori care conţin neunivocităţi de speţa a III-a se

minimizează aplicând procedeul descris în etapele A-b2 şi B, pentru tabelele cu neunivocităţi de speţa a I-a, cu verificarea suplimentară ca fiecare soluţie aleasă să nu introducă neunivocităţi de speţa a I-a sau a II-a, adică vectorul vi ales ca soluţie să nu-şi regăsească toate componentele specificate – considerate poziţie cu poziţie, în nici unul dintre vectorii mulţimii Ni asociate lui (mulţime care conţine vectorii cu care vi generează nedeterminări).

Raţiunea acestei verificări suplimentare este dată de faptul că tabelele de

speţa a III-a pot fi folosite direct pentru reprezentarea unor funcţii deterministe, dacă sunt raportate la un anumit subdomeniu al mulţimii tuturor valorilor de intrare, iar introducerea unor neunivocităţi de speţa a I-a sau a II-a ar anihila această opţiune, de altfel de o deosebită importanţă, pentru că permite proiectantului exprimarea naturală, fără constrângeri a funcţiei, prin raportare strictă la subdomeniul de valori de intrare folosit în aplicaţie şi, suplimentar permiţându-i să optimizeze parţial, luând în considerare cazul practic pe care-l prezintă ca funcţie în tabel.

Optimizarea oferită – cel mai adesea intuitiv – de către proiectant (de

către cel care proiectează tabelul de valori) este, în general, parţială, pentru că proiectantul nu-şi impune analizarea tuturor combinaţiilor de intrare nefolosite – analiză care devine deosebit de dificilă, tocmai acolo unde apare această exprimare a funcţiei sub formă de tabel cu neunivocităţi de speţa a III-a, anume, în cazurile cu un număr mare de variabile de intrare, cu multivalenţă exprimată simplu sau vectorial, atât pe intrare, cât şi pe ieşire.

Prin urmare, optimizarea unor asemenea tipuri de tabele este cu atât mai

necesară, mai ales că nu se cunosc abordări ale problemei, iar metoda discriminării – nou introdusă în această lucrare – oferă o soluţie directă, naturală, eficientă.

În continuare se prezintă minimizarea unui tabel de valori multivalent,

care conţine neunivocităţi de speţa a III-a: 3,6,6/4 Ni

r1: 0,4,-/0 v7 * r2: 2,3,-/1 v5*

r3: 0,1,3/1 - r4: 1,2,1/1 - r5: 2,-,4/2 v2*,v8* r6: -,5,5/2 -

r7: -,4,1/2 v1*,v8* r8: 2,4,-/3 v5*,v7* r9: 1,0,3/3 -

566 23. MINIMIZAREA SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE

Notă: S-au marcat prin „ * „ vectorii din Ni cu care vectorul vi

generează nedeterminare de speţa a III-a, convenţie care va fi adoptată în general în tabele care pot conţine mai multe tipuri de neunivocităţi.

În urma minimizării, conform procedeului expus mai înainte, rezultă

următorul tabel, care conţine numai neunivocităţi de speţa a III-a:

3,6,6/4 r1: 0,4,-/0 r2: -,3,-/1

r3: 0,1,-/1 sau -,1,3/1 r4: -,2,-/1 r5: 2,-,4/2 r6: -,5,-/2

r7: -,4,1/2 r8: 2,4,-/3 r9: 1,0,-/3 sau -,0,3/3

Notă: Dacă s-ar fi minimizat tabelul folosind procedura de la speţa a II-a, atunci r7 ar fi avut forma:

r7: -,4,-/2 şi ar fi generat cu r8 neunivocitate de speţa a II-a, iar tabelul n-ar mai fi putut fi determinist pentru nici o submulţime a valorilor intrării.

23. MINIMIZAREA SISTEMELOR DECIZIONALE HARDWARE ŞI SOFTWARE NEDETERMINISTE 567

23.08. MINIMIZAREA SISTEMELOR

DECIZIONALE CU NEUNIVOCITĂŢI DE SPEŢA A I-a, A II-a ŞI A III-a

Tabelele de valori care conţin neunivocităţi de speţa a I-a, a II-a şi a

III-a se pot optimiza aplicând etapele A- b2 şi B, pentru neunivocităţile de speţa a I-a şi a II-a, iar pentru cele de speţa a III-a se marchează cu „ * „ vectorii din Ni, procedându-se la selecţia soluţiilor rezultate din discriminare, conform procedurii expusă în subcapitolul anterior (23.7).

568 24. SPECIFIC ŞI AVANTAJE ÎN METODA DISCRIMINĂRII I 24. SPECIFIC ŞI AVANTAJE

ÎN METODA DISCRIMINĂRII

În această parte se expun succint specificul metodei discriminării în raport cu alte metode de minimizare, precum şi avantajele folosirii acestei metode în proiectarea logică a sistemelor decizionale hardware şi software, deterministe sau nedeterministe.

Toate metodele de minimizare cunoscute, clasice sau moderne, metode

precise sau euristice, enumerând aici: metoda analitică Quine-McCluskey, metoda grafică sau grafo-analitică a diagramei Karnaugh, metodele analitice euristice sau precise Esspreso I şi II, Esspreso MV, metoda SIS, sau MVSIS, indiferent dacă se referă la sisteme binare sau multivalente, cu ieşiri singulare sau multiple au următoarele caracteristici comune :

- Sunt în esenţă binare; - Se aplică sistemelor cu o singură ieşire binară (ieşirile multiple

binare, sau singulare multivalente se reduc sau se descompun în subsisteme binare cu o singură ieşire);

- Se aplică doar ieşirilor multivalente singulare, după descompunerea

sistemelor cu ieşiri multiple în subsisteme cu ieşiri singulare, care, la rândul lor sunt codificate binar, tip 1 din N (adică fiecare din cele N valori multivalente se reprezintă printr-un vector binar cu N poziţii, având doar o valoare 1, restul componentelor vectorului fiind 0), iar ieşirea multiplă rezultată se tratează ca N ieşiri singulare separate;

- Principiul de bază al acestor metode de minimizare constă în

analizarea valorilor intrării pentru care funcţia are valoarea 1 (sau, alternativ, 0), folosindu-se teoremele de bază ale algebrei booleene (dintre care menţionăm adiacenţa, factorul comun, consensul, teoremele lui De Morgan etc.,) şi ceea ce este specific acestor metode, optimizarea folosind valorile intrării pentru care funcţia nu este specificată.

Un asemenea principiu implică detalierea şi analizarea tuturor

combinaţiilor de intrare nespecificate, operaţie care poate destul de laborioasă, în cazul unui mare număr de intrări, sau în cazul sistemelor multivalente.

Întrucât de fiecare dată analiza, în vederea minimizării, se realizează pe

două submulţimi ale valorilor intrării: - submulţimea ON, pentru care funcţia are valoarea 1 şi - submulţimea DC (don´t care), pentru care funcţia nu este specificată,

sau - submulţimea OFF, pentru care funcţia are valoarea 0 şi - submulţimea DC (don´t care), pentru care funcţia nu este specificată,

24. SPECIFIC ŞI AVANTAJE ÎN METODA DISCRIMINĂRII 569

rezultă o limitare a metodelor la optimizarea doar funcţiilor cu ieşiri binare singulare, urmărindu-se să se reducă celelalte cazuri la acesta, prin descompunerea lor în subsisteme cu o singură ieşire binară.

Metoda discriminării, spre deosebire de celelalte metode, foloseşte pentru minimizare submulţimile valorilor intrării, grupate pe valorile specificate ale funcţiei, ne analizându-se submulţimea valorilor intrării pentru care funcţia nu este specificată.

Ideea de bază a minimizării constă în reţinerea, în fiecare vector de intrare aparţinând unei grupe valorice a ieşirii, a numărului minim de componente specificate, care-l separă (îl discriminează) faţă de toţi ceilalţi vectori de intrare aparţinând altor grupe valorice ale funcţiei.

O asemenea abordare a minimizării are următoarele avantaje:

- abordare directă, naturală multivalentă, nefiind necesare nici un fel

de conversii intermediare în binar; - se pot minimiza tabele de valori având valori de intrare şi ieşire

variabile binare sau multivalente;

- variabilele pot fi simple sau vectori; - tratarea directă a ieşirilor multiple, simple sau vectoriale; - tratare unitară a optimizării sistemelor decizionale nedeterministe,

extinzând, în raport cu cercetările cunoscute în domeniu, gama de soluţii asupra optimizării sistemelor decizionale hardware şi software parţial optimizate, manifestând nedeterminări implicite, oferind totodată şi o soluţionare mai directă, faţă de abordările recente cunoscute, privind tratarea neunivocităţilor explicite, tratate – în cazul aplicării metodei discriminării – ca valori multivalente suplimentare ale ieşirii.

Prezenta lucrare cuprinde o gamă largă de aplicaţii ale metodei

discriminării care probează flexibilitatea, adaptabilitatea şi eficienţa metodei. Structurile de logică vectorială, cu particularizarea ei „logică algoritmică”, optimizabile prin discriminare, deschid perspectiva obţinerii unui salt în viteza de prelucrare a informaţiei, prin „hardificarea” software-lui, sau, direct prin optimizarea structurilor decizionale ale algoritmilor,

Referitor la optimizarea algoritmilor, trebuie menţionat că numai într-o

algebră multivalent-vectorială se pot exprima natural algoritmii, iar metoda discriminării oferă instrumentul practic al optimizării într-o astfel de algebră.

Toate aceste aspecte, care evidenţiază disponibilitatea metodei

discriminării de a soluţiona practic, mai direct, orice problemă de optimizare care implică minimizare şi, uneori, oferind singura cale practică, se datorează – aşa cum s-a arătat mai înainte - principiului de bază de minimizare al discriminării – principiu multivalent natural – complet diferit de principiul de bază – binar în esenţă – al tuturor metodelor cunoscute.

570 24. SPECIFIC ŞI AVANTAJE ÎN METODA DISCRIMINĂRII I

BIBLIOGRAFIE 571

BIBLIOGRAFIE

1. Boole, G., The Mathematical Analysis of Logic, Cambridge, 1847.

2. Boole, G., An InvestigatiSon of the Laws of Thought, Dover

Publications, New York, N.Y., 1854.

3. Huntington, E. V., Sets of Independent Postulates for the Algebra of Logic, Trans. Am. Math. Soc., 5, 288-309, 1904.

4. Pierre Tison, Theorie des consensus, These de docteur-

ingenieur, Universite de Grenible, France, 1965.

5. P. Naslin, Circuite logice şi automatizări secvenţiale, Editura Tehnică, Bucureşti, 1967.

6. Taylor L. Booth, Sequential Machines and Automata Theory,

John Wiley and Sons, Inc., USA, 1968.

7. Renee-Louis Vallee, Analyse binaire – 1ere partie – Definitions et traitements des fonctions binaires, Raport CEA-R$-3534 (I), C.E.A. Saclay, France, 1968.

8. Renee-Louis Vallee, Analyse binaire – 2eme partie –

Applications et fonctions de transcodage, Raport CEA-R$-3534 (2), C.E.A. Saclay, 1969.

9. N. Reus, Tratarea simbolică a schemelor de comutaţie, Editura

Academiei Republicii Socialiste Romania, 1971. 10. Frederick H. Edwards, The Principles of Switching Circuits, M.I.T.

Press, USA, 1973.

11. Ion Ştefănescu, Celule de memorie digitală, Teză de doctorat, Institutul de Fizică Atomică, Bucureşti, 1974.

12. S. J. Hong, R. G. Cain and D. L. Ostapco, MINI: A Heuristic

Approach for Logic Minimization, IBM J. of Res. And Dev., Sept. 1974.

13. Arthur D. Friedman, Premachandran R. Menon, Theory & Design

of Switching Circuits, Computer Science Press, Inc., USA, 1975. 14. P. D. Uspensky, Fragmente dintr-o învăţătură necunoscută,

Editura RAM, Romania, 1975. 15. I. Boukreev, B. Mansourov, V. Goriatchev – Circuits micro-

electroniques et technique numerique, Editions Mir, Moscou, USSR, 1975.

572 BIBLIOGRAFIE

16. Ştefan Odobleja, Psihologia consonantistă şi Cibernetica, Scrisul

Românesc, Craiova, România, 1978. 17. Ştefan Odobleja, Psihologia consonantistă, Editura ştiinţifică şi

enciclopedică, Bucureşti, România, 1982. 18. Ştefan Odobleja, Introducere în logica rezonanţei, Scrisul

Românesc, Craiova, Romania, 1984. 19. R. Brayton, G. Hatchel, C. McMullen, and A. Sangivanni-

Vincentelli, Logic Minimization Algorithms for VLSI Synthesis, Kluwer Academic Publishers, 1984.

20. R. Rudell, A. Sangiovanni-Vincentelli, Espresso-MV: Algorithms

for Multiple-Valued Logic Minimization, Proc. Intl. Circ. Conf., Portland, May 1985.

21. R. Rudell, A. Sangiovanni-Vincentelli,xact Minimization of

Multiple-Valued Functions for PLA Optimization, Intl. Conf. On Comp. Aided Design, Santa Clara, November 1986.

22. R. Rudell, Multiple-Valued Minimization for PLA Synthesis,

Master´s Report, University of California, Berkeley, June 1986, or: IEEE Trans. CAD, vol. CAD-6. no. 5, 1987, pag. 727-750.

23. *** Input file format for Espresso (PLA)- espresso (5).

24. Arthur D. Friedman, Fundamentals of Logic Design and

Switching Theory, Computer Science Press, Inc., U.S.A., 1986. 25. Edward J. McCluskey, Logic Design Principles with Emphasis on

Testable Semicustom Circuits, Prentice/Hall, N.J., USA, 1986. 26. Iulian Ardelean, Horia Giuroiu, Liviu-Lică Petrescu, Circuite

integrate CMOS Manual de utilizare, Editura Tehnică, Bucureşti, România, 1986.

27. Neil H. E. Weste, Kamran Eshraghian, Principles of CMOS VLSI

Design, Addison-Wesley Publishing Company, USA, 1988. 28. D. Olteanu, C. A. Popescu, Circuite integrate pe arii de porţi

logice, Editura Tehnică – Seria Electronică aplicată – Bucureşti, România , 1991.

29. Gheorghe M. Ştefan, Funcţie şi structură în sistemele digitale,

Editura Academiei Române, Bucureşti, România, 1991. 30. Randy H. Katz, Contemporary Logic Design, The

Benjamin/Cummings Publishing Company, Inc., USA, 1994. 31. Gheorghe Toacşe, Dan Nicula, Electronică digitală, Teora,

România, 1996.

BIBLIOGRAFIE 573

32. Miles J. Murdocca, Vincent P. Heuring, Principles of Computer

Arhitecture, Prentice Hall, USA, 1999.

33. Gheorghe Ştefan, Circuite şi sisteme digitale, Editura tehnică, Bucureşti, România, 2000.

34. Gheorghe Ştefan, Virgil Bistriceanu, Circuite digitale – probleme,

proiectare, Casa de Editură Albastră, Cluj-Napoca, 2000. 35. Tiberiu Mureşan, Aurel Gontean, Mircea Băbăiţă, Petru Demian,

Circuite integrate numerice – Aplicaţii şi proiectare, Editura de Vest, Timişoara, România, 2000.

36. John F. Wakerly, Circuite digitale / Principiile şi practicile folosite

în proiectare, Teora, România, 2002. 37. Y. Jiang, and R. K. Brayton, Don't Cares and Multi-Valued

Logic Network Minimization, IEEE/ACM International Conference on CAD, ICCAD 00, Santa Clara, November 2000.

38. M. Gao, R. K. Brayton, Semi-Algebraic Methods for Multi-

Valued Logic, IEEE IWLS 2000, International Workshop on Logic Synthesis 2000, Dana Point, CA, Workshop Notes 73-80, May 31 - June 2, 2000.

39. R. K. Brayton, and S. P. Khatri, Multi-valued Logic

Synthesis, International Conference on VLSI Design, Goa, India, Jan 1999.

40. Minxi Gao, Jie-Hong Jiang, Yunjian Jiang, Yinghua Li,

Subarna Sinha and Robert Brayton, MVSIS, In the Notes of the International Workshop on Logic Synthesis, Tahoe City, June 2001.

41. Jie-Hong Jiang, Yunjian Jiang and Robert K. Brayton, An

implicit method for multi-valued network encoding, In the Notes of the International Workshop on Logic Synthesis, Tahoe City, June 2001.

42. Elena Dubrova, Yunjian Jiang and Robert Brayton,

Minimization of Multiple-Valued Functions in Post Algebra, In the Notes of the International Workshop on Logic Synthesis, Tahoe City, June 2001.

574 BIBLIOGRAFIE

43. Alan Mishchenko and Robert Brayton, A Theory of Non-Deterministic Networks, International Workshop on Boolean Problems, 2002.

44. Alan Mishchenko and Robert Brayton , Simplification of

Non-Deterministic Multi-Valued Networks, IEEE/ACM International Conference on CAD, ICCAD 02, Santa Clara, November 2002. also in the Notes of the International Workshop on Logic Synthesis, New Orleans, June 2002

45. Jie-Hong Jiang, Alan Mishchenko and Robert Brayton,

Reducing Multi-Valued Algebraic Operations to Binary, Design Automation and Test in Europe, DATE 2003, to appear. also in the Notes of the International Workshop on Logic Synthesis, New Orleans, June 2002.

46. Alan Mishchenko and Robert K. Brayton, A Boolean

Paradigm in Multi-Valued Logic Synthesis, In the Notes of the International Workshop on Logic Synthesis, New Orleans, June 2002.

47. M. Gao, J-H. Jiang, Y. Jiang, Y. Li, A. Mishchenko, S.

Sinha, T. Villa and R. Brayton, Optimization of Multi-Valued Multi-Level Networks, In the Proceedings of the International Symposium on Multiple-Valued Logic, 2002.

48. Alan Mishchenko and Robert Brayton, A Theory of Non-

Deterministic Networks, Accepted to IEEE TCAD, 2005.

49. Ion Ştefănescu, DISCRIMINATION: A New Principle in the Efficient Minimization of the Binary and Multiple-Valued Functions, 1st International Conference on Electronics, Computers and Artificial Intelligence – ECAI 2005 – University of Piteşti, Romania, 1-2 July 2005.

50. Ion Ştefănescu, New Technical Aspects in Identifying and

Eliminating of Logic and Essential Hazards of the Combinational Networks, 1st International Conference on Electronics, Computers and Artificial Intelligence – ECAI 2005 – University of Piteşti, Romania, 1-2 July 2005.

51. Adrian Zafiu, Ion Ştefănescu, Minimization aspects of the

hardware and Software Systems – An Extension of the Discrimination Method, 1st International Conference on Electronics, Computers and Artificial Intelligence – ECAI 2005 – University of Piteşti, Romania, 1-2 July 2005.

BIBLIOGRAFIE 575

52. Adrian Zafiu, Laurenţiu Ionescu, Ion Ştefănescu, Using of

Discrimination Method for Optimizing of an Algorithm for Computing the Maximum and the Minimum of Two Numbers Code don Four Bits Eatch, 1st International Conference on Electronics, Computers and Artificial Intelligence – ECAI 2005 – University of Piteşti, Romania, 1-2 July 2005.

53. Laurenţiu Ionescu, Adrian Zafiu, Ion Ştefănescu, A

Comparison between Traditional and Discriminatoâion Methodsin the Synthesis of a Maximum and Minimum Circuit for Implementation on a Field Programmable Gate Array, 1st International Conference on Electronics, Computers and Artificial Intelligence – ECAI 2005 – University of Piteşti, Romania, 1-2 July 2005.

576 BIBLIOGRAFIE

INDEX 577

INDEX

- adaptare tabel de valori pentru a opera cu elemente decizionale complexe 535

- a doua formă canonică 121, 123

- algebre echivalente 120, 283

- algebră logică multivalentă 112

. proprietăţi duale 124

- algebră arhetipală 113 . teoremele de bază

124 . alte proprietăţi 126

- algebra binară 275 - algebră arhetipală vectorială

517 - ALU – Arithmetic and Logic

Unit 510 - algebra booleană şi

algebrele binare şi multivalente 536

- algebra booleană 536 - algebră vectorială a

mulţimilor 539 - aritmetică zecimală 506 - aritmetică multivalentă 512 - aspectul structural şi

aspectul funcţional în manifestare: 29

- automat: 69, 81 - automat: concept general

structural şi funcţional: 69 - cele 12 teoreme ale

Principiului Unic: 49 - circuit de comutaţie: 82 - circuit combinaţional 88 - circuit secvenţial 88 - circuite cu mai multe ieşiri

377

- circuite în logică mixtă 379,

384, 385, 391 - circuit digital în sensul cel

mai general 377 - circuite de transcodare 409 - circuite de selecţie 434 - circuite de selecţie

vectorială 446 - circuite MUX/DMUX 442 - circuit MUX/DMUX vectorial

448 - circuit de adresarea unei

memorii RAM sau PROM 449

- circuite iterative combinaţionale 452

- circuit de înmulţire 495, 498, 499, 501, 502

- circuit de împărţire 503 - circuite de incrementare şi

decrementare 466 - circuite combinaţionale de

deplasare 469 - circuite de însumare 472,

478, 480, 481, 512 - circuite de paritate 477 - circuite aritmetice 478 - circuite de însumare

algebrică 478 - circuit de însumare

algebrică a două numere cu semn 480

- circuit de prioritate 464 - celulă de însumare

algebrică 481 - celulă de însumare

multivalentă 512 - clasa formei canonice 151 - clasa formei canal 151 - codificator 433 - comparator digital 453, 459 - comparator digital

multivalent 459

578 INDEX

-. complementarea unei funcţii multivalente 128

- condiţiile de considerare a circuitului 87

- consens şi consens dual 289

- convertor de cod zecimal 411

- convenţie de simbolizare a operatorilor cu variabile simple sau vectoriale 457, 462

- corelaţii: logică continuă – logică fuzzy – logică vectorială 543

- decodificatori 427 - demultiplexori 438 - DMUX 438 - DMUX vectorial 447 - element de menţinere a

valorii logice 84 - encoder 433 - energia fundamentală de

legătură 30 - energia, în sensul cel mai

larg:34 - ergodicitate: 38 - extensie a metodei

discriminării 551 - forme canonice 109, 110,

121, 126 - funcţii în logică multivalentă

104 - funcţii pătrate 130 - funcţie biformă pătrată 131,

290 - funcţiile XOR şi XNOR 290 - fundamentul binar al

sistemelor digitale: 49 - hazard 355

. definiţii, clasificări 355

. hazard în circuite cu adâncime uniformă 360

. metodă generală de eliminare a hazardului 374

- hazard logic . metodă de

eliminare a hazardului logic 361

- hazard funcţional . identificare hazard

funcţional 147 - hiatusul în evoluţia unui

proces: 40,41,44 - histerezis: 47 - ieşiri tri-state 353 - implementarea funcţiilor

binare cu multiplexori 546 - implementarea funcţiilor

binare cu ROM 544 - implementarea operatorilor

vectoriali de „min” şi „max” 524

- inerţie: 47 - inerţie şi rezonanţă: 47 - intrări active şi intrări pasive

ale memoriei permanente 97

- legea lui 3: 31 - legea lui 7- expresie a

energiei timpului în univers: 36

- legea lui 12: 39 - logică algoritmică 530, 532 - logică arhetipală 100 - logică binară în tehnologie

CMOS 345 - logică multivalentă 100 - logică multivalentă –

clasificare 101 - logică de transmisie 337 - logică de transmisie cu porţi

canal 340 - logică vectorială 517

INDEX 579

- margine de zgomot 84 - maşină: 80 - memoria circuitului 89 - memorie permanentă -

afişare 92 - memorie 46 - memorie permanentă 46, 90 - memoria permanentă şi

buclele de reacţie: 48 - memorie permanentă cu

acces prin nivel 93 - memorie permanentă cu

acces prin tranziţie 93 - memorie temporară 46, 90 - memorie universală: 46 - metoda discriminării 133

. principiul metodei 136 . algoritmul minimizării prin discriminare 142

. . specific şi avantaje în metoda discriminării 568

- minimizarea sistemelor decizionale hardware şi software nedeterministe 551

- minimizarea sistemelor decizionale cu neunivocităţi de speţa a I-a 557

- minimizarea sistemelor decizionale cu neunivocităţi de speţa a II-a 563

- minimizarea sistemelor decizionale cu neunivocităţi de speţa a III-a 565

- minimizarea sistemelor decizionale cu neunivocităţi de speţa a I-a, a II-a şi a II-a 567

- multiplexori 434 - MUX 434 - MUX vectorial 446 - neunivocităţi de speţa I,

II şi III 552 - neunivocităţi explicite şi

implicite 556

- noţiunea de funcţie sau relaţie, dependenţa funcţională: 59

- octava: 38 - operatorii algebrei

multivalente 106 - operatorul de maxim 106,

113 - operatorul de minim 106,

113 - operatorul de echivalenţă

106, 113 - operatori de echivalenţă. cu

mai mult de două variabile 127

- operatori derivaţi în algebra arhetipală 114

- operatorul de complementare 114

- operatorul de non-echivalenţă 115

- operatorul de minim complementat 116

- operatorul de maxim complementat 116

- operatorul vectorial „min” 517

- operatorul vectorial „max” 517

- operatorul vectorial de echivalenţă 517

- operatorul vectorial de complementare 519

- operatorul vectorial „mai mare” 521

- operatorul vectorial „mai mic” 522

- operatorul vectorial „mai mare sau egal” 523

- operatorul vectorial „mai mic sau egal” 523

- operaţii cu mulţimi 539 - optimizarea funcţiilor

digitale pentru implementare tip SLP 399

- optimizarea globală a circuitelor mixte 395

580 INDEX

- optimizare soluţii cu ieşiri multiple 153

- optimizarea sistemelor decizionale nedeterministe, folosind metoda discriminării 554

- ordine şi cauzalitate: 52 - particularizări ale

operatorilor de echivalenţă şi non-echivalenţă în Z2 275

- porţi canal 337,338 - porţi tip canal în

implementări binare şi multivalente 353

- prima formă canonică 109, 110

- principiul binarităţii: 49 - priority encoder 464 - proprietăţi duale ale

operatorilor algebrei binare 276

- redundanţă logică 145

. eliminare redundanţe logice 145

- registru de însumare algebrică 481

- relaţia energie-informaţie: 34, 35

- relaţii de adiacenţă 297 - reversibilitate: 76 - rezonanţă: 25,26, 27, 29 - rezonanţa în electronică: 27 - rezonanţa şi „perpetuum

mobile”: 27 - rezonanţa, lege

fundamentală a universului: 26

- rezonanţa, structura holografică şi adevărata autonomie funcţională: 29

- rezonanţă, reversibilitate, reglare: 76

- scăderea zecimală BCD, XS3 509

- schimbarea semnului unui număr 479

- scrierea numerelor cu semn 478

- semnul şi transferul în suma algebrică 479

- serialitate: 28, - simbolurile operatorilor

vectoriali 528 - simplificarea funcţiilor

binare 298 . metoda discriminării 133 . metoda Quine-McCluskey 301

. digrama Karnaugh 318

. metoda Karnaugh grafo-analitică 319

. alte metode analitice de simplificare: MINI, Espresso 336

- simplificarea globală a funcţiilor binare şi multivalente cu ieşire vectorială 377

- simplificarea funcţiilor multivalente 133 . prin transpoziţie

133 . prin factor comun

134 . prin completitudine

135 - sincronicitate 27, - sinteza principalelor

teoreme ale algebrei binare 294

- sistem: 56, 79 - sisteme decizional 19, 79,

80, 551, 552, 554, 557, 563, 565, 567

- sistemele de reglare şi eneagrama: 61

INDEX 581

- specificarea funcţiei prin tabelul de valori 137 . specificarea

vectorilor de intrare 137

. specificarea vectorilor de ieşire 138

. specificări opţionale integrale 139

- structuri aritmetice matriciale 495 . pentru însumarea

algebrică paralelă a mai multor numere 495

. circuit de înmulţire 495, 498

- structuri celulare combinaţionale 452

- structură şi organizare: 54 - structuri logice programabile

(SLP) 399, 400, 402,, 403, 406, 409

- structuri programabile pentru logică algoritmică 533

- submulţimi speciale 540: . mulţimea totală 540 . mulţimea vidă 540

- sumator zecimal BCD 506 - sumator zecimal XS3 508 - tabel de valori 104 - teoremele lui De Morgan:

117 . forma analitică

117 . forma grafică 119

- transport paralel în registrele de însumare algebrică 490

- transport paralel în registru de însumare multivalentă 515

- unităţi aritmetico-logice

(ALU) 510 - vectori binari adiacenţi

300 - vectori consens 145, 147 - vectori discriminaţi 142 - vectori implicanţi 301 - vectori implicanţi minimi

301, 302 - zonă de nedeterminare 84 - zonă stabilă a circuitului 87

582 INDEX

27. SUMMARY 283

Logic design of hardware and software decisional systems

SUMMARY

The work presents a more general approach of theory and practice for logical designing of the hardware and software decizional systems, with emphasis on the digital circuits, aiming an integration in a coherent and unitary context of the fundamentals of digital circuits which are structured on binary as well as multivalued codification of information, and the final part of the work offers new ways for optimization of the nondeterministic decizional systems, with direct implications in the optimization of algorithms.

Although the objective of the work mainly consists of the analysis and

synthesis of digital circuits which do not manifest memory (in another work, now in progress, the digital circuits with memory will be treated extensively), the introductive chapters present some basics aspects of the memory circuits.

The introductive part of the book shortly presents some aspects of

generality of the systems, some concepts and laws governing everything in our phenomenal world, in order to create a basis for a more general approach of digital systems – in the context of a multivalued codification of information - as well as to point out possible aspects of generality which could be revealed out of any particular solution, thus getting to a more efficient and coherent applicability – either immediately or in perspective – of some of the results,

Thus, a new light is projected over the intercorrelation between

systems, by incorporating them into the universal concepts of resonance and holographic structuring – so spatial, as temporal – which covers all that is manifested on different vibration octaves of creation, not in the physical universe only.

Such an insight reveals the idea that even a very specific result is not

really a singular one, and all results obtained in a given field have a holographic reflection to the other fields, thus optimistically concluding the idea of deeper separation from the world by a super-specialization is a wrong one, because everything is connected to the whole world, and the whole world is reflected into each part.

Following such an approach, the work points out the universality

features of the operators set of a multivalued algebra used in the book, they being regarded as a particular reflection of the universal Law of 3.

Although the digital memory systems are not specially presented in

the book, the general correlated concepts of memory – hysterezis – inertia

284 27. SUMMARY point out some fundamental aspects of the systems, as inherent presence of temporary memories in any system, and the presence of feedback loops in any system having a permanent memory.

Without a deep insight, a correlation resonance – reversibility –

control systems is presented, as an extension of the more general concepts of consonance and circularity introduced for the first time by the romanian scientist Stefan Odobleja.

Thus, a possible new structural and functional model of a control

system is shortly presented, which, at least of principle, is capable – due to the new aspect of “autonomy” – to open a deeper and more extended approach of cybernetics concepts.

Such an insight over the systems reveals – as a particular case – a

more general structuring of the automata, which will be mentioned in a more detail in another work dedicated to digital memory systems.

Turning back to the specific content of the book – after such a brief

systemic approach of the knowledge fields – there is pointed out the approach and the fundamentals of the theory and practice of logical design – of switching theory, more precisely – of multivalued hardware and software decisional systems, binary systems being referred as a particular case.

As a result, new methods of designing and minimization of hardware

and software decizional systems are presented, with an emphasis on multivalued digital circuits.

The design methodology is oriented to the optimization of decizional

systems – here referred also as “digital systems”, in general, or “digital circuits”, in case of the implementation of decizional systems – in order get implementations on programmable logic structures, although the other techniques – for a “classical” design – are not excluded, they appearing as particular cases.

From the very beginning, some aspects need a given clarification: Thus, one question appearing immediately is “why multivalence?”. It is known there are no commercial multivalued digital systems. Here

we mean multivalence as transmitting more than two information values on a wire – in the case of circuits – as well as a multivalued presentation of a function of a decizional system, in order to optimize an algorithm (in software), or to get a optimized hardware implementation of an algorithm, thus resulting a higher parallelism in information processing.

Without neglecting a possible event on the market of pure

multivalued hardware systems (having more than two signals on a wire), there must be said the multivalued approach covers some other aspects of the processing of binary information not appearing in the classical switching theory.

27. SUMMARY 285

Thus, the following systems could be synthesized by using multivalued optimization techniques of digital structures:

- binary and multivalued systems with vectorial

variables, where the multivalence is manifested in the value of a vector, having binary or multivalued components; in such a case the binary circuits having multiple outputs are included also;

- binary and multivalued circuits with a very big number

of inputs, which could be optimized by grouping the inputs in vectorial variables, getting a significant reduction of minimization time, method applicable in cases the minimization requires more than available computing resources; in such a case a compromise between optimization and computing resources is made.

In the case of binary and multivalued circuits with multiple outputs,

the optimization techniques presented in the book offer convenient solutions for programmable logic structures implementations.

Another aspect of a multivalued approach, worthy of being

considered, consists of the possibility of an efficient “hardification of software”, that is an implementation, by using a vectorial approach, of so called “algorithmic logic systems”. In such cases, the decision part of a system is directly translated and optimized in logic combinational (or sequential) function, offering a way of a hardware implementation of an algorithm with a high degree of parallelism of input-output processing, similar to those of combinational digital structures, thus getting a greater efficiency. There has to mention such implementations are of another type , in respect to known firmware implementation, where all cyclical loops of a software program are preserved.

By considering an immediate perspective of hardware reconfigurable

structures, such implementations of algorithmic logic become of real interest in a near future.

The implementation of such algorithmic logic systems implies

multivalued systems to be used, in order to reduce the great number – required by the parallelism - of circuit terminals. Such a problem could be solved, by a serial to parallel and parallel to serial information conversion on inputs and outputs, respectively, without a significant loose of the processing speed, when considering the high speed of the intrinsic structure of a circuit implementing an algorithmic logic.

The proposal and justification of a multivalued logic algebra, here

referred as “archetypal logic” algebra, allows, by means of a specific implementation of the logical operators, an unitary formal approach, as well of the binary systems, as well as of the multivalued ones, having input and output variables as binary or / and multivalued singular or vectorial entities.

The name of the chosen algebra among other multivalued algebras is

inspired by the fact – already mentioned before – the specific operators

286 27. SUMMARY could be considered as a reflection of the Law of 3, which governs all manifested aspect of the universe (the law being shortly presented in the introductive part of the book).

Coming back to multivalence, it is a fact – by applying the

optimization methods and archetypal algebra – the structure of a real multivalued circuit (having more than two values on a wire) has the pure decizional part implemented in a binary logic, excepting the inputs and, sometime, the outputs circuits, as shown in the book. Such a structuring of a circuit opens practical implementation ways of digital systems operating in a real multivalued logic.

A more comprehensive approach of the design of decizional digital

systems becomes operative by introducing a new way of minimization of the digital structures.

A new optimization method here presented in the book is named – by

considering its specific operating mode – “discrimination method”. The discrimination method, identically applicable to binary as well to

multivalued systems, operates on the value tables of the binary and multivalued digital functions with single or multiple outputs, having simple or vectorial variables, the vectors having binary or multivalued components.

By applying the method, there is obtained a class of equivalent

solutions of minimal complexity for a given value table, i.e. there is obtained a class of equivalent value tables having a minimum number of specified positions inside the table, with respect to initial table.

Such an optimization has a neutral and general aspect, being

independent of the algebra later used to transform the table in implementable logical expressions of the minimized table. Based on the logical expressions there is obtained a logical diagram of the circuit, or an optimized structure of a software algorithm.

Thus, the optimization of digital functions gives a wide range of

logical approaches and specific implementations, from the circuits to the algorithms optimization, even to their hardification.

An aspect very often met in a binary design of combinational circuits

is a temporary different behaviour of an implemented circuit, with respect to its logical function. It is so called “hazard” aspect. In the work, the “combinational hazard” is studied, in another book dedicated to sequential circuits following to be presented some specific aspects of sequential hazard and using hazardless combinational circuits in sequential structures.

In the book there are presented a method and an algorithm –

implicitly using discrimination method – applicable to logical implementations having a uniform depths, like programmable logical structures, used to point out binary or multivalued “functional hazard” (it is a type a hazard that cannot be eliminated by logical means), and a technique to eliminate either

27. SUMMARY 287

binary, or multivalued “logical hazard” (it is a type of hazard eliminable by logical means).

Moreover, there is suggested a technological solution completely

eliminating any type of hazard, let it be logical or functional, manifested by binary circuits, or by possible multivalued implementations. Such a solution is of interest in asynchronous circuit implementations, too, where a hazardous combinational circuit implied in a feedback loop could generate a remanent wrong behaviour of the sequential circuit.

The work shortly points out – into the general context of the

multivalence – some correlations with some specific aspects of the continuous logics, logics of sets and fuzzy decizional logics.

It is worthily mentioning the algorithms for logical design optimization

techniques in a binary or a multivalued logic, with simple or vectorial operators, are already implemented and available on a site for didactical purposes for undergraduated and graduated students, and for technical design. Here is mentioned the special theoretical and practical contributions of Mr. Adrian Zafiu from The University of Pitesti, who reduces the minimization process, by means of an efficient algorithm implementation, the logical design optimization of a digital function (binary or multivalued, with simple or vectorial variables, with single or multiple outputs), to introduce the value table in the program and to get the optimized results that could be used for a circuit implementation, or for an optimized software algorithm.

The program includes options for designer:

- multiple outputs treated as a vector, or individually - with or without hazard detection and elimination

- first or second canonical form of a logical function - normal outputs, or channel logic outputs The book having a didactical aspect, too, presents a series of specific

applications, some of them already classical, of the logic design, but, even in such cases, there are pointed out the new approach methods and, in many cases, more general, multivalued aspects of the functions are also treated, like:

- code converters: multiplexers, demultiplexers, decoders, encoders etc.

- arithmetic circuits - specific implementations using iterative structures or some

special cellular structures.

A chapter of the book is dedicated to binary circuits, by using a restriction to the binary case of the multivalued techniques. For the didactical reasons, there are mentioned a part of traditional optimization techniques.

One of the last chapters of the book offers a unitary presentation of

non-deterministic decizional systems optimization, by extending, with respect to known results in the field, the range of optimization solutions to the hardware and software decizional systems which are partially optimized and

288 27. SUMMARY are manifesting an implicit non-determinism. All the same, there offered more direct solutions, with respect to known approaches, for treating explicit non-univocities which are considered – when the discrimination method is applied – as supplementary multivalued output values. There are mentioned here the fruitful cooperation with Mr. Adrian Zafiu and his contributions [51].

The last chapter points out the specific features and advantages of

the discrimination method – with respect to known methods – in the field of hardware and software decizional systems minimization and optimization.

CONTENTS 589

Logic design of hardware and software decisional systems

CONTENTS

Preface 3

Contents (rom) 5 01. Introduction 19

02. Some basic concepts in digital system approach 25

02.01. Resonance and the reality of all knowledge fields

interconnection 25 02.01.01. General aspects 25 02.01.02. Resonance, seriality, sincronicity 26 02.01.02.01. Resonance – fundamental law of the universe 26 02.01.02.02. Resonance in electronics. 27 02.01.02.03. Resonance in operational systems of “perpetuum mobile”

type 27 02.01.02.04. Sincronicity 27 02.01.02.05. Seriality 28 02.01.02.06. Resonance, at highest level 28 02.02. Resonance, holographique structure and

manifestation of real functional autonomy : structural and functional aspects in manifestation 29

02.03. Fundamental connection energy, a unique

and a real access to the Source 30 02.04. The Law of 3 31 02.04.01. The Law of 3 and the polar aspect of the manifested

reality 31 02.04.02. Law of 3 at supreme level 31 02.04.03. Law of 3 and the structuring of manifested reality on 7

main levels: the concepts of conscience, matter, energy, information 32

02.05. Concept of energy and information: the relation

energy – information 34

590 CONTENTS

02.05.01. Energy, in the widest meaning 34 02.05.02. Energy, as a connection agent between function and

structure 35

02.06. Law of 7 –an expression of time energy in universe 36 02.06.01. Law of 7 36 02.06.02. Correlation of the Law of 7 and Law of 3 with the 12

Theorems of the Unique Principle 37 02.06.03. Ergodicity aspect as a special expression of the

maintaining phase of a process – soliton waves 38 02.06.04. Coming back to the Law of 7– the octave 38 02.06.05. Law of 12, a generalization of the Law of 7 39 02.06.06. Cases where the Law of 7 is applicable 40 02.06.07. A hiatus at 3/7 in the evolution of a process, when the

Law of 7 is applicable 40 02.06.08. Determining of the hiatus in a general case 41 02.06.08.01. The case of Law of 12 41 02.06.08.02. The case of Law of 8 43 02.06.08.03. The general case of 7 44 02.06.08.04. The special case of Law of 7 44 02.06.08.05. Conclusions on hiatus determination 44 02.07. Memory, inertia, hysteresis 46 02.07.01. Permanent memory, temporary memory, universal

memory 46 02.07.02. Inertia and resonance 47 02.07.03. Hysteresis 47 02.07.04. Permanent memory and feedback loops 48 02.08. Binary and polary fundamentals of digital systems 49 02.08.01. Binarity principle, as a polarity manifested in digital and

multivalued systems 49 02.08.02. The 12 Theorems of the Unique Principle 49 02.08.03. the connection between:

- the dual aspect of digital systems - the 12 THeorems of the Unique Principle - Law of 3 50

02.09. Fundamental concepts of order and causality 52 02.10. Concept of structure and ordering 54 02.11. Concept of system 56 02.11.01. System and its integrality 56 02.11.02. Real systems, virtual systems – closed systems, open

systems – dissipative systems 56 02.11.03. Self regulating systems, self learning and perfectible

systems 57 02.11.04. Information in a system: în sistem: information – entropy

relation 57 02.11.05. System as a totality – the holism 57

CONTENTS 591

02.12. The notion of function and relation – functional dependency The creative interlacing of the contraries 59

03. Resonance, Reversibility, Control

- Automata - 61 03.01. Control systems and eneagrama 61 03.02. A general structure and function concepts of

automata 69 03.03. Resonance – Reversibility – Control 76 04. Concept of a switching circuit 79 04.01. Concept of system 79 04.02. Concept of machine 80 04.03. Concept of automata 81 04.04. Concept of switching circuit 82 04.05. Non-determination zones, noise margins and the

element of the logical maintainting 84

04.06. Considering conditions of a circuit – a stable zone of the circuit 87

04.07. Concepts: combinational circuit, sequential circuit 88 05. Concept of a memory of a switching circuit 89 05.01. Memory of a circuit 89 05.02. Permanent memory, temporary memory 90 05.03. Displaying of a permanent memory 92 05.04. Permanent memory with level access, and

permanent memory with transition access 93 05.04.01. Permanent memory with level access, permanent

memory with transition access 93 05.04.02. Advantages of circuit characterization by considering the

memory access type 95 05.05. Memory circuits with active and passive inputs 97

592 CONTENTS

05.05.01. Active input terminals and passive input terminals 97 05.05.02. Circuits with passive inputs have transition access 98 06. Functions in multivalued logic

Archetypal logic: An algebra for multivalued logic circuits 100

06.01. Multivalued logic systems 100 06.01.01. Terminology 100 06.01.02. Multivalued logics – classification 101 06.02. Representing a multivalued logic function 104 06.02.01. Value table 104 06.02,02. Operators of a multivalued algebra 106 06.02.03. A representing convention of product of produals 109 06.02.04. Analytical expression of a multivalued function

- first canonical form - 109 06.03. First canonical form - a general expression 110 06.04. A multivalued logic algebra 112 06.05. Archetypal algebra:

A multivalued algebra – a reflection of a universal “Law ot 3” 113

06.06. Derivated operators in a archetypal algebra 114 06.06.01. Complementing operator 114 06.06.02. Non-equivalence operator 115 06.06.03. Complemented minimum operator 116 06.06.04. Complemented minimum operator 116 06.07. De Morgan theorems 117 06.07.01. An analytical form of De Morgan theorems 117 06.07.02. A graphical form of De Morgan theorems 119 06.08. Equivalent algebras 120 06.09. A dual analytical form of a multivalued function:

the second canonical form 121 06.09.01. The second canonical form 121 06.09.02. The second canonical form – a general expression 123 06.10. Dual properties in a multivalued logic algebra 124 06.10.01. Basics theorems of an archetypal algebra 124 06.10.02. Other properties 126 06.10.02.01. Canonical forms of equivalence and non-equivalence

Operators 126 06.10.02.02. Equivalence and non-equivalence operators with more than two variables 127

CONTENTS 593

06.11. Complementing a multivalued function 128 06.12. Square functions 130 06.12.01. Square multivalued function 130 06.12.02. Square biform function in e(xi,xj) 131 07. Discrimination method

A general method of simplifying binary and multivalued functions 133

07.01. Simplifying multivalued functions 133 07.01.01. Simplifying by transpozition 133 07.01.02. Simplifying by common factor 134 07.01.03. Simplifying by the completeness operation 135 07.02.5 Discrimination method principle 136 07.03. Specification of a function by a value table 137 07.03.01. Input vector specification 137 07.03.02. Output vector specification 138 07.03.03. Integral optional specifications 139 07.03.04. Examples of value tables 139 07.03.04.01. (ex.a): A binary value table with one output 139 07.03.04.02. (ex.b): A multivalued value table (in Z10) with one

output 139 07.03.04.03. (ex.c): A binary value table with multiple outputs

(vectorial output) 140 07.03.04.04. (ex.d): A multivalued value table (input in Z3, output

in Z5) with multiple outputs (vectorial output) 140 07.03.04.05. (ex.e): Another example of a binary value table 141 07.04. An algorithm of minimizing by discrimination: 142 07.04,01. Partitioning a value table by output values 142 07.04,02. Generating the tables of discriminant vectors 142 07.04.03. Completing, by discrimination, of discriminated value

tables 142 07.04.04. Associating to each sub-table row of a list containing

the name of all discriminated vectors capable to represent the sub-table 143 Identifying of the unique discriminated vectors and eliminating out of table of the other rows containing these vectors 144

07.04.05. Establishing, in each value group, of the preliminary solution versions, by taking a row representative out of each remaining lists 144

07.04.07. Simplifying preliminary solution versions, by maintaining one row out of many equal rows 145

07.04.08. Maintaining in each value class the solution versions with a minimum number of rows 145

594 CONTENTS

07.04.09. Eliminating out of a value group of the versions 07.04.10. repeating the other ones 145 07.04.10. A detailed presentation, at this step, of the solutions 145 07.04.11. Eliminating logic redundancies 145 07.04.12. Centralizing all minimized solution versions after

eliminating all logical redundancies 148 07.04.13. Preserving the solution versions without consensus

vectors (i.e, without hazard) out of value groups having versions with, as well as without consensus vectors

148 07.04.14. Identifying and signing all solution versions containing

functional hazard 148 07.04.15. Preserving, if there exist, the solution versions without

functional hazard, or, if there exist, just preserving the versions without hazard 148

07.04.16. Preserving in each group of the solution versions with a minimum number of rows 149

07.04.17. Eliminating the logic hazard 149 07.04.18. Presenting all complexity equivalent solution versions

for each value of the function 151 07.04.19. Dividing solutions in canonical form class and channel

class 152 07.04.20. Establishing the global versions of the function, taking

a solution out of each value group 153 07.04.21. - Selecting all minimum versions of the global output,

together with a table containing all different minimum vectors; - Generating a table containing all different equivalent operations (in a multivalued case), or all different direct or complemented variables (in a binary case) contained by all implicant vectors 153

07.04.22 Optimizing the solutions with multiple outputs separately treated, by eliminating the vectors which could be generated by combining the vectors of others value groups 154

07.05. Step by step exemplification of the minimization process by discrimination 155

07.06. Analytical expressions of the minimized functions 248 07.07. Logic diagrams of the minimized functions 264 08. Binary algebra

A particular case of a archetypal multivalued algebra 275

08.01. Specificity in Z2 = {0,1} of equivalence and

non-equivalence operators 275

CONTENTS 595

08.02. Dual properties of binary algebra operators 276 08.03. Equivalent algebras in Z2 279 08.04. Canonical forms in Z2 280 08.05. Binary function implementations using NAND or

NOR operators 282 08.05.01. Analytical implementation 282 08.05.02. Graphical implementation 282 08.06. Other properties in Z2 285 08.06.01. Semi-absorption 285 08.06.02. Biform square functions 286 08.06.03. Consens and dual consens 289 08.06.04. Equivalence operator (XNOR function – „exclusive

NOR” – „equivalence” function) and non-equivalence (XOR function – „exclusive OR” – “non-equivalence” function „non-equivalence”), as special cases of a biform square function 290

08.06.05. Adjacency relations 293 08.06.06. An overview of the main theorems of the binary algebra 294 08.07. Binary function simplification 298 08.07.01. Logic function optimization, as a necessity in the

context of the greater on chip density of digital integrated circuits 298

08.07.01.01. Optimization and simplification 298 08.07.01.02. Necessity of digital function simplification 298 08.07.02. Simplification methods of binary functions. An

introductive presentation 299 08.07.03. Adjacency and adjacent binary vectors 300 08.07.04. Adjacency simplification of the first and the second

canonical forms. The principle 300 08.07.05. The Quine–McCluskey method 301 08.07.05.01. Method presentation 301 08.07.05.02. An application of the Quine-McCluskey method:

The application steps of the method 302 08.07.05.03. An application of the discrimination method to the

problem of cap. 08.07.05.02. 314 08.07.06. A graphical adjacency method of single output binary

functions : Karnaugh map 318 08.07.06.01. A graphical Karnaugh method 319 08.07.06.01-a. Single input variable Karnaugh maps 322 08.07.06.01-b. Two input variables Karnaugh maps 323 08.07.06.01-c. Three input variables Karnaugh maps 325 08.07.06.01-d. Four input variables Karnaugh maps 326 08.07.06.02. A grapho-analytical Karnaugh method

(a simplification method using Karnaugh maps with less input variables than the function has) 329

08.07.07. Another analytical minimization methods 336

596 CONTENTS

09. Transmission logic (“channel” type logic, or “steering” logic) 337

09.01. Definitions, symbols, conventions 337 09.02. Some few types of channel gates 338 09.03. Transmission logic with channel gates 340 09.04. Binary logic in a CMOS technology 345 09.05. Examples of channel implementations of binary

functions 347 09.05.01. NAND(x,y) function 347 09.05.02. AND(x,y) function 347 09.05.03. NOR(x,y) function 349 09.05.04. OR(x,y) function 349 09.05.05. An arbitrary function 351 09.05.06. MUX / DMUX circuits, using bidirectional gates 352 09.05.07. Channel implementations of binary and multivalued

functions 353 09.05.08. Tri-state outputs 353 10. Combinational hazard

An atypical behaviour of combinational circuit implementations 355

10.01. Hazard - definitions, classifications:

a) – combinational hazard, sequential hazard b) – static combinational hazard, dynamic combinational hazard c) – logic combinational hazard and functional combinational hazard 355

10.02. Hazard in circuits with uniform input-output depth (the case of programmable logic structures) 360

10.03. Method and algorithm of eliminating the logic

hazard 361 10.04. Examples of static logic hazard elimination 364 10.04.01. A function with a logic hazard in a value group and a

functional hazard in another group 364 10.04.01.01. Steps of identifying and eliminating the hazard 364 10.04.01.02. Analysis of resulted solutions and the selection of a final

solution 369 10.04.02. A function having functional hazard in some of the

solution versions of a value group (a multivalued example) 371

10.05. A general method of hazard elimination 374

CONTENTS 597

10.05.01. Principle of the method 374 10.05.02. A structure of a function global output in an

implementation with channel gates on outputs 375 11. A global simplification of binary and

multivalued functions having a vectorial output Multiple output circuits 377

11.01. A digital circuit – a general concept 377 11.02. A structural circuit organization of a mixt logic

digital circuit 379 11.03. Structural and functional compatibility conditions

of mixt digital circuits 384 11.04. Specific aspects of a mixt digital circuit

implementation 385 11.05. A general structure of a mixt digital circuit having

multiple outputs 391 11.06. Global structure optimization of mixt digital circuits

with multiple outputs, by using the discrimination method A vectorial approach of a circuit multiple output 395

11.06.01. A global optimization principle 395 11.06.02. Analytical expressions of a function 396 11.06.03. An implementation procedure 398 12. Digital function optimization for

programmable logical structure (PLS) implementation 399

12.01. Selecting a canonical form 399 12.02. Function output processing according to a selected

canonical form structured in a PLS 400 12.03. Function adapting for a PLS type, by using the

output complementation 402 12.04. Function adapting for a PLS type, by using the

logic processing of the outputs 403 12.05. PLS implementations channel gates on outputs 406

598 CONTENTS

13. Logic design of transcoding circuits PLS implementations. Examples 409

13.01. Terminology. Classifications 409 13.02. Decimal code converters 411 13.02.01. Decimal code converter: 10(Z5) → 10(Z2-BCD) 411 13.02.02. Decimal code converter: 10(Z2-BCD) → 10(Z5) 415 13.02.03. Decimal code converter: 10(Z10) → 10(Z2-BCD) 420 13.02.04. Decimal code converter: 10(Z2-BCD) →10(Z10) 422 13.02.05. Decimal code converter: 10(Z2 (1 activ)) →10(Z2-BCD) 424 13.02.06. Decimal code converter: 10(Z2-BCD) → 10(Z2(1 activ)) 426 13.03. Decoders 427 13.03.01. Decoder (DEC) – Presentation 427 13.03.02. Example: „BCD to 7 segments” decoder: 10(Z2(BCD) → 10(Z2(7 segments)) 428 13.03.03. Multivalued decoder 429 13.03.03.01. Example: Decoder 2:32: 9(Z3) → 9(Z2) 430 13.04. Encoders (ENC) 433 14. Selection circuits:

multiplexers, demultiplexers 434 14.01. Multiplexers 434 14.01.01. A general structure of a multiplexer 434 14.01.02. A pyramidal structure of a multiplexer 437 14.02. Demultiplexers 438 14.02.01. A general structure of a demultiplexers 438 14.02.02. A pyramidal structure of a demultiplexers 441 14.03. MUX / DMUX circuits 442 14.03.01. Bidirectional selection circuits 442 14.03.02. MUX / DMUX bidirectional circuits, with a selectable

function 443 14.04. Vectorial selection circuits 446 14.04.01. A vectorial MUX circuit 446 14.04.02. A vectorial DMUX circuit 447 14.04.03. A vectorial MUX / DMUX circuit 448 14.04.04. An addressing circuit for a RAM or a PROM memory 449 15. Combinational cellular structures:

Iterative combinational circuits 452

15.01. Generalities 452

CONTENTS 599

15.02. A digital comparator 453 15.02.01. A digital comparator of a two numbers of one digit each 453 15.02.02. A symbolizing convention of operators having single or

vectorial variables 457 15.02.03. A multivalued digital comparator of a two numbers

represented in N base (in ZN) 459 15.02.04. A structure-functional symbol and a graphic symbol for a

multivalued – single or vectorial – digital comparator 462 15.03. Priority encoder 464 15.04. Incrementing and decrementing circuits 466 15.05. Shift combinational circuits 469 15.06. Sum circuits 472 15.06.01. Sum of a two binary numbers 472 15.06.02. Difference of a two binary numbers 474 15.07. Parity circuits 477 16. Arithmetic circuits 478 16.01. Arithmetic sum circuits 478 16.01.01. Signed number writing 478 16.01.02. Changing the sign of a number 479 16.01.03. Sign and carry in an algebraic sum of a two signed

numbers 479 16.01.04. Structure of an algebraic circuit summing a two signed

numbers 480 16.01.05. A cell and a register of algebraic sum 481 16.02. Parallel carry in algebraic sum registers 490 16.03 Matrix arithmetic structures 495 16.03.01. A matrix structure implementing a parallel algebraic

sum of many numbers 495 16.03.02. A matrix structure of a multiplying circuit 495 16.03.02.01. Multiplying of a two binary unsigned numbers 495 16.03.02.02. Multiplying of a two signed binary numbers 498 16.04. Series-parallel structured arithmetic circuits 499 16.04.01. A series-parallel sum circuit 499 16.04.02. A serial multiplying circuit of a two numbers 499 16.04.03. Efficient multiplying algorithms 501 16.04.03.01. Booth algorithm 501 16.04.03.02. A modified Booth algorithm 502 16.04.04. Dividing circuits 503 16.05. Decimal arithmetic circuits 506

600 CONTENTS

16.05.01. A BCD decimal sum circuit 506 16.05.02. An XS3 decimal sum circuit 508 16.05.03. BCD and XS3 decimal difference 509 16.06. ALU – Arithmetic and Logic Unit 510

16.07. Multivalued arithmetic 512 16.07.01. A multivalued sum cell 512 16.07.02. A parallel carry in a multivalued parallel sum register 515

17. A vectorial logic A vectorial archetypal algebra and operators implementation in a direct logic or in a channel logic 517

17.01. Algebra presentation 517 17.02. Secondary operators:

Vectorial complementing operator 519 17.03. Auxiliary vectorial operators:

Vectorial discriminating operators 521 17.03.01. “ greater than” vectorial operator 521 17.03.02. “less than” vectorial operator 522 17.03.03. “greater than or equal” and “less than or equal”

vectorial operators 523

17.04. “min” and “max” operator implementation by means of a discriminating operator 524

17.05. Functional and graphic symbols of the main and

the secondary operators in a vectorial archetypal algebra - a centralized presentation - 528

18. Algorithmic logic 530 18.01. Algorithmic logic, algorithmic automata,

software hardification - preliminaries – 530 18.02. Algorithmic logic 532 18.03. Programmable structures for algorithmic logic 533 18.04. Value table adaptation to operate with complex

decisional elements 535

CONTENTS 601

19. Boolean algebra and binary and multivalued algebras 536

19.01. Boolean algebra 536 19.02. Boolean algebra and binary and multivalued

algebras 538 20. A vectorial algebra of the sets 539 20.01. Operations with sets 539 20.02. Special subsets:

total set and empty set 540 20.03. A characteristic vector of a subset 541 20.04. A vectorial algebra of the sets 542 21. Continuous logic – Fuzzy logic –

Vectorial logic - correlations - 543 22. Other implementations of the binary

functions 544 22.01. Implementations with ROM circuits 544 22.02. Implementations with multiplexers 546 23. Minimization of non-deterministic

hardware and software decisional systems (an extension of the discrimination method) 551 23.01. Preliminaries 551 23.02. Non-univocities of I, II and III species 552 23.03. Non- deterministic decisional systems optimization,

by using the discrimination method 554 23.04. Explicit and implicit non- univocities 556 23.05. Minimization of decisional systems having non-

univocities of a I-species:

602 CONTENTS

A – the minimization itself B – hazard elimination 557

23.06. Minimization of decisional systems having non-

univocities of a II-species 563 23.07. Minimization of decisional systems having non-

univocities of a III-species 565

Minimization of decisional systems having non- univocities of I, II and III species 567

24. Specificity and advantages of the

discrimination method 568 25. References 571 26. Index 577 27. Summary 583 28. Contents 589 29. Appendix 603 29.1 DISCRIMINATION A New Principle and Method for

an Efficient Minimization of Binary and Multivalued Functions 604

29.2 New Technical Aspects in Identifying and

Eliminating of Logic and Essential Hazards of the Combinational Networks 613

29.3 Minimization aspects of hardware and software

decisional systems - an extension of the discrimination method - 621

29. APPENDIX - INTRODUCERE 603

29. APPENDIX

29.1 APPENDUX 1:

DISCRIMINATION A New Principle and Method for an Efficient Minimization of Binary and Multivalued Functions

ŞTEFĂNESCU Ion , University of Piteşti, Piteşti, România [email protected]

ECAI 2005 International Conference / First Edition, Electronics, Computers and Artificial Intelligence 1-2 July 2005, Piteşti, ROMÂNIA

29.2 APPENDIX 2: New Technical Aspects in Identifying and Eliminating of Logic and Essential Hazards of the Combinational Networks

ŞTEFĂNESCU Ion, University of Piteşti, Piteşti, România [email protected] ECAI 2005 International Conference / First Edition, Electronics, Computers and Artificial Intelligence 1-2 July 2005, Piteşti, ROMÂNIA

29.3 APPENDIX 3:

Minimization aspects of hardware and software decisional systems - an extension of the discrimination method -

Adrian ZAFIU, Ion ŞTEFĂNESCU, University of Piteşti, Electronics, Comunications and Computer Departament, Str. Târgul din Vale, Nr. 1, Piteşti, Argeş, 110040, Romania [email protected], [email protected] ECAI 2005 International Conference / First Edition, Electronics, Computers and Artificial Intelligence 1-2 July 2005, Piteşti, ROMÂNIA

ECAI 2005 International Conference / First Edition Electronics, Computers and Artificial Intelligence 604 1-2 July 2005, Piteşti, ROMÂNIA

DISCRIMINATION

A New Principle and Method for an Efficient Minimization of Binary and Multivalued Functions

ŞTEFĂNESCU Ion University of Piteşti

Piteşti, România [email protected]

Keywords: logic circuits, binary and multivalued circuits, minimization, discrimination method

Abstract. Lucrarea prezintă o nouă metodă de minimizare aplicabilă directă atât funcţiilor binare, cât şi celor multivalente, având variabile simple sau vectori cu componente simple sau vectoriale, având ieşiri singulare sau multiple. Metoda permite, prin minimizarea directă a sistemelor multivalente, o cale de optimizare şi a sistemelor decizionale software, oferind perspectiva implementări în hardware a softwarelui care ar permiet viteze mai mari in prelucrarea informaţiei..

Abstract. The work presents a new minimization technique applicable to binary, as well to multivalued functions, having simple or vector binary or multivalued variables, with single or multiple outputs. The method allows, by a direct approach of multivalence, an optimization of hardware, as well as software decisional systems, offering a perspective to hardware implementations of software, thus enabling a greater speed in information processing.

INTRODUCTION

The paper presents a minimization method of binary and multivalued digital functions, based on a principle – referred here as “discrimination principle” or “discrimination method” - , new, in respect to the other methods in the domain.

The known methods, classic or modern, precise or heuristic, like Quine-McCluskey, Karnaugh ([11], [12], [13], [14]) , Espresso (I, II, MV), SIS, MVSIS ([1], [2], [3], [4], [5], [6)] are essentially binary and applicable to single output – or reducible to single outputs – functions, and multivalued functions are binary codified before minimization, in

ECAI 2005 International Conference / First Edition Electronics, Computers and Artificial Intelligence

1-2 July 2005, Piteşti, ROMÂNIA 605

order to express them in functions with multiple binary output which are separately treated.

The discrimination method is “naturally” multivalued and

applicable either to binary, or multivalued functions, having singular or multiple outputs, with single or vectorial input or output variables. Thus, the method – having a complexity equivalent to the other methods - becomes of interest in the general area of optimization of hardware or software decizional systems, thus enabling an optimization of the algorithms, which are essentially multivalued functions.

The functions to be minimized are expressed as value tables representing the correspondence between input and output states.

The discrimination principle and method is directly applicable to deterministic completely or incompletely specified value tables, but could be extended to nondeterministic tables, as shown in another paper [9], offering a larger field of applications in respect to other approaches [7].

As an application example of the discrimination method is a proposal [10] for a practical multivalued system which could be used in vectorial data sorting and even to a more extended field of cases.

1. FUNCTION REPRESENTATION

BY A VALUE TABLE

A binary or a multivalued function is represented in a table of correspondence between input an output values.

The input-output correspondence is suppose to be a univoc one and will be checked before entering the discrimination procedure of minimization. Nevertheless, some value tables may appear nondeterministic, because the function they represent is restricted to a subset of input states. Such a case is separately treated in another paper, because they use an extension of the discrimination method applicable to deterministic, as well to nondeterministic decisional systems.

There are given, as an example, in order to illustrate the method, the following value tables:

A – A binary function of six binary variables x1, x2, x3, x4, x5, x6/F, where

ECAI 2005 International Conference / First Edition Electronics, Computers and Artificial Intelligence 606 1-2 July 2005, Piteşti, ROMÂNIA

x1,x2, ... ,x6,F ∈ Z2 = {0,1} 1: _,1,1,_,_,1/1 14: _,_,0,1,_,1/1 2: _,1,0,1,_,1/1 15: _,1,_,1,1,_/1 3: _,1,_,1,1,_/1 16: 1,_,0,1,_,_/1 4: 1,1,_,_,_,0/1 17: 0,_,_,1,_,_/1 5: 1,1,0,_,_,_/1 18: 1,1,_,1,_,_/1 6: 0,1,_,1,_,_/1 19: _,1,_,1,1,0/1 7: 1,1,_,_,_,_/1 20: 1,_,0,_,_,0/1 8: _,_,0,1,_,1/1 21: 0,_,_,1,_,0/1 9: _,1,0,1,1,_/1 22: 0,0,_,0,_,_/0 10: 1,_,0,_,_,_/1 23: 0,_,0,0,_,_/0 11: 0,_,0,1,_,_/1 24: 0,_,_,0,_,0/0 12: 1,1,0,_,_,_/1 25 1,0,1,_,_,_,0 13: _,1,1,1,_,1/1

Note: In a value table, an unspecified position of an input variable in a given row is marked by “_“, as well as a position of an output variable which could take any value in that row and position. B – A multivalued function of three variables x,y,z/F, where x,y,z,F ∈ Z10 = {0,1, ... ,9}

1: 3,5,7/9 5: 1,3,1/0 2: 1,7,2/7 6: 5,7,3/0 3: 2,1,4/3 7: 5,7,2/7 4: 4,2,2/0 8: in rest/-

C – A multivalued function of three multivalued

variables D,C,B ∈ Z3 = {0,1,2} and two multivalued outputs a,b ∈ Z5 = {0,1,2,3,4}, representing a code converter „decimal Z3 → decimal Z5”

0 0,0,0/0,0 5 0,1,2/1,0 1 0,0,1/0,1 6 0,2,0/1,1 2 0,0,2/0,2 7 0,2,1/1,2 3 0,1,0/0,3 8 0,2,2/1,3 4 0,1,1/0,4 9 1,0,0/1,4

ECAI 2005 International Conference / First Edition Electronics, Computers and Artificial Intelligence

1-2 July 2005, Piteşti, ROMÂNIA 607

2. THE PRINCIPLE OF

MINIMIZATION BY DISCRIMINATION

Minimization is applicable here directly on the primary expression of a digital function, which is the value table. Consequently, the simplified analytical forms of the function are in a univoc manner obtained out of the minimized value table, by using any appropriate algebra.

According to this approach, the process of minimization consists of reducing the number of specified positions in a table row and reducing the number of rows, taking care the function preserve its integrity.

Te principle of minimization by discrimination is a very simple

one and consists of retaining in each row of the value table the minimum number of specified positions, which assure the selected row is distinct (is discriminated) from all the rows corresponding to the other values of the function.

From the beginning, the following aspects of the discrimination

method could be pointed out: - binary and multivalued variable are treated in the same way; - multiple output functions could be directly minimized, by considering their outputs as a vector, hence as a unique multivalued variable; - the previous feature does not exclude a minimization of a multiple output function, by separately treating each of its output variable as a separate function, like in all classical methods; - discrimination is applied to the specified values of the analyzed output; so called “don’t cares” are not analyzed, as they are in all known minimization techniques, and this is the main difference between classic method and the discrimination method, conferring such a flexibility and applicability; - the above notice opens the possibility to apply the discrimination method also to minimization and optimization of software decisional systems, which could be naturally presented as multivalued tables, having simple or vectorial binary or multivalued variables; - by applying such a minimization technique to software decisional systems, treating them as value tables and obtaining logical expressions of their functions, by using a given appropriate algebra,

ECAI 2005 International Conference / First Edition Electronics, Computers and Artificial Intelligence 608 1-2 July 2005, Piteşti, ROMÂNIA

there exists the possibility to get a hardware version of a algorithm (“software hardification”), when the logical operators of the selected algebra could be implemented; - input and output variables (either binary, or multivalued) could be simple variables, or vectors, or vectors of vectors, having binary or multivalued components;

3. THE DISCRIMINATION

METHOD

The main steps of a minimization by discrimination could be resumed as follows:

a – basic discrimination (main steps): a1 - splitting the value table in subtables organized on output values; a2 - obtaining the discriminating subtables, by discriminating each vector (each row) of a subtable in respect to all vectors belonging to other subtables, and replacing each original vector by a class containing all different discriminated vectors belonging to the subtable and could represent the original vector; a2 - identification of vectors uniquely representing a row and eliminating out of subtable all other rows containing these unique vectors; a3 - forming all solution variants of a given function value, by taking all combinations of vectors, each of them representing a different subtable row, and eliminating from each solution those vectors covered by others (i.e. eliminating vectors whose components contain all other’s vector components);

The results of step a, applied on previous examples of value table are as follows:

- ex. A:

grup 0: v1: 0,0,_,0,_,_/0 v2: 0,_,0,0,_,_/0 v3: 0,_,_,0,_,0/0 v4: 1,0,1,_,_,_/0

grup 1: v5: _,1,1,_,_,1/1 v6: _,1,_,1,_,_/1 v7: 1,1,_,_,_,_/1 v8: 0,_,_,1,_,_/1 v9: _,_,0,1,_,_/1 v10: 1,_,0,_,_,_/1

ECAI 2005 International Conference / First Edition Electronics, Computers and Artificial Intelligence

1-2 July 2005, Piteşti, ROMÂNIA 609

- ex.B: grup 01: v1: (4,_,_/0) v2: (_,3,_/0) v3: (_,_,3/0) grup 02: v1: (4,_,_/0) v3: (_,_,3/0) v4: (_,_,1/0) grup 03: v2: (_,3,_/0) v3: (_,_,3/0) v5: (_,2,_/0)

grup 04: v3: (_,_,3/0) v4: (_,_,1/0) v5: (_,2,_/0) grup 31: v6: (2,_,_/3) grup 32: v7: (_,1,_/3) grup 33: v8: (_,_,4/3) grup 7: v9: (_,7,2/7) grup 93: v15: (_,_,7/9)

- ex. C: - – varianta cu ieşire vectorială (unică):

grup (0,0): v1: 0,0,0/0,0

grup (0,1):

v2: 0,0,1/0,1 grup (0,2):

v3: _,0,2/0,2 grup (0,3):

v4: _,1,0/0,3 grup (0,4):

v5: _,1,1/0,4

grup (1,0): v6: _,1,2/1,0

grup (1,1):

v7: _,2,0/1,1 grup (1,2):

v8: _,2,1/1,2 grup (1,3):

v9: _,2,2/1,3 grup (1,4):

v10: 1,_,_/1,4

a) varianta cu ieşiri multiple, tratate separat:

- ieşirea „a”: grup 0 (a): v1: (0,0,_/0) v2: (_,1,0/0) v3: (_,1,1/0)

grup 1 (a): v4: (_,1,2/1) v5: (_,2,_/1) v6: (1,_,_/1)

- ieşirea „b”:

grup 0 (b): v1: (0,0,0/0) v2: (_,1,2/0)

grup 1 (b): v3: (_,0,1/1) v4: (_,2,0/1

grup 2 (b): v5: (_,0,2/2) v6: (_,2,1/2)

grup 3 (b):

v7: (_,1,0/3) v8: (_,2,2/3)

grup 4 (b):

v9: (_,1,1/4) v10: (1,_,_/4)

ECAI 2005 International Conference / First Edition Electronics, Computers and Artificial Intelligence 610 1-2 July 2005, Piteşti, ROMÂNIA

b - eliminating logical redundancies

This step produces an even more simplification of solutions obtained in step a, by eliminating the vectors representing logical redundancies infiltrated in solution from the very beginning in some of the original value tables which contain unspecified positions.

In the context of the present work, a logical redundant vector

represent the invariant of a transition between two vectors belonging to the same subtable. For example, the following two vectors : v1: (A,C,_,E) v2: (B,_,D,E), where A and B, on one hand, and C and D, on the other hand, are subvectors having no position with equal components, have an invariant vector (v1,v2), named also here “local consens” (in order to differentiate it from the term “consens”, used in binary logic to designate a global consens, that is the set of all local consenses): (v1,v2): (•,C,D,E), where the star (*) stands for unspecified positions replacing the positions of vectors A (or B).

Identifying redundant vectors in a subtable consists of determining all possible invariants that could be produced out of the subtable, and retaining those of them belonging to subtable, and then verifying if their positions marked by star have specified components among the vectors of other subtables. In case of a negative answer, they are redundant vectors of the considered subtable and are eliminating, thus simplifying the solution.

By analyzing the solutions of given examples, there results the only solution with redundant vectors is group 1 of example A, where the invariant vector (v7,v8) belongs to the subtable, as vector v6, thus vector v6 is eliminated from the table, obtaining the minimal solution: grup 1: v5: _,1,1,_,_,1/1 v7: 1,1,_,_,_,_/1 v8: 0,_,_,1,_,_/1 v9: _,_,0,1,_,_/1 v10: 1,_,0,_,_,_/1 All the other solutions have no logical redundancies, so they are minimum.

ECAI 2005 International Conference / First Edition Electronics, Computers and Artificial Intelligence

1-2 July 2005, Piteşti, ROMÂNIA 611

c - eliminating logical hazard

The aspect, of interest in some of hardware implementations, is separately presented in a separate paper [8]. d - global optimization of solutions of a multiple output function, in case the outputs are separately minimized

The problem consists of finding common vectors (already minimized, as shown before) among solutions belonging to different outputs, so that the total number used in a global solution is minimum. The problem has different solutions in binary cases, but they could be applied as well in a multivalued one, so the aspect is not presented here.

CONCLUSIONS The discrimination method of minimization is applicable in the

same manner to binary or to multivalued functions, having single or multiple outputs. Any variable could have a single component, or a vector. The components could be of a binary or a multivalued type.

The method allows treating the multiple outputs (binary or multivalued, single or vectors), either as separate outputs, or as single complex vectorial function, as presented before in example B.

The large area of applications of the method opens the possibility of software optimization and, using an appropriate algebra, by expressing the algorithm in an analytical, together with a given implementation of logical operators, offers a way to so called “software hardification”, which cold be an efficient way in increasing the speed of information processing.

REFERENCES

[1] R. Brayton, G. Hatchel, C. McMullen, and A. Sangivanni-Vincentelli, Logic Minimization Algorithms for VLSI Synthesis, Kluwer Academic Publishers, 1984.

[2] R. Rudell, A. Sangiovanni-Vincentelli, Espresso-MV: Algorithms for Multiple-Valued Logic Minimization, Proc. Intl. Circ. Conf., Portland, May 1985.

ECAI 2005 International Conference / First Edition Electronics, Computers and Artificial Intelligence 612 1-2 July 2005, Piteşti, ROMÂNIA

[3] R. Rudell, A. Sangiovanni-Vincentelli, Exact Minimization of Multiple-Valued Functions for PLA Optimization, Intl. Conf. On Comp. Aided Design, Santa Clara, November 1986.

[4] *** Input file format for Espresso (PLA)- espresso (5). [5] Alan Mishchenko and Robert K. Brayton, Boolean Paradigm

in Multi-Valued Logic Synthesis, In the Notes of the International Workshop on Logic Synthesis, New Orleans, June 2002.

[6] M. Gao, J-H. Jiang, Y. Jiang, Y. Li, A. Mishchenko, S. Sinha,

T. Villa and R. Brayton, Optimization of Multi-Valued Multi-Level Networks, In the Proceedings of the International Symposium on multiple-Valued Logic, 2002.

[7] Alan Mishchenko and Robert Brayton, A Theory of Non-Deterministic Networks, Accepted to IEEE TCAD, 2005.

[8] Ion Ştefănescu, New Technical Aspects in Identifying and Eliminating of Logic and Essential Hazards of the Combinational Networks, 1st International Conference on Electronics, Computers and Artificial Intelligence – ECAI 2005 – University of Piteşti, Romania, 1-2 July 2005.

[9] Adrian Zafiu, Ion Ştefănescu, Minimization aspects of the hardware and Software Systems – An Extension of the Discrimination Method, 1st International Conference on Electronics, Computers and Artificial Intelligence – ECAI 2005 – University of Piteşti, Romania, 1-2 July 2005.

[10] Adrian Zafiu, Laurenţiu Ionescu, Ion Ştefănescu, Using of Discrimination Method for Optimizing of an Algorithm for Computing the Maximum and the Minimum of Two Numbers Code don Four Bits Eatch, 1st International Conference on Electronics, Computers and Artificial Intelligence – ECAI 2005 – University of Piteşti, Romania, 1-2 July 2005.

[11] ARTHUR D. FRIEDMAN, Fundamentals of Logic Design and Switching Theory, Computer Science Press, Inc., U.S.A., 1986.

[12] EDWARD J. MCCLUSKEY, Logic Design Principles with Emphasis on Testable Semicustom Circuits, Prentice/Hall, N.J., USA, 1986.

[13] RANDY H. KATZ, Contemporary Logic Design, The Benjamin/Cummings Publishing Company, Inc., USA, 1994.

[14] JOHN F. WAKERLY, Circuite digitale / Principiile şi practicile folosite în proiectare, Teora, România, 2002.

ECAI 2005 International Conference / First Edition Electronics, Computers and Artificial Intelligence

1-2 July 2005, Piteşti, ROMÂNIA 613

New Technical Aspects in Identifying and Eliminating of Logic and Essential Hazards

of the Combinational Networks

ŞTEFĂNESCU Ion University of Piteşti

Piteşti, România [email protected]

Keywords: logic circuits, binary and multivalued circuits, logic and functional hazard, minimization, discrimination method

Abstract. Lucrarea prezintă o metodă analitică originală pentru identificarea în circuitele combinaţionale cu adâncime uniformă intrare-ieşire(cazul implementărilor pe structuri logice programabile) a hazardului logic şi funcţional şi pentru eliminarea hazardului logic. Metoda se aplică direct funcţiilor binare sau multivalente reprezentate prin tabel de valori. Se evidenţiază necesitatea analizării tuturor variantelor funcţieiminimizate în prealabil, în vederea unei soluţionări optime a problemei hazardului.

În final se sugerează o soluţie tehnologică care ar putea soluţiona radical problema hazardului în structuri binare sau multivalente.

Abstract. The work presents a new analytical method for identifying and eliminating the logical hazards and for identifying the functional hazard. The method is applicable both to binary and multivalued combinational functions having an input-output uniform depth (the case of implementations on programmable logic structures.

There is pointed out the necessity to analyze all variants of a minimized function to get a convenient approach to hazard problems. Finally, there is suggested a technological solution which could offer a radical solving of hazard problems.

INTRODUCTION

The paper presents a method of eliminating logical hazard and

identifying functional hazard in a uniform depth combinational circuits (any signal input get an output by crossing the same number of gates, as there are the circuits implemented on programmable structures of gates).

ECAI 2005 International Conference / First Edition Electronics, Computers and Artificial Intelligence

614 1-2 July 2005, Piteşti, ROMÂNIA

Finally, there is suggested a technological solution to eliminate

any kind of hazard, let it be logic or even functional, knowing there is no logical way to eliminate the functional hazard.

The classification of hazard is similar to classical concepts on the subject, as given in some of fundamental works in the field [3], [4], [5], [6], [7].

As another aspect, the identifying of hazard is a tool to simplify a network, where the hazard phenomenon is functionally irrelevant [1], [2]. Such an aspect is incorporated in minimization techniques of binary and multivalued decisional systems, by using the discrimination method [8]

1. LOGIC AND FUNCTIONAL

HAZARD IN OMBINATIONAL CIRCUITS The function of a combinational circuit could be represented by a value table, that is a univoc correspondence between value combinations of input variables and output variables.

From the logical point of view (in a stationary state of the circuit), each input variable has the same value in any table row (combination), but, during the transition of the circuit, due to inertial delays, it is possible a variable has different values in two different rows. Such an aspect is manifested, for example, when a variable changing between starting and final transitions rows take its new value in the starting row, but – due to delays in circuits – for a while the final row maintains the old value of the variable, because a circuit transition could be seen as a transition between two table rows: a starting row corresponding to stable circuit state before transition and a final one corresponding to stable circuit state after transition. As a result, the output of the circuit may temporarily assume unexpected values, in respect to stationary state, and such a phenomenon is named “hazard”.

In case such a temporary state manifests multiple changes between starting and final steady states, the hazard is called “dynamic hazard”, otherwise it is called “static hazard”.

In a circuit having a uniform depth, we are dealing with static hazard only, because the two concurrent processes (the exit from the initial transition state and the entering the final transition state) are crossing the same number of gates (from the input to the output of the circuit).

ECAI 2005 International Conference / First Edition Electronics, Computers and Artificial Intelligence

1-2 July 2005, Piteşti, ROMÂNIA 615

Therefore, in uniform depth circuits could appear the static

hazard only, and the initial and final states correspond to the sane output value (because, if they are different, then any hazard implies multiple changes). This is the case the work is dealing with.

In case between initial and final states of a transition the

changing variable could assume intermediate input states equal to stable states belonging to other values, the hazard is named “functional hazard”, otherwise is named “logic hazard”.

2. IDENTIFYING FUNCTIONAL HAZARD AND

ELIMINATING LOGIC HAZARD The hazard could appear between any two rows of having the

same output value, if they have at least one variable having different specified values in these rows.

Thus, such a pair of vectors (of table rows), for example: v1: (A,C,_,E) v2: (B,_,D,E), where A and B, on one hand, and C and D, on the other hand, are subvectors having no position with equal components, have an invariant vector (v1,v2), named also here “local consens” (in order to differentiate it from the term “consens”, used in binary logic to designate a global consens, that is the set of all local consenses): (v1,v2): (•,C,D,E), where the star (*) stands for unspecified positions replacing the positions of vectors A (or B).

Identifying possible hazard consists of: a) - partitioning value table in subtables on

output values; b) - determining all invariant vectors in each subtable; c) - verifying if their positions marked by star have specified

components among the vectors of other subtables; d) - in case step c) has a negative answer, the hazard is of a logical

type and could be eliminated by adding the invariant vector to the subtable;

e) – the modified subtable resulted from step d) is minimized again;

f) – repeat steps b) to e) until no invariant vector of logical type is produced;

ECAI 2005 International Conference / First Edition Electronics, Computers and Artificial Intelligence

616 1-2 July 2005, Piteşti, ROMÂNIA

g) – in case step c) has a positive answer, the hazard is of

functional type and its manifestation cannot be logically covered, as in the previous case, by adding invariant vectors to the subtable. In such a case, a technological solution will be presented.

3. EXAMPLES

3.1 A binary function having functional hazard in a canonical form and only logical hazard in the other form A function is given by the following value table: 0,0,0,0,-,-/0 0,0,1,0,-,-/0 0,-,-,1,-,-/1 -,-,0,1,-,1/1 0,1,0,0,-,-/0 -,1,-,1,1,-/1 -,1,1,-,-,1/1 -,1,1,1,-,1/1

1,-,0,-,-,-/1 1,-,0,1,-,0/1 1,0,1,-,-,-/0 1,1,-,-,-,0/1 1,1,-,-,-,-/1 1,1,0,-,-,-/1 1,1,-,1,-,-/1

The minimized solutions of the function, by applying the discrimination method, are: - group 01: r1: (0,0,-,0,-,-) r2: (0,-,0,0,-,-) r3: (1,0,1,-,-,-) - group 02: r4: (0,-,0,0,-,-) r5: (-,0,1,0,-,-) r6: (1,0,1,-,-,-)

- group 1: r7: (-,1,1,-,-,-) r9: (1,-,0,-,-,-) r10: (0,-,-,1,-,-) r11: (1,1,-,-,-,-)

Invariant vectors are: - group 01: (r1,r3): (*,0,1,0,-.-) (r2,r3): (*,0,*,0,-,-)

- group 02: (r4,r5): (0,0,*,0,-,-) (r5,r6): (*,0,*,0,-,-)

- group 1: (r7,r9): (1,1,*,-,-,-) (r8,r10): (*,1,-,1,-,-) (r9,r10): (*,-,0,1,-,-)

By analyzing the invariant vectors, the following results are obtained: - in group 01 there exists functional hazard, because the invariant vector (r2,r3): (*,0,*,0,-,-) cover vector r9 of group 1;

ECAI 2005 International Conference / First Edition Electronics, Computers and Artificial Intelligence

1-2 July 2005, Piteşti, ROMÂNIA 617

- in group 01 there exists functional hazard, because the invariant vector (r5,r6): (*,0,*,0,-,-) cover vector r9 of group 1; - in group 1 there is no functional hazard, because its invariant vectors are not covers for any of the vectors belonging to groups 01 and 02; as a result the invariant vectors of group 1 are added to the table, in order to eliminate the logical hazard; - after minimization, the final “zazard free” solution for group 1 is:

-,1,1,-,-,-/1 -,-,0,1,-,-/1 -,1,-,1,-,-/1 1,-,0,-,-,-/1 0,-,-,1,-,-/1 1,1,-,-,-,-/1 Note 1: The above example shows there is important to analyze both canonical forms of a binary function, because some of them could have logical hazard only, which is eliminable.

3.2 A function having functional hazard in some variants of the same output value. A multivalued function is given by the following value table: 3,5,7/9 1,7,2/7 2,1,4/3

4,2,2/0 1,3,1/0 5,7,3/0 5,7,2/7

The minimized solutions of the function, by applying the

discrimination method, are: - group 9: (3,-,-/9) (-,5,-/9) (-,-,7/9) - group 7: (-,7,2/7) - group 3: (2,-,-/3) (-,1,-/3) (-,-,4/3)

- group 0: (4,-,-/0) (-,3,-/0) (-,-,3/0) (4,-,-/0) (-,-,1/0) (-,-,3/0) (-,2,-/0) (-,3,-/0) (-,-,3/0) (-,2,-/0) (-,-,1/0) (-,-,3/0)

There are 3 variants for group 9, one for group 7, 3 for group3 and 4 for group 0.

ECAI 2005 International Conference / First Edition Electronics, Computers and Artificial Intelligence

618 1-2 July 2005, Piteşti, ROMÂNIA

Excepting group 0, all the others variants have one vector only.

Therefore, they cannot manifest any kind of hazard. The variant 1 of group 0 has no hazard, because there is no

invariant vector. The others variants of group 0 have functional hazard, because

their invariant vectors are (_,_,_), thus covering all vectors of the other value groups.

As a result is advisable to choose version 1 for group 0: (4,-,-/0)

(-,3,-/0) (-,-,3/0)

Note 2: Even in the same value group there could exist variants with functional hazard and variant without functional hazard.

4. A SUGGESTION FOR A GENERAL METHOD FOR HAZARD ELIMINATION The suggested method, applicable to programmable logical

structures (PLS) having an uniform input-output depth, could eliminate any type of hazard, by arranging the switching times of the input gates of a PLS (invertors and logical repeators, in the binary case, or equivalence circuits, in a multivalued case -when using, for example, an algebra containing logical operators: ”equivalence”, “max”, “min”), so the detecting of an input variable which becomes active (transition from OFF to ON of an input invertor or repeator, in a binary implementation, or of equivalence circuit, in a multivalued implementation) is made in advance to the detecting of an input variable which becomes inactive (transition from ON to OFF)).

In other words, there is necessary applying the principle “make before break”.

An interesting remark is the delay of a transition in respect to the other one is necessary to be implemented on the input gates only,

He following figure illustrates the principle:

ECAI 2005 International Conference / First Edition Electronics, Computers and Artificial Intelligence

1-2 July 2005, Piteşti, ROMÂNIA 619

CONCLUSIONS The work presents an original analytical method for identifying logic and functional hazard in circuits with a uniform input-output depth, and offers a way to eliminate logical hazard applicable both to binary and multivalued combinational functions. It is shown the necessity to analyze all variants of solutions, in order to get a convenient to hazard avoiding. Finally, it is suggested a technological solution capable to offer a complete solution of the hazard problem. REFERENCES [1] PIERRE TISON, Theorie des consensus,

These de docteur-ingenieur, Universite de Grenible, France, 1965. [2] RENEE-LOUIS VALLEE, Analyse binaire – 1ere partie – Definitions et

traitements des fonctions binaires, Raport CEA-R$-3534 (I), C.E.A. Saclay, France, 1968.

[2] RENEE-LOUIS VALLEE, Analyse binaire – 2eme partie – Applications et fonctions de transcodage, Raport CEA-R$-3534 (2), C.E.A. Saclay, 1969.

[3] FREDERICK H. EDWARDS, The Principles of Switching Circuits, M.I.T. Press, USA, 1973.

[4] ARTHUR D. FRIEDMAN, Fundamentals of Logic Design and Switching Theory, Computer Science Press, Inc., U.S.A., 1986.

BALANCED INPUT GATES

ECAI 2005 International Conference / First Edition Electronics, Computers and Artificial Intelligence

620 1-2 July 2005, Piteşti, ROMÂNIA

[5] EDWARD J. MCCLUSKEY, Logic Design Principles with Emphasis on

Testable Semicustom Circuits, Prentice/Hall, N.J., USA, 1986. [6] RANDY H. KATZ, Contemporary Logic Design, The Benjamin/Cummings

Publishing Company, Inc., USA, 1994. [7] JOHN F. WAKERLY, Circuite digitale / Principiile şi practicile folosite în

proiectare, Teora, România, 2002. [8] ION ŞTEFĂNESCU, DISCRIMINATION: A New Principle in an

Efficient Minimization of the Binary and Multiple-Valued Functions, 1st International Conference on Electronics, Computers and Artificial Intelligence – ECAI 2005 – University of Piteşti, Romania, 1-2 July 2005.

ECAI 2005 - International Conference - First Edition Electronics, Computers and Artificial Intelligence

1-2 July, 2005, Piteşti , ROMÂNIA 621

Minimization aspects of hardware and software decizional systems

- an extension of the discrimination method -

Adrian ZAFIU, Ion ŞTEFĂNESCU University of Piteşti,

Electronics, Comunications and Computer Departament Str. Târgul din Vale, Nr. 1, Piteşti, Argeş, 110040, Romania

[email protected], [email protected]

Keywords: minimization, decisional, table of values, interpretation

Abstract. Metoda discriminării a fost creată pentru minimizarea sistemelor decizionale multivalente. Metoda are trei aplicaţii majore: sinteza hardware, eliminarea hazardului logic şi generarea software-ului pentru sisteme decizionale. De asemenea, această metodă poate fi adaptată uşor pentru a accepta tabele de valori incomplete şi parţial optimizate. În acest articol este prezentată o clasificare a tabelelor de valori, este prezentată o metodă automată pentru clasificarea tabelelor de valori şi interpretarea dată fiecărei clase de tabele.

Abstract. The discrimination method was created for

multivalued systems minimization. The discrimination method has tree great major applications: first in hardware synthesis, second for logical hazard elimination and third in generation of software decisional systems. Also, this method can be easy adapted to enable incomplete or semi optimized tables of values. This paper established a classification for table of values; present an automated method for classifying tables of values and the interpretation for each class of tables.

1. INTRODUCTION The discrimination method was created for multivalued systems

minimization A decisional system can be coded into a table of values with singular

or vectorial components. More generally, a function can be represented with

ECAI 2005 - International Conference - First Edition Electronics, Computers and Artificial Intelligence

1-2 July, 2005, Piteşti , ROMÂNIA 622

a table of values where a part of column represents the function input and the rest of them represent the function output. The decisional system can be implemented hardware or software. Generally, the hardware and software implementation are different, but some steps of the analyses are identically.

2. NOTATIONS AND DEFINITIONS Each field of values table has a value specified from set, where has a

specific value for each column. With “-” we denote a field where the value can be any from column associated set. This value will be named “any” in this paper.

The nonunivocity represent the “ambiguities” of values table. The ambiguities represent a problem for minimization algorithms. A table of values is considered “univoc” when the specification is complete, and each input combination has only one output.

Any values have different interpretations for input and output: 1. For input means that field can be replaced with any value

from specific domain of column; 2. For output means that the output is not used for this kind of

inputs. To “expand” a row means to replace that row with all combination that

can be obtained from that row when the any values are replaced with all combination of values from specific domains.

3. EXAMPLES OF NONUNIVOCITIES

Suppose that a minimization algorithm must be applied to a table of

values. The first step need to check the consistency of the table and evaluates the quality of the data. Some difficulties are encountered when the table of values has an incomplete specification or the table of values is partial optimized.

This study was started from the observation that, even a table of values prepared for minimization must represent a univoc function of input/output, is possible that the table of values written by the designer for minimization aren’t univoc. This aspect wasn’t considered before, at least in circuit’s minimization, because the known minimization methods are very difficult or unpractical to apply for this kind of tables.

For incomplete or partial optimized tables of values, we find the possibility to apply the methods for minimization and optimization.

In practice we can encounter next situations: 1. An input with or without “any” have two or more distinct output

values; 2. An input is included in other input that contains “any” values and

the outputs of these rows are different.

ECAI 2005 - International Conference - First Edition Electronics, Computers and Artificial Intelligence

1-2 July, 2005, Piteşti , ROMÂNIA 623

3. Two inputs have a common part and some distinct parts (one of them is not included into the other of them) and the outputs are different.

4. GENERAL CASE

Using “any” values, an input or an output represents a set of values. For

example, an input ( )0_,,1 from domain ( )232 ,, ZZZ represent values: ( ) ( ) ( ){ }0,2,1,0,1,1,0,0,1 . For each combination of two rows from values tables

111 / OIR = and 222 / OIR = , where I represents the input part of row and O represents the output part of row, the following sets can be used for table quality interpretation:

Operation Input Output

Difference 21 RR − 21 IIA −= 21 OOD −= Intersection

21 RR I 21 IIB I= 21 OOE I=

Difference 21 RR − 12 IIC −= 12 OOF −=

TABLE 1. Supplementary sets Each of these sets: A , B , C , D , E and F can be φ or not. In this

case we have 6426 = combinations. But, some combination are invalid because any of 1I , 1O , 2I and 2O cannot be void sets (φ ).

So, from 64 combinations only 25 are valid from this point of view, as shown in the next table:

Input Output

1I 1O 2I 2O #

A B C D E F 1 * φ φ≠ φ φ φ≠ φ 2 φ φ≠ φ φ φ≠ φ≠

3 φ φ≠ φ φ≠ φ φ≠

4 φ φ≠ φ φ≠ φ≠ φ 5 φ φ≠ φ φ≠ φ≠ φ≠

6 * φ φ≠ φ≠ φ φ≠ φ 7 φ φ≠ φ≠ φ φ≠ φ≠

8 φ φ≠ φ≠ φ≠ φ φ≠

9 φ φ≠ φ≠ φ≠ φ≠ φ 10 φ φ≠ φ≠ φ≠ φ≠ φ≠

ECAI 2005 - International Conference - First Edition Electronics, Computers and Artificial Intelligence

1-2 July, 2005, Piteşti , ROMÂNIA 624

11 * φ≠ φ φ≠ φ φ≠ φ 12 * φ≠ φ φ≠ φ φ≠ φ≠

13 * φ≠ φ φ≠ φ≠ φ φ≠

14 * φ≠ φ φ≠ φ≠ φ≠ φ 15 * φ≠ φ φ≠ φ≠ φ≠ φ≠

16 * φ≠ φ≠ φ φ φ≠ φ 17 φ≠ φ≠ φ φ φ≠ φ≠

18 φ≠ φ≠ φ φ≠ φ φ≠

19 φ≠ φ≠ φ φ≠ φ≠ φ 20 φ≠ φ≠ φ φ≠ φ≠ φ≠

21 * φ≠ φ≠ φ≠ φ φ≠ φ 22 φ≠ φ≠ φ≠ φ φ≠ φ≠

23 φ≠ φ≠ φ≠ φ≠ φ φ≠

24 φ≠ φ≠ φ≠ φ≠ φ≠ φ 25 φ≠ φ≠ φ≠ φ≠ φ≠ φ≠

TABLE 2. Combinations with ambiguities

The table 2 can be split in 3 tables I, II, III in this way: φ=21 II I for I, φ≠21 II I and 21 II ⊂ or 12 II ⊂ for II, respectively φ≠21 II I and 21 II ⊄

and 12 II ⊄ for III.

Pessimistic perspectives

If we start from the premise that table of values can be incorrect we have a set of deductions (from a pessimistic perspective):

1. If 21 II = then: a. for 2, 4, 5 the rows 1R and 2R can be replaced with an

equivalent row: 211 / OOI I ; b. 3 generate an error because φ=21 OO I ;

2. If one of A or B are φ , but not both, then the equivalence with no ambiguities for rows can be (let suppose that 12 II ⊂ ):

a. 2121 / OOIIA −−= ; b. 22 / OIB = .

In this case rows 8 and 18 will generate an error because 21 OO − is φ . 3. If A and B are different from φ , the result is:

a. 1/ OA ; b. 21/ OOB I ; c. 2/ OC .

ECAI 2005 - International Conference - First Edition Electronics, Computers and Artificial Intelligence

1-2 July, 2005, Piteşti , ROMÂNIA 625

In this case row 23 will generate an error because φ=21 OO I

Optimistic perspectives If we start from an optimistic perspective: the premise that the table of

values is correct we can interpret the rows of table 2 in this way: 4. If 21 II = then the rows 1R and 2R can be replaced with an

equivalent row: 211 / OOI U ; 5. If A or B are φ , but not both, then the equivalence with no

ambiguities for rows can have two variants (suppose that 12 II ⊂ ): a. 121 / OII − and 22 / OI or; b. 121 / OII − and 212 / OOI U .

6. If A and B are differed by φ , the result will be: a. 1/ OA ; b. 21/ OOB U ; c. 2/ OC .

5. GENERAL MODEL

The nonunivocity appears between two rows, 111 / OIR = and 222 / OIR = . Out of this two rows will be calculated sets: 21 IIA −= ,

21 IIB I= , 12 IIC −= , 21 OOD −= , 21 OOE I= , 12 OOF −= and 21 OOG U= , like in figure 1.

FIGURE 1. New sets

Pessimistic model

If φ≠B rows 1R and 2R will be replaced with: 1. 1

'1 / OAR = ;

2. EBR /'2 = ;

ECAI 2005 - International Conference - First Edition Electronics, Computers and Artificial Intelligence

1-2 July, 2005, Piteşti , ROMÂNIA 626

3. 2'3 / OCR = .

If φ=A then row '1R will not be added.

If φ=B then row '2R will not be added.

If φ=C then row '3R will not be added.

For each added row, if set of output values is φ , then the algorithm will generate an error.

Optimistic model

If φ≠B rows 1R and 2R will be replaced with:

1. 1'1 / OAR = ;

2. GBR /'2 = ;

3. 2'3 / OCR = .

If φ=A then row '1R will not be added.

If φ=B then row '2R will not be added.

If φ=C then row '3R will not be added.

For this interpretation the algorithm will never generate an error.

Pessimist model Optimist model

FIGURE 2. New rows Conclusions

Based on previous observations there could be distinguished four

categories of univocity: 1. “univocity”: a complete specified table without ambiguities; 2. “I nonunivocity”: at least one input have more than one value

for output;

ECAI 2005 - International Conference - First Edition Electronics, Computers and Artificial Intelligence

1-2 July, 2005, Piteşti , ROMÂNIA 627

3. “II nonunivocity”: there are at least two rows, input of one is included into the other input and the outputs are different;

4. “III nonunivocity” there are at least two rows with different inputs, but with common elements and having different outputs.

The interpretation can be set to a pessimistic or optimistic perspective. From pessimistic perspective there will be considered common outputs and from optimistic perspective there will be considered the union of outputs.

This model can be considered a base for a future algorithm that analyzes the decisional specifications. Based on this observation we could write a software algorithm that analyze a table of values and decide if table has or not ambiguities. If table has ambiguities the algorithm shows the pairs of rows and what kind of ambiguities exists.

REFERENCES

[1] R. Brayton, G. Hatchel, C. McMullen, and A. Sangivanni-Vincentelli, Logic Minimization Algorithms for VLSI Synthesis, Kluwer Academic Publishers, 1984.

[2] R. Rudell, A. Sangiovanni-Vincentelli, Espresso-MV: Algorithms for Multiple-Valued Logic Minimization, Proc. Intl. Circ. Conf., Portland, May 1985.

[3] R. Rudell, A. Sangiovanni-Vincentelli, Exact Minimization of Multiple-Valued Functions for PLA Optimization, Intl. Conf. On Comp. Aided Design, Santa Clara, November 1986.

[4] *** Input file format for Espresso (PLA)- espresso (5). [5] Alan Mishchenko and Robert K. Brayton, Boolean Paradigm in

Multi-Valued Logic Synthesis, In the Notes of the International Workshop on Logic Synthesis, New Orleans, June 2002.

[6] M. Gao, J-H. Jiang, Y. Jiang, Y. Li, A. Mishchenko, S. Sinha, T. Villa and R. Brayton, Optimization of Multi-Valued Multi-Level Networks, In the Proceedings of the International Symposium on multiple-Valued Logic, 2002.

[7] Alan Mishchenko and Robert Brayton, A Theory of Non-Deterministic Networks, Accepted to IEEE TCAD, 2005.

[8] Ion Ştefănescu, New Technical Aspects in Identifying and Eliminating of Logic and Essential Hazards of the Combinational Networks, 1st International Conference on

Electronics, Computers and Artificial Intelligence – ECAI 2005 – University of Piteşti, Romania, 1-2 July 2005.

[9] Adrian Zafiu, Ion Ştefănescu, Minimization aspects of the hardware and Software Systems – An Extension of the Discrimination Method, 1st International Conference on Electronics, Computers and Artificial Intelligence – ECAI 2005 – University of Piteşti, Romania, 1-2 July 2005.

ECAI 2005 - International Conference - First Edition Electronics, Computers and Artificial Intelligence

1-2 July, 2005, Piteşti , ROMÂNIA 628

[10] Adrian Zafiu, Laurenţiu Ionescu, Ion Ştefănescu, Using of Discrimination Method for Optimizing of an Algorithm for Computing the Maximum and the Minimum of Two Numbers Code don Four Bits Eatch, 1st International Conference on Electronics, Computers and Artificial Intelligence – ECAI 2005 – University of Piteşti, Romania, 1-2 July 2005.

[11] ARTHUR D. FRIEDMAN, Fundamentals of Logic Design and Switching Theory, Computer Science Press, Inc., U.S.A., 1986.

[12] EDWARD J. MCCLUSKEY, Logic Design Principles with Emphasis on Testable Semicustom Circuits, Prentice/Hall, N.J., USA, 1986.

[13] RANDY H. KATZ, Contemporary Logic Design, The Benjamin/Cummings Publishing Company, Inc., USA, 1994.

[14] JOHN F. WAKERLY, Circuite digitale / Principiile şi practicile folosite în proiectare, Teora, România, 2002.


Recommended