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: 2683
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. 2024 )