1 / 14

Percorso S

Percorso S. X1 X0. Il sistema da uscita positiva quando il cursore giunge alla fine del suo percorso. Il cursore non può mai muoversi di più di una casella nella stessa direzione, né muoversi in direzione opposta a quella da cui proviene.

Télécharger la présentation

Percorso S

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Percorso S X1 X0 Il sistema da uscita positiva quando il cursore giunge alla fine del suo percorso. Il cursore non può mai muoversi di più di una casella nella stessa direzione, né muoversi in direzione opposta a quella da cui proviene. Se l’utente sceglie la direzione sbagliata il cursore viene riportato nella posizione iniziale. Una volta che il cursore è giunto a fine percorso, qualsiasi direzione consentita viene scelta, il cursore viene riportato nella posizione iniziale. Il sistema è dotato anche di un segnale di reset, che quando è a ‘1’ riporta il cursore nella posizione iniziale. Una rete sequenziale asincrona ha il compito di gestire il comportamento di un cursore che si muove in un percorso ad S. Tramite due segnali di ingresso X0 e X1 l’utente indica in quale direzione vuole muovere il cursore: Reti Logiche – Galassi Andrea – Prof. Neri Giovanni

  2. Diagramma degli stati (Moore) Lo stato A è lo stato iniziale, corrisponde alla posizione 1 nel percorso Gli stati B, C, D ed E sono gli stati intermedi del percorso, corrispondono rispettivamente alle posizioni 2, 3, 4 e 5 del percorso. Lo stato F è lo stato finale del percorso, l’unico che da uscita positiva. Corrisponde alla posizione 6. Gli stati G, H, I e L sono gli stati intermedi che riportano il cursore nella posizione iniziale se il percorso è finito o se è stata scelta la direzione sbagliata. Corrispondono alle posizioni 5, 4, 3, e 2.

  3. Tabella delle transizioni In verde gli stati stabili. In grigio le indifferenze. Gli stati transitori G, H, I e L non sono stabili per nessuna configurazione degli ingressi

  4. Tabella Triangolare Non vi sono stati compatibili

  5. Variabili di stato Poiché abbiamo 10 stati dovremo usare 4 variabili di stato. Dopo un’analisi del comportamento del circuito attribuiamo un valore binario ad ogni stato in modo che non vi siano corse critiche: ogni stato differisce dal precedente solo per il valore di una variabile di stato

  6. Tabella delle Transizioni 2 In verde gli stati stabili In grigio le indifferenze Gli stati G, H, I e L non sono stabili per nessun ingresso, essi infatti sono stati transitori che servono esclusivamente per riportare il cursore allo stato A Per essi e per A non sono previste indifferenze poiché sono raggiungibili con tutti e 4 le configurazioni di ingresso

  7. Mappe di Karnaugh Y3=0 Y2=1 X1 X0 Y3=0 Y2=0 X1 X0 Y3=1 Y2=0 X1 X0 Y3=1 Y2=1 X1 X0

  8. Formule Y0= !R*(!Y3*!Y1*X1 + !Y3*Y0*!X0 + !Y3*Y0*!X1 + Y3*!Y2*Y1) Y1= !R*(Y1*!Y0 + !Y3*X1*!X0 + !Y3*Y1) Y2= !R*(!Y3*Y1*!Y0*!X1 + !Y3*Y2) = !R*!Y3*(Y1*!Y0*!X1 + Y2) Y3= R+(Y0*!X1 + !Y0*!X0 + Y2*X1 + Y3*Y1 + Y3*X1) Z= !R*!Y3*Y2 R è il segnale di RESET. Se positivo il sistema deve tornare nello stato A (1000) con uscita 0.

  9. Schematico

  10. Testbench Per verificare il corretto funzionamento del circuito, prima lo resettiamo, poi simuliamo 3 diverse eventualità: • Un reset durante il percorso • Un errore durante il percorso • Un percorso che giunge fino alla fine

  11. Test Reset e Percorso Errato --verifico il funzionamento del reset X1<=‘0’; X0<=‘1’; --Input corretto -> Stato B:0000 wait for CK_period*10; X1<=‘1’; X0<=‘1’; --Input corretto -> Stato C:0001 wait for CK_period*10; Reset <='1'; --Resetto -> Stato A:1000 wait for CK_period*10; Reset <='0'; wait for CK_period*10; --Simulo un percorso errato (A->B->C->A) X1<=‘0’; X0<=‘1’; --Input corretto -> Stato B:0000 waitfor CK_period*10; X1<=‘1’; X0<=‘1’; --Input corretto -> Stato C:0001 waitfor CK_period*10; X1<=‘1’; X0<=‘0’; --Input corretto -> Stato D:0011 waitfor CK_period*10; X1<=‘1’; X0<=‘0’; --Input errato --Torno al punto di partenza: Stati I->L->A waitfor CK_period*10;

  12. Test Percorso Corretto --simulo un percorso corretto --A->B->C->D->E->F X1<=‘0’; X0<=‘1’; --Input corretto -> Stato B:0000 waitfor CK_period*10; X1<=‘1’; X0<=‘1’; --Input corretto -> Stato C:0001 waitfor CK_period*10; X1<=‘1’; X0<=‘0’; --Input corretto -> Stato D:0011 waitfor CK_period*10; X1<=‘1’; X0<=‘1’; --Input corretto -> Stato E:0010 waitfor CK_period*10; X1<=‘0’; X0<=‘1’; --Input corretto -> Stato F:0110, Uscita 1 waitfor CK_period*10; --percorso corretto terminato --torno nella posizione iniziale X1<=‘1’; X0<=‘1’; --Stati G->H->I->L->A waitfor CK_period*10;

  13. Simulazione Behavioral

  14. Simulazione Post Route Il comportamento è lo stesso della simulazione behavioral, fatta eccezione per i ritardi e le corse che si verificano quando il circuito deve tornare nello stato A

More Related