Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Analiza si sinteza dispozitivelor numerice - PROIECT

Matematica


Universitatea Politehnica Bucureºti



Facultatea de Automaticã si Calculatoare

Analiza si sinteza dispozitivelor numerice

PROIECT

Realizat de:

Grupa 321C

Indrumãtor: as. ing.

Dispozitovele numerice se împart in douã mari familii:

-dispozitive numerice combinaþionale;

-dispozitive numerice secvenþiale;

Un dispozitiv numeric 121s1816b este caracterizat prin variabilele de intrare si variabilele de ieºire. Variabilele de ieºire depind in mod explicit de variabilele de intrare.

Structura generalã a unui circuit numeric combinaþional

X1,.,Xn- intrãri; Z1,.Zp- ieºiri;

Xi(nT)=Xi(n);

Zi(n)=f(X1(n),.,Xm(n))

De fapt Z(n+d)'f(X(n)) unde d este întârzierea.

Structura generalã a unui circuit numeric secvenþial:

Zi(n)=f(X1(n),.,Xm(n),Z1(n-1),.,Zp(n-1))

Z=f(X(n),Z(n-1))

Automat secvenþial

e1,e2,. -variabile de excitaþie;

y1,y2,. -variabile de stare;

Elemente de teoria algebricã structuralã a automatelor secvenþiale

Realizarea unui automat secvenþial impune o discuþie teoreticã asupra tuturor situaþiilor de funcþionare. Pentru a uºura aceastã discuþie se folosesc elemente specifice teoriei algebrice structurale.

Astfel, pentru un automat secvenþial cu n intrãri ºi p ieºiri regimul de funcþionare este codificat printr-o diagramã de stãri. Fiecãrei stãri îi corespund douã stãri urmãtoare în funcþie de intrarea de la momentul n.

Xn

Sn

S0

S3,1

S2,1

S1

S2,1

S1,0

S2

S1,0

S2,0

S3

S0,0

S1,0

Partiþii consistente

Folosirea partiþiilor are ca scop obtinerea unei codificãri a stãrilor astfel încât cât mai puþine variabile de stare la momentul n+1 sã depindã de cât mai puþine variabile de intrare de la momentul n.

O partiþie este formatã din blocuri disjuncte ºi conþine toate stãrile.



Partiþii consistente pe intrare

Prin definiþie, o partiþie este consistentã pe intrare dacã pentru fiecare stare curentã stãrile urmatoare fac parte din acelaºi bloc al partiþiei.

Partiþii consistente pe ieºire

Prin definitie o partiþie este consistentã pe ieºire dacã pentru orice bloc al tuturor stãrilor le corespund aceeaºi valoare de ieºire pentru fiecare variabilã de intrare.

Xn

Sn

S0

S2,0

S3,0

S1

S3,0

S3,0

S2

S0,1

S1,0

S3

S4,0

S2,0

S4

S1,1

S0,0

_____ ___

rI

Program de calcul al partiþiilor consistente pe iesire.

Realizat de DOBRE LAURENTIU grupa 321C

14:05:1997

#include<conio.h>

#include<stdlib.h>

#include<stdio.h>

#define N 50

int n;

// Procedura de citire a datelor dintr-un fisier tip

void citire(int s[N][4], char *fis)

m=fscanf(fp,"%d",&n);

if(m>0)

for(i=0;i<n;i++)

fclose(fp);

void main(void)

//Calculul partiþiilor:

//-se ia fiecare stare si se memoreaza S in functie de iesirile

// stãrilor urmatoare (00,01,10,11).

lim=0;

k=0;

//Vectorul dim memoreaza dimensiunea fiecarui bloc din partiþie.

//Initial dimensiunile sint 0.

for(i=0;i<4;i++) dim[i]=0;

//Pentru a identifica blocurile am initializat matricea cu -1.

for(i=0;i<n;i++)

for(j=0;j<4;j++) c[i][j]=-1;

//Pentru fiecare stare se citeste pozitia ei prin valorile de iesire

// ale stãrilor incare poate trece.

for(i=0;i<n;i++)

//Variabila lim memoreaza dimensiunea blocului maxim.

//Matricea c contine pe fiecare coloana un bloc.

//Citirea partiþiilor consistente

clrscr();

printf("\n Tabela de tranzitii:");

printf("\n\n Sn Xn\n");

printf(" ----- ----- ----------\n");

for(i=0;i<n;i++)

printf(" S%d S%d ,%d S%d ,%d \n",i,s[i][0],s[i][1],s[i][2],s[i][3]);

gotoxy(30,23);

printf(" Apasati o tasta!");

getch();

clrscr();

printf("\n\n\n Partiþia consistenta maximala pe iesire: \n\n");

i=0;u=0;

//In matricea c daca capul de coloana este pozitiv se citesc stãrile.

//Stãrile de pe aceasi coloana formeaza un bloc.

for(j=0;j<4;j++)

if(c[0][j]>=0)

if((c[i][j]<0)||(i==lim-1))

}

printf("\n\n Partiþia contine %d blocuri.",u);

fclose(fi);

gotoxy(10,23);

printf("\t Doriti sa reluati programul (d sau n): ");

cc=getche();

if((cc=='d')||(cc=='D')) goto et;

clrscr();




Document Info


Accesari: 2747
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )