Upload
jovanni-roberti
View
214
Download
0
Embed Size (px)
Citation preview
PROGETTO 1Un lettore di musica digitale è dotato di un sistema per la regolazione del volume composto da tre
pulsanti ‘+’ e ‘–‘ e ‘[]’ e progettato in modo che: in posizione di riposo nessuno dei tre pulsanti risultipremuto (– + = 000) e in ogni istante al più possa essere premuto un solo pulsante. Non si consideri
possibile il rilascio di un pulsante e la contemporanea pressione di un altro.– [] +
Progettare una rete sequenziale asincrona (RSA) con tre ingressi ‘+’ e ‘–‘ e ‘’ e due uscite A e D,utilizzate per impartire i comandi di aumento (AD=10) o diminuzione (AD=01) del volume.
• Se non è in corso nessuna regolazione del volume e nessun pulsante è premuto oppure vienepremuto il pulsante ‘’ deve essere mantenuto il volume impostato (AD=00).
• Se non è in corso nessuna regolazione del volume, agendo sul pulsante ‘+’ (rispettivamente ‘–‘),deve essere attivato il comando di aumento (risp. diminuzione) del volume non appena il pulsante‘+’ (risp. ‘–‘) viene rilasciato. Il comando di aumento (risp. diminuzione) del volume viene disattivato
mediante le seguenti due modalità: agendo nuovamente sul pulsante ‘+’ (risp. ‘-‘) non appenaquesto viene rilasciato oppure agendo sul pulsante ‘[]’ non appena questo viene premuto.
• Infine, se viene premuto il pulsante ‘–‘ (risp. +) mentre è in corso una fase di aumento (risp.diminuzione) del volume deve essere immediatamente interrotto l’aumento (risp. diminuzione) del
volume e deve essere impartito il comando di diminuzione (risp. aumento) del volume non appena ilpulsante ‘–‘ (risp. ‘+’) viene rilasciato.
DIAGRAMMA DEGLI STATI PRIMITIVOOgni stato è stabile per una sola configurazione d’ingresso.La rete è di MEALY, dunque le uscite A e D dipendono anche dagli ingressi oltre che dagli stati, quindi dalle variabili di stato.Nelle transizioni tra due stati che hanno uscita diversa si può mettere un’indifferenza, utile a facilitare la sintesi della funzione d’uscita.Il Diagramma è simmetrico.
TABELLA DEGLI STATILe variabili di ingresso della RSA assegnate ai pulsanti fisici sono: X1 ( - ), X2 ( [] ), X3 ( +)
Stati stabili per i dati ingressi
La tabella è non completamenteSpecificata.Cerchiamo di ridurre il numero degliStati e la complessità della retetrovando gli stati compatibilie le classi di compatibilità.
L’obbiettivo è di trovare il più piccoloinsieme chiuso di classi di compatibilitàche copre l’insieme di stati su cuila rete è definita.
TABELLA TRIANGOLARE DELLE IMPLICAZIONI
Classi di Compatibilità:( [AE] , [B] , [C] , [DE] , [DH] , [EH] , [F] , [G] )
Classi massime di Compatibilità:( [AE] , [B] , [C] , [DEH] , [F] , [G] )
Classi scelte:
[AE] => α [B] => β[C] => χ[DEH] => δ[F] => Φ [G] => γ
Lasciando A da solo si rispettano comunquechiusura e copertura
TABELLA DEGLI STATI RIDOTTA
Insieme chiuso e coperto di Classi di Compatibilità; nel nostroCaso sono tutte Massime.
Corse
Con 6 stati ci occorrono 3 variabili di stato( primo intero >= Log2 (6) = 3 )
In ogni casella è scritto: codifica binaria dello stato / uscite AD.
Le caselle colorate indicano i punti di partenza e arrivo delle transizioni con corsa;i numeri colorati indicano tutti i passaggi per arrivare a fine transizione.
TABELLA DELLE TRANSIZIONI
SINTESI DELLA RETE (RSA)
Per le troppe variabili presenti ho optato per unasintesi con FF SRsintesi con FF SR , che di solito riduce il numero diraggruppamenti rettangolari da cercare per la sintesi delle funzioni S ed R.
SINTESI DELLE FUNZIONI S,R,Y
• Transizione della Variabile di stato 0 >> 1 equivale a SR=10 (1 per S)• Transizione della Variabile di stato 1 >> 0 equivale a SR=01 (1 per R)
• Gli 1 senza transizione equivalgono a SR= -0 (indifferenza per S)• Gli 0 senza transizione equivalgono a SR= 0- (indifferenza per R)
• Infine si trovano S ed R mediante i massimi raggruppamenti rettangolari potenza di 2 (implicanti primi), quindi scegliendo una somma irridondante di implicanti primi essenziali che corrisponde ad una realizzazione di costo minimo.
• La Variabile di stato equivale a Y=S+(!RY) con SR=11 impossibile.
SINTESI DI S ed R
S1= X3 * !Y2 * !Y3R1= X2 * !Y2 + X1 * Y1 + X3 * !Y2 * Y3
S2= X1 * !Y3 + !X2 * !X3 * Y1R2= X2 * !Y3 + Y1 * Y3 + X1 * Y3 + X3 * Y2 * !Y1 * !Y3
S3= X3 * Y1 * Y2 + !X1 * !X2 * !X3 * !Y1 * Y2R3= X2 + X3 * !Y1 * Y2 + !X3 * !Y2 * !X1
Esecuzione in VHDL (Xilinx)
ENTITY
VETTORI S[3..1] e R[3..1]
ARCHITECTURE(Somme irridondanti di implicanti primi essenziali)
TEST BENCH – PROCESSO DI STIMOLI
PARTE 1
PARTE 2
SIMULAZIONE BEHAVIORAL PARTE 1/2
SIMULAZIONE BEHAVIORAL PARTE 2/2
SIMULAZIONE POST ROUTE PARTE 1/2
: ESEMPI DI RITARDO DELLA RETE
SIMULAZIONE POST ROUTE PARTE 2/2
Si capisce che è una Rete di Mealy perché AD commuta in anticipoRispetto al commutare dello stato Y[3..1]