Sistema di regolazione del volume Il progetto consiste nella sintesi e nella realizzazione attraverso Xilinx di un sistema per la regolazione del volume, di un lettore di musica digitale. Il sistema è composto da tre pulsanti: +, - ed. In posizione di riposo nessuno dei tre pulsanti risulta premuto (- + = 000) e in ogni istante al più può essere premuto un solo pulsante. Non è possibile il rilascio di un pulsante e la contemporanea pressione di un altro. 1
Le uscite sono due: 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 viene premuto il pulsante deve essere mantenuto il volume impostato (AD=00). 2
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 appena questo viene rilasciato oppure agendo sul pulsante non appena questo viene premuto. 3
Infine, se viene premuto il pulsante – (risp. +) mentre è in corso una fase di aumento (risp. diminuzione) del volume deve essere immediatamente interrotto laumento (risp. diminuzione) del volume e deve essere impartito il comando di diminuzione (risp. aumento) del volume non appena il pulsante – (risp. +) viene rilasciato. 4
DIAGRAMMA DEGLI STATI 5
Il Diagramma degli stati è stato fatto con il modello di Mealy. Dal diagramma passiamo alla tabella degli stati e quindi successivamente si va alla ricerca delle classi di compatibilità, costruendo la tabella triangolare delle implicazioni. 6
TABELLA TRIANGOLARE DELLE IMPLICAZIONI 7
CLASSI DI COMPATIBILITA Le classi di compatibilità sono [AE],[B],[C],[DEH],[F],[G] e sono tutte neccessarie per la copertura [AE] = α [B] = β [C] = χ [DEH] = δ [F] = φ [G] = λ 8
Diamo una codifica binaria agli stati 9
10
Corse Critiche Ci servono 3 variabili di stato, per coprire tutti gli stati. Riusciamo a risolvere tutte le corse critiche, tranne in una casella, indicato nello schema precedente Successivamente ci ricaviamo le espressione di Y1, Y2, Y3, A e D. 11
Espressioni: Y1 = (y3 !y2 !X2 !X1) or (!y3 !y2 X3) or (!y3 y1 !X3 !X2) Y2 = (X1 y1) or (!y3 y2 X1) or (!y3 y2 y1) or (!y3 y2 X3) or (!y3 y1 !X3 !x2) Y3 = (y3 y2 X1) or (!y3 y1 X1) or (!y2 !y1 X1) or (y3 y1 X2) or (y3 !X3 !X2 !X1) D = (Y3 !Y2 Y1) or (!Y3 Y2 !Y1 X1) A = (Y2 Y1) or (Y2 X3) 12
Lo Schematico in Xilinx 13
TestBench: segnali di prova 14
Simulazione Behavioural 15
Simulazione Behavioural In rosso è indicato il segnale di reset (res) In verde i segnali di ingresso (X1,X2, e X3) In giallo i segnali di stato (Y1, Y2 E Y3) In blu i segnali di uscita (A e D) 16
Simulazione Behavioural Al primo step, il res è uguale a 1, e resetta il sistema. Successivamente dopo lingresso (X1=X2=X3=0 che significa nessun tasto premuto) si preme il pulsante di aumento del volume (X3=1) e soltanto al rilascio, luscita indica laumento del volume (A=1,D=0). Poi viene premuto il tasto per la diminuzione del volume (X1=1), e dopo il rilascio luscita indica la diminuzione del volume (A=0, D=1). Infine viene premuto il tasto stop (X2=1) e al rilascio il sistema torna allo stato iniziale (Y1=Y2=Y3=0 ) 17
Simulazione PostRoute 18
Simulazione PostRoute Grazie alla simulazione PostRoute si possono apprezzare i ritardi, che sono causa della tecnologia del circuito. 19