Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

aiuto esercizio logica sequenziale

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utenteg.schgor, Foto UtenteIsidoroKZ, Foto UtenteBrunoValente, Foto Utentecarloc

0
voti

[11] Re: aiuto esercizio logica sequenziale

Messaggioda Foto UtenteSediciAmpere » 9 mag 2021, 15:11

boiler ha scritto: il numero di FF necessari è il logaritmo in base 2 (arrotondato per eccesso al prossimo intero) del numero di stati.

Non lo sapevo!
Quindi in questo caso, quattro stati = due flipFlop
Le persone sagge parlano perché hanno qualcosa da dire.
Le persone sciocche perché hanno da dire qualcosa.
Avatar utente
Foto UtenteSediciAmpere
2.012 4 5 8
Expert EY
Expert EY
 
Messaggi: 2393
Iscritto il: 31 ott 2013, 15:00

1
voti

[12] Re: aiuto esercizio logica sequenziale

Messaggioda Foto UtenteGioArca67 » 9 mag 2021, 17:13

SediciAmpere ha scritto:Mi perdo su come fare per renderlo "insensibile" una volta tornato a livello basso


Perché non hai letto qui https://www.electroyou.it/g.schgor/wiki/articolo6
Avatar utente
Foto UtenteGioArca67
257 2 5
Frequentatore
Frequentatore
 
Messaggi: 229
Iscritto il: 12 mar 2021, 9:36

0
voti

[13] Re: aiuto esercizio logica sequenziale

Messaggioda Foto UtenteAZZZ » 9 mag 2021, 21:21

Ma la risposta evidenziata nella foto:
Immagine
era quella corretta o no?
Avatar utente
Foto UtenteAZZZ
229 4 5
Sostenitore
Sostenitore
 
Messaggi: 558
Iscritto il: 4 mag 2018, 21:47

0
voti

[14] Re: aiuto esercizio logica sequenziale

Messaggioda Foto UtenteGioArca67 » 9 mag 2021, 21:29

Bisogna fare lo schema della macchina a stati finiti, secondo g.schgor no perché lo ha fatto con 2 FF... ma c'era una piccola svista forse semplicemente un Q al posto di \Q
Avatar utente
Foto UtenteGioArca67
257 2 5
Frequentatore
Frequentatore
 
Messaggi: 229
Iscritto il: 12 mar 2021, 9:36

0
voti

[15] Re: aiuto esercizio logica sequenziale

Messaggioda Foto UtenteSediciAmpere » 9 mag 2021, 22:27

AZZZ ha scritto:Ma la risposta evidenziata nella foto:
era quella corretta o no?

non lo so, era solo selezionata, non so quale sia la risposta giusta
Le persone sagge parlano perché hanno qualcosa da dire.
Le persone sciocche perché hanno da dire qualcosa.
Avatar utente
Foto UtenteSediciAmpere
2.012 4 5 8
Expert EY
Expert EY
 
Messaggi: 2393
Iscritto il: 31 ott 2013, 15:00

3
voti

[16] Re: aiuto esercizio logica sequenziale

Messaggioda Foto Utenteboiler » 12 mag 2021, 17:39

Mi sembra che ci siano piú difficoltà di quante dovrebbero essercene.

In un certo senso lo capisco, perché il problema è posto in modo pessimo.

Ridisegno il diagramma del timing e già assegno gli stati che mi servono per l'implementazione (nota grafica: mi piace segnare con una freccetta il fianco attivo del clock, se questo non è specificato altrimenti nel testo):


Vedo che OUT coincide esattamente con uno stato, vuol dire che implementeremo una macchina di Medwedew a tre stati, che richiede quindi 2 FF.

La forma generica sarà questa (nota di nomenclatura: chiamo D le variabili di stato, numerandole. Ogni variabile esiste due volte, con pedice N = next state e con pedice P = present state):


Questo basta già a rispondere alla domanda del problema.
Ma possiamo andare avanti a fine didattico.

La prossima cosa da fare è disegnare il digramma degli stati. Qui ci sono diverse convenzioni, io uso quella che ho imparato a usare ;-)


Il passaggio da durante a dopo è incondizionale: avviene sempre, indipendentemente dallo stato degli ingressi.

Ora possiamo scrivere la tavola di verità della "nuvoletta combinatoria" della nostra macchina a stati finiti:



Per chiarezza ho riportato i colori che ho assegnato agli stati precedentemente.

