Metastability

X

xstal

Guest
Salve,

Vorrei sapere come si può sincronizzare uno asincrono in ingresso in modo che possa evitare metastability?

Una soluzione è di aggiungere due flops in serie (sincronizzatore) presso l'ingresso asincrono.Ma questo funziona solo se il periodo di metastability il flop è inferiore al periodo di clock tempi di configurazione del prossimo flop.vale a dire il flop esce dalla metastability ben prima che il calendario della prossima finestra flop.

Il mio dubbio è che se il periodo è metastability superiori o pari a un periodo di clock, allora come evitare che metastability?C'è qualche soluzione ??????

 
L'unico modo per far fronte a una vera e propria async ingresso è di lanciarlo attraverso una catena di flop sychronize esso.

Se l'ingresso async è uno sconosciuto per la fase di clock interno, ma si è certi che questa fase sarà costante per un certo intervallo di tempo, è possibile utilizzare il duplice approccio flop.Forma due catene di sychronizers, utilizzando uno aumento flops bordo e utilizzando uno rientrano flops bordo.(Poi scegli quello con la migliore produzione. Una volta che siete in altri orologio dominio, si può facilmente passare dalla caduta bordo orologio indietro alla crescente bordo.) Everytime accade un evento come un ciclo di potenza, è necessario fare di nuovo syncronizer il processo di selezione di nuovo.

La maggior parte sono metastability FPGA indurito.Essi non vanno a lungo termine metastabile membri.Vedi le applicazioni note per la logica della famiglia che si sta utilizzando, questo probabilmente è discusso.Pertanto, il flop catena funziona perché se si perde il tempo di installazione per la prima ora, si rendono più che per il prossimo orologio.Ciò presuppone che i due tassi di clock sono pari o che si sta passando da una più lenta clock esterno ad un orologio interno più veloce.

Se il clock esterno è più veloce che il clock interno, allora hai un problema!L'unica buona soluzione a questo è una doppia porta FIFO.Dato che il clock esterno è più veloce, i dati possono essere solo di arrivare a scoppio o il FIFO rapidamente overflow.

 
dove posso trovare un doc per questo?

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Molto Felice" border="0" />
 
Vorrei indovinare digitando il FPGA o CPLD venditori nome e la parola metastability in un motore di ricerca.Quando ho googled "Xilinx metastability", ho ricevuto un sacco di colpi.Ad esempio,

http://www.xilinx.com/bvdocs/appnotes/xapp094.pdf

 
Banjo Grazie per la risposta e mettere le cose insieme.Tuttavia la mia domanda non è ancora risposto.
Grazie

 
Penso che non siamo la vostra comprensione vera questione allora.Se si dispone di un vero e proprio evento async, deve durare più di un periodo di catturare il vostro orologio.In caso contrario, il segnale non è mai attiva nel corso di un orologio di bordo e si perde completamente il polso.

Così,
dopo aver impostato la larghezza di impulso inferiore del async caso di clock_period ,
nel senso più orologio periodo un po ', ci sono due possibili
all'interno di larghezze di impulso da parte.Per prima cosa è possibile ottenere un impulso di clock 1 di larghezza, oppure a causa di una meta di eventi o posizione del async evento un impulso 2 orologi largo.Questa volta la distorsione è un artefatto di campionamento uno async evento e non
c'è nulla che si possa fare al riguardo.
Le osservazioni di cui sopra, in generale, per tenere orologi frequenze di campionamento sotto 200MHz FPGA, nella maggior parte dal presupposto che anche voi doppio buffer di input, come descritto in precedenza.200MHz Sopra
c'è una piccola possibilità, che può falsare la volta di un ulteriore ciclo di clock o due.Questo perché se la transizione async evento giusto punto è possibile bloccare il flop per un breve periodo di tempo.

Quanto sopra è stato ammesso che l'impulso async è normalmente pari a zero e impulsi per uno momentaneamente.Se si tratta quindi di una norma, la stessa cosa si verifica solo la logica livelli sono invertiti.

Vero metastability eventi sono rari nelle moderne FPGA e logica.In base alla mia esperienza, che le persone eventi inspiegabili inizialmente imputato metastability sono in ogni caso più tardi è stato dimostrato da errori logici o errori del software.Guardate i numeri FPGA doc, la citazione probablities essi sono molto molto basse.

 

Welcome to EDABoard.com

Sponsor

Back
Top