Si vede che c'è uno stato inutilizzato. È evidente: me ne servono 3, ma 2 FF ne mettono a disposizione 4.
In un esercizio puramente didattico di solito lo si ignora. Il problema è che poi ci si abitua ad ignorarlo e quando si realizza poi una FSM vera e una scarica elettrostatica spara la macchina in quello stato indefinito, non ce se ne esce piú fino al prossimo reset.
In genere c'è uno stato che si considera di reset, è quello di attesa, quello che non fa danni e ci si fanno finire incondizionalmente tutti gli stati non definiti. Nel nostro caso è lo stato "prima".

Con Karnaugh si può ora trasformare ora la tabella in una rete di porte logiche:



Da qui leggiamo che
\mathrm{D1_N} = (\overline{\mathrm{IN}} \wedge \mathrm{D1_P} \wedge \overline{\mathrm{D0_P}}) \vee (\overline{\mathrm{D1_P}} \wedge \mathrm{D0_P})

Mentre dal secondo diagramma qui sotto

si vede che
\mathrm{D0_N} = \overline{\mathrm{IN}} \wedge \overline{\mathrm{D1_P}} \wedge \overline{\mathrm{D0_P}}

A questo punto disegnare il contenuto della nuvoletta combinatoria dovrebbe essere una passeggiata.

Tutto questo è molto accademico, normalmente di descriverebbe il tutto in VHDL e il compiler sputerebbe la FSM bella e fatta. Ma per produrre un buon codice VHDL non è una cattiva idea sapere cosa succede dietro le quinte.

Saluti Boiler
Avatar utente
Foto Utenteboiler
18,4k 5 7 13
G.Master EY
G.Master EY
 
Messaggi: 3412
Iscritto il: 9 nov 2011, 12:27

1
voti

[17] Re: aiuto esercizio logica sequenziale

Messaggioda Foto Utenteg.schgor » 12 mag 2021, 18:43

Io non ho impiegato alcun metodo. Ho semplicemente osservato che l'OUT avviene con IN=0 e con durata T=periodo di CK.
Ho quindi forzato a 0 due D-FF con \overline{IN}, uno per ottenere T dal CK, l'altro per cancellare gli impulsi T successivi al primo.
Tutto qui.
Avatar utente
Foto Utenteg.schgor
56,2k 9 12 13
G.Master EY
G.Master EY
 
Messaggi: 16684
Iscritto il: 25 ott 2005, 9:58
Località: MILANO

1
voti

[18] Re: aiuto esercizio logica sequenziale

Messaggioda Foto Utenteboiler » 12 mag 2021, 20:52

Ho voluto illustrare il metodo risolutivo perché dal tipo di domanda mi sembra un esercizio scolastico e quindi è importante capire come si arriva al risultato.

Poi, avendo una certa esperienza con questo tipo di cose, si può anche usare il metodo ad intuizione ;-)

Boiler
Avatar utente
Foto Utenteboiler
18,4k 5 7 13
G.Master EY
G.Master EY
 
Messaggi: 3412
Iscritto il: 9 nov 2011, 12:27

0
voti

[19] Re: aiuto esercizio logica sequenziale

Messaggioda Foto UtenteSediciAmpere » 12 mag 2021, 21:43

Foto Utenteboiler =D> =D> =D> =D> =D> =D> =D> =D> =D>

grazie !!!!!!!!
per me non è proprio una passeggiata ricavare il circuito ma ci proverò
grazie tantissime!
Le persone sagge parlano perché hanno qualcosa da dire.
Le persone sciocche perché hanno da dire qualcosa.
Avatar utente
Foto UtenteSediciAmpere
2.012 4 5 8
Expert EY
Expert EY
 
Messaggi: 2393
Iscritto il: 31 ott 2013, 15:00

0
voti

[20] Re: aiuto esercizio logica sequenziale

Messaggioda Foto Utenteboiler » 12 mag 2021, 23:39

SediciAmpere ha scritto:per me non è proprio una passeggiata ricavare il circuito ma ci proverò


\wedge significa un AND logico.
\vee significa un OR logico.
La barra sopra il nome della variabile vuol dire che è negata.

Quindi per trovare D1_N ti servono due porte logiche di tipo AND, una con 3 ingressi, l'altra con due.
Per tutti i segnali negati ti serve una porta NOT.

L'uscita delle porte AND la conduci all'ingresso di una porta OR a due ingressi.

Boiler
Avatar utente
Foto Utenteboiler
18,4k 5 7 13
G.Master EY
G.Master EY
 
Messaggi: 3412
Iscritto il: 9 nov 2011, 12:27

PrecedenteProssimo

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 49 ospiti